Per quanto ne so, la differenza tra il modello logistico e il modello di risposta frazionaria (frm) è che la variabile dipendente (Y) in cui frm è [0,1], ma la logistica è {0, 1}. Inoltre, frm utilizza lo stimatore di quasi-verosimiglianza per determinare i suoi parametri.
Normalmente, possiamo usare glm
per ottenere i modelli logistici da glm(y ~ x1+x2, data = dat, family = binomial(logit))
.
Per prima cosa, cambiamo family = binomial(logit)
in family = quasibinomial(logit)
.
Ho notato che possiamo anche usare family = binomial(logit)
per ottenere il parametro di frm poiché fornisce gli stessi valori stimati. Vedi il seguente esempio
library(foreign)
mydata <- read.dta("k401.dta")
glm.bin <- glm(prate ~ mrate + age + sole + totemp, data = mydata
,family = binomial('logit'))
summary(glm.bin)
ritorno,
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
E per family = quasibinomial('logit')
,
glm.quasi <- glm(prate ~ mrate + age + sole + totemp, data = mydata
,family = quasibinomial('logit'))
summary(glm.quasi)
ritorno,
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
La beta stimata da entrambi family
è la stessa, ma la differenza è i valori SE. Tuttavia, per ottenere la SE corretta, dobbiamo usare library(sandwich)
come in questo post .
Ora, le mie domande:
- Qual è la differenza tra questi due codici?
- Frm sta per ottenere una solida SE?
Se la mia comprensione non è corretta, ti preghiamo di dare alcuni suggerimenti.