Pour autant que je sache, la différence entre le modèle logistique et le modèle de réponse fractionnaire (frm) est que la variable dépendante (Y) dans laquelle frm est [0,1], mais la logistique est {0, 1}. De plus, frm utilise l'estimateur de quasi-vraisemblance pour déterminer ses paramètres.
Normalement, nous pouvons utiliser glmpour obtenir les modèles logistiques par glm(y ~ x1+x2, data = dat, family = binomial(logit)).
Pour frm, nous passons family = binomial(logit)à family = quasibinomial(logit).
J'ai remarqué que nous pouvons également utiliser family = binomial(logit)pour obtenir le paramètre de frm car il donne les mêmes valeurs estimées. Voir l'exemple suivant
library(foreign)
mydata <- read.dta("k401.dta")
glm.bin <- glm(prate ~ mrate + age + sole + totemp, data = mydata
,family = binomial('logit'))
summary(glm.bin)
revenir,
Call:
glm(formula = prate ~ mrate + age + sole + totemp, family = binomial("logit"),
data = mydata)
Deviance Residuals:
Min 1Q Median 3Q Max
-3.1214 -0.1979 0.2059 0.4486 0.9146
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 1.074e+00 8.869e-02 12.110 < 2e-16 ***
mrate 5.734e-01 9.011e-02 6.364 1.97e-10 ***
age 3.089e-02 5.832e-03 5.297 1.17e-07 ***
sole 3.636e-01 9.491e-02 3.831 0.000128 ***
totemp -5.780e-06 2.207e-06 -2.619 0.008814 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1166.6 on 4733 degrees of freedom
Residual deviance: 1023.7 on 4729 degrees of freedom
AIC: 1997.6
Number of Fisher Scoring iterations: 6
Et pour family = quasibinomial('logit'),
glm.quasi <- glm(prate ~ mrate + age + sole + totemp, data = mydata
,family = quasibinomial('logit'))
summary(glm.quasi)
revenir,
Call:
glm(formula = prate ~ mrate + age + sole + totemp, family = quasibinomial("logit"),
data = mydata)
Deviance Residuals:
Min 1Q Median 3Q Max
-3.1214 -0.1979 0.2059 0.4486 0.9146
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.074e+00 4.788e-02 22.435 < 2e-16 ***
mrate 5.734e-01 4.864e-02 11.789 < 2e-16 ***
age 3.089e-02 3.148e-03 9.814 < 2e-16 ***
sole 3.636e-01 5.123e-02 7.097 1.46e-12 ***
totemp -5.780e-06 1.191e-06 -4.852 1.26e-06 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for quasibinomial family taken to be 0.2913876)
Null deviance: 1166.6 on 4733 degrees of freedom
Residual deviance: 1023.7 on 4729 degrees of freedom
AIC: NA
Number of Fisher Scoring iterations: 6
Les Beta estimés des deux familysont les mêmes, mais la différence réside dans les valeurs SE. Cependant, pour obtenir la SE correcte, nous devons utiliser library(sandwich)comme dans ce post .
Maintenant, mes questions:
- Quelle est la différence entre ces deux codes?
- Frm est-il sur le point d'obtenir une SE robuste?
Si ma compréhension n'est pas correcte, veuillez donner quelques suggestions.