Announcement

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

  • Using the command for Information criteria (estat ic) appropriately

    Dear all,

    My work consists on the Paper of Jordà, Schularick and Taylor (2016) - Sovereigns vs. Banks: Credit Crisis and Consequences which is available under
    https://academic.oup.com/jeea/articl...4/1/45/2319810

    I am currently doing the following regression,

    Code:
    foreach v in `irvars5' {
            forvalues i =1/5 {
    
        reg `v'`i' pk_norm pk_fin excess_prv `rhs8a' d1-d17 , noconstant vce(cluster iso)
    where:

    Code:
    local rhs8a ///
    dlrgdp   drprv  dlcpi  dlriy  drpub  stir  ltrate  cay ///
    ldlrgdp ldrprv ldlcpi ldlriy ldrpub lstir lltrate lcay
    
    local irvars5 lrgdp lriy lcpi rprv rpub
    and

    Code:
    * (1) growth rate of real GDP per capita (annual, in percent)
    gen lrgdp = log(rgdppc)
    //growth in percent is 100 * the logarithm of real GDP per capita
    gen dlrgdp = 100*d.lrgdp
    
    * (2) growth rate of real loans per capita (annual, in percent)
    gen lloans = log(tloans)
    gen lcpi = log(cpi)
    gen lpop = log(pop)
    gen rprv = lloans - lcpi - lpop
    //growth in percent is 100 * rprv
    gen drprv = 100*d.rprv
    
    * (3) the consumer price index (CPI) inflation rate (annual, in percent)
    //growth in percent is 100 * the logarithm of CPI
    gen dlcpi = 100*d.lcpi
    
    * (4) the growth rate of real investment per capita (annual, in percent)
    //growth in percent is 100 * the logarithm of real investment
    gen riy = iy * rgdppc
    gen lriy = log(riy)
    gen dlriy = 100*d.lriy
    
    * (5) the growth rate of real public debt per capita (annual, in percent)
    rename debtgdp pubgdp
    gen rpub = log(pubgdp) + log(gdp) - lcpi - lpop
    //growth in percent is 100 * the logarithm of real public debt per capita
    gen drpub = 100*d.rpub
    
    * (6) short-term interest rates on government securities
    replace stir = 100*stir
    
    * (7) long-term interest rates on government securities
    replace ltrate = 100*ltrate
    
    * (8) curent-account-to-GDP-ratio
    gen cay = 100*(ca/gdp)
    
    
    
    //Now we need the lags of all the 8 controls
    gen ldlrgdp = l.dlrgdp
    gen ldrprv = l.drprv
    gen ldlcpi = l.dlcpi
    gen ldlriy = l.dlriy
    gen ldrpub = l.drpub
    gen lstir = l.stir
    gen lltrate = l.ltrate
    gen lcay =l.cay
    As you can see, I used the lag length of 1. Because the authors did it that way in their paper. However, I would like to find the appropriate lag length and found the stata command
    Code:
    estat ic
    I just don´t know how to use this command in my example and how to interpret the outcome.
    Maybe someone could help?

    Thank you!

  • #2
    estat ic gives you BIC and AIC statistics, which can be used to assess which model fits best. If you aren't familiar with them one source is

    https://www3.nd.edu/~rwilliam/stats3/L05.pdf
    -------------------------------------------
    Richard Williams, Notre Dame Dept of Sociology
    StataNow Version: 19.5 MP (2 processor)

    EMAIL: [email protected]
    WWW: https://www3.nd.edu/~rwilliam

    Comment


    • #3
      To Richard:

      Thank you very much for the link! That explains both criteria very well.
      I understood that "smaller is better", so that given two models, the one with the smaller AIC fits the data better. But is it just that I use for example in my first regression 1 Lag and after the regression I use estat ic. And than I do a regression with 2 lags and after the regression I apply estat ic again?

      Comment


      • #4
        Maybe someone can help?

        I would like to estimate a VAR with OLS. Therefore, I would like to know the appropriate lag length and therefore find BIC and AIC statistics.
        How do I proceed? Am I supposed to do a OLS-Regression with one lag, than apply the command estat ic, than do another regression with lag = 2 and apply the command estat ic again and compare the results? Would that be the right approach?

        Comment


        • #5
          Silvia:
          I would folow the approach you have in mind.
          When comparing models , the smaller the AIC (and BIC), the better the fit (as you previously reported).
          Kind regards,
          Carlo
          (Stata 19.0)

          Comment


          • #6
            Ok, I did what you suggested. Thank you Carlo for your response!

            I still have a problem because I am really not sure if this is the right approach. I am working with a panel-dataset of 17 countries for the years 1870 - 2016, so I am working with yearly data, which suggests that the lags should be something between 1 and 10 (I guess).
            In my model with public debts, I ran tests with up to 40 lags and even then, 41 lags would be according to AIC and BIC a better fit. Which I guess cannot be logical?!

            I attached my do-file, maybe someone could help. In line 76 - 83, there are the lagged variables. Maybe I just forgot to declare the data to be yearly at some point? I really have no idea how lags of up to 40 years could be appropriate?
            Attached Files

            Comment


            • #7
              Dear all,

              i still have the same question about finding the right lag-length.

              I try to study the effects of private credit booms before financial crises on the economic recovery after financial crises.
              After the regression, i typed the "estat ic" command to figure out the optimal lag length and discovered that it would be 3 years

              Next, I try to study the effects of high public debt levels on the economic recovery after financial crises.
              Here, I typed the same command, but the lag length doesn´t make sense to me. According to AIC and BIC, more than 40 years of lags would be appropriate.
              Can this be reasonable in the context of public debt?

              I have a panel dataset which covers macroeconomic aggregates for 17 developed economies over the years 1870 - 2016. So the lags of 40 years would be no problem, but I am not sure if this is logical?!

              Maybe someone has an idea?

              Comment


              • #8
                Please allow me one follow up question.
                Is there any other stata command for OLS-regressions which I could use to find the appropriate lag length (except the command "estat ic") ?

                Comment


                • #9
                  Originally posted by Silvia Haertl View Post
                  Please allow me one follow up question.
                  Is there any other stata command for OLS-regressions which I could use to find the appropriate lag length (except the command "estat ic") ?
                  Dear Silvia,

                  The question has been a long time ago. But have you resolved your problem?

                  I am currenting working on a small project and the IC method is telling me to increase as many lags until I have only one period left.

                  I could sense the economic meaning this is implying, but it is really confusing. If a variable has such strong lagged effects, how on earth are we going to catch and measure its influence? Maybe from your old project you have some good lessons to share?

                  Thanks anyway.

                  Comment

                  Working...
                  X