#------------------------------------------------------------------------------------------# # Comandos: # fit.model = ajuste # attach(dados) # source("diag_cook_gama_dglm_disp") #------------------------------------------------------------------------------------------# X = model.matrix(fit.model) n = nrow(X) p = ncol(X) Z=X library(dglm) mu = fitted(fit.model) resp = fit.model$y fi = fitted(fit.model$dispersion) fi = 1/fi p = fi*(fi*trigamma(fi) - 1) P = diag(p) R = solve(t(Z)%*%P%*%Z) R = sqrt(P)%*%Z%*%R%*%t(Z)%*%sqrt(P) r = diag(R) t = log(resp/mu) - resp/mu t1 = t + 1 + log(fi) - digamma(fi) tt = t1/sqrt((1-r)*(trigamma(fi) - 1/fi)) # di = (r/(1-r))*(tt^2) # # Reta de corte com 3 desvios padrao plot(di,xlab="Indice", ylab="Distancia de Cook", pch=16,cex=2, cex.axis=1.5, cex.lab=1.5) cut = mean(di) + 3*sd(di) abline(cut,0,lty=2,lwd=2) # Comando a ser acionado sendo n o numero de pontos destacados # identify(di, n=1, cex=2) #------------------------------------------------------------------------------------------#