查看原文
其他

一元(多元)线性回归分析之Excel实现

okajun R语言中文社区 2019-04-22

作者简介

okajun 

个人博客:https://ask.hellobi.com/blog/okajun


工作中最常用、最简单的估计就是一元(多元)线性回归分析了,比如预测销量等,今天来分享一下Excel的实现方法。

1. 一元线性回归

先说一元:使用R语言中的women数据集,记录了15为女性的身高和体重数据,我们需要建立一个模型,当得到一名女性的身高时,来预测她的体重。


数据如下:



1.1 数据探索

共有15条记录,2列数据,首先我们做散点图,观看数据分布特征:

可以看到数据分布特征非常明显,呈现线性分布,我们添加趋势线,并显示方程,可以看到预测模型。

得到的R²=0.991,非常接近1,说明模型能够解释99.1%的方差,效果非常好。



1.2 构建模型

我们再用Excel自带的数据分析工具,来看一下模型的更多信息及检验情况:

调出数据分析工具:文件→选项→加载项→→勾选“分析工具库”,确定。即可在Excel中的数据选项卡下找到,点击进去:选择

,即可得到模型输出结果。


1.3 模型解读

下面对结果进行解读(这一步非常重要):


首先看R²,或者调整R²,它反映了模型的解释能力(即方程能解释多少方差),越接近1,说明效果越好,一般高于80%就说明模型的解释能力较好。


然后看F检验,即对方程是否有线性关系的检验,原假设H0:方程没有线性关系,我们看到P值(Significance F)< 0.01,故拒绝H0,认为方程具有线性关系。亦可说方程通过了F检验。


再看t检验,即对一元线性方程的截距项α和系数β进行检验,H0:α=0,可以看到P<0.01,拒绝H0,说明α通过了t检验;同理,β也通过了t检验。

通过上面3步,基本就可以确定方程的效果了,如果你仅仅是为了预测,个人认为看到这一步就OK了。


下面我们更深入的看一下这个模型:

我们知道一元线性回归使用的是OLS(最小二乘法),它有一些先验条件,比如数据服从正太分布,方差齐次性;还要看一下是否有离群点、高杠杆值、强影响点的影响;样本数据过少的时候即使得到的模型效果很好,也未必稳健。(有兴趣的可以查阅R in Action这本书)

我们继续看一下Excel中输出的图形:


残差图:可以看到数据并没有散乱的分布在X轴两侧,而是呈抛物线的形状,说明模型中需要引入一个二次项,从散点图中亦可以看出。


正太概率图:散点分布在一条直线上,说明服从正太分布。当样本足够大(一般认为≥30)时,一般不需要太关注正太分布性。

以上:一元线性回归的部分结束,下面看多元的。


2.多元线性回归

多元:我们找到了一个关于薪资的数据集,共计52条记录,5列(性别,年龄,工龄,教育程度,年薪),我们根据年龄,司龄,教育程度来预测年薪。性别为分类变量,我们不引入回归方程,有兴趣的话可以使用ANOVA看一下男女在薪资上是否不同。

数据如下:



思路同一元一样,先看数据分布:


可以看到年龄与年薪呈明显的正相关,且有明显的线性关系,同样做工龄*年薪,教育程度*年薪的散点图,可以得到同样的结论,

我们使用数据分析工具来做回归方程(操作方法同一元),我们直接解读结果:


从结果来看:方程:年薪=-44632.8+2303.837*年龄+1952.72*工龄+8052.969*教育程度 效果非常好。

如果你只是为了做预测,模型检验到这里就可以了,但如果你要解释模型,并从稳健的角度出发,我们还要看一下模型的先验条件及模型检验:

1.方程是否符合现实逻辑

例如:我们认为随着年龄的增长,年薪也会更高,所以年龄的系数2303.837必须为正数。

2.计量经济检验(共线性、异方差、自相关)

比如:我认为年龄和工龄可能存在自相关(两者的相关系数为0.87),那么我们就需要做一下检验


以上,为Excel的操作,实现起来非常简单,方便,如果你需要更专业的模型和检验,推荐使用R,请见《一元(多元)线性回归分析之R语言实现》。

如有不正之处还请大家指出,如有更好的建议也请不吝赐教,也欢迎大家多多推荐,谢谢。

注:本文所用数据集,公众号后台回复回归分析”获取!




 大家都在看 

2017年R语言发展报告(国内)

R语言中文社区历史文章整理(作者篇)

R语言中文社区历史文章整理(类型篇)


公众号后台回复关键字即可学习

回复 R                  R语言快速入门及数据挖掘 
回复 Kaggle案例  Kaggle十大案例精讲(连载中)
回复 文本挖掘      手把手教你做文本挖掘
回复 可视化          R语言可视化在商务场景中的应用 
回复 大数据         大数据系列免费视频教程 
回复 量化投资      张丹教你如何用R语言量化投资 
回复 用户画像      京东大数据,揭秘用户画像
回复 数据挖掘     常用数据挖掘算法原理解释与应用
回复 机器学习     人工智能系列之机器学习与实践
回复 爬虫            R语言爬虫实战案例分享

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存