Używam lfe i fixest do uruchamiania regresji ze stałymi efektami o dużych wymiarach. W przypadku tych regresji chciałbym grupować standardowe błędy według kilku wymiarów (np. Produktu, miejsca docelowego i czasu). Jednak jestem zdezorientowany o składni i różnicach między poleceniami felm i feols. Czy grupowanie w poniższych dwóch modelach byłoby równoważne?

EDYCJA: Uruchomiłem oba modele i stwierdziłem, że m2 ma większe błędy standardowe niż m1.

m1 <- felm(y ~ x1+ x2 | fe1 + fe2|0|product + destination + time, data=df) #with lfe package summary(m1) m2 <- feols(y ~ x1+ x2 | fe1 + fe2, data=df) #with fixest package summary(m2, cluster=~product + destination + time) 

Komentarze

  • Może spróbuj i zobacz? Jeśli uzyskasz inne wyniki, zmień to w swoim pytaniu.

Odpowiedź

Właściwie nie ma jednego sposobu obliczyć błędy standardowe. Sposób ich obliczania w fixest i ich porównanie z lfe wyjaśniono w tym winieta .

Było również kilka ( drobnych ) błędów w SE w fixest wersji < 0.6.0, dzięki czemu SE wyglądają nieco inaczej.

Oto porównanie związane z Twoim przykładem z danymi zabawki:

library(fixest) ; library(lfe) data(trade) est_felm = felm(log(Euros) ~ log(dist_km) | Origin + Destination | 0 | Origin + Destination + Year, trade) est_feols = feols(log(Euros) ~ log(dist_km) | Origin + Destination, trade) # Same SEs but different p-values coeftable(est_felm) #> Estimate Cluster s.e. t value Pr(>|t|) #> log(dist_km) -2.072132 0.1516212 -13.66651 2.525297e-07 coeftable(est_feols, cluster = ~ Origin + Destination + Year) #> Estimate Std. Error t value Pr(>|t|) #> log(dist_km) -2.072132 0.1516212 -13.66651 2.024366e-42 # Same SEs and p-values (t.df is explained in the vignette) coeftable(est_feols, cluster = ~ Origin + Destination + Year, dof = dof(t.df = "min")) #> Estimate Std. Error t value Pr(>|t|) #> log(dist_km) -2.072132 0.1516212 -13.66651 2.525297e-07 

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *