《Discovering Statistics Using R》筆記9-用bootstrap法計(jì)算Kendall’s tau相關(guān)系數(shù)的置信區(qū)間

筆記說明

讀《Discovering Statistics Using R》第六章 Correlation中的6.5.7節(jié)Bootstrapping correlations做的筆記踏烙。在書中bootstrap最初出現(xiàn)于5.8.4節(jié)顶岸。本筆記主要介紹bootstrap基本概念和使用bootstrap計(jì)算Kendall’s tau相關(guān)系數(shù)的置信區(qū)間昔逗。

示例數(shù)據(jù)

設(shè)我們想要驗(yàn)證一個(gè)理論:創(chuàng)造力更強(qiáng)的人可以講出更厲害的故事捉捅。有這么一個(gè)比賽“the World's Biggest Liar competition”每年舉辦一次厂置。作者收集了68個(gè)參賽者的比賽名次數(shù)據(jù)并讓他們做了一份考察創(chuàng)造力的量表帕膜,滿分60分弟塞。數(shù)據(jù)在這里:The Biggest Liar.dat

library(rio)
liarData <- import("data/The Biggest Liar.dat")
str(liarData)
## 'data.frame':    68 obs. of  3 variables:
##  $ Creativity: int  53 36 31 43 30 41 32 54 47 50 ...
##  $ Position  : int  1 3 4 2 4 1 4 1 2 2 ...
##  $ Novice    : int  0 1 0 0 1 0 0 1 1 0 ...

Position即為比賽名次稿械,Creativity即為創(chuàng)造力評分膜廊。
由于position變量為定序變量乏沸,而Pearson相關(guān)系數(shù)要求數(shù)據(jù)為定距變量,不適合使用Pearson相關(guān)系數(shù)爪瓜。名次數(shù)據(jù)排序相同的情況有點(diǎn)多蹬跃,比較適合使用Kendall’s tau相關(guān)系數(shù)。本系列筆記8中可以看到使用cor.test()等方法無法計(jì)算Kendall’s tau相關(guān)系數(shù)的置信區(qū)間,我們使用bootstrap方法來計(jì)算Kendall’s tau相關(guān)系數(shù)的置信區(qū)間蝶缀。

仍然是先做一個(gè)散點(diǎn)圖看一下數(shù)據(jù)情況:

#散點(diǎn)圖
library(ggplot2)
scatter <- ggplot(liarData, aes(Creativity, Position)) + geom_point()

Bootstrap

bootstrap是一種非參數(shù)的參數(shù)估計(jì)方法丹喻。也叫做自助法。
參數(shù)估計(jì)中的一個(gè)重要問題是我們不知道抽樣分布(即統(tǒng)計(jì)量的分布)的形狀翁都。傳統(tǒng)參數(shù)估計(jì)的解決方法:

  • 如果樣本數(shù)據(jù)符合正態(tài)分布碍论,那么我們可以合理推斷抽樣分布符合正態(tài)分布。
  • 中心極限定理告訴我們柄慰,在大樣本下鳍悠,抽樣分布符合正態(tài)分布。

bootstrap法將樣本數(shù)據(jù)作為一個(gè)總體坐搔,從這個(gè)總體中有放回地重復(fù)抽取很多更小的樣本藏研,樣本量和原樣本數(shù)據(jù)相同,新抽到的樣本稱為bootstrap樣本概行,根據(jù)bootstrap樣本的信息估計(jì)抽樣分布的特征:在每個(gè)bootstrap樣本中計(jì)算要估計(jì)的統(tǒng)計(jì)量蠢挡,進(jìn)而可以模擬一個(gè)抽樣分布,用模擬出的抽樣分布的標(biāo)準(zhǔn)差來作為待估計(jì)統(tǒng)計(jì)量的標(biāo)準(zhǔn)誤的估計(jì)值凳忙。有了標(biāo)準(zhǔn)誤的估計(jì)值就可以計(jì)算置信區(qū)間和進(jìn)行假設(shè)檢驗(yàn)了业踏。
我們主要借助boot包中的boot()完成bootstrap. boot()的一般用法為:
object <- boot(data = , statistic =, R = , ...)生成一個(gè)bootstrap對象

  • data指定使用的數(shù)據(jù)集
  • statistic指定 計(jì)算統(tǒng)計(jì)量的函數(shù)。該函數(shù)的第一個(gè)參數(shù)應(yīng)為原始數(shù)據(jù)涧卵,第二個(gè)參數(shù)應(yīng)為用于選擇數(shù)據(jù)行勤家、確定bootstrap樣本的indices。
  • R即重復(fù)抽取bootstrap樣本的次數(shù)艺演。為使bootstrap估計(jì)的結(jié)果穩(wěn)健却紧,重復(fù)抽樣數(shù)應(yīng)該足夠大桐臊,《Discovering Statistics Using R》作者一般將重復(fù)數(shù)設(shè)為2000胎撤。

boot()進(jìn)行bootstrap法時(shí)的關(guān)鍵在于statistic=參數(shù)對應(yīng)的計(jì)算統(tǒng)計(jì)量的函數(shù)。這里我們要對Kendall’s tau相關(guān)系數(shù)這個(gè)統(tǒng)計(jì)量進(jìn)行bootstrap断凶,使用的函數(shù)為:

bootTau <-function(liarData,i) {
  cor(liarData$Position[i], liarData$Creativity[i],
                                  use = "complete.obs", method = "kendall")
}

這個(gè)函數(shù)的作用就是輸入bootstrap樣本(用i來確定)伤提,返回對應(yīng)的樣本Kendall’s tau相關(guān)系數(shù)。
定義好bootTau后我們就可以使用boot()來生成bootstrap對象:

library(boot)
set.seed(1234)
boot_kendall <- boot(liarData, bootTau, 2000)
boot_kendall

由于bootstrap過程涉及隨機(jī)抽樣认烁,每次的計(jì)算結(jié)果都會不一樣(重復(fù)次數(shù)足夠大時(shí)結(jié)果會比較穩(wěn)定)肿男,用set.seed()確定隨機(jī)種子數(shù),以保證可重復(fù)性(即每次運(yùn)行代碼結(jié)果都是一樣的)却嗡。

## ORDINARY NONPARAMETRIC BOOTSTRAP
## 
## 
## Call:
## boot(data = liarData, statistic = bootTau, R = 2000)
## 
## 
## Bootstrap Statistics :
##       original      bias    std. error
## t1* -0.3002413 -0.00220919  0.09730457

從結(jié)果可以看到bootstrap法對Kendall’s tau相關(guān)系數(shù)的估計(jì)值為-0.300舶沛,標(biāo)準(zhǔn)誤為0.097。
對于生成的bootstrap對象窗价,可以用plot()來查看bootstrap得到的抽樣分布

plot(boot_kendall)


可以看出來bootstrap得到的Kendall’s tau相關(guān)系數(shù)的抽樣分布比較符合正態(tài)分布如庭。
對于生成的bootstrap對象,可以用boot.ci()來生成統(tǒng)計(jì)量的置信區(qū)間撼港。
boot.ci(bootobject, conf, type)

  • bootobject即為boot()生成的bootstrap對象
  • conf指定置信區(qū)間長度坪它,默認(rèn)為0.95
  • type指定置信區(qū)間計(jì)算方法骤竹,可能值為 "norm","basic", "stud", "perc", "bca","all"往毡,默認(rèn)為"all"蒙揣,即輸出全部5種方法的結(jié)果。具體這五種方法不在此展開开瞭,其中"bca"法對應(yīng)adjusted bootstrap percentile (BCa) method懒震,會根據(jù)偏差(bootstrap對象中顯示的bias)對區(qū)間做簡單調(diào)整。在大部分情況中是更可取的(此結(jié)論來自《R in action》第二版)
boot.ci(boot_kendall)
## BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
## Based on 2000 bootstrap replicates
## 
## CALL : 
## boot.ci(boot.out = boot_kendall)
## 
## Intervals : 
## Level      Normal              Basic         
## 95%   (-0.4887, -0.1073 )   (-0.4934, -0.1060 )  
## 
## Level     Percentile            BCa          
## 95%   (-0.4945, -0.1071 )   (-0.4887, -0.1005 )  
## Calculations and Intervals on Original Scale
## Warning message:
## In boot.ci(boot_kendall) :
##   bootstrap variances needed for studentized intervals

結(jié)果中給出了四種方法計(jì)算得到的置信區(qū)間( "stud"對應(yīng)結(jié)果未能正常輸出)嗤详。四個(gè)置信區(qū)間都沒有跨0挎狸,表示Kendall’s tau相關(guān)系數(shù)有統(tǒng)計(jì)學(xué)意義。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末断楷,一起剝皮案震驚了整個(gè)濱河市锨匆,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌冬筒,老刑警劉巖恐锣,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異舞痰,居然都是意外死亡土榴,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進(jìn)店門响牛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來玷禽,“玉大人,你說我怎么就攤上這事呀打∈噶蓿” “怎么了?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵贬丛,是天一觀的道長撩银。 經(jīng)常有香客問我,道長豺憔,這世上最難降的妖魔是什么额获? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮恭应,結(jié)果婚禮上抄邀,老公的妹妹穿的比我還像新娘。我一直安慰自己昼榛,他們只是感情好境肾,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般准夷。 火紅的嫁衣襯著肌膚如雪钥飞。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天衫嵌,我揣著相機(jī)與錄音读宙,去河邊找鬼。 笑死楔绞,一個(gè)胖子當(dāng)著我的面吹牛结闸,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播酒朵,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼桦锄,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了蔫耽?” 一聲冷哼從身側(cè)響起结耀,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎匙铡,沒想到半個(gè)月后图甜,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡鳖眼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年黑毅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片钦讳。...
    茶點(diǎn)故事閱讀 40,030評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡矿瘦,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出愿卒,到底是詐尸還是另有隱情缚去,我是刑警寧澤,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布掘猿,位于F島的核電站病游,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏稠通。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一买猖、第九天 我趴在偏房一處隱蔽的房頂上張望改橘。 院中可真熱鬧,春花似錦玉控、人聲如沸飞主。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽碌识。三九已至碾篡,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間筏餐,已是汗流浹背开泽。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留魁瞪,地道東北人穆律。 一個(gè)月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像导俘,于是被迫代替她去往敵國和親峦耘。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,976評論 2 355