天天看點

《數學模組化:基于R》一一1.3 非參數檢驗

本節書摘來自華章計算機《數學模組化:基于r》一書中的第1章,第1.3節,作者:薛 毅 更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

1.3.1 二項分布的檢驗

對于單個總體,如果作n次試驗,且成功的機率為p,則試驗成功的次數x服從二項分布,即x~b(n,p).如果n次試驗中有x次成功了,可用p=xn作為p的估計.

1.二項分布的近似檢驗

當np≥5且nq≥5(q=1-p)時,可用正态分布近似二項分布,即p~n(p,p q/n)(1.44)近似成立.是以p-pp q/n~n(0,1)(1.45)近似成立.是以,可以用标準正态分布作比值p的檢驗

《數學模組化:基于R》一一1.3 非參數檢驗

對于兩個總體,如果試驗次數分别為n1和n2,成功的次數分别為x1和x2,可用pi=xini作為pi(i=1,2)的估計.當nipi≥5且niqi≥5(qi=1-pi,i=1,2)時,可用正态分布近似二項分布,即p1~n(p1,p1q1/n1), p2~n(p2,p2q2/n2)(1.49)近似成立.是以當p1=p2=p(q=1-p)時,p1-p2pq1n1+1n2~n(0,1)(1.50)近似成立.是以,也可以用标準正态分布作比值差p1-p2的檢驗

《數學模組化:基于R》一一1.3 非參數檢驗

在r中,用prop.test()函數來完成二項分布的近似檢驗,其使用格式為 prop.test(x, n, p = null,

   alternative = c("two.sided", "less", "greater"),

   conf.level = 0.95, correct = true)參數x為整數向量,表示試驗成功的次數,或者為一個2列的矩陣,第1清單示成功的次數,第2清單示失敗的次數.

n為整數向量,表示試驗的次數,當x為矩陣時,該值無效.

p為向量,表示試驗成功的機率,必須與x有相同的維數,且值在0至1之間,預設值為null.

alternative為備擇假設選項,取"two.sided"(預設值)表示雙側檢驗;取"less"表示備擇假設為“<”的單側檢驗,取"greater"表示備擇假設為“>”的單側檢驗.

conf.level為0~1之間的數值(預設值為0.95),表示置信水準,它将用于計算比率p或比率差p1-p2的置信區間.

correct為邏輯變量,表示是否對統計量作連續修正,預設值為true.

當z~n(0,1)時,有z2~χ2(1).是以,prop.test()函數沒有使用正态分布作檢驗,而是采用χ2分布作檢驗,這樣做的優點是,很容易将兩個總體的假設檢驗方法推廣到m(≥3)個總體的檢驗中.

例1.12 某醫院研究乳腺癌家族史對于乳腺癌發病率的影響.假設調查了10000名50~54歲的婦女,她們的母親曾患有乳腺癌.發現她們在某個生存期的某個時刻有400例乳腺癌,而全國在該年齡段的婦女乳腺癌的患病率為2%,這組資料能否說明乳腺癌的患病率與家族遺傳有關?

解 p0=0.02,即檢驗h0:p=0.02, h1:p≠0.02由于是大樣本,是以可以用近似檢驗,即可以用prop.test()函數.> prop.test(400, 10000, p = 0.02)

0.04在輸出中,有χ2統計量(x-squared)、自由度(df)、p值(p-value)和比率p的置信區間,以及比率p的估計值.

由于p值(=2.2×10-16)0.05,拒絕原假設,即乳腺癌的患病率不等于2%.置信區間[0.0363,0.0441]>0.02,說明p>0.02,即乳腺癌的患病率與家族遺傳有關,而且是正相關的.

也可以作單側檢驗h0:p≤0.02,h1:p>0.02,其結論是拒絕原假設(請嘗試),即有乳腺癌家族史的人群會增加乳腺癌的患病率.

例1.13 為節約能源,某地區政府鼓勵人們拼車出行,采取的措施是在指定的某些高速路段,載有兩人以上的車輛減收道路通行費.為評價該項措施的效果,随機選取了未減收路費路段的車輛2000輛和減收路費路段的車輛1500輛,發現分别有652輛和576輛是兩人以上的.這些資料能否說明這項措施實施後會提高合乘汽車的比率?

 0.326 0.384p值(=0.0004278)0.05,拒絕原假設,即這兩組資料的比例不相同.置信區間[-0.0906,-0.0254]<0說明p1也可以作單側檢驗h0:p1≥p2,h1:p1例1.14 視訊工程師使用時間壓縮技術來縮短播放廣告節目所需要的時間,但對較短的廣告是否有效?為回答這個問題,将200名大學生随機地分成三組:第1組(57名學生)觀看一個包含30s廣告的電視節目錄像帶;第2組(74名學生)觀看同樣的錄像帶,但是是24s時間壓縮版的廣告;第3組(69名學生)觀看20s時間壓縮版的廣告.觀看錄像帶兩天之後,詢問這三組學生廣告中品牌的名稱.表1.4給出每組學生回答情況的人數.試分析三種類型廣告的播放效果是否有顯著差異?

《數學模組化:基于R》一一1.3 非參數檢驗

解 如果三種類型的廣告無顯著差異,那麼能回憶起品牌名稱的比例應該是相同的,是以檢驗h0:p1=p2=p3, h1:p1,p2,p3不全相同程式(程式名:exam01<code>`</code>javascript

14.r)為x &lt;- matrix(c(15, 32, 10, 42, 42, 59), nrow=2, byrow=t)

colnames(x) &lt;- c("30s", "24s", "20s")

rownames(x) &lt;- c("yes", "no")

x.yes &lt;- x["yes", ]; x.total &lt;- margin.table(x, 2)

0.2631579 0.4324324 0.1449275p值(= 0.0006521)0.05,拒絕原假設,說明三種類型的廣告播放效果是有差異的.但從得到的比率來看,采用壓縮版本1(24s)的效果最好.

2.二項分布的精确檢驗

對于小樣本資料不能用正态分布作近似檢驗,而需要直接用二項分布作精确檢驗.

在r中,用binom.test()函數完成二項分布的精确檢驗,其使用格式為binom.test(x, n, p = 0.5,

  alternative = c("two.sided", "less", "greater"),

  conf.level = 0.95)參數x為正整數,表示試驗成功的次數,或者為二維向量,第1個分量表示成功的次數,第2個分量表示失敗的次數.

n為正整數,表示試驗次數,當x為向量時,該值無效.

p為假設中試驗成功的機率,即p0,預設值為0.5.

alternative為備擇假設選項,取"two.sided"(預設值)表示雙側檢驗,取"less"表示備擇假設為“&lt;”的單側檢驗,取"greater"表示備擇假設為“&gt;”的單側檢驗.

conf.level為0~1之間的數值(預設值為0.95),表示置信水準,它将用于計算比率p的置信區間.

例1.15 設某工廠生産的一批産品的次品率p是未知的.按規定,若p≤0.01,則這批産品為可接受的;否則為不可接受的.假定從這批資料很大的産品中随機地抽取100件樣品,發現其中有3件次品,那麼是否接受這批産品?

解 考慮最壞情況,p0=0.01,是以檢驗h0:p=0.01, h1:p≠0.01此時的資料不滿足np≥5的條件,是以使用精确檢驗.&gt; binom.test(3, 100, p=0.01)

          0.03在輸出中,有p值(p-value)、比率p的置信區間,以及p的估計值.

p值(=0.07937)&gt;0.05,無法拒絕原假設,不能認為這批産品不合格.置信區間包含0.01,也說明同樣的結論.

1.3.2 符号檢驗

所謂符号檢驗就是利用樣本的正負号的個數來做的檢驗.事實上,符号檢驗本質上就是二項分布檢驗,因為樣本取正或負就相當于試驗成功或失敗,而且成功或失敗的機率為1/2.

從前面的介紹可知,大家可根據樣本數目,使用正态近似計算(prop.test函數),或者使用二項分布精确計算(binom.test函數).

例1.16 某飲料店為了解顧客對飲料的愛好情況,進一步改進工作,對顧客喜歡咖啡還是喜歡奶茶,或者兩者同樣愛好進行了調查.該店在某日随機地抽取了13名顧客進行了調查,顧客喜歡咖啡超過奶茶用正号表示,喜歡奶茶超過咖啡用負号表示,兩者同樣愛好用0表示.現将調查的結果列在表1.5中.試分析顧客是喜歡咖啡還是喜歡奶茶.

《數學模組化:基于R》一一1.3 非參數檢驗

解 根據題意可檢驗如下假設:h0:顧客喜歡咖啡等于喜歡奶茶; h1:顧客喜歡咖啡超過喜歡奶茶以上資料中有1人(即6号顧客)表示對咖啡和奶茶有同樣愛好,用0表示,因而在樣本容量中不加計算,是以實際上n=12.由于n的值較小,是以選擇精确二項分布檢驗,顯著性水準取α=0.10.&gt; binom.test(3, 12, al<code>`</code>javascript

="l", conf.level = 0.90)

    exact binomial test

data: 3 and 12

number of successes =3, number of trials =12, p-value =0.073

alternative hypothesis:true probability of success is less than 0.5

90 percent confidence interval:

0.0000000 0.4752663

sample estimates:

probability of success

0.3484848p值(=0.01935)&lt;0.05,拒絕原假設.并由置信區間[0.238,0.477]&lt;0.5,說明生活花費指數超過北京的城市數小于12,也就是說,北京是在中位數之上.

1.3.3 符号秩檢驗與秩和檢驗

由于符号檢驗隻考慮樣本的正負号,不考慮數值的大小,是以會損失一定的資訊.秩檢驗在某種程度上可以克服符号檢驗的不足,所謂秩就是樣本的排序.

設x1,x2,…,xn為一組樣本(不必取自同一總體),将x1,x2,…,xn從小到大排成一列,xi(i=1,2,…,n)在上述排列中的位置号記為ri,稱r1,r2,…,rn為樣本x1,x2,…,xn産生的秩統計量.

1.單個總體的wilcoxon符号秩檢驗

wilcoxon符号秩檢驗是作單個總體x的中位數檢驗,即h0:m=m0, h1:m≠m0 (雙側檢驗)(1.54)

h0:m≥m0, h1:mh0:m≤m0, h1:m&gt;m0 (單側檢驗)(1.56)設x1,x2,…,xn是來自總體x的樣本,這裡假定x的分布是連續的,且關于中位數m0是對稱的.這樣,将xi-m0得到的差額按遞增次序排列,并根據差額的次序給出相應的秩次ri.定義xi-m0&gt;0為正秩次,xi-m0&lt;0為負秩次.然後按照正秩次之和進行檢驗,這就是秩次和檢驗.這種方法首先由wilcoxon提出的,是以稱為wilcoxon符号秩檢驗.

如果原觀察值的數目為n′,減去xi=m0的樣本後,其樣本數為n.用r(+)i表示正秩次,w表示正秩次的和,則wilcoxon統計量為w=∑ni=1r(+)i(1.57)因為n個整數1,2,…,n的總和用n(n+1)/2計算,而正秩次總和可以在區間(0,n(n+1)/2)内變動,如果觀察值來自中位數為m0的某個總體的假設為真,那麼wilcoxon檢驗統計量的取值将是秩次和的平均數,即μw=n(n+1)/4的左右變動.如果該假設不成立,則w的取值将向秩次和的兩頭數值靠近.這樣,在一定的顯著性水準下,便可進行秩次和檢驗.

2.兩個總體的wilcoxon秩和檢驗

wilcoxon秩和檢驗是作兩個總體x和y中位數差的檢驗h0:m1-m2=0, h1:m1-m2≠0 (雙側檢驗)(1.58)

h0:m1-m2≥0, h1:m1-m2&lt;0 (單側檢驗)(1.59)

h0:m1-m2≤0, h1:m1-m2&gt;0 (單側檢驗)(1.60)假定x1,x2,…,xn1是來自總體x的樣本,y1,y2,…,yn2是來自總體y的樣本.将樣本的觀察值排在一起,x1,x2,…,xn1,y1,y2,…,yn2,仍設r1,r2,…,rn1為由x1,x2,…,xn1産生的秩統計量,r1,r2,…,rn2為由y1,y2,…,yn2産生的秩統計量,則wilcoxon-mann-whitney統計量定義為u=n1n2+n2(n2+1)2-∑n2i=1ri(1.61)與單一總體的wilcoxon符号檢驗一樣,可以通過統計量u進行檢驗,該檢驗稱為wilcoxon秩和檢驗.

wilcox.test函數

在r中,wilcox.test()函數完成wilcoxon符号秩檢驗與秩和檢驗,其使用格式為<code>`</code>javascript

wilcox.test(x, y = null,

  mu = 0, paired = false, exact = null, correct = true,

繼續閱讀