欢迎光临散文网 会员登陆 & 注册

R语言逐步多元回归模型分析长鼻鱼密度影响因素

2021-03-02 22:31 作者:拓端tecdat  | 我要投稿

 原文链接:http://tecdat.cn/?p=9564

 

目录

如何做多元回归

逐步回归选择模型

逐步程序

定义最终模型

 方差分析

预测值图

检查模型的假设

模型拟合标准

将模型与似然比检验进行比较

我从马里兰州生物流调查中提取了一些数据,以进行多元回归分析。数据因变量是每75米长的水流中长鼻鱼(Rhinichthys cataractae)的数量。自变量是河流流失的面积(英亩);氧浓度(毫克/升);水流段的最大深度(以厘米为单位);硝酸盐浓度(毫克/升);硫酸盐浓度(毫克/升);以及采样日期的水温(以摄氏度为单位)。

 

如何做多元回归

 

多重相关

数据集包含多个数值变量时,最好查看这些变量之间的相关性。原因之一是,可以轻松查看哪些自变量与该因变量相关。第二个原因是,如果要构建多元回归模型,则添加高度相关的自变量不太可能对模型有很大的改进。

 

最后,值得看一下数字变量的分布。如果分布差异很大,则使用Kendall或Spearman相关性可能更合适。同样,如果自变量与因变量的分布不同,则可能需要对自变量进行转换。

 

 


  1. Data = read.table(textConnection(Input),header=TRUE)


  2. Data.num = 

  3.    select(Data,

  4.           Longnose,

  5.           Acerage,

  6.           DO2,

  7.           Maxdepth,

  8.           NO3,

  9.           SO4,

  10.           Temp)



  11. headtail(Data.num)



  12.    Longnose Acerage  DO2 Maxdepth  NO3   SO4 Temp


  13. 1        13    2528  9.6       80 2.28 16.75 15.3


  14. 2        12    3333  8.5       83 5.34  7.74 19.4


  15. 3        54   19611  8.3       96 0.99 10.92 19.5


  16. 66       20    4106 10.0       96 2.62  5.45 15.4


  17. 67       38   10274  9.3       90 5.45 24.76 15.0


  18. 68       19     510  6.7       82 5.25 14.19 26.5



  19. corr.test(Data.num, 

  20.           use = "pairwise",

  21.           method="pearson",

  22.           adjust="none",     # 可以调整p值

  23.           alpha=.05)




  24. Correlation matrix


  25.          Longnose Acerage   DO2 Maxdepth   NO3   SO4  Temp


  26. Longnose     1.00    0.35  0.14     0.30  0.31 -0.02  0.14


  27. Acerage      0.35    1.00 -0.02     0.26 -0.10  0.05  0.00


  28. DO2          0.14   -0.02  1.00    -0.06  0.27 -0.07 -0.32


  29. Maxdepth     0.30    0.26 -0.06     1.00  0.04 -0.05  0.00


  30. NO3          0.31   -0.10  0.27     0.04  1.00 -0.09  0.00


  31. SO4         -0.02    0.05 -0.07    -0.05 -0.09  1.00  0.08


  32. Temp         0.14    0.00 -0.32     0.00  0.00  0.08  1.00


  33. Sample Size




  34. Probability values (Entries above the diagonal are adjusted for multiple tests.)


  35.          Longnose Acerage  DO2 Maxdepth  NO3  SO4 Temp


  36. Longnose     0.00    0.00 0.27     0.01 0.01 0.89 0.26


  37. Acerage      0.00    0.00 0.86     0.03 0.42 0.69 0.98


  38. DO2          0.27    0.86 0.00     0.64 0.02 0.56 0.01


  39. Maxdepth     0.01    0.03 0.64     0.00 0.77 0.69 0.97


  40. NO3          0.01    0.42 0.02     0.77 0.00 0.48 0.99


  41. SO4          0.89    0.69 0.56     0.69 0.48 0.00 0.52


  42. Temp         0.26    0.98 0.01     0.97 0.99 0.52 0.00





 

 

 

 

 

逐步回归选择模型

使用AIC(赤池信息标准)作为选择标准。可以使用选项k = log(n)代替BIC。 

 

逐步程序



  1. Longnose ~ 1




  2.            Df Sum of Sq    RSS    AIC


  3. + Acerage   1   17989.6 131841 518.75


  4. + NO3       1   14327.5 135503 520.61


  5. + Maxdepth  1   13936.1 135894 520.81


  6. <none>                  149831 525.45


  7. + Temp      1    2931.0 146899 526.10


  8. + DO2       1    2777.7 147053 526.17


  9. + SO4       1      45.3 149785 527.43


  10. .


  11. .


  12. < snip... more steps >


  13. .


  14. .


  15. Longnose ~ Acerage + NO3 + Maxdepth




  16.            Df Sum of Sq    RSS    AIC


  17. <none>                  107904 509.13


  18. + Temp      1    2948.0 104956 509.24


  19. + DO2       1     669.6 107234 510.70


  20. - Maxdepth  1    6058.4 113962 510.84


  21. + SO4       1       5.9 107898 511.12


  22. - Acerage   1   14652.0 122556 515.78


  23. - NO3       1   16489.3 124393 516.80




  24. Call:


  25. lm(formula = Longnose ~ Acerage + NO3 + Maxdepth, data = Data)




  26. Coefficients:


  27. (Intercept)      Acerage          NO3     Maxdepth 


  28.  -23.829067     0.001988     8.673044     0.336605 

 

 

定义最终模型

 


  1. summary(model.final)      # 显示系数,R平方和总体p值



  2.               Estimate Std. Error t value Pr(>|t|)  


  3. (Intercept) -2.383e+01  1.527e+01  -1.560  0.12367  


  4. Acerage      1.988e-03  6.742e-04   2.948  0.00446 **


  5. Maxdepth     3.366e-01  1.776e-01   1.896  0.06253 .


  6. NO3          8.673e+00  2.773e+00   3.127  0.00265 **




  7. Multiple R-squared:  0.2798,  Adjusted R-squared:  0.2461


  8. F-statistic: 8.289 on 3 and 64 DF,  p-value: 9.717e-05

 

 方差分析

 



  1. Anova Table (Type II tests)




  2. Response: Longnose


  3.           Sum Sq Df F value   Pr(>F)  


  4. Acerage    14652  1  8.6904 0.004461 **


  5. Maxdepth    6058  1  3.5933 0.062529 .


  6. NO3        16489  1  9.7802 0.002654 **


  7. Residuals 107904 64

 

预测值图

 

 

 

 

检查模型的假设

 

 

线性模型中残差的直方图。这些残差的分布应近似正态。

 

 

 

 

 

残差与预测值的关系图。残差应无偏且均等。 

 

 

             

 

模型拟合标准

模型拟合标准可用于确定最合适的模型。使用AIC或可选的BIC。AICc是对AIC的一种调整,它更适合于观测值相对较少的数据集。AIC,AICc和BIC越小越好。

 

在下面的例子中,我们只讨论了显著相关的种植面积,MAXDEPTH和NO3 。 


  1. $Models


  2.    Formula                                    


  3. 1  "Longnose ~ Acerage"                       


  4. 2  "Longnose ~ Maxdepth"                      


  5. 3  "Longnose ~ NO3"                           


  6. 4  "Longnose ~ Acerage + Maxdepth"            


  7. 5  "Longnose ~ Acerage + NO3"                 


  8. 6  "Longnose ~ Maxdepth + NO3"                


  9. 7  "Longnose ~ Acerage + Maxdepth + NO3"      


  10. 8  "Longnose ~ Acerage + Maxdepth + NO3 + DO2"


  11. 9  "Longnose ~ Acerage + Maxdepth + NO3 + SO4"


  12. 10 "Longnose ~ Acerage + Maxdepth + NO3 + Temp"  




  13. $Fit.criteria


  14.    Rank Df.res   AIC  AICc   BIC R.squared Adj.R.sq   p.value Shapiro.W Shapiro.p


  15. 1     2     66 713.7 714.1 720.4   0.12010  0.10670 3.796e-03    0.7278 6.460e-10


  16. 2     2     66 715.8 716.2 722.4   0.09301  0.07927 1.144e-02    0.7923 2.115e-08


  17. 3     2     66 715.6 716.0 722.2   0.09562  0.08192 1.029e-02    0.7361 9.803e-10


  18. 4     3     65 711.8 712.4 720.6   0.16980  0.14420 2.365e-03    0.7934 2.250e-08


  19. 5     3     65 705.8 706.5 714.7   0.23940  0.21600 1.373e-04    0.7505 2.055e-09


  20. 6     3     65 710.8 711.4 719.6   0.18200  0.15690 1.458e-03    0.8149 8.405e-08


  21. 7     4     64 704.1 705.1 715.2   0.27980  0.24610 9.717e-05    0.8108 6.511e-08


  22. 8     5     63 705.7 707.1 719.0   0.28430  0.23890 2.643e-04    0.8041 4.283e-08


  23. 9     5     63 706.1 707.5 719.4   0.27990  0.23410 3.166e-04    0.8104 6.345e-08


  24. 10    5     63 704.2 705.6 717.5   0.29950  0.25500 1.409e-04    0.8225 1.371e-07



RPlot

 

几个模型的AICc(修改后的Akaike信息标准)图。模型7最小化了AICc,因此被选为该模型中的最佳模型。

 

 

将模型与似然比检验进行比较

将模型与 平方和检验或似然比检验进行比较,以查看是否有其他项显着减少平方误差和 。



  1. Analysis of Variance Table




  2. Model 1: Longnose ~ Acerage + Maxdepth + NO3


  3. Model 2: Longnose ~ Acerage + Maxdepth




  4.   Res.Df    RSS Df Sum of Sq      F   Pr(>F)  


  5. 1     64 107904                               


  6. 2     65 124393 -1    -16489 9.7802 0.002654 **






  7. Likelihood ratio test




  8. Model 1: Longnose ~ Acerage + Maxdepth + NO3


  9. Model 2: Longnose ~ Acerage + Maxdepth




  10.   #Df  LogLik Df  Chisq Pr(>Chisq)  


  11. 1   5 -347.05                       


  12. 2   4 -351.89 -1 9.6701   0.001873 **






  13. Model 1: Longnose ~ Acerage + Maxdepth + NO3 + DO2


  14. Model 2: Longnose ~ Acerage + Maxdepth + NO3 + SO4


  15. Model 3: Longnose ~ Acerage + Maxdepth + NO3 + Temp


  16. Model A: Longnose ~ Acerage + Maxdepth + NO3




  17.     DfO      RSSO DfA      RSSA Df        SS      F Pr(>F)


  18. 1vA  63 107234.38  64 107903.97 -1   -669.59 0.3934 0.5328


  19. 2vA  63 107898.06  64 107903.97 -1     -5.91 0.0035 0.9533


  20. 3vA  63 104955.97  64 107903.97 -1  -2948.00 1.7695 0.1882







  21. Model 1: Longnose ~ Acerage + Maxdepth + NO3 + DO2


  22. Model 2: Longnose ~ Acerage + Maxdepth + NO3 + SO4


  23. Model 3: Longnose ~ Acerage + Maxdepth + NO3 + Temp


  24. Model A: Longnose ~ Acerage + Maxdepth + NO3




  25.     DfO    logLikO DfA    logLikA Df     logLik  Chisq Pr(>Chisq)


  26. 1vA  63 -346.83881  64 -347.05045 -1    0.21164 0.4233     0.5153


  27. 2vA  63 -347.04859  64 -347.05045 -1    0.00186 0.0037     0.9513


  28. 3vA  63 -346.10863  64 -347.05045 -1    0.94182 1.8836     0.1699

 

参考文献

1.R语言多元Logistic逻辑回归 应用案例

2.面板平滑转移回归(PSTR)分析案例实现

3.matlab中的偏最小二乘回归(PLSR)和主成分回归(PCR)

4.R语言泊松Poisson回归模型分析案例

5.R语言回归中的Hosmer-Lemeshow拟合优度检验

6.r语言中对LASSO回归,Ridge岭回归和Elastic Net模型实现

7.在R语言中实现Logistic逻辑回归

8.python用线性回归预测股票价格

9.R语言如何在生存分析与Cox回归中计算IDI,NRI指标


R语言逐步多元回归模型分析长鼻鱼密度影响因素的评论 (共 条)

分享到微博请遵守国家法律