0
$\begingroup$

I'm trying to predict which patients will have a bad outcome (BO) within the next 2 weeks based on medical readings (plus some behavioral data) from the last 6 weeks. Total data timespan is 8 weeks, i.e. each patient has 6 full weeks of data in the feature space, and I'm trying to predict BO (yes/no) within the next 2 weeks.

Re-sample at different times-- To prevent the model from being biased to a specific point in time, and to increase the number of BO cases for predictive modeling (there's only ~40 BO cases a week), I'm thinking taking many points in time as "as-of dates", and for each patient at each as-of date I create features looking 6 weeks back and BO(yes/no) looking 2 weeks ahead. For eg. John Doe was sampled at 10 as-of dates and he becomes 10 rows in the data set.

My question is this -- I understand that the 10 John Doe rows are not independent from one another, so I'll avoid using models that require independent assumption such as logistic regression. Can I use ensemble tree models to predict BO (such as Gradient-boosted tree, XGBoost, Random Forest, etc.)?

Additional detail (if that helps)-- Samples from one as-of date to the next as-of date only have ~85% overlapping patients. There's new patients entering each sample, and there's patient rolling out (released or BO).

Any advice will be much appreciated!

$\endgroup$
3
  • $\begingroup$ Why not just use a mixed effect model and leverage the dependence between observations rather than try to skirt it $\endgroup$ Commented Aug 5, 2022 at 19:11
  • $\begingroup$ Please clarify your specific problem or provide additional details to highlight exactly what you need. As it's currently written, it's hard to tell exactly what you're asking. $\endgroup$
    – Community Bot
    Commented Aug 5, 2022 at 19:54
  • $\begingroup$ Thanks @DemetriPananos! I will try that. Just need to check my features to make sure they are IID, except the rows are not independent. $\endgroup$
    – Kyle Liaw
    Commented Aug 5, 2022 at 21:43

1 Answer 1

0
$\begingroup$

Yes, you can use multiple observations of the same patients taken at different times. I recommend consulting with a statistician for details on how to do time series regression. Using XGBoost or fancy ML tree algorithms won’t help here, though, and chances are they won’t be all that useful. All of these algorithms are designed for fast nonparametrics with large datasets, where computation time is an issue and variance isn’t. Instead, I would recommend a much simpler model like ARMA with random effects, or a simple Markov model.

$\endgroup$
2
  • $\begingroup$ Thanks Closed Limelike Curves! Can you elaborate a bit on ARMA with random effects? Did you mean building a ARMA model with cross-correlation terms? $\endgroup$
    – Kyle Liaw
    Commented Aug 5, 2022 at 21:10
  • $\begingroup$ Also for ARMA Not sure what structure the data set should be. I am picturing 1 BO time series (binary) and 20 feature time series per patient, And these 21 time series will have the same patient id. Let's say I have 1000 patients then I will have 21*1000 rows. Is this the structure how you'd recommend for ARMA? $\endgroup$
    – Kyle Liaw
    Commented Aug 5, 2022 at 21:21

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.