LINEST函数通过使用"最小二乘"方法来计算最适合您的数据的直线,然后计算该直线的统计信息,然后返回描述该直线的数组。
您还可以将LINEST与其他函数结合使用,以计算在未知参数(包括多项式,对数,指数和幂级数)中线性的其他类型模型的统计信息。
由于此函数返回值数组,因此必须将其作为数组公式输入。
LINEST (known_y's, [known_x's], [const], [stats])
Argument | 描述 | Required/Optional |
---|---|---|
known_y's | 在关系y = mx + b中已经知道的y值集合。 如果known_y的范围在单个列中,则known_x的每一列都被解释为一个单独的变量。 如果known_y的范围包含在单个行中,则known_x的每一行都被解释为一个单独的变量。 | Required |
known_x's | 您可能已经在关系y = mx + b中知道了一组x值。 known_x的范围可以包括一组或多组变量。 如果仅使用一个变量,则已知_y和已知_x可以是任何形状的范围,只要它们具有相等的尺寸即可。 如果使用多个变量,则known_y必须是一个向量(即,一个高度为一行或宽度为一列的范围)。 如果省略了known_x,则假定其为数组{1,2,3,...},其大小与known_y相同。 | Optional |
const | 一个逻辑值,指定是否强制常数b等于0。 如果const为TRUE或省略,则b将正常计算。 如果const为FALSE,则将b设置为等于0,并调整m值以适合y = mx。 | Optional |
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。额外的回归统计量如下表所示。 | Optional |
Sr.No | Statistic & 描述 |
---|---|
1 | SE1,SE2,...,你 系数m1,m2,...,mn的标准误差值。 |
2 | seb 常数b的标准误差值(当const为FALSE时,seb =#N/A)。 |
3 | r2 确定系数。比较估计的y值和实际的y值,值的范围从0到1。如果值为1,则样本中存在完美的相关性-估计的y值与实际y值之间没有差异。在另一个极端,如果确定系数为0,则回归方程对预测y值无帮助。有关如何计算r2的信息,请参见下面的注释。 |
4 | 塞西 y估算值的标准误差。 |
5 | F F统计量或F观测值。使用F统计量确定因变量和自变量之间的观察关系是否偶然发生。 |
6 | df 自由度。使用自由度可帮助您在统计表中查找F临界值。将您在表中找到的值与LINEST返回的F统计信息进行比较,以确定模型的置信度。有关如何计算df的信息,请参见下面的注释。 |
7 | ssreg 回归平方和。 |
8 | ssreg 残差平方和。有关如何计算ssreg和ssresid的信息,请参见下面的注释。 |
直线的等式是-
y = mx + b
或
y = m1x1 + m2x2 + ... + b
如果存在多个x值范围,其中从属y值是独立x值的函数,则-
m值是与每个x值相对应的系数,b是常数。
请注意,y,x和m可以是向量。
LINEST函数返回的数组为{mn,mn-1…m1,b}。
LINEST还可以返回其他回归统计数据
您可以用斜率和y截距-来描述任何直线-
坡度(m)-
要查找通常以m表示的直线斜率,请在直线上取两个点(x1,y1)和(x2,y2)。斜率等于
(– 2-y1)/(– 2-x1)。
Y轴截距(b)-
一条线的y截距(通常写为b)是该线与y轴相交的点处的y值。
直线的等式是y = mx + b。一旦知道m和b的值,就可以通过将y或x值插入该方程来计算线上的任何点。您还可以使用趋势功能。
如果只有一个独立的x变量,则可以使用以下公式直接获得斜率和yintercept值-
坡度-
=索引(LINEST(known_y,known_x),1)
Y轴截距-
=索引(LINEST(known_y,known_x),2)
由LINEST函数计算的行的准确性取决于数据中的分散程度。数据越线性,LINEST模型就越精确。
LINEST使用最小二乘法确定最适合数据的方法。当您只有一个独立的x变量时,m和b的计算基于以下公式-
$$m = \frac {\sum \left(x- \bar {x} \right)\left(y- \bar {y} \right)} {\sum \left(x- \bar { x} \right)^ 2} $$
其中x和y是样本均值。即
x =平均(已知x)
y =平均(known_y)
直线和曲线拟合功能LINEST和LOGEST可以计算出适合您数据的最佳直线或指数曲线。但是,您必须确定两个输出中的哪一个最适合您的数据。您可以计算直线的趋势(已知_y,已知_x),或计算指数曲线的增长(已知_y,已知_x)。这些函数在不省略known_x参数的情况下,会返回沿该线或曲线在实际数据点处预测的y值数组。然后,您可以将预测值与实际值进行比较。您可能希望将它们都绘制成图表以进行视觉比较。
在回归分析中,Excel为每个点计算该点估计的y值与其实际y值之间的平方差。这些平方差之和称为残差平方和ssresid。然后,Excel计算总的平方和,以stotal为单位。当const参数= TRUE或被省略时,平方总和就是实际y值与y值的平均值之间的平方差之和。
当const参数= FALSE时,平方总和是实际y值的平方和(不从每个y值中减去平均y值)。然后可以从以下公式中找到平方和的回归和:ssreg = sstotal-ssresid。残差平方和与平方和之和越小,确定系数r2的值越大,这是回归分析得出的方程式解释变量之间关系的指标。 r2的值等于ssreg/stotal。
在某些情况下,如果存在其他X列,则X列中的一个或多个(假设Y和X在列中)可能没有其他预测值。即,消除一个或多个X列可能会导致预测的Y值同样准确。在那种情况下,这些多余的X列应从回归模型中省略。这种现象称为"共线性",因为任何冗余X列都可以表示为非冗余X列的倍数之和。
LINEST函数检查共线性,并在识别它们时从回归模型中删除所有多余的X列。删除的X列可以在LINEST输出中识别为除0 se值外还有0个系数。如果将一个或多个列作为冗余删除,则df会受到影响,因为df取决于实际用于预测目的的X列数。
如果由于删除了多余的X列而更改了df,则sey和F的值也会受到影响。共线性在实践中应该很少见。但是,更有可能出现的一种情况是某些X列仅包含0和1值作为指示实验中的受试者是否是特定组的成员的指标。如果const = TRUE或被省略,则LINEST函数有效地插入所有1个值的附加X列以对截距进行建模
当有k列known_x的列且由于共线性而没有从模型中删除X列时,df的值计算如下-
如果const = TRUE或被省略,则df = n – k – 1
如果const = FALSE,则df = n – k
在这两种情况下,由于共线性而被删除的每个X列都会使df值增加1。
在输入数组常量(如known_x)作为参数时,请使用逗号分隔同一行中包含的值,并使用分号分隔行。分隔符可能会有所不同,具体取决于您的区域设置。
请注意,如果回归方程预测的y值超出了您用来确定方程的y值范围,则可能无效。
LINEST函数中使用的基础算法与SLOPE和INTERCEPT函数中使用的基础算法不同。当数据不确定且共线时,这些算法之间的差异可能导致不同的输出。
除了使用LOGEST计算其他回归类型的统计信息外,您还可以使用LINEST通过输入x和y变量的函数作为LINEST的x和y系列来计算其他回归类型的范围。如,以下公式-
= LINEST(yvalues,xvalues ^ COLUMN($A:$C))
当您具有一列y值和一列x值来计算-的三次(多项式3的多项式)近似时,可以使用
y = m1 * x + m2 * x ^ 2 + m3 * x * 3 + b
您可以调整此公式以计算其他类型的回归,但是在某些情况下,它需要调整输出值和其他统计信息。
LINEST函数返回的F测试值不同于FTEST函数返回的F测试值。 LINEST返回F统计量,而FTEST返回概率。
如果known_x的数组长度与known_y的数组长度不同,则LINEST返回#REF!错误值。
如果提供的known_x或known_y数组中的任何值都不是数字(这可能包括数字的文本表示,因为LINEST函数无法将它们识别为数字),LINEST会返回#VALUE!错误值。
如果const或stats参数中的任何一个都不能判断为TRUE或FALSE,则LINEST将返回#VALUE!错误值。
Excel 2007,Excel 2010,Excel 2013,Excel 2016
这一章《JavaScript - LINEST 函数》你学到了什么?在下面做个笔记吧!做站不易,你的分享是对我们最大的支持
HarmonyOS快速入门与实战 -〔QCon+案例研习社 - 9讲〕
Tony Bai · Go语言第一课 -〔Tony Bai - 56讲〕