2016年8月8日

常用統計檢驗法簡介


大學時有修過生物統計,我自認是非常認真的學生,前前後後總共讀完幾本原文書,幾本中文磚塊書,我寫這篇文章的理由是,雖然在唸完書的當下覺得好像清楚多,但在研究生面對自己的研究數據時,腦袋還是一片空白,根本不知道要進行何種統計分析與檢驗。而且中文統計名詞複雜且多樣,根本不知道是對應哪個英文,有些檢驗其實還有許多細節,上課根本沒有提到(比如說T.test 分成三種)。
本文會簡介常用的幾種檢驗法與相關 Excel, R 的語法,並舉例該檢驗是在檢驗何種數據。


學生T檢驗 Student T.test(又稱 T 檢定、T檢驗、t.test,以下簡稱T檢驗)

T檢驗主要用於檢定樣本的平均值,這是一項重點。
如果要看一個樣本的平均是否等於某值,要用 T 檢驗。
如果要看兩個樣本的平均是否相等,要用 T 檢驗。
T 檢驗分成三種類別
1.單樣本T檢驗(One smaple T test)
2.獨立雙樣本T檢驗(Welch Two smaple T test)
3.配對雙樣本T檢驗(Paited T test)


要看 30 個男生的身高是否等於 180,用單樣本T檢驗。(其實很少人這樣問)
[R語法:t.test(樣本,mu=平均)]

要看 A 班與 B 班男生身高是否相等,用獨立雙樣本T檢驗。
[R語法:t.test(A樣本,B樣本)]
[Eecel語法:TTEST(A樣本,B樣本,2,2)]

要看 30 個男生吃藥前與吃藥後身高是否相等,用配對雙樣本T檢驗
[R語法:t.test(A樣本,B樣本,paired=TURE)]
[Eecel語法:TTEST(A樣本,B樣本,2,1)]

每一種 T 檢驗都還可以再分成雙尾與單尾檢驗。
[R語法:t.test(樣本,mu=平均,alternative= "two.sided")]
two.sided代表等於,就是雙尾的意思,也可以改成單尾的大於"greater"或是單尾的小於"less"。重點只有"檢驗平均等於某值時"是雙尾,"檢驗平均小於某值時"是單尾,"檢驗平均大於某值時"是單尾。請看到這裡後不要再講單尾或是雙尾了,一點意義也沒有,講大於等於小於就好了。但Eecel沒有大於小於的選項,只有單尾雙尾,因此要自己判斷是大於還是小於(從樣本平均看即可)。[Eecel語法:TTEST(A樣本,B樣本,2,2)],2代表雙尾,改成1就變成單尾。

要看 30 個男生的身高是否大於 180,用單樣本T檢驗
[R語法:t.test(樣本,mu=180),alternative="greater"]

要看 A 班與 B 班男生身高差異是否小於 30,用獨立雙樣本T檢驗
[R語法:t.test(A,B,mu=30,alternative="less")]

要看 30 個男生吃藥前與吃藥後身高是否相等,用配對雙樣本T檢驗
[R語法:t.test(A,B,mu=30,paired=T)]
[Eecel語法:TTEST(A樣本,B樣本,2,1)]

其中獨立雙樣本T檢驗(Welch Two smaple T test)還細分成變異數相等或變異數不相等兩種,這要看你母體與取樣的方法,如果不確定,嚴格一點是認為不相等的。
變異數相等
[R語法:t.test(A,B,mu=0,var.equal=T)]
[Excel語法:TTEST(A,B,2,2)]

變異數不相等
[R語法:t.test(A,B,mu=0,var.equal=F)]
[Excel語法:TTEST(A,B,2,3)]

參考網址
R 演習室 — 單樣本、配對樣本及獨立樣本 t 檢定

卡方檢定 chi-square test(以下簡稱卡方檢定)

卡方檢驗用於確認樣本是否符合某種分配(骰子丟一百次,每面的機率是否為1/6),或是兩個屬性之間是否有所關聯(男生是否比較容易選擇藍色商品)。可以參考這篇文章[教學] [統計] 卡方檢定 小筆記 (未完)

這其實是一樣的概念,假設兩個屬性之間無關,其分佈上應該會呈現隨機;如果兩個屬性有關,例如男生喜歡藍色商品,在同樣的其況下,男生買藍色商品的次數會比男生買紅色商品的次數多,也就是不符合隨機的分配(理論上無關的話次數會一樣多)。

卡方檢定分成三種

1.適合度檢定(Goodness of fit test)

2.獨立性檢定(Test of independence)

3.同質性檢定 (Test of Homogeneity)
其實獨立性與同質性檢定是同一個東西,只是問法不一樣而已

卡方適合度檢定用來檢驗樣本是否服從某種分佈,這種分佈你的心裡要有底,比方隨機(丟骰子各面是1/6),孟德爾的紅花白花是3:1等等,如果你不知道要選擇哪種分佈,那就不能用卡方適合度檢定。

紅花969株,白花360株,檢驗是否符合孟德爾3:1的分佈,用卡方適合度檢定
chisq.test(c(969,360),p=c(0.75,0.25))#次數表放第一個變數,p後面接機率,機率合要等於1
[R語法:chisq.test(次數表,p=機率)]
[Excel語法:CHISQ.TEST(觀察值,期望值)]#這裡的期望值不是機率,要總數乘上機率才是期望值

檢驗丟骰子1000次,檢驗每面是否為1/6的分佈,用卡方適合度檢定
x=ceiling(runif(1000)*6)#丟1000次骰子, ceiling是無條件進位,讓數值落在1~6的整數
table(x)#這是卡方檢定的重點,必須輸入統計次數,知道骰出1的有幾次,2的有幾次
chisq.test(table(x),p=c(1/6,1/6,1/6,1/6,1/6,1/6))#次數表放第一個,p後面接分佈的機率,本次是6個1/6。
[R語法:chisq.test(次數表,p=機率)]
[Excel語法:CHISQ.TEST(觀察值,期望值)]


R 卡方檢定的例子來簡介,性別是否會影響投票傾向,兩者是獨立還有有關,用卡方獨立性檢驗,如下表
           Bush   Perot   Clinton
male     315     152       337
female  346     126       571
male = c(Bush=315,Perot=152,Clinton=337)#個別輸入男生女生的投票傾向
female = c(Bush=346,Perot=126,Clinton=571)

x=rbind(male,female)#合併成table
chisq.test(x)#結果顯示X-squared = 33.83, df = 2, p-value = 4.508e-08
也就是說性別與投票傾向拒絕虛無假說(H0:兩者獨立無關),接受對立假說(Ha:兩者有相關)

如果是問候選人間的票數分配比例是否相同,用卡方同質性檢定,其計算方法與結果和獨立性檢定是一樣的。

費雪精確性檢定 Fisher's exact test

類似卡方檢定的小樣本方式,通常用於樣本小於20的狀況,案例是猜八杯茶是先加奶還是先加茶。
fisher.test(table(real,guess))

參考網站



變異數分析 ANOVA

兩組資料連續看是否有差異,用t.test,兩組以上則用ANOVA,其虛無假說H0:u1=u2=u3=...un。若p值小於0.05,則認為並非所有的資料來自同一個母體。

若要知道到底是哪組資料不同,可使用 pairwise.t.test(Y, B, p.adjust.method="none"),其中Y為資料列,B為組別列,並且不調整p值。

雙因子變異數分析
aov(cardspent~factor(region)*factor(gender)
使用*符號而不是+

參考資料
R 統計軟體(8) – 變異數分析 (ANOVA) (作者:陳鍾誠)

羅吉斯迴歸 Logistic Regression

一般的線性迴歸、多元迴歸等方式,其應變數都是連續數值,例如身高或體重。但有些情況下的應變數為類別,例如生還與否(1或0),就可以採用羅吉斯迴歸。
(附註:若自變項為類別資料,可採用上述的卡方檢定)

羅吉斯迴歸有幾項要點,
1.他需要應變數為類別變項
2.他會給出一個式子,帶入自變數後(可為連續變項或類別變項),會得出一個值
3.這個值稱為勝算比

勝算比的解釋請參閱

解讀 logistic regression

以鐵達尼號乘客名單的資料作為範例分析
model1<-glm data="titanic_passenger," family="binomial(link=" formula="survival~fare," logit="" na.action="na.exclude)</p">summary(model1)
其中fare 對 survival 的對數機率為 0.013108
勝算比為exp(0.013108)=1.013085
多一英鎊,多1%生還率。

參考資料
Logistic迴歸模型
R语言逻辑回归分析
How to perform a Logistic Regression in R


迴歸和相關的差異

迴歸和相關的差異,或是決定係數(R^2)與相關係數的差異,請詳見
有關係?沒關係?談迴歸與相關


沒有留言:

張貼留言