Announcement

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

  • Request for help- interpreting results post margins.

    Hello everyone,

    I am using probit model in Stata 16.1 to identify [dependent var] whether a firm chooses to donate money to a particular race [A firm can choose to donate or not donate, and to whom to donate, at its will]. The explanatory variable is the ratio of (proportion) directors on the firm’s board, who belong to that race.

    Code:
    As you may notice through summary stats, only around 9.94% of the firms choose to donate toward the development of the race, and that the proportion of directors from this racial background on firms’ boards is very low (11.67%).
    sum activity_for_race ratio_board_race
    
    Variable         Obs        Mean    Std. Dev.       Min    Max
    activity_f~e       3,772    .0994168    .2992604          0    1
    ratio_boar~e       3,772    .1167132    .0931283          0    .546
    
    When I use xtprobit command, as predicted, I find that the higher the ratio of board of directors who belong to a particular race, the lower the probability that a firm will donate toward the development of that race.
    xi: xtprobit activity_for_race ratio_board_race lag_roa size lag_firm_risk lag_firm_age lag_liquidity advertising_sales rd_sales higher_edu_ratio coefvar_age female_bod_ratio indep_bod_ratio  , vce(robust) 
    (1) (2)
    VARIABLES activity_for_race /
    ratio_board_race -1.950**
    (0.835)
    lag_roa 0.0262**
    (0.0102)
    size 0.222***
    (0.0522)
    lag_firm_risk -0.330***
    (0.101)
    lag_firm_age 0.339**
    (0.133)
    lag_liquidity -0.0702
    (0.0595)
    advertising_sales 0.0568*
    (0.0336)
    rd_sales 6.456*
    (3.532)
    higher_edu_ratio 0.305
    (0.357)
    coefvar_age 1.019
    (1.075)
    female_bod_ratio 0.913
    (1.008)
    indep_bod_ratio -0.762
    (0.644)
    lnsig2u 0.863***
    (0.180)
    Constant -5.418***
    (0.851)
    Observations 3,437 3,437
    Number of co_code 1,075 1,075
    The Margins command shows the following results: margins, dydx(ratio_board_race) at(ratio_board_race=(0(0.1)0.6)) marginsplot, recast(line) recastci(rarea) ciopt(lcolor(navy) fcolor(ebblue) color(%20)) plot1opts(lcolor(navy) fcolor(ebblue%> 35)) ---------------------------------------------------------------------------------- | Delta-method | dy/dx Std. Err. z P>|z| [95% Conf. Interval] -----------------+---------------------------------------------------------------- ratio_board_race | _at | 1 | -.2044895 .0995239 -2.05 0.040 -.3995527 -.0094263 2 | -.1815109 .0794067 -2.29 0.022 -.3371451 -.0258767 3 | -.1595206 .060602 -2.63 0.008 -.2782983 -.0407429 4 | -.1388028 .0436096 -3.18 0.001 -.224276 -.0533296 5 | -.1195754 .0288116 -4.15 0.000 -.1760451 -.0631056 6 | -.1019893 .0165515 -6.16 0.000 -.1344296 -.0695489 7 | -.0861304 .0076791 -11.22 0.000 -.101181 -.0710797 ---------------------------------------------------------------------------------- Click image for larger version

Name:	Graph.png
Views:	1
Size:	120.3 KB
ID:	1648768 Q1. The marginsplot shows an increasing (positive) line. However, because I have covered the whole range of explanatory variable, how is the probability [Effects on Pr(activity_for_race=1] negative for all the values of ratio_board_race ? How can I interpret this? Q2. Does the Margins show that an increase in ratio (proportion) of directors from the race actually improve donation toward their own race communities, given the trend is toward lesser negative / 0?
    I will very much appreciate if someone can clarify my doubt.

    Thanks,
    Nishant
    Last edited by Nishant Kathuria; 06 Feb 2022, 22:13.

  • #2
    What margins shows you depends on the default prediction after an estimation command. You can find the default by typing help xtprobit, then go to the tab "Also see" near the top, and go to "[XT] xtprobit postestimation", then within the list of commands go to "predict". There you will see that the default prediction after xtprobit is the linear predictor. So that is why you see negative values after margins. With the predict() option within margins, you can change the default.
    ---------------------------------
    Maarten L. Buis
    University of Konstanz
    Department of history and sociology
    box 40
    78457 Konstanz
    Germany
    http://www.maartenbuis.nl
    ---------------------------------

    Comment


    • #3
      Thank you very much Maarten Buis for the suggestion. You shared with me a very detailed procedure, this is very helpful.
      Yes, I can now see that the default is xb/linear for xtprobit. Following your suggestion, I added predict(pr) to the margins command. The result, however, remains the same as my previous margins output that was without predict. Please let me know if I am missing something.

      Code:
      . margins, dydx(ratio_board_race) at(ratio_board_race=(0(0.1)0.6)) predict(pr)
      
      Average marginal effects                        Number of obs     =      3,437
      Model VCE    : Robust
      
      Expression   : Pr(activity_for_race=1), predict(pr)
      dy/dx w.r.t. : ratio_board_race
      
      1._at        : ratio_boar~e    =           0
      
      2._at        : ratio_boar~e    =          .1
      
      3._at        : ratio_boar~e    =          .2
      
      4._at        : ratio_boar~e    =          .3
      
      5._at        : ratio_boar~e    =          .4
      
      6._at        : ratio_boar~e    =          .5
      
      7._at        : ratio_boar~e    =          .6
      
      ----------------------------------------------------------------------------------
                       |            Delta-method
                       |      dy/dx   Std. Err.      z    P>|z|     [95% Conf. Interval]
      -----------------+----------------------------------------------------------------
      ratio_board_race |
                   _at |
                    1  |  -.2044895   .0995239    -2.05   0.040    -.3995527   -.0094263
                    2  |  -.1815109   .0794067    -2.29   0.022    -.3371451   -.0258767
                    3  |  -.1595206    .060602    -2.63   0.008    -.2782983   -.0407429
                    4  |  -.1388028   .0436096    -3.18   0.001     -.224276   -.0533296
                    5  |  -.1195754   .0288116    -4.15   0.000    -.1760451   -.0631056
                    6  |  -.1019893   .0165515    -6.16   0.000    -.1344296   -.0695489
                    7  |  -.0861304   .0076791   -11.22   0.000     -.101181   -.0710797
      ----------------------------------------------------------------------------------
      It will be very helpful if I can learn to compute the exact probability that the dependent variable will be "1" for the values of 0,0.1,0.2,03,0.4,0.5,0.6 for the ratio_board_race variable. Also, given that I have used at(ratio_board_race=(0(0.1)0.6)) predict(pr) in the margins command, does the column (dy/dx) with predict(pr) reflects actual probabilities at those values [0,0.1,0.2,03,0.4,0.5,0.6] or that still reflects the change in probability that the outcome will be positive ("1")?

      Thanks again.

      Comment


      • #4
        They are negative because you still did not ask for the predicted probabilities, but for the change in predicted probability for a unit change in ratio_board_race. Apparently the marginal effect is negative. To get the predicted probabilities just remove the dydx() option.
        ---------------------------------
        Maarten L. Buis
        University of Konstanz
        Department of history and sociology
        box 40
        78457 Konstanz
        Germany
        http://www.maartenbuis.nl
        ---------------------------------

        Comment

        Working...
        X