Table of contents
本教程解释了LINEST函数的语法,并展示了如何使用它在Excel中进行线性回归分析。
Microsoft Excel不是一个统计程序,但是它确实有一些统计功能。 其中一个功能是LINEST,它被设计用来进行线性回归分析和返回相关的统计数据。 在这个针对初学者的教程中,我们将只涉及到理论和基本计算。 我们的主要重点是为你提供一个简单的工作公式,并可以很容易地为你的数据定制。
Excel LINEST函数--语法和基本用途
LINEST函数计算解释自变量和一个或多个因变量之间关系的直线的统计数据,并返回一个描述该直线的数组。 该函数使用 最小二乘法 线条的方程如下。
简单的线性回归方程。
y = bx + a多重回归方程。
y = b 1 x 1 + b 2 x 2 + ... + b n x n + a在哪里?
- y - 你试图预测的因变量。
- x - 你用来预测的自变量 y .
- a - 截距(表示直线与Y轴相交的位置)。
- b - 斜率(表示回归线的陡度,即x变化时y的变化率)。
在其基本形式中,LINEST函数返回回归方程的截距(a)和斜率(b)。 作为选择,它还可以返回回归分析的附加统计数据,如本例中所示。
LINEST函数语法
Excel LINEST函数的语法如下。
LINEST(known_y's, [known_x's], [const], [stats])在哪里?
- known_y的 (要求)是因果关系的一个范围 y -通常,它是一个单列或单行。
- known_x的 (可选)是独立的X值的范围。 如果省略,它被假定为与 "1,2,3,... "相同大小的数组。 known_y的 .
- 拘押 (可选) - 一个逻辑值,决定截距(常数)是如何确定的。 a )应予处理。
- 如果是TRUE或省略,常数 a 是正常计算的。
- 如果是FALSE,常数 a 被强制为0,斜率( b 系数)的计算来拟合y=bx。
- 统计数字 (可选)是一个逻辑值,决定是否输出额外的统计数据。
- 如果为 "true",LINEST函数会返回一个包含额外回归统计的数组。
- 如果是FALSE或省略,LINEST只返回截距常数和斜率系数。
注意:由于LINEST返回的是一个数组值,所以必须按Ctrl + Shift + Enter快捷键将其作为数组公式输入。 如果作为普通公式输入,只返回第一个斜率系数。
由LINEST返回的其他统计数据
ǞǞǞ 统计数字 参数设置为TRUE,指示LINEST函数为你的回归分析返回以下统计数据。
统计资料 | 描述 |
坡度系数 | b值在y=bx+a |
截距常数 | y=bx+a中的一个值 |
斜率的标准误差 | b系数的标准误差值。 |
截距的标准误差 | 常数的标准误差值 a . |
决定系数(R2) | 表示回归方程对变量之间关系的解释程度。 |
Y估计值的标准误差 | 显示回归分析的精度。 |
F统计量,或F-观察值 | 它被用来做无效假设的F检验,以确定模型的整体拟合度。 |
自由度(df) | 自由度的数量。 |
回归的平方之和 | 表示因变量的变化有多少是由模型解释的。 |
剩余的平方之和 | 衡量因变量中没有被你的回归模型所解释的方差量。 |
下图显示了LINEST返回统计数组的顺序。
在最后三行中,#N/A错误将出现在第三列和随后没有填入数据的列中。 这是LINEST函数的默认行为,但如果你想隐藏错误符号,请将你的LINEST公式包装成IFERROR,如本例所示。
如何在Excel中使用LINEST--公式示例
LINEST函数使用起来可能比较麻烦,特别是对于新手来说,因为你不仅要正确建立一个公式,还要正确解释它的输出。 下面,你会发现在Excel中使用LINEST公式的几个例子,希望能帮助你沉淀理论知识:)
简单线性回归:计算斜率和截距
为了得到回归线的截距和斜率,你可以使用LINEST函数的最简单形式:提供一个因果关系的范围,以获得 known_y的 参数和一个独立的值的范围,为 known_x的 最后两个参数可以设置为 "真 "或省略。
例如,用 y 在C2:C13中的值(销售数字)和B2:B13中的x值(广告费用),我们的线性回归公式就像这样简单。
=LINEST(C2:C13,B2:B13)
要在工作表中正确输入,选择同一行中相邻的两个单元格,本例中为E2:F2,输入公式,然后按Ctrl + Shift + Enter完成。
该公式将在第一个单元格(E2)中返回斜率系数,在第二个单元格(F2)中返回截距常数。
ǞǞǞ 坡度 大约是0.52(四舍五入到小数点后两位)。 这意味着当 x 增加1。 y 增加了0.52。
ǞǞǞ Y-截距 是负的-4.99。 y 如果绘制在图表上,它是回归线与Y轴交叉的数值。
将上述数值提供给一个简单的线性回归方程,你将得到以下公式,根据广告费用预测销售数量。
y = 0.52*x - 4.99
例如,如果你在广告上花费50美元,你预计会卖出21把雨伞。
0.52*50 - 4.99 = 21.01
斜率和截距值也可以通过使用相应的函数或将LINEST公式嵌套到INDEX中分别获得。
坡度
=SLOPE(C2:C13,B2:B13)
=index(linest(c2:c13,b2:b13),1)
拦截
=intercept(c2:c13,b2:b13)
=index(linest(c2:c13,b2:b13),2)
如下面的截图所示,这三个公式的结果都一样。
多重线性回归:斜率和截距
如果你有两个或更多的自变量,一定要在相邻的列中输入它们,并将整个范围提供给 known_x的 争论。
例如,用销售数字( y D2:D13中的广告费用(一组x值),B2:B13中的广告费用(一组x值)和月平均降雨量(另一组x值)。 x 值)的C2:C13,你用这个公式。
=LINEST(D2:D13,B2:C13)
由于公式将返回3个数值的数组(2个斜率系数和截距常数),我们选择同一行的三个连续单元格,输入公式并按Ctrl + Shift + Enter快捷键。
请注意,多元回归公式返回的是 斜率系数 在 倒序 的自变量(从右到左),也就是b n , b n-1 , ..., b 2 , b 1 :
为了预测销售数量,我们将LINEST公式返回的数值提供给多元回归方程。
y = 0.3*x 2 + 0.19*x 1 - 10.74
例如,在广告上花费50美元,每月平均降雨量为100毫米,预计你将售出约23把雨伞。
0.3*50 + 0.19*100 - 10.74 = 23.26
简单线性回归:预测因变量
除了计算 a 和 b 对于回归方程,Excel的LINEST函数也可以根据已知的自变量(x)来估计因变量(y)。
例如,这里你可以根据前几个月的销售额和10月份50美元的广告预算,计算出下个月,比如说10月份的雨伞销售数量。
=SUM(LINEST(C2:C10, B2:B10)*{50,1})
而不是硬编码 x 在这种情况下,你也需要在某个单元格中输入1常数,因为你不能在数组常数中混合引用和值。
随着 x E2中的值和F2中的常数1,下面的任何一个公式都会很有效。
常规公式(通过按回车键输入)。
=sumproduct(linest(c2:c10, b2:b10)*(e2:f2))
阵列公式(通过按Ctrl + Shift + Enter输入)。
=sum(linest(c2:c10, b2:b10)*(e2:f2))
为了验证结果,你可以得到相同数据的截距和斜率,然后用线性回归公式来计算 y :
=E2*G2+F2
其中E2为斜率,G2为 x 值,而F2是截距。
多重回归:预测因变量
如果你要处理几个预测因子,即几组不同的 x 值,将所有这些预测因素纳入数组常数。 例如,在广告预算为50美元(x 2 ),月平均降雨量为100毫米(x 1 ),该公式如下。
=SUM(LINEST(D2:D10, B2:C10)*{50,100,1})
其中D2:D10是已知的 y 值和B2:C10是两组 x 价值。
请注意以下顺序 x 正如前面所指出的,当Excel LINEST函数被用来做多元回归时,它从右到左返回斜率系数。 在我们的例子中,将 广告 系数首先被返回,然后是 降雨量 为了正确计算预测的销售数字,你需要将系数乘以相应的 x 最后一个元素是1,因为LINEST返回的最后一个值是不应该被改变的截距,所以你只需将其乘以1。
你可以在一些单元格中输入所有的x变量,并在你的公式中引用这些单元格,而不是使用数组常数,就像我们在前面的例子中做的那样。
常规配方。
=sumproduct(linest(d2:d10, b2:c10)*(f2:h2))
阵列公式。
=sum(linest(d2:d10, b2:c10)*(f2:h2))
其中F2和G2是 x 值,H2为1。
LINEST公式:额外的回归统计
你可能还记得,为了获得更多的回归分析的统计数据,你在LINEST函数的最后一个参数中加入TRUE。 应用于我们的样本数据,该公式的形状如下。
=linest(d2:d13, b2:c13, true, true)
由于我们在B列和C列有2个自变量,我们选择一个由3行(两个X值+截距)和5列组成的愤怒,输入上述公式,按Ctrl + Shift + Enter ,得到这个结果。
为了摆脱#N/A错误,你可以像这样将LINEST嵌套到IFERROR中。
=iferror(linest(d2:d13, b2:c13, true, true), "")
下面的截图展示了结果并解释了每个数字的含义。
斜率系数和Y截距在前面的例子中已经解释过了,所以让我们快速看一下其他的统计数据。
决定系数 (R2的值是回归方差之和除以总方差之和的结果。 它告诉你有多少个 y 值的解释是 x 在这个例子中,R2大约是0.97,这意味着我们的因变量(雨伞销售)的97%被自变量(广告+月平均降雨量)所解释,这是一个很好的拟合。
标准误差 一般来说,这些数值显示了回归分析的精确度。 数字越小,你就越能确定你的回归模型。
F统计学 你使用F统计量来支持或拒绝无效假设。 在决定总体结果是否显著时,建议将F统计量与P值结合使用。
自由度 (Excel中的LINEST函数返回的是 剩余自由度 ,也就是 总数 df 减去 回归df 你可以使用自由度来获得统计表中的F临界值,然后将F临界值与F统计量相比较,以确定你的模型的置信度。
回归方差之和 (aka the 解释的方差之和 ,或 模型的方差之和 它是预测的y值与y的平均值之间的平方差之和,用这个公式计算:=∑(ŷ-ȳ)2。 它表明你的回归模型能解释多少因变量的变化。
剩余的平方之和 它是实际Y值和预测Y值之间的平方差的总和。 它表明你的模型不能解释因变量的多少变化。 与总平方差相比,残差平方差越小,你的回归模型就越适合你的数据。
关于LINEST功能,你应该知道的5件事
为了在你的工作表中有效地使用LINEST公式,你可能想知道更多关于该函数的 "内部机制"。
- 已知_y的 和 known_x的 在一个只有一组X变量的简单线性回归模型中。 known_y的 和 known_x的 可以是任何形状的范围,只要它们有相同数量的行和列。 如果你用多于一组独立的 x 变量。 known_y的 必须是一个向量,即一个行或一个列的范围。
- 迫使常数为零 .当 拘押 参数为TRUE或省略,则 a 常数(截距)被计算出来并包含在方程式中:y=bx+a。 拘押 设置为FALSE,截距被视为等于0,并从回归方程中省略:y=bx。
在统计学中,几十年来一直在争论将截距常数强制为0是否有意义。 许多可信的回归分析从业者认为,如果将截距设置为0(const=FALSE)似乎是有用的,那么线性回归本身就是一个错误的数据集模型。 其他人认为,在某些情况下可以将常数强制为0,例如:。一般来说,建议在大多数情况下使用默认的const=TRUE或省略。
- 准确度 由LINEST函数计算的回归方程的准确性取决于你的数据点的分散性。 数据越是线性,LINEST公式的结果就越准确。
- 冗长的X值 在某些情况下,一个或多个独立的 x 这种现象被称为 "勾稽关系"。 Excel的LINEST函数会检查勾稽关系并省略任何多余的变量。 x 它从模型中识别出的变量。 被遗漏的 x 变量可以通过0系数和0标准误差值来识别。
- 直线与坡度和间隔的关系 LINEST函数的基本算法与SLOPE和INTERCEPT函数使用的算法不同。 因此,当源数据不确定或相邻时,这些函数可能返回不同的结果。
Excel的LINEST函数不工作
如果你的LINEST公式出现错误或产生错误的输出,有可能是由于以下原因之一。
- 如果LINEST函数只返回一个数字(斜率系数),很可能你是作为一个普通的公式输入的,而不是一个数组公式。 请确保按下Ctrl + Shift + Enter来正确完成公式。 当你这样做时,公式会被括在公式栏中可见的{大括号}中。
- #REF!错误。 发生在如果 known_x的 和 known_y的 范围有不同的尺寸。
- #VALUE!错误。 发生在如果 known_x的 或 known_y的 含有至少一个空白单元格、文本值或数字的文本表示,而Excel不承认其为数字值。 此外,如果#VALUE错误发生在 拘押 或 统计数字 参数不能被评估为TRUE或FALSE。
这就是如何在Excel中使用LINEST进行简单和多元的线性回归分析。 如果想仔细看看本教程中讨论的公式,欢迎下载我们下面的样本工作簿。 感谢你的阅读,希望下周在我们的博客上见到你!
供下载的实践工作手册
Excel LINEST函数示例(.xlsx文件)。