JadeQSY 2022-12-19 11:33 采纳率: 50%
浏览 16

R语言非线性模型如何判断多重共线性?

请问在R语言中拟合了非线性模型,如何判断这个模型是否具有多重共线性?
(直接用vif(model)是跑不了的)

model <- nls(CW~(a+a1*H)/(1+(b+b1*DQMD)*exp(-(c+c1*HDR)*DBH)),
             data=data,
             start = list(a=1,b=1,c=0.1,a1=0.1,b1=-0.7,c1=-0.1)) 

  • 写回答

1条回答 默认 最新

  • ShowMeAI 2022-12-19 13:25
    关注

    在 R 语言中,你可以使用残差分析和多元共线性检验来判断非线性模型是否具有多重共线性。以下方法供参考:

    • 使用 plot(model) 函数绘制残差图。如果残差图呈现出规律性分布,则可能存在多重共线性。
    • 使用 summary(model) 函数查看模型的统计摘要。如果发现任意一个解释变量的 P-value 大于 0.1,则可能存在多重共线性。
    • 使用 coeftest(model) 函数查看模型的系数置信区间。如果发现任意一个解释变量的置信区间包含 0,则可能存在多重共线性。
    • 使用 resid(model) 函数计算残差,然后使用 durbinWatsonTest(resid(model)) 函数进行多元共线性检验。如果结果的 p-value 小于 0.1,则可能存在多重共线性。
    评论

报告相同问题?

问题事件

  • 创建了问题 12月19日