0

我是 R 的新手。我想对以下一阶衰减时间序列公式进行非线性回归拟合:

y = a*exp^(-kt)

谁能告诉我做这种非线性拟合的脚本和过程?谢谢!

4

1 回答 1

4

nls() 函数执行非线性最小二乘法,我认为这就是您要问的。这是一个例子:

> data = data.frame(Year=0:7, Count=c(3, 5, 9, 30, 62, 154, 245, 321))
> out = nls(Count~a*exp(b*Year), data=data, start=list(a=1, b=1))

# Look at output
> summary(out)

Formula: Count ~ a * exp(b * Year)

Parameters:
  Estimate Std. Error t value Pr(>|t|)    
a 11.52774    4.30644   2.677 0.036689 *  
b  0.48412    0.05778   8.379 0.000157 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 24.54 on 6 degrees of freedom

Number of iterations to convergence: 11 
Achieved convergence tolerance: 4.533e-06

另一种选择可能是对对数转换的数据进行直线回归——我不确定这是否违反了您的建模假设。

来源:https ://stat.ethz.ch/pipermail/r-help/2007-July/137063.html

于 2013-12-12T02:43:47.757 回答