如何在R中实现非线性模型回归

时间:2019-04-02 10:19:26

标签: r regression linear-regression

我对R和Statistics都是新手,确实需要您的帮助。我应该分析一些数据以找到描述它的分析模型。 我有2个响应(y1,y2)和(4个预测变量)。 我想到了使用R执行分析并遵循以下步骤: 1)对于每个响应,我测试了线性模型(lm命令),发现:

Call:
lm(formula = data_mass$m ~ ., data = data_mass)

Residuals:
       Min         1Q     Median         3Q        Max 
-7.805e-06 -1.849e-06 -1.810e-07  2.453e-06  7.327e-06 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) -1.367e-04  1.845e-05  -7.413 1.47e-06 ***
d            1.632e-04  1.134e-05  14.394 1.42e-10 ***
L            2.630e-08  1.276e-07   0.206  0.83927    
D            1.584e-05  5.103e-06   3.104  0.00682 ** 
p            1.101e-06  1.195e-07   9.215 8.46e-08 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 4.472e-06 on 16 degrees of freedom
Multiple R-squared:  0.9543,    Adjusted R-squared:  0.9429 
F-statistic: 83.51 on 4 and 16 DF,  p-value: 1.645e-10

2)因此,我通过查看plot(model)图来分析了模型的优越性。 查看“残差与拟合值”图,模型应该不是线性的!正确吗?

3)我试图消除一些因素(例如“ L”)并引入一些二次项(d ^ 2; D ^ 2),但是“残值与拟合值”图具有相同的趋势。

我现在该怎么办?我应该使用非线性模型吗?

谢谢大家可以帮助我=)

更新

再次感谢您。我附上了plot(model)和DATA的图形。响应为m,Fz和预测变量d,L,D,p。该模型是响应m的线性模型。

[Residual vs Fitted][1]
[Normal Q-Q][2]
[Scale Location][3]
[Residual vs Leverage][4]
[DATA][5]

enter code here

enter image description here

enter image description here

enter image description here enter image description here

1 个答案:

答案 0 :(得分:0)

查看“残差与拟合值”图,模型应该不是线性的!正确吗?

是,不是。如果残差的绝对值与拟合值具有很强的相关性,则可能表示异方差(方差异质性)。 这样,残差将不会沿着拟合值平均分布。异方差性是您可以在拟合的 vs 残差图上看到的东西之一,因为它会使诸如*t*-testlm之类的统计检验无效。您还可以使用 scale-location 图来确认它(这与它非常相似,但略胜一筹)。

另一方面,非线性分布表示非线性,并且可能要更改模型的结构。尽管您既不会在残差与拟合值之间建立线性关系,也不会建立非线性关系:在理想情况下,方案的值应或多或少地随机且对称地散布在两条斜率为0的平行线之间的0附近。 您可以在此处找到有关此问题的更多讨论:1 2 3

我现在该怎么办?我应该使用非线性模型吗?

如果诊断图表明存在非线性,则您可能需要更改/重组/重新调整模型(或转换数据)-关于选项here

相关问题