12.4 置换检验点评

除coin和lmPerm包外,R还提供了其他可做置换检验的包。perm包能实现coin包中的部分功能,因此可作为coin包所得结果的验证。corrperm包提供了有重复测量的相关性的置换检验。

logregperm包提供了Logistic回归的置换检验。另外一个非常重要的包是glmperm,它涵盖了广义线性模型的置换检验依靠基础的抽样分布理论知识,置换检验提供了另外一个十分强大的可选检验思路。对于上面描述的每一种置换检验,我们完全可以在做统计假设检验时不理会正态分布、t分布、F分布或者卡方分布。当然,置换检验真正发挥功用的地方是处理非正态数据(如分布偏倚很大)、存在离群点、样本很小或无法做参数检验等情况。不过,如果初始样本对感兴趣的总体情况代表性很差,即使是置换检验也无法提高推断效果。置换检验主要用于生成检验零假设的p值,它有助于回答“效应是否存在”这样的问题。

12.5 自助法

所谓自助法,即从初始样本重复随机替换抽样,生成一个或一系列待检验统计量的经验分布。

无需假设一个特定的理论分布,便可生成统计量的置信区间,并能检验统计假设。比如,你想计算一个样本均值95%的置信区间。假设均值的样本分布不是正态分布:

(1) 从样本中随机选择10个观测,抽样后再放回。有些观测可能会被选择多次,有些可能一

直都不会被选中。

(2) 计算并记录样本均值。

(3) 重复1和2一千次。

(4) 将1000个样本均值从小到大排序。

(5) 找出样本均值2.5%和97.5%的分位点。此时即初始位置和最末位置的第25个数,它们就限

定了95%的置信区间。

12.6 boot 包中的自助法

boot包扩展了自助法和重抽样的相关用途。可以对一个统计量(如中位数)或一个统计

量向量(如一列回归系数)使用自助法.

自助法有三个主要步骤。

(1) 写一个能返回待研究统计量值的函数。如果只有单个统计量(如中位数),函数应该返回

一个数值;如果有一列统计量(如一列回归系数),函数应该返回一个向量。

(2) 为生成R中自助法所需的有效统计量重复数,使用boot()函数对上面所写的函数进行处理。

(3) 使用boot.ci()函数获取第(2)步生成的统计量的置信区间。

主要的自助法函数是boot(),它的格式为:bootobject<-boot(data=,statistic=,R=,…)

data:量、矩阵或者数据框

statistic:生成k个统计量以供自举的函数(k=1时对单个统计量进行自助抽样)函数需包括indices参数,以便boot()函数用它从每个重复中选择实例

R:自助抽样的次数

...:其他对生成待研究统计量有用的参数,可在函数中传输

boot()函数调用统计量函数R次,每次都从整数1:nrow(data)中生成一列有放回的随机指

标,这些指标被统计量函数用来选择样本。统计量将根据所选样本进行计算,结果存储在

bootobject中。boot()函数中返回对象所含的元素

t0 从原始数据得到的k个统计量的观测值

t 一个R × k矩阵,每行即k个统计量的自助重复值

你可以如bootobject$t0和bootobject$t这样来获取这些元素。

一旦生成了自助样本,可通过print()和plot()来检查结果。如果结果看起来还算合理,

使用boot.ci()函数获取统计量的置信区间。格式如下:

Boot.ci(bootobject,couf=type=)

bootobject boot()函数返回的对象

conf 预期的置信区间(默认:conf =0.95)

type 返回的置信区间类型。可能值为norm、basic、stud、perc、bca和all(默认:type =all)

type参数设定了获取置信区间的方法。perc方法(分位数)展示的是样本均值,bca将根据

偏差对区间做简单调整

12.6.1 对单个统计量使用自助法

> rsq<-function(formula,data,indices){

+ d<-data[indices,]

+ fit<-lm(formula,data=d)

+ return(summary(fit)$r.square)

+ }

> set.seed(1234)

> results<-boot(data=mtcars,statistic=rsq,R=1000,formula=mpg~wt+disp)

> print(results)

ORDINARY NONPARAMETRICBOOTSTRAP

Call:

boot(data = mtcars,statistic = rsq, R = 1000, formula = mpg ~

wt + disp)

Bootstrap Statistics :

original bias std. error

t1* 0.78093060.0133367 0.05068926

可以看到,自助的R平方值不呈正态分布。它的95%的置信区间可以通过如下代

码获得:

> boot.ci(results,type=c("perc","bca"))

BOOTSTRAP CONFIDENCE INTERVALCALCULATIONS

Based on 1000 bootstrap replicates

CALL :

boot.ci(boot.out = results, type =c("perc", "bca"))

Intervals :

Level Percentile BCa

95% ( 0.6838, 0.8833 ) ( 0.6344, 0.8549 )

Calculations and Intervals on OriginalScale

Some BCa intervals may be unstable

12.6.2 多个统计量的自助法

首先,创建一个返回回归系数向量的函数:

> bs<-function(formula,data,indices){

+ d<-data[indices,]

+ fit<-lm(formula,data=d)

+ return(coef(fit))

+ }

> results<-boot(data=mtcars,statistic=bs,R=1000,formula=mpg~wt+disp)

> print(results)

ORDINARY NONPARAMETRIC BOOTSTRAP

Call:

boot(data = mtcars, statistic = bs, R= 1000, formula = mpg ~

wt + disp)

Bootstrap Statistics :

original bias std. error

t1* 34.96055404 0.1101475088 2.445950503

t2* -3.35082533 -0.08573079461.114315903

t3* -0.01772474 0.0003223228 0.008201569

plot(results,index=2)

12.7 小结

本章,我们介绍了一系列基于随机化和重抽样的计算机密集型方法,它们使你无需理论分布

的知识便能够进行假设检验,获得置信区间。当数据来自未知分布,或者存在严重的离群点,或

者样本量过小,又或者没有参数方法可以回答你感兴趣的假设问题时,这些方法是非常实用的。

R in action读书笔记(17)第十二章 重抽样与自助法的更多相关文章

  1. R in action读书笔记(16)第十二章 重抽样与自助法之 置换检验

    第十二章:重抽样与自助法 本章,我们将探究两种应用广泛的依据随机化思想的统计方法:置换检验和自助法 12.1 置换检验 置换检验,也称随机化检验或重随机化检验. 有两种处理条件的实验,十个受试者已经被 ...

  2. 《深入理解java虚拟机》读书笔记十一——第十二章

    第十二章  Java内存模型与线程 1.硬件效率与一致性 由于计算机的存储设备与处理器的运算速度有几个数量级的差距,所以现代计算机系统都不得不加入一层读写速度尽可能接近处理器运算速度的高速缓存(Cac ...

  3. R in action读书笔记(12)第九章 方差分析

    第九章方差分析 9.2 ANOVA 模型拟合 9.2.1 aov()函数 aov(formula, data = NULL, projections =FALSE, qr = TRUE, contra ...

  4. Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第二十二章:四元数(QUATERNIONS)

    原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第二十二章:四元数(QUATERNIONS) 学习目标 回顾复数,以及 ...

  5. Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十二章:几何着色器(The Geometry Shader)

    原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十二章:几何着色器(The Geometry Shader) 代码工 ...

  6. JavaScript DOM编程艺术-学习笔记(第十二章)

    第十二章 1.本章是综合前面章节的所有东西的,一个综合实例 2.流程:①项目简介:a.获取原始资料(包括文本.图片.音视频等) b.站点结构(文件目录结构) c.页面(文件)结构 ②设计(切图) ③c ...

  7. R in action读书笔记(19)第十四章 主成分和因子分析

    第十四章:主成分和因子分析 本章内容 主成分分析 探索性因子分析 其他潜变量模型 主成分分析(PCA)是一种数据降维技巧,它能将大量相关变量转化为一组很少的不相关变量,这些无关变量称为主成分.探索性因 ...

  8. Linux内核设计与实现 总结笔记(第十二章)内存管理

    内核里的内存分配不像其他地方分配内存那么容易,内核的内存分配不能简单便捷的使用,分配机制也不能太复杂. 一.页 内核把页作为内存管理的基本单位,尽管处理器最小寻址坑是是字或者字节.但是内存管理单元MM ...

  9. R in action读书笔记(21)第十六章 高级图形进阶(上)

    16.1 R 中的四种图形系统 基础图形函数可自动调用,而grid和lattice函数的调用必须要加载相应的包(如library(lattice)).要调用ggplot2函数需下载并安装该包(inst ...

随机推荐

  1. WPF的WebBrowser屏蔽弹出脚本错误窗体

    WPF自带的WebBrowser在訪问一些有问题的网页时常常跳出非常多提示脚本错误的窗体, 可是WPF没有自带屏蔽这些窗体的方法或属性. 所以网上找来一使用反射的方法来屏蔽弹出脚本错误窗体的方法, 非 ...

  2. MUI日期选择控件

    MUI的Demo里面有例子,实际做的时候发现日期老是乱码,调了半天,最后发现引用的CSS错误,例子中引用的是 <link href="Css/mui.picker.min.css&qu ...

  3. linux路由表解析

    1 格式 Destination 这个和Genmask一起构成目标网络.路由是路由到目标网络,知道目标网络就可以到达目标路由器,然后在该网络中找到目标机器. Gateway 网关,数据包的下一跳.比如 ...

  4. spring boot自定义properity

    1.spring boot使用application.properties默认了很多配置. 但有时需要自定义配置.若在application.properties添加属性: app.name=fish ...

  5. YTU 2914: xiaoping学构造函数

    2914: xiaoping学构造函数 时间限制: 1 Sec  内存限制: 128 MB 提交: 148  解决: 90 题目描述 xiaoping刚接触类的构造和析构函数,对于构造函数的编写比较困 ...

  6. Avoiding memory leaks

    Android applications are, at least on the T-Mobile G1, limited to 16 MB of heap. It's both a lot of ...

  7. Persisting Data to the Device

    Persisting Data to the Device Edit PagePage History Overview The Android framework offers several op ...

  8. leetcode 783. Minimum Distance Between BST Nodes 以及同样的题目 530. Minimum Absolute Difference in BST

    Given a Binary Search Tree (BST) with the root node root, return the minimum difference between the ...

  9. Atom vim mode

    /******************************************************************** * Atom vim mode * 说明: * 想找一个具有 ...

  10. 【IOI 1998】 Picture

    [题目链接] 点击打开链接 [算法] 线段树扫描线求周长并 [代码] #include <algorithm> #include <bitset> #include <c ...