*该文原文都在社群里可以直接下载。
估计、不确定性量化和绘图:binsreg命令提供了标准和扩展最小二乘法分箱散点图的实现,而binslogit、binsprobit和binsqreg命令则提供了广义非线性分箱散点图方法的实现(包括逻辑回归、Probit回归和分位数回归)。所有这些命令都支持箱内高阶多项式拟合、跨箱平滑度限制,以及在估计、不确定性量化和绘图时对协变量进行调整。它们还涵盖了线性和非线性设置中感兴趣的高阶导数及其相关的部分效应。此外,这些命令还支持多样本的估计、不确定性量化和绘图。
假设检验和统计推断:binstest命令实现了对参数specification和未知回归函数形状限制的非参数检验程序,而binspwc命令则用于执行多组间的两两比较。这两个命令与估计命令binsreg、binslogit、binsprobit和binsqreg一样,提供了相同的灵活性和功能,允许执行线性和非线性最小二乘和广义分箱散点图方法。这包括箱内高阶多项式拟合、箱间平滑度限制、半线性协变量调整,以及提供其他多种功能和选项。
最佳箱数选择:上述六个命令都需要一个分箱方案作为输入,该方案定义了构建分箱散点图近似时箱的位置和总数。如果用户没有提供这一信息,binsregselect命令将实现一个数据驱动的选择值,用于选择基于分位数间隔或均匀间隔的分箱/分区方案(默认情况下,遵循常见的实证实践,选择基于分位数间隔的分箱方案)。
depvar 代表因变量(( y_i ))。
indvar 代表自变量(( x_i ))。
othercovs 是用于协变量调整的变量列表(( w_i ))。
weights 参数支持 fweights(频率权重)、aweights(分析权重)和 pweights(概率权重);更多详细信息,请参阅 Stata 中关于权重的文档。(在 R 中,weights 参数仅支持与 fweights 等效的权重;更多详细信息,请参阅 lm() 函数的帮助文档。)
估计命令
binsreg 命令语法
命令 binsreg 实现了最小二乘分箱散点估计值,包括相应的置信区间和置信带,以及全局多项式的完整逼近。它还支持分箱散点图的绘制。该命令尽可能地使用基本的线性回归命令(如 Stata 中的 regress)。分箱/分区结构是必需的,但如果用户未提供,则可以使用配套命令 binsregselect 以数据驱动的方式进行选择。
命令的基本语法如下:
binsreg depvar indvar [othercovs] [weights] [p s v]
absorb(absvars)
和 reghdfeopt(reghdfe option)
选项,这两个选项通过 reghdfe
模块(Correia and Constantine 2023)实现了多维固定效应和多维聚类最小二乘分箱散点估计。这些选项仅适用于 binsreg
和 binsregselect
命令(如果测试程序基于最小二乘分箱散点)。binsreg
命令依赖于基本命令 regress
,或者如果用户指定的话,命令 reghdfe
,因此它在可能的情况下使用 regress
或 reghdfe
的语法。binslogit
和 binsprobit
命令实现了二值结果分箱散点估计,包括相应的置信区间和置信带,以及全局多项式的完整逼近。它们还支持分箱散点图的绘制。这些命令尽可能地使用基本命令 logit
和 probit
(或者在 R 中使用 glm()
函数)。如果用户没有提供分区/分箱结构,可以使用配套命令 binsregselect
以数据驱动的方式进行选择。binsreg
相比,binslogit
/binsprobit
的唯一新选项是 nolink
以及 logitopt(logit option)
/probitopt(probit option)
。当指定 nolink
时,binslogit
/binsprobit
将报告线性单指数(即不使用逆链接函数的预测结果。logitopt(logit option)
/probitopt(probit option)
可用于指定 logit
/probit
命令的其他选项,例如控制最大化过程的选项。absorb(absvars)
和 reghdfeopt(reghdfe option)
选项在这些命令中不可用。所有其他选项都适用于 Binsreg 软件包中的所有估计命令。binslogit
和 binsprobit
实现了基本命令 logit
和 probit
,因此它们在可能的情况下使用相同的语法。binsqreg
命令实现了分位数回归分箱散点估计,包括相应的置信区间和置信带,以及全局多项式的完整逼近。它还支持分箱散点图的绘制。这个命令尽可能地使用基本的分位数回归命令(如 qreg
或 bsqreg
,或者在 R 中使用 rq()
函数)。如果用户没有提供分区/分箱结构,可以使用配套命令 binsregselect
以数据驱动的方式进行选择。binsreg
相比,binsqreg
的唯一新选项是 quantile(numeric)
和 qregopt(qreg option)
。选项 quantile(numeric)
设置感兴趣的分位数,而 qregopt(qreg option)
可用于指定 qreg
命令的其他选项,例如控制优化过程的选项。absorb(absvars)
和 reghdfeopt(reghdfe option)
选项在 binsqreg
中不再可用。所有其他选项都适用于 Binsreg 软件包中的所有估计命令。binsqreg
实现了基本命令 qreg
或 bsqreg
(如果通过 vce()
请求基于自举的标准误差),因此在可能或适当的情况下允许使用相同的语法和选项。binscatter_simdata.dta
中的模拟数据集进行说明。该数据集中,y
代表结果变量,x
作为分箱的自变量,w
是一个连续分布的协变量,t
是一个二元协变量,而 id
则是用于标识不同组别的标识符。以下是模拟数据的摘要统计信息。. use binsreg_simdata, clear
. sum
binsreg
命令语法如下:. binsreg y x w
Sorting dataset on x...
y
与 x
之间的(非参数化)平均关系通过分段常数(dots(0 0)
)来近似。图中每个点代表相应箱子的点估计值,这是分箱散点图的典型特征。若未指定箱子数量,binsregselect
命令将自动以数据驱动的方式进行选择。在此示例中,共使用了 21 个箱子。同时,命令还提供了其他有用信息,包括总样本量、x
不同值的数量、箱子选择结果以及所使用的统计模型的自由度等。默认情况下,binsreg
命令在协变量 wi
的均值处评估并绘制感兴趣的回归函数 (\theta(v)w(x)),即 (w = \bar{w})。用户可以通过 at()
选项指定不同的 w
值,例如,wi
中每个分量的经验中位数:. binsreg y x w, at(median)
w
和一个基于二元协变量 t
生成的虚拟变量。在 w=0.2
和 t=1
处评估分箱散点估计,并将这些值提前保存在名为 evalcovar
的临时文件中。J=20
个分位数间隔的箱子:. binsreg y x w, nbins(20) polyreg(1)
polyreg(1)
向典型的分箱散点图添加了线性预测线,但由于篇幅限制,这里不展示结果。binsreg
命令支持用户添加基于分箱散点的线近似未知回归函数、点估计的置信区间、均匀置信带和全局多项式回归逼近。以下语法依次添加了四种不同的图形选项,包括拟合线、置信区间和置信带,均基于三次 B 样条,并添加了一个基于 4 次全局多项式的拟合线。结果展示在图 2 中。. qui binsreg y x w, nbins(20) dots(0,0) line(3,3)
. qui binsreg y x w, nbins(20) dots(0,0) line(3,3) ci(3,3)
. qui binsreg y x w, nbins(20) dots(0,0) line(3,3) ci(3,3) cb(3,3)
. qui binsreg y x w, nbins(20) dots(0,0) line(3,3) ci(3,3) cb(3,3) polyreg(4)
J=20
,可能会产生过度平滑的效果。可以通过调整 dots()
、line()
、ci()
和 cb()
选项中 p
和 s
的值来改变多项式的阶数和平滑度。binsreg
命令还支持使用标准的 vce
选项、因子变量以及 twoway
图形选项等,这些在下面的代码中进行了展示。. binsreg y x w i.t, dots(0,0) line(3,3) ci(3,3) cb(3,3) polyreg(4) vce(cluster id) savedata(output/graphdat) replace title("Binned Scatter Plot")
vce(cluster id)
)、保存图形数据到 output/graphdat
(savedata(output/graphdat)
),以及替换现有文件(replace
)的选项,并为图形指定了标题(title("Binned Scatter Plot")
)。t
生成的虚拟变量,对标准误差进行了聚类处理,以 id
作为组别水平的指示符,并为生成的分箱散点图添加了图形标题。需要注意的是,对于 binsreg
命令未识别的任何选项,将被视为 twoway
选项,因此会被附加到最终的绘图命令中。这样,用户可以轻松地修改轴属性、图例等。此外,savedata(graphdat)
选项用于将分箱散点图的底层数据保存至文件 graphdat.dta
中。binsreg
也适用于子组分析。以下命令在由变量 t
定义的两个子组中分别执行分箱估计和推断,随后生成一个统一的分箱散点图(见图 3):. binsreg y x w, by(t) dots(0,0) line(3,3) cb(3,3) bycolors(blue red) bysymbols(O T)
t
定义的两个子组之间的差异,这与我们的模拟数据中对 t = 1
的单位在结果变量上加 1 的做法相对应。图 3 中的颜色、符号和线条样式可以通过 bycolors()
、bysymbols()
和 bylpatterns()
选项进行调整。若未指定箱子数量,binsreg
命令将通过配套命令 binsregselect
为每个子样本独立选择箱子数量。这意味着,通常情况下,不同子组的分箱/分区结构选择是不同的。但如果指定了 samebinsby
选项,则会基于完整样本构建所有子组的公共分箱方案。J
而选择多项式的度数/平滑度。以下代码段展示了如何实现这一过程:. binsreg y x w, nbins(20) line(T) ci(T) cb(T) pselect(0/3)
J = 20
,并在范围 {0, 1, 2, 3} 内选择多项式的次数 p
。最佳 p
的结果是 0,因此我们基于分段常数估计构建了“dots”、“line”,以及基于线性样条估计的置信区间和置信带。配套的复制文件中包含了其他示例,例如:基于渐近方差公式的推断:
. binsreg y x w i.t, dots(0,0) line(3,3) ci(3,3) cb(3,3) polyreg(4) vce(cluster id) asyvar(on)
使用社区贡献的模块 reghdfe
:
. binsreg y x w, absorb(t) dots(0,0) line(3,3) ci(3,3) cb(3,3) polyreg(4)
关闭数据分布健壮性检查并使用社区贡献的模块 gtools
:
. binsreg y x w, masspoints(off) usegtools(on)
binsqreg
命令对量化回归分箱方法进行估计和不确定性量化的说明。以下代码查看了结果变量的条件第 25 个分位数:. binsqreg y x w, quantile(0.25)
. binsqreg y x w, quantile(0.25) ci(3 3) vce(bootstrap, reps(100))
qregopt(qreg option)
来修改底层的量化回归。例如,用户可以通过以下方式控制优化过程:. qui binsqreg y x w, quantile(0.25) qregopt(iterate(1000) wls(1))
binslogit
命令对二元响应回归分箱方法进行说明,使用逻辑回归:. binslogit d x w
binstest
命令的语法和输出结果。该命令的基本语法如下:. binstest y x w, testmodelpoly(1)
testmodel()
选项进行调整。若未指定,箱数的选择将通过配套命令 binsregselect
以数据驱动的方式进行,且默认选择的箱数是对分段常数点估计的 IMSE(平均平方误差)最优值。命令首先展示样本和分箱方案的摘要,随后报告检验统计量和 p 值。在此情形下,检验统计量是在一系列网格点上评估的 t 统计量的绝对最大值,而 p 值是基于模拟计算得出的。显然,如果 p 值非常小,我们将拒绝回归函数线性的原假设。. binstest y x w, testmodelpoly(1) deriv(1)
binstest
命令能够通过比较基于分箱估计器(由命令计算)和用户提供的感兴趣的参数模型的拟合值来实现对任何参数化模型规范的测试。例如,以下代码首先创建了一个包含评估点网格的辅助数据库,然后实施了线性回归,并使用辅助数据集进行了外样本预测,最后通过指定包含拟合值的辅助文件来基于分箱估计器进行线性检验:. qui binsregselect y x w, simsgrid(30) savegrid(output/parfitval) replace
. qui reg y x w
. use output/parfitval, clear
. predict binsreg_fit_lm
. save output/parfitval, replace
binsregselect y x w, simsgrid(30) savegrid(output/parfitval) replace
生成了包含评估点网格的辅助文件。在外样本预测步骤中,由于兴趣参数仅为 ( y ) 和 ( x ) 之间的均值关系 ( \mu_0(x) ),测试数据集 parfitval.dta
必须包含一个变量 ( x ),其中包含用于比较分箱和参数模型的评估点序列,并且其值被设置为零的协变量 ( w )。此外,包含拟合值的变量必须遵循特定的命名规则,即采用 binsreg fit*
形式。配套命令 binsregselect
可以用于构建所需的辅助数据集,如上所示。我们将在后续进一步讨论这个其他命令。binstest
命令还可以测试回归函数的非参数形状约束。例如,以下语法测试回归函数是否递增:. binstest y x w, deriv(1) nbins(20) testshaper(0)
binstest
命令能够同时实施多个检验(针对感兴趣的多个导数)。例如:. binstest y x w, nbins(20) testshaper(-2 0)
这允许用户对回归函数的形状进行更为复杂的检验,提供了一种灵活的方法来探究回归函数及其导数的属性。
*群友可直接在社群下载该文原文PDF参阅。
下面这些短链接文章属于合集,可以收藏起来阅读,不然以后都找不到了。
7年,计量经济圈近2000篇不重类计量文章,
可直接在公众号菜单栏搜索任何计量相关问题,
Econometrics Circle
联系客服