統(tǒng)計檢驗(基于R函數(shù))

前言

非參數(shù)檢驗(卡方檢驗)扒秸,參數(shù)檢驗(F檢驗蕴掏,T檢驗,Z檢驗)缚窿,方差分析(ANOVA)
非參數(shù)檢驗與參數(shù)檢驗區(qū)別:主要差異在于棘幸,非參數(shù)檢驗不需要假定總體分布形式,直接對數(shù)據(jù)的分布進行檢驗倦零。由于不涉及總體分布的參數(shù)误续,故名「非參數(shù)」檢驗。比如扫茅,卡方檢驗蹋嵌。而參數(shù)檢驗一般需要正太性(符合正太分布)、方差齊次等假設诞帐,并已知總體均值欣尼,方差等值,或者從樣本估計停蕉。

p value

一般在做假設檢驗的時候愕鼓,我們可以通過如下步驟:
1、設定alpha
2慧起、計算統(tǒng)計量t
3菇晃、根據(jù)alpha查統(tǒng)計量閾值來確定拒絕還是接受(這里是比較統(tǒng)計量t即可,t>t閾)

第二種方法蚓挤,直接計算p value(對于不同假設分布有不同計算pvalue的公式)
p value的含義是:


image.png

在H0成立的情況下磺送,Data產(chǎn)生的概率
非常好理解,p值為在H0假設下灿意,最終會產(chǎn)生得到當前數(shù)據(jù)的概率估灿。
如果p < alpha(比如0.05)則在H0的假設下,Data產(chǎn)生概率非常戌途纭(小于顯著水平alpha)馅袁,則應該拒絕H0
(注:顯著性水平alpha與p值pval不是一回事,不要搞混荒辕。alpha為我們設定的顯著性水平汗销,pval為計算出來概率。alpha是我們主觀去設定的值抵窒,pvalue為伴隨數(shù)據(jù)客觀得到的值)

第一類和第二類錯誤

第一類錯誤:H0為真弛针,但是拒絕了H0(棄真)。概率為alpha(常用的顯著性水平李皇,即是達到5%概率犯第一類錯誤的水平【即很大概率不會錯誤地拒絕H0】)
一般我們計算時削茁,p值就是真實情況下,犯第一類錯誤的概率。
第二類錯誤:H0為假付材,但是接受了H0(取偽)朦拖。當我們設定了alpha后,如果顯著性水平?jīng)]有達到alpha的值厌衔,那么我們會接受假設H0。在這種情況下捍岳,仍然有一定概率H0為假富寿。這個概率為Beta。
1-β即為statistical power
通常锣夹,alpha設置的比較大页徐,則beta也會比較大,如下圖:
在統(tǒng)計量為藍色豎線的時候银萍,根據(jù)H0假設的分布变勇,可以得到alpha,同時beta由H1的分布計算得來贴唇,但是通常我們不知道H1的真實分布搀绣,所以也無法精確計算beta
實踐中,由于beta無法精確計算戳气,但是我們還是想要降低第二類錯誤的概率链患,所以要做有如下的認知,beta的大小取決于兩個因素:
1瓶您、H1假設與H0的距離麻捻,距離越大,beta越小呀袱。
2贸毕、alpha的值。alpha越大夜赵,beta越小明棍。(更傾向于拒絕H0,一類錯誤概率增加油吭,則二類錯誤率減少)击蹲。
通常在固定alpha,H1假設的情況下婉宰,要縮小beta需要增加樣本量歌豺。

置信度和置信區(qū)間

置信水平(置信度)=1-顯著性水平(alpha)
置信區(qū)間:U,V心包。指在一定的置信水平下(1-alpha)类咧,被觀測參數(shù)的真實值會落在區(qū)間(U,V)之內(nèi)。
PS:什么是統(tǒng)計量痕惋,統(tǒng)計量是樣本的函數(shù)区宇,且不依賴于任何未知的參數(shù)。比如樣本均值就是個常用的統(tǒng)計量值戳,mean(sample)议谷,它只依賴于所有樣本的值。
PSS:一般來說堕虹,主要用于做區(qū)間估計卧晓。

自由度

統(tǒng)計學上,自由度是指當以樣本的統(tǒng)計量來估計總體的參數(shù)時赴捞,樣本中獨立或能自由變化的數(shù)據(jù)的個數(shù)逼裆,稱為該統(tǒng)計量的自由度。一般來說赦政,自由度等于獨立變量減掉其衍生量數(shù)胜宇。舉例來說,變異數(shù)的定義是樣本減平均值(一個由樣本決定的衍生量)恢着,因此對N個隨機樣本而言桐愉,其自由度為N-1

如何選擇一個合適的統(tǒng)計檢驗:(參考https://rpubs.com/Argaadya/bayesian_ab

image.png

連續(xù)型數(shù)據(jù)

基于正態(tài)分布的檢驗

均值檢驗(T檢驗)

主要用于小樣本(樣本容量小于30)的兩個平均值差異程度的檢驗方法(主要適用與總體方差未知的情況:即要用小樣本的方差預估總體方差)
T檢驗也是一種參數(shù)檢驗然评。(對方差齊性敏感仅财,需要先檢驗方差齊性【F檢驗】)

  • 對于與總體配對的T檢驗,要求滿足方差齊性碗淌,才能反應其均值的差異盏求。【不齊性有特殊處理方法】
  • 適用于已知總體均值(單樣本配對時需要總體均值亿眠,雙樣本不需要)碎罚,樣本均值,樣本方差(即樣本少總體方差未知)纳像,且大致來自于正太分布(一般除非明顯的長尾多峰等分布以外荆烈,都大致可以檢驗)

基礎延伸:
H0假設 :u與u0沒有差異,u0其實就是一個comparison value竟趾,u=u0
H1假設(單邊):樣本A均值大于B(或者小于)u>u0
H1假設(雙邊):兩個樣本均值有差異u>u0 or u<u0
使用單邊雙邊檢驗的區(qū)別:看你拒絕假設在兩邊憔购,或者一邊
均值檢驗中統(tǒng)計量

image.png

服從d=n-1的T分布。n為樣本量
其泛化形式為
image.png

其中E(x0)為H0假設的對比值(comparison value)岔帽,S(x)為對應變量x的標準差(一般總體參數(shù)未知)所以都是用樣本標準差S,當我們對比的是均值時玫鸟,均值的標準差用
image.png

  • 單總體樣本:
    H0:樣本均值與總體均值相同
    image.png

    ˉx為樣本均值,u為總體均值犀勒,Sx為樣本標準差屎飘,
    Sx/根號n 為樣本均值的標準差
  • 雙總體配對樣本:(形式與上述一致)

    u0為0假設下差異值的均值妥曲。s為配對樣本差值的標準差,s/根號n 為配對樣本差值的均值的標準差
  • 雙總體非配對樣本:
    image.png

注:兩個獨立樣本的差的variance是:


image.png

這個公式是一個比值钦购。一個普通的比喻是檐盟,t值為信噪比。
配對t檢驗除了自由度有所差異押桃,其實本身也差不多葵萎。
上述公式本質(zhì):分子都是均值,分母都是方差(均值的方差)怨规。所以和z score本質(zhì)也一樣陌宿。
1)根據(jù)待檢驗的實驗,計算出t值
2)根據(jù)t值查表獲取p值波丰,借此判斷是否有統(tǒng)計學上的差異(不過通常做法是根據(jù)想要的p值【比如0.05】來查表獲得臨界的t值,再比較t值的大小來判斷是否達到一定的顯著性舶得,p>臨界t值掰烟,則效果顯著)PS:p值代表原假設為真時,此事件發(fā)生的概率沐批∪移铮【如果很小的話,則證明不太可能發(fā)生這樣的情況九孩,應該拒絕原假設先馆,當然,拒絕也是有錯誤的可能性的躺彬,錯誤的概率也為p值煤墙,即有顯著差異其誤判的概率是p】

用于正態(tài)總體均值假設檢驗,單樣本宪拥,雙樣本都可以仿野。
結果意義:P值小于顯著性水平時拒絕原假設,否則她君,接受原假設脚作。具體的假設要看所選擇的是雙邊假設還是單邊假設(又分小于和大于)

單樣本t檢驗

t.test(extra ~ 1, data = sleep)
#>
#>  One Sample t-test
#>
#> data:  extra
#> t = 3.413, df = 19, p-value = 0.002918
#> alternative hypothesis: true mean is not equal to 0
#> 95 percent confidence interval:
#>  0.5955845 2.4844155
#> sample estimates:
#> mean of x 
#>      1.54 

p=0.002918 < 0.05,拒絕原假設缔刹,接受備擇假設球涛,樣本均值不等于0

雙樣本t檢驗

t.test(1:10, 10:20)
#> 
#>  Welch Two Sample t-test
#> 
#> data:  1:10 and 10:20
#> t = -7, df = 19, p-value = 2e-06
#> alternative hypothesis: true difference in means is not equal to 0
#> 95 percent confidence interval:
#>  -12.4  -6.6
#> sample estimates:
#> mean of x mean of y 
#>       5.5      15.0

p=2e-06 < 0.05,則拒絕原假設,接受備擇假設校镐。說明兩樣本存在均值差異(兩樣本的均值差不等于0)

配對 t 檢驗

## 使用公式進行配對t檢驗
## The sleep data are actually paired, so could have been in wide format:
sleep2 <- reshape(sleep, direction = "wide", 
                  idvar = "ID", timevar = "group")
t.test(Pair(extra.1, extra.2) ~ 1, data = sleep2)
#> 
#>  Paired t-test
#> 
#> data:  sleep2$extra.1 and sleep2$extra.2
#> t = -4.0621, df = 9, p-value = 0.002833
#> alternative hypothesis: true mean difference is not equal to 0
#> 95 percent confidence interval:
#>  -2.4598858 -0.7001142
#> sample estimates:
#> mean difference 
#>           -1.58 

## 不使用公式進行配對t檢驗
t.test(sleep2$extra.1,sleep2$extra.2,paired=T)
#> 
#>  Paired t-test
#> 
#> data:  sleep2$extra.1 and sleep2$extra.2
#> t = -4.0621, df = 9, p-value = 0.002833
#> alternative hypothesis: true mean difference is not equal to 0
#> 95 percent confidence interval:
#>  -2.4598858 -0.7001142
#> sample estimates:
#> mean difference 
#>           -1.58

方差檢驗(F檢驗-方差齊性檢驗)

檢測兩個及以上的樣本總體方差差異是否顯著的檢驗亿扁。(對正太性敏感,需要前提為正太分布)
基礎延伸:
H0假設:兩個樣本的方差沒有差異(齊次)σ1 = σ2
H1對立假設:兩個樣本的方差有差異σ1 > σ2
描述統(tǒng)計量F=σ1/σ2 服從 d1=n1-1, d2=n2-1 的F分布

服從正態(tài)分布的兩組樣本總體方差比較

df <- data.frame(
  value = c(rnorm(10), rnorm(10, mean = 1)),
  group = c(rep("control", 10), rep("test", 10))
)
# 進行的是 F 檢驗
var.test(value ~ group, data = df)
#> 
#>  F test to compare two variances
#> 
#> data:  value by group
#> F = 0.4, num df = 9, denom df = 9, p-value = 0.2
#> alternative hypothesis: true ratio of variances is not equal to 1
#> 95 percent confidence interval:
#>  0.103 1.671
#> sample estimates:
#> ratio of variances 
#>              0.415

多組樣本方差比較

使用 Bartlett 檢驗比較每個組(樣本)數(shù)據(jù)的方差是否一致灭翔。

bartlett.test(count ~ spray, data = InsectSprays)
#> 
#>  Bartlett test of homogeneity of variances
#> 
#> data:  count by spray
#> Bartlett's K-squared = 25.96, df = 5, p-value = 9.085e-05
# k-squared檢驗統(tǒng)計量的近似卡方分布的自由度

多樣本均值比較

對于兩組以上數(shù)據(jù)間均值的比較魏烫,使用方差分析 ANOVA

aov(wt ~ factor(cyl), data = mtcars)
#> Call:
#>    aov(formula = wt ~ factor(cyl), data = mtcars)
#> 
#> Terms:
#>                 factor(cyl) Residuals
#> Sum of Squares         18.2      11.5
#> Deg. of Freedom           2        29
#> 
#> Residual standard error: 0.63
#> Estimated effects may be unbalanced

查看詳細信息

model.tables(aov(wt ~ factor(cyl), data = mtcars))
#> Tables of effects
#> 
#>  factor(cyl) 
#>           4       6      8
#>     -0.9315 -0.1001  0.782
#> rep 11.0000  7.0000 14.000

通常先用 lm() 函數(shù)對數(shù)據(jù)建立線性模型巷疼,再用 anova() 函數(shù)提取方差分析的信息更方便颂暇。

md <- lm(wt ~ factor(cyl), data = mtcars)
anova(md)
#> Analysis of Variance Table
#> 
#> Response: wt
#>             Df Sum Sq Mean Sq F value  Pr(>F)    
#> factor(cyl)  2   18.2    9.09    22.9 1.1e-06 ***
#> Residuals   29   11.5    0.40                    
#> ---
#> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

ANOVA 分析假設各組樣本數(shù)據(jù)的方差是相等的,如果知道(或懷疑)不相等,可以使用 oneway.test() 函數(shù)公壤。

oneway.test(wt ~ cyl, data = mtcars)
#> 
#>  One-way analysis of means (not assuming equal variances)
#> 
#> data:  wt and cyl
#> F = 20, num df = 2, denom df = 19, p-value = 2e-05

多組樣本的配對 t 檢驗

計算組間水平的兩兩比較,并進行多次檢驗校正

pairwise.t.test(mtcars$wt, mtcars$cyl)
#> 
#>  Pairwise comparisons using t tests with pooled SD 
#> 
#> data:  mtcars$wt and mtcars$cyl 
#> 
#>   4     6   
#> 6 0.01  -   
#> 8 6e-07 0.01
#> 
#> P value adjustment method: holm

p.adjust.methods   # 可以自定義 p 值校正方法
# c("holm", "hochberg", "hommel", "bonferroni", "BH", "BY",  "fdr", "none")

正態(tài)性檢驗

Shapiro-Wilk 檢驗:
檢驗數(shù)據(jù)是否符合正態(tài)分布倾芝,R函數(shù):shapiro.test()焚虱。
結果含義:當p值小于某個顯著性水平α(比如0.05)時,則認為樣本不是來自正態(tài)分布的總體链嘀,否則則承認樣本來自正態(tài)分布的總體萌狂。

shapiro.test(rnorm(30))
#> 
#>  Shapiro-Wilk normality test
#> 
#> data:  rnorm(30)
#> W = 1, p-value = 1

分布的對稱性檢驗

用 Kolmogorov-Smirnov 檢驗查看一個向量是否來自對稱的概率分布(不限于正態(tài)分布)
函數(shù)第 1 個參數(shù)指定待檢驗的數(shù)據(jù)怀泊,第 2 個參數(shù)指定對稱分布的類型茫藏,可以是數(shù)值型向量、指定概率分布函數(shù)的字符串或一個分布函數(shù)霹琼。

ks.test(rnorm(10), "pnorm")
#> 
#>  One-sample Kolmogorov-Smirnov test
#> 
#> data:  rnorm(10)
#> D = 0.4, p-value = 0.09
#> alternative hypothesis: two-sided

ks.test(rpois(10, lambda = 1), "pnorm")
#> Warning in ks.test(rpois(10, lambda = 1), "pnorm"): ties should not be present
#> for the Kolmogorov-Smirnov test
#> 
#>  One-sample Kolmogorov-Smirnov test
#> 
#> data:  rpois(10, lambda = 1)
#> D = 0.5, p-value = 0.01
#> alternative hypothesis: two-sided

檢驗兩個向量是否服從同一分布

ks.test(rnorm(20), rnorm(30))
#> 
#>  Two-sample Kolmogorov-Smirnov test
#> 
#> data:  rnorm(20) and rnorm(30)
#> D = 0.1, p-value = 1
#> alternative hypothesis: two-sided

相關性檢驗

cor.test(mtcars$mpg, mtcars$wt)
#> 
#>  Pearson's product-moment correlation
#> 
#> data:  mtcars$mpg and mtcars$wt
#> t = -10, df = 30, p-value = 1e-10
#> alternative hypothesis: true correlation is not equal to 0
#> 95 percent confidence interval:
#>  -0.934 -0.744
#> sample estimates:
#>    cor 
#> -0.868

一共有 3 種方法("pearson", "kendall", "spearman")

cor.test(mtcars$mpg, mtcars$wt, method = "spearman", exact = F)
#> 
#>  Spearman's rank correlation rho
#> 
#> data:  mtcars$mpg and mtcars$wt
#> S = 10292, p-value = 1e-11
#> alternative hypothesis: true rho is not equal to 0
#> sample estimates:
#>    rho 
#> -0.886

不依賴分布的檢驗

均值檢驗

Wilcoxon 檢驗是 t 檢驗的非參數(shù)版本务傲。

單樣本秩和檢驗

x <- c(1.83,  0.50,  1.62,  2.48, 1.68, 1.88, 1.55, 3.06, 1.30)
y <- c(0.878, 0.647, 0.598, 2.05, 1.06, 1.29, 1.06, 3.14, 1.29)
wilcox.test(x, y, paired = TRUE, alternative = "greater")
#> 
#>  Wilcoxon signed rank exact test
#> 
#> data:  x and y
#> V = 40, p-value = 0.01953
#> alternative hypothesis: true location shift is greater than 0
wilcox.test(y - x, alternative = "less")    # The same.
#> 
#>  Wilcoxon signed rank exact test
#> 
#> data:  y - x
#> V = 5, p-value = 0.01953
#> alternative hypothesis: true location is less than 0

## 使用公式進行單樣本檢驗
depression <- data.frame(first = x, second = y, change = y - x)
wilcox.test(change ~ 1, data = depression)
#> 
#>  Wilcoxon signed rank exact test
#> 
#> data:  change
#> V = 5, p-value = 0.03906
#> alternative hypothesis: true location is not equal to 0
wilcox.test(Pair(first, second) ~ 1, data = depression)
#> 
#>  Wilcoxon signed rank exact test
#> 
#> data:  Pair(first, second)
#> V = 40, p-value = 0.03906
#> alternative hypothesis: true location shift is not equal to 0

雙樣本秩和檢驗

x <- c(0.80, 0.83, 1.89, 1.04, 1.45, 1.38, 1.91, 1.64, 0.73, 1.46)
y <- c(1.15, 0.88, 0.90, 0.74, 1.21)
wilcox.test(x, y, alternative = "g")        # greater
#> 
#>  Wilcoxon rank sum exact test
#> 
#> data:  x and y
#> W = 35, p-value = 0.1272
#> alternative hypothesis: true location shift is greater than 0
wilcox.test(x, y, alternative = "greater",
+             exact = FALSE, correct = FALSE) # H&W large sample
#> 
#>  Wilcoxon rank sum test
#> 
#> data:  x and y
#> W = 35, p-value = 0.1103
#> alternative hypothesis: true location shift is greater than 0
wilcox.test(rnorm(10), rnorm(10, 2), conf.int = TRUE)
#> 
#>  Wilcoxon rank sum exact test
#> 
#> data:  rnorm(10) and rnorm(10, 2)
#> W = 2, p-value = 4.33e-05
#> alternative hypothesis: true location shift is not equal to 0
#> 95 percent confidence interval:
#>  -4.072355 -1.718803
#> sample estimates:
#> difference in location 
#>             -2.906765 

多均值比較

多均值比較使 Kruskal-Wallis 秩和檢驗。

x <- c(2.9, 3.0, 2.5, 2.6, 3.2) # normal subjects
y <- c(3.8, 2.7, 4.0, 2.4)      # with obstructive airway disease
z <- c(2.8, 3.4, 3.7, 2.2, 2.0) # with asbestosis
kruskal.test(list(x, y, z))
#> 
#>  Kruskal-Wallis rank sum test
#> 
#> data:  list(x, y, z)
#> Kruskal-Wallis chi-squared = 0.77143, df = 2, p-value = 0.68

## 相同的結果
x <- c(x, y, z)
g <- factor(rep(1:3, c(5, 4, 5)),
+             labels = c("Normal subjects",
+                        "Subjects with obstructive airway disease",
+                        "Subjects with asbestosis"))
kruskal.test(x, g)
#> 
#>  Kruskal-Wallis rank sum test
#> 
#> data:  x and g
#> Kruskal-Wallis chi-squared = 0.77143, df = 2, p-value = 0.68

## 使用公式
require(graphics)
boxplot(Ozone ~ Month, data = airquality)
kruskal.test(Ozone ~ Month, data = airquality)
#> 
#>  Kruskal-Wallis rank sum test
#> 
#> data:  Ozone by Month
#> Kruskal-Wallis chi-squared = 29.267, df = 4, p-value = 6.901e-06

方差檢驗

使用Fligner-Killeen(中位數(shù))檢驗完成不同組別的方差比較

fligner.test(InsectSprays$count, InsectSprays$spray)
#> 
#>  Fligner-Killeen test of homogeneity of variances
#> 
#> data:  InsectSprays$count and InsectSprays$spray
#> Fligner-Killeen:med chi-squared = 14.483, df = 5, p-value = 0.01282
fligner.test(count ~ spray, data = InsectSprays)
#> 
#>  Fligner-Killeen test of homogeneity of variances
#> 
#> data:  count by spray
#> Fligner-Killeen:med chi-squared = 14.483, df = 5, p-value = 0.01282

scale參數(shù)差異

R 有一些檢驗可以用來確定scale參數(shù)的差異枣申。分布的scale參數(shù)確定分布函數(shù)的尺度售葡,如 t 分布的自由度。

Ansari-Bradley 檢驗(兩樣本)

## Serum iron determination using Hyland control sera
ramsay <- c(111, 107, 100, 99, 102, 106, 109, 108, 104, 99,
            101, 96, 97, 102, 107, 113, 116, 113, 110, 98)
jung.parekh <- c(107, 108, 106, 98, 105, 103, 110, 105, 104,
            100, 96, 108, 103, 104, 114, 114, 113, 108, 106, 99)
ansari.test(ramsay, jung.parekh)
#> 
#>  Ansari-Bradley test
#> 
#> data:  ramsay and jung.parekh
#> AB = 185.5, p-value = 0.1815
#> alternative hypothesis: true ratio of scales is not equal to 1
#> 
#> Warning message:
#> In ansari.test.default(ramsay, jung.parekh) : 無法精確計算帶連結的p值

Mood 檢驗(兩樣本)

mood.test(rnorm(10), rnorm(10, 0, 2), conf.int = TRUE)
#> 
#>  Mood two-sample test of scale
#> 
#> data:  rnorm(10) and rnorm(10, 0, 2)
#> Z = -1.5595, p-value = 0.1189
#> alternative hypothesis: two.sided

離散數(shù)據(jù)

比例檢驗

未給定概率

使用 prop.test() 比較兩組觀測值發(fā)生的概率是否有差異忠藤。

heads <- rbinom(1, size = 100, prob = .5)   # 二項分布:隨機生成一個概率為0.5挟伙,在100次試驗中能成功發(fā)生的的次數(shù) 
prop.test(heads, 100)          # continuity correction TRUE by default
#> 
#>  1-sample proportions test with continuity correction
#> 
#> data:  heads out of 100, null probability 0.5
#> X-squared = 0.25, df = 1, p-value = 0.6171
#> alternative hypothesis: true p is not equal to 0.5
#> 95 percent confidence interval:
#>  0.3703535 0.5719775
#> sample estimates:
#>    p 
#> 0.47 
prop.test(heads, 100, correct = FALSE)
#> 
#>  1-sample proportions test without continuity correction
#> 
#> data:  heads out of 100, null probability 0.5
#> X-squared = 0.36, df = 1, p-value = 0.5485
#> alternative hypothesis: true p is not equal to 0.5
#> 95 percent confidence interval:
#>  0.3751082 0.5671114
#> sample estimates:
#>    p 
#> 0.47 

## H0原假設:從患者中抽取的四個人,在人群中吸煙者的真實比例相同模孩。
## H1備擇假設:抽取的這個比例在至少一個群體中是不同的尖阔。
smokers  <- c( 83, 90, 129, 70 )
patients <- c( 86, 93, 136, 82 )
prop.test(smokers, patients)
#> 
#>  4-sample test for equality of proportions without continuity correction
#> 
#> data:  smokers out of patients
#> X-squared = 12.6, df = 3, p-value = 0.005585
#> alternative hypothesis: two.sided
#> sample estimates:
#>    prop 1    prop 2    prop 3    prop 4 
#> 0.9651163 0.9677419 0.9485294 0.8536585

給定概率值

prop.test(heads, 100, p = 0.3, correct = FALSE) 
#> 
#>  1-sample proportions test without continuity correction
#> 
#> data:  heads out of 100, null probability 0.3
#> X-squared = 13.762, df = 1, p-value = 0.0002075
#> alternative hypothesis: true p is not equal to 0.3
#> 95 percent confidence interval:
#>  0.3751082 0.5671114
#> sample estimates:
#>    p 
#> 0.47 

二項式檢驗

在伯努利實驗中對一個簡單的原假設成功的概率進行精確檢驗。

## 在孟德爾遺傳的假設下瓜贾,兩種特定基因型植物的雜交產(chǎn)生的后代中诺祸,1/4是“矮稈”,3/4是“高稈”祭芦。為了確定這個假設是否合理筷笨,一個雜交的結果是后代有243個矮稈植株和682個高稈植株。如果“高稈”被視為成功龟劲,原假設是p = 3/4胃夏,備擇假設是p != 3/4。
binom.test(c(682, 243), p = 3/4)
#> 
#>  Exact binomial test
#> 
#> data:  c(682, 243)
#> number of successes = 682, number of trials = 925, p-value = 0.4
#> alternative hypothesis: true probability of success is not equal to 0.75
#> 95 percent confidence interval:
#>  0.708 0.765
#> sample estimates:
#> probability of success 
#>                  0.737
binom.test(682, 682 + 243, p = 3/4)  # The same
#> 
#>  Exact binomial test
#> 
#> data:  682 and 682 + 243
#> number of successes = 682, number of trials = 925, p-value = 0.4
#> alternative hypothesis: true probability of success is not equal to 0.75
#> 95 percent confidence interval:
#>  0.708 0.765
#> sample estimates:
#> probability of success 
#>                  0.737

與其他的檢驗函數(shù)不同昌跌,這里的 p 值表示試驗成功率與假設值的最小差值仰禀。

列聯(lián)表檢驗

用來確定兩個分類變量是否相關。

小的列聯(lián)表

當列聯(lián)表較小時蚕愤,F(xiàn)isher 精確檢驗有較好的檢驗結果答恶。

## 一個關于喝茶的故事
## 有一位英國婦女饺蚊,她聲稱能分辨出是先往杯子里倒牛奶還是先往杯子里倒茶。為了測試悬嗓,她喝了8杯茶污呼,其中4杯先加了牛奶。為了確定倒酒的順序和女士的猜測結果是否有關聯(lián)包竹?可作出如下假設:
## 原假設是真實的倒酒順序和女士的猜測之間沒有關聯(lián)燕酷,備擇假設是有正關聯(lián)(比值比大于1)。
TeaTasting <-
     matrix(c(3, 1, 1, 3),
            nrow = 2,
            dimnames = list(Guess = c("Milk", "Tea"),
                            Truth = c("Milk", "Tea")))
fisher.test(TeaTasting, alternative = "greater")
#> 
#>  Fisher's Exact Test for Count Data
#> 
#> data:  TeaTasting
#> p-value = 0.2429
#> alternative hypothesis: true odds ratio is greater than 1
#> 95 percent confidence interval:
#>  0.3135693       Inf
#> sample estimates:
#> odds ratio 
#>   6.408309 

大的列聯(lián)表

當列聯(lián)表較大時周瞎,F(xiàn)isher 計算量很大苗缩,可以使用卡方檢驗替代。

chisq.test(TeaTasting)
#> Warning in chisq.test(TeaTasting): Chi-squared approximation may be incorrect
#> 
#>  Pearson's Chi-squared test with Yates' continuity correction
#> 
#> data:  TeaTasting
#> X-squared = 0.5, df = 1, p-value = 0.5

對于三變量的混合影響声诸,使用 Cochran-Mantel-Haenszel 檢驗酱讶。

在三變量沒有相互作用的情況下,進行Cochran-Mantel-Haenszel卡方檢驗彼乌,即每個層面中有兩個變量是條件獨立的浴麻。

## 青霉素和兔子:立即注射或1.5小時延遲注射青霉素對家兔抗-溶血性鏈球菌致死效果的研究。
Rabbits <-       # 生成5個2*2的三維數(shù)組
array(c(0, 0, 6, 5,
        3, 0, 3, 6,
        6, 2, 0, 4,
        5, 6, 1, 0,
        2, 5, 0, 0),
      dim = c(2, 2, 5),
      dimnames = list(
          Delay = c("None", "1.5h"),
          Response = c("Cured", "Died"),
          Penicillin.Level = c("1/8", "1/4", "1/2", "1", "4")))
## 經(jīng)典Mantel-Haenszel檢驗
mantelhaen.test(Rabbits)
#> 
#>  Mantel-Haenszel chi-squared test with continuity correction
#> 
#> data:  Rabbits
#> Mantel-Haenszel X-squared = 3.9286, df = 1, p-value = 0.04747
#> alternative hypothesis: true common odds ratio is not equal to 1
#> 95 percent confidence interval:
#>   1.026713 47.725133
#> sample estimates:
#> common odds ratio 
#>                 7
# P = 0.047囤攀,證據(jù)表明立即注射治愈率較高

## 精確條件檢驗
mantelhaen.test(Rabbits, exact = TRUE)
#> 
#>  Exact conditional test of independence in 2 x 2 x k tables
#> 
#> data:  Rabbits
#> S = 16, p-value = 0.03994
#> alternative hypothesis: true common odds ratio is not equal to 1
#> 95 percent confidence interval:
#>    1.077401 529.837399
#> sample estimates:
#> common odds ratio 
#>          10.36102 
# p = 0.040 選擇的精確條件檢驗,直接注射治愈率較高宫纬。

 

用 McNemar 卡方檢驗-檢驗二維列聯(lián)表的對稱性

## 總統(tǒng)支持率:在相隔一個月的兩項調(diào)查中焚挠,總統(tǒng)的執(zhí)政表現(xiàn)得到了認可,該調(diào)查對1600名處于投票年齡的美國人進行了隨機抽樣調(diào)查漓骚。
Performance <-
matrix(c(794, 86, 150, 570),
       nrow = 2,
       dimnames = list("1st Survey" = c("Approve", "Disapprove"),
                       "2nd Survey" = c("Approve", "Disapprove")))
mcnemar.test(Performance)
#> 
#>  McNemar's Chi-squared test with continuity correction
#> 
#> data:  Performance
#> McNemar's chi-squared = 16.818, df = 1, p-value = 4.115e-05
# p-value = 4.115e-05 說明支持率有明顯變化(實際上是下降)

列聯(lián)表非參數(shù)檢驗

Friedman 秩和檢驗是一個非參數(shù)版本的雙邊 ANOVA 檢驗蝌衔。(應用于未重復的塊數(shù)據(jù))

## 通過對三種方法(“四舍五入”、“窄角”和“廣角”)蝌蹂,來比較速度的差異噩斟,18名球員中,每一個人從距離本壘35英尺的一壘線上的一個點到距離二壘15英尺的一個點的兩次跑壘的平均時間被記錄下來孤个。
RoundingTimes <-
matrix(c(5.40, 5.50, 5.55,
         5.85, 5.70, 5.75,
         5.20, 5.60, 5.50,
         5.55, 5.50, 5.40,
         5.90, 5.85, 5.70,
         5.45, 5.55, 5.60,
         5.40, 5.40, 5.35,
         5.45, 5.50, 5.35,
         5.25, 5.15, 5.00,
         5.85, 5.80, 5.70,
         5.25, 5.20, 5.10,
         5.65, 5.55, 5.45,
         5.60, 5.35, 5.45,
         5.05, 5.00, 4.95,
         5.50, 5.50, 5.40,
         5.45, 5.55, 5.50,
         5.55, 5.55, 5.35,
         5.45, 5.50, 5.55,
         5.50, 5.45, 5.25,
         5.65, 5.60, 5.40,
         5.70, 5.65, 5.55,
         6.30, 6.30, 6.25),
       nrow = 22,
       byrow = TRUE,
       dimnames = list(1 : 22,
                       c("Round Out", "Narrow Angle", "Wide Angle")))
friedman.test(RoundingTimes)
#> 
#>  Friedman rank sum test
#> 
#> data:  RoundingTimes
#> Friedman chi-squared = 11.143, df = 2, p-value = 0.003805
# p-value = 0.003805 強有力的證據(jù)證明這些方法在速度方面是等價的
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
禁止轉載剃允,如需轉載請通過簡信或評論聯(lián)系作者。
  • 序言:七十年代末齐鲤,一起剝皮案震驚了整個濱河市斥废,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌给郊,老刑警劉巖牡肉,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異淆九,居然都是意外死亡统锤,警方通過查閱死者的電腦和手機毛俏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來饲窿,“玉大人煌寇,你說我怎么就攤上這事∶饴蹋” “怎么了唧席?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長嘲驾。 經(jīng)常有香客問我淌哟,道長,這世上最難降的妖魔是什么辽故? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任徒仓,我火速辦了婚禮,結果婚禮上誊垢,老公的妹妹穿的比我還像新娘掉弛。我一直安慰自己,他們只是感情好喂走,可當我...
    茶點故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布殃饿。 她就那樣靜靜地躺著,像睡著了一般芋肠。 火紅的嫁衣襯著肌膚如雪乎芳。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天帖池,我揣著相機與錄音奈惑,去河邊找鬼。 笑死睡汹,一個胖子當著我的面吹牛肴甸,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播囚巴,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼原在,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了文兢?” 一聲冷哼從身側響起晤斩,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎姆坚,沒想到半個月后澳泵,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡兼呵,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年兔辅,在試婚紗的時候發(fā)現(xiàn)自己被綠了腊敲。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡维苔,死狀恐怖碰辅,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情介时,我是刑警寧澤没宾,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站沸柔,受9級特大地震影響循衰,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜褐澎,卻給世界環(huán)境...
    茶點故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一会钝、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧工三,春花似錦迁酸、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至掸读,卻和暖如春全蝶,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背寺枉。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留绷落,地道東北人姥闪。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像砌烁,于是被迫代替她去往敵國和親筐喳。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內(nèi)容