Hi everyone!
My name is Niccolò, I am a PhD student in AI at Sapienza University and a researcher at the Bank of Italy. I am writing to express my interest in the Survival Models project for GSoC 2026.
I’m currently focused on building Bayesian Early Warning Systems (EWS) to predict liquidity runs. To handle this, I’ve been working with discrete-time hazard models, working on implementing custom MCMC engines in pure NumPy.
To get familiar with the PyTensor backend and how censoring is currently handled in the codebase, I am currently looking into Issue #7581 (Mention vector bounds in Censored docstrings). I plan to write a message on the repovery soon, as I familiarize myself with the codebase.
While the Wiki mentions standard parametric (Exponential, Weibull, Log-Normal) and Cox models, is there interest in expanding the scope of this new module to natively support discrete-time recurrent event survival models (like handling risk-set masking over time-series)?
Are there specific architectural design docs or PyTensor modules you recommend I study before drafting my formal proposal?
Looking forward to hearing from you
Best,
Niccolò
Quick update: I commented on pymc-devs/pymc#7581. I’ve seen there’s already an in-progress PR with a couple of review notes. If you agree, I can implement the changes and open a small PR to improve the pm.Censored docstring (vector bounds + inf example). Mention vector bounds in Censored docstrings · Issue #7581 · pymc-devs/pymc · GitHub
In parallel, I’m still very interested in the Survival Models GSoC 2026 project. I’d love to discuss it further before drafting the proposal.
Best,
Niccolò
Hi Niccolo
The financial application sounds interesting. Censoring is handled in pymc, as you discovered in the linked issue. Pytensor is more in the background, and should “feel” like numpy. There are some pure pytensor example notebooks here, and some intro videos here (video 1 in a series) and here if you want to understand it more deeply.
For survival models specifically, it would be best to start by going over the survival model examples in pymc-examples. Try to figure out what tools exist and what is missing for the specific models you have mind. Then your proposal can be a focused “I want to implement specific feature x, so that I can accomplish goal y, which is currently not possible.”