Exploratory Data Analysis의 역할: 회귀분석 전에 변수 관계를 점검해야 하는 이유
회귀분석을 시작할 때 많은 사람이 가장 먼저 하는 일은 Regression Model을 실행하고 p-value와 R-Square를 확인하는 것입니다.
하지만 회귀분석은 단순히 Model을 Fit한다고 끝나는 분석이 아닙니다.
먼저 다음 질문을 확인해야 합니다.
- Predictor와 Response 사이에 실제로 어떤 형태의 관계가 있는가?
- Linear Relationship으로 설명할 수 있는가?
- Outlier나 Unusual Observation이 존재하는가?
- Predictor들끼리 지나치게 강하게 관련되어 있지는 않은가?
- Data Range가 충분한가?
- 특정 Variable이 Regression Model에 들어가기에 적절한 구조인가?
이러한 질문을 Model Fitting 전에 확인하는 과정이 Exploratory Data Analysis, EDA입니다.
Exploratory Data Analysis는 Regression Model을 만들기 전에 Data Distribution과 Variable Relationship을 시각적·통계적으로 탐색하여 Model Assumption, 이상치, 관계 형태, 잠재적인 Predictor 구조를 확인하는 과정입니다.
첨부 교재의 Regression Chapter도 Simple Linear Regression으로 바로 들어가지 않고 가장 먼저 Exploratory Data Analysis를 배치합니다. 이 Section의 주요 목표는 Scatter Plot으로 두 Continuous Variables의 관계를 조사하고, Correlation으로 Association의 정도를 정량화하며, Correlation의 잠재적인 오용을 이해하는 것입니다.
왜 Regression 전에 EDA를 해야 할까?
Linear Regression은 Predictor와 Response 사이의 관계를 특정 Mathematical Structure로 표현합니다.
가장 기본적인 Simple Linear Regression에서는:
Y = β₀ + β₁X + ε
형태를 사용합니다.
즉 X와 Y 사이의 평균적인 관계를 Straight Line으로 설명합니다.
그런데 실제 Data Relationship이:
- Curved
- Cyclical
- Clustered
- Outlier-driven
- 거의 관계 없음
이라면 단순 Linear Model을 Fit하는 것이 적절하지 않을 수 있습니다.
따라서 Model을 계산하기 전에 먼저 Data가 어떤 Pattern을 보이는지 확인해야 합니다.
교재가 Regression 준비 단계에서 강조하는 것
첨부 교재는 Multiple Regression 준비를 위한 Exploratory Analysis에서 보통 다음을 확인한다고 설명합니다.
Predictor와 Response 사이의 Bivariate Scatter Plots
그리고:
Correlations
입니다.
그 목적은 Predictor를 기계적으로 포함하거나 제외하기 위한 것이 아니라:
- Relationship Shape를 탐색하고
- Linear Regression이 가정하는 Linear Shape가 적절한지 확인하며
- Outlier를 Screening하는 것
이라고 명확하게 설명합니다.
이 부분은 매우 중요합니다.
EDA는 자동 Variable Selection 단계가 아니라 Model을 이해하기 위한 탐색 단계입니다.
EDA의 첫 번째 질문: 두 Variable은 어떤 관계를 가지는가?
Continuous Predictor X와 Continuous Response Y가 있다고 가정하겠습니다.
가능한 Pattern은 여러 가지입니다.
Linear Relationship
X 증가
↓
Y도 일정한 비율로 증가 또는 감소
Curvilinear Relationship
X가 증가하면서 Y가 변하지만 Straight Line으로 설명하기 어려움
Cyclical Pattern
X가 Time 같은 Variable일 때 반복적인 Pattern
No Clear Relationship
X가 바뀌어도 Y의 Systematic Pattern이 잘 보이지 않음
첨부 교재는 Continuous Variables 사이의 관계를 설명하는 것이 Statistical Analysis의 중요한 첫 단계이며 Scatter Plot이 이러한 관계를 설명하는 가장 중요한 Tool이라고 강조합니다.
Scatter Plot이란 무엇인가?
두 Continuous Variables를 X축과 Y축에 놓고 각 Observation을 Point로 표시한 Graph입니다.
각 Point의 Coordinate는:
(X value, Y value)
입니다.
예를 들어:
X:
Runtime
Y:
Oxygen Consumption
이면 한 Subject의 Runtime과 Oxygen Consumption이 하나의 Point가 됩니다.
Scatter Plot으로 무엇을 확인할 수 있을까?
첨부 교재에서는 Scatter Plot의 용도를 다음과 같이 설명합니다.
- 두 Variable 사이 Relationship 탐색
- Outlying 또는 Unusual Value 확인
- Possible Trend 확인
- X와 Y의 기본 Range 파악
- 분석 결과 Communication
즉 Scatter Plot은 단순히 예쁜 Graph가 아니라 Regression Model을 선택하기 위한 중요한 Diagnostic Tool입니다.
왜 Correlation보다 Scatter Plot을 먼저 봐야 할까?
Correlation은 두 Variables 사이 Linear Association을 하나의 숫자로 요약합니다.
하지만 하나의 숫자는 Relationship Shape를 보여주지 못합니다.
예를 들어 다음 두 Dataset이 모두 Pearson r=0에 가까울 수 있습니다.
Dataset A
Random Cloud
↓
실제로 관계 없음
Dataset B
완벽한 U-shaped Relationship
↓
강한 관계는 있지만 Linear하지 않음
Correlation 숫자만 보면 둘 다:
r≈0
일 수 있습니다.
하지만 Scatter Plot을 보면 완전히 다른 Pattern이라는 것을 알 수 있습니다.
Correlation이 작다고 반드시 Relationship이 없는 것은 아니며, Linear Relationship이 없다는 의미일 수 있습니다.
Linear Regression이 Linear Shape를 가정한다는 의미
Linear Regression에서 중요한 것은 Raw Data가 직선 위에 정확히 놓여야 한다는 뜻이 아닙니다.
평균적인 Response Structure가 Predictor에 따라 Linear하게 변화하는지 확인하는 것입니다.
즉 Scatter Plot에서:
X가 증가할수록 Y의 Center가 직선 형태로 이동하는가?
를 살펴봅니다.
Curvature가 있다면?
예를 들어 다음 Pattern을 생각해보겠습니다.
X가 작을 때 Y 감소
↓
중간에서는 최소
↓
X가 커지면 다시 증가
입니다.
이 Relationship을 Straight Line 하나로 Fit하면:
Slope≈0
처럼 나타날 수도 있습니다.
하지만 실제로는 강한 Curvilinear Relationship이 존재합니다.
이 경우 Linear Term만 있는 Model이 Data Structure를 충분히 설명하지 못할 수 있습니다.
Time Predictor에서 Cyclical Pattern도 가능하다
첨부 교재는 Predictor가 Time인 경우 Cyclical Pattern을 볼 수 있다고 설명합니다.
예를 들어:
Month
vs.
Electricity Usage
를 보면:
Summer 증가
Winter 증가
Spring/Fall 감소
같은 Pattern이 있을 수 있습니다.
Straight Line 하나로는 이런 반복적인 구조를 적절하게 설명하기 어렵습니다.
Outlier를 왜 Regression 전에 찾아야 할까?
Regression Line은 일부 Extreme Observation에 상당히 민감할 수 있습니다.
예를 들어 대부분의 Data가:
X=1~10
Y=10~100
범위에 있는데 Observation 하나가:
X=100
Y=1000
에 있다면 Regression Slope가 크게 바뀔 수 있습니다.
따라서 EDA 단계에서 Unusual Observation을 먼저 확인해야 합니다.
Outlier가 있다고 바로 삭제하면 될까?
아닙니다.
다음 가능성을 먼저 확인해야 합니다.
- Data Entry Error
- Measurement Error
- Unit Error
- Coding Error
- 실제 Valid Extreme Observation
입니다.
EDA의 목적은:
“이 Point를 삭제하자.”
가 아니라:
“이 Point가 왜 다른지 확인해야 한다.”
입니다.
교재도 EDA를 Variable 제외 도구로 사용하지 말라고 한다
첨부 교재는 Regression 준비 단계에서 Bivariate Scatter Plot과 Correlation을 확인하지만 이 결과만을 근거로 Predictor Inclusion/Exclusion Decision을 내리는 것은 권장하지 않는다고 명확하게 설명합니다.
즉:
Correlation이 작다
↓
Predictor 자동 삭제
가 아닙니다.
Scatter Plot이 조금 이상하다
↓
Observation 자동 삭제
도 아닙니다.
EDA는 탐색입니다.
EDA와 Confirmatory Analysis의 차이
EDA
Data Pattern 탐색
↓
Hypothesis 생성
↓
Model Risk 확인
Confirmatory Analysis
사전에 정의된 Model 또는 Hypothesis Test
↓
Statistical Inference
입니다.
즉 EDA에서 발견한 Pattern은 매우 중요하지만 Data를 본 뒤 생성한 Hypothesis를 마치 사전에 정의된 Confirmatory Result처럼 해석하면 안 됩니다.
Fitness Example은 무엇을 분석할까?
첨부 교재의 Regression Chapter에서는 Fitness Dataset을 사용합니다.
Study의 목적은:
어떤 Factors가 Fitness Level과 관련되어 있는지 확인하는 것
입니다.
Objective Measure는:
Oxygen_Consumption
입니다.
즉 Response Variable은 Oxygen Consumption입니다.
Fitness Dataset의 Variables
첨부 교재는 다음 Variables를 제시합니다.
- Name
- Gender
- Runtime
- Age
- Weight
- Oxygen_Consumption
- Run_Pulse
- Rest_Pulse
- Maximum_Pulse
- Performance
이 가운데 Continuous Predictors와 Oxygen Consumption 사이의 관계를 탐색합니다.
Response는 무엇인가?
Oxygen_Consumption
입니다.
교재에서는 운동생리학에서 Aerobic Fitness를 나타내는 객관적인 Measure로 몸이 Oxygen을 얼마나 효율적으로 흡수하고 사용하는지를 이용합니다.
연구자는 다른 Variables가 Oxygen Consumption을 Predict하는 데 도움이 되는지 관심이 있습니다.
EDA에서 어떤 Predictor를 확인할까?
교재 Demonstration에서는 다음 Variables를 Analysis Variables로 사용합니다.
- Runtime
- Age
- Weight
- Run_Pulse
- Rest_Pulse
- Maximum_Pulse
- Performance
그리고:
Oxygen_Consumption
을 correlate with 역할로 지정합니다.
즉 각각의 Potential Predictor와 Response 사이 Bivariate Relationship을 조사합니다.
Correlation이란 무엇인가?
두 Continuous Variables의 Linear Association의 방향과 강도를 정량화하는 Statistic입니다.
교재에서는 두 Variables가 Linear Association을 가지면 Correlated되어 있다고 설명합니다.
Correlation은 기본적으로 다음 세 Direction으로 생각할 수 있습니다.
Positive Correlation
X 증가
↓
Y 증가 경향
Negative Correlation
X 증가
↓
Y 감소 경향
Zero Correlation
Linear Relationship 없음
입니다.
Pearson Correlation Coefficient
보통:
r
로 표시합니다.
Population Correlation은:
ρ, rho
로 표시합니다.
Sample Correlation r은 Population Correlation ρ를 추정하는 Statistic입니다.
Correlation Coefficient는 일반적으로:
-1 ≤ r ≤ 1
범위입니다.
r=1
Perfect Positive Linear Relationship
입니다.
X가 증가할수록 Y가 완벽한 Straight Line을 따라 증가합니다.
r=-1
Perfect Negative Linear Relationship
입니다.
X가 증가할수록 Y가 완벽한 Straight Line을 따라 감소합니다.
r=0
No Linear Association
입니다.
하지만 다시 강조하면:
No Linear Association
≠
No Relationship
입니다.
Curved Relationship이 존재할 수 있기 때문입니다.
Correlation의 부호는 무엇을 의미할까?
r > 0
Positive Direction
r < 0
Negative Direction
입니다.
예를 들어:
r = -0.86
이면 강한 Negative Linear Relationship을 나타냅니다.
하지만 Correlation Strength를 절대적인 Cutoff 하나로 모든 분야에서 분류하는 것은 조심해야 합니다.
Fitness Example의 실제 Correlation
첨부 교재에서는 Oxygen Consumption과 Runtime 사이 Pearson Correlation을:
r = -0.86219
로 제시합니다.
p-value는:
<.0001
입니다.
이는 매우 강한 Negative Linear Association Pattern입니다.
Runtime이 길수록 Oxygen Consumption은 어떤 Pattern인가?
Correlation이 Negative이므로:
Runtime 증가
↓
Oxygen_Consumption 감소
경향입니다.
Fitness Context에서 1.5 Mile Run을 더 빨리 완료하는 사람은 Runtime이 짧습니다.
그리고 Oxygen Consumption Measure는 더 높게 나타나는 Pattern을 보입니다.
즉 좋은 Aerobic Fitness와 일관된 방향의 Association을 볼 수 있습니다.
Performance와 Oxygen Consumption
교재에서 두 번째로 절댓값이 큰 Correlation은:
Performance
입니다.
Correlation:
r = 0.77890
p < .0001
입니다.
즉 Performance가 높을수록 Oxygen Consumption도 높은 Positive Association이 나타납니다.
다른 Variables의 Correlation
교재 Output은 다음과 같습니다.
Rest_Pulse
r = -0.39935
p = 0.0260
Run_Pulse
r = -0.39808
p = 0.0266
Age
r = -0.31162
p = 0.0879
Maximum_Pulse
r = -0.23677
p = 0.1997
Weight
r = -0.16289
p = 0.3813
입니다.
p-value가 작은 Correlation만 Predictor로 남기면 될까?
아닙니다.
첨부 교재가 명확하게 경고하는 부분입니다.
Bivariate Correlation Analysis의 목적은 Predictor Inclusion이나 Exclusion을 결정하는 것이 아니라:
- Relationship Shape
- Outlier
- Linear Association
을 탐색하는 것입니다.
왜냐하면 Multiple Regression에서는 다른 Predictors를 Adjust한 후 Relationship이 달라질 수 있기 때문입니다.
Bivariate p>.05인 Predictor도 Multiple Regression에서 중요할 수 있다
가능합니다.
예를 들어 Predictor X가 Response Y와 단순 Correlation은 작지만 다른 Predictor Z와 함께 Model에 들어가면 중요한 Adjusted Association을 보일 수 있습니다.
Suppression Effect나 Confounding Structure가 존재할 수 있기 때문입니다.
따라서:
Bivariate p>.05
↓
Predictor 자동 삭제
라고 하면 안 됩니다.
반대로 Correlation이 매우 높아도 좋은 Predictor라고 자동 결론내릴 수 없다
예:
Runtime과 Oxygen Consumption:
r=-0.86219
입니다.
강한 Association이지만 다음을 추가로 봐야 합니다.
- Outlier가 관계를 만들고 있지는 않은가?
- Relationship이 실제로 Linear한가?
- 다른 Predictors와 중복된 정보를 제공하지 않는가?
- Model Assumptions은 만족하는가?
즉 높은 r은 Regression Analysis의 출발점이지 끝이 아닙니다.
Scatter Plot과 Correlation은 서로 보완한다
Scatter Plot
Shape 확인
Outlier 확인
Range 확인
Correlation
Linear Association Direction과 Strength를 숫자로 요약
입니다.
따라서:
Graph + Statistic
을 함께 봐야 합니다.
Correlation만 보면 Outlier 문제를 놓칠 수 있다
예를 들어 대부분의 Points에는 관계가 없지만 Extreme Point 하나 때문에 r=.8이 될 수도 있습니다.
반대로 실제로 강한 Linear Relationship이 있지만 Extreme Point 하나 때문에 r가 크게 낮아질 수도 있습니다.
따라서 Correlation Value를 해석하기 전에 Scatter Plot을 확인해야 합니다.
Range Restriction도 Correlation에 영향을 줄 수 있다
예를 들어 전체 Population에서는 Age가 20~80인데 Sample이 20~30만 포함되어 있다고 하겠습니다.
Age Range가 매우 좁기 때문에 Age와 Response의 Correlation이 작게 나타날 수 있습니다.
즉 Correlation Coefficient는 관찰된 Sample Range에도 영향을 받습니다.
따라서 Data Range 확인이 EDA에서 중요합니다.
Group이 섞여 있으면 전체 Correlation이 왜곡될 수 있다
예를 들어 Male과 Female Group에서 각각 Relationship이 다를 수 있습니다.
두 Group을 합친 Scatter Plot에서는 전혀 다른 Association이 나타날 수 있습니다.
따라서 Categorical Group이 중요한 경우 Group별 Pattern도 확인할 수 있습니다.
앞서 배운 Interaction Effect와도 연결되는 부분입니다.
Correlation Matrix는 왜 필요할까?
Multiple Regression에서는 Response와 Predictor Relationship뿐 아니라 Predictor들끼리의 Relationship도 중요합니다.
첨부 교재는 Regression Analysis를 준비할 때 Potential Predictor Variables 사이 Correlation을 확인하는 것이 좋은 Practice라고 설명합니다.
왜냐하면 Predictor들끼리 매우 강하게 Correlated되어 있을 수 있기 때문입니다.
Predictor끼리 높은 Correlation이 있으면 무슨 문제가 있을까?
예를 들어:
X₁ = Runtime
X₂ = Performance
가 강하게 관련되어 있다면 두 Variables가 비슷한 Information을 제공할 수 있습니다.
Multiple Regression에서는 이들이 동시에 포함될 때 Regression Coefficient가 불안정해질 수 있습니다.
이 문제를 Multicollinearity라고 합니다.
Fitness Example의 Predictor Correlations
교재 Correlation Matrix에서는 Runtime과 Performance 사이 Correlation이:
r = -0.82049
p < .0001
입니다.
또:
Age와 Performance:
r = -0.71257
p < .0001
입니다.
즉 일부 Predictors 사이에도 상당히 강한 Linear Association이 존재합니다.
높은 Predictor Correlation = Multicollinearity 확정일까?
아닙니다.
Pairwise Correlation은 Multicollinearity Screening에 도움이 되지만 전체 Multivariate Collinearity Structure를 완전히 설명하지는 못합니다.
여러 Predictors의 Linear Combination 때문에 Collinearity가 생길 수도 있습니다.
따라서 이후 Regression Diagnostics에서는:
- VIF
- Tolerance
- Condition-related diagnostics
등을 사용할 수 있습니다.
교재도 Multiple Regression Model을 Test할 때 Multivariate Outliers를 추가로 확인해야 한다고 설명합니다.
EDA와 Multicollinearity Diagnostics는 역할이 다르다
EDA 단계에서는:
Predictor끼리 지나치게 강하게 연결되어 있지 않은가?
를 Screening합니다.
Regression Model을 Fit한 뒤에는 더 정식으로:
Coefficient Estimate가 Collinearity 때문에 불안정하지 않은가?
를 평가합니다.
즉 Exploratory Screening과 Formal Diagnostics를 구분해야 합니다.
Univariate EDA도 여전히 필요하다
Regression에서 Variable Relationship만 보는 것으로 충분하지 않습니다.
첨부 교재 Demonstration은 Continuous Variables의 Univariate Statistics도 앞선 Chapters처럼 조사해야 한다고 명시합니다.
Distribution Analysis Task를 이용하여:
- Distribution
- Central Tendency
- Spread
- Outliers
를 확인하도록 합니다.
즉 Regression EDA는:
Univariate Analysis
Bivariate Analysis
로 구성됩니다.
Univariate EDA에서는 무엇을 볼까?
각 Variable별로 다음을 확인합니다.
- N
- Missing
- Mean
- Median
- SD
- Min
- Max
- Quartiles
- Histogram
- Box Plot
등입니다.
왜 Predictor 자체의 Distribution이 중요할까?
예를 들어 Weight에:
- 대부분 50~100kg
- 한 Observation 900kg
이 있다면 Unit 또는 Entry Error일 수 있습니다.
이 Point는 Scatter Plot에도 영향을 주지만 Univariate Distribution에서는 더 쉽게 발견할 수 있습니다.
Response Distribution도 중요하다
Oxygen Consumption에 Extreme Value가 있으면 여러 Predictor와의 Correlation 모두에 동시에 영향을 줄 수 있습니다.
따라서 Response Variable 자체의 Distribution을 먼저 확인하는 것이 좋습니다.
Missing Data도 EDA에서 확인해야 한다
Variable별 Missing N이 다르면 Correlation마다 사용되는 Effective N이 달라질 수 있습니다.
예를 들어:
Runtime-Oxygen:
N=31
Weight-Oxygen:
N=25
라면 Correlation Strength를 직접 비교할 때 Data Population이 달라질 수 있습니다.
첨부 교재 Fitness Example에서는 Correlation Output의 N이 31로 표시됩니다.
Duplicate Observation도 확인해야 한다
Subject가 중복되어 있으면 각 Observation이 독립이라는 Regression Assumption에도 영향을 줄 수 있습니다.
따라서 ID Variable을 이용하여:
- Duplicate Subject
- Duplicate Measurement
를 확인하는 것도 Data Quality EDA의 일부가 될 수 있습니다.
EDA에서 먼저 Data Type을 확인해야 하는 이유
Scatter Plot과 Pearson Correlation은 기본적으로 두 Continuous Variables에 대한 Tool입니다.
Categorical Variable을 숫자로 Coding했다고 해서 Pearson Correlation을 기계적으로 적용하면 안 됩니다.
예:
Gender:
Male=1
Female=2
라고 저장되어 있어도 Continuous Measurement가 아닙니다.
따라서 Variable Role과 Measurement Scale을 먼저 확인해야 합니다.
Ordinal Category에도 주의해야 한다
예를 들어 Disease Stage:
1
2
3
4
가 Numeric으로 저장되어 있다고 해도 Level 간 Distance가 동일한 Continuous Scale이라고 보장할 수 없습니다.
따라서 단순 Pearson Correlation 적용 여부는 연구 목적과 Scale 특성을 고려해야 합니다.
EDA는 Statistical Model 선택과 연결된다
첨부 교재의 Statistical Models Overview에서는 Predictor와 Response Type에 따라 다음처럼 Model Family를 구분합니다.
Continuous Response + Categorical Predictor
ANOVA
Continuous Response + Continuous Predictor
Ordinary Least Squares Regression
Continuous Response + Continuous and Categorical Predictors
ANCOVA
Categorical Response
Logistic Regression 또는 Contingency Table Analysis
입니다.
따라서 EDA는 단순 Graphing이 아니라 어떤 Model을 사용할 것인지 판단하는 과정과 연결됩니다.
Linear Regression을 Fit하기 전에 묻는 핵심 질문
다음 질문이 유용합니다.
1. Response는 Continuous인가?
2. Predictor는 Continuous인가?
3. Scatter Plot에서 Linear Pattern이 있는가?
4. Extreme Observation이 있는가?
5. Relationship Direction은?
6. Pearson Correlation은?
7. Predictor끼리 강하게 관련되어 있는가?
8. Missing 또는 Coding Problem은?
입니다.
Scatter Plot에서 Cluster가 보이면?
예를 들어 Points가 두 개의 Cluster로 나뉜다고 가정하겠습니다.
이것은 숨겨진 Categorical Variable이 존재할 가능성을 시사할 수 있습니다.
예:
Male / Female
Treatment / Control
Region A / Region B
등입니다.
이 경우 전체 Data에 Linear Regression 하나만 Fit하는 것이 실제 Group Pattern을 왜곡할 수 있습니다.
Scatter Plot에서 Funnel Shape가 보이면?
X가 증가할수록 Y의 Spread가 커지는 Pattern입니다.
예:
낮은 X에서는 Y가 좁음
높은 X에서는 Y가 넓음
이런 Pattern은 이후 Regression Diagnostics에서 Heteroscedasticity 문제와 연결될 수 있습니다.
EDA 단계에서도 미리 이러한 Pattern을 발견할 수 있습니다.
Scatter Plot에서 Vertical 또는 Horizontal Band가 보이면?
Variable이 실제 Continuous Measurement가 아니라 Rounded 또는 Discrete Scale일 수 있습니다.
예:
Age가 Integer
Survey Score가 제한된 값
등입니다.
이 자체가 반드시 문제는 아니지만 Measurement Structure를 이해해야 합니다.
Scatter Plot에서 Ceiling/Floor Effect도 확인할 수 있다
Response가 상한이나 하한에 몰려 있다면 Linear Relationship이 왜곡될 수 있습니다.
예:
Score Maximum = 100
많은 Subjects가 100
이라면 Predictor가 커져도 Response가 더 증가할 수 없습니다.
이 경우 단순 Linear Model의 Fit을 주의해야 합니다.
Pearson Correlation은 Causality를 말하지 않는다
예를 들어 Runtime과 Oxygen Consumption의 Correlation이:
-0.862
라고 해서:
Runtime을 줄이면 Oxygen Consumption이 반드시 증가한다
는 Causal Conclusion을 내릴 수는 없습니다.
두 Variables는 같은 Fitness Level이라는 underlying construct와 관련될 수 있습니다.
즉:
Correlation
≠
Causation
입니다.
Fitness Example에서 특히 Causality를 조심해야 하는 이유
Runtime과 Oxygen Consumption은 운동 능력의 서로 다른 Measurement일 수 있습니다.
더 건강한 Subject가:
- 더 빨리 뛰고
- 더 높은 Oxygen Consumption 능력을 보일 수 있습니다.
즉 Runtime이 Oxygen Consumption의 Cause라고 단정할 수 없습니다.
Regression Prediction과 Causal Inference는 다른 문제입니다.
Correlation의 p-value도 Effect Magnitude가 아니다
Runtime과 Oxygen Consumption:
r=-0.862
p<.0001
입니다.
여기서는 Association도 강합니다.
하지만 일반적으로:
p<.0001
만으로 Correlation이 강하다고 말하면 안 됩니다.
Sample Size가 매우 크면 작은 r도 Significant할 수 있습니다.
따라서:
r
↓
Association Magnitude
p-value
↓
ρ=0에 대한 Evidence
를 구분해야 합니다.
Correlation Significance의 Null Hypothesis
교재 Output에는:
H0: Rho=0
가 표시됩니다.
즉 Population Correlation:
ρ
가 0이라는 Null Hypothesis를 검정합니다.
p<.05라면 Linear Association이 0이라는 H₀를 Reject할 Evidence가 있습니다.
p>.05이면 Correlation이 0이라고 증명된 것일까?
아닙니다.
예를 들어 Weight:
r=-0.16289
p=.3813
입니다.
이는 Population Correlation이 0과 다르다는 충분한 Evidence가 없다는 의미입니다.
Weight와 Oxygen Consumption이 어떠한 관계도 없다고 증명한 것은 아닙니다.
Correlation Ordering을 사용할 수 있다
첨부 교재 Demonstration에서는 Correlation Coefficients를 절댓값 감소 순서로 표시하도록 설정합니다.
이렇게 하면 Response와 가장 강한 Linear Association을 가진 Variables를 빠르게 볼 수 있습니다.
Fitness Example에서는:
Runtime
Performance
순으로 절댓값이 큽니다.
하지만 Ranking을 Predictor Priority로 바로 사용하면 안 된다
Correlation Ranking은 탐색용입니다.
Multiple Regression에서는:
- Other Predictors Adjustment
- Collinearity
- Scientific Relevance
등이 중요하기 때문입니다.
교재도 Correlation만으로 Inclusion/Exclusion 결정을 하지 말라고 명확하게 경고합니다.
Correlation Matrix에서 Predictor 관계를 확인하는 이유
Response와 강하게 Correlated된 두 Predictors가 서로도 강하게 Correlated되어 있다면 두 Variables가 중복 정보를 제공할 수 있습니다.
Fitness Example:
Runtime vs Performance
r=-0.82049
입니다.
즉 둘 다 Oxygen Consumption과 강하게 관련되어 있지만 서로도 매우 강하게 관련되어 있습니다.
Multiple Regression에서는 이 구조가 중요합니다.
“둘 다 Response와 강하게 Correlated되니 둘 다 넣으면 더 좋다”가 항상 맞지 않는다
두 Variables가 거의 같은 Information을 제공하면 Regression Coefficients의 Standard Error가 커지고 각각의 Unique Effect를 구분하기 어려워질 수 있습니다.
따라서 Bivariate Association과 Multivariable Contribution은 다른 문제입니다.
EDA의 핵심은 Model을 Fit하지 않는 것이 아니다
EDA를 오래 한다고 Regression을 안 하는 것이 목적은 아닙니다.
올바른 흐름은:
Data 이해
↓
Relationship 탐색
↓
Model Fit
↓
Diagnostics
↓
Interpretation
입니다.
즉 EDA는 Regression을 대체하는 것이 아니라 Regression을 더 정확하게 수행하기 위한 준비 단계입니다.
EDA 이후 Simple Linear Regression으로 넘어가는 과정
예를 들어 Fitness Data에서 Runtime과 Oxygen Consumption 사이에:
- 강한 Negative Correlation
- Scatter Plot에서 Linear Pattern
이 나타난다면 Runtime을 Predictor로 하는 Simple Linear Regression을 Fit할 수 있습니다.
구조는:
Oxygen_Consumption
=
β₀
β₁ Runtime
Error
입니다.
이후 Regression Coefficient와 R²를 해석합니다.
하지만 Strong Correlation만으로 Linear Regression이 완성되는 것은 아니다
Regression을 Fit한 후에도 다음을 확인해야 합니다.
- Residual Linearity
- Equal Variance
- Normality
- Influential Observations
즉:
EDA
와:
Regression Diagnostics
는 서로 다른 두 단계입니다.
EDA에서 발견한 Outlier와 Regression의 Influential Observation은 같은가?
아닙니다.
Outlier는 특정 Variable이나 Regression Residual에서 Extreme한 Observation일 수 있습니다.
하지만 Influential Observation은 그 Point를 제거했을 때 Regression Coefficient나 Model Fit이 크게 달라지는 Observation입니다.
즉:
Outlier
≠
Influential Observation
입니다.
이 차이는 Regression Diagnostics Cluster에서 더 자세히 다루게 됩니다.
High-Leverage Point도 별도 개념이다
Predictor Space에서 다른 Observations와 멀리 떨어진 Point를 High-Leverage Observation이라고 할 수 있습니다.
이 Point가 Regression Line을 강하게 끌어당길 수 있습니다.
Scatter Plot에서 Predictor Range 끝에 고립된 Point가 있다면 미리 주의할 수 있습니다.
EDA는 이러한 문제를 조기에 발견한다
정식 Regression Diagnostics 전에 다음 위험 Signal을 발견할 수 있습니다.
- Extreme X
- Extreme Y
- Curvature
- Clustering
- Funnel Pattern
- Limited Range
- High Predictor Correlation
따라서 Regression Model을 실행한 뒤 문제를 발견하는 것보다 훨씬 효율적입니다.
SAS Enterprise Guide의 Correlations Task
첨부 교재에서는 Fitness Data를 열고:
분석 → 다변량 → 상관분석
Task를 이용합니다.
Analysis Variables로 Potential Predictors를 지정하고:
Oxygen_Consumption
을 Correlate With Variable로 설정합니다.
Scatter Plots도 함께 생성한다
교재는 Results에서:
각 쌍에 대한 산점도 생성
을 선택합니다.
즉 Correlation Coefficient와 Scatter Plot을 동시에 확인합니다.
이것이 올바른 EDA 흐름과 잘 맞습니다.
SAS Default Scatter Plot 수 제한
첨부 교재에서는 기본적으로 최대:
5개의 Scatter Plot
이 생성된다고 설명합니다.
더 많은 Scatter Plot을 생성하려면 Generated Code를 수정합니다.
교재에서 Code를 어떻게 수정할까?
Code Preview를 열고 PROC CORR의 Insertion Point에서 다음 Statement를 추가합니다.
PLOTS=(SCATTER(NVAR=ALL) MATRIX(NVAR=ALL))
이렇게 하면 모든 Variables에 대한 Scatter Plot과 Matrix를 생성할 수 있습니다.
이 부분이 앞선 Generated Code 글과 다시 연결된다
GUI의 Default는 Convenience를 위한 것입니다.
하지만 분석 목적에 따라 더 많은 Graph가 필요하면 Generated Code를 확인하고 수정해야 할 수 있습니다.
즉:
GUI Task
↓
Generated SAS Code
↓
Customization
구조가 Regression EDA에서도 반복됩니다.
Scatter Plot Matrix란 무엇인가?
여러 Variables의 Pairwise Scatter Plots를 하나의 Matrix 형태로 표시합니다.
Predictor가 많을 때:
- Predictor vs Response
- Predictor vs Predictor
Pattern을 한눈에 확인하는 데 유용합니다.
Fitness Example에서도 동일한 Scatter Plots를 Scatter Plot Matrix로 표시합니다.
Predictor Correlation Matrix를 따로 생성하는 과정
교재는 이후 Correlations Task를 다시 열고 Oxygen Consumption을 제거하여 Potential Predictors끼리의 Correlation Matrix를 생성합니다.
즉 Regression EDA를 두 단계로 진행합니다.
Step 1
Predictors vs Response
Step 2
Predictors vs Predictors
입니다.
왜 두 단계를 구분할까?
첫 번째는:
어떤 Predictor가 Response와 어떻게 관련되어 있는가?
를 봅니다.
두 번째는:
Predictors끼리는 어떻게 관련되어 있는가?
를 봅니다.
Multiple Regression에서는 두 질문이 모두 중요합니다.
EDA의 좋은 실무 Workflow
다음 순서가 유용합니다.
Step 1. Data Structure 확인
Observation 수
Variable Type
ID
Missing
Step 2. Univariate Statistics
Mean
Median
SD
Min
Max
Distribution
Step 3. Response vs Predictor Scatter Plots
Shape
Direction
Outlier
Range
Step 4. Pearson Correlation
Linear Association 정량화
Step 5. Predictor Correlation Matrix
Potential Redundancy 확인
Step 6. Data Quality 확인
Unit
Coding
Impossible Value
Step 7. Regression Model Fit
입니다.
EDA에서 확인해야 할 Relationship Shape
다음 Pattern을 구분하는 것이 좋습니다.
Positive Linear
X ↑ → Y ↑
Negative Linear
X ↑ → Y ↓
Curved
Straight Line 부적절 가능
Cyclical
Time Pattern 가능
Clustered
Hidden Group 가능
Funnel
Variance Structure 문제 가능
No clear pattern
Predictive Relationship 제한 가능
입니다.
“No clear pattern”이면 Predictor를 빼면 될까?
자동으로 그러면 안 됩니다.
이유는 다음과 같습니다.
- 다른 Variables Adjust 후 Effect가 나타날 수 있음
- Interaction이 있을 수 있음
- Nonlinear Relationship일 수 있음
- Measurement Error가 있을 수 있음
- Scientificly Important Predictor일 수 있음
따라서 EDA 하나만으로 Model Specification을 결정하면 안 됩니다.
EDA는 Data Dredging과 같은가?
아닙니다.
EDA 자체는 중요한 Statistical Practice입니다.
문제는 EDA에서 우연히 발견한 Pattern을 Confirmatory Evidence처럼 Report하는 것입니다.
즉:
Exploratory
와:
Confirmatory
Label을 구분해야 합니다.
EDA가 많을수록 좋은가?
무조건 Graph를 많이 만드는 것이 목적은 아닙니다.
Research Question과 Model에 필요한 Information을 얻는 것이 목적입니다.
수백 개 Variables가 있다면 모든 Pair Scatter Plot을 무계획적으로 보는 것보다:
- Scientific Relevance
- Data Dictionary
- Predefined Candidate Predictors
를 기준으로 체계적으로 탐색하는 것이 좋습니다.
EDA에서 p-value Hunting을 하면 안 되는 이유
Correlation Table에 여러 p-value가 있다고 해서:
p<.05 Predictor만 선택
하면 Selection Bias가 생길 수 있습니다.
특히 Predictor가 많으면 우연히 Significant한 Correlation이 나올 수도 있습니다.
교재가 Inclusion/Exclusion Decision에 EDA를 사용하지 말라고 경고하는 이유와 연결됩니다.
Scatter Plot에서 매우 강한 Pattern이 보이면 p-value가 필요 없을까?
Statistical Inference를 하려면 Sample Size와 Variability를 고려해야 합니다.
Graph는 Pattern 이해에 매우 강력하지만 Population Inference를 대신하지는 않습니다.
따라서:
Visualization
Statistical Model
을 함께 사용합니다.
EDA와 Domain Knowledge는 같이 가야 한다
예를 들어 Weight와 Oxygen Consumption Relationship을 분석할 때:
- Body Composition
- Age
- Gender
- Training Status
등의 Domain Knowledge가 Model Interpretation에 도움이 됩니다.
단순 Correlation Ranking만으로 Scientific Model을 만들면 중요한 Context를 놓칠 수 있습니다.
EDA는 Regression Coefficient 해석 오류도 줄여준다
Regression 결과에서 β₁이 Positive라고 나왔는데 Scatter Plot은 U-shaped라면 β₁ 하나로 Relationship을 설명하는 것이 부적절할 수 있습니다.
즉 Model Output만 보면 놓칠 수 있는 문제를 EDA가 보여줍니다.
EDA가 Model Assumption과 어떻게 연결되는가?
Linear Regression의 주요 Assumptions은 이후 자세히 다루지만 EDA에서 미리 Signal을 찾을 수 있습니다.
Linearity
Scatter Plot
Constant Variance
Scatter/Funnel Pattern
Outlier
Scatter Plot / Box Plot
Multicollinearity Risk
Predictor Correlation Matrix
입니다.
정식 Assumption Test는 Model Fit 후 Residual Diagnostics에서 수행합니다.
EDA의 역할을 한 문장으로 표현하면
Regression이 계산 가능한지 확인하는 것이 아니라, Regression 결과를 믿고 해석할 수 있는 Data Structure인지 먼저 이해하는 과정입니다.
입니다.
흔한 오해 정리
“Regression은 바로 Model부터 Fit하면 된다”
권장하기 어렵습니다.
교재도 Regression Chapter를 EDA부터 시작하며 Scatter Plot과 Correlation을 먼저 확인합니다.
“Correlation이 높으면 반드시 Linear Regression이 적절하다”
아닙니다.
Scatter Plot으로 Relationship Shape와 Outlier를 확인해야 합니다.
“Correlation이 0이면 두 Variables에 아무 관계도 없다”
아닙니다.
Nonlinear Relationship이 존재할 수 있습니다.
“p<.05인 Correlation만 Regression Predictor로 넣으면 된다”
아닙니다.
교재는 Bivariate EDA만으로 Inclusion/Exclusion Decision을 하지 말라고 명확히 설명합니다.
“p>.05인 Correlation은 아무 의미가 없다”
아닙니다.
Multiple Regression에서 Adjusted Effect가 나타날 수 있고 Nonlinear Pattern이 있을 수도 있습니다.
“Scatter Plot에서 Outlier를 발견하면 삭제한다”
아닙니다.
Data Error인지 Valid Observation인지 먼저 확인해야 합니다.
“Response와 Correlation이 높은 Predictor는 여러 개 넣을수록 좋다”
아닙니다.
Predictors끼리 높은 Correlation이 있으면 Multicollinearity 문제가 생길 수 있습니다.
“Correlation Matrix만 보면 Multicollinearity를 완전히 진단할 수 있다”
아닙니다.
Screening Tool이며 이후 Formal Diagnostics가 필요합니다.
“r=-0.8은 r=+0.8보다 약한 Relationship이다”
아닙니다.
절댓값 기준 Linear Association Strength는 같고 Direction만 다릅니다.
“Correlation p<.0001이면 Causal Relationship이다”
아닙니다.
Correlation은 Association입니다.
“Scatter Plot Lines가 Non-Parallel하면 이 EDA에서도 Interaction이 확정된다”
아닙니다.
Group-specific Pattern은 Interaction 가능성을 시사할 수 있지만 Interaction Term 자체를 Model에서 Test해야 합니다.
“Numeric Variable이면 모두 Pearson Correlation을 사용할 수 있다”
아닙니다.
Measurement Scale과 Statistical Role을 확인해야 합니다.
“GUI가 만든 기본 Graph만 보면 충분하다”
분석 목적에 따라 Generated Code 수정이 필요할 수 있습니다. 교재에서도 기본 Scatter Plot 수를 넘기기 위해 PROC CORR Code를 수정합니다.
Fitness Example의 EDA 흐름
교재의 분석을 전체적으로 정리하면 다음과 같습니다.
Research Question
↓
어떤 Variables가 Oxygen Consumption과 관련되어 있는가?
↓
Potential Predictors
Runtime
Age
Weight
Run_Pulse
Rest_Pulse
Maximum_Pulse
Performance
↓
Univariate Exploration
Distribution
Central Tendency
Spread
Outlier
↓
Bivariate Scatter Plots
각 Predictor vs Oxygen Consumption
↓
Pearson Correlations
↓
가장 강한 Associations:
Runtime:
r=-0.86219
Performance:
r=0.77890
↓
Predictor Correlation Matrix
↓
Runtime vs Performance:
r=-0.82049
Age vs Performance:
r=-0.71257
↓
Potential Redundancy / Collinearity Risk 확인
↓
Regression Model
로 이동
입니다.
SAS Enterprise Guide에서의 EDA 구조
첨부 교재의 Demonstration은 다음과 같습니다.
Fitness Dataset 열기
↓
Correlations Task
↓
Potential Predictors를 Analysis Variables에 지정
↓
Oxygen_Consumption을 Correlate With로 지정
↓
Scatter Plots 선택
↓
Correlation Absolute Value Ranking 선택
↓
필요하면 Generated Code 수정
↓
Run
↓
Correlation Table
Scatter Plots
Scatter Plot Matrix
↓
Task 수정
↓
Response 제거
↓
Predictor Correlation Matrix 생성
입니다.
왜 다음 글이 Scatter Plot인가?
EDA라는 큰 개념 안에서 가장 중요한 첫 번째 Tool이 Scatter Plot이기 때문입니다.
첨부 교재도:
두 Continuous Variables의 관계를 설명하는 데 Scatter Plot은 가장 중요한 Tool이다.
라고 강조합니다.
Scatter Plot을 제대로 읽을 수 있어야:
- Linear Relationship
- Curvature
- Outlier
- Cluster
- Range
를 구분할 수 있습니다.
이후 Pearson Correlation은 그 Linear Association을 하나의 숫자로 정량화합니다.
즉 다음 흐름입니다.
Scatter Plot
↓
Relationship Shape 확인
↓
Pearson Correlation
↓
Linear Association Quantification
↓
Regression
↓
Mathematical Relationship Modeling
입니다.
EDA는 Regression 결과를 미리 결정하는 단계가 아니다
이 점을 마지막으로 다시 강조할 필요가 있습니다.
교재는 Exploratory Correlation과 Scatter Plot Analysis를 이용하여 여러 Variables가 Oxygen Consumption의 좋은 Predictor 후보처럼 보일 수 있다고 설명합니다.
하지만 동시에 이 EDA 결과를 기준으로 Variable Inclusion이나 Exclusion을 결정하지 말라고 합니다.
즉:
EDA
↓
Candidate Relationship 이해
이지:
EDA
↓
Final Model 확정
이 아닙니다.
핵심 정리
Exploratory Data Analysis는 Regression을 실행하기 전 Data Structure와 Variable Relationships를 이해하는 단계입니다.
첨부 교재의 Regression Chapter 역시 가장 먼저 EDA를 다루며 다음을 주요 목표로 제시합니다.
- Scatter Plot으로 두 Continuous Variables의 관계 확인
- Correlation Statistics로 Association 정도 정량화
- Correlation Coefficient의 Potential Misuse 이해
- SAS Correlations Task로 Pearson Correlation 계산
교재는 Multiple Regression 준비 단계에서 Predictor와 Response 사이의 Bivariate Scatter Plots와 Correlations를 확인한다고 설명합니다.
하지만 이 단계의 목적은 Predictor를 자동으로 포함하거나 제거하는 것이 아닙니다.
핵심 목적은:
Relationship Shape 확인
↓
Linear Regression의 Linear Shape가 적절한가?
그리고:
Outlier Screening
입니다.
Scatter Plot은 특히 중요합니다.
교재는 Scatter Plot의 주요 용도로:
- Relationship 탐색
- Outlier 확인
- Trend 확인
- X/Y Range 확인
- Result Communication
을 제시하며, Continuous Variables 관계를 설명하는 데 가장 중요한 Tool이라고 강조합니다.
Fitness Example에서는 Oxygen Consumption을 Response로 사용하고:
- Runtime
- Age
- Weight
- Run_Pulse
- Rest_Pulse
- Maximum_Pulse
- Performance
와의 관계를 분석합니다.
가장 강한 Sample Correlations 가운데:
Runtime
r=-0.86219
p<.0001
그리고:
Performance
r=0.77890
p<.0001
가 확인됩니다.
하지만 Predictor들끼리도 Association이 존재합니다.
예를 들어:
Runtime vs Performance
r=-0.82049
이고:
Age vs Performance
r=-0.71257
입니다.
따라서 Regression EDA에서는:
Predictor vs Response
뿐 아니라:
Predictor vs Predictor
도 확인해야 합니다.
전체 과정은 다음과 같습니다.
Data Quality 확인
↓
Univariate Distribution 확인
↓
Scatter Plot
↓
Relationship Shape
Outlier
Range
↓
Pearson Correlation
↓
Direction + Linear Association Strength
↓
Predictor Correlation Matrix
↓
Potential Redundancy / Collinearity Risk
↓
Regression Model Fit
↓
Residual 및 Influence Diagnostics
입니다.
그리고 가장 중요한 원칙은 다음과 같습니다.
EDA에서 높은 Correlation을 찾는 것이 목적이 아니라, Regression Model이 실제 Data Relationship을 적절하게 표현할 수 있는지 이해하는 것이 목적입니다.
따라서 EDA는 Regression의 부수적인 준비 작업이 아니라 Model Specification과 Interpretation 오류를 줄이는 첫 번째 분석 단계라고 볼 수 있습니다.
함께 읽으면 좋은 글
- Scatter Plot의 해석 원리: 두 연속형 변수의 관계와 이상 패턴을 확인하는 방법
- Pearson Correlation의 구조: 상관계수의 크기와 방향이 의미하는 것
- Correlation과 Causality의 차이: 높은 상관관계가 인과관계를 의미하지 않는 이유
- Simple Linear Regression의 구조: 하나의 Predictor로 Response를 설명하는 원리
- Multicollinearity의 원리: 설명변수 간 높은 상관이 회귀계수를 불안정하게 만드는 이유
참고한 자료
- SAS Enterprise Guide: ANOVA, Regression, and Logistic Regression Course Notes
- Chapter 4 Regression
- Exploratory Data Analysis
- Scatter Plots
- Relationships between Continuous Variables
- Correlation
- The Correlations Task
- Fitness Example
- Data Exploration, Correlations, and Scatter Plots
- Predictor Correlation Matrix




댓글 0
첫 댓글을 남겨보세요.