CDF的置信区间
假设您的曲线代表从数据中获得的经验 CDF,则测试两个以上组之间差异的常用方法是类似于 Kolmogorov-Smirnov 检验的某种多样本非参数检验,或基于秩的检验ANOVA 检验类似于多样本 Kruskal-Wallis 检验。统计文献中有许多论文着眼于此类多样本非参数检验(参见例如,Kiefer 1959、Birnbaum 和 Hall 1960、Conover 1965、Sen 1973的早期文献)。如果您减少到感兴趣的成对比较,您当然可以使用传统的两样本测试。
有一个R
称为ksamples
实现多样本 Kruskal-Wallis 检验和其他一些多样本非参数检验的包。我不知道进行多样本 KS 测试的软件包,但其他人可能会向您指出其他资源。
您可以使用与 4 个组相对应的一组假人的同时分位数回归来执行类似的操作。这允许您测试和构建置信区间,比较描述您关心的不同分位数的系数。
这是一个玩具示例,我们不能拒绝在所有 4 个 MPG 组中第 25、第 50 和第 75 个四分位数的汽车价格都相等的联合零值(p 值为 0.374):
. sysuse auto, clear
(1978 Automobile Data)
. xtile mpg_quartile = mpg, nq(4)
. distplot price, over(mpg_quartile) legend(rows(1)) ylab(.25 .5 .75, angle(0) grid) xlab(#10, grid) ///
> plotregion(fcolor(white) lcolor(white)) graphregion(fcolor(white) lcolor(white))
.
. sqreg price i.mpg_quart, quantile(.25 .5 .75) reps(500)
(fitting base model)
Bootstrap replications (500)
----+--- 1 ---+--- 2 ---+--- 3 ---+--- 4 ---+--- 5
.................................................. 50
.................................................. 100
.................................................. 150
.................................................. 200
.................................................. 250
.................................................. 300
.................................................. 350
.................................................. 400
.................................................. 450
.................................................. 500
Simultaneous quantile regression Number of obs = 74
bootstrap(500) SEs .25 Pseudo R2 = 0.0909
.50 Pseudo R2 = 0.1228
.75 Pseudo R2 = 0.2639
------------------------------------------------------------------------------
| Bootstrap
price | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
q25 |
mpg_quartile |
2 | -1297 528.3106 -2.45 0.017 -2350.682 -243.3178
3 | -1192 447.9346 -2.66 0.010 -2085.377 -298.6225
4 | -1484 458.6527 -3.24 0.002 -2398.754 -569.2459
|
_cons | 5379 414.9198 12.96 0.000 4551.468 6206.532
-------------+----------------------------------------------------------------
q50 |
mpg_quartile |
2 | -1442 1253.755 -1.15 0.254 -3942.535 1058.535
3 | -1086 1414.436 -0.77 0.445 -3907.004 1735.004
4 | -1776 1232.862 -1.44 0.154 -4234.867 682.8667
|
_cons | 6165 1221.461 5.05 0.000 3728.873 8601.127
-------------+----------------------------------------------------------------
q75 |
mpg_quartile |
2 | -6213 1591.987 -3.90 0.000 -9388.118 -3037.882
3 | -4535 1847.591 -2.45 0.017 -8219.904 -850.0963
4 | -6796 1592.095 -4.27 0.000 -9971.334 -3620.666
|
_cons | 11385 1556.486 7.31 0.000 8280.686 14489.31
------------------------------------------------------------------------------
. test ///
> ([q25]2.mpg_quart=[q25]3.mpg_quart=[q25]4.mpg_quart) ///
> ([q50]2.mpg_quart=[q50]3.mpg_quart=[q50]4.mpg_quart) ///
> ([q75]2.mpg_quart=[q75]3.mpg_quart=[q75]4.mpg_quart)
( 1) [q25]2.mpg_quartile - [q25]3.mpg_quartile = 0
( 2) [q25]2.mpg_quartile - [q25]4.mpg_quartile = 0
( 3) [q50]2.mpg_quartile - [q50]3.mpg_quartile = 0
( 4) [q50]2.mpg_quartile - [q50]4.mpg_quartile = 0
( 5) [q75]2.mpg_quartile - [q75]3.mpg_quartile = 0
( 6) [q75]2.mpg_quartile - [q75]4.mpg_quartile = 0
F( 6, 70) = 1.10
Prob > F = 0.3740
ECDF 如下所示:
尽管对于图中的 3 个分位数,第 1 组和第 2-4 组之间似乎存在很大差异。但是,这并不是很多数据,因此由于“微数”,无法通过正式测试拒绝可能并不令人惊讶。
有趣的是,Kruskal-Wallis 检验拒绝了 4 个组来自同一群体的假设:
. kwallis price , by(mpg_quartile)
Kruskal-Wallis equality-of-populations rank test
+---------------------------+
| mpg_qu~e | Obs | Rank Sum |
|----------+-----+----------|
| 1 | 27 | 1397.00 |
| 2 | 11 | 286.00 |
| 3 | 22 | 798.00 |
| 4 | 14 | 294.00 |
+---------------------------+
chi-squared = 23.297 with 3 d.f.
probability = 0.0001
chi-squared with ties = 23.297 with 3 d.f.
probability = 0.0001
为了一次比较 2 个分布(“成对”),可以找到 CDF 在统计上显着不同的所有值范围,同时将全族错误率 (FWER) 控制在所需的水平。这种(新)方法在这篇 2018 年计量经济学期刊论文以及这篇 2019 年 Stata 期刊文章中有详细描述。R 和 Stata 代码(以及开放的文章草稿和复制文件)位于https://faculty.missouri.edu/~kaplandm。两篇文章都包含带有真实数据的示例。一切都是完全非参数的,即使在小样本中,FWER 的“强控制”也是精确的。