当前位置: 首页 > news >正文

用hexo做网站贵州省住房和城乡建设厅门户网站

用hexo做网站,贵州省住房和城乡建设厅门户网站,信用中国门户网站建设方案,零基础做网站教程因果推断(五)基于谷歌框架Causal Impact的因果推断 除了传统的因果推断外,还有一些机器学习框架可以使用,本文介绍来自谷歌框架的Causal Impact。该方法基于合成控制法的原理,利用多个对照组数据来构建贝叶斯结构时间…

因果推断(五)基于谷歌框架Causal Impact的因果推断

除了传统的因果推断外,还有一些机器学习框架可以使用,本文介绍来自谷歌框架的Causal Impact。该方法基于合成控制法的原理,利用多个对照组数据来构建贝叶斯结构时间序列模型,并调整对照组和实验组之间的大小差异后构建综合时间序列基线,最终预测反事实结果。

CausalImpact适用于时间序列在干预后的效果评估,例如某功能上线后是否提升了用户活跃。本文参考自CausalImpact 贝叶斯结构时间序列模型、tfcausalimpact官网示例。

准备数据

# pip install tfcausalimpact
import tensorflow as tf
from causalimpact import CausalImpact
import pandas as pdtf.compat.v1.logging.set_verbosity(tf.compat.v1.logging.ERROR) # 忽略tf警告信息

以下数据如果有需要的同学可关注公众号HsuHeinrich,回复【因果推断05】自动获取~

# 读取数据
data = pd.read_csv('arma_data.csv')
data.iloc[70:, 0] += 5 # 手动增加y值。构造提升效果
data.head()

数据格式:

  • 第一列为因变量,后面为协变量,例如本立中的y和X。

  • 数据需要标准化处理,可参考官方示例

  • # causalimpact.misc.standardize标准化
    import numpy as np
    import pandas as pd
    import pytest
    import tensorflow as tf
    import tensorflow_probability as tfp
    from numpy.testing import assert_array_equal
    from pandas.util.testing import assert_frame_equalfrom causalimpact import CausalImpact
    from causalimpact.misc import standardizedata = pd.read_csv('tests/fixtures/btc.csv', parse_dates=True, index_col='Date')
    training_start = "2020-12-01"
    training_end = "2021-02-05"
    treatment_start = "2021-02-08"
    treatment_end = "2021-02-09"
    pre_period = [training_start, training_end]
    post_period = [treatment_start, treatment_end]pre_data = rand_data.loc[pre_int_period[0]: pre_int_period[1], :]
    # 标准化
    normed_pre_data, (mu, sig) = standardize(pre_data)
    
    # 自定义标准化 x-mu/sigma
    normed_my_data = (pre_data - mu) / sig # 伪代码
    # 定义model_args参数
    model_args == {'fit_method': 'hmc', 'niter': 1000, 'prior_level_sd': 0.01,  'season_duration': 1, 'nseasons': 1, 'standardize': True}
    
yX
0118.18869499.795292
1120.233276100.663180
2118.62777598.883699
3119.609722100.448941
4121.391508101.561734

模型拟合

# 分析报告
pre_period = [0, 69] # 干预前时期
post_period = [70, 99] # 干预后时期ci = CausalImpact(data, pre_period, post_period)
print(ci.summary())
ci.plot()
Posterior Inference {Causal Impact}Average            Cumulative
Actual                    125.23             3756.86
Prediction (s.d.)         120.23 (0.33)      3606.76 (9.97)
95% CI                    [119.58, 120.89]   [3587.5, 3626.57]Absolute effect (s.d.)    5.0 (0.33)         150.11 (9.97)
95% CI                    [4.34, 5.65]       [130.3, 169.36]Relative effect (s.d.)    4.16% (0.28%)      4.16% (0.28%)
95% CI                    [3.61%, 4.7%]      [3.61%, 4.7%]Posterior tail-area probability p: 0.0
Posterior prob. of a causal effect: 100.0%For more details run the command: print(impact.summary('report'))

output_54_1

  • Causal Impact报告
    • 实验最终的平均预测值(prediction)为120.34,平均实际值(actual)为125.23;而累计预测值3610.16,累计实际值3756.86;这里的平均数据范围就是上述虚线之后(干预后)的时间段
    • 经过MCMC估计指标绝对效应(absolute effect)平均增长4.89,累计增长146.71;相对比率(relative effect)平均增长4.06%,累计增长4.06%
  • Causal Impact图
    • 第一张图(original)黑色实线为干预前后的实际结果,橙色虚线为模拟的策略未上线时的结果。阴影为置信区间
    • 第二张图(pointwise)橙色虚线为策略前后y的差值,可以看到策略上线后,y差值是显著为正的。
    • 第三张图(cumulative)橙色虚线为策略上线后的累加值,是持续增大的,可见策略有明显的正向作用。
# 打印详细报告
print(ci.summary(output='report'))

image-20221223205802448

  • 也可以用时间序列+多元变量

    数据格式:

    • 第一列为因变量,后面为协变量,例如本立中的CHANGED和[NOT_CHANGED_1、NOT_CHANGED_2、NOT_CHANGED_3]
    • 数据需要标准化处理,同上
# 读取数据
data = pd.read_csv('comparison_data.csv', index_col=['DATE'])
data.head()
CHANGEDNOT_CHANGED_1NOT_CHANGED_2NOT_CHANGED_3
DATE
2019-04-1683836.585642.586137.581241.5
2019-04-1783887.586326.585036.580877.0
2019-04-1882662.087456.084409.580910.0
2019-04-1983271.089551.587568.582150.5
2019-04-2084210.090256.586602.583083.5
pre_period = ['2019-04-16', '2019-07-14']
post_period = ['2019-7-15', '2019-08-01']ci = CausalImpact(data, pre_period, post_period, model_args={'fit_method': 'hmc'}) # model_args参数提高精度,牺牲效率
print(ci.summary())
ci.plot()

image-20221223210055654

# 打印详细报告
print(ci.summary(output='report'))

image-20221223210147376

总结

这里的分享较为浅显,就当是一种冷门数据分析方法的科普吧,如果想深入了解的同学可自行查找资源进行充电~

共勉~

http://www.yayakq.cn/news/330445/

相关文章:

  • 重庆做网站找谁php调用网站导航怎么弄
  • 网站价格评估 优帮云厂房建设招标网站
  • 网站怎么做cdn定制做网站
  • 官方网站建设报价网络营销方式英语
  • 自适应企业网站源码商城形式的网站需要多少钱
  • 天津企业网站建站教程的实现方式
  • 手机版文章网站源码什么网站做ppt好
  • ps做简洁大气网站北京市建设工程造价管理处网站
  • 徐州徐州网站建设鹤峰网站建设
  • 厅门户网站建设苏州网址
  • 国外网站 备案吗网页设计工作室选址依据
  • 宝安做网站公司乐云seo郑州网站建设学习
  • 网站建站的尺寸微网站和手机网站
  • 苏州网站建设网站制作的公司扬州大学第四届网站建设评比
  • 《网站建设与管理》论文wordpress自动评论工具
  • 做网站应怎么缴税湖南企业app下载
  • 外贸网站如何优化wordpress微信验证码
  • 广告网站模板网站建设 中企动力宜昌
  • 网站建设客户需求wordpress 产品筛选
  • 保定建站模板搭建博客wordpress
  • 做的网站每年需要续费个人网站能备案吗
  • 免费网站制作视频教程智能建造师证书
  • seo北京网站推广专业柳州网站建设多少钱
  • 网站做301打不开wordpress 谷歌竞价
  • 公众号网站制作怎样宣传自己的产品
  • 个人建站什么网站好如何写网站开发需求
  • 用asp.net做后台网站wordpress本地更换为网站域名
  • 邯郸网站建设最新报价怎么把底部的wordpress
  • 无锡市城市建设规划局网站金乡网站建设哪家便宜
  • 番禺网站制作didv WordPress