ページ

2015-02-23

permutation testにおける多重比較補正

備忘録

リサンプリングによって得られた各指標のp値を算出。
最小のp値を抽出。
リサンプルを繰り返す。
最小p値の分布において実際に観測されたp値がどのぐらいの確率で出現するかを計算。

以下は対応のない2群比較にのみ対応。
これであってんのか自信なし。
いずれにしろ変数の数が増えるとやっぱ厳しい。

function Pcorrected=rbmt_ttst2(data,g1,g2,k)
% resampling-based multiple test
% input
%   data: sub x var.
%   g1: subjects of gourp 1, eg. 1:10
%   g2: subjects of gourp 1, eg. 11:20
%   k: number of permutation

s=size(data);

p1=zeros([s(2) 1]);

for ii=1:s(2)
    [~, P]=ttest(data(g1,ii),data(g2,ii));
    p1(ii)=P;  
end;

Pcorrected=zeros([s(2) 1]);
for jj=1:k,
    idx=randperm(s(1));
    minP=1;
    for ii=1:s(2),
        [~, P]=ttest(data(idx(g1),ii),data(idx(g2),ii));
        if P<minP, minP=P; end;
    end;
    Pcorrected=Pcorrected+(p1>minP);
end;

Pcorrected=Pcorrected/k;



なんかコピペミスしてたので,修正

0 件のコメント:

コメントを投稿