作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试手动计算 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
最佳答案
你的分子是错误的。由于您已从第二个模型中删除第一个数据,因此相应的预测值不在 fitted(x2)
中。我们需要使用 predict(x2, cars[1, ])
代替 fitted(x2)[1]
。
帽子值可以通过以下方式有效计算
h <- rowSums(qr.Q(x1$qr) ^ 2)
或者使用它的 R 包装函数
h <- hat(x1$qr, FALSE)
R 也有一个获取帽子值的通用函数:
h <- lm.influence(x1, FALSE)$hat
或其包装函数
h <- hatvalues(x1)
您也不必调用 anova
来获取 MSE:
c(crossprod(x2$residuals)) / x2$df.residual
关于r - 计算 DFFITS 作为回归中杠杆和影响的诊断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44778302/
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
在拟合线性回归后,我正在寻找影响统计数据。在 R 中,我可以像这样获得它们(例如): hatvalues(fitted_model) #hatvalues (leverage) cooks.dista
我是一名优秀的程序员,十分优秀!