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]

re: st: Fwd: psmatch2 kernel matching


From   "Ariel Linden" <[email protected]>
To   <[email protected]>
Subject   re: st: Fwd: psmatch2 kernel matching
Date   Fri, 1 Nov 2013 12:01:11 -0400

Hi Christina,

Welcome to the statalist. Please make sure to read the statalist FAQ
(http://www.stata.com/support/faqs/resources/statalist-faq) before posting
so that you can learn about how to post queries most effectively. For
example, you need to state where you download a user-written program from,
such as -psmatch2- (a user written program from
http://fmwww.bc.edu/RePEc/bocode/p). Also, it's "Stata", not "STATA".

 As for your question below, you provided information on the first part of
your analysis (ie., using kernel matching), but you did not describe what
you are using it for in the outcome analysis. In any case, it appears that
you are measuring the difference between groups in the time to a given
event, and the output appears to show that there is no statistically
significant difference between groups. 

Yes, you can use the _weight generated from -psmatch2- as a pweight in the
outcome model. I would suggest you review the _weights to see if everyone
got a weight (or else they will be dropped from the analysis). Also, it
looks like there was some problem to review when you stset your data...

This is probably as much as I can comment on, given what you provided...

Ariel

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

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