问题描述
我手动计算了库克的距离,并使用带有Beta回归的cooks.distance函数,得到了两个不同的结果。有人可以帮我理解为什么吗?
下面是我计算库克距离的方法:
require(betareg)
df<-data("ReadingSkills")
y<-ReadingSkills$accuracy
n<-length(y)
bfit<-betareg(accuracy ~ dyslexia + iq,data = ReadingSkills)
yhat<-fitted(bfit)
cook<-cooks.distance(bfit)
hatv<-hatvalues(bfit)
res<-residuals(bfit,type = "response")
RHS<-hatv/(1-hatv)
s23<-var(res)###
p23<-res^2/s23
Response<-(1/2)*p23*RHS
cbind(Response,cook)
如此处How to manually calculate Cook's distance所述,尽管有3
,我还是尝试了2
,但还是有同样的问题。
预先感谢您的帮助!
解决方法
这里的主要问题是残差的类型。我当时使用的是Response residual
,但是betareg
的软件包中却使用了Pearson residual
。