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

  • Implementing a measure for the goodness of fit for each quantile

    Dear Statalisters,

    I want to include a measure I saw in a paper called Krüger, S./Rösch, D. (2017): Downturn LGD modeling using quantile regression, Journal of Banking & Finance, 79, p. 42-56. This measure is like R² and evaluates predicted values but separated for each quantile (see picture)

    In the end I want to plot R1 on the y-axis and the quantiles on the x-axis to illustrate which of my models (reg, fracreg, fmm, qr) performs the best over the entire distribution.
    I thought about a loop that saves R1(1) to R1(99) in a matrix as shown below for the OLS regression. My results are not quite what I expected so I’m seeking for help. Since I’m fairly new to Stata I’m not sure if I translated the formula the right way or if there is a smarter way to do so.

    matrix R1=J(100,2,.)
    gen OLSquantres = .
    forvalues i=1/99{
                gen ptau1 = .
                replace ptau1 = (`i'/100)*OLSres if OLSres>=0
                replace ptau1 = (1-(`i'/100))*abs(OLSres) if OLSres<0
                qui sum ptau1
                scalar ptau1_sum = r(sum)
                _pctile $y1, p(`i')
                replace OLSquantres = $y1 - r(r1)
                gen ptau2 = .
                replace ptau2 = (`i'/100)*OLSquantres if OLSquantres>=0
                replace ptau2 = (1-(`i'/100))*abs(OLSquantres) if OLSquantres<0
                qui sum ptau2
                scalar ptau2_sum = r(sum)
                drop ptau1
                drop ptau2
                matrix R1[`i',2] = 1- (ptau1_sum/ptau2_sum)
                matrix R1[`i',1] = `i'
    Above OLSres is the residual of the OLS regression and $y1 my dependent variable.

    Kind regards

    Attached Files