Tam*_*ams 9 excel graph curve-fitting excel-formula least-squares
Excel为对的值集生成散点图.它还提供了为趋势线生成最佳拟合趋势线和公式的选项.它还产生气泡图,其考虑了每个值提供的重量.但是,权重对趋势线或公式没有影响.以下是一组示例值及其映射和权重.
Value Map Weight
0 1 10
1 2 10
2 5 10
3 5 20
4 6 20
5 1 1
Run Code Online (Sandbox Code Playgroud)
使用Excel的趋势线,值5的映射对公式有太大影响.有没有办法生成反映各自权重的公式?
作为帮助,我引入了连续五个值的加权平均值.但他们是更好的方式吗?
lor*_*i_m 13
使用A2:C7中的数据,基于标准加权最小二乘公式,您可以尝试:
=LINEST(B2:B7*C2:C7^0.5,IF({1,0},1,A2:A7)*C2:C7^0.5,0)
Run Code Online (Sandbox Code Playgroud)
在E2:F2或任何2x1范围内使用CTRL + SHIFT + ENTER输入.这也返回{1.1353,1.4412}.
对于Rsquared,您可以输入:
=INDEX(LINEST((B2:B7-SUM(B2:B7*C2:C7)/SUM(C2:C7))*C2:C7^0.5,IF({1,0},1,A2:A7)*C2:C7^0.5,0,1),3,1)
Run Code Online (Sandbox Code Playgroud)
公式说明
首先考虑使用LINEST对X进行正态回归.如果const = TRUE,则回归矩阵是由一列1后跟回归列组成的增广矩阵,即X'=(1,X).如果const = FALSE,则回归矩阵只是X,因此运行带有一列包含的回归的回归给出与没有一列1并且设置const = TRUE的运行相同的估计.
现在考虑加权最小二乘回归.回归现在是WX上的Wy'=(W1,WX),其中W是由权重的平方根组成的对角矩阵.由于没有列的列,我们必须设置const = FALSE并在回归矩阵中使用两列.
Rsquared计算
在我们在第三和第五行中获得的第一个公式的LINEST输出中将stats设置为TRUE:
SSres = 59.76
SSreg(u) = 1461.24
SSTot(u) = 1521
Rsq(u) = 1 - 59.76/1521 = 0.9607
Run Code Online (Sandbox Code Playgroud)
注意这些值是未中心版本(u),因为const = FALSE(有关详细信息,请参阅LINEST上的MS帮助.)对于居中版本(c),我们需要减去加权平均值,如下所示:
SSTot(c) =SUMPRODUCT(C2:C7*(B2:B7-SUM(B2:B7*C2:C7)/SUM(C2:C7))^2) = 244.93
Rsq(c) = 1 - 59.76/244.93 = 0.756
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19285 次 |
| 最近记录: |