Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

canoncorr

説明

[A,B] = canoncorr(X,Y) は、データ行列 XY の標本正準係数を計算します。

[A,B,r] = canoncorr(X,Y) は、標本正準相関のベクトル r も返します。

[A,B,r,U,V] = canoncorr(X,Y) は、それぞれ XY の正準スコアの行列である UV も返します。

[A,B,r,U,V,stats] = canoncorr(X,Y) は、残りの相関がすべてゼロであるという一連の仮説の検定に関する情報が格納された構造体 stats も返します。

すべて折りたたむ

標本データセットの正準相関分析を行います。

データセット carbig には、1970 ~ 1982 年の 406 台の自動車に関する測定値が含まれています。

標本データを読み込みます。

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

排気量、馬力、および重量の観測値の行列として X を定義し、加速度と MPG の観測値の行列として Y を定義します。データが不足している行は省略します。

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

標本の正準相関を計算します。

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

X の正準変数を構成する排気量、馬力、および重量の線形結合を判定するため、A の出力を表示します。

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 の 2 番目の正準変数は、u2 = 0.0048*Disp + 0.0409*HP — 0.0027*Wgt です。

Y の正準変数を構成する加速度と MPG の線形結合を判定するため、B の出力を表示します。

B
B = 2×2

   -0.1666   -0.3637
   -0.0916    0.1078

Y の最初の正準変数は、v1 = 0.1666*Accel — 0.0916*MPG です。

Y の 2 番目の正準変数は、v2 = —0.3637*Accel + 0.1078*MPG です。

XY の正準変数のスコアを相互にプロットします。

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. Axes 1 contains an object of type line. Axes 2 contains an object of type line. Axes 3 contains an object of type line. Axes 4 contains an object of type line.

正準変数のペア {ui,vi} は他のすべてのペアとは異なり、最も強い相関から最も弱い相関へと順番に並んでいます。

変数 u1v1 の相関係数を返します。

r(1)
ans = 0.8782

入力引数

すべて折りたたむ

入力行列。n 行 d1 列の行列を指定します。X の行は観測値に対応し、列は変数に対応します。

データ型: single | double

入力行列。n 行 d2 列の行列として指定します。ここで、X は n 行 d1 列の行列です。Y の行は観測値に対応し、列は変数に対応します。

データ型: single | double

出力引数

すべて折りたたむ

X 内の変数の標本正準係数。d1 行 d 列の行列として返されます。ここで、d = min(rank(X),rank(Y)) です。

A の j 番目の列には、X の j 番目の正準変数を構成する変数の線形結合が含まれます。

X がフル ランクより低い場合、canoncorr は警告を出し、X の従属列に対応する A の行にゼロを返します。

Y 内の変数の標本正準係数。d2 行 d 列の行列として返されます。ここで、d = min(rank(X),rank(Y)) です。

B の j 番目の列には、Y の j 番目の正準変数を構成する変数の線形結合が含まれます。

Y がフル ランクより低い場合、canoncorr は警告を出し、Y の従属列に対応する B の行にゼロを返します。

標本正準相関。1 行 d 列のベクトルとして返されます。ここで、d = min(rank(X),rank(Y)) です。

r の j 番目の要素は、UV の j 番目の列間の相関です。

X 内の変数の正準スコア。n 行 d 列の行列として返されます。ここで、X は n 行 d1 列の行列で、d = min(rank(X),rank(Y)) です。

Y 内の変数の正準スコア。n 行 d 列の行列として返されます。ここで、Y は n 行 d2 列の行列で、d = min(rank(X),rank(Y)) です。

仮説検定情報。構造体として返されます。この情報は、k=1,…,d-1 について、(k+1) 番目から d 番目までの相関がすべてゼロであるという d 個の一連の帰無仮説 H0(k) に関係しています。ここで、d = min(rank(X),rank(Y)) です。

stats のフィールドは、1 行 d 列のベクトルで、各要素は k の値に対応しています。

フィールド説明
Wilks

Wilks ラムダ (尤度比) 統計量

df1

カイ二乗統計量の自由度、および F 統計量の分子自由度

df2

F 統計量の分母自由度

F

H0(k) についての Rao の近似 F 統計量

pF

F に対する右裾有意水準

chisq

Lawley による変更を加えた H0(k) についての Bartlett の近似カイ二乗統計量

pChisq

chisq に対する右裾有意水準

stats には他に 2 つのフィールド (dfe および p) があり、それぞれ df1 および pChisq と同じです。これらは歴史的な経緯で存在します。

データ型: struct

詳細

すべて折りたたむ

正準相関分析

データ行列 X および Y の正準スコアは次のように定義されます。

Ui=XaiVi=Ybi

ここで、ai と bi は、ピアソン相関係数 ρ(Ui,Vi) を最大化します。ただし、これまでのすべての正準スコアとは無相関であり、Ui と Vi がゼロ平均と単位分散をもつようにスケーリングされることを前提とします。

X と Y の正準係数は、それぞれ ai と bi を列にもつ行列 A と B です。

X と Y の正準変数は、それぞれ、A と B の正準係数によって与えられる、X と Y の列の線形結合です。

正準相関は、X と Y の正準変数の各ペアの相関を測定する値 ρ(Ui,Vi) です。

アルゴリズム

canoncorr は、qrsvd を使用して、AB、および r を計算します。canoncorr は、U および VU = (X—mean(X))*A および V = (Y—mean(Y))*B として計算します。

参照

[1] Krzanowski, W. J. Principles of Multivariate Analysis: A User's Perspective. New York: Oxford University Press, 1988.

[2] Seber, G. A. F. Multivariate Observations. Hoboken, NJ: John Wiley & Sons, Inc., 1984.

参考

|

R2006a より前に導入