连玉君 (中山大学,arlionn@163.com)

陈鑫梅 (暨南大学,1562922593@qq.com)

空间计量专题课程

1. 引言

当你在做研究时,不知道是否有过这样的经历:花了好长时间想出来一个好 idea,但却发现搜集数据存在困难,比方说进行一次抽样的成本较高,再进行一次抽样不太可能实现…… 总之,你无法做到对总体进行多次重复的抽样,也就是说你无法通过统计样本对总体进行推断。

本文为大家介绍了一种再抽样方法——Jackknife (刀切法),并提供了相关 Stata 代码和 Jackknife 与其他几种类似方法的比较说明,旨在为解决上述问题提供一种思路。

2. Jackknife 介绍

Jackknife 方法由 Quenouille(1949) 提出,并由 Tukey(1958) 创造了 Jackkife 这一术语。Jackknife 是一种再抽样方法,其原始动机是「降低估计的偏差」。

具体来看,对于未知分布的总体,从中抽取样本容量为 的样本,以样本统计量 来估计总体参数 会产生一定误差,尤其在小样本的情况下。为解决这样一个问题,可以将从原样本切去第 个个体后计算得到的统计量记为 。一般而言,估计值与实际值之间会相差一个常量 (偏差) 和一个无穷小量:

将 与 的差定义为切去第 个个体后的虚拟值 (pesudovalues),则有:

虚拟值的期望值等于总体参数减去一个无穷小量,由此表明它对总体参数的估计相对于 更为精确。因此,可以用虚拟值的均值作为总体参数的一个无偏估计:

的方差:

Note: 本部分内容摘自「连洪泉、高庆辉和周业安 (2018)」,同时参考「Jackknife方法简介」。

温馨提示: 文中链接在微信中无法生效。请点击底部

3.  Jackknife 的 Stata 实现

3.1 Jackknife 命令介绍

基本语法

 jackknife exp_list [, options eform_option] : command

主要选项

options Description
cluster(varlist) variables identifying sample clusters
idcluster(newvar) create new cluster ID variable
keep keep pseudovalues
mse use MSE formula for variance estimation

3.2 Jackknife2 命令介绍

Jackknife2 可用于刀切线性估计,并且允许用户计算「交叉验证」和「诊断度量 (diagnostic measures)」,但是这些措施目前在 ivregress 2slsxtregxtivreg 命令之后是不能进行的。jacknife2jknife2 都可表示 jackknife2

JackknifeJackknife2 建立在 次迭代的循环上,每一样本单元对应一次迭代,区别在于每次迭代的 L1O 估计的计算方式。

  • Jackknife 在删除某一样本单位的基础上运行适当的估计命令,退出循环后,计算刀切估计的偏差。这种计算方式代价昂贵,因为要计算 次   矩阵的逆运算。

  • Jackknife2 在每次迭代中运用 L1O 公式计算了 L1O 估计值;在循环中,还积累了计算刀切估计的方差和偏差,这大大减轻了计算负担。

基本语法

jackknife2 [, options] : command

Jackknife 和 Jackknife2 命令实例

sysuse auto, clearjackknife: regress mpg weight trunk

*-输出结果Jackknife replications (74)----+--- 1 ---+--- 2 ---+--- 3 ---+--- 4 ---+--- 5 ..................................................    50........................

Linear regression                               Number of obs     =         74                                                Replications      =         74                                                F(   2,     73)   =      78.10                                                Prob > F          =     0.0000                                                R-squared         =     0.6543                                                Adj R-squared     =     0.6446                                                Root MSE          =     3.4492

------------------------------------------------------------------------------             |              Jackknife         mpg |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]-------------+----------------------------------------------------------------      weight |  -.0056527   .0010216    -5.53   0.000    -.0076887   -.0036167       trunk |   -.096229   .1486236    -0.65   0.519    -.3924354    .1999773       _cons |   39.68913   1.873324    21.19   0.000      35.9556    43.42266------------------------------------------------------------------------------

sysuse auto, clearjackknife2: regress mpg weight trunk

*-输出结果Jackknife replications (74)----+--- 1 ---+--- 2 ---+--- 3 ---+--- 4 ---+--- 5 .................................................. 50........................

Linear regression                               Number of obs     =         74                                                Replications      =         74                                                F(   2,     71)   =      67.19                                                Prob > F          =     0.0000                                                R-squared         =     0.6543                                                Adj R-squared     =     0.6446                                                Root MSE          =     3.4492Cross-validation criterion =    932.76------------------------------------------------------------------------------             |              Jackknife         mpg |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]-------------+----------------------------------------------------------------      weight |  -.0056527   .0010216    -5.53   0.000    -.0076896   -.0036157       trunk |   -.096229   .1486236    -0.65   0.519     -.392576    .2001179       _cons |   39.68913   1.873323    21.19   0.000     35.95383    43.42443------------------------------------------------------------------------------

3.3 Jackknife 不适用的情形

当统计函数不是平滑函数时,数据小的变化会带来统计量的一个大的变化,如极值、中值。

具体来看,数据集 的中位数是 46。然而,使用 Jackknife 估计得到中位数集 (依次去掉其中一个样本,求剩下样本的中位数) 为 。因此,只有在满足原始样本平滑的条件下,Jackknife 结果才会接近 Bootstrap,否则估计结果将是有偏的。

Note: 详见 Efron(1993, p.148) 和「如何用自助法或刀切法估计偏差、方差?」。

温馨提示: 文中链接在微信中无法生效。请点击底部

4. Jackknife 与其他方法的联系

4.1 Jackknife 与 Bootstrap

Bootstrap 基本思想

Bootstrap 的基本思想是:如果观测样本是从母体中随机抽取的,那么它将包含母体的全部的信息,那么我们不妨就把这个观测样本视为“总体”。可以简单地概括为:既然样本是抽出来的,那我何不从样本中再抽样。关于 Bootstrap 的详细介绍,参考「Stata: Bootstrap 简介」。

温馨提示: 文中链接在微信中无法生效。请点击底部

两者的关系

其一,抽样方法不同。Bootstrap 采用的是「可重复抽样」,或「有放回抽样」。

其二,Jackknife 在解决不光滑 (Smooth) 参数估计时会失效,而 Bootstrap 可以解决这个问题。

其三,若统计量是线性的,二者的结果会非常接近。虽然从表面上看,Jackknife 似乎只利用了非常有限的样本信息。对于非线性统计量而言,Jackknife 会有信息损失,此时 Bootstrap 较好。这是因为,Jackknife 可以视为 Bootstrap 的线性近似。换言之,Jackknife 的准确程度取决于统计量与其线性展开的接近程度。

4.2 Jackknife 与交叉验证法

机器建模中,数据被分为训练集和测试集,测试集与训练模型无关,用于模型的评估。在训练模型时,往往面临过拟合问题 (模型能够匹配训练数据,但预测训练集以外的数据效果欠佳),一个解决的思路就是利用测试集的数据调整模型参数,但这将影响评估模型的准确性 (训练模型时已经利用测试集数据的信息)。通常,我们会选择将训练集再进行划分,留一部分数据作为验证集,用于评估模型训练效果。

交叉验证法是将数据样本切割成较小样本的方法。将每个子集分别作为一次验证集,而其他子集作为训练集。交叉验证的目的是定义一个验证集在训练阶段测试模型,并得出未知数据集 (测试集) 应用于该模型的结果。

留一法 (Leave One Out Cross Validation,LOOCV)

留一法 是指只使用原样本中的一个样本作为验证集,其他数据作为训练集。本质上,留一法 与 Jackknife 并无区别。广义上来讲,还存在 留二法 (留出 2 个观察值作为验证集,其余作为训练集),留三法,…… 。

Stata 用 Leave-one-out 交叉验证评估模型的 performance*ssc install loocv, replaceloocv reg mpg weight trunk

 Leave-One-Out Cross-Validation Results -----------------------------------------         Method          |    Value-------------------------+---------------Root Mean Squared Errors |   3.5503247Mean Absolute Errors     |   2.4184582Pseudo-R2                |   .61889574-----------------------------------------

K 折交叉验证 (K-Fold Cross Validation)

将训练集分成 个子样本,其中的一个子样本被当作验证集,剩下 个样本是训练集。交叉验证重复 次,使每个子样本都作为验证集验证一次 (10 次交叉验证是最常用的)。当数据总量较小,并且选择其它方法也无法提升性能时,可以考虑使用 K 折交叉验证 (当数据量大时,该法会使训练时间加长)。

蒙特卡洛交叉验证 (Monte Carlo Cross Validation)

蒙特卡洛交叉验证也叫作重复随机子抽样验证 (Repeated random sub-sampling validation),数据集被随机分为训练集和验证集,用训练集训练模型,使用验证集评估预测是否准确。这种方法拆分训练集和验证集的比例不依赖 “折叠” 次数,但是,随机分解数据可能会使某些数据从未被选入验证集,也可能被多次选中。这些不确定因素使得实验结果不可复制。

Note: 关于交叉验证的更多资料 (crossfoldkfoldclass命令介绍及实例等),详见「Stata: 交叉验证是什么东东?」。

温馨提示: 文中链接在微信中无法生效。请点击底部

5. 相关命令概览

得益于 Jackknife 的一些优势,以及「去一法」的广泛应用,Stata 中已经有不少相关的外部命令,这里列举一些,供大家参考:

help cv_regress // estimate the leave-one-out error for linear regression modelshelp estrat     // module to perform Endogenous Stratification for Randomized Experimentshelp loocv      // module to perform Leave-One-Out Cross-Validationhelp looclass   // module for generating classification statistics of Leave-One-Out cross-validation for binary outcomes

6. 参考资料

温馨提示: 文中链接在微信中无法生效。请点击底部

  • Quenouille M H. Approximate tests of correlation in time-series[J]. Journal of the Royal Statistical Society. Series B (Methodological), 1949, 11(1): 68-84. Link1 Link2
  • Tukey J. Bias and confidence in not quite large samples[J]. Ann. Math. Statist., 1958, 29: 614. Link
  • Efron B, Tibshirani R J. An introduction to the bootstrap[M]. Chapman & Hall, 1993. Link
  • Efron, B. Bootstrap Methods: Another Look at the Jackknife[J]. The Annals of Statistics, 1979, 7(1): 1-26. Link
  • Walsh B. Re sampling methods: randomization test, Jackknife and Bootstrap Estimators[J]. Lecture Notes, 2000. Link
  • Poi B P. Jackknife instrumental variables estimation in Stata[J]. The Stata Journal, 2006, 6(3): 364-376. Link1 Link2
  • Cameron A C, Trivedi P K. Microeconometrics using stata[M]. College Station, TX: Stata press, 2009. Link Data&Progs
  • 连洪泉, 高庆辉, 周业安. 个人所得税缩减贫富差距的效应有多大?——基于 CHNS 调查数据和刀切法的动态评估[J]. 经济学报, 2018 (3): 7. Link
  • Jackknife方法简介 Link
  • 如何用自助法或刀切法估计偏差、方差?Link
  • Stata: Bootstrap 简介 Link
  • Stata: 交叉验证是什么东东?

bootstrap 检验 法 原理_Stata:刀切法/留一法/Jackknife 简介相关推荐

  1. stata F值缺失_Stata:刀切法-去一法-Jackknife 简介

    连玉君 (中山大学,arlionn@163.com) 陈鑫梅 (暨南大学,1562922593@qq.com) Stata连享会   主页 || 视频 || 推文 http://qr06.cn/B9E ...

  2. bootstrap 检验 法 原理_检验检测技术分享课程:公共场所集中空调通风系统 卫生标准及其检测要点...

    为方便检验检测行业人员疫情期间线上协作及学习,普洛赛斯检测为您准备了丰富的在线学习课程及资料,欢迎大家一起在线交流知识,互相学习.同时进行线上对接检测业务等服务.咨询电话范经理18758013176. ...

  3. bootstrap 检验 法 原理_广义倾向得分匹配法(GPS)(二)

    * cd "/Volumes/18210463169/---当 前 需 要 做 的 工 作---/广义倾向得分匹配法 学习 (GPS)"cd "G:\课件\2020年 硕 ...

  4. Stata:刀切法-去一法-Jackknife简介

    原文链接:https://www.lianxh.cn/news/53db66a7540f1.html 目录 1. 引言 2. Jackknife 介绍 3. Jackknife 的 Stata 实现 ...

  5. 交叉验证的缘由、原理以及四种交叉验证法(留出法,K-Fold,留一法,Bootstrap)

    [机器学习]Cross-Validation(交叉验证)详解 普通情况下,就是将数据集分为训练集和测试集. 这个简单的划分方法存在两个弊端. 1.最终模型与参数的选取将极大程度依赖于你对训练集和测试集 ...

  6. python实现留一法_数据分割:留出法train_test_split、留一法LeaveOneOut、GridSearchCV(交叉验证法+网格搜索)、自助法...

    1.10 交叉验证,网格搜索 学习目标 目标 知道交叉验证.网格搜索的概念 会使用交叉验证.网格搜索优化训练模型 1 什么是交叉验证(cross validation) 交叉验证:将拿到的训练数据,分 ...

  7. 如何使用SPSS Amos进行验证性因子分析(CFA)和Bootstrap检验中介效应

    如何使用SPSS Amos进行验证性因子分析(CFA)和Bootstrap检验 准备 验证性因子分析 Bootstrap检验中介效应 相关链接 准备 分析前需要安装并激活SPSS Amos软件,这里以 ...

  8. 交叉验证(s折、分层、留一法)

    目录 交叉验证原理 交叉验证分类 1.标准交叉验证(s折交叉验证) 代码实现 2.分层交叉验证 代码实现 StratifiedKFold参数 3.留一法交叉验证 代码实现 代码说明 交叉验证原理 交叉 ...

  9. 评估方法(交叉验证法、自助法、留出法)

    文章目录 留出法 hold-out 交叉验证法 cross validation k折交叉验证 留一法 leave-one-out cross validation 自助法 bootstrapping ...

最新文章

  1. Redis主从握手流程,你真的了解了吗?
  2. Mysql 错误 Code: 1093. You can't specify target table for update in FROM clause
  3. WebBrowser介绍——Javascript与C++互操作
  4. 【C++】Visual studio样式定制
  5. adobe stream的最后一行空行_Excel VBA 7.66 如何快速删除数据间空行?手动慢又乱!VBA快又准...
  6. java 多线程 交替_java 多线程–线程交替
  7. 菜鸟车辆路径规划创造26项世界纪录 实际可降低10.3%配送成本
  8. 【OpenCV 例程200篇】10. 图像的拼接(np.hstack)
  9. ansible操作远程服务器报Error: ansible requires the stdlib json or simplejson module, neither was found!...
  10. java架构实践_Java架构实践-关于IO流
  11. 刘汝佳--WERTY
  12. jmail邮件服务器,jmail.smtpmail的核心代码:
  13. 史上最简SLAM零基础解读(4) - 单应性Homography →公式推导与细节理解
  14. 腾讯和360之争之二
  15. mysql查询数据库剩余空间大小_MySQL中查询所有数据库占用磁盘空间大小
  16. Caused by: java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: com.and
  17. 字节跳动/今日头条校招大礼包 2019年校招大礼包
  18. 玩客云root成功一键获取root权限
  19. 智能合约--如何实现可升级的智能合约
  20. SAP MIGO生产订单入库校验BADI增强MB_MIGO_BADI

热门文章

  1. ABP框架系列之三十:(Javascript-API-Javascript-API)
  2. skylake服务器处理器M系列,配i系列Skylake处理器!华硕U305评测
  3. 【TypeScript】必学基础
  4. Redis缓存穿透、击穿、雪崩、概念及解决办法
  5. vba设置Excel单元格左对齐、右对齐、居中对齐、字体、字号、字型
  6. 笔记本无线网卡失效(红叉)故障排除
  7. android 信号研究(包括信号图标和信号优化)
  8. 祛湿不能迷信红豆薏米水!
  9. 数独算法c语言,数独求解算法C.
  10. 聚焦:XuperOS成长计划FAQ