CDCgov / multisignal-epi-inference

Python package for statistical inference and forecast of epi models using multiple signals
https://cdcgov.github.io/multisignal-epi-inference/
9 stars 1 forks source link

Replace `new_convolve_scanner` and `new_double_scanner` function factories with `ConvolveScanner` classes? #177

Open dylanhmorris opened 2 weeks ago

dylanhmorris commented 2 weeks ago

Something like this:

class SingleConvolveScanner:
    def __init__(self, array: ArrayLike, transform: Callable):
        self.array = array
        self.transform = transform

    def __call__(self, history_subset: ArrayLike, multiplier: float) -> tuple[ArrayLike, float]:
        new_val = self.transform(multiplier * jnp.dot(self.array, history_subset))
        latest = jnp.hstack([history_subset[1:], new_val])
        return latest, new_val

Pro

Con

dylanhmorris commented 2 weeks ago

Thoughts? @damonbayer @gvegayon @sbidari @AFg6K7h4fhy2 @SamuelBrand1