Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

EBM support for Survival Analysis #293

Closed
peroni70 opened this issue Oct 28, 2021 · 7 comments
Closed

EBM support for Survival Analysis #293

peroni70 opened this issue Oct 28, 2021 · 7 comments

Comments

@peroni70
Copy link

Hi Interpret team!

I was wondering if there is a plan to add support for survival analysis for EBM. I'm currently working on medical applications, and survival analysis is often the structure of the problems we're trying to solve. Currently, we use XGBoost Regressor which offers support for survival analysis data (in our case, we're using the survival:cox objective function). I'd really like to evaluate EBM as an alternative to an XGB model + SHAP explainer.

One approach of course would be to write my own objective function for this use-case; I see another issue open regarding custom loss functions, which sounds like a significant effort to make available. Given the ubiquity of survival analysis in clinical data science and the need for interpretable models like EBM in this space, I think this would be a very useful feature to support. If I had any C++ knowledge, I'd work on it myself :)

P.S. - Prof. Caruana (if you check these) I attended one of your guest lectures while I was a student at Cornell, and your talk was deeply motivating to me and helped guide my career path and how I think about evaluating ML solutions to real-world problems. Thank you!!

@interpret-ml
Copy link
Collaborator

Hi @peroni70 -- We have been working on custom loss functions, however they aren't ready yet and it will unfortunately be a while until they are since it's a fairly big change. I don't feel comfortable yet offering a firm date on when these will be completed, but have no doubt that we consider this to be a high priority item.

I'm going to close this issue since we'll be updating the loss function issue #196 once we have something to report.

Rich only occasionally checks our issues, but I've forwarded this message to him.

-InterpretML team

@richcaruana
Copy link
Contributor

@peroni70 -- we are working on a neural net version of EBMs called NAMs (Neural Additive Models). Here's a pointer to our recent NeurIPS paper: https://papers.nips.cc/paper/2021/hash/251bd0442dfcc53b5a761e050f8022b8-Abstract.html. One advantage of training GAMs with DNNs is that it should be easier to use other neural net code for survival analysis with them. We haven't done this yet ourselves, but if you're a DNN hacker it shouldn't be too hard. Adding survival analysis to EBMs (which are based on boosted trees) is a little more difficult, but not impossible. We just haven't got to it yet, and aren't sure when we will be able to do it. Finally, another approach to survival analysis with EBMs is to use the method developed by Tibshirani to do survival analysis without directly modifying the learning algorithm. Not sure how good that method is in practice because I haven't used it myself, but I think there are a few papers about it in the literature. Hope this helps! -Rich.

@andreassoteriadesmoj
Copy link

@richcaruana, would you mind sharing links to a couple of papers on the method developed by Tibshirani to do survival analysis without directly modifying the learning algorithm please?

@mvanness354
Copy link

@peroni70 @andreassoteriadesmoj I know I'm a little late, but my research lab (led by Madeleine Udell) has been working on methods for interpretable survival analysis that are very relevant to the above conversations. I'd like to share some of these below as they may be useful for you or future visitors of this thread:

@andreassoteriadesmoj
Copy link

@mvanness354, amazing, thanks a ton!

@peroni70
Copy link
Author

peroni70 commented Dec 4, 2024

@mvanness354 that's great! It's been a while, but I'll just add to this thread that I ended up writing a short paper back in 2022 on using (second-order) neural additive models for survival analysis. I haven't focused on this research direction in some time, but it's really cool to see the active and ongoing work!

@andreassoteriadesmoj
Copy link

Nice to have that one too. Thanks for bringing it to our attention!

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Development

No branches or pull requests

5 participants