Timeline for Dealing with non-proportional hazards in a Cox model with many variables and a large dataset
Current License: CC BY-SA 4.0
49 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Oct 23 at 9:55 | history | edited | Thomas | CC BY-SA 4.0 |
added 193 characters in body
|
Aug 12 at 16:42 | history | edited | Thomas | CC BY-SA 4.0 |
deleted 355 characters in body
|
Aug 11 at 16:07 | history | edited | Thomas | CC BY-SA 4.0 |
added 95 characters in body
|
Aug 11 at 15:01 | history | edited | Thomas | CC BY-SA 4.0 |
deleted 17 characters in body
|
Aug 10 at 22:05 | vote | accept | Thomas | ||
Aug 10 at 19:59 | answer | added | EdM | timeline score: 1 | |
Aug 10 at 15:16 | history | reopened |
User1865345 EdM Frans Rodenburg |
||
Aug 9 at 13:01 | history | edited | Thomas | CC BY-SA 4.0 |
added 87 characters in body
|
Aug 9 at 12:52 | history | edited | Thomas | CC BY-SA 4.0 |
added 69 characters in body
|
Aug 9 at 12:44 | history | edited | Thomas | CC BY-SA 4.0 |
added 384 characters in body
|
Aug 9 at 11:47 | history | edited | Thomas | CC BY-SA 4.0 |
added 250 characters in body
|
Aug 8 at 23:40 | history | edited | Thomas | CC BY-SA 4.0 |
deleted 177 characters in body
|
Aug 8 at 23:32 | history | edited | Thomas | CC BY-SA 4.0 |
added 56 characters in body
|
Aug 8 at 16:54 | history | edited | Thomas | CC BY-SA 4.0 |
added 167 characters in body
|
Aug 8 at 16:29 | comment | added | EdM | I'd suggest moving your specific queries(s) to the top of the question, with the rest provided as elaboration. | |
Aug 8 at 16:26 | history | edited | Thomas | CC BY-SA 4.0 |
added 54 characters in body
|
Aug 8 at 16:11 | history | edited | Thomas | CC BY-SA 4.0 |
added 12521 characters in body
|
S Aug 8 at 16:06 | review | Reopen votes | |||
Aug 10 at 15:16 | |||||
S Aug 8 at 16:06 | history | edited | Thomas | CC BY-SA 4.0 |
added 12521 characters in body
Added to review
|
Jul 24 at 20:19 | history | left closed in review |
Adrian Keister whuber♦ |
Original close reason(s) were not resolved | |
Jul 24 at 20:19 | comment | added | whuber♦ | "Provide some guidance" is too vague to be answerable in our format. Please ask a specific question. | |
Jul 21 at 17:35 | review | Reopen votes | |||
Jul 24 at 20:19 | |||||
Jul 21 at 15:51 | history | left closed in review |
Adrian Keister User1865345 mdewey |
Original close reason(s) were not resolved | |
Jul 20 at 19:42 | history | edited | Thomas | CC BY-SA 4.0 |
deleted 34 characters in body; edited title
|
Jul 20 at 17:29 | history | edited | Thomas | CC BY-SA 4.0 |
added 64 characters in body
|
Jul 20 at 17:15 | history | edited | Thomas | CC BY-SA 4.0 |
added 1815 characters in body
|
Jul 19 at 17:53 | comment | added | EdM |
The data that you show are still for the prior model, with binned continuous variables. I'd suggest showing a summary() of the data frame with the continuous variables, instead of str() , to give the reader a better sense of the underlying data.
|
|
Jul 19 at 16:02 | history | edited | Thomas | CC BY-SA 4.0 |
deleted 9876 characters in body
|
Jul 19 at 15:56 | history | edited | Thomas | CC BY-SA 4.0 |
deleted 9876 characters in body
|
Jul 19 at 14:56 | comment | added | EdM |
Now that you have an evidently better second model (note, e.g., that privation no longer has a PH problem), I'd recommend that you simplify the question by removing details, code and plots specific to the first model and including some corresponding results for the second model. You could still briefly summarize the first model and why you switched to the second. Probably omit the cloglog plots. The edit history will allow those interested to see what was previously done. Then show a few selected Schoenfeld plots and termplots.
|
|
Jul 19 at 14:30 | history | edited | Thomas | CC BY-SA 4.0 |
added 6249 characters in body
|
Jul 19 at 14:20 | comment | added | Thomas |
@LukasLohse & EdM: I kept the contiuous variables as is and used pspline() as you suggested (see my edit). I have some questions: (i) In the model output, the "nonlinear" components have p <0.05 for each continuous variable. If I understood correctly, it means that the effects are not linear? (ii) The y-axis of the termplot()` outputs are labelled as "Partial for pspline(*)". Does it correspond to the (non-linear) HR? (iii) The p values of cox.zph() output are still <0.05. Is it a problem or can it be ignored when using pspline() ? Thanks again!
|
|
Jul 19 at 13:28 | comment | added | Thomas |
Thank you both for your excellent advices! I am trying to implement that and it seems to improve the situation. @EdM, in responses to your 1st comment: (i) Yes, the cloglog plots take into account only one predictor at a time; I hadn't really thought about it. Now I understand that the cox.zph() plots are much more relevant. (ii) We are indeed thinking of trying out more "flexible" models, but this is completely new territory for us. Perhaps that will be the subject of another question...
|
|
Jul 18 at 16:59 | comment | added | EdM | Many of the Schoenfeld residual plots suggest that there are changes in behavior at about 60 days and again at about 1 year. Based on your understanding of the subject matter, is there some reason to expect different risks of misuse associated with those times, for example: the initial prescription runs out at 60 days, there is a clinical follow up or other interventions at about 1 year? Also, with this size data set, I second the suggestion by @LukasLohse to fit age continuously and flexibly, and I would extend that to include all predictors for which you have continuous values. | |
Jul 18 at 16:51 | comment | added | EdM |
The log(-log) plots, if I understand your code correctly, don't take into account any predictors other than the specific one displayed in each plot. The cox.zph() and scaled Schoenfeld residuals plots take all other predictors into account while evaluating the PH assumption for a specific predictor. I thus wouldn't put too much emphasis on how interpretations of log(-log) plots in terms of PH differ from the others. Have you considered a (non-Weibull) accelerated failure time model? Or, as not everyone will end up abusing the drug, have you considered a "cure" model?
|
|
Jul 18 at 14:40 | history | edited | Thomas | CC BY-SA 4.0 |
added 10 characters in body
|
Jul 18 at 13:36 | history | edited | Thomas | CC BY-SA 4.0 |
added 9 characters in body
|
Jul 18 at 11:49 | history | edited | Thomas | CC BY-SA 4.0 |
added 95 characters in body; edited title
|
Jul 18 at 10:13 | history | edited | Thomas | CC BY-SA 4.0 |
added 410 characters in body
|
Jul 18 at 7:55 | comment | added | Lukas Lohse | For what it's worth I like the question and love the table :). It is of course a bit much with all those variables. My immediate recommendation would be that, before you deal with non-PH, you fit age with splines instead of strata. See the vignette here: cran.r-project.org/web/packages/survival/vignettes/splines.pdf | |
S Jul 17 at 21:47 | review | Reopen votes | |||
Jul 21 at 15:51 | |||||
S Jul 17 at 21:47 | history | edited | Thomas | CC BY-SA 4.0 |
added 71 characters in body; edited title
Added to review
|
Jul 17 at 21:37 | history | edited | Thomas | CC BY-SA 4.0 |
added 71 characters in body; edited title
|
Jul 17 at 21:30 | history | closed |
User1865345 PBulls whuber♦ |
Needs more focus | |
Jul 17 at 15:42 | history | edited | Thomas | CC BY-SA 4.0 |
added 80 characters in body
|
Jul 17 at 15:02 | review | Close votes | |||
Jul 17 at 21:30 | |||||
Jul 17 at 14:34 | history | edited | Thomas | CC BY-SA 4.0 |
added 172 characters in body
|
S Jul 17 at 14:28 | review | First questions | |||
Jul 17 at 14:39 | |||||
S Jul 17 at 14:28 | history | asked | Thomas | CC BY-SA 4.0 |