Announcement

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

  • Unconditional Quantile Regression

    Hi all,

    I have a question regarding how to run unconditional quantile regression in Stata.
    I want to estimate the effect of training on-the-job on wages to identify whether training participation could reduce wage inequalities.
    I therefore cannot run a conditional quantile regression as it only identifies the effect of training by quantile and does not allow to identify the effect of training on the entire wage distribution.
    I could not find much information online about how to run it; therefore I am unsure about what to do.
    I use the command "rifreg" provided by Firpo, Fortin and Lemieux (2009).
    I then run (simple model without control variables):
    rifreg wage training , q(.25 .50 .75)
    Are the estimates provided from this command already the effects of training on the wage distribution?

    Any help and suggestion is most welcome.
    Many thanks in advance,
    Rossella




  • #2
    Hi Rossella,
    First, In future questions dont forget to include the full reference to the paper, not just the authors last names and the years.
    Second, Yes, when you run a RIF regression, either mean variance gini quintile, The results can be interpreted directly, as the expected value of the dependent variable is the statistic of interest. So you are kind of getting the avg effect of what would happen if the distribution "moves" toward a change of the independent variable. In this example, the coefficient of training would be how larger, or smaller, is the wage gap between trained and untrained workers in the 75th percentile.
    Just a word of caution on the wording when you make the actual interpretation of the results.
    Hope this helps
    Fernando

    Comment


    • #3
      I think that Rossella is trying to estimate a quantile treatment effect.

      Typing

      Code:
      . findit poparms
      in Stata will reveal how to download the poparms command designed to estimate mean and quantile parameters of the potential-outcome distributions.

      poparms implements an inverse-probability-weighted (IPW) and a double-robust efficient-influence function estimator. (I believe that the command you mentioned only
      implements the IPW estimator, which Firpo, Fortin, and Lemieux derived in their Econometrica article (http://onlinelibrary.wiley.com/doi/1...A6822/abstract).

      The methods underlying the poparms command were discussed in http://www.stata-journal.com/article...article=st0303 and were originally derived in http://www-personal.umich.edu/~catta...o_2010_JoE.pdf .

      --David
      [email protected]

      Comment


      • #4
        Thanks David,
        And for clarifications. The Rifreg command doesnt implement the IPW estimator. It rather uses the Recenter influence function to estimate the "average" effect of a variable X into the distributional statistic of Y. Thanks for the reference into poparms. I havent used that particular command before, but have done something similar based on "Decomposing Wage distributions using Recentered Influence functions Regressions (http://goo.gl/iw9Aax ).
        From the abstract from poparms, I think both have the same underlying idea.
        Thanks again for the reference.
        Fernando

        Comment


        • #5
          Thank you for the comments! I am trying to estimate the model by unconditional quantile regression. The command rifreg seems no longer available. Instead there is a suggested xtrifreg. I don't really work with a panel, but with repeated cross-sections. Will the results be different when I use xtrifreg? and how do I perform two-way clustered standard errors?

          Thank you in advance!

          Elya

          Comment


          • #6
            The command is still available at http://faculty.arts.ubc.ca/nfortin/datahead.html
            xtrifreg is an addon that came available in stata last year if i remember correctly, which is simply the application of RIFreg in the pannel setting. Rifreg doesnt allow for a two way clustered standard errors, but after you obtain the RIFfunctions (check on RIF reg options), you can use that as your dependent variable and use any command that estimates a twoway clustered standard errors.
            HTH
            Fernando

            Comment


            • #7
              Dear FernandoRios
              Sorry to revive this old discussion, but I was wondering about standard errors for RIF-transformed outcome variables in non-standard settings and came across this thread.
              Can you explain why it is ok to just use the RIF functions as dependent variable with some other regression command, and still trust the standard errors? After looking at Firpo et al (2009) it seems to me that the approach for deriving the asymptotic variance is non-standard, and in particular one needs to take into account that we are estimating the quantile and densities in order to derive the RIF dependent variable - and this will have implications for the standard errors on our RIF regression coefficients.

              Have I misunderstood something here?

              Thank you.

              Oliver

              Comment


              • #8
                Hi Oliver
                you are correct. Because the estimation for the quantile rifs requires to estimate densities and quantiles in a first stage process, FFL recommends to use bootstrap procedure to get the right standard errors.
                If you use the Rifreg command from Fortin s website, bootstrap can be done by simply adding the bootstrap prefix
                bootstrap, reps(100): rifreg wage age educ, q(25)

                You may also want to check a new program I uploaded to sac called Oaxaca_rif . It comes with a egen program extension to create the rifs for a larger set of statistics
                hope this helps

                Comment


                • #9
                  I should add that for other statistics, like entropy or Atkinson index or variance, what I have read is that you do not really need added correction
                  look for influence function in action online, and that may give you the references you may need

                  Comment


                  • #10
                    Dear all,
                    I'm just posting to this thread to avoid overlapping. I'm facing difficulties in performing a coeffcient equality test across the different quantiles after running rifreg.
                    the simple test command does not work.

                    Any suggestions?

                    Thanks

                    Comment


                    • #11
                      I should add that for other statistics, like entropy or Atkinson index or variance, what I have read is that you do not really need added correction
                      look for influence function in action online, and that may give you the references you may need.

                      Comment


                      • #12
                        I would suggest one of two options
                        a) do the same thing sqreg does and construct a bootstrap procedure that estimates all the quantiles you are interested in and saves the result in a single beta vector.
                        b) if the interest is comparing coefficients across two quintiles only, then use the interquartile rif instead
                        the coefficients will be the differences of the original coefficients
                        for the second option you would need to create the appropriate Rifs
                        as part of the oaxaca_rif I included an extension to create rifs for various variables using the egen syntaxis
                        Fernando

                        Comment


                        • #13
                          I am trying to run an unconditional quantile regression but having three challenges
                          1. With the rifreg command I get a response that the command is not recognized by stata. I do not know how to proceed because I already installed the rif command by "ssc install rif"

                          2. With the rifhdreg and rifsureg commands, every time I execute the same command i get a differents result when i include with boostraping. can you advise how I can do bootstraping and get constant results /consistent.
                          I am using these codes below;
                          bootstrap, reps(200): rifhdreg EReliancy lcroparea lhhassetd lTLU HHsize educHHH agehead agehead2 lmarket incentives skills i.subcounty, rif(q(25))
                          bootstrap, reps(100): rifsureg EReliancy lcroparea lhhassetd lTLU HHsize educHHH agehead agehead2 lmarket incentives skills i.subcounty, qs(25 50 75 95)

                          3. My third question is, why do the above two commands give me different outcomes


                          Esther

                          Comment


                          • #14
                            Hi Esther
                            the short answers.
                            1. rifreg is not part of RIF. That is the name of the original command written and distributed by FFL, My package -rif- has the alternative command that expands on rifreg which i named rifhdreg.
                            2. If you get different results, I hope that is different results based on standard errors. If you are seeing different results in terms of coefficients, I may need you to send me an email so i can track down the bug.
                            If it is only standard errors, it is because bootstrap is based on random sampling. so you can have to -set seed- to get results that can be replciated
                            For example:

                            bootstrap, reps(100) seed(10):....

                            3. Even if you do that, results will be different when you use rifsureg, because the rifhdreg does 1 regression at a time, whereas rifsureg does many. And each may be introducing an additional random component.

                            Again, if the differences you see is because of standard errors, "Seed" should help. But if its the coefficients, please contact me at my email (you will see it on the help file)

                            Best wishes

                            Comment


                            • #15
                              Dear Fernando,
                              Thank you very much!
                              The bootstrap, reps(100) seed(10):.... works pretty well, and I have two more questions.
                              First, would you advise me the criteria for setting the seed value. For instance you used 10 in the above example. What could inform the decision for setting the seed value.
                              Second, is the rifhdreg command I am using suitable for sufficient unconditional quantile regression model for cross sectional data. Or do I need to do more.

                              Regards

                              Esther


                              Comment

                              Working...
                              X