Announcement

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

  • Visually depict the interactive effect of a survival analysis




    Hello there,

    I would like to get some assistance please, on how to visually depict the interactive effect in my survival analysis. This is a pretty long one, so kindly bear with me
    For example, an estimation of the likelihood of a potential target firm being acquired, contingent on external factors such as industry competition (continuous variable) and level of industry sales (continuous variable) as well as internal factors of potential target firms such as assets (continuous variable) and number of employees (continuous variable), and also some interaction variables such as competition*assets and competition*#employees.

    The analysis will involve streg (Parametric survival model):

    stset LFE_REFYR, failure(acquired) id(OP_ID)

    streg compet partner assets employ compet_assets compet_employ, dist(e) nohr

    where 'acquired' is a dichotomous categorical variable indicating if the potential target firm is acquired (1 = acquired; 0 = not acquired)
    LFE_REFYR = year
    OP_ID is the target firm's unique ID
    compet = industry competition
    indsales = level of industry sales
    assets = assets of potential target firms
    employ = number of employees of potential target firms
    compet_assets = interaction variable between industry competition and assets
    compet_employ = interaction variable between industry competition and number of employees

    The plot of the interactive effect will show how the effect of competition on likelihood of acquisition changes with the level of potential target firm assets:
    y-axis: probability of being acquired
    x-axis: industry competition represented in standard deviation units [mean +/- standard deviation units in 0.5 unit increments]

    The plot will show two curves - one for high-asset target firms and the other for low-asset target firms; high-asset target firms are those whose assets are more than the top quartile, while low-asset target firms are those whose assets are less than the top quartile; all other variables will be held at their mean levels.



    Code:
    * Example generated by -dataex-. To install: ssc install dataex
    clear
    input float(LFE_REFYR OP_ID compet indsales) double assets int employ byte acquired float(compet_assets compet_employ)
    2000 12341   .462056 29802180 135560.76120556414 11 0  62636.66  5.082616
    2000 12342  .3484394 50860816  289909.5652173914 13 0  101015.9 4.5297117
    2000 12343  .2283101 50080384 225511.36363636362 10 0  51486.52  2.283101
    2000 12344  .3229231 71408080 1019090.2366863905 15 0  329087.8  4.843847
    2000 12345 .40260035 17703958  873875.2642706131  8 0  351822.5  3.220803
    2000 12346 .50641453  5886413  638726.6355140187 15 0  323460.4  7.596218
    2000 12347  .6789437 11288420  2207725.587144623  7 0 1498921.4  4.752606
    2000 12348  .8942683  6824116   93530.0586510264 12 0  83640.96  10.73122
    end

    Can you kindly help?
    Thanks!

  • #2
    So, if you want a graph where the dependent variable is the probability of being acquired, the survival analysis you have done would not be the starting point for that. Rather you would need a model of the probability of survival itself. -logit- suggests itself, though it is certainly not the only way.

    You need to re-do the analysis using factor variable notation to handle the interactions. Also, it would make sense, given the graph you want, to use quartiles of assets, rather than the assets themselves, and standardized competition, rather than competition itself as regressors. So something like this:

    Code:
    xtile asset_quartile = assets, nq(4)
    egen compet_std = std(compet)
    
    logit acquired partner c.compet_std##(i.asset_quartile c.employ)
    
    margins, at(compet_std = (-2.75(0.25)2.75) asset_quartile = (1 4))
    marginsplot, xdimension(compet_std)
    Note: Not tested. Beware of typos, especially in variable names, unbalanced parens, etc.

    -marginsplot- accepts pretty much all options available in -graph twoway- commands, so you can customize the appearance of the graph to your taste. The code above will give you the substance.

    All of that said, if I were your advisor/supervisor/reviewer, I would not want to see a graph like this. First of all, if you are going to break the data up into quartiles (a dubious move in the first place), then you should graph all four quartiles. There is no worry that there will be too many curves rendering the graph unreadable, so there is no reason to suppress what happens in the two middle quartiles as well, and it might even be quite interesting to see. Next, unless the variable that measures competition is denominated in arbitrary and meaningless units, standardization only obfuscates the picture. What on earth does it mean to talk about, say, the effect of a 1 SD difference in competition? Nobody can, without seeing the actual data, know how big a 1 SD difference in competition is. Standardized variables serve only to confuse the audience, because nobody can grasp what their magnitudes mean, or how big or small they are in any real terms. If the original variable is, itself, quantified in meaninglesss units, then perhaps no harm is done by standardizing. And sometimes there are reasons to have several variables all on the same scale, and standardizing is one way of doing that--but you don't talk about standardizing any other variables in your model.

    Comment


    • #3

      Clyde, Thank you! Definitely, graphing all quartiles would be more informative and interesting. The scenario I gave would basically just show how the extremes of the interacting variable (assets) put in firms in different positions for acquisition (assuming acquisition is desirable) in an environment of competition: the high-asset firms - greater likelihood; low-asset firms - lower likelihood. Of course the results of the survival analysis would give the numerical results, but without visual diagrams.
      In regard to the x-axis, it can be in actual units as long as I can still show separate graphs regarding the interacting variable.

      Below is my adaptation (subject to corrections of course) on how it would be if I were showing all four quartiles and using real units (not mean +/- SD) in the x-axis:

      xtile asset_quartile = assets, nq(4)

      logit acquired partner c.competition##(i.asset_quartile c.employ)

      margins, at(competition asset_quartile = (1 2 3 4))

      marginsplot, xdimension(competition)


      Yes? No?

      Thanks

      Comment


      • #4
        Almost. You need to specify values for competition in the -margins- command. In your example data, I see that that variable ranges between 0.228 and 0.894, with a mean of 0.48. So I'd probably do the margins command something like this:

        Code:
        margins, at(competition = (0.25 (0.10) 0.85 0.90) (asset_quartile = (1 2 3 4))
        Everything else looks good.

        Comment


        • #5
          I appreciate these, Clyde.
          Thank you!

          Comment

          Working...
          X