Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
From | Catharine Morgan <Catharine.Morgan@manchester.ac.uk> |
To | "statalist@hsphsun2.harvard.edu" <statalist@hsphsun2.harvard.edu> |
Subject | st: path analysis sureg, cmdok, boostrap with imputed data? |
Date | Thu, 14 Apr 2011 10:13:59 +0000 |
Hi Statalist users, I am trying to test the effect of an independent variable (iv) through a mediator (m1) on a dependent variable (y), all of which are continuous variables. In addition I wish to add further covariates, three continuous and one categorical. I have successfully used a complete case dataset using the sureg command. However I now wish to test the imputed data set (40 imputations) and have used the sureg command using cmdok and mi in STATA 11. I have the following queries: 1) I have read there may be issues with some commands not supported by mi but sureg with cmdok appears to be working, are there any indicators from my output to suggest otherwise or obvious signs I should look out for? 2) I have run bootstrapping (with the help of a colleague) and wanted to check about the warning STATA returns. I am wondering why strata 41 appears on the output rather than 40. I think it may be using m=0 data also. Do you know how to correct this if this is incorrect? 3) Does anyone know how I can add in multiple independent variables to test them simultaneously on the same mediator and dependent variable? I have listed the syntax and output below. Many thanks for your time, Cathy ****************************************************************************************************************************************** This is the syntax I have used: xi:mi estimate, cmdok: sureg (m1 iv cov1 cov2 cov3 i.cov4) (y m1 iv cov1 cov2 cov3 i.cov4) capture program drop bootcm program bootcm, rclass drop _mi_id bys _mi_m: gen _mi_id = _n xi:mi estimate, cmdok: sureg (m1 iv cov1 cov2 cov3 i.cov4) (y m1 iv cov1 cov2 cov3 i.cov4) matrix b = e(b_mi) return scalar ind1 = el("b", 1, colnumb("b", "m1:iv")) return scalar ind2 = el("b", 1, colnumb("b", "y:m1")) return scalar indtotal = el("b", 1, colnumb("b", "m1:iv"))*el("b", 1, colnumb("b", "y:m1")) end bootstrap r(ind1) r(ind2) r(indtotal), reps(500) strata(_mi_m) :bootcm estat bootstrap, all The output STATA is returning: . xi:mi estimate, cmdok: sureg (m1 iv cov1 cov2 cov3 i.cov4) (y m1 iv cov1 cov2 cov3 i.cov4) i.depriv_grps_i _Idepriv_gr_1-4 (naturally coded; _Idepriv_gr_1 omitted) Multiple-imputation estimates Imputations = 40 Number of obs = 425 Average RVI = 0.1076 DF adjustment: Large sample DF: min = 650.87 avg = 30595.89 max = 162393.01 ------------------------------------------------------------------------------ | Coef. Std. Err. t P>|t| [95% Conf. Interval] -------------+---------------------------------------------------------- -------------+------ m1 | iv | .263259 .0405813 6.49 0.000 .1836816 .3428365 cov1 | .6513497 .3615691 1.80 0.072 -.0573187 1.360018 cov2 | .0063562 .013241 0.48 0.631 -.0195965 .0323088 cov3 | .0120347 .015811 0.76 0.447 -.0189553 .0430248 _Icov4~2 | -.1198675 .4329068 -0.28 0.782 -.9683557 .7286206 _Icov4~3 | .202258 .4486146 0.45 0.652 -.6770235 1.08154 _Icov4~4 | .0695109 .4543683 0.15 0.878 -.8210761 .9600979 _cons | 13.70543 1.352386 10.13 0.000 11.05437 16.3565 -------------+---------------------------------------------------------- -------------+------ y | m1 | 1.828701 .1590137 11.50 0.000 1.516739 2.140663 iv | -.0633312 .1370068 -0.46 0.644 -.3323599 .2056975 cov1 | 1.952565 1.141438 1.71 0.087 -.2856063 4.190736 cov2 | .1639724 .042429 3.86 0.000 .0807423 .2472025 cov3 | -.073326 .0499443 -1.47 0.142 -.1712756 .0246236 _Icov4~2 | -1.714443 1.367262 -1.25 0.210 -4.395557 .9666698 _Icov4~3 | .3836167 1.38614 0.28 0.782 -2.333895 3.101129 _Icov4~4 | -1.18265 1.39184 -0.85 0.396 -3.911344 1.546045 _cons | 26.85021 4.797198 5.60 0.000 17.43863 36.26179 ------------------------------------------------------------------------------ . capture program drop bootcm . program bootcm, rclass 1. drop _mi_id 2. bys _mi_m: gen _mi_id = _n 3. xi:mi estimate, cmdok: sureg (m1 iv cov1 cov2 cov3 i.cov4) (y m1 iv cov1 cov2 cov3 i.cov4) 4. matrix b = e(b_mi) 5. return scalar ind1 = el("b", 1, colnumb("b", "m1:iv")) 6. return scalar ind2 = el("b", 1, colnumb("b", "y:m1")) 7. return scalar indtotal = el("b", 1, colnumb("b", "m1:iv"))*el("b", 1, colnumb("b", "y:m1")) 8. end . bootstrap r(ind1) r(ind2) r(indtotal), reps(500) strata(_mi_m) :bootcm (running bootcm on estimation sample) Warning: Because bootcm is not an estimation command or does not set e(sample), bootstrap has no way to determine which observations are used in calculating the statistics and so assumes that all observations are used. This means that no observations will be excluded from the resampling because of missing values or other reasons. If the assumption is not true, press Break, save the data, and drop the observations that are to be excluded. Be sure that the dataset in memory contains only the relevant data. Bootstrap results Number of strata = 41 Number of obs = 17425 Replications = 500 command: bootcm _bs_1: r(ind1) _bs_2: r(ind2) _bs_3: r(indtotal) ------------------------------------------------------------------------------ | Observed Bootstrap Normal-based | Coef. Std. Err. z P>|z| [95% Conf. Interval] -------------+---------------------------------------------------------- -------------+------ _bs_1 | .263259 .040638 6.48 0.000 .18361 .342908 _bs_2 | 1.828701 .2084724 8.77 0.000 1.420103 2.2373 _bs_3 | .4814221 .0772151 6.23 0.000 .3300833 .6327608 ------------------------------------------------------------------------------ . estat bootstrap, all Bootstrap results Number of strata = 41 Number of obs = 17425 Replications = 500 command: bootcm _bs_1: r(ind1) _bs_2: r(ind2) _bs_3: r(indtotal) ------------------------------------------------------------------------------ | Observed Bootstrap | Coef. Bias Std. Err. [95% Conf. Interval] -------------+---------------------------------------------------------- -------------+------ _bs_1 | .26325901 -.021616 .040638 .18361 .342908 (N) | .1613802 .314101 (P) | .1995111 .3861749 (BC) _bs_2 | 1.8287012 -.2486033 .20847243 1.420103 2.2373 (N) | 1.132552 1.99977 (P) | 1.691838 2.138577 (BC) _bs_3 | .48142207 -.1006636 .07721506 .3300833 .6327608 (N) | .2299137 .5390809 (P) | .4234512 .6634043 (BC) ------------------------------------------------------------------------------ (N) normal confidence interval (P) percentile confidence interval (BC) bias-corrected confidence interval * * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/statalist/faq * http://www.ats.ucla.edu/stat/stata/