利用EXCEL函数LINEST进行统计学中的回归分析
文章来源:实战统计学
作者:梁斌炜
本文介绍统计学中的一元和多元线性回归,并通过EXCEL自带的统计函数LINEST、INDEX进行手工计算,再通过EXCEL数据分析工具包进行自动计算。
由于很多复杂的EXCEL自动化程序,需要用到自动化计算,EXCEL数据分析工具并不适用自动计算,反而EXCEL统计函数是很容易实现批量自动计算。
所以本文重点介绍EXCEL统计函数的使用。
一、统计学上的线性回归原理
回归是研究一个随机变量y对另一个(x)或一组(x1,x2,…,xn)变量的相依关系的统计分析方法。其中y又叫因变量,x叫自变量。
简单的记忆方法:x是自身可以变动的,y是因为x的变化而变化的,就不会把自变量和因变量的意义搞乱。
线性回归是自变量与因变量之间是线性关系的回归。
一般来说,因变量只有一个,自变量会有一个或多个。下面就按因变量的数量及类别为分:一元线性回归、多元线性回归。
二、一元线性回归
一元线性回归是指一个因变量y只与一个自变量x有相关关系,通过公式可以表示为如下图:
其中a称为斜率,b称为截距。
它的意思是当x增减一个单位时,y会同样增减a个单位的x,如a=2时,x增加一个单位,y就增加2个单位x。
通过EXCEL统计函数LINEST来实现一元线性回归分析,在EXCEL的A1到B10输入如下数据:
x | y |
---|---|
1.1 | 200 |
1.9 | 245 |
2.5 | 367 |
4 | 400 |
4.5 | 550 |
5 | 540 |
5.9 | 667 |
7 | 770 |
1 | 210 |
使用LINEST线性回归函数进行手工计算。
LINEST函数可通过使用最小二乘法计算与现有数据最佳拟合的直线,来计算某直线的统计值,然后返回描述此直线的数组。
也可以将 LINEST 与其他函数结合使用来计算未知参数中其他类型的线性模型的统计值,包括多项式、对数、指数和幂级数。因为此函数返回数值数组,所以必须以数组公式的形式输入。
三、LINEST语法
LINEST(known_y’s, [known_x’s], [const], [stats])
Known_y’s 必需。关系表达式 y = mx + b 中已知的 y 值集合。如果 known_y’s 对应的单元格区域在单独一列中,则 known_x’s 的每一列被视为一个独立的变量。如果 known_y’s 对应的单元格区域在单独一行中,则 known_x’s 的每一行被视为一个独立的变量。
Known_x’s 可选。关系表达式 y = mx + b 中已知的 x 值集合。known_x’s 对应的单元格区域可以包含一组或多组变量。如果仅使用一个变量,那么只要 known_y’s 和 known_x’s 具有相同的维数,则它们可以是任何形状的区域。如果使用多个变量,则 known_y’s 必须为向量(即必须为一行或一列)。如果省略 known_x’s,则假设该数组为 {1,2,3,…}, 其大小与 known_y’s 相同。
const 可选。一个逻辑值,用于指定是否将常量 b 强制设为 0。如果 const 为 TRUE 或被省略,b 将按通常方式计算。如果 const 为 FALSE,b 将被设为 0,并同时调整 m 值使 y = mx。
stats 可选。一个逻辑值,用于指定是否返回附加回归统计值。如果 stats 为 TRUE,则 LINEST 函数返回附加回归统计值,这时返回的数组为 {mn,mn-1,…,m1,b;sen,sen-1,…,se1,seb;r2,sey;F,df;ssreg,ssresid}。如果 stats 为 FALSE 或被省略,LINEST 函数只返回系数 m 和常量 b。
附加回归统计值如下:
统计值 | 说明 |
---|---|
se1,se2,,sen | 系数 m1,m2,…,mn 的标准误差值。 |
seb | 常量 b 的标准误差值(当 const 为 FALSE 时,seb = #N/A)。 |
r2 | 判定系数。y 的估计值与实际值之比,范围在 0 到 1 之间。如果为 1,则样本有很好的相关性,y 的估计值与实际值之间没有差别。相反,如果判定系数为 0,则回归公式不能用来预测 y 值。 |
sey | Y 估计值的标准误差。 |
F | F 统计或 F 观察值。使用 F 统计可以判断因变量和自变量之间是否偶尔发生过可观察到的关系。 |
df | 自由度。用于在统计表上查找 F 临界值。将从表中查得的值与 LINEST 函数返回的 F 统计值进行比较可确定模型的置信区间。有关如何计算 df 的信息,请参阅本主题下文中的“说明”。 |
ssreg | 回归平方和。 |
ssresid | 残差平方和。 |
下面的图示显示了附加回归统计值返回的顺序。
在任意单元格中输入=LINEST(B2:B10,A2:A10,TRUE,TRUE),计算得出来的结果为94.33。Linest函数直接计算,返回的是第一个自变量的系数,LINEST返回的是一个数组,即上述的图表。
如果要通过EXCEL数组来实现这种功能。选定A14:B18,在EXCEL地址栏输入=LINEST(B2:B10,A2:A10,TRUE,TRUE),然后同时按CTRL+SHIFT+ENTER,返回一个表格,表格中的每个单元格的公式显示为:{=LINEST(B2:B10,A2:A10,TRUE,TRUE)}
94.34 | 93.92 |
6.20 | 25.89 |
0.97 | 37.62 |
231.78 | 7 |
328,061.71 | 9,907.85 |
对应上表及上述的图,解释上表的各个参数的意义。
94.34就是x的系数a,
93.92为截距b,
6.2为x的系数a的标准误差值,
25.89为截距(常量)b的标准误差值,
0.97为相关系数,
37.62为y估计值的标准误差,
231.78为F统计值
7为自由度,
328061.71为回归平方和,
9907.85为残差平方和。
上述返回的统计值,最常用的是自变量的系数a和常量b,如果在EXCEL自动化程序中,很少会用上述的返回一个表格的方式,因为LINEST返回的是一个数组,可以通过index函数取得数组中的每一个值。
x的系数a可以在任意单元格式输入=INDEX(LINEST(B2:B10,A2:A10,TRUE,TRUE),1,1),截距b可以在任意单元格式输入=INDEX(LINEST(B2:B10,A2:A10,TRUE,TRUE),1,2),index函数第一个参数是指定一个数组,第二和第三个参数是指定返回的行列位置。
所以上述的一元线性回归的拟合直线函数为y=94.34x+93.92,相关系数为0.97。
四、多元线性回归
多元线性回归是指一个因变量y只与多个自变量x有线性相关关系,通过公式可以表示为如下图:
a为每个自变量对因变量y的影响因素,我们以二元线性回归为例,用EXCEL函数LINEST进行分析。数据如下,填充在EXCEL的A1:C10中。
x1 | x2 | y |
---|---|---|
4 | 1.1 | 200 |
7 | 1.9 | 245 |
11 | 2.5 | 367 |
14 | 4 | 400 |
19 | 4.5 | 550 |
22 | 5 | 540 |
22 | 5.9 | 667 |
25 | 7 | 770 |
5 | 1 | 210 |
选定A14:C18,在地址栏中输入=LINEST(C2:C10,A2:B10,TRUE,TRUE),按CTRL+SHIFT+ENTER,返回一个表格,表格中的每个单元格的公式显示为:{=LINEST(C2:C10,A2:B10,TRUE,TRUE)},如下表:
69.17 | 6.88 | 87.37 |
34.05 | 9.14 | 28.11 |
0.9732 | 38.84 | #N/A |
109.00 | 6.00 | #N/A |
328,916.50 | 9,053.05 | #N/A |
此表格和一元线性回归的表格一样,只是多了一列,因为多了一个自变量。多出一列的内容是另一个自变量的系数和它的标准误差值。同样可以通过用INDEX函数取得数据的每一个值。根据上表可以得到拟合的线性回归函数y=69.17×1+6.88×2+87.37
五、用EXCEL数据分析工具进行回归分析
接下来通过EXCEL数据分析工具实现上述一元线性回归分析的计算,并可以验证上述的计算过程。如果你的EXCEL中找不到数据分析,请先为EXCEL添加数据分析工具的加载宏。
选中A1:B10,打开数据分析,选中“回归”后,点击“确定”按钮。
按下图填写好自变量X、因变量Y的区域A1:A10,B1:B10,选择“标志”,意思是说表格中包括有表头字段,填写输出区域A26,点击“确定”后即可。
结果如下,可以清晰的看到用LINEST计算出来的结果与数据分析工具分析得到的结果是一样的。
下载LINEST回归分析EXCEL例子文件
http://www.statr.cn/wp-content/uploads/2012/07/%E7%BA%BF%E6%80%A7%E5%9B%9E%E5%BD%92.xls
近期推荐阅读:
【1】整理了我开始分享学习笔记到现在超过250篇优质文章,涵盖数据分析、爬虫、机器学习等方面,别再说不知道该从哪开始,实战哪里找了【2】【终篇】Pandas中文官方文档:基础用法6(含1-5)如果你觉得文章不错的话,分享、收藏、在看、留言666是对老表的最大支持。
利用EXCEL函数LINEST进行统计学中的回归分析相关推荐
- 小工具,大作用:教你如何利用EXCEL函数LINEST做回归分析
前言 本文介绍统计学中的一元和多元线性回归,并通过EXCEL自带的统计函数LINEST.INDEX进行手工计算,再通过EXCEL数据分析工具包进行自动计算. 由于很多复杂的EXCEL自动化程序,需要用 ...
- html提取excel指定单元格数据,如何利用Excel函数公式快速提取出单元格中指定的数据...
在我们的日常工作中,Excel单元格中数据的提取是我们日常操作中常用且实用的功能,学会它你就可以攻克很多的难题,数据的批量处理将不再是问题,例如再Excel表单元格中有这么一串数据[520我爱你13y ...
- 利用Excel函数多角度计算个人所得税
新个税征收方法已与2011年9月1日起施行,但计算方法变更改后,有关这方面的计算方法在网络论坛上讨论较多,但在新旧交替时期正误混杂,新人难以分辨.在现实中根本就找不到这方面的经典计算方法,ExcelH ...
- 利用Excel自带的数据分析工具进行回归分析
该方法使用的是Excel自带加载项的回归分析工具.之所以利用Excel只是因为它的操作比较简单,自带的VBA很方便.不用涉及其他的代码操作. 回归分析通过对一组观察值使用"最小二乘法&quo ...
- excel函数去重_Excel 2010中去除重复项的几种常用技巧
在工作中使用Excel 2010时,经常会有需要在对原始记录清单进行整理时,剔除其中一些重复项.接下来本文就来讲解下Excel 2010中去除重复项的几种常用技巧. 所谓的重复项,通常是指在Excel ...
- Excel函数 - 提取固定字符中的文字
Excel列中有固定的字符文本,想将其中的文字内容提取出来,我们可以用MID和SEARCH搭配来实现. 比如样例文本中作者想提取 "测试[" 和 "]编号"中间 ...
- 利用Excel函数对 重复数据进行编号解决方法
效果要求: 问题描述: 根据不同的类别(含重复数据)进行不同的编号排序,如上图所示 用法: sumproduct 在Sumproduct函数的适用范围,在给定的几组数组中,然后把数组间对应的元素相乘, ...
- 利用To_Char()函数从Oracle时间中分别提取年月日时分秒
转自:https://blog.csdn.net/yhrch/article/details/1791418 TO_CHAR('2007-1-2','yyyy')转换结果为"2007&quo ...
- 计算机中函数vlookup怎么用,教您使用excel函数vlookup
excel函数vlookup在工作中等到了广泛应用,能够用来核对数据,对表于表之间的数据快速查找以及核对起到很重要的作用,在这里小编给大家分享一些Vlookup函数的基础操作,大家可以学习一下. 我们 ...
最新文章
- Linux LVM逻辑卷配置过程详解
- webpack 最简打包结果分析
- 超强NLP思维导图,知识点全面覆盖:从基础概念到最佳模型,萌新成长必备资源...
- ngx_lua_API 指令详解(一)ngx.timer.at 指令
- 为Java + STANDARD值引入Cucumber
- oracle定时加载文件,采用sqlldr定时将文本文件加载进入数据库
- android dialogfragment 简单,使用DialogFragment
- EMCA创建em资料库时报错
- MATLAB手写数字识别
- LayaBox---TypeScript---基础数据类型
- 新南威尔士大学计算机博士申请,2020年新南威尔士大学博士申请时间
- Java日期——获取今天是星期几
- 如何搭建Bugzilla
- 纯CSS3写的10个不同的酷炫图片遮罩层效果【转】
- 互联网创业的准备——架构
- 如果你有一台超级计算机_你会用它来做什么?
- 学军OJ题解——诸葛的理想
- K8s第七篇授权认证
- K_A04_001 基于单片机驱动LCD1602字符滚动显示(8位并行+IIC通信)
- 怎样用计算机进入手机驱动程序,一加手机驱动怎么样 一加手机驱动手动安装【图文教程】...
热门文章
- Flutter支付宝支付
- cncert网络安全周报35期 境内被植入后门的政府网站112个 环比上涨24.4%
- Linux Cgroup cpu子系统实验
- linux数据库管理工具
- Unexpected Exception caught setting '' on 'class com.: Error setting expression '' with value ['', ]
- 谈谈如何通过需求文档产生工作排期
- Java Scaner小问题
- JAVA计算机毕业设计晨光文具店进销存系统设计与开发计算机(附源码、数据库)
- 网站APP游戏被入侵渗透破解该怎么解决
- matlab 延迟算子,时间序列分析-----2---时间序列预处理