function[p] = TTestForCorrelationCoefficient(r, n, type) %Student's t-test of correlation coefficient %相関係数のt検定 %『入力』 %r 相関係数 %n 相関係数を調べた時のサンプル数 %type 1で片側検定, 2で両側検定(デフォルト) %『出力』 %p 相関がないといえる確率 %有意水準α=0.05としたとき、α>pであれば、危険率5%で優位な相関がある。 if nargin < 3 type = 2; end % 相関係数を正とする r = abs(r); % 0 から 1 とする r = min(r, 1); % 統計量 t = r * sqrt(n - 2) ./ sqrt(1 - r.*r); % 自由度 DF = n - 2; % スチューデントの t 分布 p = 1.0 - tcdf(t, DF); % 両側検定は2倍の面積 if type==2 p = p * 2; end % NaN(相関係数が1の時に起こる)だったら、必ず相関があるので 0 に。 p(isnan(p)) = 0;
相関係数のt検定を参考
tcdfのために、Statistics Toolbox($1,000)が必要です。
ない場合は、C言語による最新アルゴリズム辞典(affiliate)のP429のtdist.cが多分それです
関連記事
MATLABでExcelのTDISTとTINVを使う « なたで日記
コメント