stata 如何在同一张图中比较不同模型的边际效应分析结果



* 模型1:不包含二次项
tobit y x $covars, ll(0)
* 模型1的边际效应
margins, at(x==(-1.92(0.1)1.315)) atmeans predict(ystar(0,.)) saving(margins_without_quad, replace) 


* 模型2:包含二次项
tobit y x c.x#c.x $covars, ll(0)
* 模型2的边际效应
margins, at(x==(-1.92(0.1)1.315)) atmeans predict(ystar(0,.)) saving(margins_with_quad,replace) 



// 载入包含二次项的边际效应数据
use margins_with_quad, clear
gen model = 1
// 检查边际效应变量名并重命名
describe
rename _margin dydx_x_quad
save margins_with_quad, replace

// 载入不包含二次项的边际效应数据
use margins_without_quad, clear
gen model = 2
// 检查边际效应变量名并重命名
describe
rename _margin dydx_x_no_quad
save margins_without_quad, replace

// 合并两个数据集
use margins_with_quad, clear
append using margins_without_quad


// 绘制边际效应曲线

twoway (rarea _ci_lb _ci_ub _at1 if model==1, color(blue%30) lwidth(none) xlab(-2(0.5)1.5)) ///
       (line dydx_x_quad _at2 if model==1, lcolor(blue) lwidth(medium) lpattern(solid)) ///
       (rarea _ci_lb _ci_ub _at1 if model==2, color(red%30) lwidth(none) ) ///
       (line dydx_x_no_quad _at1 if model==2, lcolor(red) lwidth(medium) lpattern(dash)), ///
	   legend(order(2 "有二次项模型" 4 "无二次项模型")) ///      
	   title("")  ///
	   xtitle("x")  ytitle("E(y*|y>0)")  

	   
graph export "边际效应比较.pdf", replace

知识点:

1. margins输出结果可以存储为dta

2. twoway rarea专门用来绘制置信区间

3. _ci_lb _ci_ub分别是margins结果中的置信区间下限和上限

4. _at1是模型中第一个自变量的取值,在本例中即变量x在(-1.92(0.1)1.315)范围内的取值。跑模型时想要计算边际效应的自变量位于第*个,画图时使用对应的_at*即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值