Announcement

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

  • How to Perform a Poolability Test in Stata

    Dear Users,

    I wish to perform a Chow's Poolability test using Stata as part of my preliminary analysis. I have a micro panel (N=50 and T= 19). My search over the internet and in the manual has not yielded fruitful results. I will also appreciate a scientific reference where one has used it for a proper understanding of the test and justification.

    I have one dependent variable (y), and five explanatory variables (x1, x2, x3, x4, x5)

    Can someone kindly advise me on how to proceed?


    Regards!
    Last edited by Beri Parfait; Yesterday, 07:52.

  • #2
    Are you looking for a test to decide between a pooled model and a panel model? If so, you can set your data for panel data using

    Code:
    xtset id year
    where id is your group identifier and year is your year variable.

    Then estimate a fixed effects model such as

    Code:
     xtreg y x1 x2 x3 x4 x5, fe
    You will see a test at the bottom "F test that all u_i=0". If rejected, you should proceed with a panel approach.

    Comment


    • #3
      The test in most cases corresponds to whether the inclusion of firm fixed effects is justified. If you use xtreg, fe, the test is part of the default output (highlighted at the foot of the table below). Otherwise, use testparm if you use dummies to include the firm effects.

      Code:
      webuse grunfeld
      xtset company year
      xtreg invest mvalue kstock, fe
      regress invest mvalue kstock i.company
      testparm i.company
      Res.:

      Code:
      . xtreg invest mvalue kstock, fe
      
      Fixed-effects (within) regression               Number of obs     =        200
      Group variable: company                         Number of groups  =         10
      
      R-sq:                                           Obs per group:
           within  = 0.7668                                         min =         20
           between = 0.8194                                         avg =       20.0
           overall = 0.8060                                         max =         20
      
                                                      F(2,188)          =     309.01
      corr(u_i, Xb)  = -0.1517                        Prob > F          =     0.0000
      
      ------------------------------------------------------------------------------
            invest |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
      -------------+----------------------------------------------------------------
            mvalue |   .1101238   .0118567     9.29   0.000     .0867345    .1335131
            kstock |   .3100653   .0173545    17.87   0.000     .2758308    .3442999
             _cons |  -58.74393   12.45369    -4.72   0.000    -83.31086     -34.177
      -------------+----------------------------------------------------------------
           sigma_u |  85.732501
           sigma_e |  52.767964
               rho |  .72525012   (fraction of variance due to u_i)
      ------------------------------------------------------------------------------
      F test that all u_i=0: F(9, 188) = 49.18                     Prob > F = 0.0000
      
      . 
      . regress invest mvalue kstock i.company
      
            Source |       SS           df       MS      Number of obs   =       200
      -------------+----------------------------------   F(11, 188)      =    288.50
             Model |   8836465.8        11  803315.073   Prob > F        =    0.0000
          Residual |  523478.114       188  2784.45805   R-squared       =    0.9441
      -------------+----------------------------------   Adj R-squared   =    0.9408
             Total |  9359943.92       199  47034.8941   Root MSE        =    52.768
      
      ------------------------------------------------------------------------------
            invest |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
      -------------+----------------------------------------------------------------
            mvalue |   .1101238   .0118567     9.29   0.000     .0867345    .1335131
            kstock |   .3100653   .0173545    17.87   0.000     .2758308    .3442999
                   |
           company |
                2  |   172.2025   31.16126     5.53   0.000     110.7319    233.6732
                3  |  -165.2751   31.77556    -5.20   0.000    -227.9576   -102.5927
                4  |    42.4874   43.90987     0.97   0.334    -44.13197    129.1068
                5  |  -44.32013   50.49225    -0.88   0.381    -143.9243    55.28406
                6  |   47.13539   46.81068     1.01   0.315    -45.20629    139.4771
                7  |   3.743212   50.56493     0.07   0.941    -96.00433    103.4908
                8  |   12.75103   44.05263     0.29   0.773    -74.14994      99.652
                9  |  -16.92558   48.45326    -0.35   0.727    -112.5075    78.65636
               10  |   63.72884   50.33023     1.27   0.207    -35.55572    163.0134
                   |
             _cons |  -70.29669   49.70796    -1.41   0.159    -168.3537    27.76035
      ------------------------------------------------------------------------------
      
      . 
      . testparm i.company
      
       ( 1)  2.company = 0
       ( 2)  3.company = 0
       ( 3)  4.company = 0
       ( 4)  5.company = 0
       ( 5)  6.company = 0
       ( 6)  7.company = 0
       ( 7)  8.company = 0
       ( 8)  9.company = 0
       ( 9)  10.company = 0
      
             F(  9,   188) =   49.18
                  Prob > F =    0.0000

      Comment


      • #4
        Originally posted by Chris Boudreaux View Post
        Are you looking for a test to decide between a pooled model and a panel model? If so, you can set your data for panel data using

        Code:
        xtset id year
        where id is your group identifier and year is your year variable.

        Then estimate a fixed effects model such as

        Code:
         xtreg y x1 x2 x3 x4 x5, fe
        You will see a test at the bottom "F test that all u_i=0". If rejected, you should proceed with a panel approach.
        This helped me

        Comment


        • #5
          Originally posted by Andrew Musau View Post
          The test in most cases corresponds to whether the inclusion of firm fixed effects is justified. If you use xtreg, fe, the test is part of the default output (highlighted at the foot of the table below). Otherwise, use testparm if you use dummies to include the firm effects.

          Code:
          webuse grunfeld
          xtset company year
          xtreg invest mvalue kstock, fe
          regress invest mvalue kstock i.company
          testparm i.company
          Res.:

          Code:
          . xtreg invest mvalue kstock, fe
          
          Fixed-effects (within) regression Number of obs = 200
          Group variable: company Number of groups = 10
          
          R-sq: Obs per group:
          within = 0.7668 min = 20
          between = 0.8194 avg = 20.0
          overall = 0.8060 max = 20
          
          F(2,188) = 309.01
          corr(u_i, Xb) = -0.1517 Prob > F = 0.0000
          
          ------------------------------------------------------------------------------
          invest | Coef. Std. Err. t P>|t| [95% Conf. Interval]
          -------------+----------------------------------------------------------------
          mvalue | .1101238 .0118567 9.29 0.000 .0867345 .1335131
          kstock | .3100653 .0173545 17.87 0.000 .2758308 .3442999
          _cons | -58.74393 12.45369 -4.72 0.000 -83.31086 -34.177
          -------------+----------------------------------------------------------------
          sigma_u | 85.732501
          sigma_e | 52.767964
          rho | .72525012 (fraction of variance due to u_i)
          ------------------------------------------------------------------------------
          F test that all u_i=0: F(9, 188) = 49.18 Prob > F = 0.0000
          
          .
          . regress invest mvalue kstock i.company
          
          Source | SS df MS Number of obs = 200
          -------------+---------------------------------- F(11, 188) = 288.50
          Model | 8836465.8 11 803315.073 Prob > F = 0.0000
          Residual | 523478.114 188 2784.45805 R-squared = 0.9441
          -------------+---------------------------------- Adj R-squared = 0.9408
          Total | 9359943.92 199 47034.8941 Root MSE = 52.768
          
          ------------------------------------------------------------------------------
          invest | Coef. Std. Err. t P>|t| [95% Conf. Interval]
          -------------+----------------------------------------------------------------
          mvalue | .1101238 .0118567 9.29 0.000 .0867345 .1335131
          kstock | .3100653 .0173545 17.87 0.000 .2758308 .3442999
          |
          company |
          2 | 172.2025 31.16126 5.53 0.000 110.7319 233.6732
          3 | -165.2751 31.77556 -5.20 0.000 -227.9576 -102.5927
          4 | 42.4874 43.90987 0.97 0.334 -44.13197 129.1068
          5 | -44.32013 50.49225 -0.88 0.381 -143.9243 55.28406
          6 | 47.13539 46.81068 1.01 0.315 -45.20629 139.4771
          7 | 3.743212 50.56493 0.07 0.941 -96.00433 103.4908
          8 | 12.75103 44.05263 0.29 0.773 -74.14994 99.652
          9 | -16.92558 48.45326 -0.35 0.727 -112.5075 78.65636
          10 | 63.72884 50.33023 1.27 0.207 -35.55572 163.0134
          |
          _cons | -70.29669 49.70796 -1.41 0.159 -168.3537 27.76035
          ------------------------------------------------------------------------------
          
          .
          . testparm i.company
          
          ( 1) 2.company = 0
          ( 2) 3.company = 0
          ( 3) 4.company = 0
          ( 4) 5.company = 0
          ( 5) 6.company = 0
          ( 6) 7.company = 0
          ( 7) 8.company = 0
          ( 8) 9.company = 0
          ( 9) 10.company = 0
          
           F( 9, 188) = 49.18
          Prob > F = 0.0000
          This was very specific and helped me

          Comment

          Working...
          X