早上好,
所以我正在做一些多元线性回归,需要显示如何在Excel中做到这一点。
[基本上,我有三列-年龄,体重和身高作为我的x自变量,而腰围是我的y变量。
在R中进行设置,这样我就可以获得系数,因此可以将其插入公式中,并预测年龄,身高和体重但没有腰围的人的腰围:
X <- as.matrix(cbind(1, data$Age, data$Height, data$Weight))
y <- as.matrix(data$WaistCircumference)
beta_hat <- solve(t(X)%*%X)%*%t(X)%*%y
beta_hat
[1]
[1] 100.5429
[2] 0.2136627
[3] 0.7744433
[4] -0.4450378
但是我也想展示如何在Excel中执行此操作。我认为公式应该是这样的(因为我相信R的solve
函数以该形式给出矩阵X的逆矩阵):
{=(MMULT(MMULT(MINVERSE(MMULT(TRANSPOSE(X),X)),TRANSPOSE(X)),Y))}
其中X是与年龄,体重和身高有关的数组,Y是与腰围有关的数组。因此,使用工作表上的单元格看起来像:
{=MMULT(MMULT(MINVERSE(MMULT(TRANSPOSE(A2:C7681),A2:C7681)),TRANSPOSE(A2:C7681)),D2:D7681)}
但是那只给了我3个值,它们是不正确的。也许我的操作顺序有误?我曾尝试过MINVERSE
,因为我认为这可能是我的问题,但这似乎也无法解决。任何帮助,将不胜感激:)
哦,我明白了!您只需要在侧面向下放置一行1,这样您就可以在Excel中获得n x 4的矩阵,那么上面的等式就可以了!对不起,发贴!应该再尝试一件事哈哈