Announcement

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

  • Triple interaction with 2 dummy variables

    Hello everyone,
    I hope you're all well.

    I have a question about triple interactions with two dummy variables and one continuous variable.

    Here are my variables:

    gender_code = 1 if the CFO is a woman and 0 if the CFO is a man
    gender_CEO = 1 if the CFO is a woman and 0 a man
    ASSE = continuous variable (culture)

    when I do my triple interaction :

    Code:
    regress JM_w_abs c.centASSE##i.gender_code##i.gender_ceo LnSIZE BM_w leverageratio_w LOSS LEGAL Outsideinvestorprotection GDPpercapitagrowth UNEMPL CORRUP i.H i.chiffres, vce(robust)

    I have this result:

    Code:
    Linear regression                               Number of obs     =      6,654
                                                    F(46, 6607)       =      56.40
                                                    Prob > F          =     0.0000
                                                    R-squared         =     0.3702
                                                    Root MSE          =     .15688
    
    ---------------------------------------------------------------------------------------------------
                                      |               Robust
                             JM_w_abs | Coefficient  std. err.      t    P>|t|     [95% conf. interval]
    ----------------------------------+----------------------------------------------------------------
                             centASSE |   .0224221   .0067837     3.31   0.001     .0091239    .0357202
                        1.gender_code |     .00576   .0059113     0.97   0.330     -.005828     .017348
                                      |
               gender_code#c.centASSE |
                                   1  |   .0276245   .0176948     1.56   0.119     -.007063     .062312
                                      |
                         1.gender_ceo |   .0211316   .0121103     1.74   0.081    -.0026084    .0448716
                                      |
                gender_ceo#c.centASSE |
                                   1  |  -.0307967   .0304843    -1.01   0.312    -.0905557    .0289624
                                      |
               gender_code#gender_ceo |
                                 1 1  |  -.0533472   .0258814    -2.06   0.039    -.1040832   -.0026112
                                      |
    gender_code#gender_ceo#c.centASSE |
                                 1 1  |   .2019513   .1090912     1.85   0.064    -.0119026    .4158053
                                      |


    I therefore have a coefficient = 0.2020. If I understand correctly, the triple interaction will compare the effect of the continuous variable when CFO and CEO are women vs CFO and CEO are men. So we're comparing 1 1 with 0 0.

    Here's how I concluded: As a result, when the CEO and CFO are both women, companies located in countries where assertiveness is high have higher risk management practices than when both leaders are men.

    Now, if I code differently

    CFOH = 1 if the CFO is a man and 0 a woman
    CEOH = 1 if the CEO is a man and 0 a woman
    ASSE = continuous variable (culture)

    when I do my triple interaction :

    Code:
    regress JM_w_abs c.centASSE##i.CFOH##i.CEOH LnSIZE BM_w leverageratio_w LOSS LEGAL Outsideinvestorprotection GDPpercapitagrowth UNEMPL CORRUP i.H i.chiffres, vce(robust)
    Code:
    Linear regression                               Number of obs     =      6,654
                                                    F(46, 6607)       =      56.40
                                                    Prob > F          =     0.0000
                                                    R-squared         =     0.3702
                                                    Root MSE          =     .15688
    
    -------------------------------------------------------------------------------------------
                              |               Robust
                     JM_w_abs | Coefficient  std. err.      t    P>|t|     [95% conf. interval]
    --------------------------+----------------------------------------------------------------
                     centASSE |   .2212012   .1032888     2.14   0.032     .0187218    .4236807
                       1.CFOH |   .0475872   .0251744     1.89   0.059    -.0017628    .0969372
                              |
              CFOH#c.centASSE |
                           1  |  -.2295758   .1075806    -2.13   0.033    -.4404687    -.018683
                              |
                       1.CEOH |   .0322156   .0228037     1.41   0.158     -.012487    .0769182
                              |
              CEOH#c.centASSE |
                           1  |  -.1711547   .1048299    -1.63   0.103    -.3766552    .0343458
                              |
                    CFOH#CEOH |
                         1 1  |  -.0533472   .0258814    -2.06   0.039    -.1040832   -.0026112
                              |
         CFOH#CEOH#c.centASSE |
                         1 1  |   .2019513   .1090912     1.85   0.064    -.0119026    .4158053
    I have coefficeint = 0.2020. I don't understand why I don't have the opposite sign to the previous one. This time I thought I was comparing male CFO and male CEO vs female CFO and female CEO. Why do I have exactly the same coefficient with exactly the same sign?

    This result is therefore the opposite of my previous conclusion...

    Last point, now if I do an interaction between female CFO and male CEO or vice versa (i.e. diversity) I have exactly the same coefficient but with the opposite sign, i.e. -0.2020. Basically, I thought I'd be comparing female CFOs and male CEOs with male CFOs and female CEOs. But that's not the case because I have the same coefficient.

    Could you please explain?
    Is it coherent to do triple interactions knowing that I only have 40 observations that have a female CFO and a female CEO against 6,600 other combinations (diversified and male CFO male CEO)?

    Thanks in advance,

  • #2
    Your interpretation of the triple interaction term is not correct. In fact, it doesn't have any interpretation that can be put simply into words. If you want to compare expected outcomes for 1 1 to 0 0 you would have to look at 1. CFOH#c.centASSE + 1.CEOH + 1.CEOH#c.centASSE + 1.CFOH#1.CEOH + 1.CFOH#1.CEOH#c.centASSE. To compare marginal effects of centASSE in 1 1 vs 0 0, you would look at 1. CFOH#c.centASSE + 1.CEOH#c.centASSE + 1.CFOH#1.CEOH#c.centASSE. (-lincom- will do this for you, although -margins- is probably even easier to use).

    Is it coherent to do triple interactions knowing that I only have 40 observations that have a female CFO and a female CEO against 6,600 other combinations (diversified and male CFO male CEO)?
    The imbalance is not relevant, but regardless of how many "other" combinations you have, 40 is a pretty small sample of female CFO and female CEO to work with. Your estimates for anything going on with that subset will not be very precise.

    By the way, it isn't clear to me exactly what your research question is. But if you are specifically interested in comparing 0 0 with everything else, rather than doing a three way interaction, consider just creating an indicator for CEO == 0 & CFO == 0, and then just analyzing i.that##c.centASSE. Two way interactions are much easier to understand. Of course, this will not mitigate the limitations that come with only having 40 in that group.

    Comment


    • #3
      centASSE measures the slope for all male in the first model and all females in the second. Both positive, but not equal.

      I'd write out the equation and find what coefficients measure what (the dummies just trigger coefficients on and off).

      Model is a bit complicated to interpret.

      Note the following from Model 2: 0.2212012 -0.2295758 - 0.1711547 + 0.2019513 = 0.02242

      where 0.02242 is the coefficient on centASSE from the first model.

      Comment


      • #4
        I agree with Clyde on all counts. If you want to know the effect of both being female, you can compute that with margins (or sum the coefficients).

        Comment


        • #5
          Thank you both very much for your very informative answers.

          If I understand correctly, using the following formula :

          Code:
          1. CFOH#c.centASSE + 1.CEOH#c.centASSE + 1.CFOH#1.CEOH#c.centASSE (0.02762 - 0.03080 + 0.2020).
          I get -0.1988, and if I use the dummy codes 1 for female and 0 for male I get 0.1988.

          And if i Use the first formula :

          Code:
          1. CFOH#c.centASSE + 1.CEOH + 1.CEOH#c.centASSE + 1.CFOH#1.CEOH + 1.CFOH#1.CEOH#c.centASSE
          I get -0.2199, and if I use the dummy codes 1 for female and 0 for male I get 0.1666.

          If I have understood correctly, I can interpret this result as follows (with 0.1988 or 0.1666): when both the CEO and CFO are women, companies in countries with high assertiveness exhibit greater evidence of AEM practices (dependent variable JM_w_abs).

          Also, when I try to use the :

          Code:
          margins, dydx(*) post
          It doesn't work because there is "i." in the interactions.
          When I change to continuous (c.) it works but only displays the coefficients of the variables alone (the interactions are not displayed). Do you have a solution?


          Thanks again and have a nice day,

          Comment


          • #6

            Code:
            regress JM_w_abs centASSE CFOH CEOH c.centASSE#(c.CFOH c.CEOH) LnSIZE BM_w leverageratio_w LOSS LEGAL Outsideinvestorprotection GDPpercapitagrowth UNEMPL CORRUP i.H i.chiffres, vce(robust)
            centASSE coefficient measures the all-female slope.

            c.centASSE#c.CFOH measures the change in centASSE slope with male CFO.

            c.centASSE#c.CEOH measures the change in centASSE slope with male CEO.

            c.centASSE#c.CFOH + c.centASSE#c.CEOH measures the change in centASSE slope with BOTH male CEO and CFO.

            The sign on these variables tells you directly the DIFFERENCE in how ASSE flows through to JM_w_abs (and their size tells you by how much).

            Code:
            margins, dydx(ASSE) over(CFOH CEOH)
            gives you the slopes.

            Code:
            clear all  
            set obs 100000
            g fceo = runiform()>0.6
            g fcfo = runiform()>0.6
            g fboth = fceo + fcfo > 1
            g mceo = 1 - fceo
            g mcfo = 1 - fcfo  
            g mboth = mceo + mcfo > 1  
            g ASSE = rgamma(10,5)  
            g y = 1 + 0.5*ASSE - 0.1*mceo - 0.05*mcfo  - 0.1*mceo*ASSE - 0.2*mcfo*ASSE + rnormal()  
            
            reg y ASSE mcfo mceo fboth c.ASSE#(c.mcfo c.mceo)
            margins, dydx(ASSE) over(mcfo mceo)

            Comment


            • #7
              Thanks again for your answer.

              I have one last question to be sure of my interpretation.

              Here is the result of my regression using the variable centFUTUR (culture) and the dummy variables (gender_code and gender_ceo which respectively take 1 if the CFO or CEO is a woman and 0 for a man).

              Code:
              Linear regression                               Number of obs     =      6,654
                                                              F(46, 6607)       =      57.97
                                                              Prob > F          =     0.0000
                                                              R-squared         =     0.3763
                                                              Root MSE          =     .15612
              
              ----------------------------------------------------------------------------------------------------
                                                 |               Robust
                                        JM_w_abs | Coefficient  std. err.      t    P>|t|     [95% conf. interval]
              -----------------------------------+----------------------------------------------------------------
                                     gender_code |   .0055987   .0059141     0.95   0.344    -.0059948    .0171923
                                      gender_ceo |   .0191826   .0127314     1.51   0.132     -.005775    .0441402
                                                 |
                      c.gender_code#c.gender_ceo |   -.020672    .028643    -0.72   0.470    -.0768215    .0354775
                                                 |
                                       centFUTUR |   .1046848   .0105414     9.93   0.000     .0840202    .1253494
                                                 |
                         gender_code#c.centFUTUR |
                                              1  |   .0395279   .0170641     2.32   0.021     .0060769     .072979
                                                 |
                          gender_ceo#c.centFUTUR |
                                              1  |  -.0150451   .0456736    -0.33   0.742    -.1045802      .07449
                                                 |
              gender_code#gender_ceo#c.centFUTUR |
                                            1 1  |    .070073   .0790652     0.89   0.376    -.0849204    .2250665
              I then calculated the margins effect:
              Code:
              margins, dydx(centFUTUR) over(gender_code gender_ceo)
              and here are the results:

              Code:
              Expression: Linear prediction, predict()
              dy/dx wrt:  centFUTUR
              Over:       gender_code gender_ceo
              
              ----------------------------------------------------------------------------------------
                                     |            Delta-method
                                     |      dy/dx   std. err.      t    P>|t|     [95% conf. interval]
              -----------------------+----------------------------------------------------------------
              centFUTUR              |
              gender_code#gender_ceo |
                                0 0  |   .1046848   .0105414     9.93   0.000     .0840202    .1253494
                                0 1  |   .0896397   .0455832     1.97   0.049     .0002819    .1789975
                                1 0  |   .1442127   .0149751     9.63   0.000     .1148566    .1735688
                                1 1  |   .1992407   .0639181     3.12   0.002     .0739404    .3245409
              Is it correct to interpret these results as follows?
              As we can see, the triple interaction coefficient is not significant. On the other hand, the marginal effects are significant for the four combinations and we can see that the coefficient is greater for the Woman / Woman pair. The analyses show that the influence of centFUTUR on JM_w_abs is modulated by the gender configuration within the company's management. In particular, we observe that this influence is most marked when the two positions of CEO and CFO are held by women, with a significant increase of 0.1992 in JM_w_abs for each point increase in centFUTUR.

              Is it right to focus on the significant marginal effects rather than the insignificant triple interaction?

              Thanks a lot,

              Comment


              • #8
                The coefficients are what are important. A female CFO increases the slope (0.1046848 to 0.1442127: +0.0395279, prob = 0.021). A female CEO has no effect (-0.0150451, prob = 0.742) on the slope (0.1046848 to 0.0896397).

                The t-stats in the margins command is just a test of whether the slope == 0, not whether they are different from each other.

                Or this may work (but check e(b) to get the right names for things):

                Code:
                 margins, dydx(centFUTUR) over(gender_code gender_ceo) post
                matrix list e(b)
                lincom 0.gender_code#0.gender_ceo - 1.gender_code#0.gender_ceo
                lincom 0.gender_code#0.gender_ceo - 0.gender_code#1.gender_ceo
                lincom 0.gender_code#0.gender_ceo - 1.gender_code#1.gender_ceo

                Comment


                • #9
                  Thanks again for your reply.

                  I think I understand now.

                  I'll take two examples:
                  The first with the variable centFUTUR

                  Code:
                  Linear regression                               Number of obs     =      6,654
                                                                  F(46, 6607)       =      57.97
                                                                  Prob > F          =     0.0000
                                                                  R-squared         =     0.3763
                                                                  Root MSE          =     .15612
                  
                  ----------------------------------------------------------------------------------------------------
                                                     |               Robust
                                            JM_w_abs | Coefficient  std. err.      t    P>|t|     [95% conf. interval]
                  -----------------------------------+----------------------------------------------------------------
                                         gender_code |   .0055987   .0059141     0.95   0.344    -.0059948    .0171923
                                          gender_ceo |   .0191826   .0127314     1.51   0.132     -.005775    .0441402
                                                     |
                          c.gender_code#c.gender_ceo |   -.020672    .028643    -0.72   0.470    -.0768215    .0354775
                                                     |
                                           centFUTUR |   .1046848   .0105414     9.93   0.000     .0840202    .1253494
                                                     |
                             gender_code#c.centFUTUR |
                                                  1  |   .0395279   .0170641     2.32   0.021     .0060769     .072979
                                                     |
                              gender_ceo#c.centFUTUR |
                                                  1  |  -.0150451   .0456736    -0.33   0.742    -.1045802      .07449
                                                     |
                  gender_code#gender_ceo#c.centFUTUR |
                                                1 1  |    .070073   .0790652     0.89   0.376    -.0849204    .2250665
                  Here, we can see that the triple interaction is insignificant, so looking at the margins effect is not necessarily useful. Indeed, I want to focus only on the results where the gender of the two positions (CFO and CEO) has an impact on the culture-dependent variable (centFUTURE).


                  On the other hand, for the triple interaction with centASSE,

                  Code:
                  Linear regression                               Number of obs     =      6,654
                                                                  F(46, 6607)       =      56.40
                                                                  Prob > F          =     0.0000
                                                                  R-squared         =     0.3702
                                                                  Root MSE          =     .15688
                  
                  ---------------------------------------------------------------------------------------------------
                                                    |               Robust
                                           JM_w_abs | Coefficient  std. err.      t    P>|t|     [95% conf. interval]
                  ----------------------------------+----------------------------------------------------------------
                                        gender_code |     .00576   .0059113     0.97   0.330     -.005828     .017348
                                         gender_ceo |   .0211316   .0121103     1.74   0.081    -.0026084    .0448716
                                                    |
                         c.gender_code#c.gender_ceo |  -.0533472   .0258814    -2.06   0.039    -.1040832   -.0026112
                                                    |
                                           centASSE |   .0224221   .0067837     3.31   0.001     .0091239    .0357202
                                                    |
                             gender_code#c.centASSE |
                                                 1  |   .0276245   .0176948     1.56   0.119     -.007063     .062312
                                                    |
                              gender_ceo#c.centASSE |
                                                 1  |  -.0307967   .0304843    -1.01   0.312    -.0905557    .0289624
                                                    |
                  gender_code#gender_ceo#c.centASSE |
                                               1 1  |   .2019513   .1090912     1.85   0.064    -.0119026    .4158053

                  We can see that the coefficient of the triple interaction is significant. By applying your code:

                  Code:
                   margins, dydx(centASSE) over(gender_code gender_ceo) post
                  
                  Average marginal effects                                 Number of obs = 6,654
                  Model VCE: Robust
                  
                  Expression: Linear prediction, predict()
                  dy/dx wrt:  centASSE
                  Over:       gender_code gender_ceo
                  
                  ----------------------------------------------------------------------------------------
                                         |            Delta-method
                                         |      dy/dx   std. err.      t    P>|t|     [95% conf. interval]
                  -----------------------+----------------------------------------------------------------
                  centASSE               |
                  gender_code#gender_ceo |
                                    0 0  |   .0224221   .0067837     3.31   0.001     .0091239    .0357202
                                    0 1  |  -.0083746    .029871    -0.28   0.779    -.0669315    .0501823
                                    1 0  |   .0500465   .0171827     2.91   0.004      .016363    .0837301
                                    1 1  |   .2212012   .1032888     2.14   0.032     .0187218    .4236807
                  ----------------------------------------------------------------------------------------
                  
                  . matrix list e(b)
                  
                  e(b)[1,4]
                           centASSE:      centASSE:      centASSE:      centASSE:
                       0.gender_c~e#  0.gender_c~e#  1.gender_c~e#  1.gender_c~e#
                       0.gender_ceo   1.gender_ceo   0.gender_ceo   1.gender_ceo
                  y1      .02242206     -.00837459      .05004655      .22120124
                  
                  . lincom 0.gender_code#0.gender_ceo - 1.gender_code#0.gender_ceo
                  
                   ( 1)  [centASSE]0bn.gender_code#0bn.gender_ceo - [centASSE]1.gender_code#0bn.gender_ceo = 0
                  
                  ------------------------------------------------------------------------------
                               | Coefficient  Std. err.      t    P>|t|     [95% conf. interval]
                  -------------+----------------------------------------------------------------
                           (1) |  -.0276245   .0176948    -1.56   0.119     -.062312     .007063
                  ------------------------------------------------------------------------------
                  
                  . lincom 0.gender_code#0.gender_ceo - 0.gender_code#1.gender_ceo
                  
                   ( 1)  [centASSE]0bn.gender_code#0bn.gender_ceo - [centASSE]0bn.gender_code#1.gender_ceo = 0
                  
                  ------------------------------------------------------------------------------
                               | Coefficient  Std. err.      t    P>|t|     [95% conf. interval]
                  -------------+----------------------------------------------------------------
                           (1) |   .0307967   .0304843     1.01   0.312    -.0289624    .0905557
                  ------------------------------------------------------------------------------
                  
                  . lincom 0.gender_code#0.gender_ceo - 1.gender_code#1.gender_ceo
                  
                   ( 1)  [centASSE]0bn.gender_code#0bn.gender_ceo - [centASSE]1.gender_code#1.gender_ceo = 0
                  
                  ------------------------------------------------------------------------------
                               | Coefficient  Std. err.      t    P>|t|     [95% conf. interval]
                  -------------+----------------------------------------------------------------
                           (1) |  -.1987792   .1035524    -1.92   0.055    -.4017753    .0042169
                  ------------------------------------------------------------------------------
                  There is no significant difference between the fact that two men hold the positions of CFO and CEO vs. diversity in the position (female CFO + male CEO or male CFO + female CEO).

                  However, looking at the difference between male CFO + male CEO vs female CFO and female CEO. We note a significant coefficient at -0.1988 indicating that the dependent variable increases when two women are in these positions compared to two men in a context of high assertiveness.


                  Is it correct to conclude like this? Is it correct to focus only on the triple interactions that are significant (indicating that an effect is present)?


                  Thanks in advance
                  Last edited by Loic DUBOIS; 16 Jul 2024, 02:31.

                  Comment


                  • #10
                    It is correct conceptually, but I worry that the huge difference may be due to sample size. How many (female = 1 , 1) do you have?

                    Comment


                    • #11
                      Unfortunately, not many. I have around 40, or less than 1%. Do you recommend focusing only on male-male pairs and diversified pairs (0 1 or 1 0) and ignoring the differences with female-female pairs?

                      Comment


                      • #12
                        It's the same problem, you're just shifting it to the counterfactual.

                        I would look at the standardized differences of the vars across the groups (0,0) (1,0) (0,1) (1,1). The (1,1) group may be very different than the others, so the big difference is conflating one thing for another.

                        Comment


                        • #13
                          I understand now. Do you have the stata commands to use the standardiezd differences directly after calculating the margins effect?

                          Thank you very much for your help.

                          Comment


                          • #14
                            there are several:

                            ssc install covbal, replace h covbal ssc install stddiff , replace h stddiff you'll have to create a dummy for both female cfo/ceo (say, gender_both).

                            covbal gender_code xvars , abs
                            covbal gender_ceo xvars , abs
                            covbal gender_both xvars , abs

                            looking for values of 0.25 or bigger, but mainly just large means differences as this is mostly a check on weirdness in the sample.

                            Comment


                            • #15
                              Thanks again, you really helped me a lot.

                              Have a nice day.

                              Comment

                              Working...
                              X