thoughts on multivariate causalimpact: Nonlinear Function
Created: February 15, 2022
Modified: February 15, 2022

thoughts on multivariate causalimpact

This page is from my personal notes, and has not been specifically reviewed for public consumption. It might be incomplete, wrong, outdated, or stupid. Caveat lector.

let's say the signal we see after the intervention is modeled as the
combination of the counterfactual forecast and an intervention effect.
We can treat that intervention effect like a latent time series (!) to
be inferred. So if we have multiple ads, they each create their own
latent time series. To make this identifiable, we'd probably need
multiple time series, where each observed time series draws from a
different linear combination of the underlying ads (equivalently vice
versa->every latent series has some linear effect on each observed
series).

Things become more identifiable if you put appropriate priors on the
latent effects, like a LocalLinearTrend maybe. And if you put a
hierarchy on them---e.g., ads have topics, and topics have effects on
actual observed series, so that we can cold-start a new ad with the
expectation that its effect will look similar to the effect of other
ads on the same topic(s).

This is kind of like Sigvisa for ad causal inference! In particular,
you'd no longer need to hold out periods of data after every ad.

note this is not targeting the hierarchical setting where the raw
time series are super weirdly noisy. That will be a problem for
advanced implementations, and it may be important, but it's a separate
problem. Though in some ways they're related---the better the model of
actual effects, the easier it will be to learn good noise models.