R中glm(y~x,family=poisson(link=log))的残差(XX)和XX$残差之差
我正在执行以下程序R中glm(y~x,family=poisson(link=log))的残差(XX)和XX$残差之差,r,R,我正在执行以下程序glm(y~x,family=poisson(link=log))。我无法理解残差(XX)和XX$residuals之间的区别。我想知道残差(XX)和XX$残差来自哪里,以及与偏差的关系。请给我一些建议 x<-c(1,2,3,4) y<-c(2,3,7,6) r<-glm(y~x,family=poisson(link="log")) #Call: glm(formula = y ~ x, family = poisson(link = "log")) #C
glm(y~x,family=poisson(link=log))
。我无法理解残差(XX)
和XX$residuals
之间的区别。我想知道残差(XX)
和XX$残差
来自哪里,以及与偏差的关系。请给我一些建议
x<-c(1,2,3,4)
y<-c(2,3,7,6)
r<-glm(y~x,family=poisson(link="log"))
#Call: glm(formula = y ~ x, family = poisson(link = "log"))
#Coefficients:
#(Intercept) x
# 0.4978 0.3691
#Degrees of Freedom: 3 Total (i.e. Null); 2 Residual
#Null Deviance: 3.961
#Residual Deviance: 1.064 AIC: 18.13
deviance(r)# [1] 1.063829
sum(residuals(r)^2)# [1] 1.063829
residuals(r)# -0.2530074 -0.2434844 0.8533358 -0.4608144
sum(r$residuals^2)# [1] 0.234646
r$residuals# -0.1594713 -0.1283418 0.4061298 -0.1667391
x谢谢。我明白了
残差(r)=残差(x,type=“偏差”)
方法
r$残差=残差(x,type=“working”)
提示:看看stats::residuals.glm
帮助(关于相关函数)是最好的开始。
residuals(r)# -0.2530074 -0.2434844 0.8533358 -0.4608144
residuals(r,type="deviance")# -0.2530074 -0.2434844 0.8533358 -0.4608144
mu<-r$fitted# 2.379455 3.441716 4.978203 7.200626
poisson.dev<-function(y,mu) 2*(y*log(ifelse(y==0,1,y/mu))-(y-mu))
sqrt(poisson.dev(y,r$fitted))*ifelse(r$fitted<y,1,-1)# -0.2530074 -0.2434844 0.8533358
deviance(r)# [1] 1.063829
sum(residuals(r)^2)# [1] 1.063829
r$residuals#-0.1594713 -0.1283418 0.4061298 -0.1667391
residuals(r,type="working")#-0.1594713 -0.1283418 0.4061298 -0.1667391
(y-r$fitted)/r$fitted#-0.1594713 -0.1283418 0.4061298 -0.1667391