LINEST 函数
本文介绍Microsoft Office Excel 中LINEST 函数(函数:函数是预先编写的公式,可以对一个或多个值执行运算,并返回一个或多个值。函数可以简化和缩短工作表中的公式,尤其在用公式执行很长或复杂的计算时。)的公式语法和用法。有关绘制图表和执行回归分析的详细信息,请点击“请参阅”部分中的链接。
说明
LINEST 函数可通过使用最小二乘法计算与现有数据最佳拟合的直线,来计算某直线的统计值,然后返回描述此直线的数组。也可以将LINEST 与其他函数结合使用来计算未知参数中其他类型的线性模型的统计值,包括多项式、对数、指数和幂级数。因为此函数返回数值数组,所以必须以数组公式的形式输入。请按照本文中的示例使用此函数。
直线的公式为:
y = mx + b
- 或-
y = m1x1 + m2x2 + ... + b(如果有多个区域的x 值)
其中,因变量y 是自变量x 的函数值。m 值是与每个x 值相对应的系数,b 为常量。注意,y、x 和m 可以是向量。LINEST 函数返回的数组为{mn,mn-1,...,m1,b}。LINEST 函数还可返回附加回归统计值。
语法
excel公式不显示结果LINEST(known_y's, [known_x's], [const], [stats])
LINEST 函数语法具有以下参数(参数:为操作、事件、方法、属性、函数或过程提供信息的值。):
∙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 值。有关如何计算r2 的信息,请参阅本主题下文中的“说明”。
sey Y 估计值的标准误差。
F F 统计或F 观察值。使用F 统计可以判断因变量和自变量之间是否偶尔发生过可观察到的关系。
df 自由度。用于在统计表上查F 临界值。将从表中查得的值与LINEST 函数返回的F 统计值进行比较可确定模型的置信区间。
有关如何计算df 的信息,请参阅本主题下文中的“说明”。示例4说明了F 和df 的用法。
ssreg 回归平方和。
ssresid 残差平方和。有关如何计算ssreg 和ssresid 的信息,请参阅本主题下文中的“说明”。
下面的图示显示了附加回归统计值返回的顺序。
说明
∙可以使用斜率和y 轴截距描述任何直线:
斜率(m):
通常记为m,如果需要计算斜率,则选取直线上的两点,(x1,y1) 和(x2,y2);斜率等于(y2 - y1)/(x2 - x1)。
Y 轴截距(b):
通常记为b,直线的y 轴的截距为直线通过y 轴时与y 轴交点的数值。
直线的公式为y = mx + b。如果知道了m 和 b 的值,将y 或x 的值代入公式就可计算出直线上
的任意一点。还可以使用TREND 函数。
∙当只有一个自变量x 时,可直接利用下面公式得到斜率和y 轴截距值:
斜率:
=INDEX(LINEST(known_y's,known_x's),1)
Y 轴截距:
=INDEX(LINEST(known_y's,known_x's),2)
∙数据的离散程度决定了LINEST 函数计算的直线的精确度。数据越接近线性,LINEST 模型就越精确。
LINEST 函数使用最小二乘法来判定数据的最佳拟合。当只有一个自变量x 时,m 和 b 是根据下面的公式计算出的:
其中,x 和y 是样本平均值;即,x = AVERAGE(known x's),y = AVERAGE(known_y's)。
∙直线和曲线拟合函数LINEST 和LOGEST 可用来计算与给定数据拟合程度最高的直线或指数曲线,但需要判断两者中哪一个与数据拟合程度最高。可以用函数TREND(known_y's,known_x's) 来计算直线,或用函数GROW TH(known_y's, known_x's) 来计算指数曲线。这些不带new_x's 参数的函数可在实际数据点
上根据直线或曲线来返回y 预测值的数组,然后可以将预测值与实际值进行比较。可能需要用图表方式来直观地比较二者。
∙回归分析时,Excel 会计算每一点的y 的估计值和实际值的平方差。这些平方差之和称为残差平方和(ssresid)。然后Excel 会计算总平方和(sstotal)。当参数const = TRUE 或被省略时,总平方和是y 的实际值和平均值的平方差之和。当参数const = FALSE 时,总平方和是y 的实际值的平方和(不需要从每个y 值中减去平均值)。回归平方和(ssreg) 可通过公式ssreg = sstotal - ssresid 计算出来。残差平方和与总平方和的比值越小,判定系数r2 的值就越大,r2 是用来判断从回归分析求得的公式是否足以说明变量之
间关系的指示器。r2 = ssreg/sstotal。
∙在某些情况下,一个或多个X 列可能没有出现在其他X 列中的附加预测值(假设Y's 和X's 位于列中)。
换句话说,删除一个或多个X 列可能会得到同样精度的y 预测值。在这种情况下,应从回归模型中省略这些多余的X 列。这种现象被称为“共线”,因为任何多余的X 列都可被表示为多个非多余X 列的和。
LINEST 函数会检查是否存在共线,并在识别出多余的X 列之后从回归模型中删除所有这些列。由于包含
0 系数以及0 se 数值,因此已删除的X 列能在LINEST 输出中被识别出来。如果一个或多个多余的列
被删除,则将影响df,原因是df 取决于实际用于预测目的的X 列的数量。有关计算df 的详细信息,请参阅示例4。如果由于删除多余的X 列而更改了df,则也会影响sey 和 F 的值。实际上,出现共线的情况应该相对很少。但是,如果某些X 列仅包含0 和 1 数值作为实验中的对象是否属于特定组成员的指示器,则很可能引起共线。如果const = TRUE 或被省略,则LINEST 函数可有效地插入所有 1 数值的其他X 列以便为截距建立模型。如果在一列中,1 对应于每个男性对象,0 对应于女性对象;而在另一列中,1 对应于每个女性对象,0 对应于男性对象,那么后一列就是多余的,因为其中的项可通过从所有 1 值的另一列(通过LINEST 函数添加)中减去“男性指示器”列中的项来获得。
∙在没有X 列因共线而被从模型中删除时,请用以下方法计算df 的值:如果known_x’s 有k 列且const = TRUE 或被省略,那么df = n – k – 1。如果const = FALSE,那么df = n - k。在这两种情况下,每次由于共线而删除一个X 列都会使df 的值加1。
∙对于返回结果为数组的公式,必须以数组公式的形式输入。
∙当输入一个数组常量(如known_x's)作为参数时,请使用逗号分隔同一行中的各值,使用分号分隔各行。
分隔符可能会因“控制面板”的“区域和语言选项”中区域设置的不同而有所不同。
∙注意,如果y 的回归分析预测值超出了用来计算公式的y 值的范围,它们可能是无效的。
∙LINEST 函数中使用的下层算法与SLOPE 和INTERCEPT 函数中使用的下层算法不同。当数据未定且共线时,这些算法之间的差异会导致不同的结果。例如,如果参数known_y's 的数据点为0,参数known_x's 的数据点为1:
LINEST 会返回值0。LINEST 函数的算法用来返回共线数据的合理结果,在这种情况下至少可到一个答案。
SLOPE 和INTERCEPT 会返回错误#DIV/0!。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
可以调整此公式以计算其他类型的回归,但是在某些情况下,需要调整输出值和其他统计值。
示例 1
斜率和Y 轴截距
如果将示例复制到一个空白工作表中,可能会更容易理解该示例。
如何复制示例?
∙选择本文中的示例。
不要选择行或列标题。
从“帮助”中选择示例
∙按Ctrl+C。
∙在Excel 中,创建一个空白工作簿或工作表。
∙在工作表中,选择单元格A1,然后按Ctrl+V。
若要使该示例能够正常工作,必须将其粘贴到工作表的单元格A1 中。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论