十、假設(shè)檢驗
譯者:飛龍
協(xié)議:CC BY-NC-SA 4.0
自豪地采用谷歌翻譯
數(shù)據(jù)科學(xué)家們經(jīng)常面對世界的是或不是的問題侥猩。你在這個課程中看到了一些這樣的問題的例子:
- 巧克力對你有好處嗎榔至?
- Broad Street 水泵的水是否會導(dǎo)致霍亂?
- 加州的人口統(tǒng)計在過去的十年中有所改變嗎欺劳?
我們是否回答這些問題取決于我們的數(shù)據(jù)唧取。加州的人口普查數(shù)據(jù)可以解決人口統(tǒng)計的問題,而答案幾乎沒有任何不確定性划提。我們知道 Broad Street 水泵的水源受到霍亂病人的污染枫弟,所以我們可以很好地猜測它是否會引起霍亂。
巧克力還是其他任何實驗對你有好處鹏往,幾乎肯定要由醫(yī)學(xué)專家來決定淡诗,但是第一步是使用數(shù)據(jù)科學(xué)分析來自研究和隨機實驗的數(shù)據(jù)。
在本章中,我們將試圖回答這樣的問題韩容,根據(jù)樣本和經(jīng)驗分布的結(jié)論款违。我們將以北加利福尼亞州公民自由聯(lián)盟(ACLU)2010 年進行的一項研究為例。
陪審團選拔
2010 年群凶,ACLU 在加利福尼亞州阿拉米達縣提交了一份陪審團選擇的報告插爹。報告得出的結(jié)論是,在阿拉米達縣的陪審團小組成員中请梢,某些族裔人數(shù)不足赠尾,并建議對專家組進行一些改革,來合理分配陪審員毅弧。在本節(jié)中气嫁,我們將自己分析數(shù)據(jù),并檢查出現(xiàn)的一些問題形真。
陪審團
陪審團是一群被選為準陪審員的人杉编;終審的陪審團是從他們中挑選的超全。陪審團可以由幾十人或幾千人組成咆霜,具體情況取決于審判情況。根據(jù)法律嘶朱,陪審團應(yīng)該是審判所在社區(qū)的代表蛾坯。加州“民事訴訟法(California's Code of Civil Procedure)”第 197 條規(guī)定:“All persons selected for jury service shall be selected at random, from a source or sources inclusive of a representative cross section of the population of the area served by the court.”
最終的陪審團是通過故意納入或排除,從陪審團中挑選出來的疏遏。法律允許潛在的陪審員出于醫(yī)療原因而被免責脉课;雙方的律師可以從名單上挑選一些潛在的陪審員進行所謂的“先制性反對(peremptory challenges)”。初審法官可以根據(jù)陪審團填寫的問卷進行選擇财异;等等倘零。但最初的陪審團似乎是合格陪審員的總體的隨機樣本。
阿拉米達縣的陪審團構(gòu)成
ACLU 的研究重點是阿拉米達縣陪審團的種族組成戳寸。 ACLU 編輯了 2009 年和 2010 年在阿拉米達縣進行的 11 次重罪審判中陪審團的種族組成的數(shù)據(jù)呈驶。在這些陪審團中,報告出庭的陪審員的總?cè)藬?shù)是 1453 人疫鹊。ACLU 收集了所有人口的統(tǒng)計數(shù)據(jù)袖瞻,并將這些數(shù)據(jù)與該縣所有合格陪審員的組成進行比較。
數(shù)據(jù)列在下面的表格中拆吆,稱為jury
聋迎。 對于每個種族來說,第一個值就是該種族所有合格的陪審員候選人的比例枣耀。 第二個值是出現(xiàn)在出現(xiàn)在陪審團選拔過程的人中霉晕,那個種族的人的比例。
jury = Table().with_columns(
'Ethnicity', make_array('Asian', 'Black', 'Latino', 'White', 'Other'),
'Eligible', make_array(0.15, 0.18, 0.12, 0.54, 0.01),
'Panels', make_array(0.26, 0.08, 0.08, 0.54, 0.04)
)
jury
Ethnicity | Eligible | Panels |
---|---|---|
Asian | 0.15 | 0.26 |
Black | 0.18 | 0.08 |
Latino | 0.12 | 0.08 |
White | 0.54 | 0.54 |
Other | 0.01 | 0.04 |
研究中的一些種族代表性過多,一些代表性不足娄昆。 條形圖有助于顯示差異佩微。
jury.barh('Ethnicity')
https://gitee.com/wizardforcel/data8-textbook-zh/raw/master/img/10-1.png
兩個分布的距離
可視化使我們能夠快速了解,兩個分布之間的相似性和差異萌焰。 為了更準確地說出這些差異哺眯,我們必須首先量化兩個分布之間的差異。 這將使我們的分析能夠基于更多東西扒俯,不僅僅是我們能夠通過眼睛做出的評估奶卓。
為了測量兩個分布之間的差異,我們將計算一個數(shù)量撼玄,稱之為它們之間的總變異距離(total variation distance)夺姑。
為了計算總變異距離,我們首先考慮每個類別中兩個比例之間的差異掌猛。
# Augment the table with a column of differences between proportions
jury_with_diffs = jury.with_column(
'Difference', jury.column('Panels') - jury.column('Eligible')
)
jury_with_diffs
Ethnicity | Eligible | Panels | Difference |
---|---|---|---|
Asian | 0.15 | 0.26 | 0.11 |
Black | 0.18 | 0.08 | -0.1 |
Latino | 0.12 | 0.08 | -0.04 |
White | 0.54 | 0.54 | 0 |
Other | 0.01 | 0.04 | 0.03 |
jury_with_diffs.column('Abs. Difference').sum()/2
0.14000000000000001
這個數(shù)量 0.14 是合格陪審員總體中種族分布與陪審團分布情況之間的總變異距離(TVD)盏浙。
只要加上正的差異,我們就可以得到相同的結(jié)果荔茬。 但是废膘,我們的方法包含所有絕對差異,不需要追蹤哪些差異是正的而哪些不是慕蔚。
計算 TVD 的函數(shù)
函數(shù)total_variation_distance
返回兩個數(shù)組中的分布的 TVD丐黄。
def total_variation_distance(distribution_1, distribution_2):
return np.abs(distribution_1 - distribution_2).sum()/2
函數(shù)table_tvd
使用函數(shù)total_variation_distance
來返回表的兩列中的分布的 TVD。
def table_tvd(table, label, other):
return total_variation_distance(table.column(label), table.column(other))
table_tvd(jury, 'Eligible', 'Panels')
0.14000000000000001
陪審團是否是總體的代表孔飒?
現(xiàn)在我們將轉(zhuǎn)到合格的陪審員和陪審團的 TVD 的值灌闺。我們?nèi)绾谓忉?0.14 的距離呢?要回答這個問題坏瞄,請回想一下桂对,陪審團應(yīng)該是隨機選擇的。因此鸠匀,將 0.14 的值與合格的陪審員和隨機選擇的陪審團的 TVD 進行比較蕉斜,會有幫助。
為了這樣做狮崩,我們將在模擬中使用我們的技能蛛勉。研究共有 1453 名準陪審員。所以讓我們從合格的陪審員的總體中隨機抽取大小為 1453 的樣本睦柴。
技術(shù)注解诽凌。準陪審員的隨機樣本將會不放回地選中。但是坦敌,如果樣本的大小相對于總體的大小較小侣诵,那么無放回的取樣類似于放回的取樣痢法;總體中的比例在幾次抽取之間變化不大。阿拉米達縣的合格陪審員的總體超過一百萬杜顺,與此相比财搁,約 1500 人的樣本量相當小。因此躬络,我們將帶放回地抽樣尖奔。
從合格的陪審員中隨機抽樣
到目前為止,我們已經(jīng)使用np.random.choice
從數(shù)組元素中隨機抽樣穷当,并使用sample
對表的行進行抽樣提茁。 但是現(xiàn)在我們必須從一個分布中抽樣:一組種族以及它們的比例。
為此馁菜,我們使用函數(shù)proportions_from_distribution
茴扁。 它有三個參數(shù):
- 表名
- 包含比例的列的標簽
- 樣本大小
該函數(shù)執(zhí)行帶放回地隨機抽樣,并返回一個新的表汪疮,該表多出了一列Random Sample
峭火,是隨機樣本中所出現(xiàn)的比例。
所有陪審團的總大小是 1453智嚷,所以讓我們把這個數(shù)字賦給給一個名成卖丸,然后調(diào)用:
proportions_from_distribution.
panel_size = 1453
panels_and_sample = proportions_from_distribution(jury, 'Eligible', panel_size)
panels_and_sample
Ethnicity | Eligible | Panels | Random Sample |
---|---|---|---|
Asian | 0.15 | 0.26 | 0.14797 |
Black | 0.18 | 0.08 | 0.193393 |
Latino | 0.12 | 0.08 | 0.116311 |
White | 0.54 | 0.54 | 0.532691 |
Other | 0.01 | 0.04 | 0.00963524 |
從結(jié)果中可以清楚地看出,隨機樣本的分布與合格總體的分布非常接近纤勒,與陪審團的分布不同坯苹。
和之前一樣隆檀,可視化會有幫助摇天。
panels_and_sample.barh('Ethnicity')
https://gitee.com/wizardforcel/data8-textbook-zh/raw/master/img/10-2.png
灰色條形與藍色條形比金色條形更接近。 隨機樣本類似于合格的總體恐仑,而不是陪審團泉坐。
我們可以通過計算合格總體的分布與隨機樣本之間的 TVD,來量化這一觀察結(jié)果裳仆。
table_tvd(panels_and_sample, 'Eligible', 'Random Sample')
0.013392980041293877
將其與陪審團的距離 0.14 進行比較腕让,可以看到我們在條形圖中看到的數(shù)值。 合格總體與陪審團之間的 TVD 為 0.14歧斟,但合格總體與隨機樣本之間的 TVD 小得多纯丸。
當然,隨機樣本和合格陪審員的分布之間的距離取決于樣本静袖。 再次抽樣可能會給出不同的結(jié)果觉鼻。
隨機樣本和總體之間有多少差異?
隨機樣本與合格陪審員的分布之間的 TVD队橙,是我們用來衡量兩個分布之間距離的統(tǒng)計量坠陈。 通過重復(fù)抽樣過程萨惑,我們可以看到不同隨機樣本的統(tǒng)計量是多少。 下面的代碼根據(jù)抽樣過程的大量重復(fù)仇矾,來計算統(tǒng)計量的經(jīng)驗分布庸蔼。
# Compute empirical distribution of TVDs
panel_size = 1453
repetitions = 5000
tvds = make_array()
for i in np.arange(repetitions):
new_sample = proportions_from_distribution(jury, 'Eligible', panel_size)
tvds = np.append(tvds, table_tvd(new_sample, 'Eligible', 'Random Sample'))
results = Table().with_column('TVD', tvds)
results
TVD |
---|
0.0247075 |
0.0141569 |
0.0138403 |
0.0214384 |
0.012278 |
0.017309 |
0.0219752 |
0.0192017 |
0.02351 |
0.00818995 |
(省略了 4990 行)
上面每一行包含大小為 1453 的隨機樣本與合格的陪審員的 TVD。
這一列的直方圖顯示贮匕,從合格候選人中隨機抽取 1453 名陪審員的結(jié)果是姐仅,偏離合格陪審員的種族分布的分布幾乎不超過 0.05。
results.hist(bins=np.arange(0, 0.2, 0.005))
https://gitee.com/wizardforcel/data8-textbook-zh/raw/master/img/10-3.png
陪審團和隨機樣本比如何刻盐?
然而萍嬉,研究中的陪審團與合格總體并不十分相似。陪審團和總體之間的 TVD 是 0.14隙疚,這距離上面的直方圖的尾部很遠壤追。這看起來不像是隨機樣本和合格總體之間的典型距離。
所以我們的分析支持 ACLU 的計算供屉,即陪審團不是合格陪審員的分布的代表行冰。然而,與大多數(shù)這樣的分析一樣伶丐,它并沒有說明分布為什么不同悼做,或者差異可能暗示了什么。
ACLU 報告討論了這些差異的幾個可能的原因哗魂。例如肛走,一些少數(shù)群體在選民登記記錄和機動車輛部門(選擇陪審員的兩個主要來源)的代表性不足。在進行研究時录别,該縣沒有一個有效的程序朽色,用于跟蹤那些被選中但未出庭的準陪審員。ACLU 列舉了其他幾個原因组题。不管出于何種原因葫男,似乎很明顯,陪審團的組成與我們對隨機樣本的預(yù)期不同崔列,它來自Eligible
列的分布梢褐。
數(shù)據(jù)上的問題
我們已經(jīng)開發(fā)出一種強大的技術(shù),來幫助決定一個分布是否像另一個分布的隨機樣本赵讯。但是數(shù)據(jù)科學(xué)不僅僅是技術(shù)盈咳。特別是數(shù)據(jù)科學(xué)總是需要仔細研究如何收集數(shù)據(jù)。
合格的陪審員边翼。首先鱼响,重要的是要記住,不是每個人都有資格擔任陪審團的職位讯私。阿拉米達縣高級法院在其網(wǎng)站上說:“如果你是18 歲的美國公民热押,和傳召所在的縣或區(qū)的居民西傀,你可能會被要求擔任職位。你必須能夠理解英語桶癣,身體上和精神上都有能力擔任拥褂,此外,你在過去 12 個月內(nèi)不得擔任任何類型的陪審員牙寞,也沒有被判重罪饺鹃。
人口普查沒有保存所有這些類別的人口記錄。因此 ACLU 必須以其他方式獲得合格陪審員的人口統(tǒng)計資料间雀。以下是他們對自己所遵循的過程的描述悔详,以及它可能包含的一些缺陷。
“為了確定阿拉米達縣具有陪審團資格的人口的統(tǒng)計數(shù)據(jù)惹挟,我們使用了一個聲明茄螃,它為阿拉米達縣人民起訴斯圖亞特·亞歷山大的審判而準備。在聲明中连锯,圣地亞哥州立大學(xué)的人口統(tǒng)計學(xué)家 Weeks 教授归苍,根據(jù) 2000 年的人口普查數(shù)據(jù)估算了阿拉米達縣的具有陪審團資格的人口,為了得出這個估計值运怖,Weeks 教授考慮到了不符合陪審團擔任條件的人數(shù)拼弃,因為他們不會說英文,不是公民摇展,因此吻氧,他的估計應(yīng)該是對阿拉米達縣實際具有陪審團資格的人口的準確評估,而不僅僅是審查居住在阿拉米達的所有人口的種族和族裔的人口普查報告咏连。應(yīng)該指出的是盯孙,Weeks 教授所依據(jù)的人口普查數(shù)據(jù)現(xiàn)在已經(jīng)有十年了,縣的人口統(tǒng)計數(shù)據(jù)的某些類別捻勉,可能已經(jīng)改變了兩到三個百分點镀梭〉渡”
因此踱启,分析中使用的合格陪審員的種族分布本身就是一個估計,可能有點過時研底。
陪審團埠偿。 此外,陪審團并不從整個合格總體中選出榜晦。 阿拉米達縣高等法院說:“法院的目標是提供縣人口的準確的橫截面冠蒋,陪審員的名字是從登記選民和/或車管局發(fā)出的駕駛執(zhí)照中隨機抽取的”。
所有這些都產(chǎn)生了復(fù)雜問題乾胶,就是如何準確估計阿拉米達縣合格陪審員的種族構(gòu)成抖剿。
目前還不清楚朽寞,1453 個陪審團成員如何劃分為不同的種族類別(ACLU 報告稱“律師......合作收集陪審團數(shù)據(jù)”)。 存在嚴重的社會斩郎,文化和政治因素脑融,影響誰被歸類或自我分類到每個種族類別。 我們也不知道陪審團中這些類別的定義缩宜,是否與 Weeks 教授所使用的定義相同肘迎,Weeks 教授又在它的估算過程中使用了人口普查類別。 因此被比較的兩個分布的對應(yīng)關(guān)系锻煌,也存在問題妓布。
美國最高法院,1965年:斯溫 VS 阿拉巴馬州
在二十世紀六十年代初期宋梧,阿拉巴馬州的塔拉迪加縣匣沼,一個名叫羅伯特·斯溫的黑人被指控強奸一名白人婦女,并被判處死刑捂龄。
他援引所有陪審團是白人的其他因素肛著,對他的判決提出上訴。當時跺讯,只有 21 歲或以上的男子被允許在塔拉迪加縣的陪審團中任職枢贿。 在縣里,合格的陪審員中有 26% 是黑人刀脏,但在 Swain 的審判中選出的 100 名陪審團中只有 8 名黑人男子局荚。 審判陪審團沒有選定黑人。
1965 年愈污,美國最高法院駁回了斯溫的上訴耀态。 法院在其裁決中寫道:“整體百分比差距很小,沒有反映出包括或排除特定數(shù)量的黑人的嘗試”暂雹。(... the overall percentage disparity has been small and reflects no studied attempt to include or exclude a specified number of Negroes.)
讓我們用我們開發(fā)的方法來檢查首装,陪審團中的 100 名黑人中的 8 名與合格陪審員的分布之間的差異。
swain_jury = Table().with_columns(
'Ethnicity', make_array('Black', 'Other'),
'Eligible', make_array(0.26, 0.74),
'Panel', make_array(0.08, 0.92)
)
swain_jury
Ethnicity | Eligible | Panel |
---|---|---|
Black | 0.26 | 0.08 |
Other | 0.74 | 0.92 |
table_tvd(swain_jury, 'Eligible', 'Panel')
0.18000000000000002
兩個分布之間的 TVD 是 0.18杭跪。 這與合格總體的分布和隨機樣本之間的 TVD 比較如何仙逻?
為了回答這個問題,我們可以模擬從隨機樣本中計算的 TVD涧尿。
# Compute empirical distribution of TVDs
panel_size = 100
repetitions = 5000
tvds = make_array()
for i in np.arange(repetitions):
new_sample = proportions_from_distribution(swain_jury, 'Eligible', panel_size)
tvds = np.append(tvds, table_tvd(new_sample, 'Eligible', 'Random Sample'))
results = Table().with_column('TVD', tvds)
results.hist(bins = np.arange(0, 0.2, 0.01))
https://gitee.com/wizardforcel/data8-textbook-zh/raw/master/img/10-4.png
隨機樣本的 TVD 小于我們所得的值 0.18系奉,它是陪審團和合格陪審員的 TVD。
在這個分析中姑廉,數(shù)據(jù)并沒有像我們以前的分析那樣被問題蓋住 - 涉及的人總數(shù)相對較少缺亮,而且最高法院案件的統(tǒng)計工作也很仔細。
因此桥言,我們的分析有了明確的結(jié)論萌踱,那就是陪審團不是總體的代表葵礼。 最高法院的判決“整體百分比差距很小”是很難接受的。
檢驗的術(shù)語
在陪審團選擇的例子的背景下并鸵,我們已經(jīng)形成了一些假設(shè)統(tǒng)計檢驗的基本概念章咧。使用統(tǒng)計檢驗作為決策的一種方法是許多領(lǐng)域的標準,并且存在標準的術(shù)語能真。以下是大多數(shù)統(tǒng)計檢驗中的步驟順序赁严,以及一些術(shù)語和示例。
第一步:假設(shè)
所有的統(tǒng)計檢驗都試圖在世界的兩種觀點中進行選擇粉铐。具體而言疼约,選擇是如何生成數(shù)據(jù)的兩種觀點之間的選擇。這兩種觀點被稱為假設(shè)蝙泼。
原(零)假設(shè)程剥。這就是說,數(shù)據(jù)在明確指定的假設(shè)條件下隨機生成汤踏,這些假設(shè)使計算幾率成為可能织鲸。 “零”一詞強化了這樣一個觀點,即如果數(shù)據(jù)看起來與零假設(shè)的預(yù)測不同溪胶,那么這種差異只是偶然的搂擦。
在阿拉米達縣陪審團選擇的例子中,原假設(shè)是從合格的陪審員人群中哗脖,隨機抽取這些陪審團瀑踢。雖然審團的種族組成與合格的陪審員的總體不同,但除了機會變異以外才避,沒有任何理由存在差異橱夭。
備選假設(shè)。這就是說桑逝,除了幾率以外的某些原因使數(shù)據(jù)與原假設(shè)所預(yù)測的數(shù)據(jù)不同棘劣。非正式而言,備選假設(shè)認為觀察到的差異是“真實的”楞遏。
在我們阿拉米達縣陪審團選擇的例子中茬暇,備選假設(shè)是,這些小組不是隨機選出來的橱健。除了幾率以外的事情導(dǎo)致了而钞,陪審團的種族組成和合格陪審員總體的種族組成之間存在差異。
第二步:檢驗統(tǒng)計量
為了在這兩個假設(shè)之間作出決策拘荡,我們必須選擇一個統(tǒng)計量作為我們決策的依據(jù)。 這被稱為檢驗統(tǒng)計量撬陵。
在阿拉米達縣陪審團的例子中珊皿,我們使用的檢驗統(tǒng)計量是网缝,陪審團與合格陪審員的總體的種族分布之間的總變異距離。
計算檢驗統(tǒng)計量的觀察值通常是統(tǒng)計檢驗中的第一個計算步驟蟋定。 在我們的例子中粉臊,陪審團與總體之間的總變異距離的觀察值是 0.14。
第三步:檢驗統(tǒng)計量的概率分布驶兜,在原假設(shè)下
這個步驟把檢驗統(tǒng)計量的觀察值放在一邊扼仲,而是把重點放在驳棱,如果原假設(shè)為真焰盗,統(tǒng)計量的值是什么。 在原假設(shè)下号坡,由于幾率肆资,樣本可能出現(xiàn)不同的情況矗愧。 所以檢驗統(tǒng)計量可能會有所不同。 這個步驟包括在隨機性的原假設(shè)下郑原,計算出所有可能的檢驗統(tǒng)計量及其所有概率唉韭。
換句話說,在這個步驟中犯犁,我們假設(shè)原假設(shè)為真属愤,并計算檢驗統(tǒng)計量的概率分布。 對于許多檢驗統(tǒng)計量來說酸役,這在數(shù)學(xué)和計算上都是一項艱巨的任務(wù)春塌。 因此,我們通過抽樣過程的大量重復(fù)簇捍,通過統(tǒng)計量的經(jīng)驗分布來近似檢驗統(tǒng)計量的概率分布只壳。
在我們的例子中,我們通過直方圖可視化了這個分布暑塑。
第四步 檢驗的結(jié)論
原假設(shè)和備選假設(shè)之間的選擇吼句,取決于步驟 2 和 3 的結(jié)果之間的比較:檢驗統(tǒng)計量的觀察值以及它的分布,就像由原假設(shè)預(yù)測的那樣事格。
如果二者一致惕艳,則觀察到的檢驗統(tǒng)計量與原假設(shè)的預(yù)測一致。 換句話說驹愚,這個檢驗并不偏向備選假設(shè)远搪;數(shù)據(jù)更加支持原假設(shè)。
但如果兩者不一致逢捺,就像我們阿拉米達縣陪審團的例子那樣谁鳍,那么數(shù)據(jù)就不支持原假設(shè)。 這就是為什么我們得出結(jié)論,陪審團不是隨機挑選的倘潜。 幾率之外的東西影響了他們的構(gòu)成绷柒。
如果數(shù)據(jù)不支持原假設(shè),我們說檢驗拒絕了原假設(shè)涮因。
孟德爾的豌豆花
格雷戈·孟德爾(1822-1884)是一位奧地利僧侶废睦,被公認為現(xiàn)代遺傳學(xué)領(lǐng)域的奠基人。 孟德爾對植物進行了仔細而大規(guī)模的實驗养泡,提出遺傳學(xué)的基本規(guī)律嗜湃。
他的許多實驗都在各種豌豆上進行。 他提出了一系列每個品種的假設(shè)澜掩。 這些被稱為模型购披。 然后他通過種植植物和收集數(shù)據(jù)來測試他的模型的有效性。
讓我們分析這樣的實驗的數(shù)據(jù)输硝,看看孟德爾的模型是否好今瀑。
在一個特定的品種中,每個植物具有紫色或白色的花点把。 每個植物的顏色不受其他植物顏色的影響橘荠。 孟德爾推測,植物應(yīng)隨機具有紫色或白色的花郎逃,比例為 3:1哥童。
原假設(shè)。 對于每種植物褒翰,75% 的幾率是紫色的花贮懈,25% 的幾率是白色的花,無論其他植物的顏色如何优训。
也就是說朵你,原假設(shè)是孟德爾的模型是好的。 任何觀察到的模型偏差都是機會變異的結(jié)果揣非。
當然抡医,有一個相反的觀點。
備選假設(shè)早敬。 孟德爾的模型是無效的忌傻。
讓我們看看孟德爾收集的數(shù)據(jù)更加支持這些假設(shè)中的哪一個。
flowers
表包含了由模型預(yù)測的比例搞监,以及孟德爾種植的植物數(shù)據(jù)水孩。
flowers = Table().with_columns(
'Color', make_array('Purple', 'White'),
'Model Proportion', make_array(0.75, 0.25),
'Plants', make_array(705, 224)
)
flowers
Color | Model Proportion | Plants |
---|---|---|
Purple | 0.75 | 705 |
White | 0.25 | 224 |
共有 929 株植物。 為了觀察顏色的分布是否接近模型預(yù)測的結(jié)果琐驴,我們可以找到觀察到的比例和模型比例之間的總變異距離俘种,就像我們之前那樣秤标。 但是只有兩個類別(紫色和白色),我們有一個更簡單的選擇:我們可以查看紫色的花的比例安疗。 白色的比例沒有新的信息抛杨,因為它只是 1 減去紫色的比例够委。
total_plants = flowers.column('Plants').sum()
total_plants
929
observed_proportion = flowers.column('Plants').item(0)/total_plants
observed_proportion
0.7588805166846071
檢驗統(tǒng)計量荐类。 由于該模型預(yù)測 75% 的植物花為紫色,相關(guān)的統(tǒng)計量是 0.75 與觀察到的花為紫色的植物的比例之間的差異茁帽。
observed_statistic = abs(observed_proportion - 0.75)
observed_statistic
0.0088805166846070982
這個值與原假設(shè)所說的應(yīng)該的情況相比如何玉罐? 為了回答這個問題,我們需要使用模型來模擬植物的新樣本并計算每個樣本的統(tǒng)計量潘拨。
我們將首先創(chuàng)建數(shù)組model_colors
吊输,包含顏色,比例由模型給定铁追。 然后我們可以使用np.random.choice
從這個數(shù)組中季蚂,帶放回地隨機抽樣 929 次。 根據(jù)孟德爾的模型琅束,這就是植物的生成過程扭屁。
model_colors = make_array('Purple', 'Purple', 'Purple', 'White')
new_sample = np.random.choice(model_colors, total_plants)
譯者注:這里可以使用
np.random.choice
的p
參數(shù)來簡化編程。
new_sample = np.random.choice(['Purple', 'White'], total_plants, p=[0.75, 0.25])
為了與我們觀察到的統(tǒng)計量進行比較涩禀,我們需要知道這個新樣本中料滥,花為紫色的植物的比例與 0.75 的差。
proportion_purple = np.count_nonzero(new_sample == 'Purple')/total_plants
abs(proportion_purple - 0.75)
0.016953713670613602
檢驗統(tǒng)計量的經(jīng)驗分布艾船,在原假設(shè)為真的情況下葵腹。 毫不奇怪,我們得到的值與我們觀察到的統(tǒng)計量之間的差約為 0.00888屿岂。 但是如果我們又取了一個樣本践宴,會有多大的不同呢? 你可以通過重新運行上面的兩個單元格來回答這個問題爷怀,或者使用for
循環(huán)來模擬統(tǒng)計量阻肩。
repetitions = 5000
sampled_stats = make_array()
for i in np.arange(repetitions):
new_sample = np.random.choice(model_colors, total_plants)
proportion_purple = np.count_nonzero(new_sample == 'Purple')/total_plants
sampled_stats = np.append(sampled_stats, abs(proportion_purple - 0.75))
results = Table().with_column('Distance from 0.75', sampled_stats)
results.hist()
https://gitee.com/wizardforcel/data8-textbook-zh/raw/master/img/10-5.png
檢驗的結(jié)論。 根據(jù)孟德爾的數(shù)據(jù)霉撵,統(tǒng)計量的觀測值是 0.00888磺浙,剛好 0.01 以下。 這正好在這個分布的中心徒坡。
results.hist()
#Plot the observed statistic as a large red point on the horizontal axis
plots.scatter(observed_statistic, 0, color='red', s=30);
https://gitee.com/wizardforcel/data8-textbook-zh/raw/master/img/10-6.png
基于孟德爾數(shù)據(jù)的統(tǒng)計量撕氧,與我們基于孟德爾模型的模擬的分布是一致的。 因此喇完,與備選假設(shè)相比伦泥,數(shù)據(jù)更加支持原假設(shè) - 孟德爾的模型是好的。
P 值和“一致”的含義
在阿拉米達縣陪審團的例子中,我們觀察到的檢驗統(tǒng)計量顯然與原假設(shè)的預(yù)測差距很大不脯。在豌豆花的例子中府怯,觀察到的統(tǒng)計量與原假設(shè)所預(yù)測的分布一致。所以在這兩個例子中防楷,選擇哪個假設(shè)是明顯的牺丙。
但是有時候這個決策還不是很明顯。觀察到的檢驗統(tǒng)計量是否與原假設(shè)預(yù)測的分布一致复局,是一個判斷問題冲簿。我們建議你使用檢驗統(tǒng)計量的值以及原假設(shè)預(yù)測的分布圖,來做出判斷亿昏。這將使你的讀者可以自己判斷兩者是否一致峦剔。
如果你不想做出自己的判斷,你可以遵循一些慣例角钩。這些慣例基于所謂的觀察到的顯著性水平吝沫,或簡稱 P 值。 P 值是一個幾率递礼,使用檢驗統(tǒng)計量的概率分布計算惨险,可以用步驟 3 中的經(jīng)驗分布來近似。
求出 P 值的實用說明≡籽茫現(xiàn)在平道,我們只是給出一個求出該值的機械的方法;意義和解釋放到下一節(jié)中供炼。方法:將觀察到的檢驗統(tǒng)計量放在直方圖的橫軸上一屋,求出從以該點起始的尾部比例。這就是 P 值袋哼,或者是基于經(jīng)驗分布的 P 值的相當好的近似值冀墨。
empirical_P = np.count_nonzero(sampled_stats >= observed_statistic)/repetitions
empirical_P
0.5508
觀察到的統(tǒng)計量 0.00888 非常接近孟德爾模型下所有統(tǒng)計量的中位數(shù)。 你可以把它看作是我們之前評論的一個量化涛贯,即觀察到的統(tǒng)計量正好在原假設(shè)的分布中心诽嘉。
但是如果離得更遠呢? 例如弟翘,如果觀察到的統(tǒng)計量是 0.035 呢虫腋? 那么我們會得出什么結(jié)論呢?
np.count_nonzero(sampled_stats >= 0.035)/repetitions
0.0122
這個比例就很小了稀余。 如果 P 值較小悦冀,那就意味著它的尾部很小,所以觀察到的統(tǒng)計量遠離原假設(shè)的預(yù)測睛琳。 這意味著數(shù)據(jù)支持備選假設(shè)而不是支持原假設(shè)盒蟆。
所以如果我們觀察到的統(tǒng)計量是 0.035 而不是 0.00888踏烙,我們會選擇備選假設(shè)。
那么多小算“小”呢历等? 這里有個約定讨惩。
如果 P 值小于 5%,結(jié)果稱為“統(tǒng)計學(xué)顯著”寒屯。
如果 P 值更小 - 小于 1%荐捻,結(jié)果被稱為“高度統(tǒng)計學(xué)顯著”。
在這兩種情況下浩螺,檢驗的結(jié)論是數(shù)據(jù)支持備選假設(shè)靴患。
約定的歷史注解
上面定義的統(tǒng)計學(xué)顯著性的確定仍侥,已經(jīng)在所有應(yīng)用領(lǐng)域的統(tǒng)計分析中成為標準要出。當一個約定被如此普遍遵循時,研究它是如何產(chǎn)生的就有趣了农渊。
統(tǒng)計檢驗方法 - 基于隨機樣本數(shù)據(jù)在假設(shè)之間選擇 - 由 Ronald Fisher 爵士在 20 世紀初開發(fā)患蹂。在 1925 年出版的《寫給研究工作者的統(tǒng)計學(xué)方法》(Statistical Methods for Research Workers)一書中的下列陳述中,Ronald 爵士可能在不知情的情況下建立了統(tǒng)計學(xué)顯著的約定砸紊。對于 5% 的水平传于,他寫道:“判斷一個偏差是否顯著的時候,將它當做一個極限非常方便醉顽。
Ronald 爵士覺得“方便”的東西變成了截斷沼溜,獲得了普適常數(shù)的地位。無論羅納德爵士如何選出了這個點游添,這個值是他在眾多值中的個人選擇:在 1926 年的一篇文章中系草,他寫道:“如果二十分之一看起來還是不夠高,如果我們愿意的話唆涝, 我們可以把線畫在百分之二的地方找都,或者百分之一。個人來說廊酣,作者更傾向于把顯著的較低標準設(shè)為 5%...”
Fisher 知道“低”是一個判斷問題能耻,沒有獨特的定義。我們建議你遵循他的優(yōu)秀例子亡驰。提供你的數(shù)據(jù)晓猛,作出判斷,并解釋你為什么這樣做凡辱。
GSI 的辯護
假設(shè)檢驗是最廣泛使用的統(tǒng)計推斷方法之一戒职。我們已經(jīng)看到,它的用途十分廣泛煞茫,例如審團選擇和豌豆花帕涌。在本節(jié)的最后一個例子中摄凡,我們將在另一個完全不同的語境中對假設(shè)進行測試。
伯克利統(tǒng)計班的 350 名學(xué)生被分為 12 個討論小組蚓曼,由研究生導(dǎo)師(GSI)帶領(lǐng)。期中之后后纫版,第三組的學(xué)生注意到床绪,他們的成績平均上低于班上的其他人。
在這種情況下其弊,學(xué)生們往往會抱怨這一組的 GSI 癞己。他們肯定覺得,GSI 的教學(xué)一定是有問題的拌滋。否則為什么他們組會比別人做得更差呢疾渴?
GSI 通常有更多的統(tǒng)計學(xué)經(jīng)驗千贯,他們的觀點往往是不同的:如果你只是從全班隨機抽取一部分學(xué)生,他們的平均分數(shù)就可能與學(xué)生不滿意的分數(shù)相似搞坝。
GSI 的立場是一個明確的幾率模型搔谴。我們來檢驗一下。
原假設(shè):第三組的平均成績類似于從班上隨機抽取的相同數(shù)量的學(xué)生的平均成績桩撮。
備選假設(shè):不是敦第,太低了峰弹。
scores
包含整個班級的每個學(xué)生的小組編號和期中成績。期中成績是 0 到 25 的整數(shù)芜果;0 的意思是學(xué)生沒來考試鞠呈。
scores = Table.read_table('scores_by_section.csv')
scores
Section | Midterm |
---|---|
1 | 22 |
2 | 12 |
2 | 23 |
2 | 14 |
1 | 20 |
3 | 25 |
4 | 19 |
1 | 24 |
5 | 8 |
6 | 14 |
(省略了 349 行)
這是 12 個小組的平均成績。
scores.group('Section', np.mean).show()
Section | Midterm mean |
---|---|
1 | 15.5938 |
2 | 15.125 |
3 | 13.6667 |
4 | 14.7667 |
5 | 17.4545 |
6 | 15.0312 |
7 | 16.625 |
8 | 16.3103 |
9 | 14.5667 |
10 | 15.2353 |
11 | 15.8077 |
12 | 15.7333 |
第三組平均成績比其他組低一點右钾。 這看起來像機會變異蚁吝?
我們知道如何找出答案。 我們首先從全班隨機挑選一個“第三組”舀射,看看它的平均得分是多少窘茁;然后再做一遍又一遍。
首先脆烟,我們需要第三組的學(xué)生人數(shù):
scores.group('Section')
Section | count |
---|---|
1 | 32 |
2 | 32 |
3 | 27 |
4 | 30 |
5 | 33 |
6 | 32 |
7 | 24 |
8 | 29 |
9 | 30 |
10 | 34 |
(省略了 2 行)
現(xiàn)在我們的計劃是山林,從班上隨機挑選 27 名學(xué)生,并計算他們的平均分數(shù)浩淘。
所有學(xué)生的成績都在一張表上捌朴,每個學(xué)生一行。 因此张抄,我們將使用sample
來隨機選擇行,使用with_replacement = False
選項洼怔,以便我們無放回地抽樣署惯。 (稍后我們會看到,結(jié)果幾乎與我們通過放回取樣所得到的結(jié)果相同)镣隶。
scores.sample(27, with_replacement=False).column('Midterm').mean()
13.703703703703704
我們已經(jīng)準備好极谊,模擬隨機的“第三組”的均值的經(jīng)驗分布。
section_3_mean = 13.6667
repetitions = 10000
means = make_array()
for i in np.arange(repetitions):
new_mean = scores.sample(27, with_replacement=False).column('Midterm').mean()
means = np.append(means, new_mean)
emp_p_value = np.count_nonzero(means <= section_3_mean)/repetitions
print('Empirical P-value:', emp_p_value)
results = Table().with_column('Random Sample Mean', means)
results.hist()
#Plot the observed statistic as a large red point on the horizontal axis
plots.scatter(section_3_mean, 0, color='red', s=30);
Empirical P-value: 0.0581
https://gitee.com/wizardforcel/data8-textbook-zh/raw/master/img/10-7.png
從直方圖來看安岂,第三組的較低均值看起來有些不尋常轻猖,但 5% 截斷值的慣例更加偏向 GSI 的假設(shè)。 有了這個截斷值域那,我們說這個結(jié)果不是統(tǒng)計學(xué)顯著的咙边。
錯誤概率
在我們決定我們的數(shù)據(jù)更加支持哪個假設(shè)的過程中,最后一步涉及數(shù)據(jù)的原假設(shè)的一致性判斷次员。 雖然絕大多數(shù)時候這一步都能產(chǎn)生正確的決策败许,但有時也會讓我們誤入歧途。 原因是機會變異淑蔚。 例如市殷,即使當原假設(shè)為真時,機會變異也可能導(dǎo)致樣本看起來與原假設(shè)的預(yù)測完全不同刹衫。
在本節(jié)中醋寝,我們將研究假設(shè)的統(tǒng)計檢驗如何可能得出這樣的結(jié)論搞挣,也就是實際上原假設(shè)為真時,數(shù)據(jù)支持備選假設(shè)音羞。
由于我們根據(jù) P 值做出決策柿究,現(xiàn)在應(yīng)該給出一個更正式的定義,而不是“在經(jīng)驗直方圖的橫坐標上放置觀察到的統(tǒng)計量黄选,并且求出大于它的尾部區(qū)域”的機械方法蝇摸。
P 值的定義
P 值是在原假設(shè)下,檢驗統(tǒng)計量等于在數(shù)據(jù)中觀察到的值办陷,或甚至在備選假設(shè)方向上更進一步的幾率貌夕。
讓我們先看看這個定義如何與前一節(jié)的計算結(jié)果一致。
回顧孟德爾的豌豆花
在這個例子中民镜,我們評估孟德爾的豌豆物種的遺傳模型是否良好啡专。 首先回顧一下我們?nèi)绾谓Q策過程,然后在這個背景下考察 P 值的定義制圈。
原假設(shè)们童。 孟德爾的模型是好的:植物的花是紫色或白色,類似于來自總體紫色鲸鹦,紫色慧库,紫色,白色的帶放回隨機樣本馋嗜。
備選假設(shè)齐板。 孟德爾的模型是錯誤的。
檢驗統(tǒng)計量葛菇。0.75 與花為紫色的植物的觀察比例的距離:
樣本量較大(929)甘磨,所以如果孟德爾的模型好,那么觀察到的紫色花的比例應(yīng)該接近 0.75眯停。 如果孟德爾的模型是錯誤的济舆,則觀察到的紫色比例不應(yīng)該接近0.75,從而使統(tǒng)計值量更大莺债。
因此滋觉,在這種情況下,“備選假設(shè)的方向”意味著“更大”九府。
檢驗統(tǒng)計量的觀測值(四舍五入到小數(shù)點后五位)是 https://www.zhihu.com/equation?tex=%7C0.75888%20-%200.75%7C%20%7E%3D%7E%200.00888椎瘟。根據(jù)定義,P 值是從孟德爾的模型中抽取的樣本侄旬,產(chǎn)生 0.00888 或更大的統(tǒng)計量的幾率肺蔚。
雖然我們還沒有學(xué)會如何精確地計算這個幾率,但我們可以通過模擬來逼近它儡羔,這就是我們在前一節(jié)中所做的宣羊。 以下是該部分的所有相關(guān)代碼璧诵。
# The model and the data
model_colors = make_array('Purple', 'Purple', 'Purple', 'White')
total_plants = 929
observed_statistic = 0.0088805166846070982
# Simulating the test statistic under the null hypothesis
repetitions = 5000
sampled_stats = make_array()
for i in np.arange(repetitions):
new_sample = np.random.choice(model_colors, total_plants)
proportion_purple = np.count_nonzero(new_sample == 'Purple')/total_plants
sampled_stats = np.append(sampled_stats, abs(proportion_purple - 0.75))
# The P-value (an approximation based on the simulation)
empirical_P = np.count_nonzero(sampled_stats >= observed_statistic)/repetitions
# Displaying the results
results = Table().with_column('Distance from 0.75', sampled_stats)
print('Empirical P-value:', empirical_P)
results.hist()
plots.scatter(observed_statistic, 0, color='red', s=30);
Empirical P-value: 0.5436
https://gitee.com/wizardforcel/data8-textbook-zh/raw/master/img/10-8.png
注意 P 值的計算根據(jù)孟德爾的模型,基于所有抽取樣本的重復(fù)仇冯,并且每次都計算檢驗統(tǒng)計量:
empirical_P = np.count_nonzero(sampled_stats >= observed_statistic)/repetitions
empirical_P
0.5436
這是統(tǒng)計量大于等于觀測值 0.00888 的樣本比例之宿。
計算結(jié)果表明,如果孟德爾的假設(shè)是真實的苛坚,那么得到一個植物樣本比被,它的檢驗統(tǒng)計量大于等于孟德爾的觀測值,這個幾率大概是 54%泼舱。 這是一個很大的幾率(并且比“較小”的慣例上的 5% 截斷值要大得多)等缀。 因此,孟德爾的數(shù)據(jù)產(chǎn)生了一個統(tǒng)計量娇昙,基于他的模型是不足為奇的尺迂,這個數(shù)據(jù)支持他的模型而不是支持備選假設(shè)。
回顧 GSI 的辯護
在這個例子中冒掌,第三組由一個班級 12 個組中的 27 個學(xué)生組成噪裕,期中分數(shù)均值低于其他組。 我們試圖在以下假設(shè)之間作出決策:
原假設(shè):第三組的平均分數(shù)類似于從班上隨機挑選的 27 名學(xué)生的平均分數(shù)股毫。
備選假設(shè):不是膳音,太低了。
檢驗統(tǒng)計量皇拣。 抽樣分數(shù)的均值严蓖。
在這里,備選假設(shè)說了氧急,觀察到的平均值太低,并不從隨機抽樣中產(chǎn)生 - 第三組里面有些東西使得平均值較低毫深。
所以在這里吩坝,“備選假設(shè)的方向”是指“較小”。
檢驗統(tǒng)計量的觀測值是第三組的平均分 13.6667哑蔫。因此钉寝,根據(jù)定義,P 值是 27 位隨機選取的學(xué)生的平均分 13.6667 或更小的幾率闸迷。
這是我們通過近似來模擬的幾率嵌纲。 這是上一節(jié)的代碼。
# The data
scores = Table.read_table('scores_by_section.csv')
sec_3_mean = 13.6667
sec_3_size = 27
# Simulating the test statistic under the null hypothesis
repetitions = 10000
means = make_array()
for i in np.arange(repetitions):
new_mean = scores.sample(sec_3_size, with_replacement=False).column('Midterm').mean()
means = np.append(means, new_mean)
# The P-value (an empirical approximation based on the simulation)
empirical_P = np.count_nonzero(means <= sec_3_mean)/repetitions
# Displaying the results
print('Empirical P-value:', empirical_P)
results = Table().with_column('Random Sample Mean', means)
results.hist()
plots.scatter(sec_3_mean, 0, color='red', s=30);
Empirical P-value: 0.0569
https://gitee.com/wizardforcel/data8-textbook-zh/raw/master/img/10-9.png
經(jīng)驗 P 值的計算在下面的單元格中腥沽。
empirical_P = np.count_nonzero(means <= sec_3_mean)/repetitions
empirical_P
0.0569
這是隨機樣本的比例逮走,其中樣本均值小于等于第三組的均值 13.667。
模擬結(jié)果顯示今阳,隨機抽樣組的 27 名學(xué)生平均分數(shù)低于第三組的均值师溅,幾率為大約 6% ??茅信。如果按照傳統(tǒng)的 5% 截斷值作為“較小” P 值的定義,那么 6% 不小了墓臭,結(jié)果不是統(tǒng)計學(xué)顯著的蘸鲸。換句話說,你沒有足夠的證據(jù)來拒絕原假設(shè)的隨機性窿锉。
你可以盡管違背約定酌摇,選擇不同的截斷值。如果你這樣做嗡载,請記住以下幾點:
- 始終提供檢驗統(tǒng)計量的觀察值和 P 值窑多,以便讀者可以自行決定 P 值是否小。
- 只有當傳統(tǒng)的所得結(jié)果不符合你的喜好時鼻疮,才需要違背約定怯伊。
- 即使你的檢驗結(jié)論為,第三組平均分數(shù)低于隨機抽樣的學(xué)生的平均分數(shù)判沟,也沒有為什么它較低的信息耿芹。
做出錯誤決策的概率
這種平均分數(shù)的分析產(chǎn)生了一個重要的觀測,關(guān)于我們的檢驗做出錯誤結(jié)論的概率挪哄。
假設(shè)你決定使用 5% 的截斷值作為 P 值吧秕。 也就是說,如果 P 值低于 5%迹炼,那么假設(shè)你會選擇備選假設(shè)砸彬,否則保持原假設(shè)。
那么從樣本均值的經(jīng)驗直方圖可以看出斯入,如果第三組的平均值是 12砂碉,那么你會說“太低了”。12 左側(cè)的面積不足 5%刻两。
results.hist()
https://gitee.com/wizardforcel/data8-textbook-zh/raw/master/img/10-10.png
13 左邊的面積也不到 5%增蹭。 左側(cè)面積小于 5% 的所有樣本均值以紅色顯示。
https://gitee.com/wizardforcel/data8-textbook-zh/raw/master/img/10-11.png
你可以看到磅摹,如果第三組的平均值接近 13滋迈,并且你使用 5% 的截斷值作為 P 值卸例,那么你應(yīng)該說小組的均值不像隨機樣本的均值刃泌。
你也可以看到冰蘑,隨機樣本的均值可能在 13 左右(盡管不太可能)涌韩。事實上唤殴,在我們的模擬中潦蝇,5000 個隨機樣本中有幾個的均值與 13 相差 0.01 以內(nèi)癣疟。
results.where('Random Sample Mean', are.between(12.99, 13.01)).num_rows
13
你看到的是檢驗做出錯誤結(jié)論的可能性摸袁。
如果你使用了 10% 的截斷值而不是 5%,那么這里的紅色部分意味著硕旗,你可能得出結(jié)論窗骑,它太低了,不能從隨機樣本中產(chǎn)生漆枚,即使在你不知情的情況下创译,它們是來自隨機樣本。
https://gitee.com/wizardforcel/data8-textbook-zh/raw/master/img/10-12.png
做出錯誤決策的幾率
假設(shè)你想測試一個硬幣是否均勻墙基。 那么假設(shè)是:
原假設(shè):硬幣是均勻的软族。 也就是說,結(jié)果是來自正面和反面的隨機樣本残制。
備選假設(shè):硬幣不均勻立砸。
假設(shè)你的數(shù)據(jù)基于 400 個硬幣的投擲。 你會預(yù)計平等的硬幣能夠在 400 個次投擲中擁有 200 個正面初茶,所以合理的檢驗統(tǒng)計量就是使用 https://www.zhihu.com/equation?tex=%5Cmbox%7Btest%20statistic%7D%20%7E%3D%7E%20%7C%5Cmbox%7Bnumber%20of%20heads%7D%20-%20200%7C颗祝。
我們可以在均勻的原假設(shè)下模擬統(tǒng)計量。
coin = make_array('Heads', 'Tails')
num_tosses = 400
repetitions = 10000
heads = make_array()
for i in np.arange(repetitions):
tosses = np.random.choice(coin, 400)
heads = np.append(heads, np.count_nonzero(tosses == 'Heads'))
sampled_stats = abs(heads - 200)
results = Table().with_column('|Number of Heads - 200|', sampled_stats)
results.hist(bins = np.arange(0, 45, 5))
https://gitee.com/wizardforcel/data8-textbook-zh/raw/master/img/10-13.png
如果硬幣是不均勻的恼布,那么你預(yù)計硬幣的數(shù)量就不是 200螺戳,或者換句話說,如果硬幣是均勻的折汞,那么你預(yù)計倔幼,檢驗統(tǒng)計量就會大一些。
因此爽待,正如在孟德爾的豌豆花的例子中损同,P 值是統(tǒng)計量經(jīng)驗分布的右側(cè)尾部的區(qū)域。
假設(shè)你決定使用 3.5% 的截斷值作為 P 值鸟款。 那么即使硬幣碰巧是均勻的膏燃,對于模擬中的 10000 個檢驗統(tǒng)計量的前 3.5%,你也會得出“不均勻”的結(jié)論何什。
換句話說蹄梢,如果你用3.5% 的 P 值作為臨界值,而硬幣恰好是均勻的富俄,那么大概有 3.5% 的概率你會認為硬幣是不均勻的。
P 值的截斷值是錯誤概率
上面的例子是一個普遍事實的特例:
如果對 P 值使用p%
的截斷值而咆,并且原假設(shè)恰好是真的霍比,那么大約有p%
的概率,你的檢驗就會得出結(jié)論:備選假設(shè)是正確的暴备。
因此悠瞬,1% 的截斷值比 5% 更保守 - 如果原假設(shè)恰好是真的,那么結(jié)論為“備選假設(shè)”的可能性就會降低。出于這個原因浅妆,醫(yī)學(xué)治療隨機對照試驗通常使用 1% 作為決定以下兩個假設(shè)之間的臨界值:
原假設(shè):實驗沒有效果望迎;患者的實驗組和對照組的結(jié)果之間的觀察到的差異,是由于隨機性造成的凌外。
備選假設(shè):實驗有效果辩尊。
這個想法是,控制結(jié)論為實驗有效康辑,而實際上無效的幾率摄欲。這減少了給予患者無效治療的風險。
盡管如此疮薇,即使你將截斷值設(shè)置為 1% 那樣低胸墙,并且實驗沒有任何效果,但有大約 1% 的幾率得出結(jié)論:實驗是有效的按咒。這由于機會變異迟隅。來自隨機樣本的數(shù)據(jù)很可能最終導(dǎo)致你誤入歧途。
數(shù)據(jù)窺探
上面的討論意味著励七,如果我們進行 500 個單獨的隨機對照實驗智袭,其中實驗實際上沒有效果,并且每個實驗使用 1% 的截斷值呀伙,那么通過機會變異补履,500 個實驗中的約 5 個將得出結(jié)論:實驗確實有效果。
我們可以希望剿另,沒有人會對一無所獲的實驗進行 500 次箫锤。但研究人員使用相同的數(shù)據(jù)測試多個假設(shè)并不罕見。例如雨女,在一項關(guān)于藥物作用的隨機對照試驗中谚攒,研究人員可能會測試該藥物是否對各種不同疾病有影響。
現(xiàn)在假設(shè)藥物對任何東西都沒有影響氛堕。只是機會變異馏臭,一小部分的測試可能會得出結(jié)論,它確實有效果讼稚。所以括儒,當你閱讀一篇使用假設(shè)檢驗的研究,并得出實驗有效的結(jié)論時锐想,總是詢問研究人員帮寻,在發(fā)現(xiàn)所報告的效果之前,究竟檢驗了多少種不同的效果赠摇。
如果研究人員在找到給出“高度統(tǒng)計學(xué)顯著”的結(jié)論之前固逗,進行了多個不同的檢驗浅蚪,請謹慎使用結(jié)果。這項研究可能會受到數(shù)據(jù)窺探的影響烫罩,這實際上意味著將數(shù)據(jù)捏造成一個假象惜傲。
在這種情況下,驗證報告結(jié)果的一種方法是贝攒,復(fù)制實驗并單獨檢驗該特定效果盗誊。如果它再次表現(xiàn)為顯著,就驗證了原來的結(jié)論饿这。
技術(shù)注解:其他類型的錯誤
當然浊伙,還有另外一種錯誤:認為治療什么也不做,事實上它做了一些事情长捧。近似這個錯誤超出了本節(jié)的范圍嚣鄙。要知道,如果你建立你的測試來減少兩個錯誤之一串结,你幾乎總是增加另一個哑子。
技術(shù)注解:識別拒絕域
在上面的硬幣投擲的例子中,我們基于 400 次投擲肌割,使用 P 值的 3.5 倍的截斷值來測試硬幣的平等性卧蜓。檢驗統(tǒng)計量是 https://www.zhihu.com/equation?tex=%7C%5Cmbox%7Bnumber%20of%20heads%7D%20-%20200%7C。我們在平等的原假設(shè)下模擬了這個統(tǒng)計量把敞。
由于所有統(tǒng)計數(shù)據(jù)的前 3.5%弥奸,檢驗的結(jié)論是硬幣是不平等的,在下面展示為紅色奋早。
https://gitee.com/wizardforcel/data8-textbook-zh/raw/master/img/10-14.png
從圖中可以看出盛霎,在平等的原假設(shè)下,大約前 3.5% 的檢驗統(tǒng)計量的值大于 20耽装。你也可以通過求出這些值的比例來確認:
results.where('|Number of Heads - 200|', are.above_or_equal_to(21)).num_rows/results.num_rows
0.0372
也就是說愤炸,如果檢驗統(tǒng)計量是 21 或更高,那么以 3.5% 的截斷點掉奄,你會得出結(jié)論:硬幣是不公平的规个。
也就是說,如果檢驗統(tǒng)計量是 21 或更高姓建,你將拒絕原假設(shè)诞仓。因此,“21 以上”的范圍被稱為該檢驗的拒絕域速兔。它對應(yīng)的正面數(shù)量是 221 及以上狂芋,或者是 179 及以下。
如果你沒有在直方圖上將其標記為紅色憨栽,你將如何找到這些值?百分位數(shù)函數(shù)在這里派上用場。它需要你嘗試查找的百分比水平以及包含數(shù)據(jù)的數(shù)組屑柔。統(tǒng)計量的“前 3.5%”對應(yīng)于統(tǒng)計量的第 96.5 個百分點:
percentile(96.5, results.column(0))
21.0
注意屡萤。由于“重復(fù)”(即數(shù)據(jù)中的幾個相同的值)和數(shù)據(jù)數(shù)組的任意長度,百分位數(shù)并不總是那么整齊掸宛。在本課程的后面死陆,我們將給出一個涵蓋所有情況的百分位數(shù)的精確定義。就目前而言唧瘾,只要認為percentile
函數(shù)返回一個答案措译,與你直覺上看做百分點的東西相近即可。
示例:漏風門
2015 年 1 月 18 日饰序,印第安納波利斯小馬隊(Indianapolis Colts)和新英格蘭愛國者隊(New England Patriots)進行了美式橄欖球大會(AFC)冠軍賽领虹,來確定哪支球隊將晉級超級碗(Super Bowl)。比賽結(jié)束后求豫,有人指責愛國者的橄欖球沒有按照規(guī)定的要求膨脹塌衰,并且更軟。這可能是一個優(yōu)勢蝠嘉,因為較軟的球可能更容易被捕獲最疆。
幾個星期以來,美國橄欖球界充滿了指責蚤告,否認努酸,理論和懷疑:在 20 世紀 70 年代水門事件的政治丑聞之后,新聞界標記了“漏風門”這個話題杜恰。國家橄欖球聯(lián)盟(NFL)委托了獨立分析小組获诈。在這個例子中,我們將執(zhí)行我們自己的數(shù)據(jù)分析箫章。
壓強通常以磅/平方英寸(psi)來衡量烙荷。 NFL 規(guī)則規(guī)定了比賽用球必須充氣為 12.5psi 到 13.5psi 的壓強。每個隊都擁有 12 個球檬寂。球隊有責任保持自己的球的壓強终抽,但比賽官方會檢查球。在 AFC 比賽開始之前桶至,所有愛國者的球都在 12.5psi 左右昼伴。小馬隊的大部分球在大約 13.0psi。但是镣屹,這些賽前數(shù)據(jù)沒有被記錄下來圃郊。
在第二節(jié),小馬隊攔截了一個愛國者的球女蜈。在邊線上持舆,他們測量了球的壓強色瘩,并確定它低于 12.5psi 的閾值。他們及時通知了官方逸寓。
中場休息時居兆,所有的比賽用球都被收集起來檢查。兩名官方人員 Clete Blakeman 和 Dyrol Prioleau 測量了每個球的壓強竹伸。這里是數(shù)據(jù)泥栖;壓強的單位是磅/平方英寸。被小馬隊攔截的愛國者的球在這個時候沒有被檢查勋篓。大多數(shù)小馬隊的球也沒有 - 官方只是耗完了時間吧享,為了下半場的開始,不得不交出了這些球譬嚣。
football = Table.read_table('football.csv')
football = football.drop('Team')
football.show()
Ball | Blakeman | Prioleau |
---|---|---|
Patriots 1 | 11.5 | 11.8 |
Patriots 2 | 10.85 | 11.2 |
Patriots 3 | 11.15 | 11.5 |
Patriots 4 | 10.7 | 11 |
Patriots 5 | 11.1 | 11.45 |
Patriots 6 | 11.6 | 11.95 |
Patriots 7 | 11.85 | 12.3 |
Patriots 8 | 11.1 | 11.55 |
Patriots 9 | 10.95 | 11.35 |
Patriots 10 | 10.5 | 10.9 |
Patriots 11 | 10.9 | 11.35 |
Colts 1 | 12.7 | 12.35 |
Colts 2 | 12.75 | 12.3 |
Colts 3 | 12.5 | 12.95 |
Colts 4 | 12.55 | 12.15 |
對于被檢查的 15 個球中的每一個钢颂,兩名官員獲得了不同的結(jié)果。 在同一物體上重復(fù)測量得到不同的結(jié)果并不少見孤荣,特別是當測量由不同的人進行時甸陌。 所以我們將每個球賦為這個球上進行的兩次測量的平均值。
football = football.with_column(
'Combined', (football.column(1)+football.column(2))/2
)
football.show()
Ball | Blakeman | Prioleau | Combined |
---|---|---|---|
Patriots 1 | 11.5 | 11.8 | 11.65 |
Patriots 2 | 10.85 | 11.2 | 11.025 |
Patriots 3 | 11.15 | 11.5 | 11.325 |
Patriots 4 | 10.7 | 11 | 10.85 |
Patriots 5 | 11.1 | 11.45 | 11.275 |
Patriots 6 | 11.6 | 11.95 | 11.775 |
Patriots 7 | 11.85 | 12.3 | 12.075 |
Patriots 8 | 11.1 | 11.55 | 11.325 |
Patriots 9 | 10.95 | 11.35 | 11.15 |
Patriots 10 | 10.5 | 10.9 | 10.7 |
Patriots 11 | 10.9 | 11.35 | 11.125 |
Colts 1 | 12.7 | 12.35 | 12.525 |
Colts 2 | 12.75 | 12.3 | 12.525 |
Colts 3 | 12.5 | 12.95 | 12.725 |
Colts 4 | 12.55 | 12.15 | 12.35 |
一眼望去盐股,愛國者隊的壓強顯然低于小馬隊钱豁。 由于一些放氣在比賽過程中是正常的,獨立分析師決定計算距離比賽開始的壓強下降值疯汁。 回想一下牲尺,愛國者的球開始時是大約 12.5psi,小馬隊的球是大約 13.0psi幌蚊。 因此愛國者球的壓強下降值計算為 12.5 減中場時的壓強谤碳,小馬隊的球的壓強下降值為 13.0 減半場的壓強。
我們來構(gòu)建兩張表溢豆,一張是愛國者的數(shù)據(jù)蜒简,一張是小馬的。 每張表的最后一列是距離開始的壓強下降值漩仙。
patriots = football.where('Ball', are.containing('Patriots'))
patriots = patriots.with_column('Drop', 12.5-patriots.column('Combined'))
patriots.show()
Ball | Blakeman | Prioleau | Combined | Drop |
---|---|---|---|---|
Patriots 1 | 11.5 | 11.8 | 11.65 | 0.85 |
Patriots 2 | 10.85 | 11.2 | 11.025 | 1.475 |
Patriots 3 | 11.15 | 11.5 | 11.325 | 1.175 |
Patriots 4 | 10.7 | 11 | 10.85 | 1.65 |
Patriots 5 | 11.1 | 11.45 | 11.275 | 1.225 |
Patriots 6 | 11.6 | 11.95 | 11.775 | 0.725 |
Patriots 7 | 11.85 | 12.3 | 12.075 | 0.425 |
Patriots 8 | 11.1 | 11.55 | 11.325 | 1.175 |
Patriots 9 | 10.95 | 11.35 | 11.15 | 1.35 |
Patriots 10 | 10.5 | 10.9 | 10.7 | 1.8 |
Patriots 11 | 10.9 | 11.35 | 11.125 | 1.375 |
colts = football.where('Ball', are.containing('Colts'))
colts = colts.with_column('Drop', 13.0-colts.column('Combined'))
colts
Ball | Blakeman | Prioleau | Combined | Drop |
---|---|---|---|---|
Colts 1 | 12.7 | 12.35 | 12.525 | 0.475 |
Colts 2 | 12.75 | 12.3 | 12.525 | 0.475 |
Colts 3 | 12.5 | 12.95 | 12.725 | 0.275 |
Colts 4 | 12.55 | 12.15 | 12.35 | 0.65 |
看起來好像愛國者的漏氣比小馬隊更大搓茬。 自然統(tǒng)計量是兩個平均漏氣之間的差異。 我們將處理它队他,但你可以自由地用其他自然統(tǒng)計量重復(fù)分析卷仑,例如整體平均漏氣與愛國者之間的差異。
patriots_mean = patriots.column('Drop').mean()
colts_mean = colts.column('Drop').mean()
observed_statistic = patriots_mean - colts_mean
observed_statistic
0.73352272727272805
這種正面的差異反映了這樣的事實麸折,即愛國者的球的平均壓強下降值大于小馬隊锡凝。
難道這個差異是偶然的,還是愛國者的下降值太大垢啼? 這個問題非常類似于我們之前問過的問題窜锯,關(guān)于一個大班中的一個小組的成績张肾。就像我們在這個例子中所做的那樣,我們將建立原假設(shè)衬浑。
原假設(shè):愛國者的下降值就是 15 次下降值中的捌浩,大小為 11 的隨機樣本。 由于機會變異工秩,均值比小馬隊高。
備選假設(shè):愛國者的下降值太大进统,并不僅僅是機會變異的結(jié)果助币。
如果原假設(shè)是真的,那么愛國者的下降值就可以對比從 15 次下降值隨機不帶放回抽取的 11 個螟碎。 所以讓我們創(chuàng)建一個眉菱,含有所有 15 個下降值,并從中隨機抽取掉分。
drops = Table().with_column(
'Drop', np.append(patriots.column('Drop'), colts.column('Drop'))
)
drops.show()
Drop |
---|
0.85 |
1.475 |
1.175 |
1.65 |
1.225 |
0.725 |
0.425 |
1.175 |
1.35 |
1.8 |
1.375 |
0.475 |
0.475 |
0.275 |
0.65 |
drops.sample(with_replacement=False).show()
Drop |
---|
1.225 |
1.175 |
1.175 |
0.475 |
1.375 |
0.425 |
0.85 |
0.65 |
1.35 |
1.65 |
0.725 |
0.475 |
1.475 |
1.8 |
0.275 |
注意sample
的使用沒有帶樣本大小俭缓。 這是因為sample
使用的默認樣本大小是表格的行數(shù);如果你不指定樣本大小酥郭,則會返回與原始表格大小相同的樣本华坦。 這對于我們的目的非常理想,因為當你不放回抽樣時(通過指定with_replacement = False
)不从,并且次數(shù)與行數(shù)相同惜姐,最終會對所有行進行隨機洗牌。 運行幾次該單元格來查看輸出如何變化椿息。
我們現(xiàn)在可以使用打亂表的前 11 行作為原假設(shè)下的愛國者的下降值的模擬歹袁。 剩下的四行形成了對應(yīng)的小馬隊的下降值的模擬。 我們可以使用這兩個模擬數(shù)組來模擬我們在原假設(shè)下的檢驗統(tǒng)計量寝优。
shuffled = drops.sample(with_replacement=False)
new_patriots = shuffled.take(np.arange(11))
new_patriots_mean = new_patriots.column(0).mean()
new_colts = shuffled.take(np.arange(11, drops.num_rows))
new_colts_mean = new_colts.column(0).mean()
simulated_stat = new_patriots_mean - new_colts_mean
simulated_stat
-0.70681818181818212
運行幾次該單元格來查看檢驗統(tǒng)計量的變化情況条舔。 請記住,模擬是在原假設(shè)下乏矾,即愛國者的下降值類似于隨機抽樣的 15 個下降值孟抗。
現(xiàn)在是我們熟悉的步驟了。 我們將在院假設(shè)下重復(fù)模擬檢驗統(tǒng)計量妻熊。 模擬結(jié)束時夸浅,數(shù)組的simulated_statistics
將包含所有模擬的檢驗統(tǒng)計量。
simulated_statistics = make_array()
repetitions = 10000
for i in np.arange(repetitions):
shuffled = drops.sample(with_replacement=False)
new_patriots_mean = shuffled.take(np.arange(11)).column(0).mean()
new_colts_mean = shuffled.take(np.arange(11, drops.num_rows)).column(0).mean()
new_statistic = new_patriots_mean - new_colts_mean
simulated_statistics = np.append(simulated_statistics, new_statistic)
現(xiàn)在對于經(jīng)驗 P 值扔役,這是一個幾率(在原假設(shè)下計算)帆喇,所得的檢驗統(tǒng)計量等于觀察到統(tǒng)計量,或者更加偏向備選假設(shè)方向亿胸。 為了弄清楚如何計算它坯钦,重要的是要回憶另一個假設(shè):
備選假設(shè):愛國者的下降值太大预皇,并不僅僅是機會變異的結(jié)果。
“備選假設(shè)的方向”是愛國者的下降值很大婉刀,對應(yīng)我們的檢驗統(tǒng)計量吟温,“愛國者的均值減去小馬隊的均值”較大。 所以 P 值是幾率(在原假設(shè)下計算)突颊,所得檢驗統(tǒng)計量大于等于我們 0.73352272727272805鲁豪。
empirical_P = np.count_nonzero(simulated_statistics >= observed_statistic)/repetitions
empirical_P
0.0027
這是一個非常小的 P 值。 為了觀察它律秃,下面是原假設(shè)下檢驗統(tǒng)計量的經(jīng)驗分布爬橡,其中觀察到的統(tǒng)計量標在橫軸上。
print('Observed Statistic:', observed_statistic)
print('Empirical P:', empirical_P)
results = Table().with_column('Simulated Statistic', simulated_statistics)
results.hist()
plots.scatter(observed_statistic, 0, color='red', s=30);
Observed Statistic: 0.733522727273
Empirical P: 0.0027
https://gitee.com/wizardforcel/data8-textbook-zh/raw/master/img/10-15.png
請注意棒动,分布大部分集中在 0 左右糙申。在原假設(shè)下,愛國者的下降值是所有 15 下降值的隨機樣本船惨,因此小馬對也是如此柜裸。 所以這兩組下降值的平均值應(yīng)該大致相等,因此它們的差值應(yīng)該在 0 左右粱锐。
但是檢驗統(tǒng)計量的觀察值離分布的中心還有很遠的距離疙挺。 使用什么是“小”的任何合理的截斷值,經(jīng)驗 P 值都是小的卜范。 所以我們最終拒絕原假設(shè)的隨機性衔统,并得出結(jié)論,愛國者的下降值太大海雪,并不單獨反映機會變異锦爵。
獨立的調(diào)查小組以數(shù)種不同的方式分析數(shù)據(jù),并考慮到物理定律奥裸。最后的報告說:
“愛國者比賽用球的平均壓降超過了小馬隊的球的平均壓降 0.45psi 至 1.02psi险掀,這取決于所使用的測量儀的各種可能的假設(shè),并假設(shè)愛國者的球的初始壓強為 12.5psi湾宙,小馬隊的球是 13.0psi樟氢。”
- 2015 年 1 月 18 日侠鳄,由 NFL 委托對 AFC 冠軍賽的調(diào)查報告
我們的分析顯示埠啃,平均壓降約為 0.73psi,接近“0.45 至 1.02psi”的中心伟恶,因此與官方分析一致碴开。
請記住,我們對假設(shè)的檢驗并沒有確定差異不是偶然的原因。 建立因果關(guān)系通常比進行假設(shè)檢驗更為復(fù)雜潦牛。
但足球世界里最重要的問題是因果關(guān)系:問題是愛國者足球的壓強過大是否是故意的眶掌。 如果你對調(diào)查人員的答案感到好奇,這里是完整的報告巴碗。