II Всероссийская конференция пользователей MATLAB, 25-26 мая 2004 года >>
На первую страницу
Рубрика Matlab&Toolboxes
Российские MATLAB-разработки
Вход
Раздел "Математика\Statistics Toolbox"

Список функций Statistics Toolbox

В оглавление \ К следующему разделу \ К предыдущему разделу

CORRCOEF
Расчет матрицы парных коэффициентов корреляции

Синтаксис

R = corrcoef(X)
R = corrcoef(x,y)
[R,P]=corrcoef(...)
[R,P,RLO,RUP]=corrcoef(...)
[...]=corrcoef(...,'param1',val1,'param2',val2,...)

Описание

R = corrcoef(X) функция предназначена для расчета матрицы парных коэффициентов корреляции R выборок представленных в виде матрицы Х. Наблюдения располагаются построчно в матрице Х, выборки - по столбцам.

Расчет (i,j) элемента матрицы R осуществляется по формуле

где C = cov(X) - матрица ковариаций.

R = corrcoef(x,y) функция предназначена для расчета матрицы парных коэффициентов корреляции R векторов x и y. Тот же результат можно получить при использовании corrcoef([x y]).

[R,P]=corrcoef(...) функция возвращает матрицы парных коэффициентов корреляции R и уровней значимости P, используемых при проверке гипотезы об отсутствии корреляции. Каждое значение Р является значением вероятности получить величину коэффициента корреляции более, чем рассчитанное выборочное значение под действием случайных факторов когда истинное значение коэффициента корреляции равно нулю. Если P(i,j) менее 0,05, то значение коэффициента корреляции R(i,j) является значимым.

[R,P,RLO,RUP]=corrcoef(...) функция возвращает матрицы парных коэффициентов корреляции R, уровней значимости P, нижних RLO и верхних RUP границ 95% доверительных интервалов коэффициентов корреляции.

[...]=corrcoef(...,'param1',val1,'param2',val2,...) в этом варианте синтаксиса функции дополнительные входные параметры определяют:

'alpha' Значение уровня значимости. Доверительная вероятность определяется как 100*(1 - alpha)%. По умолчанию уровень значимости равен 0,05, что соответствует 95% доверительному интервалу коэффициента корреляции.
'rows' Определяет способ исключения строк матрицы Х со значениями NaN при расчете коэффициента корреляции. Возможные значения параметра: 'all' - используются все строки (значение по умолчанию), 'complete' - исключаются строки со значениями NaN, 'pairwise' - при расчете R(i,j) исключаются строки, содержащие NaN в столбце i или j.

Значения уровня значимости рассчитываются на основе преобразования коэффициента корреляции в t статистику с n-2 степенями свободы, где n - количество строк матрицы Х. Границы доверительного интервала коэффициента корреляции рассчитываются на основании того, что статистика, рассчитанная как 0.5*log((1+R)/(1-R)) имеет асимптотическое приближение к нормальному закону с дисперсией равной 1/(n-3). Рассчитанные таким образом границы доверительного интервала коэффициента корреляции являются точными при больших выборках, когда Х распределены по многомерному нормальному закону. Параметр 'rows' равный 'pairwise' может привести к получения матрицы R которая не будет положительно определенной.

Функция corrcoef является функцией ядра MATLAB.

Примеры использования функции расчета матрицы парных коэффициентов корреляции

Расчет матрицы парных коэффициентов корреляции для 5 выборок с объемом 20 элементов представленных в виде матрицы


>> X = normrnd(0,1,20,5);
>> R = corrcoef(X)
R =
    1.0000    0.4873    0.3854    0.0931   -0.2074
    0.4873    1.0000    0.6276   -0.3016   -0.3204
    0.3854    0.6276    1.0000   -0.4313   -0.4647
    0.0931   -0.3016   -0.4313    1.0000    0.1005
   -0.2074   -0.3204   -0.4647    0.1005    1.0000

Расчет матрицы парных коэффициентов корреляции для 2 выборок с объемом 20 элементов представленных в виде 2 векторов

>> X = normrnd(0,1,20,1);
>> Y = normrnd(0,1,20,1);
>> R = corrcoef(X,Y)
R =
    1.0000   -0.4462
   -0.4462    1.0000

Расчет матриц парных коэффициентов корреляции и уровней значимости для 5 выборок с объемом 20 элементов представленных в виде матрицы

>> X = normrnd(0,1,20,5);
>> [R P] = corrcoef(X)
R =
    1.0000   -0.1259    0.1972   -0.1178   -0.0923
   -0.1259    1.0000   -0.1805    0.2883    0.0972
    0.1972   -0.1805    1.0000    0.0367   -0.0704
   -0.1178    0.2883    0.0367    1.0000    0.1538
   -0.0923    0.0972   -0.0704    0.1538    1.0000
P =
    1.0000    0.5970    0.4046    0.6208    0.6987
    0.5970    1.0000    0.4463    0.2177    0.6836
    0.4046    0.4463    1.0000    0.8780    0.7680
    0.6208    0.2177    0.8780    1.0000    0.5175
    0.6987    0.6836    0.7680    0.5175    1.0000

Расчет матриц парных коэффициентов корреляции, уровней значимости и границ 95% доверительного интервала для 5 выборок с объемом 20 элементов представленных в виде матрицы

>> X = normrnd(0,1,20,5);
>> [R P RLO RUP] = corrcoef(X)
R =
    1.0000   -0.2635    0.1917   -0.0096   -0.1274
   -0.2635    1.0000   -0.4230    0.3252   -0.1207
    0.1917   -0.4230    1.0000    0.2903    0.2034
   -0.0096    0.3252    0.2903    1.0000    0.1955
   -0.1274   -0.1207    0.2034    0.1955    1.0000
P =
    1.0000    0.2616    0.4181    0.9678    0.5924
    0.2616    1.0000    0.0631    0.1618    0.6124
    0.4181    0.0631    1.0000    0.2143    0.3897
    0.9678    0.1618    0.2143    1.0000    0.4088
    0.5924    0.6124    0.3897    0.4088    1.0000
RLO =
    1.0000   -0.6323   -0.2741   -0.4502   -0.5395
   -0.6323    1.0000   -0.7290   -0.1370   -0.5346
   -0.2741   -0.7290    1.0000   -0.1746   -0.2628
   -0.4502   -0.1370   -0.1746    1.0000   -0.2704
   -0.5395   -0.5346   -0.2628   -0.2704    1.0000
RUP =
    1.0000    0.2026    0.5846    0.4347    0.3339
    0.2026    1.0000    0.0240    0.6711    0.3400
    0.5846    0.0240    1.0000    0.6494    0.5926
    0.4347    0.6711    0.6494    1.0000    0.5872
    0.3339    0.3400    0.5926    0.5872    1.0000

Расчет матриц парных коэффициентов корреляции, уровней значимости и границ 99% доверительного интервала для 5 выборок с объемом 20 элементов представленных в виде матрицы

>> X = normrnd(0,1,20,5);
>> [R P RLO RUP] = corrcoef(X,'alpha',0.01)
R =
    1.0000    0.4454    0.2195   -0.2765    0.2113
    0.4454    1.0000    0.2026    0.1240   -0.0572
    0.2195    0.2026    1.0000   -0.3124   -0.1067
   -0.2765    0.1240   -0.3124    1.0000   -0.1876
    0.2113   -0.0572   -0.1067   -0.1876    1.0000
P =
    1.0000    0.0491    0.3526    0.2380    0.3712
    0.0491    1.0000    0.3916    0.6026    0.8106
    0.3526    0.3916    1.0000    0.1800    0.6545
    0.2380    0.6026    0.1800    1.0000    0.4284
    0.3712    0.8106    0.6545    0.4284    1.0000
RLO =
    1.0000   -0.1448   -0.3814   -0.7204   -0.3887
   -0.1448    1.0000   -0.3963   -0.4622   -0.5928
   -0.3814   -0.3963    1.0000   -0.7388   -0.6242
   -0.7204   -0.4622   -0.7388    1.0000   -0.6721
   -0.3887   -0.5928   -0.6242   -0.6721    1.0000
RUP =
    1.0000    0.8018    0.6899    0.3283    0.6854
    0.8018    1.0000    0.6806    0.6348    0.5135
    0.6899    0.6806    1.0000    0.2928    0.4759
    0.3283    0.6348    0.2928    1.0000    0.4094
    0.6854    0.5135    0.4759    0.4094    1.0000

Расчет матриц парных коэффициентов корреляции, уровней значимости и границ 99% доверительного интервала для 5 выборок с объемом 20 элементов представленных в виде матрицы, содержащую нечисловые элементы NaN. Режим исключения нечисловых элементов парный построчный - 'pairwise'.

>> X = normrnd(0,1,20,5);
>> X([1 20 25 36 45 90 99]) = [NaN NaN NaN NaN NaN];
>> [R P RLO RUP] = corrcoef(X,'alpha',0.01,'rows','pairwise')
R =
    1.0000    0.1399   -0.0245    0.1995   -0.2121
    0.1399    1.0000    0.2357   -0.0335    0.0030
   -0.0245    0.2357    1.0000   -0.1962    0.1095
    0.1995   -0.0335   -0.1962    1.0000    0.1604
   -0.2121    0.0030    0.1095    0.1604    1.0000
P =
    1.0000    0.6053    0.9256    0.4274    0.4304
    0.6053    1.0000    0.3465    0.8950    0.9913
    0.9256    0.3465    1.0000    0.4209    0.6758
    0.4274    0.8950    0.4209    1.0000    0.5249
    0.4304    0.9913    0.6758    0.5249    1.0000
RLO =
    1.0000   -0.5180   -0.6125   -0.4324   -0.7305
   -0.5180    1.0000   -0.4011   -0.6035   -0.6116
   -0.6125   -0.4011    1.0000   -0.6872   -0.5216
   -0.4324   -0.6035   -0.6872    1.0000   -0.4647
   -0.7305   -0.6116   -0.5216   -0.4647    1.0000
RUP =
    1.0000    0.6938    0.5809    0.7000    0.4614
    0.6938    1.0000    0.7188    0.5591    0.6153
    0.5809    0.7188    1.0000    0.4180    0.6631
    0.7000    0.5591    0.4180    1.0000    0.6788
    0.4614    0.6153    0.6631    0.6788    1.0000

Пример генерации матрицы случайны чисел с размерностью 30x4, у которой 4 столбец коррелирован с остальными столбцами

Генерация некоррелированных выборок

>> x = randn(30,4);

Создание 4 столбца коррелированного с первыми тремя

>> x(:,4) = sum(x,2);

Расчет матриц точечных оценок коэффициента корреляции и значений уровня значимости

>> [r,p] = corrcoef(x)
r =
    1.0000   -0.3566    0.1929    0.3457
   -0.3566    1.0000   -0.1429    0.4461
    0.1929   -0.1429    1.0000    0.5183
    0.3457    0.4461    0.5183    1.0000
p =
    1.0000    0.0531    0.3072    0.0613
    0.0531    1.0000    0.4511    0.0135
    0.3072    0.4511    1.0000    0.0033
    0.0613    0.0135    0.0033    1.0000
        
Определение индексов значимых коэффициентов корреляции

>> [i,j] = find(p<0.05)
ans =
     4     2
     4     3
     2     4
     3     4

В оглавление \ К следующему разделу \ К предыдущему разделу


О получении локальных копий сайтов
  Всероссийская научная конференция "Проектирование научных и инженерных приложений в среде MATLAB" (май 2002 г.)
На первую страницу \ Сотрудничество \ MathWorks \ SoftLine \ Exponenta.ru \ Exponenta Pro   
E-mail:    
  Информация на сайте была обновлена 11.05.2004 Copyright 2001-2004 SoftLine Co 
Наши баннеры