Hi Users,

Long time quiet reader, first time poster - I hope I have followed the community recommended approach properly. I apologise if not and thank you in advance for any help.

I am using the xtologit command in Stata 17.0. I have consulted as many previous questions to this forum and help guides as I can but I am still missing some understanding.

I have an ordinal dependent variable which is the number of visits to the GP (general practitioner doctor surgery in the UK) in the last 12 months. Categorised as follows: 1 (Very poor health (10+ visits)); 2 (Poor health (4-6 visits)); 3 (Average health (2-3 visits); 4 (Good health (1-2 visits); 5 (Perfect health (0 visits). Whereby this variable is a proxy for health - those in a low category (1, or 2) are visiting the GP more times and are believed to be in worse health.

In my dataset I have a group of individuals who are 'treated' (by receiving an exogenous increase in income) and a group who are 'control' (who are the untreated / counterfactual). I have control variables for female (1= female; 0=male); furthereduc (1= achieved higher education; 0= did not) and age (continuous). I am using a two period difference-in-differences approach to determine if the increase in income has a causal effect on decreasing the number of GP visits - which is why I am most interested in the interpretation of the estimate on the interaction term.

Please may I seek clarification and advice on the following questions:

(1) in the below -xtologit- output, is my general interpretation correct?
"being a treated individual in the post period (atet) there is a higher probability (likelihood) of being in the lower categories of GP visits - given negative coefficients"

(2) is my code for trying to output margins correct? I am trying to reach an output where I can make a comment such as "The ATET (being treated and in the post period) means an individual is X% less likely to be in category 1 of visit_gp (i.e. very poor health) and the individual is Y% less likely to be in the category 2 of visit_gp (i.e. poor health) and the individual is Z% more likely to be in the category 5 (i.e. perfect health). I am not sure my current code is delivering the required output because I would have expected some positive and some negative marginal effects



Here is the code I am using:
Code:
xtset pidp year
keep if year==2015 | year==2016
*Remove observations which have missing values
drop if treated2016_basecase==. | visit_gp==. | age==. | female==. | furthereduc==.
*Any individual that only appears once must be dropped because otherwise regression may capture effects of leaving the labour market
bysort pidp: drop if _N==1
*Check to ensure that the size of treatment and control groups is the same in both the pre and post intervention periods
tab year treated2016_basecase

*Generating Average Treatment Effect of Treated (ATET)
g atet=.
replace atet =(treated2016_basecase*post2016)
label define atet 1 "ATET" 0 "Baseline", replace
label values atet atet
label variable atet "ATET"

*Ordered logistic regression for GP visits
xtologit visit_gp i.post2016 i.treated2016_basecase i.atet c.age i.furthereduc i.female

This is the output I currently have:
Code:
Fitting comparison model:

Iteration 0:   log likelihood = -1894.1805  
Iteration 1:   log likelihood = -1878.6944  
Iteration 2:   log likelihood = -1878.6672  
Iteration 3:   log likelihood = -1878.6672  

Refining starting values:

Grid node 0:   log likelihood = -1836.7557

Fitting full model:

Iteration 0:   log likelihood = -1836.7557  
Iteration 1:   log likelihood = -1772.2448  
Iteration 2:   log likelihood = -1768.3413  
Iteration 3:   log likelihood = -1768.2766  
Iteration 4:   log likelihood = -1768.2765  

Random-effects ordered logistic regression           Number of obs    =  1,362
Group variable: pidp                                 Number of groups =    681

Random effects u_i ~ Gaussian                        Obs per group:
                                                                  min =      2
                                                                  avg =    2.0
                                                                  max =      2

Integration method: mvaghermite                      Integration pts. =     12

                                                     Wald chi2(6)     =  27.67
Log likelihood = -1768.2765                          Prob > chi2      = 0.0001

----------------------------------------------------------------------------------------------
                    visit_gp | Coefficient  Std. err.      z    P>|z|     [95% conf. interval]
-----------------------------+----------------------------------------------------------------
                             |
                    post2016 |
          Post Intervention  |  -.0708782   .1365138    -0.52   0.604    -.3384403    .1966839
                             |
        treated2016_basecase |
                    Treated  |   .3639954   .2394449     1.52   0.128    -.1053079    .8332988
                             |
                        atet |
                       ATET  |  -.5966812   .2292338    -2.60   0.009    -1.045971   -.1473911
                         age |  -.0139749   .0088376    -1.58   0.114    -.0312964    .0033465
                             |
                 furthereduc |
 Achieved Further Education  |  -.0769321   .2039696    -0.38   0.706    -.4767051    .3228409
                             |
                      female |
                     female  |  -.7140386   .2144538    -3.33   0.001     -1.13436   -.2937168
-----------------------------+----------------------------------------------------------------
                       /cut1 |  -5.816949   .5220329                     -6.840115   -4.793783
                       /cut2 |  -4.394885   .4991386                     -5.373179   -3.416591
                       /cut3 |   -2.28405   .4776321                     -3.220192   -1.347908
                       /cut4 |   .7056797   .4685216                     -.2126058    1.623965
-----------------------------+----------------------------------------------------------------
                   /sigma2_u |   4.578534   .5849712                      3.564295     5.88138
----------------------------------------------------------------------------------------------
LR test vs. ologit model: chibar2(01) = 220.78        Prob >= chibar2 = 0.0000

.
. margins atet

Predictive margins                                       Number of obs = 1,362
Model VCE: OIM

1._predict: Pr(1.visit_gp), predict(pr outcome(1))
2._predict: Pr(2.visit_gp), predict(pr outcome(2))
3._predict: Pr(3.visit_gp), predict(pr outcome(3))
4._predict: Pr(4.visit_gp), predict(pr outcome(4))
5._predict: Pr(5.visit_gp), predict(pr outcome(5))

-------------------------------------------------------------------------------
              |            Delta-method
              |     Margin   std. err.      z    P>|z|     [95% conf. interval]
--------------+----------------------------------------------------------------
_predict#atet |
  1#Baseline  |   .0458419   .0062402     7.35   0.000     .0336114    .0580724
      1#ATET  |   .0691755     .01205     5.74   0.000     .0455578    .0927932
  2#Baseline  |   .0703647   .0072393     9.72   0.000      .056176    .0845534
      2#ATET  |   .0933941   .0116942     7.99   0.000      .070474    .1163142
  3#Baseline  |   .2122565   .0118731    17.88   0.000     .1889857    .2355273
      3#ATET  |   .2466207   .0160977    15.32   0.000     .2150697    .2781716
  4#Baseline  |   .4070927   .0141687    28.73   0.000     .3793227    .4348628
      4#ATET  |   .3909165   .0158156    24.72   0.000     .3599184    .4219146
  5#Baseline  |   .2644442   .0148508    17.81   0.000     .2353372    .2935512
      5#ATET  |   .1998932   .0221671     9.02   0.000     .1564464      .24334
-------------------------------------------------------------------------------

Below is a snippet of my dataset using the dataex command

Code:
* Example generated by -dataex-. For more info, type help dataex
clear
input long pidp float(female education treated2016_basecase post2016 atet visit_gp)
 68017687 1 3 1 0 0 4
 68017687 1 4 1 1 1 3
 68137365 1 1 0 0 0 5
 68137365 1 1 0 1 0 4
 68150967 0 3 0 0 0 2
 68150967 0 3 0 1 0 1
 68150975 0 3 0 0 0 2
 68150975 0 3 0 1 0 3
 68155047 1 3 0 0 0 4
 68155047 1 3 0 1 0 3
 68166607 1 6 1 0 0 4
 68166607 1 6 1 1 1 3
 68197895 0 2 1 0 0 5
 68197895 0 2 1 1 1 5
 68244807 1 3 0 0 0 3
 68244807 1 3 0 1 0 4
 68273371 1 2 1 0 0 3
 68273371 1 2 1 1 1 2
 68317567 0 3 1 0 0 4
 68317567 0 3 1 1 1 2
 68347487 0 2 1 0 0 3
 68347487 0 2 1 1 1 1
 68351571 0 4 0 0 0 3
 68351571 0 4 0 1 0 4
 68356331 0 3 0 0 0 5
 68356331 0 3 0 1 0 5
 68439289 1 3 0 0 0 3
 68439289 1 3 0 1 0 3
 68469887 1 4 0 0 0 5
 68469887 1 4 0 1 0 4
 68474647 1 1 1 0 0 4
 68474647 1 1 1 1 1 1
 68569173 1 4 0 0 0 1
 68569173 1 4 0 1 0 1
 68573253 1 4 0 0 0 4
 68573253 1 4 0 1 0 2
 68622207 1 3 0 0 0 1
 68622207 1 3 0 1 0 4
 68636487 1 3 0 0 0 4
 68636487 1 3 0 1 0 4
 69078487 1 4 0 0 0 3
 69078487 1 4 0 1 0 3
 69264127 1 3 0 0 0 5
 69264127 1 3 0 1 0 4
 69269571 0 3 0 0 0 3
 69269571 0 3 0 1 0 3
 69280447 0 4 1 0 0 3
 69280447 0 4 1 1 1 4
 69625205 1 6 0 0 0 3
 69625205 1 6 0 1 0 5
 69831249 1 3 1 0 0 3
 69831249 1 3 1 1 1 3
 70154249 1 4 0 0 0 4
 70154249 1 4 0 1 0 5
 70625485 1 2 0 0 0 2
 70625485 1 2 0 1 0 3
 70786645 1 1 1 0 0 4
 70786645 1 1 1 1 1 5
 71148405 0 3 1 0 0 4
 71148405 0 3 1 1 1 4
 71148409 1 3 0 0 0 5
 71148409 1 3 0 1 0 4
 71434005 1 4 1 0 0 5
 71434005 1 4 1 1 1 5
 71461209 1 4 1 0 0 4
 71461209 1 4 1 1 1 4
 73997888 1 5 1 0 0 5
 73997888 1 5 1 1 1 4
 77031164 0 3 1 0 0 2
 77031164 0 3 1 1 1 2
 81731933 0 1 0 0 0 5
 81731933 0 1 0 1 0 5
 82171885 1 3 1 0 0 3
 82171885 1 3 1 1 1 2
 88916809 1 6 1 0 0 4
 88916809 1 6 1 1 1 4
 89099729 1 3 1 0 0 4
 89099729 1 3 1 1 1 3
 89272445 1 2 1 0 0 4
 89272445 1 2 1 1 1 2
 95416925 1 3 0 0 0 1
 95416925 1 3 0 1 0 4
 95575369 0 3 0 0 0 4
 95575369 0 3 0 1 0 3
 96029609 1 1 0 0 0 4
 96029609 1 1 0 1 0 3
 96088769 1 3 1 0 0 2
 96088769 1 3 1 1 1 1
105610882 0 1 0 0 0 5
105610882 0 1 0 1 0 5
136071407 1 3 1 0 0 4
136071407 1 3 1 1 1 4
136123767 1 5 0 0 0 3
136123767 1 5 0 1 0 4
136214215 0 5 1 0 0 5
136214215 0 5 1 1 1 5
136235967 1 4 1 0 0 5
136235967 1 4 1 1 1 5
136303285 0 6 0 0 0 5
136303285 0 6 0 1 0 5
end
label values female female
label def female 0 "male", modify
label def female 1 "female", modify
label values education education
label def education 1 "No qualification", modify
label def education 2 "Other qualification", modify
label def education 3 "GCSE etc", modify
label def education 4 "A-level etc", modify
label def education 5 "Other higher degree", modify
label def education 6 "Degree", modify
label values treated2016_basecase treated2016_basecase
label def treated2016_basecase 0 "Control", modify
label def treated2016_basecase 1 "Treated", modify
label values post2016 post2016
label def post2016 0 "Pre Intervention", modify
label def post2016 1 "Post Intervention", modify
label values atet atet
label def atet 0 "Baseline", modify
label def atet 1 "ATET", modify
label values visit_gp visit_gp
label def visit_gp 1 "V. Poor Health (>10 visits)", modify
label def visit_gp 2 "Poor Health (6-10 visits)", modify
label def visit_gp 3 "Average Health (3-5 visits)", modify
label def visit_gp 4 "Good Health (1-2 visits)", modify
label def visit_gp 5 "Perfect Health (0 visits)", modify