- こちらで多次元データの尺度を2群に分けて、2群間の関係を定量化することをやっている
- 2つのものの関係には相関係数がある
- 多次元のものを見やすくするにはPCAがある
- 相関係数とPCAとをつなぐことを念頭に、まず、2次元データで考える
- 2次元データをPCAすると、2つの直交する軸ベクトルと、2つの拡縮因子が得られる
- 2つの拡縮因子をとする
- 今、元のデータを適当に変換しておけば、のようにしておけるから、という2つの値の自由度は1になる
- の状況を表す1変数と、相関係数との間をつなぐ関係がわかればよい
- とする
- のときは、2尺度の分布が円状になっていることを意味するから、無相関(相関係数は0)
- のときは、相関係数が1
- は相互に直交するベクトルの方向への拡縮因子だから、となるようなを考えるのは適当に思える
- ,という関係である
- と置くと、これは、この条件を満たす
- 実際、このは、2次元正規分布データの場合に、相関係数とよく一致する
rmvn.Choleski <-
function(n, mu, Sigma) {
d <- length(mu)
Q <- chol(Sigma)
Z <- matrix(rnorm(n*d), nrow=n, ncol=d)
X <- Z %*% Q + matrix(mu, n, d, byrow=TRUE)
X
}
t<-seq(from=0,to=1,length=100)/2*pi
S<-matrix(0,length(t)-1,2)
K<-H<-rep(0,length(t)-1)
A<-J<-K
for(i in 2:length(t)){
Sigma<-matrix(c(1,cos(t[i]),cos(t[i]),1),2,2)
X <- rmvn.Choleski(200, rep(0,2), Sigma)
pairs(X)
S[i-1,]<-prcomp(X)[[1]]
K[i-1]<-cos(t[i])
H[i-1]<-cor(X)[1,2]
A[i-1]<-atan(S[i-1,2]/S[i-1,1])*2
J[i-1]<-cos(A[i-1])
}
pairs(cbind(S,K,H,A,J))
plot(H,J)