matlab 的均值t检验,用MATLAB做T检验(ttest)
t-檢驗:
t-檢驗,又稱student‘s
t-test,可以用于比較兩組數據是否來自同一分布(可以用于比較兩組數據的區分度),假設了數據的正態性,并反應兩組數據的方差在統計上是否有顯著差異。
matlab中提供了兩種相同形式的方法來解決這一假設檢驗問題,分別為ttest方法和ttest2方法,兩者的參數、返回值類型均相同,不同之處在于ttest方法做的是?One-sample
and paired-sample t-test,而ttest2則是?Two-sample
t-test with pooled or unpooled variance
estimate,?performs an unpaired two-sample
t-test。但是這里至于paired和unpaired之間的區別我卻還沒搞清楚,只是在Student's
t-test中看到了如下這樣一段解釋:
“Two-sample?t-tests for a difference
in mean involve independent samples, paired samples and overlapping
samples. Pairedt-tests are a form
of?blocking,
and have greater?power?than
unpaired tests when the paired units are similar with respect to
"noise factors" that are independent of membership in the two
groups being compared.In
a different context, paired?t-tests can
be used to reduce the effects ofconfounding
factors
因此粗略認為paired是考慮了噪聲因素的。
在同樣的兩組數據上分別用ttest和ttest2方法得出的結果進行比較,發現ttest返回的參數p普遍更小,且置信區間ci也更小。
最常用用法:
[H,P,CI]=ttest2(x,y);(用法上ttest和ttest2相同,完整形式為[H,P,CI,
STATS]=ttest2(x,y, ALPHA);)
其中,x,y均為行向量(維度必須相同),各表示一組數據,ALPHA為可選參數,表示設置一個值作為t檢驗執行的顯著性水平(performs
the test at the significance level
(100*ALPHA)%),在不設置ALPHA的情況下默認ALPHA為0.05,即計算x和y在5%的顯著性水平下是否來自同一分布(假設是否被接受)
結果:H=0,則表明零假設在5%的置信度下不被拒絕(根據當設置x=y時候,返回的H=0推斷而來),即x,y在統計上可看做來自同一分布的數據;H=1,表明零假設被拒絕,即x,y在統計上認為是來自不同分布的數據,即有區分度。
P為一個概率,matlab help中的解釋是“ the p-value, i.e., the probability of
observing the given result, or one more extreme, by chance if the
null?hypothesis is true.?Small
values of P cast doubt on the validity of?the
null hypothesis.” 暫且認為表示判斷值在真實分布中被觀察到的概率(?不太懂)
CI為置信區間(confidence interval),表示“a 100*(1-ALPHA)% confidence
interval for the true difference of population
means”,即達到100*(1-ALPHA)%的置信度的數據區間(?)
應用:常與k-fold
crossValidation(交叉驗證)聯用可以用于兩種算法效果的比較,例如A1,A2兩算法得出的結果分別為x,y,且從均值上看mean(x)>mean(y),則對[h,p,ci]=ttest2(x,y);當h=1時,表明可以從統計上斷定算法A1的結果大于(?)A2的結果(即兩組數據均值的比較是有意義的),h=0則表示不能根據平均值來斷定兩組數據的大小關系(因為區分度小)
臨時學的,沒經過太多測試,不一定對,還請高手指教。
參考資料:
經驗+自身理解
matlab 7.11.0(R2010b)的幫助文檔
wikipedia
http://www.biosino.org/pages/newhtm/r/schtml/One_002d-and-two_002dsample-tests.html
本文中提到的pair應該如此理解:兩個樣本是有順序的(比如兩個病人24個整點的體溫),兩個同一序號(比如說6點)的體溫為一個配對.而不配對的則不考慮這些,把24個體溫放在一起看分布情況
總結
以上是生活随笔為你收集整理的matlab 的均值t检验,用MATLAB做T检验(ttest)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: css样式引入形式php,引入css样式
- 下一篇: matlab 对三维图像旋转,求助,二维