Announcement

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

  • Quantile regression for panel data

    Hello,

    I would like to run a quantile regression for panel data. I have run the following command and everything looks as it should:

    qregpd yvariable xvariables, id(id) fix(year) optimize(mcmc) noisy draws(1000) burn(100) arate(.5)

    I dont understand what the arate stands for. If I wanted to test the effects on the 25th percentile, should I change the arate(.5) to arate(.25)?

    Thank you in advance.

  • #2
    Lorina,

    To estimate the 25th percentile you need the option quantile(0.25). I suggest that you carefully study the method used by this command as it may not do what you think it does; the model that is estimated is very different form what people have in mind when they think about fixed effects regressions.

    Best wishes,

    Joao

    Comment


    • #3
      Hi Joao,

      Thank you for your reply. I have read the paper by Powell (2017) but I can't seem to find anything else that is specific for the method used in the command.
      Can you recommend any papers or further readings?

      Regards,
      Lorina

      Comment


      • #4
        Powell has several related papers; they are all worth reading.

        Best wishes,

        Joao

        Comment


        • #5
          Lorina Sertio

          Lorina, glad you are interested in using the command! I am one of the co-authors of the command, and primarily responsible for the MCMC aspect of estimation. In any event, the command that you want to run:

          Code:
          qregpd yvariable xvariables, id(id) fix(year) optimize(mcmc) noisy draws(1000) burn(100) arate(.5)
          Includes the optimize(mcmc) noisy draws(1000) burn(100) arate(.5) options. To reiterate what these are:

          1. optimize(mcmc) means that you are attempting to estimate the model via Markov-Chain-Monte-Carlo methods as detailed in Chernozhukov and Hong (2003), or as further described in Baker (2015).

          2. noisy means that each time the objective function is calculated, a dot will be printed on the screen.

          3. draws(1000) means that you are drawing 1000 values for the parameters from their implied posterior distribution.

          4. burn(100) means that you are throwing away the first 100 parameter draws as the algorithm finds its groove.

          5. Finally, arate(.5) means that the adaptive MCMC procedure is tuning itself as it goes along so that roughly half of the draws are accepted. See Baker (2015) for details as to how this works. Typically, one would like arate(.24), as I discuss in the article.

          Let me also add that Joao Santos Silva is exactly right that David's papers are really, really worth reading!

          Hope that helps!

          Matthew J. Baker

          Comment


          • #6
            Hi Matthew,

            Thank you for your response, it really helped! Is there a way of obtaining R-squared using the qregpd command?

            Best regards,
            Lorina

            Comment

            Working...
            X