2017-02-11 4 views
1

, если у меня есть два ряда данных: a = [1 4 6 3 4 6 7 8]; b [34 56 34 56 79 23 48 28]; Тогда я могу найти Спирмена и Пирсона коэффициент корреляции соответственно как: RHO= corr(a',b','Type','Spearman'); для корреляции Пирсона , я могу использовать: r=corr2(a,b) илиПирсона и Спирмена корреляции и соответствующий 95% и 99% доверительный уровень в Matlab

[R] = corr(a',b','Type','pearson') 

, что будет уровень достоверности (95% и 99%) как для Пирсона и Спирмена корреляции. Мне нужен результат, как в данном примере. пусть,

pearson correlation r=0.76 

spearman rank correlation r=0.65 

95% confidence level=0.34 

99% confidence level=0.42 

Примечание: Мои значения коэффициентов корреляции и уровня доверия носят общий характер, они не являются для данных «A» и значения «B» выше. спасибо.

ответ

0

Для этого вы можете использовать corrcoef. Для получения доверительного интервала 95% записи:

[R,~,RL,RU] = corrcoef(a.',b.') 

и для других доверительных интервалов, добавить альфа (CI = 100 * (1-альфа)%):

[R,~,RL,RU] = corrcoef(a.',b.','alpha',0.01) 

RL и RU являются низшие и верхние границы соответственно корреляции.

EDIT:

Для Спирмена корреляции доверительного интервала нужно fisher transformation, что arctanh (г):

RHO = corr(a.',b.','Type','Spearman'); 
n = numel(a); 
STE = 1/sqrt(n-3); 
% here the input is 95% confidence interval, for 99% use 0.99: 
CI = norminv(0.95); 
upper_bound = tanh(atanh(RHO)+CI*STE); 
lower_bound = tanh(atanh(RHO)-CI*STE); 
+0

благодаря братан, я знаю, что функция [R ~, RL, RU ] = corrcoef (a. ', b.', 'alpha', 0.01) может дать мне 99% доверительный интервал коэффициента корреляции пирсона, но как найти доверительный интервал коэффициента корреляции спирмена. –