【T檢驗】看了太多公式概念?你該學會怎麼用T檢驗了!

相信看到這篇文章的同學,一定搜了很多次下面的關鍵詞

“T檢驗”、“Matlab”、“P值”、“T值”

網上公式一大堆,含義也都有解釋,看完之後覺得T檢驗就是爲我而生的。但是具體怎麼用到自己的數據庫中?代碼到底怎麼寫?樣本輸入格式是啥?P值、T值怎麼計算?好像並不是很懂,下面舉個栗子,幫助大家實操T檢驗。
T檢驗樣本
首先T檢驗是用來判斷兩個樣本的差異性有多顯著的。如上圖所示,比如我們想告訴小貓怎麼區分男生和女生,這裏我們就需要用一個確切的特徵(指標)來區分男生和女生。

比如說身高高於170的是男生,低於170的是女生。確定之後,小貓只需要問你多高就能判斷你是男生還是女生。當然在人人一米八的現在,只用身高難免有點誤判,所以我們還可以選取【年齡】【體重】【高數成績】等參數作爲特徵來綜合判斷到底是男生還是女生。

當然,這些特徵並不是每個都能很好的區分男生和女生。那麼,怎麼判斷某個特徵是否有區分能力,以及區分能力的強弱呢?這裏就要有請T檢驗登場了!
在這裏插入圖片描述
如上圖所示,只需要將同一特徵下的兩類樣本數據輸入到【T檢驗函數】中就可以獲得結果(P值和T值)。這裏用到的函數如下:

[h,p,ci,stats]=ttest2(x, y);

將特徵年齡對應的兩類樣本數據輸入到函數中看下結果。
在這裏插入圖片描述
函數輸入如下:
在這裏插入圖片描述
這裏輸出兩個參數是我們關心的,即P值和T值。

P_Value = p;                  % P值                                                      
T_Value = stats.tstat; 		  % T值

同理,我們可以對其他三個特徵都進行T檢驗,結果如下:
T檢驗結果
BCDE分別對應【年齡】【身高】【體重】【高數成績】,可以看到【年齡】對應的P值最大是0.69,T值最小是0.40。這代表什麼意思呢?

P值反映了兩類樣本差異性的置信度,也就是說我們都多大的把握相信這個特徵下兩類樣本是具有差異性的。

通常P值有三個閾值0.05,0.01和0.001,如果 P值<0.05 ,我們則有95%的把握相信該特徵下的兩類樣本是具有差異性的,若 0.01<P值<0.05 ,我們則有99%的把握,同理可推0.001。

這時,反觀我們T檢驗的結果。如上圖,C的P值小於0.001,我們有99.9%的把握相信【身高】是可以區分男女生的;DE的P值小於0.01,我們有99%的把握相信,【體重】【高數成績】是可以區分男女生的;而B的P值爲0.69,可以看到在目前的樣本數據中並不能通過【年齡】來區分男女生。
T檢驗示意
最後,再分析下P值和T值的關係,從上圖可以看到,P值是t分佈曲線和直線 X=t 在右側圍成的面積。可以看到T值越大則P值越小,樣本差異性越明顯。
在這裏插入圖片描述
從我們的T檢驗的結果可以看到【體重】和【高數成績】的P值相差無幾,T值卻接近於相反數。這是由於不管T值是正數還是負數,曲線和直線圍成的面積都是一樣的,如上圖。

而且,在Matlab官方函數 ttest2 中,將兩個輸入樣本順序改變後,T值的正負也會隨之改變,如下圖。所以,如果要使用T值對兩個特徵進行比較的話,則需要比較 絕對值 大小。
在這裏插入圖片描述
爲了方便大家使用T檢驗,我對T檢驗函數進行封裝,只需要按照文中EXCEL格式編輯自己的數據庫文件,不需要調任何參數,即可實現Matlab全自動導出P值和T值。效果如下圖所示:
在這裏插入圖片描述
同時歡迎大家來技術交流,個人QQ:1356580910,圖像處理探索羣(不只是圖像處理):913931535 備註:CSDN

最後的最後,T檢驗用來篩選特徵,那麼篩選好的特徵還是需要小貓去進行判斷,能否用優選特徵訓練一個模型,之後模型自動輸出分類結果?

【機器學習實操】待更~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章