我之前使用LINEST对不完整数据集进行线性回归。线程Missing values in MS Excel LINEST, TREND, LOGEST and GROWTH functions给了我所需的所有答案。
我的数据集是:
D E 12 1,23 12,5 1,28 13 1,33 13,5 missing 14 1,41 14,5 1,47 15 1,53 15,5 1,56 16 missing 16,5 1,66 17 1,70 17,5 1,72 18 1,66
使用链接中提到的技巧,我创建了一个带有额外列的新表
A B C 1 12 1,23 1 12,5 1,28 1 13 1,33 0 13,5 0 1 14 1,41 1 14,5 1,47 1 15 1,53 1 15,5 1,56 0 16 0 1 16,5 1,66 1 17 1,70 1 17,5 1,72 1 18 1,66
然后使用公式LINEST(C1:C13; A1:B13; 1; 0)计算y = Ax + B的A和B.
现在我的问题很相似,但这次我需要进行二次回归。 Normaly使用完整的数据集我将使用公式LINEST(E1:E13; D1:D13 ^ {1 \ 2}; 1; 0)创建y = Ax ^ 2 + Bx + C的A,B和Y数组
问题是LINEST似乎不允许我使用与线性回归相同的解决方案,在这种情况下我会使用LINEST(C1:C13; A1:B13 ^ {1 \ 2}; 1; 0),但它不起作用: - (
有人可以帮忙吗?
答案 0 :(得分:1)
第一步是创建一个紧凑的数据列表,而不用缺少:
在 F1 中输入1.
在 F2 中输入:
=IF(E2<>"missing",1+MAX($F$1:F1),"")
并复制下来:
=IFERROR(INDEX(D:D,MATCH(ROW(),$F:$F,0)),"")
=IFERROR(INDEX(E:E,MATCH(ROW(),$F:$F,0)),"")
并将其复制下来:
获取系数:
Y = A * X 2 + B * X + C
(其中 X - 值在列 G Y - 值在列 H )
A 使用:
=INDEX(LINEST(H1:H11,G1:G11^{1,2}),1)
B 使用:
=INDEX(LINEST(H1:H11,G1:G11^{1,2}),1,2)
C 使用:
=INDEX(LINEST(H1:H11,G1:G11^{1,2}),1,3)