LOST-STATS / lost-stats.github.io

Source code for the Library of Statistical Techniques
https://lost-stats.github.io/
GNU General Public License v2.0
257 stars 166 forks source link

DiD Event Study Code in Python Interactions in the Wrong Order #195

Open sbecon opened 1 year ago

sbecon commented 1 year ago

The diff-in-diff event study code in Python generate the interactions in the wrong order INX_0, INX_1, INX_10, INX_11, INX_12, ... instead of INX_0, INX_1, INX_2, ... INX_11, ...

The resulting figure also has evidence of this Unknown-2

I think the best place to reorder these variables in the df is right before running the regression, but I have been getting tripped up with the factors.union line.

NickCH-K commented 1 year ago

Hmm, shoot! Could you do a PR for this?

sbecon commented 1 year ago

I haven't figured out how to fix it, Nick! Any ideas?

pmx-chen commented 1 year ago

should be res = res.reindex(range(res.index.min(), res.index.max()+1)).fillna(0) when reindex the results.

Btw, the 'time_to_treat' has reverse sign: I suppose that '_nfd' is the treatment year, it shoudl be


    df['year'].sub(df['_nfd'])
        # missing values for _nfd implies no treatment
        .fillna(0)
        # so we don't have decimals in our factor names
        .astype('int'))```
pmx-chen commented 1 year ago

image