stata-安慰剂检验

本文介绍了在实证分析中如何使用permute检验进行稳健性检验,包括安慰剂检验的概念,以及如何通过Stata中的命令进行操作。重点展示了t值、标准误和p值的关系,以及如何通过可视化来解释这些统计概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实证小李-六步法(找数据,想机制,跑基准,稳健性,内生性,异质性)
本次要讲的是-稳健性检验-安慰剂检验通常用于did做实证分析时,其他虚拟政策对y是没有影响的,现在一般采用permute检验,这个命令可以省去很多代码量,具体的视频讲解请移步:

https://www.bilibili.com/video/BV1kH4y177VM/spm_id_from=333.999.0.0&vd_source=d6cea42a005ed788519a8f3c726b3db0

这里将did换成你使用的did,默认命名规范为did

permute did beta=_b[did] se =_se[did] df=e(df_r), reps(100) rseed(123) saving ("anweiji.dta",replace):reghdfe edu did $firmvar $cityvar,absorb(industry city year) vce(cluster stkcd)

绘图,这里注意 t_value =beta/se,其中beta是did之前的回归系数,se是标准误,t值得计算为回归系数除以标准误。

use "anweiji.dta",clear
gen t_value =beta/se
gen p_value=2*ttail(df,abs(beta/se))

**xtitle(“Estimator”,size(0.8)):**设置 x 轴的标题为 “Estimator”,并指定标题的大小为默认大小的 80%。
**xline(0.0512,lc(black
0.5) lp(dash)):**在 x 轴上绘制一条虚线,位置在 0.0512 处,线条颜色为黑色的一半(即灰色),线型为虚线。
**xlabel(-0.8(0.1)0.8,format(%4.1f) labsize(small)):**设置 x 轴的刻度标签为从 -0.8 到 0.8,间隔为 0.1,格式为保留一位小数,标签大小为小号。
**yline(0.1,lc(black*0.5) lp(dash):**在 y 轴上绘制一条虚线,位置在 0.1 处,线条颜色为黑色的一半(即灰色),线型为虚线。
**ytitle(“Density”,size(*0.8))):**设置 y 轴的标题为 “Density”,并指定标题的大小为默认大小的 80%。
**ylabel(,nogrid format(%4.1f labsize(small))):**设置 y 轴的标签格式为保留一位小数,标签大小为小号,不显示网格线。
**note(“”) 和 caption(“”):**分别设置注释和标题为空。
**graphregion(fcolor(white)):**设置图形区域的背景色为白色。

注意这个绘制要将你的0.0512换成你的回归系数,即beta得具体值,这张图要说明的是,经过虚拟政策检验以后,大部分得值都集中在0附近,且服从正态分布。

dpplot beta,xline(0.0512,lc(black*0.5) lp(dash)) xline(0,lc(black*0.5) lp(solid)) xtitle("Estimator",size(*0.8)) xlabel(-0.1(0.05)0.1,format(%4.1f) labsize(small)) ylabel(,nogrid format(%4.1f) labsize(small)) note("") caption("") graphregion(fcolor(white))

在这里插入图片描述

这里要将2.39换成你主回归的t值,然后绘制图形。

dpplot t_value,xline(2.39,lc(black*0.5) lp(dash)) xline(0,lc(black*0.5) lp(solid)) xtitle("Estimator",size(*0.8)) xlabel(-3(0.5)3,format(%4.1f) labsize(small)) ytitle("Density",size(*0.8)) ylabel(,nogrid format(%4.1f) labsize(small)) note("") caption("") graphregion(fcolor(white))

这里不变0.0512还是beta的系数,但是要更换yline(0.1,lc(black*0.5) lp(dash),因为0.1代表不显著。结果大部分要在0.1得上面,yline是画0.1的横线

dpplot p_value,xline(0.0512,lc(black*0.5) lp(dash)) xline(0,lc(black*0.5) lp(solid)) xtitle("Estimator",size(*0.8)) xlabel(-0.8(0.1)0.8,format(%4.1f) labsize(small)) yline(0.1,lc(black*0.5) lp(dash) ytitle("Density",size(*0.8))) ylabel(,nogrid format(%4.1f labsize(small))) note("") caption("") graphregion(fcolor(white))

在这里插入图片描述

导出图片:

graph export "安慰剂检验.png",width(1000) replace

最后补充一下t值,p值,标准误之间的关系,好记心不如烂笔头,总是记不住
在统计学中,t 值(t-value)是用来衡量样本统计量与总体参数之间差异的一种度量。它的计算方式是将样本统计量与假设的总体参数之间的差异除以标准误(standard error)。标准误是样本统计量的标准差,表示样本统计量与总体参数的估计值之间的不确定性。
p 值(p-value)是在假设检验中用来判断样本统计量是否足够极端,从而决定是否拒绝原假设的概率。p 值越小,表示观察到的样本统计量在原假设下出现的概率越低,因此拒绝原假设的依据越强。
综上所述,t 值的绝对值越大,表示样本统计量与总体参数之间的差异越大,p 值越小,表示样本统计量越不可能是由于随机因素导致的。标准误则是衡量样本统计量的不确定性,可以帮助解释 t 值和 p 值的意义。

在多元回归中,t 值用于检验回归系数(coefficients)是否显著不等于零,从而判断自变量对因变量的影响是否显著。t 值的计算公式如下:
在这里插入图片描述
兄弟们stata和计量是补充统计知识的好途径,可以说你从另一角度打开了统计学的大门,可以方便你做机器学习,理解一些求和和统计量之间的关系,而且难度极低,如果你能手敲代码并会一定的debug,那你一定会进步神速。

### 构建任务失败解决方案 当遇到 `Execution failed for task ':app:shrinkReleaseRes'` 错误时,这通常意味着资源压缩过程中出现了问题。此错误可能由多种原因引起,包括但不限于配置不正确、依赖冲突或特定于项目的其他因素。 #### 可能的原因分析 1. **ProGuard 或 R8 配置不当** ProGuard 和 R8 是用于优化和混淆代码以及减少 APK 大小的工具。如果这些工具的配置存在问题,可能会导致资源无法正常处理[^1]。 2. **重复资源** 如果项目中有多个模块定义了相同的资源名称,可能导致冲突并引发该错误。检查是否存在重名的 drawable、string 等资源文件[^2]。 3. **第三方库兼容性** 某些第三方库可能与当前使用的 Gradle 插件版本或其他库存在兼容性问题,从而影响到资源打包过程中的行为[^3]。 4. **Gradle 缓存问题** 有时旧缓存数据会干扰新编译的结果,尝试清理本地仓库和重新同步项目可以帮助排除此类潜在障碍[^4]。 #### 推荐的操作方法 为了有效解决问题,建议按照以下步骤逐一排查: ```bash # 清理项目构建目录 ./gradlew clean # 删除 .gradle 文件夹下的所有内容以清除缓存 rm -rf ~/.gradle/caches/ ``` 调整 `build.gradle` 中的相关设置也是一个重要环节: ```groovy android { ... buildTypes { release { minifyEnabled true // 是否启用代码缩减 shrinkResources true // 是否开启资源压缩 proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' // 尝试禁用 shrinkResources 来测试是否为资源压缩引起的错误 // shrinkResources false } } } ``` 此外,在 `proguard-rules.pro` 文件内添加必要的保留规则,防止关键类被意外移除: ```text -keep class com.example.yourpackage.** { *; } # 替换为你自己的包路径 -dontwarn androidx.**,com.google.** # 忽略警告信息 ``` 最后,确保所使用的 Android Studio 版本是最新的稳定版,并且已经应用了所有的补丁更新。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值