본문 바로가기
통계학

정준상관계수 2.

by 써머23 2025. 6. 11.
728x90

표준화된 변수의 정준상관계수와 표준화되지 않은 경우 비교

PCA용.xlsx
0.02MB

# 패키지 로딩
library(CCA)
library(readxl)
library(ggplot2)
library(dplyr)

# 데이터 불러오기
data <- read_excel("d:/mydata/PCA용.xlsx")

# X: 타구속도, 발사각도 / Y: 컨택률, 스윙률
X_raw <- data[, c("타구속도", "발사각도")]
Y_raw <- data[, c("컨택률", "스윙률")]

# 표준화된 변수
X_std <- scale(X_raw)
Y_std <- scale(Y_raw)

# CCA 분석
cca_raw <- cc(X_raw, Y_raw)
cca_std <- cc(X_std, Y_std)

# 정준상관계수 비교
cat("✅ 정준상관계수 비교:\n")
print(data.frame(
  원래변수 = cca_raw$cor,
  표준화변수 = cca_std$cor
))

# 정준계수 비교
cat("\n✅ X 측 정준계수 비교:\n")
print(data.frame(
  원래 = cca_raw$xcoef[,1],
  표준화 = cca_std$xcoef[,1],
  row.names = colnames(X_raw)
))

cat("\n✅ Y 측 정준계수 비교:\n")
print(data.frame(
  원래 = cca_raw$ycoef[,1],
  표준화 = cca_std$ycoef[,1],
  row.names = colnames(Y_raw)
))

# 정준변수 계산 (제1 정준쌍)
U_raw <- as.matrix(X_raw) %*% cca_raw$xcoef[,1]
V_raw <- as.matrix(Y_raw) %*% cca_raw$ycoef[,1]

U_std <- as.matrix(X_std) %*% cca_std$xcoef[,1]
V_std <- as.matrix(Y_std) %*% cca_std$ycoef[,1]

# 산점도 비교
par(mfrow = c(1, 2))
plot(U_raw, V_raw, main = "원래 변수: U1 vs V1", xlab = "U1", ylab = "V1", col = "blue", pch = 19)
plot(U_std, V_std, main = "표준화 변수: U1 vs V1", xlab = "U1", ylab = "V1", col = "red", pch = 19)

------------------------------------

U,V,X,Y 등의 상관관계 

# 필요한 패키지
install.packages("CCA")
install.packages("readxl")

library(CCA)
library(readxl)

# 1. 엑셀 파일 불러오기
data <- read_excel("d:/mydata/PCA용.xlsx")

# 2. X와 Y 변수 정의
X <- data[, c("타구속도", "발사각도")]
Y <- data[, c("컨택률", "스윙률")]

# 3. 정준상관분석 수행
cca_result <- cc(X, Y)
cca_result
# 4. 제1 정준변수 U1 계산
U1 <- as.matrix(X) %*% cca_result$xcoef[, 1]

# 5. U1과 Y 간 상관행렬 계산
cor_matrix <- cor(U1, Y)

# 6. 결과 출력
print("✅ U1과 Y 변수들 간의 상관행렬:")
print(cor_matrix)

# 7. R^2 계산 (각 Y변수에 대한 U1의 설명력)
R2 <- cor_matrix^2
print("✅ U1이 각 Y 변수를 설명하는 결정계수(R^2):")
print(R2)
#이는 Y를 종속변수로 U를 설명변수로 했을 때의 R^2과 같다. 
#즉 이건 컨택률이라는 Y변수는 U로 회귀 돌렸을 시 R^2이 0.283이라는 뜻

-----------------------

상관행렬을 이용해 다중회귀 분석에서 R^2 구하기

 

728x90

'통계학' 카테고리의 다른 글

특별) 레일리 쿼션트  (0) 2025.06.11
정준상관계수 3. 정준상관계수 검정  (0) 2025.06.11
정준상관계수 1.  (0) 2025.06.11
다중상관계수  (0) 2025.06.11
요인분석 11. 회귀방법, 인자점수 계산  (0) 2025.06.10