Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • RIF decomposition using Dr.Fernando Rios-Avila's package- why the overall changes is different from descriptive results?

    Hello everyone! I am using the RIF decomposition method to analyze the changes in household consumption between 2011 and 2013 and between 2011 and 2015. I decompose on the mean, Q30, Q50, Q70, and Q90. So I have two comparisons:
    Comparison 2011 VS 2013 2011 VS 2015
    Group 1 2011 2011
    Group 2 2013 2015
    I found a strange result that I do not know how to interpret.

    Step 1: I described the mean/Q30-Q90 of 2011, 2013, and 2015. Therefore, I can also calculate the change (2011-2013) and (2011-2015) on mean/Q30-Q90. I employed sample weighting.

    Step 2: I used RIF decomposition to decompose the changes from 2011 to 2013 and from 2011 to 2015. The RIF decomposition reported the value in group 1 (2011), group 2 (2013 or 2015), and the overall changes (2013-2011; 2015-2011). I found:

    (1) for the mean, the group 1 and group 2 values are exactly the same as what were reported in the descriptive analysis.
    (2) But for Q30-Q90, the values of Group 1 and Group 2 are different from what was reported in the descriptive analysis. The value of group 1 (2011) is even different in comparison 1 (2011 vs 2013) and comparison 2 (2011 vs 2015). I am using the same sample and survey weights as step 1.

    One answer in my mind is- for quantile statistics, the calculation of RIF is based on its density. So the variations in distribution and density across years make the decomposition results not the same as my descriptive results. This answer make sense to me since the strange results did not occur regarding the mean. But I do not know if this is the right answer. I found a few publications using RIF decomposition also reported inconsistent results with descriptive results.

    Could someone please help me understand the reason? Appreciate all your help!

    I am attaching my code here:

    Code:
    global      stat mean q(30) q(50) q(70) q(90)  
    
    foreach     var of global stat {
    xi: oaxaca_rif consumption var1 var2 var3 var4 var5 i.var6 i.var7 [pw=weight] if year==2011|year==2013, rif(`var') by(year) swap w(0) robust
    xi: oaxaca_rif consumption var1 var2 var3 var4 var5 i.var6 i.var7 [pw=weight] if year==2011|year==2015, rif(`var') by(year) swap w(0) robust
    }
    Last edited by Bingqing GUO; 20 Jun 2025, 21:55.

  • #2
    There is a small difference between rif quantiles and stata quantile estimation
    look in the helpfile, or simply try q3(##)
    it uses a slightly different recenter option

    Comment

    Working...
    X