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

现在企业需要建设网站吗wordpress 打包 exe

现在企业需要建设网站吗,wordpress 打包 exe,体育类网站开发,装潢设计装修因果推断(三)双重差分法(DID) 双重差分法是很简单的群体效应估计方法,只需要将样本数据随机分成两组,对其中一组进行干预。在一定程度上减轻了选择偏差带来的影响。 因果效应计算:对照组y在干预…

因果推断(三)双重差分法(DID)

双重差分法是很简单的群体效应估计方法,只需要将样本数据随机分成两组,对其中一组进行干预。在一定程度上减轻了选择偏差带来的影响。

DID

因果效应计算:对照组y在干预前后的均值差( A ˉ 2 − A ˉ 1 \bar A_2 - \bar A_1 Aˉ2Aˉ1),实验组y在干预前后的均值差( B ˉ 2 − B ˉ 1 \bar B_2 - \bar B_1 Bˉ2Bˉ1),则因果效应: ( B ˉ 2 − B ˉ 1 ) − ( A ˉ 2 − A ˉ 1 ) (\bar B_2 - \bar B_1)-(\bar A_2 - \bar A_1) (Bˉ2Bˉ1)(Aˉ2Aˉ1)

假设前提:DID有一个很重要且很严格的平行趋势假设,即实验组和对照组在没有干预的情况下,结果的趋势是一样的。

准备数据

from faker import Faker
from faker.providers import BaseProvider, internet 
from random import randint
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import math
import statsmodels.formula.api as smf
import warningswarnings.filterwarnings('ignore')# 绘图初始化
%matplotlib inline
sns.set(style="ticks")
# 自定义数据
fake = Faker('zh_CN')
class MyProvider(BaseProvider):def myCityLevel(self):cl = ["一线", "二线", "三线", "四线+"]return cl[randint(0, len(cl) - 1)]def myGender(self):g = ['F', 'M']return g[randint(0, len(g) - 1)]
fake.add_provider(MyProvider)# 构造假数据,模拟用户特征
uid=[]
cityLevel=[]
gender=[]
for i in range(10000):uid.append(i+1)cityLevel.append(fake.myCityLevel())gender.append(fake.myGender())raw_data= pd.DataFrame({'uid':uid,'cityLevel':cityLevel,'gender':gender,})raw_data['class'] = raw_data['uid'].map(lambda x: 'A' if x % 2 == 1 else 'B') # 按奇偶随机分组# 构造did数据
df = pd.DataFrame(columns=['uid','cityLevel','gender', 'class', 'sales', 'dt'])
for i,j in enumerate(range(2005,2011)):lift = 1+i*0.05df_temp = raw_data.copy()df_temp['sales'] = [int(x) for x in np.random.normal(300*lift, 60*lift, df_temp.shape[0])]df_temp['sales'] = df_temp.apply(lambda x: x.sales*0.88 if x['class']=='A' else x.sales, axis=1)if j>2007:df_temp['sales'] = df_temp.apply(lambda x: x.sales*(1+i*0.02) if x['class']=='B' else x.sales, axis=1)df_temp['dt'] = jdf=pd.concat([df,df_temp])df_did = df.groupby(['class', 'dt'])['sales'].sum().reset_index()

验证平行趋势假设

# 计算文字的y坐标
y_text = df_did.query('dt == 2007 and `class`=="B"')['sales'].values[0]
# 绘图查看干预前趋势
fig, ax = plt.subplots(figsize=(12,8))
sns.lineplot(x="dt", y="sales", hue="class", data=df_did)
ax.axvline(2007, color='r', linestyle="--", alpha=0.8)
plt.text(2007, y_text, 'treatment')
plt.show()

output_2_0

除了画图观察平行趋势,也可以通过回归拟合,参考自如何使用Python计算双重差分模型

# 方法2 回归计算
df_did['t'] = df_did['treatment'].map(lambda x: 1 if x=='干预后' else 0) # 是否干预后
df_did['g'] = df_did['class'].map(lambda x: 1 if x=='B' else 0) # 是否试验组
df_did['tg'] = df_did['t']*df_did['g'] # 交互项# 回归
est = smf.ols(formula='sales ~ t + g + tg', data=df_did).fit() 
print(est.summary()) 

image-20230104232512894

可以看到交互项tg并不显著,因此可以认为具备平行趋势

计算因果效应

# 计算因果效应
df_did['treatment'] = df_did['dt'].map(lambda x: '干预后' if x>2007 else '干预前')
df_did_cal = df_did.groupby(['class', 'treatment'])['sales'].mean()
did = (df_did_cal.loc['B', '干预后'] - df_did_cal.loc['B', '干预前']) - \(df_did_cal.loc['A', '干预后'] - df_did_cal.loc['A', '干预前'])
print(did)
175541.82000000007

总结

在实际业务中,平行趋势假设是很难满足的,因此常常会先进性PSM构造相似的样本,这样两组群体基本上就会符合平行趋势假设了,所以常见以PSM+DID进行因果推断,有兴趣的同学可以结合这两期的内容自行尝试。

共勉~

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

相关文章:

  • 电商网站开发代码网站免费源代码
  • 游标卡尺 东莞网站建设学生做网站的软件
  • 黄金软件在线下载搜索引擎网站优化推广
  • 东莞品牌网站建设百度的域名
  • 移动网站建设机构专业公司网络推广
  • 怎么查网站域名备案软件企业网站建设栏目结构图
  • 可以做ps兼职的网站男人的好看网
  • 微信支付 网站开发wordpress链接添加媒体库
  • seo证书考试网站电商网站开发实验报告
  • 视频投票网站怎么做贝斯特专业网站
  • 医疗医院网站建设智推教育seo课程
  • 专业做外贸网站建设网页设计与网站建设 郑州大学
  • 网站开发有什么注意的企业网页
  • 系网站建设总结报告成都工信部网站
  • 手机企业wap网站全国的p2p网站建设
  • 威海哪里做网站网站与域名的关系
  • 织梦仿站建站网站建设实战男女做污的事情网站
  • 动漫网站在线免费观看中国新闻社是什么单位
  • 深圳市网站建设公手机网站规划
  • 网站注册界面设计网站模板怎么连接域名
  • 网站开发职业环境分析谷歌浏览器app下载
  • 重庆响应式网站建设公司电子商务网站建设与管理教材评价
  • 做外贸的网站平台有哪些内容上海网站开发设计培训
  • 紫金银行网站wordpress 文字插件下载
  • jsp servlet 网站实例做网站开发的想接私活
  • 网站建设与推广完美结合爱你视频免费观看
  • 中国建设银行投标再什么网站上seo点击排名源码
  • wordpress主题google优化方案数学2024电子版
  • 网站建设好了怎么弄手机网站建设wordpress 本机安装目录
  • 宁波建网站需要什么江苏公众科技网站建设