Announcement

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

  • Estimating propensity scores for multinomial treatment variable

    Hello StataList,

    I am examining whether a multinomial variable (having three groups: 0 [ref], 1 and 2) is associated with and outcome. I aim to control for confounding using propensity score methods. I tried to estimate propensity scores using the dr command in Stata, but the command did not let me compute propensity scores because my “treatment” variable was not binary. I was wondering if anyone knew of a method for which I could estimate propensity scores for a multinomial “treatment” variable. I was thinking that I could create two propensity scores (one for 0 vs. 1, and another for 0 vs. 2), and apply these propensity scores separately in analyses for each level, but I didn’t know if this was an adequate approach.

    I appreciate the help anyone can provide.


  • #2
    Try
    Code:
    help teffects multivalued
    .

    Comment


    • #3
      Thank you very much. This is very helpful!

      Comment


      • #4
        Hi, Christopher,

        Guo and Fraser (Propensity Score Analysis: Statistical Methods and Applications, 2nd edition) approached this tricky problem and provided a few strategies.

        Maybe I can sum them up to you.

        Indeed, one solution is, as you said, transforming a 3-category-variable into a binary variable.

        But if you want to preserve all categories, an alternative is taking these three steps:

        A. Use a multinomial logit model and estimate the generalized scores

        B. Employ the inverse of the generalized scores as sample weights

        C. Perform a regression analysis with these weights.


        For example, let's consider "cat3" your categorical variable (with 3 groups), "yvar" a continuous variable (your "outcome") and a set of predictor ("x") variables. Let's also consider the group 2 of cat3 as the baseline category:

        . mlogit cat3 x1 x2 x3 x4 x5 x6 x7, baseoutcome(2)
        . predict prob0 prob1 prob2
        . gen dose_w=1/prob0 if cat3==0
        . replace dose_w=1/prob1 if cat3==1
        . replace dose_w=1/prob2 if cat3==2
        . sum dose_w
        . regress yvar x1 x2 x3 x4 x5 x6 x7 catvar[pweight = dose_w], robust

        Personally, I didn't have yet the opportunity to use such strategies to cope with propensity score analyses under multinomial logit models. But I gather they will perform accordingly.

        I hope that might be of some help!

        Best,

        Marcos

        Best regards,

        Marcos

        Comment


        • #5
          Hi Marcos, many thanks for sharing the solution and code. Very helpful. I am trying to using the method you suggest with multiple imputation. However, when I used the predict command following the estimation of the multinomial model to predict the generalised propensity scores, I got an error message. I don't know how to proceed from here. How to modelling multiple treatment with propensity score based on multiple imputation? Any help on this is much appreciated!

          Attached Files

          Comment


          • #6
            -mi predict- works differently; if you go to:
            Code:
            h mi predict
            and scroll down to "Example: Obtain MI predictions after multiple-equation commands" you will see an example following an mlogit

            Comment


            • #7
              Hi Rich, thank you very much for your reply. This is really helpful.

              Best, Sijia

              Comment

              Working...
              X