canoncorr

Каноническая корреляция

Описание

[A,B] = canoncorr(X,Y) вычисляет демонстрационные канонические коэффициенты для матриц данных X и Y.

[A,B,r] = canoncorr(X,Y) также возвращает r, вектор из демонстрационных канонических корреляций.

пример

[A,B,r,U,V] = canoncorr(X,Y) также возвращает U и V, матрицы канонической музыки к X и Y, соответственно.

[A,B,r,U,V,stats] = canoncorr(X,Y) также возвращает stats, структура, содержащая информацию, имела отношение к тестированию последовательности гипотез, что остающиеся корреляции являются всем нулем.

Примеры

свернуть все

Выполните канонический корреляционный анализ для набора выборочных данных.

Набор данных carbig содержит измерения для 406 автомобилей с лет 1970 - 1982.

Загрузите выборочные данные.

load carbig;
data = [Displacement Horsepower Weight Acceleration MPG];

Задайте X как матрица смещения, лошадиной силы, и наблюдений веса и Y как матрица ускорения и наблюдений MPG. Не используйте строки с недостаточными данными.

nans = sum(isnan(data),2) > 0;
X = data(~nans,1:3);
Y = data(~nans,4:5);

Вычислите демонстрационную каноническую корреляцию.

[A,B,r,U,V] = canoncorr(X,Y);

Просмотрите вывод A определить линейные комбинации смещения, лошадиной силы и веса, которые составляют канонические переменные X.

A
A = 3×2

    0.0025    0.0048
    0.0202    0.0409
   -0.0000   -0.0027

A(3,1) отображен как —0.000 потому что это очень мало. Отобразите A(3,1) отдельно.

A(3,1)
ans = -2.4737e-05

Первая каноническая переменная X u1 = 0.0025*Disp + 0.0202*HP — 0.000025*Wgt.

Вторая каноническая переменная X u2 = 0.0048*Disp + 0.0409*HP — 0.0027*Wgt.

Просмотрите вывод B, чтобы определить линейные комбинации ускорения и MPG, которые составляют канонические переменные Y.

B
B = 2×2

   -0.1666   -0.3637
   -0.0916    0.1078

Первая каноническая переменная Y v1 = 0.1666*Accel — 0.0916*MPG.

Вторая каноническая переменная Y v2 = —0.3637*Accel + 0.1078*MPG.

Постройте множество канонических переменных X и Y друг против друга.

t = tiledlayout(2,2);
title(t,'Canonical Scores of X vs Canonical Scores of Y')
xlabel(t,'Canonical Variables of X')
ylabel(t,'Canonical Variables of Y')
t.TileSpacing = 'compact';

nexttile
plot(U(:,1),V(:,1),'.')
xlabel('u1')
ylabel('v1')

nexttile
plot(U(:,2),V(:,1),'.')
xlabel('u2')
ylabel('v1')

nexttile
plot(U(:,1),V(:,2),'.')
xlabel('u1')
ylabel('v2')

nexttile
plot(U(:,2),V(:,2),'.')
xlabel('u2')
ylabel('v2')

Figure contains 4 axes objects. Axes object 1 contains an object of type line. Axes object 2 contains an object of type line. Axes object 3 contains an object of type line. Axes object 4 contains an object of type line.

Пары канонических переменных {ui,vi} упорядочены от самого сильного до самой слабой корреляции, со всеми другими независимыми парами.

Возвратите коэффициент корреляции переменных u1 и v1.

r(1)
ans = 0.8782

Входные параметры

свернуть все

Введите матрицу в виде n-by-d1 матрица. Строки X соответствуйте наблюдениям, и столбцы соответствуют переменным.

Типы данных: single | double

Введите матрицу в виде n-by-d2 матрица где X n-by-d1 матрица. Строки Y соответствуйте наблюдениям, и столбцы соответствуют переменным.

Типы данных: single | double

Выходные аргументы

свернуть все

Демонстрационные канонические коэффициенты для переменных в X, возвращенный как d1-by-d матрица, где d = min (ранг (X), ранг (Y)).

j th столбец A содержит линейную комбинацию переменных, которая составляет j th каноническая переменная для X.

Если X меньше полного ранга, canoncorr дает предупреждение и возвращает нули в строках A соответствие зависимым столбцам X.

Демонстрационные канонические коэффициенты для переменных в Y, возвращенный как d2-by-d матрица, где d = min (ранг (X), ранг (Y)).

j th столбец B содержит линейную комбинацию переменных, которая составляет j th каноническая переменная для Y.

Если Y меньше полного ранга, canoncorr дает предупреждение и возвращает нули в строках B соответствие зависимым столбцам Y.

Демонстрационные канонические корреляции, возвращенные как 1 d вектором, где d = min (ранг (X), ранг (Y)).

j th элемент r корреляция между j th столбцы U и V.

Каноническая музыка к переменным в X, возвращенный как n-by-d матрица, где X n-by-d1 матрица и d = min (ранг (X), ранг (Y)).

Каноническая музыка к переменным в Y, возвращенный как n-by-d матрица, где Y n-by-d2 матрица и d = min (ранг (X), ранг (Y)).

Информация о тесте гипотезы, возвращенная как структура. Эта информация относится к последовательности нулевых гипотез d H0(k) то, что (k+1)-Стрит через d th корреляции является всем нулем для k =1, …, d-1 и d = min (ранг (X), ранг (Y)).

Поля stats 1-by-d векторы с элементами, соответствующими значениям k.

Поле Описание
Wilks

Lambda Уилкса (отношение правдоподобия) статистическая величина

df1

Степени свободы для статистической величины в квадрате хи и степени свободы числителя для статистической величины F

df2

Степени свободы знаменателя для статистической величины F

F

Аппроксимированная статистическая величина F Рао для H0(k)

pF

Уровень значения правильного хвоста для F

chisq

Аппроксимированная статистическая величина Бартлетта в квадрате хи для H0(k) с модификацией Лоли

pChisq

Уровень значения правильного хвоста для chisq

stats имеет два других поля (dfe и p), которые равны df1 и pChisq, соответственно, и существуйте по историческим причинам.

Типы данных: struct

Больше о

свернуть все

Канонический корреляционный анализ

Каноническое множество матриц данных X и Y задано как

Ui=XaiVi=Ybi

где a i и b, i максимизирую Коэффициент корреляции пирсона ρ (U i, V i) удовлетворяющий тому, чтобы быть некоррелированым ко всем предыдущим каноническим баллам и масштабируемым так, чтобы U i и V у i были нулевое среднее значение и модульное отклонение.

Канонические коэффициенты X и Y являются матрицами A и B со столбцами a i и b i, соответственно.

Канонические переменные X и Y являются линейными комбинациями столбцов X и Y, данного каноническими коэффициентами в A и B соответственно.

Канонические корреляции являются значениями ρ (U i, V i) измерение корреляции каждой пары канонических переменных X и Y.

Алгоритмы

canoncorr вычисляет AB, и r использование qr и svd. canoncorr вычисляет U и V как U = (X—mean(X))*A и V = (Y—mean(Y))*B.

Ссылки

[1] Крзановский, W. J. Принципы многомерного анализа: перспектива пользователя. Нью-Йорк: Издательство Оксфордского университета, 1988.

[2] Seber, G. A. F. Многомерные наблюдения. Хобокен, NJ: John Wiley & Sons, Inc., 1984.

Смотрите также

|

Представлено до R2006a