库克的Beta后退距离

问题描述

我手动计算了库克的距离,并使用带有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