Announcement

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

  • Tobit Regression Model

    Hi,

    I am looking at determinants of football player transfer values and am running a Tobit model because in the five different transfer window periods I am looking at, there are multiple transfer window periods where some of the 1,162 players who have been transferred at least once over the period are not transferred in a single window. The variables I am concentrating on are the country variables (France, Germany, Italy and Spain, with England as the default) which tell us which country the buying club is from. I first ran a POLS regression on Stata/IC 13.0 and got the following results:

    HTML Code:
    . reg lntransferamount age c.age#c.age careerapps psapps goalsperapps psgoalsperapps cardsperapps previous internationa
    > l stadiumsize samecountry championsleague ib1.country ib1.transferwindow, robust
    
    Linear regression                                      Number of obs =    1274
                                                           F( 20,  1253) =   55.60
                                                           Prob > F      =  0.0000
                                                           R-squared     =  0.4664
                                                           Root MSE      =  1.0096
    
    ---------------------------------------------------------------------------------
                    |               Robust
    lntransferamo~t |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
    ----------------+----------------------------------------------------------------
                age |   .6144103   .0977339     6.29   0.000     .4226702    .8061504
                    |
        c.age#c.age |  -.0149091    .001991    -7.49   0.000    -.0188151   -.0110031
                    |
         careerapps |   .0043707   .0006807     6.42   0.000     .0030352    .0057063
             psapps |   .0090319   .0037756     2.39   0.017     .0016248     .016439
       goalsperapps |   .6280397   .3432439     1.83   0.068    -.0453564    1.301436
     psgoalsperapps |   .9591219   .2556548     3.75   0.000     .4575633    1.460681
       cardsperapps |   .6131814   .2791761     2.20   0.028     .0654772    1.160886
           previous |  -.0260364   .0300142    -0.87   0.386      -.08492    .0328471
      international |    .763968   .0630331    12.12   0.000     .6403059    .8876301
        stadiumsize |   .0000102   1.81e-06     5.64   0.000     6.66e-06    .0000138
        samecountry |  -.0233719   .0615943    -0.38   0.704    -.1442113    .0974675
    championsleague |   .6180493   .0670171     9.22   0.000     .4865712    .7495274
                    |
            country |
            France  |  -.8619394   .1004574    -8.58   0.000    -1.059023   -.6648562
           Germany  |  -.9344916   .0839407   -11.13   0.000    -1.099171   -.7698117
             Italy  |  -.6862306   .0857381    -8.00   0.000    -.8544366   -.5180246
             Spain  |   -.532628   .0958584    -5.56   0.000    -.7206886   -.3445674
                    |
     transferwindow |
        1314winter  |  -.1716262    .145408    -1.18   0.238    -.4568962    .1136438
        1415summer  |   .0629959   .0740797     0.85   0.395    -.0823381    .2083299
        1415winter  |   .2538851   .1380694     1.84   0.066    -.0169877    .5247578
        1516summer  |   .2977427   .0742388     4.01   0.000     .1520968    .4433887
                    |
              _cons |   6.716617   1.201863     5.59   0.000     4.358731    9.074504
    ---------------------------------------------------------------------------------
    Following this, I ran my Tobit model using the actual transferamount instead of its logarithmic transformation as my dependant variable:

    HTML Code:
    . tobit transferamount age c.age#c.age careerapps psapps goalsperapps psgoalsperapps previous international cardsperapp
    > s stadiumsize samecountry championsleague ib1.country ib1.transferwindow, ll(0)
    
    Tobit regression                                  Number of obs   =       5810
                                                      LR chi2(20)     =     765.42
                                                      Prob > chi2     =     0.0000
    Log likelihood = -23681.995                       Pseudo R2       =     0.0159
    
    ---------------------------------------------------------------------------------
     transferamount |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
    ----------------+----------------------------------------------------------------
                age |   718024.1   567070.3     1.27   0.205    -393645.6     1829694
                    |
        c.age#c.age |  -20061.37   11686.19    -1.72   0.086    -42970.68    2847.937
                    |
         careerapps |   8047.996   4083.379     1.97   0.049     43.04619    16052.95
             psapps |   12644.65   21512.37     0.59   0.557    -29527.64    54816.94
       goalsperapps |    1804404    2195759     0.82   0.411     -2500105     6108913
     psgoalsperapps |    2506452    1764349     1.42   0.155    -952331.6     5965236
           previous |     183193   166821.2     1.10   0.272    -143838.9    510224.9
      international |    1515760   388503.4     3.90   0.000     754147.9     2277372
       cardsperapps |    1615213    1480409     1.09   0.275     -1286942     4517368
        stadiumsize |   21.48387   10.90892     1.97   0.049     .0983054    42.86943
        samecountry |    -277640   368809.6    -0.75   0.452     -1000645    445364.6
    championsleague |    1274384   414494.4     3.07   0.002     461819.8     2086948
                    |
            country |
            France  |   -1444035   574849.9    -2.51   0.012     -2570956   -317114.6
           Germany  |   -1538383   532428.4    -2.89   0.004     -2582141     -494624
             Italy  |   -1236895   528943.9    -2.34   0.019     -2273823   -199967.4
             Spain  |  -637639.4   586651.8    -1.09   0.277     -1787696    512417.5
                    |
     transferwindow |
        1314winter  |  -1.00e+07   672987.4   -14.92   0.000    -1.14e+07    -8718707
        1415summer  |  -251955.2   470031.4    -0.54   0.592     -1173392      669482
        1415winter  |  -1.00e+07   675724.3   -14.87   0.000    -1.14e+07    -8722669
        1516summer  |   837246.4   463369.8     1.81   0.071     -71131.5     1745624
                    |
              _cons |  -1.45e+07    6856226    -2.11   0.035    -2.79e+07    -1023093
    ----------------+----------------------------------------------------------------
             /sigma |    9168783   202482.9                       8771841     9565725
    ---------------------------------------------------------------------------------
      Obs. summary:       4536  left-censored observations at transferam~t<=0
                          1274     uncensored observations
                             0 right-censored observations
    My question is what command do I use to predict the probability of being transferred in the first place? is it just probit? As in:

    HTML Code:
    . probit transferamount age c.age#c.age careerapps psapps goalsperapps psgoalsperapps previous international cardsperap
    > ps stadiumsize samecountry championsleague ib1.country ib1.transferwindow
    
    Iteration 0:   log likelihood = -3056.0106  
    Iteration 1:   log likelihood = -2692.7903  
    Iteration 2:   log likelihood = -2683.9669  
    Iteration 3:   log likelihood = -2683.9465  
    Iteration 4:   log likelihood = -2683.9465  
    
    Probit regression                                 Number of obs   =       5810
                                                      LR chi2(20)     =     744.13
                                                      Prob > chi2     =     0.0000
    Log likelihood = -2683.9465                       Pseudo R2       =     0.1217
    
    ---------------------------------------------------------------------------------
     transferamount |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
    ----------------+----------------------------------------------------------------
                age |   .0010049   .0637441     0.02   0.987    -.1239312     .125941
                    |
        c.age#c.age |  -.0002025   .0013131    -0.15   0.877    -.0027761    .0023711
                    |
         careerapps |   .0002549   .0004689     0.54   0.587    -.0006641    .0011739
             psapps |  -.0006806   .0024448    -0.28   0.781    -.0054722    .0041111
       goalsperapps |    .140991    .255453     0.55   0.581    -.3596876    .6416696
     psgoalsperapps |  -.0751496   .2070351    -0.36   0.717     -.480931    .3306318
           previous |   .0153565   .0191282     0.80   0.422    -.0221341    .0528472
      international |   .0360773   .0442479     0.82   0.415    -.0506471    .1228016
       cardsperapps |   .0306052   .1750035     0.17   0.861    -.3123954    .3736057
        stadiumsize |  -3.86e-07   1.26e-06    -0.31   0.759    -2.85e-06    2.08e-06
        samecountry |   -.004094   .0422512    -0.10   0.923    -.0869049     .078717
    championsleague |  -.0105471   .0477762    -0.22   0.825    -.1041868    .0830926
                    |
            country |
            France  |  -.0306155   .0659541    -0.46   0.643    -.1598832    .0986522
           Germany  |   .0166127   .0611243     0.27   0.786    -.1031887    .1364141
             Italy  |   .0224424   .0608318     0.37   0.712    -.0967857    .1416706
             Spain  |   .0017338   .0683321     0.03   0.980    -.1321946    .1356622
                    |
     transferwindow |
        1314winter  |  -1.171248   .0717567   -16.32   0.000    -1.311889   -1.030608
        1415summer  |   -.048384   .0541585    -0.89   0.372    -.1545327    .0577647
        1415winter  |  -1.194127   .0725387   -16.46   0.000      -1.3363   -1.051954
        1516summer  |   .0627875    .053702     1.17   0.242    -.0424664    .1680414
                    |
              _cons |  -.4205694   .7712254    -0.55   0.586    -1.932143    1.091005
    ---------------------------------------------------------------------------------
    
    . margins, dydx(*) atmeans
    
    Conditional marginal effects                      Number of obs   =       5810
    Model VCE    : OIM
    
    Expression   : Pr(transferamount), predict()
    dy/dx w.r.t. : age careerapps psapps goalsperapps psgoalsperapps previous international cardsperapps stadiumsize
                   samecountry championsleague 2.country 3.country 4.country 5.country 2.transferwindow 3.transferwindow
                   4.transferwindow 5.transferwindow
    at           : age             =    23.91343 (mean)
                   careerapps      =     150.601 (mean)
                   psapps          =    26.04251 (mean)
                   goalsperapps    =    .1436306 (mean)
                   psgoalsper~s    =    .1474055 (mean)
                   previous        =    2.319966 (mean)
                   internatio~l    =    .5187608 (mean)
                   cardsperapps    =    .1518223 (mean)
                   stadiumsize     =    41566.04 (mean)
                   samecountry     =     .458864 (mean)
                   championsl~e    =    .3910499 (mean)
                   1.country       =    .2512909 (mean)
                   2.country       =    .1528399 (mean)
                   3.country       =    .1948365 (mean)
                   4.country       =    .2547332 (mean)
                   5.country       =    .1462995 (mean)
                   1.transfer~w    =          .2 (mean)
                   2.transfer~w    =          .2 (mean)
                   3.transfer~w    =          .2 (mean)
                   4.transfer~w    =          .2 (mean)
                   5.transfer~w    =          .2 (mean)
    
    ---------------------------------------------------------------------------------
                    |            Delta-method
                    |      dy/dx   Std. Err.      z    P>|z|     [95% Conf. Interval]
    ----------------+----------------------------------------------------------------
                age |  -.0022864   .0032603    -0.70   0.483    -.0086764    .0041036
         careerapps |   .0000671   .0001237     0.54   0.587    -.0001752    .0003095
             psapps |  -.0001793   .0006446    -0.28   0.781    -.0014426    .0010841
       goalsperapps |   .0371365   .0673077     0.55   0.581    -.0947842    .1690573
     psgoalsperapps |  -.0197941    .054553    -0.36   0.717     -.126716    .0871277
           previous |   .0040449   .0050464     0.80   0.423    -.0058459    .0139356
      international |   .0095026   .0116371     0.82   0.414    -.0133056    .0323108
       cardsperapps |   .0080613   .0460875     0.17   0.861    -.0822685    .0983911
        stadiumsize |  -1.02e-07   3.32e-07    -0.31   0.759    -7.52e-07    5.49e-07
        samecountry |  -.0010783   .0111281    -0.10   0.923     -.022889    .0207324
    championsleague |  -.0027781   .0125811    -0.22   0.825    -.0274366    .0218805
                    |
            country |
            France  |   -.007918   .0170042    -0.47   0.641    -.0412455    .0254096
           Germany  |   .0043908   .0161652     0.27   0.786    -.0272925     .036074
             Italy  |   .0059473   .0161298     0.37   0.712    -.0256666    .0375611
             Spain  |   .0004552   .0179416     0.03   0.980    -.0347098    .0356201
                    |
     transferwindow |
        1314winter  |  -.2761472   .0158699   -17.40   0.000    -.3072517   -.2450427
        1415summer  |  -.0173214   .0193865    -0.89   0.372    -.0553182    .0206754
        1415winter  |  -.2785899   .0158151   -17.62   0.000     -.309587   -.2475928
        1516summer  |   .0230297   .0196899     1.17   0.242    -.0155618    .0616212
    ---------------------------------------------------------------------------------
    Note: dy/dx for factor levels is the discrete change from the base level.
    
    .
    I just wanted to know if that was correct?

    Regards,

    Arunan
    Last edited by Arunan Gukathasan; 23 Apr 2016, 13:39.

  • #2
    Not quite. -probit- is a good model for this. -logit- would be, too. The choice between them is mostly a matter of taste, or tradition in your field. But, by specifying -margins, dydx()-, you are getting the marginal effects of each of these variables on the predicted probability of transfer, not the predicted probability itself. (In fact, the negative numbers in the -margins- output is a giveaway that you are not looking at predictive probabilities.)

    To get predicted probabilities for your discrete variables, other variables at their means:

    Code:
    margins country transferwindow, atmeans
    For the continuous variables you need to designate specific values at which to calculate the predicted probabilities. See the -at()- option in -margins-.

    Asides: it does no harm to have age c.age#c.age in your regression commands, but c.age##c.age, alone, is more compact and poses no risk of confusing -margins- as to whether age is the same variable that appears in the quadratic term c.age#c.age. Some of your variables, from their names, sound like they may be discrete, such as: previous, international, and samecountry. These are only guesses on my part. But if there are any other discrete variables, I would advise prefixing them with i. in your command, so that you can more easily get -margins- to calculate predicted probabilities for them. Also, -margins- does marginal effects differently for discrete and continuous variables. For discrete variables it actually calculates the change in outcome when the predictor changes by 1. For continuous variables, it calculates the partial derivative of the outcome with respect to the predictor. These can be rather different, and in most cases, the former is more useful.

    Finally, other issues to consider are whether pooled OLS is appropriate for this data. I don't really understand your context, but it sounds to me like this may be panel data, or even more hierarchical than that. If it is panel data, you would be well advised to consider panel estimators, such as -xtreg-, -xttobit-, and -xtlogit- as the pooled OLS estimator usually produces inconsistent coefficient estimates.

    Comment


    • #3
      Clyde,

      Thanks for your comments.

      Just a quick rundown of what each variable is:

      careerapps - total # appearances over career up to point of transfer (range from 0 to 580)
      psapps - total # appearances in the previous season prior to transfer (range from 0 to 47)
      goalsperapps - average goals per appearance over career (from 0 to 0.95)
      psgoalsperapps - average goals per appearance last season (0 to 1.03333)
      previous - # of previous clubs the player has played at (1 to 10)
      international - dummy variable that equals 1 if player has an international cap, 0 otherwise
      cardperapps - average number of cards per match (0 to 1)
      stadiumsize - capacity of buying club's stadium (5,250 to 100,000)
      samecountry - dummy variable taking the value 1 if buying and selling club are from the same country, 0 otherwise
      championsleague - dummy variable taking the value 1 if either the buying or selling club have participated in the Champion's League group stages in any of the past three seasons, 0 otherwise
      country - categorical variable taking values 1 (England), 2 (France), 3 (Germany), 4 (Italy) or 5 (Spain) indicating which country the buying club is in
      transferwindow - categorical variable taking values 1 (1314summer), 2 (1314winter), 3 (1415summer), 4 (1415winter), 5 (1516summer) indicating in which transfer window the transfer occurred

      Your explanation has made clear that what I actually wanted WAS the marginal effects, not actual probability in being transferred. Based on that, would

      1) the coefficient on France (-0.007918) mean that the probability of being transferred is 0.7918% less for a player in the buying club is in France compared to England, ceteris paribus

      2) the coefficient on international (0.0095026) mean that the probability of being transferred is 0.95026% greater for a player with an international cap


      Regarding your comment about POLS, I am also running a fixed effects regression which uses estimated transfer values instead of 0 values for when the player is not transferred (xtreg command) creating a balanced panel data set. I am just using POLS as an initial step in the process for comparison.

      Thanks

      Arunan

      Comment


      • #4
        Thanks for the explanation. I agree with your interpretations of the -margins, dydx()- output, with one reservation. It isn't 0.7918% less or 0.95026% greater, it's 0.7918 percentage points less or 0.95206 percentage points greater. In other words, the marginal effects in this model are additive, not multiplicative. So if the probability for the reference country were, say 4%, then the probability for France is 4 + 0.7918 = 4.7918%, not 4*(1.007918) = 4.31672%.

        I do still recommend you re-do the calculations putting i. in front of international, samecountry, and champioinsleague so that -margins- will calculate discrete maringal effects for them, rather than a first derivative.

        Last edited by Clyde Schechter; 23 Apr 2016, 16:08. Reason: Correct typo.

        Comment


        • #5
          Clyde,

          Thanks for the clarification. I have included i. in front of the dummy variables for ease of calculations.

          I also have a question regarding the standard errors with my Fixed Effects regression. I was wondering about clustering the standard errors / including robust at the end of my regression. I did
          Code:
          xtset player year
          to set the panel data and then ran the following regressions, and then tested for the joint significance of the country dummies as this is my variable of interest.

          (Please note the variable 'samecountry' has been removed, and a new variable 'domcomp' has been included which more appropriately captures within league competition as it denotes whether the selling club has participated in the top division in the same country over the period, instead of just whether the selling club is situated in the same country)

          Results are without robust s.e. :

          Code:
          . xtreg lnesttransferamount age c.age##c.age careerapps psapps goalsperapps psgoalsperapps previous international cardsperapps
          >  stadiumsize domcomp championsleague ib1.country ib1.transferwindow, fe
          note: age omitted because of collinearity
          
          Fixed-effects (within) regression               Number of obs      =      5810
          Group variable: player                          Number of groups   =      1162
          
          R-sq:  within  = 0.0290                         Obs per group: min =         5
                 between = 0.0643                                        avg =       5.0
                 overall = 0.0601                                        max =         5
          
                                                          F(20,4628)         =      6.91
          corr(u_i, Xb)  = -0.2446                        Prob > F           =    0.0000
          
          ---------------------------------------------------------------------------------
          lnesttransfer~t |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
          ----------------+----------------------------------------------------------------
                      age |   .7709896   .2474619     3.12   0.002     .2858463    1.256133
                      age |          0  (omitted)
                          |
              c.age#c.age |  -.0137197   .0050215    -2.73   0.006    -.0235642   -.0038752
                          |
               careerapps |   .0015173   .0012552     1.21   0.227    -.0009436    .0039782
                   psapps |   .0056096   .0051752     1.08   0.278    -.0045364    .0157555
             goalsperapps |  -2.179628   1.108199    -1.97   0.049    -4.352227   -.0070296
           psgoalsperapps |   .7946263   .3482187     2.28   0.023     .1119517    1.477301
                 previous |   .0471955   .0722406     0.65   0.514    -.0944306    .1888215
            international |  -.2413286   .3498996    -0.69   0.490    -.9272985    .4446414
             cardsperapps |  -2.459153   1.356714    -1.81   0.070    -5.118959    .2006523
              stadiumsize |   6.11e-06   1.66e-06     3.68   0.000     2.85e-06    9.36e-06
                  domcomp |  -.0370898   .0792499    -0.47   0.640    -.1924575    .1182779
          championsleague |   .0175684   .0430424     0.41   0.683    -.0668152    .1019521
                          |
                  country |
                  France  |  -.2985414   .1499574    -1.99   0.047    -.5925294   -.0045533
                 Germany  |   -.347027   .1261666    -2.75   0.006    -.5943736   -.0996804
                   Italy  |   -.320395   .1334262    -2.40   0.016    -.5819739   -.0588161
                   Spain  |  -.3574061   .1319277    -2.71   0.007    -.6160473    -.098765
                          |
           transferwindow |
              1314winter  |    .043913   .0188724     2.33   0.020     .0069142    .0809119
              1415summer  |   .0403749   .0189177     2.13   0.033     .0032873    .0774626
              1415winter  |    .056786   .0189439     3.00   0.003     .0196469    .0939251
              1516summer  |   .0750586   .0193419     3.88   0.000     .0371393    .1129779
                          |
                    _cons |   4.190771   3.043877     1.38   0.169    -1.776679    10.15822
          ----------------+----------------------------------------------------------------
                  sigma_u |   1.237204
                  sigma_e |  .45488779
                      rho |   .8809143   (fraction of variance due to u_i)
          ---------------------------------------------------------------------------------
          F test that all u_i=0:     F(1161, 4628) =    19.94          Prob > F = 0.0000
          
          . testparm i.country
          
           ( 1)  2.country = 0
           ( 2)  3.country = 0
           ( 3)  4.country = 0
           ( 4)  5.country = 0
          
                 F(  4,  4628) =    3.14
                      Prob > F =    0.0136
          With robust s.e. :

          Code:
          . xtreg lnesttransferamount age c.age##c.age careerapps psapps goalsperapps psgoalsperapps previous international cardsperapps
          >  stadiumsize domcomp championsleague ib1.country ib1.transferwindow, fe robust
          note: age omitted because of collinearity
          
          Fixed-effects (within) regression               Number of obs      =      5810
          Group variable: player                          Number of groups   =      1162
          
          R-sq:  within  = 0.0290                         Obs per group: min =         5
                 between = 0.0643                                        avg =       5.0
                 overall = 0.0601                                        max =         5
          
                                                          F(20,1161)         =      4.41
          corr(u_i, Xb)  = -0.2446                        Prob > F           =    0.0000
          
                                           (Std. Err. adjusted for 1162 clusters in player)
          ---------------------------------------------------------------------------------
                          |               Robust
          lnesttransfer~t |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
          ----------------+----------------------------------------------------------------
                      age |   .7709896   .3266688     2.36   0.018     .1300624    1.411917
                      age |          0  (omitted)
                          |
              c.age#c.age |  -.0137197   .0063116    -2.17   0.030     -.026103   -.0013364
                          |
               careerapps |   .0015173   .0012055     1.26   0.208    -.0008479    .0038824
                   psapps |   .0056096   .0066108     0.85   0.396    -.0073609      .01858
             goalsperapps |  -2.179628   1.316227    -1.66   0.098    -4.762078    .4028222
           psgoalsperapps |   .7946263   .3988415     1.99   0.047     .0120956    1.577157
                 previous |   .0471955   .1012816     0.47   0.641    -.1515201     .245911
            international |  -.2413286   .3447813    -0.70   0.484    -.9177927    .4351355
             cardsperapps |  -2.459153   1.926097    -1.28   0.202    -6.238175    1.319868
              stadiumsize |   6.11e-06   2.27e-06     2.70   0.007     1.66e-06    .0000106
                  domcomp |  -.0370898    .113833    -0.33   0.745    -.2604311    .1862515
          championsleague |   .0175684   .0452051     0.39   0.698    -.0711243    .1062612
                          |
                  country |
                  France  |  -.2985414   .1735044    -1.72   0.086    -.6389586    .0418758
                 Germany  |   -.347027   .1918867    -1.81   0.071    -.7235104    .0294565
                   Italy  |   -.320395    .166789    -1.92   0.055    -.6476365    .0068466
                   Spain  |  -.3574061    .154308    -2.32   0.021      -.66016   -.0546523
                          |
           transferwindow |
              1314winter  |    .043913   .0152578     2.88   0.004     .0139771    .0738489
              1415summer  |   .0403749   .0243702     1.66   0.098    -.0074397    .0881896
              1415winter  |    .056786   .0148122     3.83   0.000     .0277243    .0858477
              1516summer  |   .0750586   .0194151     3.87   0.000     .0369659    .1131512
                          |
                    _cons |   4.190771   4.079285     1.03   0.304    -3.812825    12.19437
          ----------------+----------------------------------------------------------------
                  sigma_u |   1.237204
                  sigma_e |  .45488779
                      rho |   .8809143   (fraction of variance due to u_i)
          ---------------------------------------------------------------------------------
          
          . testparm i.country
          
           ( 1)  2.country = 0
           ( 2)  3.country = 0
           ( 3)  4.country = 0
           ( 4)  5.country = 0
          
                 F(  4,  1161) =    1.87
                      Prob > F =    0.1125

          When I cluster the s.e around the players I get the same as above, are they just the same method but coded differently?

          Code:
          . xtreg lnesttransferamount age c.age##c.age careerapps psapps goalsperapps psgoalsperapps previous international cardsperapps
          >  stadiumsize domcomp championsleague ib1.country ib1.transferwindow, fe cluster(player)
          note: age omitted because of collinearity
          
          Fixed-effects (within) regression               Number of obs      =      5810
          Group variable: player                          Number of groups   =      1162
          
          R-sq:  within  = 0.0290                         Obs per group: min =         5
                 between = 0.0643                                        avg =       5.0
                 overall = 0.0601                                        max =         5
          
                                                          F(20,1161)         =      4.41
          corr(u_i, Xb)  = -0.2446                        Prob > F           =    0.0000
          
                                           (Std. Err. adjusted for 1162 clusters in player)
          ---------------------------------------------------------------------------------
                          |               Robust
          lnesttransfer~t |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
          ----------------+----------------------------------------------------------------
                      age |   .7709896   .3266688     2.36   0.018     .1300624    1.411917
                      age |          0  (omitted)
                          |
              c.age#c.age |  -.0137197   .0063116    -2.17   0.030     -.026103   -.0013364
                          |
               careerapps |   .0015173   .0012055     1.26   0.208    -.0008479    .0038824
                   psapps |   .0056096   .0066108     0.85   0.396    -.0073609      .01858
             goalsperapps |  -2.179628   1.316227    -1.66   0.098    -4.762078    .4028222
           psgoalsperapps |   .7946263   .3988415     1.99   0.047     .0120956    1.577157
                 previous |   .0471955   .1012816     0.47   0.641    -.1515201     .245911
            international |  -.2413286   .3447813    -0.70   0.484    -.9177927    .4351355
             cardsperapps |  -2.459153   1.926097    -1.28   0.202    -6.238175    1.319868
              stadiumsize |   6.11e-06   2.27e-06     2.70   0.007     1.66e-06    .0000106
                  domcomp |  -.0370898    .113833    -0.33   0.745    -.2604311    .1862515
          championsleague |   .0175684   .0452051     0.39   0.698    -.0711243    .1062612
                          |
                  country |
                  France  |  -.2985414   .1735044    -1.72   0.086    -.6389586    .0418758
                 Germany  |   -.347027   .1918867    -1.81   0.071    -.7235104    .0294565
                   Italy  |   -.320395    .166789    -1.92   0.055    -.6476365    .0068466
                   Spain  |  -.3574061    .154308    -2.32   0.021      -.66016   -.0546523
                          |
           transferwindow |
              1314winter  |    .043913   .0152578     2.88   0.004     .0139771    .0738489
              1415summer  |   .0403749   .0243702     1.66   0.098    -.0074397    .0881896
              1415winter  |    .056786   .0148122     3.83   0.000     .0277243    .0858477
              1516summer  |   .0750586   .0194151     3.87   0.000     .0369659    .1131512
                          |
                    _cons |   4.190771   4.079285     1.03   0.304    -3.812825    12.19437
          ----------------+----------------------------------------------------------------
                  sigma_u |   1.237204
                  sigma_e |  .45488779
                      rho |   .8809143   (fraction of variance due to u_i)
          ---------------------------------------------------------------------------------
          
          . testparm i.country
          
           ( 1)  2.country = 0
           ( 2)  3.country = 0
           ( 3)  4.country = 0
           ( 4)  5.country = 0
          
                 F(  4,  1161) =    1.87
                      Prob > F =    0.1125

          Regards

          Arunan


          Comment


          • #6
            For -xtreg, fe-, -robust- is interpreted to be -cluster(panelvar)- automatically. This is because the ordinary -robust- standard errors are never appropriate to use with this estimator. So, rather than banning -robust- as an option with -xtreg, fe- Stata Corp. decided to just automatically substitute cluster(panelvar) for it.

            Just be aware that in most other commands, this is not done automatically, so you still need to be aware of the difference between -robust- and -cluster(panelvar)- and select the one that is appropriate for your circumstances. While this approach prevents people from using an invalid vce estimator, it can cause confusion as to just what -robust- refers to, as it means different things in different commands.

            Comment


            • #7
              Clyde,

              Ok, thanks.

              Regarding my F-statistic for country effects for the Fixed Effects and Tobit model, I just wanted some clarification on the interpretation too, and if this was the correct way of analysing my findings.

              Fixed Effects (from above):

              Code:
              . testparm i.country
              
               ( 1)  2.country = 0
               ( 2)  3.country = 0
               ( 3)  4.country = 0
               ( 4)  5.country = 0
              
                     F(  4,  1161) =    1.87
                          Prob > F =    0.1125
              Tobit:

              Code:
              . . tobit transferamount age c.age#c.age careerapps psapps goalsperapps psgoalsperapps previous international cardsperapps sta
              > diumsize domcomp championsleague ib1.country ib1.transferwindow, ll(0) robust
              
              Tobit regression                                  Number of obs   =       5810
                                                                F(  20,   5790) =      12.40
                                                                Prob > F        =     0.0000
              Log pseudolikelihood = -23681.539                 Pseudo R2       =     0.0159
              
              ---------------------------------------------------------------------------------
                              |               Robust
               transferamount |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
              ----------------+----------------------------------------------------------------
                          age |   701827.2   517042.8     1.36   0.175    -311769.9     1715424
                              |
                  c.age#c.age |  -19619.49   10716.21    -1.83   0.067    -40627.28    1388.293
                              |
                   careerapps |   7145.032   3851.066     1.86   0.064    -404.4968    14694.56
                       psapps |   12740.74    19606.8     0.65   0.516    -25695.91    51177.39
                 goalsperapps |    2014509    2584611     0.78   0.436     -3052294     7081312
               psgoalsperapps |    2582636    2159913     1.20   0.232     -1651601     6816872
                     previous |   184338.2   158745.4     1.16   0.246      -126862    495538.4
                international |    1612691   349732.1     4.61   0.000     927085.1     2298296
                 cardsperapps |    2981649    1897756     1.57   0.116    -738661.9     6701960
                  stadiumsize |   22.38929   11.30166     1.98   0.048     .2338167    44.54476
                      domcomp |   273287.8   364876.8     0.75   0.454    -442007.2    988582.7
              championsleague |    1252046   395897.5     3.16   0.002     475938.8     2028153
                              |
                      country |
                      France  |   -1498753   600684.1    -2.50   0.013     -2676319   -321187.9
                     Germany  |   -1626391   537670.4    -3.02   0.002     -2680426   -572356.5
                       Italy  |   -1359217   531029.5    -2.56   0.011     -2400234   -318200.9
                       Spain  |  -711327.5   652550.3    -1.09   0.276     -1990570      567915
                              |
               transferwindow |
                  1314winter  |  -1.00e+07   856188.7   -11.70   0.000    -1.17e+07    -8341946
                  1415summer  |  -247213.2   466279.2    -0.53   0.596     -1161295    666868.4
                  1415winter  |  -1.00e+07   869450.6   -11.55   0.000    -1.17e+07    -8335772
                  1516summer  |     838520   455174.8     1.84   0.065    -53792.77     1730833
                              |
                        _cons |  -1.47e+07    6321555    -2.32   0.020    -2.71e+07    -2291780
              ----------------+----------------------------------------------------------------
                       /sigma |    9166296   499457.8                       8187172    1.01e+07
              ---------------------------------------------------------------------------------
                Obs. summary:       4536  left-censored observations at transferam~t<=0
                                    1274     uncensored observations
                                       0 right-censored observations
              
              . testparm i.country
              
               ( 1)  [model]2.country = 0
               ( 2)  [model]3.country = 0
               ( 3)  [model]4.country = 0
               ( 4)  [model]5.country = 0
              
                     F(  4,  5790) =    2.93
                          Prob > F =    0.0197
              I want to test whether English clubs pay more for players, so is this the right way of doing it? Is this testing whether there is a difference between England and the other four countries (Germany, France, Italy and Spain) completely? OR, is it testing whether there is a difference between each of the countries individually?

              Arunan

              Comment


              • #8
                The omnibus F test of i.country tests the null hypothesis that all of the countries have the same expected outcome (adjusted for other model variables). Let's imagine that we actually had 5 country variables, so that England was included. We sort of have that, except that the England coefficient is constrained to be zero. Anyway, the null hypothesis is that all five coefficients are 0. The rejection of that null hypothesis says that the data are more consistent with one or more of those coefficients, or some linear combination of them, being non-zero. Now, since the coefficient for England is actually constrained to zero, the implication is that the deviation from zero must occur among the other four countries. Since the coefficients in your output are negative, the inference would be that England pays more than at least one of these countries (or than some weighted average of those other countries.)

                So the short answer to your question is: yes, it contrasts the other countries with England, not with each other.

                If you want to contrast them with each other, use -testparm i.country, equal-.

                You can also get pairwise comparisons by using -pwcompare i.country- (See -help pwcompare- for ooptions that can be used with this.)

                Comment


                • #9
                  Clyde,

                  Thanks again.

                  Reading a paper that used the Tobit model in the same field, they have talked about a Likelihood ratio test between the standard tobit model and random effects tobit model and a p-value of 1.0 in their results . I am not sure what this means, or how the test has been conducted. My results from Stata for both the tobit and random effects tobit are:

                  Code:
                  . tobit transferamount age c.age##c.age careerapps psapps goalsperapps psgoalsperapps previous international cardsperapps stad
                  > iumsize domcomp championsleague ib1.country ib1.transferwindow, ll(0) robust
                  note: age omitted because of collinearity
                  
                  Tobit regression                                  Number of obs   =       5810
                                                                    F(  20,   5790) =      12.40
                                                                    Prob > F        =     0.0000
                  Log pseudolikelihood = -23681.539                 Pseudo R2       =     0.0159
                  
                  ---------------------------------------------------------------------------------
                                  |               Robust
                   transferamount |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
                  ----------------+----------------------------------------------------------------
                              age |   701827.2   517042.8     1.36   0.175    -311769.9     1715424
                              age |          0  (omitted)
                                  |
                      c.age#c.age |  -19619.49   10716.21    -1.83   0.067    -40627.28    1388.293
                                  |
                       careerapps |   7145.032   3851.066     1.86   0.064    -404.4968    14694.56
                           psapps |   12740.74    19606.8     0.65   0.516    -25695.91    51177.39
                     goalsperapps |    2014509    2584611     0.78   0.436     -3052294     7081312
                   psgoalsperapps |    2582636    2159913     1.20   0.232     -1651601     6816872
                         previous |   184338.2   158745.4     1.16   0.246      -126862    495538.4
                    international |    1612691   349732.1     4.61   0.000     927085.1     2298296
                     cardsperapps |    2981649    1897756     1.57   0.116    -738661.9     6701960
                      stadiumsize |   22.38929   11.30166     1.98   0.048     .2338167    44.54476
                          domcomp |   273287.8   364876.8     0.75   0.454    -442007.2    988582.7
                  championsleague |    1252046   395897.5     3.16   0.002     475938.8     2028153
                                  |
                          country |
                          France  |   -1498753   600684.1    -2.50   0.013     -2676319   -321187.9
                         Germany  |   -1626391   537670.4    -3.02   0.002     -2680426   -572356.5
                           Italy  |   -1359217   531029.5    -2.56   0.011     -2400234   -318200.9
                           Spain  |  -711327.5   652550.3    -1.09   0.276     -1990570      567915
                                  |
                   transferwindow |
                      1314winter  |  -1.00e+07   856188.7   -11.70   0.000    -1.17e+07    -8341946
                      1415summer  |  -247213.2   466279.2    -0.53   0.596     -1161295    666868.4
                      1415winter  |  -1.00e+07   869450.6   -11.55   0.000    -1.17e+07    -8335772
                      1516summer  |     838520   455174.8     1.84   0.065    -53792.77     1730833
                                  |
                            _cons |  -1.47e+07    6321555    -2.32   0.020    -2.71e+07    -2291780
                  ----------------+----------------------------------------------------------------
                           /sigma |    9166296   499457.8                       8187172    1.01e+07
                  ---------------------------------------------------------------------------------
                    Obs. summary:       4536  left-censored observations at transferam~t<=0
                                        1274     uncensored observations
                                           0 right-censored observations
                  
                  . xttobit transferamount age c.age##c.age careerapps psapps goalsperapps psgoalsperapps previous international cardsperapps st
                  > adiumsize domcomp championsleague ib1.country ib1.transferwindow, ll(0)
                  note: age omitted because of collinearity
                  
                  Obtaining starting values for full model:
                  
                  Iteration 0:   log likelihood = -95850.203
                  Iteration 1:   log likelihood = -95850.184
                  
                  Fitting full model:
                  
                  Iteration 0:   log likelihood = -27183.664  (not concave)
                  Iteration 1:   log likelihood = -25074.833  (not concave)
                  Iteration 2:   log likelihood = -23816.702  
                  Iteration 3:   log likelihood = -23687.484  
                  Iteration 4:   log likelihood = -23681.553  
                  Iteration 5:   log likelihood = -23681.539  
                  Iteration 6:   log likelihood = -23681.539  
                  
                  Random-effects tobit regression                 Number of obs      =      5810
                  Group variable: player                          Number of groups   =      1162
                  
                  Random effects u_i ~ Gaussian                   Obs per group: min =         5
                                                                                 avg =       5.0
                                                                                 max =         5
                  
                  Integration method: mvaghermite                 Integration points =        12
                  
                                                                  Wald chi2(20)      =    561.39
                  Log likelihood  = -23681.539                    Prob > chi2        =    0.0000
                  
                  ---------------------------------------------------------------------------------
                   transferamount |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
                  ----------------+----------------------------------------------------------------
                              age |   701827.2   566834.9     1.24   0.216    -409148.7     1812803
                              age |          0  (omitted)
                                  |
                      c.age#c.age |  -19619.49   11694.11    -1.68   0.093    -42539.52    3300.536
                                  |
                       careerapps |   7145.032   4046.372     1.77   0.077    -785.7113    15075.78
                           psapps |   12740.74   21376.58     0.60   0.551    -29156.59    54638.07
                     goalsperapps |    2014509    2207355     0.91   0.361     -2311828     6340846
                   psgoalsperapps |    2582636    1762612     1.47   0.143    -872020.7     6037292
                         previous |   184338.2   167243.6     1.10   0.270    -143453.2    512129.7
                    international |    1612691   379499.3     4.25   0.000     868885.7     2356496
                     cardsperapps |    2981649    1980438     1.51   0.132    -899938.5     6863236
                      stadiumsize |   22.38929   10.88044     2.06   0.040     1.064019    43.71456
                          domcomp |   273287.8   376828.1     0.73   0.468    -465281.8     1011857
                  championsleague |    1252046     414865     3.02   0.003     438925.5     2065166
                                  |
                          country |
                          France  |   -1498753   574313.1    -2.61   0.009     -2624386   -373120.3
                         Germany  |   -1626391   533442.2    -3.05   0.002     -2671919     -580864
                           Italy  |   -1359217     533836    -2.55   0.011     -2405517   -312917.9
                           Spain  |  -711327.5   589854.4    -1.21   0.228     -1867421    444765.9
                                  |
                   transferwindow |
                      1314winter  |  -1.00e+07   672337.9   -14.90   0.000    -1.13e+07    -8702638
                      1415summer  |  -247213.2   469970.3    -0.53   0.599     -1168338    673911.6
                      1415winter  |  -1.00e+07   675506.9   -14.86   0.000    -1.14e+07    -8716251
                      1516summer  |   838519.9   463288.5     1.81   0.070    -69508.79     1746549
                                  |
                            _cons |  -1.47e+07    6832840    -2.15   0.032    -2.81e+07    -1292270
                  ----------------+----------------------------------------------------------------
                         /sigma_u |   1.54e-10   211030.8     0.00   1.000    -413612.8    413612.8
                         /sigma_e |    9166296   202428.4    45.28   0.000      8769544     9563049
                  ----------------+----------------------------------------------------------------
                              rho |   2.81e-34   7.72e-19                             0           1
                  ---------------------------------------------------------------------------------
                  
                    Observation summary:      4536  left-censored observations
                                              1274     uncensored observations
                                                 0 right-censored observations
                  What does the test mean, and how can it be conducted if so?

                  Arunan

                  Comment


                  • #10
                    So, in a random effects model, your observations are treated as grouped into panels, within which you have repeated observations for which there may be a common intercept. This would account for some or all of the within-panel correlation of the residuals. The random effects estimator separately estimates the variance of the distribution of these panel-level intercepts.

                    The question can then be asked: do the data actually support the existence of different intercepts among the panels. That can, at least for some models, be tested with a likelihood ratio test that compares the log-likelihoods obtained in the model with the random intercepts with the log-likellihood without them. In order for this approach to be used, the analyses must be carried out on the same estimation sample, both models must be estimated by maximum likelihood, and non-random effects model must be nested within the random effects estimator (i.e., you can't have extra variables in the non-random effects model that aren't in the random effects model, too.) But Stata does not support likelihood ratio testing when different estimators (as is this case here) have been used. Some of the -xt- commands internally do this testing and report it at the very bottom of the output. (For example, you will see this with -xtreg-.) But -xttobit- does not.

                    Nevertheless, in your situation, you can see that the coefficients have changed not at all. You can also see that the estimated standard deviation for the panel-level intercepts (/sigma_u) is 1.54e-10, in a model where the typical fixed effect coefficient is in the range of 1e6 or 1e7. So even without any formal statistical test, it is blatantly obvious that adding random effects to your model is about like pouring a gallon of water into the Pacific Ocean.

                    Now, of course, you don't show how you -xtset- your data, and if it was set in some meaningless way, the fact that nothing happened subsequently would not be surprising. I don't really grasp what the natural panel structure in your data is: is it the player? Is that how you -xtxet- your data? If so, that strikes me as reasonable, again with the caution that I don't know anything about this entire context. To the extent that I understand it, I would say that your results show no reason to include the random effects.

                    Comment

                    Working...
                    X