WillianFuks / tfcausalimpact

Python Causal Impact Implementation Based on Google's R Package. Built using TensorFlow Probability.
Apache License 2.0
600 stars 72 forks source link

Is this the replacement for pycausalimpact? #22

Open yungmsh opened 3 years ago

yungmsh commented 3 years ago

Hi there! I noticed that the repo for pycausalimpact (https://github.com/dafiti/causalimpact) has been taken down, then saw that you were one of the key contributors to the package, then saw that you started tfcausalimpact last year and this is currently maintained. One of the main differences I noticed is that tfcausalimpact uses Tensorflow Probability under the hood, but apart from computational method, is this basically the replacement for the other package? Is pycausalimpact not being maintained by Dafiti anymore? Appreciate any response, thanks!

WillianFuks commented 3 years ago

Hi @yungmsh ,

Unfortunately I also don't know what happened to dafiti's package =/.

I left the company a while ago and lost access to the repository; in the mean time I found that the Tensorflow Probability team implemented structural time series models and I decided to create tfcausalimpact based on that (this time in my own account).

I tried getting in contact with the company but didn't get a reply ever since so not sure what happened.

That shouldn't be a big problem though as tfcausalimpact is a closer implementation to the original R package and is being fully maintained ever since. All the computations, outputs and models are just the same so switching over should be straightforward.

Hope that helps :)

Best,

Will

juanitorduz commented 2 years ago

hey @WillianFuks ! Awesome work you are (have been) doing. I actually like a lot the UnobservedComponents model as is faster to iterate ;) I wrote a small post about a potential extension to pymc. Maybe is worth working on it? :)

WillianFuks commented 2 years ago

Hi @juanitorduz ,

Very cool article and references! I ended up reading the whole thing (unfortunately the reference in statsmodels post regarding the AR Bayesian implementation on top of PyMC3 is broken and I couldn't find it anywhere on their repo).

I, for one, certainly liked the idea of integrating UnobservedComponents into PyMC3. Still, as the Jacobian of the variables matrix is computed in statsmodels yet then I'm not sure what the impact is on performance. Maybe a full PyMC implementation would be the final goal of these ideas.

If those ideas grow maybe in the future we could integrate them into tfcausalimpact.

juanitorduz commented 2 years ago

Yes! I will keep looking into this as I personally like the PyMC community and there is a lot of new stuff coming in the new release ;)

As a reference, here is the link of the AR example https://docs.pymc.io/en/v3/pymc-examples/examples/time_series/AR.html

Keep up the great work! Next in my list is to dig deeper into tfcausalimpact source code ;)