-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Master issue tracking objectives in the ~3 week sprint that will occur in Nov 2025.
Resolution of Issues from Last TI
Items that were not finished last TI that we should tackle at the beginning of this sprint.
- Add callbacks, history logging and performance improvements to sgd. #105 is waiting on @willGraham01's review.
- Turn two normal example into a notebook #103 is blocked by Add callbacks, history logging and performance improvements to sgd. #105.
- Test that numpyro's
doanddodo the same thing #91 and Make example problem that uses distribution other than normal #96 are also still hanging from last TI, though they won't block anything in the plan below. - The
CausalProblemclass #85 still has two open sub-issues, but again they don't block anything below.
Main Feature Development
Our focus this TI should be on vector-valued nodes and finishing off the quadratic penalty method solver. @samjmolyneux has also flagged some documentation issues that we should resolve, the more important ones are in here and the others are in the next section.
Vector-valued nodes.
#110 is open with the long-term plan for vector valued nodes. Though this could easily scope drift if we come across problems we didn't envision. Of the sub-tasks; this TI I think we should aim to get both of
- Determine if
numpyro'sbatch_size(or another equivalent argument) is sufficient for emulating vector-valued IID RVs. #111 - Adapt node-based methods like
sample,moment, andexpectationso that they handle vector-valued nodes appropriately. #112
done, or at least have identified any blockers and made progress towards those. We might get on to the further objectives #113 and #114, but I think we should keep those as stretch goals for this TI at least.
@mscroggs seems like the most natural candidate for these features.
Solver Development
We have two open issues regarding solver development.
- Solver Performance and Stability Analysis #95, which is partially blocked by Add callbacks, history logging and performance improvements to sgd. #105 waiting on review.
- Solving the Optimisation Problem #75, waiting on an implementation of the Quadratic Penalty Method (QPM).
@willGraham01 started on an implementation of the QPM last TI but didn't get it working due to stability issues. However with the changes in #105, which adds callbacks and other helpful debugging tools, the implementation he came up with can likely be improved (or at least, made more tractable to debugging!).
@samjmolyneux has been working on #95 last TI, and the aforementioned improvements in #105.
For this TI, we should decide which of these two issues to tackle. Given the length of #95 and the fact that we'd need the QPM implemented to complete the last part of the issue, I'm inclined to suggest that this TI we focus on implementing the QPM.
Documentation Holes
There are a number of documentation holes that we should look to address across the package.
- Add documentation or example using EffectHandler on Constraint and CausalEstimand #104 - @willGraham01 was responsible for these features.
- Update docstring for two_normal_example integration test #106 - @willGraham01 again was responsible for the maths behind the test mentioned in the issue.
- Once Turn two normal example into a notebook #103 is complete, we should also look into adding an examples gallery to the documentation build that runs the notebooks (or scripts equivalent to the notebooks) as part of the documentation build, and publishes them. Flagging Turn tests into demos #18 here
- Also going to throw Organising the codebase #62 in here, since it is near completion and relates to how we organise the documentation / notebooks / package code etc.
- "Parameter" Terminology across the package #118 could also be addressed at the same time.
Low-Hanging Fruit / Spare time fillers
(Hopefully) small tasks that can be checked off with small (or at least, self-contained) PRs without too much development time. Not priority tasks but are definitely something that can be checked off if you find yourself with a spare hour or two at the end of the day.