【发布时间】:2018-11-17 23:12:36
【问题描述】:
我想为我的数据拟合一个有理函数:
数据:
[1] 2.000000 3.000000 2.333333 1.750000 2.000000 1.833333 2.416667 1.916667
[9] 1.750000 2.166667 2.116667 1.916667 1.944444 1.611111 1.722222 1.777778
[17] 1.877778 1.944444 1.958333 1.833333 2.041667 2.020833 1.908333 1.916667
[25] 1.733333 1.833333 1.800000 1.933333 1.893333 1.866667 1.888889 1.805556
[33] 1.833333 1.847222 1.822222 1.805556 1.833333 1.904762 1.880952 1.833333
[41] 1.804762 1.809524 1.708333 1.708333 1.750000 1.708333 1.683333 1.687500
[49] 1.611111 1.666667 1.648148 1.611111 1.611111 1.611111 1.650000 1.600000
[57] 1.650000 1.625000 1.630000 1.616667 1.469697 1.560606 1.590909 1.651515
[65] 1.651515 1.651515 1.513889 1.555556 1.625000 1.638889 1.647222 1.652778
[73] 1.679487 1.717949 1.705128 1.698718.
我想拟合的模型如下:
Model <- function(t, a, b, c, d) { (a + b*t)/(1 + c*t + d*t^2) }我知道我首先必须为 nls 提供 a、b、c... 的起始列表,但我真的不知道如何设置参数。由于我不是专家,我在此http://www.css.cornell.edu/faculty/dgr2/teach/R/R_rat.pdf 文档中找到了有用的指南。但在某些时候它说:
“给定一组有序对 (ti,yi),其中通常在每个 t 值处都有重复测量,有理函数的参数可以通过非线性最小二乘估计拟合,例如R 中的 nls 方法。一个我们有四个参数,我们可以通过计算一阶导数来计算 t 的最大值。
虽然我不报告其他数据,但我还有另一列表示时间(1:76 的整数表示年份)。
谁能帮帮我?
最好的
E.
【问题讨论】:
-
“nls”是什么意思?非线性系统?您的意思是要优化该函数以对您的参数进行良好的估计?
-
我将编辑我的问题
-
请提供 MCVE stackoverflow.com/help/mcve