2016-08-24 60 views
2

做CDF後,我收到的P以下值(其中樣本)使用Fisher法matlab結合P值?

[0.43 0.12 0.0021 0.05 0.017 0.001 0.025 0.038 0.35 0.29] 

我想我P值與Fisher方法的幫助相結合,並得到以下列方式輸出:

選擇第一個3 P值並將它們組合並從中得到結果(使用Fisher方法)。例如,我的第一個組合P的值將爲:0.43 ,0.12 0.0021,我的下一個P組合值將爲0.12, 0.0021 ,0.05等。

任何人都可以告訴我如何應用Fisher方法使用MATLAB來解決這個問題嗎?
我無法使用MATLAB找到任何解決方案。

Fisher的方法組合從每個測試極值概率,俗稱「p值」,到使用公式一個檢驗統計量(X2):

documents講述Fisher法和我標記在圓圈上式可用於通過使用費雪法結合p值請看看:)

其中pi是第i個假設檢驗的p值。當p值趨向於很小時,檢驗統計量X2將會很大,這表明對於每個檢驗,零假設都不是真的。

回答

1

我不認爲這是建立在MATLAB費舍爾的組合概率測試,但它不應該是很難實現:

P = [0.43 0.12 0.0021 0.05 0.017 0.001 0.025 0.038 0.35 0.29]; 
k = length(P); 

首先我們要造一個配偶幫助矩陣總結中的元素數p作爲我們想:

% the following matrix is used to sun each n elements in a row: 
n = 3; 
summer = diag(ones(k,1)); 
for d = 1:n-1 
    summer = summer + diag(ones(k-d,1),-d); 
end 

如果我們運行P*summer,我們得到:

ans = 
    Columns 1 through 6 
     0.5521  0.1721  0.0691  0.068  0.043  0.064 
    Columns 7 through 10 
     0.413  0.678   0.64   0.29 

接下來,我們首先採取一切P的LN計算統計,比它們求和3的(和-2乘):

% compute the combine fisher statistic: 
X = -2.*log(P(:).')*summer; 

結果:

X = 
    Columns 1 through 6 
     18.26  22.564  26.472  27.956  29.342  27.734 
    Columns 7 through 10 
     16.018  11.116  4.5754  2.4757 

最後我們計算P-

% get the p-values for all combinations: 
p_vals = chi2cdf(X(1:end-n+1),6,'upper'); 

而我們得到:

2*3 = 6 DF從卡方分佈值
p_vals = 
    Columns 1 through 6 
    0.005614 0.00095661 0.00018177 9.577e-05 5.2399e-05 0.00010546 
    Columns 7 through 8 
    0.013659  0.084865 
+0

是的,有一種費希爾方法,我想用那個。我已經提供了關於漁民方法和鏈接的更多信息,請看看並給出答案,如果可能的話相應:) –

+0

我閱讀你的鏈接,並執行寫在那裏。我沒有說沒有「費希爾方法」,但我不知道這是一個內置函數。如果你知道有,請發佈一個鏈接的文檔。請回答問題,詢問不清楚的地方,看看它是否符合你的需求。我的筆記最後只是爲了額外的檢查。 – EBH

+0

這就是我所說的,這就是爲什麼我在答案中給你寫了這個測試代碼的原因。 – EBH