Excel 为成对值集生成散点图。它还提供了生成最适合趋势线和趋势线公式的选项。它还生成气泡图,其中考虑了每个值提供的权重。然而,权重对趋势线或公式没有影响。以下是一组示例值及其映射和权重。
Value Map Weight
0 1 10
1 2 10
2 5 10
3 5 20
4 6 20
5 1 1
对于Excel的趋势线,值5的映射对公式的影响太大。有没有办法生成反射(reflect)各自权重的公式?
作为帮助,我引入了五个连续值的加权平均值。但他们是更好的方法吗?
最佳答案
根据A2:C7中的数据,根据标准加权最小二乘公式,您可以尝试:
=LINEST(B2:B7*C2:C7^0.5,IF({1,0},1,A2:A7)*C2:C7^0.5,0)
使用 CTRL+SHIFT+ENTER 在 E2:F2 或任何 2x1 范围内输入。这也会返回 {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)
公式解释
首先考虑使用 LINEST 进行 y 在 X 上的正态回归。如果 const = TRUE,则回归矩阵是由一列 1 和后跟回归列组成的增广矩阵,即 X'=(1,X)。如果 const = FALSE,回归矩阵就是 X,因此包含一列 1 的情况下运行回归得到的估计值与不包含 1 列并设置 const=TRUE 的情况下运行回归的估计值相同。
现在考虑加权最小二乘回归。现在的回归是 WX'=(W1,WX) 上的 Wy,其中 W 是由权重平方根组成的对角矩阵。由于不存在一列,因此我们必须设置 const = FALSE 并在回归矩阵中使用两列。
R平方计算
在第三行和第五行中得到的第一个公式的 LINEST 输出中将统计信息设置为 TRUE:
SSres = 59.76
SSreg(u) = 1461.24
SSTot(u) = 1521
Rsq(u) = 1 - 59.76/1521 = 0.9607
请注意,由于 const=FALSE,这些值是未居中的版本 (u)(有关详细信息,请参阅 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
关于excel - 加权趋势线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11087773/