Announcement

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

  • quantile regression VS OLS

    Hi folks,

    I am pretty new to quantile regression. So, I want to learn it by comparing it with the OLS regression. Basically, for the LHS variable, if the mean equals the median, should the quantile regression at the median generate the same coefficients as the OLS regression? To test this, I need to generate a LHS variable with the same mean and median. Is there such a code like this? Say gen y=rnormal(0,1), median==0? Thank you very much for your help!

    Ruyi.
    Last edited by hunter shi; 15 Oct 2023, 22:18.

  • #2
    Code:
    clear all
    set seed 516247
    
    program sim, rclass
        drop _all
        set obs 2000
        gen x1 = runiform() < .5
        gen x2 = rnormal()
        gen y = -2 + 0.5*x2 - .5*x1 + 2*rnormal()
        reg y i.x1 x2
        return scalar rb0 = _b[_cons]
        return scalar rse0 = _se[_cons]
        return scalar rb1 = _b[1.x1]
        return scalar rse1 = _se[1.x1]
        return scalar rb2 = _b[x2]
        return scalar rse2 = _se[x2]
    
        qreg y i.x1 x2
        return scalar qb0 = _b[_cons]
        return scalar qse0 = _se[_cons]
        return scalar qb1 = _b[1.x1]
        return scalar qse1 = _se[1.x1]
        return scalar qb2 = _b[x2]
        return scalar qse2 = _se[x2]
    end
    
    simulate rb0=r(rb0) rse0=r(rse0) ///
             rb1=r(rb1) rse1=r(rse1) ///  
             rb2=r(rb2) rse2=r(rse2) ///
             qb0=r(qb0) qse0=r(qse0) ///
             qb1=r(qb1) qse1=r(qse1) ///  
             qb2=r(qb2) qse2=r(qse2) ///
             , reps(2000) : sim
    
    ssc install simsum
    simsum rb1 qb1, se(rse1 qse1) true(.5)
    ---------------------------------
    Maarten L. Buis
    University of Konstanz
    Department of history and sociology
    box 40
    78457 Konstanz
    Germany
    http://www.maartenbuis.nl
    ---------------------------------

    Comment


    • #3
      Originally posted by Maarten Buis View Post
      Code:
      clear all
      set seed 516247
      
      program sim, rclass
      drop _all
      set obs 2000
      gen x1 = runiform() < .5
      gen x2 = rnormal()
      gen y = -2 + 0.5*x2 - .5*x1 + 2*rnormal()
      reg y i.x1 x2
      return scalar rb0 = _b[_cons]
      return scalar rse0 = _se[_cons]
      return scalar rb1 = _b[1.x1]
      return scalar rse1 = _se[1.x1]
      return scalar rb2 = _b[x2]
      return scalar rse2 = _se[x2]
      
      qreg y i.x1 x2
      return scalar qb0 = _b[_cons]
      return scalar qse0 = _se[_cons]
      return scalar qb1 = _b[1.x1]
      return scalar qse1 = _se[1.x1]
      return scalar qb2 = _b[x2]
      return scalar qse2 = _se[x2]
      end
      
      simulate rb0=r(rb0) rse0=r(rse0) ///
      rb1=r(rb1) rse1=r(rse1) ///
      rb2=r(rb2) rse2=r(rse2) ///
      qb0=r(qb0) qse0=r(qse0) ///
      qb1=r(qb1) qse1=r(qse1) ///
      qb2=r(qb2) qse2=r(qse2) ///
      , reps(2000) : sim
      
      ssc install simsum
      simsum rb1 qb1, se(rse1 qse1) true(.5)
      Hi Maarten,

      Thanks a lot! That works!

      Cheers,
      Ruyi.

      Comment

      Working...
      X