原文链接: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 Temp1        13    2528  9.6       80 2.28 16.75 15.32        12    3333  8.5       83 5.34  7.74 19.43        54   19611  8.3       96 0.99 10.92 19.566       20    4106 10.0       96 2.62  5.45 15.467       38   10274  9.3       90 5.45 24.76 15.068       19     510  6.7       82 5.25 14.19 26.5corr.test(Data.num, use = "pairwise",method="pearson",adjust="none",     # 可以调整p值alpha=.05)Correlation matrixLongnose Acerage   DO2 Maxdepth   NO3   SO4  TempLongnose     1.00    0.35  0.14     0.30  0.31 -0.02  0.14Acerage      0.35    1.00 -0.02     0.26 -0.10  0.05  0.00DO2          0.14   -0.02  1.00    -0.06  0.27 -0.07 -0.32Maxdepth     0.30    0.26 -0.06     1.00  0.04 -0.05  0.00NO3          0.31   -0.10  0.27     0.04  1.00 -0.09  0.00SO4         -0.02    0.05 -0.07    -0.05 -0.09  1.00  0.08Temp         0.14    0.00 -0.32     0.00  0.00  0.08  1.00Sample SizeProbability values (Entries above the diagonal are adjusted for multiple tests.)Longnose Acerage  DO2 Maxdepth  NO3  SO4 TempLongnose     0.00    0.00 0.27     0.01 0.01 0.89 0.26Acerage      0.00    0.00 0.86     0.03 0.42 0.69 0.98DO2          0.27    0.86 0.00     0.64 0.02 0.56 0.01Maxdepth     0.01    0.03 0.64     0.00 0.77 0.69 0.97NO3          0.01    0.42 0.02     0.77 0.00 0.48 0.99SO4          0.89    0.69 0.56     0.69 0.48 0.00 0.52Temp         0.26    0.98 0.01     0.97 0.99 0.52 0.00

逐步回归选择模型

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

逐步程序

Longnose ~ 1Df 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 + MaxdepthDf 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.80Call: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.2461F-statistic: 8.289 on 3 and 64 DF,  p-value: 9.717e-05

方差分析

Anova Table (Type II tests)Response: LongnoseSum 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 


$ModelsFormula                                    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.criteriaRank Df.res   AIC  AICc   BIC R.squared Adj.R.sq   p.value Shapiro.W Shapiro.p1     2     66 713.7 714.1 720.4   0.12010  0.10670 3.796e-03    0.7278 6.460e-102     2     66 715.8 716.2 722.4   0.09301  0.07927 1.144e-02    0.7923 2.115e-083     2     66 715.6 716.0 722.2   0.09562  0.08192 1.029e-02    0.7361 9.803e-104     3     65 711.8 712.4 720.6   0.16980  0.14420 2.365e-03    0.7934 2.250e-085     3     65 705.8 706.5 714.7   0.23940  0.21600 1.373e-04    0.7505 2.055e-096     3     65 710.8 711.4 719.6   0.18200  0.15690 1.458e-03    0.8149 8.405e-087     4     64 704.1 705.1 715.2   0.27980  0.24610 9.717e-05    0.8108 6.511e-088     5     63 705.7 707.1 719.0   0.28430  0.23890 2.643e-04    0.8041 4.283e-089     5     63 706.1 707.5 719.4   0.27990  0.23410 3.166e-04    0.8104 6.345e-0810    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 TableModel 1: Longnose ~ Acerage + Maxdepth + NO3Model 2: Longnose ~ Acerage + MaxdepthRes.Df    RSS Df Sum of Sq      F   Pr(>F)  1     64 107904                               2     65 124393 -1    -16489 9.7802 0.002654 **Likelihood ratio testModel 1: Longnose ~ Acerage + Maxdepth + NO3Model 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 + DO2Model 2: Longnose ~ Acerage + Maxdepth + NO3 + SO4Model 3: Longnose ~ Acerage + Maxdepth + NO3 + TempModel A: Longnose ~ Acerage + Maxdepth + NO3DfO      RSSO DfA      RSSA Df        SS      F Pr(>F)1vA  63 107234.38  64 107903.97 -1   -669.59 0.3934 0.53282vA  63 107898.06  64 107903.97 -1     -5.91 0.0035 0.95333vA  63 104955.97  64 107903.97 -1  -2948.00 1.7695 0.1882Model 1: Longnose ~ Acerage + Maxdepth + NO3 + DO2Model 2: Longnose ~ Acerage + Maxdepth + NO3 + SO4Model 3: Longnose ~ Acerage + Maxdepth + NO3 + TempModel A: Longnose ~ Acerage + Maxdepth + NO3DfO    logLikO DfA    logLikA Df     logLik  Chisq Pr(>Chisq)1vA  63 -346.83881  64 -347.05045 -1    0.21164 0.4233     0.51532vA  63 -347.04859  64 -347.05045 -1    0.00186 0.0037     0.95133vA  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指标

拓端tecdat|R语言逐步多元回归模型分析长鼻鱼密度影响因素相关推荐

  1. 拓端tecdat|R语言向量误差修正模型 (VECMs)分析长期利率和通胀率影响关系

    最近我们被客户要求撰写关于向量误差修正模型的研究报告,包括一些图形和统计输出. 向量自回归模型估计的先决条件之一是被分析的时间序列是平稳的.但是,经济理论认为,经济变量之间在水平上存在着均衡关系,可以 ...

  2. 拓端tecdat|R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险

    最近我们被客户要求撰写关于冠心病风险的研究报告,包括一些图形和统计输出. 相关视频:R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险 逻辑回归Logistic模型原理和R语言分类预测冠 ...

  3. 拓端tecdat|R语言线性回归和时间序列分析北京房价影响因素可视化案例

    最近我们被客户要求撰写关于北京房价影响因素的研究报告,包括一些图形和统计输出. 目的 房价有关的数据可能反映了中国近年来的变化: 人们得到更多的资源(薪水),期望有更好的房子 人口众多 独生子女政策: ...

  4. 拓端tecdat|R语言用LOESS(局部加权回归)季节趋势分解(STL)进行时间序列异常检测

    最近我们被客户要求撰写关于LOESS(局部加权回归)的研究报告,包括一些图形和统计输出. 这篇文章描述了一种对涉及季节性和趋势成分的时间序列的中点进行建模的方法.我们将对一种叫做STL的算法进行研究, ...

  5. r语言实现sem_利用R语言做结构方程模型分析

    R的功能很强大,各种包很多.但就是因为包太多,造成了很大的麻烦.不可避免的,可以做结构方程模型的包也不少,例如:sem.psych.OpenMx,lavaan等.我选择了lavaan包.原因:语法简介 ...

  6. R语言多元线性回归模型分析 习题

    一. 要了解学校毕业生起始工资的变化是否能用学生的平均成绩点数(GPA)和毕业生的年年来解释.下表为某学校办公室提供的样本数据. 二.研究货运总量(万吨)与工业总产值x1(亿元),农业总产值x2(亿元 ...

  7. R语言ARIMA-GARCH波动率模型预测股票市场苹果公司日收益率时间序列

    原文链接:http://tecdat.cn/?p=23934 在本文中,我们将尝试为苹果公司的日收益率寻找一个合适的 GARCH 模型(点击文末"阅读原文"获取完整代码数据). 相 ...

  8. R语言ARIMA集成模型预测时间序列分析

    全文链接:http://tecdat.cn/?p=18493 本文我们使用4个时间序列模型对每周的温度序列建模.第一个是通过auto.arima获得的,然后两个是SARIMA模型,最后一个是Buys- ...

  9. R语言GARCH族模型:正态分布、t、GED分布EGARCH、TGARCH的VaR分析股票指数

    全文链接:http://tecdat.cn/?p=31023 如何构建合适的模型以恰当的方法对风险进行测量是当前金融研究领域的一个热门话题(点击文末"阅读原文"获取完整代码数据). ...

  10. R语言用Garch模型和回归模型对股票价格分析

    原文链接:http://tecdat.cn/?p=18310 为了找出影响价格波动的主要因素,我们使用逐步回归法来剔除一些对于应变量即价格影响很小的自变量剔除出我们的模型(点击文末"阅读原文 ...

最新文章

  1. Python2的Json反序列化工具
  2. 那些做中台的程序员,后来都怎么样了?
  3. DatagridView内容自动换行和换行符换行
  4. ChannelFactory创建和销毁昂贵
  5. windows7 设置 Local Settings权限为可以访问
  6. P1965 夜夜的数据加强 题解
  7. powershell 学习地址
  8. service mysqld start,Failed to start mysqld.service: Access denied
  9. 51nod1244 欧拉函数之和 杜教筛
  10. 【100题】三十五 求一个矩阵中最大的二维矩阵(元素和最大)
  11. IOS开发-TableView表视图基础
  12. 力扣-1791. 找出星型图的中心节点
  13. java热门框架_java今年最流行的3大框架
  14. jpeg 转rgb c 语言_威刚推出SE770G移动固态硬盘 主打高速传输和RGB灯效
  15. HDU 1021 Fibonacci Again
  16. 深度IP转换器安卓版APP怎么修改OPPO手机IP地址
  17. 企业微信网页应用开发 - 开发环境搭建
  18. Objective-C——initialize方法调用原理分析
  19. 2019年的人工智能需要什么
  20. 初尝vue-element-admin

热门文章

  1. How Touch Screen Monitors Work
  2. ACID, BASE和CAP
  3. 教你如何做人的小故事
  4. Spelling, Edit Distance, and Noisy Channels 拼写、编辑距离和噪声通道
  5. staticmethod自己定制
  6. python基础--面向对象之绑定非绑定方法
  7. python基础--导入模块
  8. [ HNOI 2015 ] 亚瑟王
  9. teamviewer开通防火墙策略
  10. 如何识别一个字符串是否Json格式