用Excel如何进行最小二乘法的线性拟合?求图解!

2024-11-17 12:57:40
推荐回答(2个)
回答1:

示例 1 斜率和 Y 轴截距
A B
1 已知
y 已知
x
2 1 0
3 9 4
4 5 2
5 6 3
公式 说明(结果)
=LINEST(A2:A5,B2:B5,,FALSE) 返回斜率(2)
=INDEX(LINEST(A2:A5,B2:B5,,FALSE),2) 返回截距(1)
提示 示例中的公式也可以以数组公式输入。在将公式复制到一张空白工作表的A7单元格后,选择以公式单元格开始的区域 A7:B7。按 F2,再按 Ctrl+Shift+Enter。

回答2:

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 函数还可返回附加回归统计值。

语法
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。