I used the following estimation command to understand the interaction effect of ownership and knowledge transfer on extent of change. Level of change is ordinal (likert scale 1 (low) to 7 (high)). tdiscA is continuous and i.ownership represents three types of ownership.

Oprobit change_ordered i.ownership##c.g_tdiscA c.g_twriteA

Option 1: margins, dydx (*) predict (outcome(1)) (calculated for all 7 levels)
  • Does not give margins for interaction terms as shown below. Based on previous posts on statalist, I understand that marginal effects of interaction terms are not required.
Expression : Pr(success_change_ordered==1), predict(outcome(1))


Delta-method
dy/dx Std. Err. z P>z [95% Conf. Interval]

ownership
Privatized -.0280291 .0136042 -2.06 0.039 -.0546929 -.0013654
Privatelabel -.0242134 .0141734 -1.71 0.088 -.0519928 .003566

g_tdiscA -.0051901 .0020324 -2.55 0.011 -.0091736 -.0012067
g_twriteA -.0014238 .0008795 -1.62 0.105 -.0031476 .0002999
  • I did get marginal effects with both margins and mfx commands when I used xi with the obrobit estimation command but again previous posts indicate that it is an incorrect method as margins and mfx commands do not recognize that interaction term is composed of two independent variables.

So, I used Option 2:
Estimation command : Oprobit success_change_ordered i.ownership c.g_tdiscA c.g_twriteA

. margins, dydx (g_tdiscA) at (ownership=(1 2 3)) which gave the following output:

Average marginal effects
Model VCE : OIM

dy/dx w.r.t. : g_tdiscA
1._predict : Pr(success_change_ordered==1), predict(pr outcome(1))
2._predict : Pr(success_change_ordered==2), predict(pr outcome(2))
3._predict : Pr(success_change_ordered==3), predict(pr outcome(3))
4._predict : Pr(success_change_ordered==4), predict(pr outcome(4))
5._predict : Pr(success_change_ordered==5), predict(pr outcome(5))
6._predict : Pr(success_change_ordered==6), predict(pr outcome(6))
7._predict : Pr(success_change_ordered==7), predict(pr outcome(7))

1._at : ownership = 1

2._at : ownership= 2

3._at : ownership = 3


Delta-method
dy/dx Std. Err. z P>z [95% Conf. Interval]
Delta-method
dy/dx Std. Err. z P>z [95% Conf. Interval]
g_tdiscA
_predict#_at
1 1 -.0224093 .0107487 -2.08 0.037 -.0434764 -.0013421
1 2 -.0006509 .0007295 -0.89 0.372 -.0020808 .0007789
1 3 -.0044864 .0025165 -1.78 0.075 -.0094187 .0004458
2 1 -.0293141 .0078636 -3.73 0.000 -.0447265 -.0139017
2 2 -.0024366 .002514 -0.97 0.332 -.0073639 .0024908
2 3 -.0121492 .0041794 -2.91 0.004 -.0203408 -.0039576
3 1 -.0447426 .0058104 -7.70 0.000 -.0561308 -.0333544
3 2 -.0078801 .0078603 -1.00 0.316 -.023286 .0075258
3 3 -.0313729 .0070563 -4.45 0.000 -.045203 -.0175428
4 1 -.0197531 .0082422 -2.40 0.017 -.0359075 -.0035988
4 2 -.0062559 .0062295 -1.00 0.315 -.0184654 .0059536
4 3 -.0241202 .0067637 -3.57 0.000 -.0373768 -.0108636
5 1 .0516192 .0086933 5.94 0.000 .0345806 .0686578
5 2 .0090445 .0089605 1.01 0.313 -.0085177 .0266068
5 3 .0311785 .0076746 4.06 0.000 .0161364 .0462205
6 1 .0465584 .0125783 3.70 0.000 .0219053 .0712115
6 2 .0066234 .0066424 1.00 0.319 -.0063955 .0196423
6 3 .0306105 .0082679 3.70 0.000 .0144057 .0468153
7 1 .0180415 .0101576 1.78 0.076 -.001867 .03795
7 2 .0015556 .0016865 0.92 0.356 -.0017498 .004861
7 3 .0103398 .0047437 2.18 0.029 .0010422 .0196373

I would appreciate your response the following two questions:
  • Am I correct in using option 2? If not, please suggest the correct one.
  • How do I interpret the margins output.
Thank you,
Mona