sergiocorreia / ppmlhdfe

Poisson pseudo-likelihood regression with multiple levels of fixed effects
http://scorreia.com/software/ppmlhdfe/
MIT License
64 stars 13 forks source link

Importance weights in ppmlhdfe #17

Closed asacarny closed 1 year ago

asacarny commented 1 year ago

Hi @sergiocorreia,

Thanks so much for writing this amazing software! It's made it so much easier and faster to incorporate poisson regression in my work.

I had a question / request: I have been running some linear regressions with propensity score reweighting in reghdfe and I'd like to run equivalent poisson regressions that also incorporate these weights. When I use the poisson or xtpoisson commands, I believe the analog is "importance weights". However, ppmlhdfe does not support iweights. Would it be possible to add support for iweights, or is there some way to replicate iweights in the current program?

This is sort of related to issue #2, but is distinct from it.

Thank you again, Adam Sacarny

sergiocorreia commented 1 year ago

Hi Adam,

Can you just do probability weights as an alternative? The point estimates should be the same in both cases.

Best, Sergio

asacarny commented 1 year ago

That is a great question. I had noticed that they seemed to differ, so I investigated more closely. I ran four regressions: 1) xtset unit; xtpoisson outcome ib3.relyear i.year [iw=weight], fe cluster(unit) 2) ppmlhdfe outcome ib3.relyear [pw=weight], absorb(unit year) cluster(unit) 3) poisson outcome ib3.relyear i.year i.unit [pw=weight], cluster(unit) 4) poisson outcome ib3.relyear i.year i.unit [iw=weight], cluster(unit)

(I'm making event studies, so ib3.relyear are my coefficients of interest)

(2), (3), and (4) produced identical (out to ~7 decimal places) point estimates and standard errors. (1) had the same point estimates but standard errors were a bit more than twice as large. I wonder what xtpoisson with importance weights is doing here.

This suggests to me that you are right, and I should be using ppmlhdfe with pweights. Thanks so much!

Adam

sergiocorreia commented 1 year ago

Great to hear that!

I wonder what xtpoisson with importance weights is doing here.

I wonder the same. help weight says that

iweights, or importance weights, are weights that indicate the "importance" of the observation in some vague sense. iweights have no formal statistical definition; any command that supports iweights will define exactly how they are treated. Usually, they are intended for use by programmers who want to produce a certain computation.

But then help xtpoisson doesn't answer the question, so 🤷