首页 文章

R中的非线性回归[关闭]

提问于
浏览
-1

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

y = a*exp^(-kt)

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

1 回答

  • 2

    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

相关问题