【发布时间】:2017-06-27 10:43:01
【问题描述】:
我正在尝试手动计算 DFFITS。获得的值应该等于dffits函数获得的第一个值。但是我自己的计算肯定有问题。
attach(cars)
x1 <- lm(speed ~ dist, data = cars) # all observations
x2 <- lm(speed ~ dist, data = cars[-1,]) # without first obs
x <- model.matrix(speed ~ dist) # x matrix
h <- diag(x%*%solve(crossprod(x))%*%t(x)) # hat values
num_dffits <- x1$fitted.values[1] - x2$fitted.values[1] #Numerator
denom_dffits <- sqrt(anova(x2)$`Mean Sq`[2]*h[1]) #Denominator
df_fits <- num_dffits/denom_dffits #DFFITS
dffits(x1)[1] # DFFITS function
【问题讨论】:
-
在分子中,它是所有观测值的第一个拟合值与没有第一个观测值的第一个拟合值之间的差异。在分母中,它是没有第一次观察的拟合值的方差的平方根。
标签: r regression linear-regression lm