1
$\begingroup$

I have been experiencing issues with model fit. In my example, I have set up a time-varying (counting method) survival analysis model (Cox regression with SAS: proc phreg). My outcome is an adverse pregnancy outcome and my main predictor of interest (3-level categorical) is a time-varying exposure that occurs during pregnancy. I am controlling for an additional time-varying covariate and several demographic covariates. The data are left-truncated at start of pregnancy care.

I used the Gronnesby and Borgan test to assess model adequacy with the results showing poor fit. I have tried adjusting the number of risk groups in the test and modifying some of the variables (categorizing age groups, condensing categorical variables, etc) with no success. Reducing the model has varying results (depending on what permutation of variables remains), not indicating a specific problematic variable. Some of my similar models testing for different outcomes using the same dataset, predictors and covariates have had adequate fit. Other diagnostics in the model, such as multicollinearity and confounding are not problematic.

I'm posting this here in hopes that someone else has dealt with similar issues and may have suggestions on how to move forward from here. Are there other approaches I should consider for improving the model fit? Is there a better way to assess model fit? What implications does the poor model fit have on the interpretation of the results?

Literature on the Gronnesby and Borgan test can be found in this pdf, or here.

code setup for fit:

proc phreg data=model_data;
  class exp (ref='1') var1 (ref='1') var2 (ref='1') var3 (ref='1') var4 (ref='1')
        /param=reference;
  model (start,stop)*outcome(0)= exp var1 var2 var3 var4 /RL ties=efron;
  output out=model_fit xbeta=risk;
run;

proc rank data=model_fit groups=10 out=modelriskgroups;
  var risk;
run;

proc phreg data=modelriskgroups;
  class exp (ref='1') var1 (ref='1') var2 (ref='1') var3 (ref='1') var4 (ref='1')
        /param=reference;
  model (start,stop)*outcome(0)= exp var1 var2 var3 var4 risk/RL ties=efron;
run;

Here are some of the fit statistics:

Model Fit Statistics
Criterion   Without Covariates  With Covariates
-2 LOG L    197668.31       196789.98
AIC         197668.31       196813.98
SBC         197668.31       196899.93

Testing Global Null Hypothesis: BETA=0
Test                Chi-Square  DF  Pr > ChiSq
Likelihood Ratio    878.3293    12  <.0001
Score               926.7512    12  <.0001
Wald                902.6784    12  <.0001

Obs Effect                      DF  WaldChiSq   ProbChiSq
1   exp                         2   3.2322      0.1987
2   var1 (time-dependent covar) 1   6.9886      0.0082
3   var2(age)                   1   3.4140      0.0646
4   var3(race)                  3   5.7996      0.1218
5   var4                        3   8.0627      0.0447
6   var5                        1   29.4512     <.0001
7   var6                        1   9.0726      0.0026
8   risk                        9   29.5302     0.0005
$\endgroup$
1
  • 1
    $\begingroup$ 1st, be aware that asking for code help is off topic here (I know that you aren't quite doing that--it's just a warning). 2nd, this is going to be hard to answer as given. Can you paste in your output, some plots, etc? We need to know more about your data, the model, your goals, etc., to provide any advice on where to go from here. $\endgroup$ Commented Jan 14, 2016 at 16:23

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.