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