R语言第七讲 线性回归分析案例续

 

题目
          MASS 库中包含 Boston (波士顿房价)数据集,它记录了波士顿周围 506 个街区的 medv (房价中位数)。我们将设法用 13 个预测变量如 rm (每栋住宅的平均房间数), age (平均房 龄), lstat (社会经济地位低的家庭所占比例)等来预测 medv (房价中位数)。

************************************************MASS是R语言自带的库********************************************************

       上一篇文章介绍了简单线性回归的分析案例,接下来介绍一下多元线性回归的分析案例。数据集,还是继续使用上一节的Boston数据集,读者自行加载数据集,在此不做赘述。

       为了用最小二乘法拟合多元线性回归模型,再次调用 lm ()函数。语句 lm (y ~ x1 + x2 + x3) 用于建立有三个预测变量 xl , x2 和 x3 的拟合模型。 summary ( )函数输出所有预测变 量的回归系数。

> lm.fit=lm(medv~lstat+age,data=Boston)
> summary(lm.fit)
Call:
lm(formula = medv ~ lstat + age, data = Boston)Residuals:  Min      1Q  Median      3Q     Max 
-15.981  -3.978  -1.283   1.968  23.158 Coefficients:Estimate Std. Error t value Pr(>|t|)    
(Intercept) 33.22276    0.73085  45.458  < 2e-16 ***
lstat       -1.03207    0.04819 -21.416  < 2e-16 ***
age          0.03454    0.01223   2.826  0.00491 ** 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1Residual standard error: 6.173 on 503 degrees of freedom
Multiple R-squared:  0.5513,	Adjusted R-squared:  0.5495 
F-statistic:   309 on 2 and 503 DF,  p-value: < 2.2e-16

       从以上数据看以看到函数的残差(中等残差只有-1.283,函数拟合模型相对较好,#估计标准误差t值,#预测的残差标准误,R方,F统计量和p值。F统计量309的值,相当大了,表示medv与Istat和age确实有线性关系。自由度503,表示有503个点不受限制。

Coefficients:Estimate Std. Error t value Pr(>|t|)    
(Intercept) 33.22276    0.73085  45.458  < 2e-16 ***
lstat       -1.03207    0.04819 -21.416  < 2e-16 ***
age          0.03454    0.01223   2.826  0.00491 ** 

       以上数据分析,截距和Istat系数、age系数的值分别为33.22276   ,-1.03207, 0.03454 ,系数的标准差均小于1,说明估计出的系数较为稳定,而且p值均小于0.05,说明有较大的证据证明medv与Istat和age有线性关系。

      Boston 数据集包含 13 个变量,所以在用所有的预测变量进行回归时,一一输入会很麻 烦。可以使用下面的快捷方法:

> lm.fit = lm(medv~.,data = Boston)
> summary(lm.fit)Call:
lm(formula = medv ~ ., data = Boston)Residuals:Min      1Q  Median      3Q     Max 
-15.595  -2.730  -0.518   1.777  26.199 Coefficients:Estimate Std. Error t value Pr(>|t|)    
(Intercept)  3.646e+01  5.103e+00   7.144 3.28e-12 ***
crim        -1.080e-01  3.286e-02  -3.287 0.001087 ** 
zn           4.642e-02  1.373e-02   3.382 0.000778 ***
indus        2.056e-02  6.150e-02   0.334 0.738288    
chas         2.687e+00  8.616e-01   3.118 0.001925 ** 
nox         -1.777e+01  3.820e+00  -4.651 4.25e-06 ***
rm           3.810e+00  4.179e-01   9.116  < 2e-16 ***
age          6.922e-04  1.321e-02   0.052 0.958229    
dis         -1.476e+00  1.995e-01  -7.398 6.01e-13 ***
rad          3.060e-01  6.635e-02   4.613 5.07e-06 ***
tax         -1.233e-02  3.760e-03  -3.280 0.001112 ** 
ptratio     -9.527e-01  1.308e-01  -7.283 1.31e-12 ***
black        9.312e-03  2.686e-03   3.467 0.000573 ***
lstat       -5.248e-01  5.072e-02 -10.347  < 2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1Residual standard error: 4.745 on 492 degrees of freedom
Multiple R-squared:  0.7406,	Adjusted R-squared:  0.7338 
F-statistic: 108.1 on 13 and 492 DF,  p-value: < 2.2e-16

      可以用它们的名字访问 summary的各个组成部分(输入? summary.lm 查看可用项)。因此, summary (lm. f i t ) $ r. sq 可输出可以输出R方, summary(lm.fit) $sigma可给出RSE, vif ()函数是 car 包的一部分,可用于计算方差膨胀因子。此数据集中大多数变量的 VIF 值是低到中等。 Car 包不是 R 基本配置的一部分,因此第一次时使用必须通过install.packages 命令下载。

> install.packages("car")
> library(car)
> vif(lm.fit)#计算方差膨胀因子crim       zn    indus     chas      nox       rm      age      dis 
1.792192 2.298758 3.991596 1.073995 4.393720 1.933744 3.100826 3.955945 rad      tax  ptratio    black    lstat 
7.484496 9.008554 1.799084 1.348521 2.941491 

 方差膨胀因子  

       假设有n个非零向量X1,X2, …,Xn,如果存在不全等于零的常数b1, b2, …, bn使得b1X1+b2X2+b3X3+…+bnXn=0,则认为X1,X2,…,Xn之间存在线性关系。多重共线性也是相似的道理。在实际建模的过程中,我们的数据集常常含有成千上万个样本,其中某几个变量之间存在非常严格的线性关系的情况是几乎不可能存在的,因此当解释变量之间存在一定程度的相关性(近似共线性)时,也可以称之为多重共线性。当有多重共线性的情况发生时,参数估计的结果不再具有有效性,因此在进行逻辑回归分析之前我们需要通过VIF检验来排除掉某些有多重共线性的变量。
    VIF指的是解释变量之间存在多重共线性时的方差与不存在多重共线性时的方差之比,可以反映多重共线性导致的方差的增加程度。它的公式长这样:

    

       如果想用除某一变量之外的所有其他变量进行回归,该如何操作?例如,在上面的回归结 果中, age 变量有很高的 p 值。所以我们不妨进行不包括年龄变量的回归。下面的语句就是用 除 age 之外的所有预测变量进行回归。或者使用 update ()函数。

> lm.fit1=lm(medv~.-age,data=Boston)
> summary(lm.fit1)
> lm.fit1=update(lm.fit, ~.-age)Call:
lm(formula = medv ~ . - age, data = Boston)Residuals:Min       1Q   Median       3Q      Max 
-15.6054  -2.7313  -0.5188   1.7601  26.2243 Coefficients:Estimate Std. Error t value Pr(>|t|)    
(Intercept)  36.436927   5.080119   7.172 2.72e-12 ***
crim         -0.108006   0.032832  -3.290 0.001075 ** 
zn            0.046334   0.013613   3.404 0.000719 ***
indus         0.020562   0.061433   0.335 0.737989    
chas          2.689026   0.859598   3.128 0.001863 ** 
nox         -17.713540   3.679308  -4.814 1.97e-06 ***
rm            3.814394   0.408480   9.338  < 2e-16 ***
dis          -1.478612   0.190611  -7.757 5.03e-14 ***
rad           0.305786   0.066089   4.627 4.75e-06 ***
tax          -0.012329   0.003755  -3.283 0.001099 ** 
ptratio      -0.952211   0.130294  -7.308 1.10e-12 ***
black         0.009321   0.002678   3.481 0.000544 ***
lstat        -0.523852   0.047625 -10.999  < 2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1Residual standard error: 4.74 on 493 degrees of freedom
Multiple R-squared:  0.7406,	Adjusted R-squared:  0.7343 
F-statistic: 117.3 on 12 and 493 DF,  p-value: < 2.2e-16

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/474142.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 1129. 颜色交替的最短路径(BFS)

文章目录1. 题目2. 解题1. 题目 在一个有向图中&#xff0c;节点分别标记为 0, 1, ..., n-1。 这个图中的每条边不是红色就是蓝色&#xff0c;且存在自环或平行边。 red_edges 中的每一个 [i, j] 对表示从节点 i 到节点 j 的红色有向边。 类似地&#xff0c;blue_edges 中的每…

web.config文件之自定义错误节

web.config文件之自定义错误节 大家都知道&#xff0c;在开发asp.net应用程序时&#xff0c;通过web.config文件可以配置在执行 Web 请求期间发生未处理的错误时&#xff0c;ASP.NET 显示信息的方式。下面是一个典型的基本配置&#xff1a; ?<system.web><customErro…

R语言第八讲 评估模型之交叉验证法分析案例

题目 评估Auto数据集上拟合多个线性模型所产生的测试错误率。Auto数据集是存在与ISLR程序包中的一个摩托车相关数据的数据集&#xff0c;读者可自行下载ISLR程序包&#xff0c;并将Auto数据集加载。 相关资料 交叉验证是在机器学习建立模型和验证模型参数时常用的办法。交叉验…

linux中UDP程序流程、客户端、服务端

UDP--- 用户数据报协议&#xff08;User Datagram Protocol&#xff09;&#xff0c;是一个无连接的简单的面向数据报的运输层协议。 优点&#xff1a;传输速度快 缺点&#xff1a;不可靠 socket的中文意思是接插件&#xff1a; 创建socket 在 Python 中 使用socket 模块的类 …

LeetCode 1041. 困于环中的机器人

文章目录1. 题目2. 解题1. 题目 在无限的平面上&#xff0c;机器人最初位于 (0, 0) 处&#xff0c;面朝北方。机器人可以接受下列三条指令之一&#xff1a; “G”&#xff1a;直走 1 个单位“L”&#xff1a;左转 90 度“R”&#xff1a;右转 90 度 机器人按顺序执行指令 ins…

Javascript实现合并单元格

Web上的报表或表格应用&#xff0c;较为复杂的表格操作一般都比较难实现&#xff0c;这里介绍一下用ComponentOne Studio for ASP.NET Wijmo中的SpreadJS&#xff0c;可以实现一些较为复杂的表格操作&#xff0c;个人认为他模仿桌面应用的操作体验非常不错&#xff0c;虽然我并…

R语言第八讲续 评估模型之自助法分析案例

题目 今天来用自助法评估一下ISLR 程序包中的 Portfolio (金融资产)数据集的预测函数 相关资料 自助法&#xff08;Bootstraping&#xff09;是另一种模型验证&#xff08;评估&#xff09;的方法&#xff08;之前已经介绍过单次验证和交叉验证&#xff09;。其以自助采样&…

python中常见的15中面试题

下面这些问题涉及了与Python相关的许多技能&#xff0c;问题的关注点主要是语言本身&#xff0c;不是某个特定的包或模块。每一个问题都可以扩充为一个教程&#xff0c;如果可能的话。某些问题甚至会涉及多个领域。 我之前还没有出过和这些题目一样难的面试题&#xff0c;如果你…

LeetCode 1039. 多边形三角剖分的最低得分(区间DP)

文章目录1. 题目2. 解题1. 题目 给定 N&#xff0c;想象一个凸 N 边多边形&#xff0c;其顶点按顺时针顺序依次标记为 A[0], A[i], ..., A[N-1]。 假设您将多边形剖分为 N-2 个三角形。 对于每个三角形&#xff0c;该三角形的值是顶点标记的乘积&#xff0c;三角剖分的分数是…

CentOS6.4安装包初识

LiveCD 一般用来修复系统使用&#xff0c;有容量很小&#xff0c;不用安装&#xff0c;可以自启动等特性。bin DVD也具有同 样的功能&#xff0c;但是体积较大&#xff0c;所以会有live DVD。   LiveDVD 与LiveCD 相同是不需要安装就直接使用的&#xff0c;要安装的话还是要安…

R语言第九讲 验证集法

目的 为了更好的熟悉分析定性变量的逻辑斯谛回归分析的应用和验证集法(评估拟合拟合模型的一种方法&#xff09;&#xff0c;用一个简单的示例来介绍一下它们在分析数据中的应用。 题目 在 Default 数据集上用income 和 balance 做逻辑斯谛回归来预测 default的概率。现…

总结python中基本的面试题

1.Python是如何进行内存管理的&#xff1f; 答:从三个方面来说,一对象的引用计数机制,二垃圾回收机制,三内存池机制 一、对象的引用计数机制 Python内部使用引用计数&#xff0c;来保持追踪内存中的对象&#xff0c;所有对象都有引用计数。 引用计数增加的情况&#xff1a; 1&a…

02.改善深层神经网络:超参数调试、正则化以及优化 W1.深度学习的实践层面

文章目录1. 训练&#xff0c;验证&#xff0c;测试集2. 偏差&#xff0c;方差3. 机器学习基础4. 正则化5. 为什么正则化预防过拟合6. dropout&#xff08;随机失活&#xff09;正则化7. 理解 dropout8. 其他正则化9. 归一化输入10. 梯度消失 / 梯度爆炸11. 神经网络权重初始化1…

动态规划 POJ 1088 滑雪

Description Michael 喜欢滑雪百这并不奇怪&#xff0c; 因为滑雪的确很刺激。可是为了获得速度&#xff0c;滑的区域必须向下倾斜&#xff0c;而且当你滑到坡底&#xff0c;你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个 区域中最长底滑坡。区域由一个二维数组…

R语言第十讲 逻辑斯蒂回归

模型函数介绍 Logistic Regression 虽然被称为回归&#xff0c;但其实际上是分类模型&#xff0c;并常用于二分类。Logistic Regression 因其简单、可并行化、可解释强深受工业界喜爱。 Logistic 回归的本质是&#xff1a;假设数据服从这个Logistic 分布&#xff0c;然后使用极…

网络上总结python中的面试题

【题目:001】| 说说你对zen of python的理解&#xff0c;你有什么办法看到它? Python之禅,Python秉承一种独特的简洁和可读行高的语法&#xff0c;以及高度一致的编程模式&#xff0c;符合“大脑思维习惯”&#xff0c;使Python易于学习、理解和记忆。Python同时采用了一条极简…

阿里云 超级码力在线编程大赛初赛 第3场 题目4. 完美字符串

文章目录1. 题目2. 解题1. 题目 描述 定义若一个字符串的每个字符均为’1’&#xff0c;则该字符串称为完美字符串。 给定一个只由’0’和’1’组成的字符串s和一个整数k。 你可以对字符串进行任意次以下操作 选择字符串的一个区间长度不超过k的区间[l, r]&#xff0c;将区间…

(译)Windows Azure的7月更新:SQL数据库,流量管理,自动缩放,虚拟机

Windows Azure的7月更新:SQL数据库&#xff0c;流量管理&#xff0c;自动缩放&#xff0c;虚拟机 今早我们释出一些很棒的Windows Azure更新。这些新的提升包括&#xff1a;SQL数据库&#xff1a;支持SQL自动导出和一个新的高级层SQL数据库选项流量管理&#xff1a;在HTML门户的…

R语言第十一讲 决策树与随机森林

概念 决策树主要有树的回归和分类方法&#xff0c;这些方法主要根据分层和分割 的方式将预测变量空间划分为一系列简单区域。对某个给定待预测的观 测值&#xff0c;用它所属区域中训练集的平均值或众数对其进行预测。 基于树的方法简便且易于解释。但预测准确性通常较低。如图…

python面试题汇总(1)

1. (1)python下多线程的限制以及多进程中传递参数的方式   python多线程有个全局解释器锁&#xff08;global interpreter lock&#xff09;&#xff0c;这个锁的意思是任一时间只能有一个线程使用解释器&#xff0c;跟单cpu跑多个程序一个意思&#xff0c;大家都是轮着用的&…