Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

st: Fwd: psmatch2 kernel matching


From   Christina Wei <[email protected]>
To   [email protected]
Subject   st: Fwd: psmatch2 kernel matching
Date   Thu, 31 Oct 2013 18:21:20 -0400

Hi all, I have a question about kernel matching/propensity match analysis.

I have a database with ~ 400 pts, there are 2 groups of patients
(treated and untreated), whom I am trying to match them by key
covariates.  I decided to go with kernel matching because it gave me
the greatest amount of metabias reduction, compared to other matching
algorithms.

The command I used was:

. psmatch2 treat_status age_1 female income_1 smoker_1 bmi_1 waist_1
edu_1 if cohort==0 & dmstatus _11==0, kernel k(epan) com logit

Logistic regression                               Number of obs   =        379
                                                   LR chi2(7)      =      20.50
                                                  Prob > chi2     =     0.0046
Log likelihood = -231.45013                       Pseudo R2       =     0.0424


------------------------------------------------------------------------------
treat_status |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
        age_1 |   .0407305   .0108218     3.76   0.000     .0195202    .0619408

      female |  -.2388684   .31013  -0.77   0.441    -.8467301    .3689933


    income_1 |  -.1101363   .0899938    -1.22   0.221     -.286521    .0662483
     smoker_1 |  -.0553164   .2924599    -0.19   0.850    -.6285272    .5178944
       bmi_1 |   .0393986   .0238286     1.65   0.098    -.0073045    .0861017
     waist_1 |  -.0023815   .0100084    -0.24   0.812    -.0219976    .0172346
        edu_1 |   .0305265   .0567433     0.54   0.591    -.0806883    .1417412
       _cons |  -2.340632   1.441815    -1.62   0.105    -5.166537    .4852736
------------------------------------------------------------------------------
 ------------------------------------------------------------------------------



Then I checked covariate balance using pstest to make sure that each
covariate are evenly balanced between the groups.



Then I used the _weight generated from the psmatch2 command to help
match up my patients in the following cox regression:


. stset DM_yr_conversion if cohort==0 & dmstatus_11==0 [pw=_weight],
failure(DM_censor) id(unqid_c
ohort)

                id:  unqid_cohort
     failure event:  DM_censor != 0 & DM_censor < .
obs. time interval:  (DM_yr_conversion[_n-1], DM_yr_conversion]
 exit on or before:  failure
             weight:  [pweight=_weight]
             if exp:  cohort==0 & dmstatus_11==0

------------------------------------------------------------------------------
     1156  total obs.
      758  ignored at outset because of -if <exp>-
        5  event time missing (DM_yr_conversion>=.)             PROBABLE ERROR
       29  weights invalid                                      PROBABLE ERROR
------------------------------------------------------------------------------
       364  obs. remaining, representing
      364  subjects
       54  failures in single failure-per-subject data
 2131.652  total analysis time at risk, at risk from t =         0
                             earliest observed entry t =         0
                                   last observed exit t =  9.745206

.
end of do-file

. do "C:\Users\CHRIST~1\AppData\Local\Temp\STD0h000000.tmp"

. stcox i.treat_status hba1c_1 glucose_1 if _support==1 & cohort==0


         failure _d:  DM_censor
   analysis time _t:  DM_yr_conversion
                 id:  unqid_cohort
             weight:  [pweight=_weight]

(sum of wgt is   4.7067e+02)
Iteration 0:   log pseudolikelihood = -288.35
 Iteration 1:   log pseudolikelihood =  -266.04
Iteration 2:   log pseudolikelihood = -265.86
Iteration 3:   log pseudolikelihood = -265.86
Refining estimates:
Iteration 0:   log pseudolikelihood = -265.86194

Cox regression -- Breslow method for ties


No. of subjects      =  470.66             Number of obs   =       360
No. of failures      =  60.15


Time at risk         =  2727.483
                                                   Wald chi2(3)    =     47.38
 Log pseudolikelihood =   -265.86194                Prob > chi2     =    0.0000


                         (Std. Err. adjusted for 360 clusters in unqid_cohort)
------------------------------------------------------------------------------
              |               Robust
          _t | Haz. Ratio   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------

1.treat_status |   1.315519    .527333     0.68   0.494     .5996365    2.886063

      hba1c_1 |   5.451966   1.915138     4.83   0.000     2.738719    10.85322
   glucose_1 |    1.03018   .0161385     1.90   0.058     .9990303    1.062302
------------------------------------------------------------------------------


I hope this is adequate to perform the intended analysis.  I am new to
STATA and propensity match analysis and your assistance is greatly
appreciated.

Sincerely,

Christina
*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/faqs/resources/statalist-faq/
*   http://www.ats.ucla.edu/stat/stata/


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index