关于数据挖掘:R语言逐步多元回归模型分析长鼻鱼密度影响因素附代码数据

3次阅读

共计 7473 个字符,预计需要花费 19 分钟才能阅读完成。

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

最近咱们被客户要求撰写对于多元回归的钻研报告,包含一些图形和统计输入。

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

目录

如何做多元回归

逐步回归抉择模型

逐渐程序

定义最终模型

 方差分析

预测值图

查看模型的假如

模型拟合规范

将模型与似然比测验进行比拟


 

如何做多元回归

 

多重相干

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

 

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

 

 


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

Data.num = 
   select(Data,
          Longnose,
          Acerage,
          DO2,
          Maxdepth,
          NO3,
          SO4,
          Temp)


headtail(Data.num)


   Longnose Acerage  DO2 Maxdepth  NO3   SO4 Temp

1        13    2528  9.6       80 2.28 16.75 15.3

2        12    3333  8.5       83 5.34  7.74 19.4

3        54   19611  8.3       96 0.99 10.92 19.5

66       20    4106 10.0       96 2.62  5.45 15.4

67       38   10274  9.3       90 5.45 24.76 15.0

68       19     510  6.7       82 5.25 14.19 26.5


corr.test(Data.num, 
          use = "pairwise",
          method="pearson",
          adjust="none",     # 能够调整 p 值
          alpha=.05)

 

Correlation matrix

         Longnose Acerage   DO2 Maxdepth   NO3   SO4  Temp

Longnose     1.00    0.35  0.14     0.30  0.31 -0.02  0.14

Acerage      0.35    1.00 -0.02     0.26 -0.10  0.05  0.00

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

Maxdepth     0.30    0.26 -0.06     1.00  0.04 -0.05  0.00

NO3          0.31   -0.10  0.27     0.04  1.00 -0.09  0.00

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

Temp         0.14    0.00 -0.32     0.00  0.00  0.08  1.00

Sample Size

 

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

         Longnose Acerage  DO2 Maxdepth  NO3  SO4 Temp

Longnose     0.00    0.00 0.27     0.01 0.01 0.89 0.26

Acerage      0.00    0.00 0.86     0.03 0.42 0.69 0.98

DO2          0.27    0.86 0.00     0.64 0.02 0.56 0.01

Maxdepth     0.01    0.03 0.64     0.00 0.77 0.69 0.97

NO3          0.01    0.42 0.02     0.77 0.00 0.48 0.99

SO4          0.89    0.69 0.56     0.69 0.48 0.00 0.52

Temp         0.26    0.98 0.01     0.97 0.99 0.52 0.00

 

 

 

 

 

 


点击题目查阅往期内容

R 语言逻辑回归(Logistic Regression)、回归决策树、随机森林信用卡守约剖析信贷数据集

左右滑动查看更多

01

02

03

04

逐步回归抉择模型

应用 AIC(赤池信息规范)作为抉择规范。能够应用选项k = log(n) 代替 BIC。

 

逐渐程序



Longnose ~ 1



           Df Sum of Sq    RSS    AIC

+ Acerage   1   17989.6 131841 518.75

+ NO3       1   14327.5 135503 520.61

+ Maxdepth  1   13936.1 135894 520.81

<none>                  149831 525.45

+ Temp      1    2931.0 146899 526.10

+ DO2       1    2777.7 147053 526.17

+ SO4       1      45.3 149785 527.43

.

.

< snip... more steps >

.

.

Longnose ~ Acerage + NO3 + Maxdepth



           Df Sum of Sq    RSS    AIC

<none>                  107904 509.13

+ Temp      1    2948.0 104956 509.24

+ DO2       1     669.6 107234 510.70

- Maxdepth  1    6058.4 113962 510.84

+ SO4       1       5.9 107898 511.12

- Acerage   1   14652.0 122556 515.78

- NO3       1   16489.3 124393 516.80



Call:

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



Coefficients:

(Intercept)      Acerage          NO3     Maxdepth 

 -23.829067     0.001988     8.673044     0.336605 

 

 

定义最终模型

 


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


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

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

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

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

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



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

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

 

 方差分析

 



Anova Table (Type II tests)



Response: Longnose

          Sum Sq Df F value   Pr(>F)  

Acerage    14652  1  8.6904 0.004461 **

Maxdepth    6058  1  3.5933 0.062529 .

NO3        16489  1  9.7802 0.002654 **

Residuals 107904 64

 

预测值图

 

**

 

**

查看模型的假如

 

 

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

 

 

 

 

 

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

 

 

             

 

模型拟合规范

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

 

在上面的例子中,咱们只探讨了显著相干的 种植面积 MAXDEPTHNO3


$Models

   Formula                                    

1  "Longnose ~ Acerage"                       

2  "Longnose ~ Maxdepth"                      

3  "Longnose ~ NO3"                           

4  "Longnose ~ Acerage + Maxdepth"            

5  "Longnose ~ Acerage + NO3"                 

6  "Longnose ~ Maxdepth + NO3"                

7  "Longnose ~ Acerage + Maxdepth + NO3"      

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

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

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



$Fit.criteria

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

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

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

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

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

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

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

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

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

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

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

 

几个模型的 AICc(批改后的 Akaike 信息规范)图。模型 7 最小化了 AICc,因而被选为该模型中的最佳模型。

 

 

将模型与似然比测验进行比拟

将模型与 平方和测验或似然比测验进行比拟,以查看是否有其余项显着缩小平方误差和。



Analysis of Variance Table



Model 1: Longnose ~ Acerage + Maxdepth + NO3

Model 2: Longnose ~ Acerage + Maxdepth



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

1     64 107904                               

2     65 124393 -1    -16489 9.7802 0.002654 **





Likelihood ratio test



Model 1: Longnose ~ Acerage + Maxdepth + NO3

Model 2: Longnose ~ Acerage + Maxdepth



  #Df  LogLik Df  Chisq Pr(>Chisq)  

1   5 -347.05                       

2   4 -351.89 -1 9.6701   0.001873 **





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

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

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

Model A: Longnose ~ Acerage + Maxdepth + NO3



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

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

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

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






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

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

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

Model A: Longnose ~ Acerage + Maxdepth + NO3



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

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

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

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

 


点击文末 “浏览原文”

获取全文残缺代码数据资料。

本文选自《R 语言逐渐多元回归模型剖析长鼻鱼密度影响因素》。

点击题目查阅往期内容

PYTHON 用户散失数据挖掘:建设逻辑回归、XGBOOST、随机森林、决策树、反对向量机、奢侈贝叶斯和 KMEANS 聚类用户画像
Python 对商店数据进行 lstm 和 xgboost 销售量工夫序列建模预测剖析
PYTHON 集成机器学习:用 ADABOOST、决策树、逻辑回归集成模型分类和回归和网格搜寻超参数优化
R 语言集成模型:晋升树 boosting、随机森林、束缚最小二乘法加权均匀模型交融剖析工夫序列数据
Python 对商店数据进行 lstm 和 xgboost 销售量工夫序列建模预测剖析
R 语言用主成分 PCA、逻辑回归、决策树、随机森林剖析心脏病数据并高维可视化
R 语言基于树的办法:决策树,随机森林,Bagging,加强树
R 语言用逻辑回归、决策树和随机森林对信贷数据集进行分类预测
spss modeler 用决策树神经网络预测 ST 的股票
R 语言中应用线性模型、回归决策树主动组合特色因子程度
R 语言中自编基尼系数的 CART 回归决策树的实现
R 语言用 rle,svm 和 rpart 决策树进行工夫序列预测
python 在 Scikit-learn 中用决策树和随机森林预测 NBA 获胜者
python 中应用 scikit-learn 和 pandas 决策树进行 iris 鸢尾花数据分类建模和穿插验证
R 语言里的非线性模型:多项式回归、部分样条、平滑样条、狭义相加模型 GAM 剖析
R 语言用规范最小二乘 OLS,狭义相加模型 GAM,样条函数进行逻辑回归 LOGISTIC 分类
R 语言 ISLR 工资数据进行多项式回归和样条回归剖析
R 语言中的多项式回归、部分回归、核平滑和平滑样条回归模型
R 语言用泊松 Poisson 回归、GAM 样条曲线模型预测骑自行车者的数量
R 语言分位数回归、GAM 样条曲线、指数平滑和 SARIMA 对电力负荷工夫序列预测 R 语言样条曲线、决策树、Adaboost、梯度晋升 (GBM) 算法进行回归、分类和动静可视化
如何用 R 语言在机器学习中建设集成模型?
R 语言 ARMA-EGARCH 模型、集成预测算法对 SPX 理论稳定率进行预测在 python 深度学习 Keras 中计算神经网络集成模型 R 语言 ARIMA 集成模型预测工夫序列剖析 R 语言基于 Bagging 分类的逻辑回归 (Logistic Regression)、决策树、森林剖析心脏病患者
R 语言基于树的办法:决策树,随机森林,Bagging,加强树
R 语言基于 Bootstrap 的线性回归预测置信区间预计办法
R 语言应用 bootstrap 和增量法计算狭义线性模型(GLM)预测置信区间
R 语言样条曲线、决策树、Adaboost、梯度晋升(GBM) 算法进行回归、分类和动静可视化
Python 对商店数据进行 lstm 和 xgboost 销售量工夫序列建模预测剖析
R 语言随机森林 RandomForest、逻辑回归 Logisitc 预测心脏病数据和可视化剖析
R 语言用主成分 PCA、逻辑回归、决策树、随机森林剖析心脏病数据并高维可视化
Matlab 建设 SVM,KNN 和奢侈贝叶斯模型分类绘制 ROC 曲线
matlab 应用分位数随机森林(QRF)回归树检测异样值

正文完
 0