我正在尝试使用python找到学生化和PRESS残差的多元回归模型。在这种情况下,我有以下数据:如何在多元线性回归模型中找到学生化和PRESS残差
X1 X2 Y
14 25 301
19 32 327
12 22 246
11 15 187
与拟合模型为:Y = 80.93-5.84 X1 + X2 11.32和MSresidual:574.9 我写了下面的代码,以找到那些残留物。
import math
def lin_model(X1, X2):
Y_hat = 80.93 - 5.84 * X1 + 11.32 * X2
return Y_hat
MSresiduals = 574.9
X1 = [14, 19, 12, 11]
X2 = [25, 32, 22, 15]
Y=[301, 327, 246, 187]
i=0
hii = 0
print('Residual Standardized_Residual Studentized_Residual PRESS_Residual')
for z in Y:
err = z - lin_model(X1[i],X2[i])
sd_r = err/math.sqrt(MSresiduals)
st_r = err/math.sqrt(MSresiduals * (1 - hii))
press_r = err/(1-hii)
print(err,' ',sd_r,' ', st_r,' ',press_r)
i+=1
但HII值是不知道我。 hii是帽子矩阵的对角元素。但我无法弄清楚如何实现帽子矩阵并获得hii的价值。有人请帮助我从给定的数据中找出hii的值,以便我可以使用代码中的上述公式计算studentized和Press residual。这里st_r被studentized,press_r是PRESS残差。我不想使用任何python库。提前致谢。