2017-08-23 8 views
3

Je suis en train de calculer Intervalles de confiance pour modèles zéro gonflés qui ont été mis en place à l'aide de la fonction zeroinfl()R: prévoir() pour le modèle zéro-gonflé ne retourne pas se.fit

Si je les calculer à partir d'un modèle linéaire ou GLM en utilisant la fonction

predict(glm, newdata, type = "response", se.fit = TRUE) 

il fonctionne très bien et renvoie des valeurs pour un ajustement $, se.fit de $, $ df et residual.scale de $ (je ne sais pas ce que le les deux derniers résultats signifient - des précisions sont également très appréciées).

Cependant, quand je remplace le glm par un modèle à gonflage nul, je n'ai que les valeurs de $ fit.

Voici un exemple: (je ne sais pas comment utiliser set.seed - donc ne me blâmez pas que)

set.seed(123) 
a <- data.frame(participant = c(1:10), 
       activity = c(round(abs(rnorm(10)))), 
       METmin = c(round(abs(rnorm(10)))), 
       Var4 = c(round(abs(rnorm(10)))), 
       Var5 = c(round(abs(rnorm(10))))) 

b <- data.frame(participant = c(1:10), 
        activity = c(round(abs(rnorm(10)))), 
        METmin = c(round(abs(rnorm(10)))), 
        Var4 = c(round(abs(rnorm(10)))), 
        Var5 = c(round(abs(rnorm(10))))) 
identical(a,b) #FALSE 
model <- zeroinfl(METmin~activity + Var4 + Var5, data = a) 
predict(model, newdata = b, type = "response", se.fit = T) 

Est-ce que quelqu'un sait ce qui se passe mal et comment je peux calculer ces erreurs standard?

Merci beaucoup.

+0

@MrFlick J'ai modifié la question ci-dessus. – fabha

+0

$ df signifie degrés de liberté. Je ne suis pas familier avec residual.scale, cependant les résidus sont généralement tracés pour voir si elle est dispersée au hasard autour de y = 0. De https://stat.ethz.ch/R-manual/R-devel/library/stats/html/predict.glm.html, le $ residual.scale produit un scalaire donnant la racine carrée de la dispersion utilisée dans le calcul du erreurs standard. – user108363

Répondre

1

Malheureusement, la méthode predict() pour zeroinfl (et hurdle) objets ne pas un argument se.fit pour le moment. Si vous voulez explorer cela, vous devrez soit utiliser les méthodes de Monte Carlo (en puisant dans la distribution des estimations de coefficient), soit voir si la méthode zeroinfl dans le package lsmeans peut être exploitée pour vos besoins.