Announcement

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

  • Problems with FE in capital structure study

    Hello all. For my thesis I'm researching the capital structure in the UK and France. More specifically, I need to capture the differences in capital structure between the UK and France. I have unbalanced panel data, clustered at firm level. My dependent variable is the leverage ratio and independent variables are profitability, size, asset growth, age and collateral. My data looks like this, but for lot's of firms in the UK and France


    FirmAge BvDIDNumber year country Founding Year Leverage Profitability Collateral Size AssetGrowth DummyCountry
    4 121580 2009 GB 2005 6.835131 -4.763282 .2543254 9.702473 -.5688832 1
    5 121580 2010 GB 2005 2.48559 -5.911988 .267345 9.006877 -.5012533 1
    6 121580 2011 GB 2005 .9377793 .7685989 .7642363 9.978038 1.641211 1
    7 121580 2012 GB 2005 1.424916 1.030651 .3686646 10.35933 .4641946 1
    8 121580 2013 GB 2005 1.907116 -.5167642 .4044732 10.08251 -.2418143 1
    9 121580 2014 GB 2005 1.666307 -.2464925 .2784373 9.539644 -.4189381 1
    10 121580 2015 GB 2005 3.015105 -.1529442 .0774213 10.19865 .9329448 1


    I'm fairly new to STATA, but according to my research, I should use FE or RE when dealing with panel data.
    The Hausman test told me to go with FE. However, my regression always omits the CountryDummy due to collinairity.
    When using the RE model, I have the same issue. These are commands is used for the FE model with the result:

    xtset BvDIDNumber year, yearly
    xtreg W_LeverageW_
    Profitability Collateral Size AssetGrowth FirmAge i.year DummyCountry, fe robust

    Fixed-effects (within) regression Number of obs = 1,520,805
    Group variable: BvDIDNumber Number of groups = 365,738

    R-squared: Obs per group:
    Within = 0.0149 min = 1
    Between = 0.0180 avg = 4.2
    Overall = 0.0203 max = 9

    F(17,1155050) = 1030.03
    corr(u_i, Xb) = -0.0356 Prob > F = 0.0000

    ---------------------------------------------------------------------------------
    W_Leverage | Coefficient Std. err. t P>|t| [95% conf. interval]
    ----------------+----------------------------------------------------------------
    W_Profitability | -.1755274 .0284945 -6.16 0.000 -.2313756 -.1196791
    Collateral | .1492874 .0278396 5.36 0.000 .0947227 .2038521
    Size | -.3854391 .0035752 -107.81 0.000 -.3924463 -.3784319
    Growth | 2.83e-09 2.70e-09 1.05 0.295 -2.46e-09 8.12e-09
    FirmAge | .177337 .0059341 29.88 0.000 .1657063 .1889677
    |
    year |
    2008 | -.1392909 .0737492 -1.89 0.059 -.2838368 .0052551
    2009 | -.063765 .0654566 -0.97 0.330 -.1920577 .0645278
    2010 | -.0558726 .059235 -0.94 0.346 -.1719712 .060226
    2011 | .0323748 .0536347 0.60 0.546 -.0727473 .1374969
    2012 | .0451677 .0482439 0.94 0.349 -.0493886 .139724
    2013 | .0179986 .0429419 0.42 0.675 -.0661662 .1021633
    2014 | -.0223605 .0378232 -0.59 0.554 -.0964927 .0517716
    2015 | .0039274 .0330422 0.12 0.905 -.0608343 .0686891
    2016 | -.0053064 .0289801 -0.18 0.855 -.0621064 .0514937
    2017 | .0004413 .0253577 0.02 0.986 -.0492589 .0501415
    2018 | .02575 .0226593 1.14 0.256 -.0186614 .0701613
    2019 | .097358 .02119 4.59 0.000 .0558264 .1388896
    2020 | 0 (omitted)
    |
    DummyCountry | 0 (omitted)
    _cons | 4.70828 .0640685 73.49 0.000 4.582708 4.833852
    ----------------+----------------------------------------------------------------
    sigma_u | 6.7545334
    sigma_e | 4.5279624
    rho | .68994961 (fraction of variance due to u_i)
    ---------------------------------------------------------------------------------
    F test that all u_i=0: F(365737, 1155050) = 7.30 Prob > F = 0.0000

    So my question is: How can I run a regression which allows me to capture the difference in capital structure between the UK and France?

    Thanks in advance.





  • #2
    If a research goal is to contrast things in France with things in the UK, then it is mathematically impossible to do that in a fixed-effects model with firm as the panel fixed-effect. This is because, as you probably know, any given firm operates always in the same country, so that the country variable is constant within panels, and is thereby colinear with the fixed effect and is droppped. You will have to abandon fixed-effects, Hausman notwithstanding. You could do a random effects model, or to have something like the best of both worlds, look into -xthybrid-, available from SSC, which implements the Mundlak procedure.

    Comment


    • #3
      Thanks for the quick response. I have already tried the random effects model, but there my CountryDummy also gets omitted. Why is this the case?

      Furthermore, can I solve my problem by splitting my dataset between the UK and France? If so, which regression should I use?

      Comment


      • #4
        I have already tried the random effects model, but there my CountryDummy also gets omitted. Why is this the case?
        That must be due to colinearity with something else. Please post back with a fuller data example that includes numerous observations from both countries, and I'll try to figure out what's going on. When you do that, be sure to use the -dataex- command. If you are running version 17, 16 or a fully updated version 15.1 or 14.2, -dataex- is already part of your official Stata installation. If not, run -ssc install dataex- to get it. Either way, run -help dataex- to read the simple instructions for using it. -dataex- will save you time; it is easier and quicker than typing out tables. It includes complete information about aspects of the data that are often critical to answering your question but cannot be seen from tabular displays or screenshots. It also makes it possible for those who want to help you to create a faithful representation of your example to try out their code, which in turn makes it more likely that their answer will actually work in your data.

        For some situations like this, splitting the data set and follow-up with -suest- will work. However, even after splitting by country, you will have to do a panel-data regression (xtreg) in each country, and -suest- will not work with -xtreg-. More important, however, the fact that country is colinear with some other variable(s) in the data is a problem, and splitting the data set will cover up, but not solve, that problem. You would get results that might look good but would be completely meaningless. Your goal of contrasting UK and France cannot be achieved in the presence of colinearity. So we need to get to the bottom of that first.

        Comment


        • #5
          Clyde, thanks for the quick and clear feedback. However, I have trouble using the dataex command to provide a clear data example.
          Since I have a large dataset, I use the code as in the help guide:
          randomtag if length(Company_ID) == 4, count(100) gen(pick)

          But this gets an error message. Which code should I use? I don't really understand.

          Comment


          • #6
            -randomtag- is not official Stata and I'm unfamiliar with it. The following will give 50 observations from each country:

            Code:
            set seed 1234
            gen double shuffle1 = runiform()
            gen double shuffle2 = runiform()
            by DummyCountry (shuffle1 shuffle2), sort: keep if _n <= 50
            drop shuffle*
            dataex Leverage Profitability Collateral Size AssetGrowth FirmAge  year DummyCountry,
            Note: I listed the variables Leverage and Profitability, because those variable names appear in your data example in #1. But in the -xtreg- code there seems to be variables W_Leverage and W_Profitability. If those are calculated from Leverage and Profitability in some way, then include also any variables needed for that calculation, and also supply the code to calculate them.

            By the way, never say "this gets an error message" or something "didn't work." There are, in general, a huge number of ways something can go wrong, but only one way it can go right. If you want help, you have to show the actual error message or show/explain in detail, in exactly what way something didn't work. Otherwise, nobody can even start to figure out what you need to do differently.
            Last edited by Clyde Schechter; 22 Jun 2022, 18:36.

            Comment


            • #7
              The variables W_Leverage and W_Profitability are just the leverage and profitability ratio winsorized.

              * Example generated by -dataex-. For more info, type help dataex
              clear
              input float(W_Leverage W_Profitability Collateral Size AssetGrowth FirmAge) int year float DummyCountry
              .723376 -.0185637 .06502599 9.844533 -.0427984 . 2012 0
              .11956218 . . . . . 2016 0
              .866798 . . . . . 2013 0
              .9515651 -.2104246 .18942283 9.886646 . . 2009 0
              .7322741 . . . . . 2009 0
              .49241695 .0475686 .06364893 11.968114 -.031937953 . 2016 0
              .4083055 . . . . . 2009 0
              .58813053 .27946433 0 13.65712 .6734374 . 2019 0
              .6597296 .21315058 .0628082 12.050337 .07729977 . 2013 0
              .13643862 .939725 .0204239 10.881325 -.04147889 . 2017 0
              1.213535 .04601239 .8044834 13.49913 -.06596587 . 2018 0
              .10664324 .21786386 .04106083 12.059288 .23694615 . 2020 0
              .3240311 -.18978025 .08567771 11.09162 -.08204748 . 2013 0
              1.2002403 . . . . . 2011 0
              1.2935883 . . . . . 2015 0
              .6203812 .08400947 0 12.151157 .12476829 . 2019 0
              .9387405 . . . . . 2013 0
              .24575143 -.03849047 .14876643 12.286407 -.10429237 . 2017 0
              1.0584885 .717646 .02569981 10.68327 -.57872725 . 2012 0
              .3038651 . . . . . 2008 0
              .2659727 .4146224 .02628526 10.472884 -.0022020836 . 2008 0
              .51192385 0 .04279477 14.727522 .49497935 . 2017 0
              .6617537 .29069147 .08137554 11.813156 . . 2011 0
              .900499 .11258993 .0944383 10.495183 . . 2013 0
              .9155126 .012239154 .022998286 13.311405 -.489532 . 2012 0
              .6700672 .1787322 .408883 10.239495 .9302021 . 2013 0
              1.5767734 . . . . . 2012 0
              1.0354252 . . . . . 2008 0
              .52285767 .20029944 .06402495 13.764684 -.0489893 . 2014 0
              .9655353 . . . . . 2006 0
              .3743417 0 .06277858 13.687078 .05107716 . 2019 0
              .9250981 . . . . . 2012 0
              .885432 .1876164 .14992173 11.379622 . . 2017 0
              .10549046 -.2672925 0 10.965505 -.31587225 . 2014 0
              .8483741 .4235769 .1116036 11.519156 -.10904905 . 2015 0
              .3581177 . . . . . 2010 0
              .8264641 . . . . . 2006 0
              .97008 . . . . . 2012 0
              .594064 .11603903 .026849957 12.671532 .5470329 . 2018 0
              1.2785482 . . . . . 2009 0
              3.048362 -.9234079 0 6.906755 . . 2015 0
              .8329914 -.3266039 .008986653 11.868198 -.29633904 . 2010 0
              .8526179 0 .0022659355 14.490652 -.7502995 . 2020 0
              .734718 .04911487 .02294211 13.09263 .019908464 . 2011 0
              1.0359503 -.13698134 .4592391 13.09284 .792689 . 2018 0
              .9666916 .07773117 0 12.680333 1.6938598 . 2013 0
              .3054332 -.010420213 .9182796 13.16683 .008442042 . 2020 0
              .3605906 .11520477 .14724758 15.526806 .07487283 . 2020 0
              1.082034 .3270226 0 8.729236 .017116524 . 2013 0
              .8034094 1.220686 0 8.92572 -.2530288 . 2012 0
              55.33234 0 .9941664 9.698061 -.22548273 7 2014 1
              . . . 0 . 6 2014 1
              .5216867 0 .01205686 11.29749 .26427877 3 2013 1
              . . . . . 0 2018 1
              . . . 0 . 4 2018 1
              .3157593 0 .02050817 11.309916 -.1165826 6 2017 1
              .4231475 0 .1773318 9.811263 -.14376262 4 2013 1
              .6016238 . . 0 . 1 2007 1
              2.75006 0 .7366056 10.29563 4.237438 3 2011 1
              . . . . . 0 2017 1
              . 0 0 8.39231 -.3526995 4 2020 1
              0 0 0 4.844187 .09565217 5 2015 1
              . . . 0 . 7 2019 1
              .9532894 0 .05384512 10.300685 -.6495064 4 2012 1
              .21902452 0 0 11.668406 . 2 2018 1
              . . . 0 -1 2 2010 1
              . . . 0 . 6 2011 1
              . . . . . 0 2013 1
              0 0 1 6.335054 . 2 2019 1
              . . . 0 . 10 2015 1
              0 0 0 7.062191 .06 5 2011 1
              .22736877 0 .1114273 9.79384 . 1 2018 1
              .11054136 0 0 9.437954 -.3173662 2 2013 1
              0 0 0 1.0986123 0 5 2014 1
              . . . 0 . 8 2020 1
              .21174066 0 .01938515 10.5253 .09566675 4 2018 1
              .855549 0 0 11.458332 -.0010128506 7 2016 1
              . . . 0 . 1 2006 1
              . . . 0 -1 2 2008 1
              . . . . . 0 2013 1
              . . . . . 0 2013 1
              . . . 0 . 7 2019 1
              .27930585 0 .028445257 10.39928 .4737433 3 2018 1
              . . . 0 . 8 2014 1
              . . . 0 . 10 2017 1
              .9910169 0 0 10.231243 .58406574 4 2014 1
              . . . 0 . 7 2020 1
              .2663779 0 0 10.954782 .47371945 4 2019 1
              . . . . . 0 2012 1
              .5077092 0 .13362063 11.239962 -.03058131 8 2018 1
              .1472974 0 .001632729 14.587405 -.53924865 6 2017 1
              0 0 0 .6931472 0 8 2019 1
              . . . . . 0 2018 1
              .3320528 0 .2435185 10.23595 1.0753889 4 2018 1
              . . . 0 . 3 2017 1
              . . . 0 . 9 2018 1
              . . . 0 -1 7 2019 1
              . . . . . 0 2013 1
              . . . . . 0 2019 1
              . . . . . 0 2015 1
              end

              Comment


              • #8
                So here's the source of your problem: the variable FirmAge is always missing when DummyCountry = 0. When Stata does any kind of estimation, any observation that has a missing value for any of the variables in the regression command is excluded. So when you get to actually fitting the regression you have only observations where DummyCountry = 1. In other words, in the estimation sample, DummyCountry is a constant, and is therefore omitted.

                You have another problem that is similar. In the DummyCountry = 1 observations, W_Profitability is always 0. Consequently, again, once the DummyCountry = 0 observations are excluded, W_Profitability is a constant and gets omitted from your model.

                So, the problem is that your data set is deficient and unable to support the analysis you need. You need to find the values of FirmAge for the observations in DummyCountry = 1.* Once you do that, the colinearity induced omissions will go away. However, it is very hard for me to believe that Profitability (winsorized or not) is actually 0 in every company in Country 1. If I'm right, then that means your data is erroneous on this variable and you need to fix the data errors before proceeding.

                Once you do those things, you should be able to get what you need from a random-effects model.

                One more collinearity observation, that may or may not be a problem. FirmAge is going to be colinear with year and the firm identifier in a fixed-effects regression. This type of colinearity did not lead to any variable being omitted, but you will notice in your output shown in #1 that year 2020 is omitted in addition to the omission of a reference year (2007). This is the result of that colinearity. It means that the separate effects of year and FirmAge are not identifiable in a fixed effects model. Now, if you your research goals do not require you to separately estimate those things (i.e. you are just including them to adjust for their influence on the outcome variable, as "control variables") then this is not an issue and you can just mostly forget about it. You just have to remember that the coefficients for FirmAge and year cannot be interpreted. Even in a random effects model, although these coefficients will be estimable, the strong relationship between them will cause the standard errors of some or all of those coefficients to be very large, so your estimates of those effects will have carry very little precision. Again, that's only a problem if estimating those effects is part of your research goal, not if they're just there for adjustment purposes.

                *Added: Alternatively, you can just remove the FirmAge variable from the regression and that will also fix the problem, if FIrmAge isn't really important here.
                Last edited by Clyde Schechter; 22 Jun 2022, 19:24.

                Comment


                • #9
                  Clyde, thank you for the clear answer, I will go to work now.

                  [QUOTE= You need to find the values of FirmAge for the observations in DummyCountry = 1.* Once you do that, the colinearity induced omissions will go away.[/QUOTE]

                  Don't you mean that I have to find the values of FirmAge for the observations in DummyCountry=0? Since these are the values that are missing.

                  Comment


                  • #10
                    Don't you mean that I have to find the values of FirmAge for the observations in DummyCountry=0? Since these are the values that are missing.
                    Yes. Sorry, my confusion.

                    Comment

                    Working...
                    X