使用Excel和python来做回归分析

作者:PHPYuan 时间:2018-08-01 03:40:50

聊完方差分析,就不得不说回归分析。

回归分析是一种应用广泛的统计分析方法,在金融,医学等领域都已经成功应用,而且是比较简单也比较常用的算法了,是经得起考验的,结果解读也很友好。

这次我们就先以最常见的Excel表格来做回归分析,Excel表格的功能远比我们想的强大(一般的回归分析,只要是数据量不是很大,Excel完全可以搞得定,而且上手十分容易,不需要一行代码,就可以轻松搞定)

一般是利用最小二乘法来计算出回归模型的参数值。但是得到的回归方程到底有没有统计学意义,还需要对回归方程进行各种检验,主要是回归方程显著性检验,回归系数显著性检验,残差分析等。

数据集:波士顿房价数据

波士顿房价数据已被用于许多涉及回归问题的机器学习论文中,所有我们拿这个成熟的数据集来预测房价练练手!数据如下:

CRIM 城镇人均犯罪率

ZN 占地面积超过2.5万平方英尺的住宅用地比例

INDUS 城镇非零售业务地区的比例

CHAS 查尔斯河虚拟变量 (= 1 如果土地在河边;否则是0)

NOX 一氧化氮浓度(每1000万份)

RM 平均每居民房数

AGE 在1940年之前建成的所有者占用单位的比例

DIS 与五个波士顿就业中心的加权距离

RAD 辐射状公路的可达性指数

TAX 每10,000美元的全额物业税率

PTRATIO 城镇师生比例

B 1000(Bk - 0.63)^2 其中 Bk 是城镇的黑人比例

LSTAT 人口中地位较低人群的百分数

MEDV 以1000美元计算的自有住房的中位数

做回归分析前,先看下特征的相关性,如下:注:Excel内置的相关系数是pearson相关系数

好像和价格的相关性都差不多,那我们做一个回归拟合看看,Excel界面如下:

得到结果如下:

残差图

特征残差拟合图注:回归方程的显著性检验是F检验也就是方差分析,回归方程系数检验是T检验

结果说明:

1,回归统计:R Square表示拟合度,就是方程对数据的拟合程度,当然是越大越好,此时为0.74

2,方差分析:F=108.057,这个F是啥?是F统计量,回归方程的显著性检验是用的F检验,sig F=6.9468E-135 <0.05,所有这个方程是显著的,有意义的!

3,回归系数coefficient显著性,看T——Start值,看特征对于的P值,如图:特征INDUS,AGE对应的T统计量均小于1,P值大于0.05,说明这两个系数与y(price)的线性关系不显著,不应该保留在回归方程中,也可以再结合特征残差拟合图来看一下特征的有效性

看来得把这两个线性关系不显著的特征去掉之后再重新做回归!

这一次的回归方程和回归系数都有显著性,但是这个R Square=0.740545,好像和不剔除变量没什么差别,甚至还小一点,这就有点尴尬了。

整体的方程拟合度才0.74,效果不是很好。

我们用python来做一下看看

首先来筛选特征,有两种方法SelectKBest和f_regression注:f_regression 是单因素线性回归F检验,SelectKBest方法可以调用检验方法,如:卡方检验chi2,还有针对分类的方差分析的f_classif,当然也可以调用f_regression方法,还可以选择前k个分数较高的特征,去掉其他的特征。所以这个方法更强大,推荐使用这个。

结果如下:

这两种方法得到的结果一样,对应的特征的P值都小于0.05,没法去掉一些特征再注:目前python提供的有方差分析,卡方检验的方法,但是一直没有发现T检验的方法。可能是因为T检验其实也算是一种F检验的缘故吧,至于是不是因为这,我也不知道,这只是我猜的!但是用Excel做的时候即使去掉两个不显著的特征,好像对回归结果没有什么大的影响,所有在python中干脆都显著了,

数据分成训练集和测试集,通过在训练集和测试集上的得分对比来判断是否过拟合还是欠拟合,可以直接得到回归系数和截距,如下如:

从结果看,回归方程的拟合度在0.73左右,和用Excel做的差不多,没有提高,反而略微降低了。

绘制交叉验证预测图

从结果看,拟合的并不是很好。

后记:

结合Excel和python做的回归方程拟合度都是在0.74左右,效果只能是一般,看来得换一种方法来做。

我们接下来准备用K近邻回归算法来做预测。

分享到:

<< 上一篇:Java高级学习教程,免费领取,助你涨高新 (2018-08-01 03:40)

python与excel结合-使用Excel和python来做回归分析相关推荐

  1. excel计算二元线性回归_分享一个用用Excel做回归分析

    Excel数据分析工具库是个很强大的工具,可以满足基本的统计分析,这里介绍用Excel数据分析工具库中的回归做回归分析. 本节知识点: Excel数据分析工具库-回归 线性回归和非线性回归 简单线性回 ...

  2. excel计算二元线性回归_用Excel做回归分析

    Excel数据分析工具库是个很强大的工具,可以满足基本的统计分析,这里介绍用Excel数据分析工具库中的回归做回归分析. 本节知识点: Excel数据分析工具库-回归 线性回归和非线性回归 简单线性回 ...

  3. 用Excel做回归分析

    Excel数据分析工具库是个很强大的工具,可以满足基本的统计分析,这里介绍用Excel数据分析工具库中的回归做回归分析.本文仅作为学习笔记之用,欢迎各位交流指正. 本节知识点: Excel数据分析工具 ...

  4. python excel增加一列_(用Python修改excel中一列数据)python新增一列

    python怎么从excel中读取数据? ⒈ #import παέτο import xlrd #Ρύθμι διαδρής path='C:\\Users\\jyjh\\Desktop\\data ...

  5. python怎样在已有excel文件指定行写入-Python中使用第三方库xlrd来写入Excel文件示例...

    继上一篇文章使用xlrd来读Excel之后,这一篇文章就来介绍下,如何来写Excel,写Excel我们需要使用第三方库xlwt,和xlrd一样,xlrd表示read xls,xlwt表示write x ...

  6. python与excel的应用-Python 3 读取和存储Excel数据(应用到接口测试)

    1.利用cmd命令安装第三方库 openpyxl 同时支持读写操作,支持的Excel是以.xlsx结尾的文件. 命令: pip install openpyxl [命令:pip install req ...

  7. python导入excel数据-如何把python中的数据导入excel

    python将数据导入excel的方法:1.在python官网下载xlrd第三方库:2.利用xlrd中的open_workbook函数读入excel文件,即可在python中导入excel数据. 一. ...

  8. python导入excel文件-python使用xlrd模块读写Excel文件的方法

    本文实例讲述了python使用xlrd模块读写Excel文件的方法.分享给大家供大家参考.具体如下: 一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi ...

  9. python导入excel数据-Python数据处理之导入导出excel数据

    欢迎点击上方"AntDream"关注我 .Python的一大应用就是数据分析了,而数据分析中,经常碰到需要处理Excel数据的情况.这里做一个Python处理Excel数据的总结, ...

最新文章

  1. Java Hashmap:如何从价值中获取关键?
  2. jq获取img高度(动态生成的image高度为0原因)
  3. python线程唤醒_Python 并发编程(一)之线程
  4. SAP Fiori和Vue的结合会给企业级应用软件的UI开发带来什么?
  5. Go语言出现后,Java还是最佳选择吗?
  6. influxdb连续查询CQ和保留策略RP
  7. Python爬虫_数据存储
  8. PHP中return的用法
  9. script标签的加载解析执行
  10. Java开发设计——UML类图
  11. Java基础:Lambda表达式
  12. Audio Jungle超级音效库精选影视片头【10月18日更新】
  13. 关于Delphi7中日期函数StrtoDate的正确用法 win7报错
  14. html表白网页 音乐,html表白网页源码_表白篇_网页播放无声
  15. temp的作用c语言,temp的使用
  16. node-red与西门子PLC通信
  17. 基础数据类型补充 set集合 深浅拷贝
  18. Opencv3.4中使用SURF等算法使用错误的解决方法
  19. 自己是一滩烂泥,却恨铁不成钢
  20. 环信 “和未来有约”移动IM新时代分享沙龙——做最开源的即时通讯云平台

热门文章

  1. python 从url中提取域名和path
  2. 吃CPU的openmp 程序
  3. 三个大数据处理框架:Storm,Spark和Samza 介绍比较
  4. 解决navicate 连接mysql数据库中文乱码的问题
  5. jquery中一些容易忽略的方法
  6. 用gcc gvim编译程序
  7. 祝福我的朋友们五一玩的开心!
  8. Java开发环境配置——Tomcat
  9. 奇淫异巧之 PHP 后门
  10. java double类型保留两位小数4种方法