关于DID因果识别

  • Imbens: 任何的因果识别归根结底都是做插值差值
  • 传统\(DID\)最大的两类威胁是:①平行趋势不成立;②存在混淆政策
  • \(DID\)的重要前提是平行趋势,但这种前提实际并不能完全验证:事前平行并不意味着事后平行趋势,但事前不平行一定能验证平行趋势不成立
  • 最经典的例子就是经济特区,深圳在改革开放前可能和中原地区的一个小村庄没有什么不同,但是即使深圳没有被划为经济特区,改革开放后其经济增长趋势也有可能因为地缘优势而呈现较快的增长趋势
  • 两期的数据做\(DID\)会退化为\(FD\),此时的截距项代表时间变化趋势
  • Good control: 既影响\(y\),又影响\(D\cdot T\)
  • Bad control: 既影响y,又被\(D\cdot T\)影响
  • 无法判断影响样本进入处理组的因素是否还影响其变化趋势
  • 潜在结果:使用上标表示,想象中的结果
  • \(ATT\):处理组接受处理后的平均处理效应
  • \(D\)实际可以理解为处理组的固定效应
阅读全文 »

     

1. 研究问题

本文以江苏省12个地级市"河长制"政策转移案例(2006 — 2016)为研究对象,在识别政策转移案例中"复制"和"再生产"两种程度差异的基础上,应用定性比较分析(QCA)方法探索了资源禀赋、行政压力、政策需求、外部力量四大类因素对"河长制"转移程度的影响.研究发现"河长制"政策转移中的"政策再生产"的形成是多种因素组合作用的结果,而影响变量的组合并非一元,呈现多元化格局.通过QCA软件的数据梳理排序得出覆盖率最高的四种组合,在此基础上概化出政策转移中政策"再生产"的三种模式:资源主导型政策再生产,行政压力、资源、社会力量复合驱动型政策再生产,政府和智库合作型政策再生产.

 

阅读全文 »

     

需要提前了解的生猪养殖知识背景

  • 市场上常见的肉猪基本均为经过绝育的猪.一般而言,养殖户会在猪仔1个月大小的时候进行绝育,对公猪进行阉割,对母猪则切除卵巢.这种做法能够增加肉猪的成长速度,减少猪发情带来的成本,并减小猪肉的膻腥味、提升口感.
  • 如果养殖户存养未绝育的种猪或母猪,其用途主要为繁育猪仔.
  • 对于农村的小型散养户而言,每个村庄一般会有一个村兽医、或养殖技术联络员为其提供"猪的绝育"服务,村兽医、或养殖技术联络员基本 对应本文中的"Animal Husbandry Workers (AHW)".

     

1. 研究问题

本文旨在对"小额保险"("普惠型保险")对农户农业生产决策的作用进行因果识别.

具体而言,作者以"母猪保险"这一险种为例,以贵州省毕节市金沙县27个乡镇的480个村为实验场域,采用田野实验的方法,在中国人民财产保险股份有限公司(PCC)所推出的"母猪保险"产品基础上,结合金沙县"保险公司产推-->畜牧局地推-->养殖技术联络员村推"的保险推广模式,为村养殖技术联络员(AHW)随机分配"绩效激励",进而设置了村级层面的处理组和控制组,基于"组别"设置了一个村级层面的外生变量,对"母猪保险"村庄覆盖差异与后期"母猪存栏量"之间的因果关系进行因果识别.

 

阅读全文 »

效果展示

上图即为最终效果

下载数据

将代码中的~/文档/更换为要保存的目录.

1
2
download.file("https://raw.githubusercontent.com/QGQ931001/git-tutorial/master/bigcity/data-bKvwd.csv", destfile = "~/文档/data-bKvwd.csv" )
download.file("https://raw.githubusercontent.com/QGQ931001/git-tutorial/master/bigcity/world.geo.json", destfile = "~/文档/world.geo.json" )

加载R包

需要的R包如下所示.

1
2
3
4
5
library(sf)
library(readr)
library(tidyverse)
library(hrbrthemes)
library(ggtext)
阅读全文 »

一个说明

ggplot2::ggplot()指使用ggplot2包中的ggplot函数,::表示快速调用某个包里的函数.

示例

使用ggplot2包中的mpg数据框,这份数据是一份汽车资料:

1
knitr::kable(head(ggplot2::mpg, 10))
manufacturermodeldisplyearcyltransdrvctyhwyflclass
audia41.819994auto(l5)f1829pcompact
audia41.819994manual(m5)f2129pcompact
audia42.020084manual(m6)f2031pcompact
audia42.020084auto(av)f2130pcompact
audia42.819996auto(l5)f1626pcompact
audia42.819996manual(m5)f1826pcompact
audia43.120086auto(av)f1827pcompact
audia4 quattro1.819994manual(m5)41826pcompact
audia4 quattro1.819994auto(l5)41625pcompact
audia4 quattro2.020084manual(m6)42028pcompact
阅读全文 »


Love You.
Berry!
妳


ML两步法

可以采用二步法进行ML估计,以下将会以一段样例代码展示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
webuse school, clear
set seed 1
capture program drop mybiprobit
program mybiprobit
args lnf m1 m2 athrho zb1 lns1
tempvar rho
qui:gen double `rho'=tanh(`athrho')
qui:replace `lnf'=ln(normalden($ML_y3,`zb1',exp(`lns1')))
qui:replace `lnf'=`lnf'+ln(binormal(`m1',`m2',`rho')) if $ML_y1==1 & $ML_y2==1
qui:replace `lnf'=`lnf'+ln(binormal(`m1',-`m2',-`rho')) if $ML_y1==1 & $ML_y2==0
qui:replace `lnf'=`lnf'+ln(binormal(-`m1',`m2',-`rho')) if $ML_y1==0 & $ML_y2==1
qui:replace `lnf'=`lnf'+ln(binormal(-`m1',-`m2',`rho')) if $ML_y1==0 & $ML_y2==0
end
**Here I am creating an artificial IV
gen z=logptax-rnormal()
ml model lf mybiprobit (private:private=logptax loginc years) (vote:vote=logptax loginc years) /athrho (zb1:logptax=loginc years z) /lns1

ml maximize,
matrix b=e(b)
阅读全文 »