微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何运行 pycausalimpact 来确定和衡量因果关系?

如何解决如何运行 pycausalimpact 来确定和衡量因果关系?

我最近遇到了 pycausalimpact。

https://pypi.org/project/pycausalimpact/

import numpy as np
import pandas as pd
from statsmodels.tsa.arima_process import ArmaProcess
from causalimpact import CausalImpact


np.random.seed(12345)
ar = np.r_[1,0.9]
ma = np.array([1])
arma_process = ArmaProcess(ar,ma)
X = 100 + arma_process.generate_sample(nsample=100)
y = 1.2 * X + np.random.normal(size=100)
y[70:] += 5

data = pd.DataFrame({'y': y,'X': X},columns=['y','X'])
pre_period = [0,69]
post_period = [70,99]

ci = CausalImpact(data,pre_period,post_period)
print(ci.summary())
print(ci.summary(output='report'))
ci.plot()

该通用代码在给定的示例中运行良好。现在,我正在尝试在 pycausalimpact 示例中运行我自己的数据,如下所示。

import sys
import os
import numpy as np
import pandas as pd
from IPython.core.pylabtools import figsize
import statsmodels as sm
from statsmodels.tsa.statespace.structural import UnobservedComponents
from statsmodels.tsa.arima_process import ArmaProcess
from matplotlib import pyplot as plt
from causalimpact import CausalImpact
import warnings

y = fus['days']
X = fus[['market_cat','mmepool_cat','submarket_cat','local_market_cat','project_type_cat','site_status_cat','city_cat','state_cat']]

我挣扎的部分在这里

ci = CausalImpact(data,post_period)
print(ci.summary())
print(ci.summary(output='report'))
ci.plot()

我需要如何准备“数据”、“pre_period”和“post_period”才能在我的特定数据集中工作?这是我的一些实际数据。

y =

enter image description here

X =

enter image description here

基本上,我想看看自变量和因变量(天)之间是否存在某种因果关系。或者……是否有更好/替代的方法来确定和衡量因果关系?谢谢。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。