国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于R軟件實(shí)現(xiàn)隨機(jī)抽樣及其應(yīng)用

2016-02-24 10:09張效嘉胡良平
四川精神衛(wèi)生 2016年6期
關(guān)鍵詞:均勻分布正態(tài)分布總體

張效嘉,胡良平,2*

(1.軍事醫(yī)學(xué)科學(xué)院生物醫(yī)學(xué)統(tǒng)計(jì)學(xué)咨詢中心,北京 100850;2.世界中醫(yī)藥學(xué)會(huì)聯(lián)合會(huì)臨床科研統(tǒng)計(jì)學(xué)專業(yè)委員會(huì),北京 100029

基于R軟件實(shí)現(xiàn)隨機(jī)抽樣及其應(yīng)用

張效嘉1,胡良平1,2*

(1.軍事醫(yī)學(xué)科學(xué)院生物醫(yī)學(xué)統(tǒng)計(jì)學(xué)咨詢中心,北京 100850;2.世界中醫(yī)藥學(xué)會(huì)聯(lián)合會(huì)臨床科研統(tǒng)計(jì)學(xué)專業(yè)委員會(huì),北京 100029

本文的目的是使讀者快速掌握用R軟件產(chǎn)生服從多種分布規(guī)律的隨機(jī)數(shù)和多種隨機(jī)抽樣的方法。通過介紹隨機(jī)數(shù)生成器的概念、對(duì)應(yīng)的函數(shù)、實(shí)際生成服從正態(tài)分布和均勻分布的隨機(jī)數(shù),讀者很容易獲得基于R軟件產(chǎn)生所需要的隨機(jī)數(shù);通過介紹有放回與無放回隨機(jī)抽樣、系統(tǒng)與分層隨機(jī)抽樣、整群與bootstrap隨機(jī)抽樣的概念和具體實(shí)現(xiàn),使讀者輕松地基于R軟件實(shí)現(xiàn)多種隨機(jī)抽樣。事實(shí)表明:R軟件易于獲取、易學(xué)易用;R軟件功能強(qiáng)大、適用面寬,可方便快捷地解決試驗(yàn)設(shè)計(jì)中的隨機(jī)抽樣問題。

R軟件;隨機(jī)數(shù)生成器;正態(tài)分布;均勻分布;隨機(jī)抽樣;bootstrap隨機(jī)抽樣

1 產(chǎn)生隨機(jī)數(shù)[1-3]

1.1 隨機(jī)數(shù)及其種類

1.1.1 概述

所謂隨機(jī)數(shù),就是它們?cè)跀?shù)量大小和先后順序等方面,出現(xiàn)的規(guī)律是不確定的。然而,人們還可以在一定的前提條件限制下,去生成一系列的隨機(jī)數(shù),它們出現(xiàn)的先后順序是隨機(jī)的,但它們?cè)谡w上卻是服從某種特定規(guī)律的。

由此可知,當(dāng)人們將“前提條件”設(shè)定為“均勻分布”,就可生成均勻分布隨機(jī)數(shù);當(dāng)人們將“前提條件”設(shè)定為“正態(tài)分布”,就可生成正態(tài)分布隨機(jī)數(shù);……;以此類推,還可生成很多服從其他特定分布規(guī)律的隨機(jī)數(shù)。

1.1.2 隨機(jī)數(shù)生成器種類

在計(jì)算機(jī)上,生成隨機(jī)數(shù)需要基于一定的算法。不同的算法會(huì)生成不同的隨機(jī)數(shù)。R提供了多種隨機(jī)數(shù)生成器(random number generators,RNG),默認(rèn)的RNG是由Makoto Matsumoto與Takuji Nishimura于1997年-1998年提出的RNG,即Mersenne twister隨機(jī)數(shù)生成器。該RNG的循環(huán)周期為219937-1。R還提供了其他幾種RNG,通過在R的控制臺(tái)發(fā)送命令“help(RNGkind)”,可以獲得有關(guān)的詳細(xì)信息。

若用戶想把默認(rèn)的RNG更改為自己指定的某種其他的RNG,可通過在R的控制臺(tái)發(fā)送命令“RNGkind(kind=“new_rng”)”。注意:這里的“new_rng”只能是下列幾種備選內(nèi)容:Mersenne(默認(rèn)項(xiàng))、Wich、Mars、Super、Knuth-TAOCP-2002、Knuth-TAOCP、L’Ecuyer-CMRG。

1.1.3 確保每批生成的隨機(jī)數(shù)相同

一般來說,生成隨機(jī)數(shù)的函數(shù)每批生成的隨機(jī)數(shù)是不同的。但有時(shí),人們需要生成相同批次的隨機(jī)數(shù)(如在臨床試驗(yàn)設(shè)計(jì)和模擬試驗(yàn)時(shí)),此時(shí),可以在運(yùn)行某種隨機(jī)數(shù)函數(shù)時(shí),先運(yùn)行一下set.seed(n)函數(shù)(這里n為一個(gè)確定的正整數(shù),如1或2等)。

現(xiàn)以生成均勻分布隨機(jī)數(shù)的runif( )函數(shù)為例,在運(yùn)行此隨機(jī)數(shù)函數(shù)之前先運(yùn)行set.seed( )函數(shù),可使runif( )函數(shù)每批生成的隨機(jī)數(shù)相同(生成的隨機(jī)數(shù)的長度應(yīng)相同)。

> set.seed(1)

> runif(10)

以上為第一次運(yùn)行,要求生成在[0,1]區(qū)間內(nèi)且服從均勻分布的10個(gè)隨機(jī)數(shù)。

[1] 0.26550866 0.37212390 0.57285336 0.90820779 0.20168193 0.89838968

[7] 0.94467527 0.66079779 0.62911404 0.06178627

以上是第一次運(yùn)行輸出的10個(gè)隨機(jī)數(shù)。

> set.seed(1)

> runif(10)

以上為第二次運(yùn)行,仍要求生成在[0,1]區(qū)間內(nèi)且服從均勻分布的10個(gè)隨機(jī)數(shù)(與前面的10個(gè)隨機(jī)數(shù)完全相同,此處從略)。

顯然,以上兩次運(yùn)行,生成的在[0,1]區(qū)間內(nèi)且服從均勻分布的10個(gè)隨機(jī)數(shù)完全相同。

1.2 用R生成正態(tài)分布隨機(jī)數(shù)

【例1】試生成100個(gè)服從均值為0、標(biāo)準(zhǔn)差為1的標(biāo)準(zhǔn)正態(tài)分布的隨機(jī)數(shù)。

解答:在R中,使用rnorm( )函數(shù)可以生成服從正態(tài)分布的隨機(jī)數(shù)。其語法規(guī)則是:rnorm(n,mean=k1,sd=k2),其中,參數(shù)n代表需要生成的隨機(jī)數(shù)的個(gè)數(shù)、k1為用戶指定的均值、k2為用戶指定的標(biāo)準(zhǔn)差。當(dāng)k1=0、k2=1時(shí),就是希望生成服從標(biāo)準(zhǔn)正態(tài)分布的n(n必須為一個(gè)具體的正整數(shù))個(gè)隨機(jī)數(shù)。rnorm(n,mean=0,sd=1)=rnorm(n,0,1)=rnorm(n)。

> r_number1<- rnorm(100,0,1);r_number1

以上語句的目的是生成100個(gè)服從均值=0、標(biāo)準(zhǔn)差=1的標(biāo)準(zhǔn)正態(tài)分布的隨機(jī)數(shù)并將其賦值給變量(本質(zhì)上是一個(gè)向量)r_number,然后,將其輸出(輸出結(jié)果從略)。

1.3 用R生成均勻分布隨機(jī)數(shù)

在R中,使用runif( )函數(shù)可以生成服從均勻分布的隨機(jī)數(shù)。其語法規(guī)則是:runif(n,min=k1,max=k2),其中,參數(shù)n代表需要生成的隨機(jī)數(shù)的個(gè)數(shù)、k1為用戶指定的服從均勻分布的隨機(jī)數(shù)的下限、k2為用戶指定的服從均勻分布的隨機(jī)數(shù)的上限。若省略參數(shù)min、max,則默認(rèn)生成[0,1]上的均勻分布隨機(jī)數(shù)。

【例2】試生成1000個(gè)服從下限為2、上限為12的均勻分布的隨機(jī)數(shù),并用直方圖展示它們。

解答:為實(shí)現(xiàn)題中的目標(biāo),可使用下面的語句。

> x<- runif(1000,min=2,max=12)

> hist(x,prob=T,main="uniform distribution(min=2,max=12)")

第一句的目的是生成1000個(gè)服從下限為2、上限為12的均勻分布的隨機(jī)數(shù)。

第二句的目的是繪制這1000個(gè)隨機(jī)數(shù)的直方圖(無法繪制非標(biāo)準(zhǔn)均勻分布密度函數(shù)曲線)。產(chǎn)生的直方圖從略。

1.4 用R生成其他分布隨機(jī)數(shù)

1.4.1 生成指數(shù)分布隨機(jī)數(shù)

生成指數(shù)分布隨機(jī)數(shù)的函數(shù)為rexp(),其語法規(guī)則是:rexp(n,lamda=1/mean),這里n代表生成的隨機(jī)數(shù)的個(gè)數(shù),而lamda代表隨機(jī)數(shù)的平均值的倒數(shù),mean代表隨機(jī)數(shù)的平均數(shù)。

> x<- rexp(1000,1/110);x

以上語句的目的是生成1000個(gè)服從均值為110的指數(shù)分布的隨機(jī)數(shù)并將其輸出(輸出結(jié)果此處從略)。

1.4.2 生成貝塔分布隨機(jī)數(shù)

生成貝塔分布隨機(jī)數(shù)的函數(shù)為rbeta(),其語法規(guī)則是:rbeta(n,a,b),這里,n代表生成的隨機(jī)數(shù)的個(gè)數(shù),而a和b代表該分布的兩個(gè)非負(fù)的實(shí)數(shù)(a>0,b>0)。

> x<- rbeta(100,2,8);x

以上語句的目的是生成100個(gè)服從參數(shù)a=2、參數(shù)b=8的貝塔分布的隨機(jī)數(shù)并將其輸出(輸出結(jié)果此處從略)。

1.4.3 生成伽瑪分布隨機(jī)數(shù)

生成伽瑪分布隨機(jī)數(shù)的函數(shù)為rgamma(),其語法規(guī)則是:rgamma(n,shape,rate=1,scale=1/rate),這里,n代表生成的隨機(jī)數(shù)的個(gè)數(shù),而shape代表該分布的形狀參數(shù)、scale代表尺度參數(shù),這兩個(gè)參數(shù)都應(yīng)該為非負(fù)實(shí)數(shù)(shape>0、scale>0)。注意:rate與scale兩個(gè)中只能給定一個(gè)的具體值。

> x<- rgamma(100,1,4);x

以上語句的目的是生成100個(gè)服從形狀參數(shù)shape=1、尺度參數(shù)scale=1/4的伽瑪分布的隨機(jī)數(shù)并將其輸出(輸出結(jié)果此處從略)。

說明:在R中,還可生成許多服從其他分布的隨機(jī)數(shù),因篇幅所限,此處從略。

2 隨機(jī)抽樣[1-4]

2.1 概述

從給定的一個(gè)總體中抽取一定數(shù)目的樣品,稱為抽樣。若總體中的所有樣品被放在一個(gè)黑色的袋子中,樣品的形狀、大小、顏色和重量是相同的,只是上面的編號(hào)不同。當(dāng)人們從中抽取若干個(gè)樣品時(shí),就稱為隨機(jī)抽樣。這里的“隨機(jī)”是指被抽取的樣品是哪些,事先是不知道的。若從n個(gè)樣品(假定它們構(gòu)成一個(gè)總體)中一次性抽取m(m

在R中,可以使用sample( )函數(shù)來實(shí)現(xiàn)無放回與有放回隨機(jī)抽樣。其語法規(guī)則如下:

Sample(x,n,replace=F或T,prob=NULL)

x代表總體向量,可以是數(shù)據(jù)、字符、邏輯向量;n代表樣本含量;replace=F,代表無放回隨機(jī)抽樣(這是默認(rèn)的),replace=T,代表有放回隨機(jī)抽樣;prob可以設(shè)置各個(gè)抽樣單元不同的入樣概率,進(jìn)行不等概率抽樣。

2.2 有放回隨機(jī)抽樣舉例

【例3】假定擲一枚質(zhì)地均勻的硬幣,出現(xiàn)正面用“H”表示、出現(xiàn)反面用“B”表示,現(xiàn)重復(fù)拋硬幣20次,顯示有放回隨機(jī)抽樣的結(jié)果。

解答:在R中使用下面的語句就可實(shí)現(xiàn)前述的目的。

> sample(c("B","H"),20,rep=T)

[1] "B""B""H""B""H""B""H""B""H""H""B""H""B""H""H""H""H""H"

[19] "B""B"

以上是20次試驗(yàn)的結(jié)果,每次試驗(yàn)的結(jié)果要么是“B”、要么是“H”。其中,“B”出現(xiàn)了9次、“H”出現(xiàn)了11次。

【例4】假定擲一枚質(zhì)地均勻的骰子(6個(gè)面上分別有1、2、3、4、5、6個(gè)點(diǎn)),現(xiàn)重復(fù)拋骰子20次,顯示有放回隨機(jī)抽樣的結(jié)果。

解答:在R中使用下面的語句就可實(shí)現(xiàn)前述的目的。

> sample(c(1:6),20,rep=T)

[1] 3 2 4 1 5 1 6 1 6 4 3 6 3 6 5 6 4 4 2 2

以上是20次試驗(yàn)的結(jié)果,每次試驗(yàn)的結(jié)果是1到6六個(gè)數(shù)字中的一個(gè)出現(xiàn)。這批試驗(yàn)的結(jié)果表明,1出現(xiàn)了3次、2出現(xiàn)了3次、3出現(xiàn)了3次、4出現(xiàn)了4次、5出現(xiàn)了2次、6出現(xiàn)了4次。

2.3 無放回隨機(jī)抽樣舉例

【例5】現(xiàn)有編號(hào)為1~200的200位受試對(duì)象,希望從中隨機(jī)抽取20位。試顯示被隨機(jī)抽取的20位受試者的編號(hào)。

解答:在R中使用下面的語句就可實(shí)現(xiàn)前述的目的。

> sample(200,20,rep=F)

[1] 180 47 91 124 22 141 36 186 193 8 53 67 113 68 154 143 108 59

[19] 123 71

以上是從1~200個(gè)編號(hào)中無放回地隨機(jī)抽取的20個(gè)編號(hào)。

2.4 系統(tǒng)隨機(jī)抽樣舉例

在R中,要想實(shí)現(xiàn)分層隨機(jī)抽樣或整群隨機(jī)抽樣,需要從R軟件中下載sampling包,分別調(diào)用其中的strata( )函數(shù)與cluster( )函數(shù);與此同時(shí),這個(gè)包中還有g(shù)etdata( )函數(shù),可以讀取隨機(jī)抽樣的全部樣品對(duì)應(yīng)的全部信息(否則,只有與抽樣有關(guān)的部分信息)。

但是在R中,筆者目前尚未找到專門用于系統(tǒng)隨機(jī)抽樣的函數(shù)。雖然在下面的分層隨機(jī)抽樣的strata( )函數(shù)與整群隨機(jī)抽樣的cluster( )函數(shù)中,都涉及一個(gè)參數(shù),即“method=”, 在等號(hào)后面可以輸入四種抽樣方法之一,即srswor(無放回隨機(jī)抽樣)、srswr(有放回隨機(jī)抽樣)、poisson(泊松隨機(jī)抽樣)和systematic(系統(tǒng)隨機(jī)抽樣),但這四種具體的抽樣方法都是在前面的分層隨機(jī)抽樣或整群隨機(jī)抽樣基礎(chǔ)之上的,而不是直接實(shí)施這四種具體隨機(jī)抽樣的。故此處暫不能進(jìn)行系統(tǒng)隨機(jī)抽樣,若用戶今后從R軟件中發(fā)現(xiàn)了某個(gè)包中的某些函數(shù)可直接進(jìn)行系統(tǒng)隨機(jī)抽樣或泊松隨機(jī)抽樣,可通過R中的幫助功能,很容易學(xué)會(huì)使用。

2.5 分層隨機(jī)抽樣舉例

【例6】試以文獻(xiàn)[5]第208-209頁“表9-1”的資料作為“抽樣框”,并以“sex”為分層因素,實(shí)施分層隨機(jī)抽樣。

解答:在R中,實(shí)現(xiàn)分層隨機(jī)抽樣的strata( )函數(shù)被放置在sampling包中,使用前必須先下載并導(dǎo)入到R軟件中。操作的步驟如下:①將安裝了R軟件的計(jì)算機(jī)聯(lián)網(wǎng)并啟動(dòng)R軟件;②選擇“程序包(Packages)”并選擇一個(gè)鏡像(Set CRAN mirror…);③選擇“安裝程序包(Install package(s)…)”;④在彈出的長條形“程序包(packages)”窗口內(nèi)(約有數(shù)千行,其中少部分是“程序包”,絕大多數(shù)是“函數(shù)”)瀏覽sampling;⑤在R中使用下面的語句就可實(shí)現(xiàn)前述的目的。

在strata( )函數(shù)中未明確寫出參數(shù)method="srswor",系統(tǒng)默認(rèn)為“分層(無放回)隨機(jī)抽樣”。

> data1<- read.table("F:/studyr/sex_age.txt",header=T)

> sub1<- strata(data1,stratanames="sex",size=c(4,5),description=TRUE)

第一句表明,從F盤上文件夾為studyr內(nèi)讀取文本文件sex_age.txt賦值給變量(本質(zhì)上是數(shù)據(jù)框)data1。

第二句表明,調(diào)用strata( )函數(shù),采用默認(rèn)的隨機(jī)抽樣方法(即分層隨機(jī)抽樣);設(shè)置分層因素為sex;分別從F層與M層抽取4例與5例受試對(duì)象或樣品;需要對(duì)隨機(jī)抽樣出來的樣品進(jìn)行詳細(xì)描述“description=TRUE”。

Stratum 1

Population total and number of selected units: 12 4

Stratum 2

Population total and number of selected units: 8 5

以上結(jié)果表明,從第1層(即F層)12個(gè)樣品中隨機(jī)抽取了4個(gè)樣品;從第2層(即M層)8個(gè)樣品中隨機(jī)抽取了5個(gè)樣品。

Number of strata 2

Total number of selected units 9

以上結(jié)果表明,總體中總共有兩層,共隨機(jī)抽取9個(gè)樣品。

Warning message:

In strata(data1, stratanames = "sex", size = c(4, 5), description = TRUE) :

the method is not specified; by default, the method is srswor

以上結(jié)果表明,系統(tǒng)給出了“警告信息”,在調(diào)用strata( )函數(shù)時(shí),關(guān)于抽樣方法的參數(shù)未指定,作為默認(rèn)方法,采取的是分層(無放回)隨機(jī)抽樣(srswor)。

> sub1

該語句表明,要求系統(tǒng)呈現(xiàn)出分層隨機(jī)抽樣的結(jié)果sub1中的與抽樣有關(guān)的樣品信息。

SexIDunitProbStratum1F10.333333314F40.3333333116F160.3333333119F190.333333317M70.625000028M80.6250000210M100.6250000211M110.6250000218M180.62500002

以上結(jié)果表明,第1列為被抽取的樣品的編號(hào)、第2列為分層因素sex的水平代碼、第3列為被抽取的樣品在總體中的編號(hào)、第4列為各行上的樣品被抽取的概率(F層中總共12個(gè)樣品,抽取4個(gè),每一個(gè)被抽取的概率為4/12=1/3=0.333333;M層中總共8個(gè)樣品,抽取5個(gè),每一個(gè)被抽取的概率為5/8=0.625)、第5列為層的編號(hào)。

>getdata(data1,sub1)

這一句的目的是調(diào)用getdata( )函數(shù),顯示被抽取的樣本中每個(gè)樣品的全部信息(即各變量及其取值)。

idagesexIDunitProbStratum1160F10.333333314457F40.33333331161633F160.33333331191949F190.333333317760M70.625000028864M80.62500002101016M100.62500002111158M110.62500002181840M180.62500002

以上結(jié)果表明,與前面的輸出結(jié)果相比較,增加了“年齡(age)”及其取值。如果原數(shù)據(jù)集(或抽樣總體)中除分層因素外,還有50個(gè)變量及其取值,此時(shí),都將全部顯示出來。

在strata( )函數(shù)中明確寫出參數(shù)method="srswor",指明要進(jìn)行分層(無放回)隨機(jī)抽樣。

> data1<- read.table("F:/studyr/sex_age.txt",header=T)

> sub2<- strata(data1,stratanames="sex",size=c(4,5),method="srswor",description=TRUE)

與前面的程序相比較,多了參數(shù)method="srswor"。

> sub2

SexIDunitProbStratum4F40.333333316F60.3333333117F170.3333333119F190.333333313M30.625000027M70.625000028M80.6250000211M110.6250000212M120.62500002

以上結(jié)果表明,被抽取的樣品編號(hào)發(fā)生了改變。

>getdata(data1,sub2)

idagesexIDunitProbStratum4457F40.333333316631F60.33333331171739F170.33333331191949F190.333333313337M30.625000027760M70.625000028864M80.62500002111158M110.62500002121263M120.62500002

以上結(jié)果表明,分層隨機(jī)抽樣的結(jié)果發(fā)生了變化。

2.6 整群隨機(jī)抽樣舉例

2.6.1 數(shù)據(jù)集介紹

在R軟件的MASS包中,有一個(gè)名為Insurance的數(shù)據(jù)集。其內(nèi)記錄了某保險(xiǎn)公司1973年第三季度車險(xiǎn)投保人的相關(guān)信息。其各觀測(cè)(即行)代表投保人,5列的列名分別為:第1列為District(投保人家庭住址所在區(qū)域,代號(hào)為1至4);第2列為Group(所投保汽車的發(fā)動(dòng)機(jī)排放量,其各水平分別為:<1升、1.0~1.5升、>1.5~2升、>2升共四個(gè)等級(jí));第3列為Age[投保人的年齡,其各年齡檔為:<25歲、25~30歲(不含30歲)、30~35歲、>35歲];第4列為Holders(投保人數(shù)量);第5列為Claims(要求索賠的投保人數(shù)量)。

2.6.2 使用sampling包中的cluster( )函數(shù)進(jìn)行整群隨機(jī)抽樣

> sub3<- cluster(Insurance,clustername="District",size=2,method="srswor",description=TRUE)

以上語句的目的是調(diào)用cluster( )函數(shù)對(duì)Insurance數(shù)據(jù)集進(jìn)行整群隨機(jī)抽樣,群的標(biāo)志為“District”(即區(qū)域)、隨機(jī)抽取的群數(shù)為2、將采取簡(jiǎn)單(無放回)隨機(jī)抽樣(即srswor)方法從4個(gè)群中隨機(jī)地抽取兩個(gè)群、希望對(duì)被抽取的樣品信息進(jìn)行描述(即description=TRUE)。

Number of selected clusters: 2

Population total and number of selected units 64 32

以上結(jié)果表明,隨機(jī)抽取了兩個(gè)群,共有64個(gè)樣品,而被抽取的樣品數(shù)為32個(gè)。

> getdata(Insurance,sub3)

以上語句表明,調(diào)用getdata( )函數(shù)顯示從Insurance數(shù)據(jù)集中抽取的兩個(gè)群中的全部樣品。

GroupAgeHoldersClaimsDistrictIDunitProb1<1L<2519738110.52<1L25~2926435120.551~1.5L<2528463150.561~1.5L25~2953684160.5……18<1L25~29139192180.519<1L30~35151222190.517<1L<2585222170.5261.5~2L25~29175462260.5……

以上是被抽取的32個(gè)樣品,為節(jié)省篇幅,兩個(gè)群內(nèi)都只保留了4個(gè)樣品,其他樣品被省略了。由于共有4個(gè)群,因此,抽取兩個(gè)群時(shí),對(duì)于每個(gè)群而言,被抽中的概率都為0.5。

2.7 bootstrap隨機(jī)重抽樣舉例

2.7.1 概述

bootstrap隨機(jī)重抽樣是以原始數(shù)據(jù)為基礎(chǔ)的模擬抽樣統(tǒng)計(jì)推斷法,其基本思想是:在原始數(shù)據(jù)范圍(假定總樣本含量為n)內(nèi)做有放回的再抽樣,每次抽取的樣本含量都是m,原始數(shù)據(jù)中每個(gè)觀測(cè)(樣品或個(gè)體)每次被抽中的概率相等,即1/n,所抽得的樣本被稱為bootstrap樣本。

bootstrap樣本有何用途呢?當(dāng)人們無法駕馭總體但可以反復(fù)獲得bootstrap樣本時(shí),由它們所呈現(xiàn)的規(guī)律就非常接近無法駕馭的那個(gè)總體。下面用一個(gè)可以駕馭的總體為例,先呈現(xiàn)出總體中一個(gè)定量變量的取值的頻數(shù)分布情況,再采取有放回的隨機(jī)抽樣,獲得一個(gè)樣本含量較大(如1000或10000)的bootstrap樣本,再呈現(xiàn)該bootstrap樣本的頻數(shù)分布。比較這兩個(gè)頻數(shù)分布的形狀是否接近。

2.7.2 用于抽取bootstrap樣本的數(shù)據(jù)集

在R中,有一個(gè)內(nèi)置的faithful數(shù)據(jù)集(Old Faithful Geyser Data),它記錄了美國懷俄明州黃石國家公園內(nèi)的古老而又忠實(shí)的噴泉的噴射持續(xù)時(shí)間eruptions(min)和等待時(shí)間waiting(min)(即相鄰兩次噴射之間的時(shí)間間隔)。

> faithful

此語句用于顯示faithful數(shù)據(jù)集中的全部數(shù)據(jù)(n=272)。

eruptionswaiting13.6007921.8005433.33374……2704.417902711.817462724.46774……

以上顯示出faithful數(shù)據(jù)集中的開始和結(jié)尾的各3個(gè)觀測(cè)結(jié)果。

2.7.3 顯示總體中eruptions變量的頻數(shù)分布

> attach(faithful)

> hist(eruptions,breaks=25)

第一句的目的是綁定數(shù)據(jù);第二句的目的是繪制eruptions變量的頻數(shù)直方圖,因篇幅所限,圖形從略。

2.7.4 從總體中進(jìn)行2000次有放回的隨機(jī)抽樣,獲得樣本含量n=2000的bootstrap樣本

> boot.sample<- sample(eruptions,2000,rep=T)

以上語句的目的就是為了實(shí)現(xiàn)從總體中進(jìn)行2000次有放回的隨機(jī)抽樣,獲得樣本含量n=2000的bootstrap樣本。

2.7.5 將總體與bootstrap樣本中的eruptions變量的頻數(shù)分布直方圖平行地繪制出來

> par(mfrow=c(1,2))

> hist(eruptions,breaks=25)

> hist(boot.sample,breaks=25)

> par(mfrow=c(1,1))

以上四個(gè)語句的目的分別為:

第一句:設(shè)置作圖窗口為一行兩列(就是希望把兩幅圖左右放置)。

第二句:在左邊放置總體中的eruptions變量的頻數(shù)分布直方圖。

第三句:在右邊放置bootstrap樣本中的eruptions變量的頻數(shù)分布直方圖。

第四句:設(shè)置作圖窗口為一行一列(就是把前面的一行上繪制兩幅圖的設(shè)置改回默認(rèn)狀態(tài),即一行上只繪制一幅圖)。

由圖形繪制的結(jié)果(因篇幅所限,此處從略)可以清楚地看出:bootstrap樣本呈現(xiàn)的圖形幾乎與總體一模一樣。若總體真是不可駕馭的,那就可以通過bootstrap樣本呈現(xiàn)的形狀去推斷它。

[1] 黃文, 王正林. 數(shù)據(jù)挖掘: R語言實(shí)戰(zhàn)[M]. 北京: 電子工業(yè)出版社, 2015: 34-39.

[2] 李詩羽, 張飛, 王正林. 數(shù)據(jù)分析: R語言實(shí)戰(zhàn)[M]. 北京: 電子工業(yè)出版社, 2015: 88-156.

[3] 方匡南, 朱建平, 姜葉飛. R數(shù)據(jù)分析: 方法與案例詳解[M]. 北京: 電子工業(yè)出版社, 2015: 54-168.

[4] Joseph Adler. R語言核心技術(shù)手冊(cè)[M]. 2版. 劉思喆, 李艦, 陳鋼, 等譯. 北京: 電子工業(yè)出版社, 2015: 417-421.

[5] 胡良平. 科研設(shè)計(jì)與統(tǒng)計(jì)分析[M]. 北京: 軍事醫(yī)學(xué)科學(xué)出版社, 2012:129-274.

(本文編輯:陳 霞)

The realization of the random sampling and its application based on R software

ZhangXiaojia1,HuLiangping1,2*

(1.ConsultingCenterofBiomedicalStatistics,AcademyofMilitaryMedicalSciences,Beijing100850,China; 2.SpecialtyCommitteeofClinicalScientificResearchStatisticsofWorldFederationofChineseMedicineSocieties,Beijing100029,China

*Correspondingauthor:HuLiangping,E-mail:lphu812@sina.com)

The paper aims to make it convenient for readers to utilize R software to generate random number from various distributions and implement varieties of random sampling methods. The paper introduced the conception and corresponding functions of random number generators. We presented cases of generating random number from both normal distribution and uniform distribution. Consequently, readers may easily generate random number by R software. The paper also introduced the conception and realization of random sampling both with and without replacement, systematic random sampling, stratified random sampling, cluster random sampling and bootstrap random sampling. Therefore, readers may use R software to realize varieties of random sampling methods. The fact indicated that R software may be simply obtained and utilized. R software may be used to solve random sampling problem in experimental designs conveniently, due to its powerful function and wide application.

R software; Random number generator; Normal distribution; Uniform distribution; Random sampling; Bootstrap random sampling

*通信作者:胡良平,E-mail:lphu812@sina.com)

R195.1

A

10.11886/j.issn.1007-3256.2016.06.002

國家高技術(shù)研究發(fā)展計(jì)劃課題資助(2015AA020102)

2016-12-03)

猜你喜歡
均勻分布正態(tài)分布總體
用樣本估計(jì)總體復(fù)習(xí)點(diǎn)撥
2020年秋糧收購總體進(jìn)度快于上年
接觸壓力非均勻分布下彎曲孔道摩阻損失分析
外匯市場(chǎng)運(yùn)行有望延續(xù)總體平穩(wěn)發(fā)展趨勢(shì)
電磁感應(yīng)綜合應(yīng)用檢測(cè)題
基于對(duì)數(shù)正態(tài)分布的出行時(shí)長可靠性計(jì)算
直擊高考中的用樣本估計(jì)總體
正態(tài)分布及其應(yīng)用
χ2分布、t 分布、F 分布與正態(tài)分布間的關(guān)系
基于Copula函數(shù)對(duì)二維正態(tài)分布中常見認(rèn)識(shí)誤區(qū)的分析