--------------------------------------------------------------------------------------------------------------- name: log: C:\Users\dupontwd.VANDERBILT\Documents\MPH\LectureNotes\ClassDoLogData\linearRegression\SupportLin > earRCS.log log type: text opened on: 17 Jan 2013, 16:11:37 . set more on . * SupportLinearRCS.log . * . * Draw scatter plots of length-of-stay (LOS) by mean arterial . * pressure (MAP) and log LOS by MAP for the SUPPORT Study data. . * (Lynn & Knauss, 1990). . * . use 3.25.2.SUPPORT.dta , replace . scatter los map, symbol(Oh) xlabel(25 (25) 175) xmtick(20 (5) 180) /// > ylabel(0(25)225, angle(0)) ymtick(5(5)240) . more . scatter los map, symbol(Oh) xlabel(25 (25) 175) xmtick(20 (5) 180) /// > yscale(log) ylabel(4(2)10 20(20)100 200, angle(0)) /// > ymtick(3(1)9 30(10)90) . more . * . * Regress log LOS against MAP using RCS models with . * 5 knots at their default locations. Calculate the AIC and BIC model . * scores. Overlay the expected log LOS from these models on a . * scatter plot of log LOS by MAP. . * . mkspline _Smap = map, cubic displayknots | knot1 knot2 knot3 knot4 knot5 -------------+------------------------------------------------------- map | 47 66 78 106 129 . summarize _Smap1 _Smap2 _Smap3 _Smap4 Variable | Obs Mean Std. Dev. Min Max -------------+-------------------------------------------------------- _Smap1 | 996 85.31727 26.83566 20 180 _Smap2 | 996 20.06288 27.34701 0 185.6341 _Smap3 | 996 7.197497 11.96808 0 89.57169 _Smap4 | 996 3.121013 5.96452 0 48.20881 . generate log_los = log(los) . regress log_los _S* Source | SS df MS Number of obs = 996 -------------+------------------------------ F( 4, 991) = 24.70 Model | 60.9019393 4 15.2254848 Prob > F = 0.0000 Residual | 610.872879 991 .616420665 R-squared = 0.0907 -------------+------------------------------ Adj R-squared = 0.0870 Total | 671.774818 995 .675150571 Root MSE = .78512 ------------------------------------------------------------------------------ log_los | Coef. Std. Err. t P>|t| [95% Conf. Interval] -------------+---------------------------------------------------------------- _Smap1 | .0296009 .0059566 4.97 0.000 .017912 .0412899 _Smap2 | -.3317922 .0496932 -6.68 0.000 -.4293081 -.2342762 _Smap3 | 1.263893 .1942993 6.50 0.000 .8826076 1.645178 _Smap4 | -1.124065 .1890722 -5.95 0.000 -1.495092 -.7530367 _cons | 1.03603 .3250107 3.19 0.001 .3982422 1.673819 ------------------------------------------------------------------------------ . estat ic ----------------------------------------------------------------------------- Model | Obs ll(null) ll(model) df AIC BIC -------------+--------------------------------------------------------------- . | 996 -1217.138 -1169.811 5 2349.623 2374.141 ----------------------------------------------------------------------------- Note: N=Obs used in calculating BIC; see [R] BIC note . test _Smap2 _Smap3 _Smap4 ( 1) _Smap2 = 0 ( 2) _Smap3 = 0 ( 3) _Smap4 = 0 F( 3, 991) = 30.09 Prob > F = 0.0000 . predict y_hat5, xb . scatter log_los map, symbol(Oh) /// > || line y_hat5 map, color(red) lwidth(medthick) /// > , xlabel(25 (25) 175) xmtick(20 (5) 180) /// > xline(47 66 78 106 129, lcolor(blue)) /// > ylabel(1.39 "4" 1.79 "6" 2.08 "8" 2.3 "10" 3 "20" /// > 3.69 "40" 4.09 "60" 4.38 "80" 4.61 "100" 5.3 "200", angle(0)) /// > ymtick(1.1 1.39 1.61 1.79 1.95 2.08 2.2 3.4 3.91 4.25 4.5) /// > ytitle(Length of Stay (days)) /// > legend(order(1 "Observed" 2 "Expected")) . more . * . * Plot expected LOS for models with 3, 4, 6 and 7 knots. . * Use the default knot locations. Calculate AIC and BIC for each model. . * . drop _S* . mkspline _Smap = map, nknots(3) cubic displayknots | knot1 knot2 knot3 -------------+--------------------------------- map | 55 78 120 . regress log_los _S* Source | SS df MS Number of obs = 996 -------------+------------------------------ F( 2, 993) = 18.24 Model | 23.8065057 2 11.9032528 Prob > F = 0.0000 Residual | 647.968313 993 .652536065 R-squared = 0.0354 -------------+------------------------------ Adj R-squared = 0.0335 Total | 671.774818 995 .675150571 Root MSE = .8078 ------------------------------------------------------------------------------ log_los | Coef. Std. Err. t P>|t| [95% Conf. Interval] -------------+---------------------------------------------------------------- _Smap1 | -.0110138 .0027449 -4.01 0.000 -.0164002 -.0056274 _Smap2 | .0226496 .004248 5.33 0.000 .0143135 .0309858 _cons | 3.124095 .1827706 17.09 0.000 2.765435 3.482756 ------------------------------------------------------------------------------ . predict y_hat3, xb . estat ic ----------------------------------------------------------------------------- Model | Obs ll(null) ll(model) df AIC BIC -------------+--------------------------------------------------------------- . | 996 -1217.138 -1199.17 3 2404.34 2419.051 ----------------------------------------------------------------------------- Note: N=Obs used in calculating BIC; see [R] BIC note . . drop _S* . mkspline _Smap = map, nknots(4) cubic displayknots | knot1 knot2 knot3 knot4 -------------+-------------------------------------------- map | 47 69 100 129 . regress log_los _S* Source | SS df MS Number of obs = 996 -------------+------------------------------ F( 3, 992) = 21.40 Model | 40.8276008 3 13.6092003 Prob > F = 0.0000 Residual | 630.947217 992 .636035501 R-squared = 0.0608 -------------+------------------------------ Adj R-squared = 0.0579 Total | 671.774818 995 .675150571 Root MSE = .79752 ------------------------------------------------------------------------------ log_los | Coef. Std. Err. t P>|t| [95% Conf. Interval] -------------+---------------------------------------------------------------- _Smap1 | .0060744 .004387 1.38 0.166 -.0025343 .0146832 _Smap2 | -.0533119 .0155968 -3.42 0.001 -.0839184 -.0227054 _Smap3 | .1509453 .0342118 4.41 0.000 .0838095 .2180812 _cons | 2.180462 .2600792 8.38 0.000 1.670093 2.69083 ------------------------------------------------------------------------------ . predict y_hat4, xb . estat ic ----------------------------------------------------------------------------- Model | Obs ll(null) ll(model) df AIC BIC -------------+--------------------------------------------------------------- . | 996 -1217.138 -1185.913 4 2379.827 2399.442 ----------------------------------------------------------------------------- Note: N=Obs used in calculating BIC; see [R] BIC note . . drop _S* . mkspline _Smap = map, nknots(6) cubic displayknots | knot1 knot2 knot3 knot4 knot5 knot6 -------------+------------------------------------------------------------------ map | 47 63 73 93 108.69 129 . regress log_los _S* Source | SS df MS Number of obs = 996 -------------+------------------------------ F( 5, 990) = 20.18 Model | 62.1303583 5 12.4260717 Prob > F = 0.0000 Residual | 609.64446 990 .615802485 R-squared = 0.0925 -------------+------------------------------ Adj R-squared = 0.0879 Total | 671.774818 995 .675150571 Root MSE = .78473 ------------------------------------------------------------------------------ log_los | Coef. Std. Err. t P>|t| [95% Conf. Interval] -------------+---------------------------------------------------------------- _Smap1 | .03099 .006904 4.49 0.000 .0174418 .0445382 _Smap2 | -.3837563 .0874071 -4.39 0.000 -.5552809 -.2122318 _Smap3 | 1.111961 .3834093 2.90 0.004 .3595729 1.864349 _Smap4 | -.5873248 .4457995 -1.32 0.188 -1.462145 .2874957 _Smap5 | -.4824613 .2991149 -1.61 0.107 -1.069433 .1045108 _cons | .9745223 .3623654 2.69 0.007 .2634297 1.685615 ------------------------------------------------------------------------------ . predict y_hat6, xb . estat ic ----------------------------------------------------------------------------- Model | Obs ll(null) ll(model) df AIC BIC -------------+--------------------------------------------------------------- . | 996 -1217.138 -1168.809 6 2349.618 2379.04 ----------------------------------------------------------------------------- Note: N=Obs used in calculating BIC; see [R] BIC note . . drop _S* . mkspline _Smap = map, nknots(7) cubic displayknots | knot1 knot2 knot3 knot4 knot5 knot6 knot7 -------------+----------------------------------------------------------------------------- map | 41 60 69 78 101.3251 113 138.075 . regress log_los _S* Source | SS df MS Number of obs = 996 -------------+------------------------------ F( 6, 989) = 16.92 Model | 62.5237582 6 10.4206264 Prob > F = 0.0000 Residual | 609.25106 989 .616027361 R-squared = 0.0931 -------------+------------------------------ Adj R-squared = 0.0876 Total | 671.774818 995 .675150571 Root MSE = .78487 ------------------------------------------------------------------------------ log_los | Coef. Std. Err. t P>|t| [95% Conf. Interval] -------------+---------------------------------------------------------------- _Smap1 | .0389453 .0092924 4.19 0.000 .0207101 .0571804 _Smap2 | -.3778786 .12678 -2.98 0.003 -.6266673 -.12909 _Smap3 | .9316267 .8933099 1.04 0.297 -.8213739 2.684627 _Smap4 | .1269005 1.58931 0.08 0.936 -2.991907 3.245708 _Smap5 | -.7282771 1.034745 -0.70 0.482 -2.758824 1.30227 _Smap6 | -.3479716 .4841835 -0.72 0.473 -1.298117 .6021733 _cons | .6461153 .4496715 1.44 0.151 -.2363046 1.528535 ------------------------------------------------------------------------------ . predict y_hat7, xb . estat ic ----------------------------------------------------------------------------- Model | Obs ll(null) ll(model) df AIC BIC -------------+--------------------------------------------------------------- . | 996 -1217.138 -1168.487 7 2350.975 2385.301 ----------------------------------------------------------------------------- Note: N=Obs used in calculating BIC; see [R] BIC note . . twoway scatter log_los map, symbol(Oh) color(gray) /// > || line y_hat3 map, color(red) lwidth(medthick) /// > || line y_hat4 map, color(blue) lwidth(medthick) /// > || line y_hat5 map, color(green) lwidth(medthick) /// > || line y_hat6 map, color(magenta) lwidth(medthick) /// > || line y_hat7 map, color(cyan) lwidth(medthick) /// > , xlabel(25 (25) 175) xmtick(20 (5) 180) /// > ylabel(1.39 "4" 1.79 "6" 2.08 "8" 2.3 "10" 3 "20" /// > 3.69 "40" 4.09 "60" 4.38 "80" 4.61 "100" 5.3 "200", angle(0)) /// > ymtick(1.1 1.39 1.61 1.79 1.95 2.08 2.2 3.4 3.91 4.25 4.5) /// > ytitle(Length of Stay (days)) legend(ring(0) position(4) col(1) /// > order(2 "3 knots" 3 "4 knots" 4 "5 knots" /// > 5 "6 knots" 6 "7 knots")) . more . * . * Plot expected LOS for the 6 knot model together with 95% . * confidence bands. Use evenly spaced knot locations. . * . drop _S* . mkspline _Smap = map, knots(48 (16) 128) /// > cubic displayknots | knot1 knot2 knot3 knot4 knot5 knot6 -------------+------------------------------------------------------------------ map | 48 64 80 96 112 128 . regress log_los _S* Source | SS df MS Number of obs = 996 -------------+------------------------------ F( 5, 990) = 19.90 Model | 61.3443419 5 12.2688684 Prob > F = 0.0000 Residual | 610.430476 990 .616596441 R-squared = 0.0913 -------------+------------------------------ Adj R-squared = 0.0867 Total | 671.774818 995 .675150571 Root MSE = .78524 ------------------------------------------------------------------------------ log_los | Coef. Std. Err. t P>|t| [95% Conf. Interval] -------------+---------------------------------------------------------------- _Smap1 | .027946 .0061931 4.51 0.000 .0157929 .0400991 _Smap2 | -.3442101 .0659689 -5.22 0.000 -.4736651 -.2147551 _Smap3 | .916114 .2171835 4.22 0.000 .4899212 1.342307 _Smap4 | -.646524 .3277322 -1.97 0.049 -1.289654 -.0033944 _Smap5 | -.1671208 .3337082 -0.50 0.617 -.8219775 .4877359 _cons | 1.110653 .3344935 3.32 0.001 .4542555 1.767051 ------------------------------------------------------------------------------ . predict y_hat, xb . predict se, stdp . generate lb = y_hat - invttail(_N-6, 0.025)*se . generate ub = y_hat + invttail(_N-6, 0.025)*se . twoway rarea lb ub map , color(yellow) /// > || scatter log_los map, symbol(Oh) color(blue) /// > || line y_hat map, color(red) lwidth(medthick) /// > , xlabel(25 (25) 175) xmtick(20 (5) 180) /// > xline(48(16)128, lcolor(gray)) /// > ylabel(1.39 "4" 1.79 "6" 2.08 "8" 2.3 "10" 3 "20" /// > 3.69 "40" 4.09 "60" 4.38 "80" 4.61 "100" 5.3 "200", angle(0)) /// > ymtick(1.1 1.39 1.61 1.79 1.95 2.08 2.2 3.4 3.91 4.25 4.5) /// > subtitle("Evenly" "Spaced" "Knots", ring(0) position(10)) /// > ytitle(Length of Stay (days)) legend(off) . more . * . * Replot 6 knot model with default knot spacing. . * . drop _S* y_hat se lb ub . mkspline _Smap = map, nknots(6) cubic . regress log_los _S* Source | SS df MS Number of obs = 996 -------------+------------------------------ F( 5, 990) = 20.18 Model | 62.1303583 5 12.4260717 Prob > F = 0.0000 Residual | 609.64446 990 .615802485 R-squared = 0.0925 -------------+------------------------------ Adj R-squared = 0.0879 Total | 671.774818 995 .675150571 Root MSE = .78473 ------------------------------------------------------------------------------ log_los | Coef. Std. Err. t P>|t| [95% Conf. Interval] -------------+---------------------------------------------------------------- _Smap1 | .03099 .006904 4.49 0.000 .0174418 .0445382 _Smap2 | -.3837563 .0874071 -4.39 0.000 -.5552809 -.2122318 _Smap3 | 1.111961 .3834093 2.90 0.004 .3595729 1.864349 _Smap4 | -.5873248 .4457995 -1.32 0.188 -1.462145 .2874957 _Smap5 | -.4824613 .2991149 -1.61 0.107 -1.069433 .1045108 _cons | .9745223 .3623654 2.69 0.007 .2634297 1.685615 ------------------------------------------------------------------------------ . predict y_hat, xb . predict se, stdp . generate lb = y_hat - invttail( _N-6, 0.025)*se . generate ub = y_hat + invttail( _N-6, 0.025)*se . twoway rarea lb ub map , color(yellow) /// > || scatter log_los map, symbol(Oh) color(blue) /// > || line y_hat map, color(red) lwidth(medthick) /// > , xlabel( 25 (25) 175) xmtick( 20 (5) 180) /// > ylabel( 1.39 "4" 1.79 "6" 2.08 "8" 2.3 "10" 3 "20" /// > 3.69 "40" 4.09 "60" 4.38 "80" 4.61 "100" 5.3 "200", angle(0)) /// > ymtick( 1.1 1.39 1.61 1.79 1.95 2.08 2.2 3.4 3.91 4.25 4.5) /// > xline( 47 63 73 93 108.69 129, lcolor(gray)) /// > ytitle( Length of Stay (days)) /// > subtitle( "Default" "Knot" "Values" /// > , ring(0) position(10)) legend(off) . more . predict rstudent, rstudent . generate big = abs(rstudent)>2 . tabulate big big | Freq. Percent Cum. ------------+----------------------------------- 0 | 947 95.08 95.08 1 | 49 4.92 100.00 ------------+----------------------------------- Total | 996 100.00 . * . * Draw a scatter plot of the studentized residuals against MAP . * Overlay the associated lowess regression curve on this graph. . * . twoway scatter rstudent map, symbol(Oh) /// > || lowess rstudent map, lwidth(thick) /// > , ytitle(Studentized Residual) yline(-2 0 2, lcolor(blue)) /// > legend(off) . more . * . * Plot expected LOS against MAP on a linear scale. . * Truncate LOS > 70. . * . generate e_los = exp(y_hat) . generate lb_los = exp(lb) . generate ub_los = exp(ub) . generate truncated_los = los . replace truncated_los = 80 if los > 70 (29 real changes made) . twoway rarea lb_los ub_los map , color(yellow) /// > || scatter truncated_los map , symbol(Oh) color(blue) /// > || line e_los map, color(red) lwidth(medthick) /// > || rline lb_los ub_los map , color(yellow) /// > lwidth(thin thin) /// > , xlabel(25 (25) 175) xmtick(30 (5) 170) /// > ylabel(0 (10) 70, angle(0)) ytitle(Length of Stay) /// > legend(order(3 "Expected MAP" /// > 1 "95% Confidence Interval") rows(1)) . more . log close name: log: C:\Users\dupontwd.VANDERBILT\Documents\MPH\LectureNotes\ClassDoLogData\linearRegression\SupportLin > earRCS.log log type: text closed on: 17 Jan 2013, 16:12:01 ---------------------------------------------------------------------------------------------------------------