끄적끄적
2025.07.01 통계 세션 4 본문
| 튜터 | 곽승예 튜터님 |
| 수업 목표 | 1. 상관과 회귀 개념에 대해 이해합니다. 2. 선형회귀란 무엇이고 어떻게 사용할 수 있을지 배워봅니다. |
1️⃣ 상관과 회귀
📌 상관관계
양적 변수 2개는 x축과 y축으로 이루어진 산점도로 표현할 수 있다.
이때, 두 변수의 관계성을 상관(correlation)이라고 하며, 2개의 확률변수 또는 데이터 사이의 관계성을 의미한다.
-> 단, 상관관계가 있다고 인과관계(원인과 결과로 이어지는)가 있다고는 말 할 수 없다.
상관관계는 두 변수의 관계의 강도를 나타내는 상관계수로 표현할 수 있으며, 대표적인 예로 피어슨 상관계수, 스피어만 상관계수가 있다.
피어슨 상관계수

- 두 변수 사이 선형 관계의 정도와 방향을 수치로 표현하는 지표
- -1 ≤ r ≤ 1 범위를 갖게 됨
- 0.7 < |r| ≤ 1 : 강한 상관
- 0.4 < |r| ≤ 0.7 : 중간 정도 상관
- 0.2 < |r| ≤ 0.4 : 약한 상관
- 0.0 < |r| ≤ 0.2 거의 상관 없음
- -> 상관계수만 보고 관계가 없다고 결론 내리는 것은 위험하다.

스피어만 순위상관계수 p

- 두 변수의 순위 간 상관관계를 측정하는 지표 → 값 자체보다는 값이 커지거나 작아지는 순서 관계에 집중
피어슨 vs 스피어만 상관계수
|
항목
|
피어슨 상관계수
|
스피어만 상관계수
|
|
측정대상
|
선형 관계
|
단조(monotonic) 관계
|
|
입력값
|
원자료(x,y)
|
순위(rank)
|
|
정규성 필요
|
있음 (추론 시)
|
없음
|
|
이상치 영향
|
민감
|
덜 민감
|
|
비선형 관계 대응
|
약함
|
강함 (단조성만 유지하면 OK)
|
📌 회귀
회귀란 y = f(x)라는 함수를 통해 변수 사이의 관계를 공식화 하는 것이다.
회귀분석은 주어진 데이터를 가장 잘 설명할 수 있는 함수의 기울기와 절편을 찾는 것이다.
즉, 회귀분석은 우리가 얻은 데이터에 잘 들어맞는 f(x)를 추정하는 것이고
f(x)의 형태를 결정하는 파라미터 a, b를 회귀계수(regression coefficient)라 한다.
회귀분석을 실행할 때 중요한 점
- 어떤 회귀식을 적용할 것인가?
- 선형 회귀, 다항 회귀, 로지스틱 회귀 등 어떤 형태가 데이터를 가장 잘 설명할까?
- 독립변수와 종속변수 관계가 선형일까, 비선형일까?
- 어떻게 회귀식을 데이터에 적용할 것인가?
- 주어진 데이터로부터 기울기와 절편은 어떻게 구할까?
- 최소제곱법(OLS), 정규화(릿지/라쏘) 등 어떤 방법으로 추정할 것인가?
- 얻은 회귀모형을 어떻게 평가할 것인가?
- 예측 성능은 좋은가? 과적합(overfitting)은 아닌가?
- \(R^2\), MSE, RMSE 같은 평가 지표를 어떻게 해석해야 할까?
2️⃣ 선형회귀
선형회귀란 종속변수(Y)와 독립변수(X)가 선형관계를 가지는 모델로,
1)선형성, 2)등분산성, 3)오차의 독립성, 4)오차의 정규성을 만족해야한다.
📌 단순선형회귀
단순선형회귀는 단일한 독립변수로 종속변수를 예측하는 방법으로 X와 Y는 선형 관계에 있다고 가정한다.
단순선형회귀의 목표는 회귀계수를 조절해서 잔차(실제값-예측값)을 최소화하는 것이다.
이를 평가하기 위해 여러가지 지표를 사용한다.
잔차제곱합(RSS, residual sum of squares )
- \(RSS = e_1^2 + e_2^2 + … + e_n^2\)
- \( e_n^2 : (y_n - \hat{\beta}_0 -\hat{\beta}_1x_n)^2\)
- 잔차는 양수와 음수가 섞이기 때문에 그냥 더하는 것이 아닌, 제곱 후 더한다.
- RSS가 작을수록 잔차가 작고, 해당 모델이 데이터를 잘 설명한다고 할 수 있다.
- RSS를 최소화하는 방법에는 최소제곱법(OLS)이 있다.
회귀계수는 아래와 같은 방법으로 가설검정이 이루어진다.
- 우리가 구한 \( \hat{\beta}_1\)은 X와 Y 사이에 실제로 관계가 있다고 말할 수 있을까?
- 귀무가설(H₀): \( \beta_1 = 0\) (X와 Y 사이에 관계가 없다)
- 대립가설(H₁): \(\hat{\beta}_1 ≠ 0\) (X와 Y 사이에 관계가 있다)
- t-통계량 계산 :
- \( t = \frac{\hat{\beta}_1 - 0}{표준오차}\)
- p-value : 귀무가설이 참일 때 이 t값이 우연히 나올 확률
- p < 0.05라면 통계적으로 \( \beta_1\)이 0이 아니라고 주장할 수 있음 → x에 대해 기울기가 선형관계다.
회귀계수의 95% 신뢰구간은 아래와 같이 구할 수 있다.
- \( \text{신뢰구간} = \hat{\beta}1 \pm t_{\alpha/2} \cdot \text{SE}(\hat{\beta}_1)\)
- \( \hat{\beta}_1\) : 표본에서 추정한 회귀계수
- \( t_{\alpha/2}\) : 신뢰수준(예: 95%)에 해당하는 t-분포 임계값
- \( \text{SE}(\hat{\beta}_1)\) : \( \hat{\beta}_1\)의 표준오차
그러나, 이렇게 추정한 회귀식은 추정일 뿐 이 직선이 데이터를 완벽하게 설명한다는 보장은 없다.
-> 따라서 별개의 지표로 회귀식이 잘 들어맞는지 평가할 필요가 있다.
📌 회귀모형 평가
회귀분석은 모든 점에 대해 정확한 예측이 아니라 전체적으로 어떤 패턴이나 경향이 있는지를 설명해야 한다.
잔차표준오차(RSE)
- 평균적으로 예측이 얼마나 빗나갔는지를 나타내는 값
- 오차 평균 크기를 표준화해서 보여준다. ( \( \sqrt\frac{RSS}{n-2}\))
결정계수 \( (R^2)\)

- 오차만 줄이는 게 아니라 데이터의 전체적인 변화를 얼마나 잘 설명하고 있는지를 숫자로 보여주는 지표
- 회귀모형이 전체 변동성 중에서 얼마나 설명했는가(=X를 사용해 설명할 수 있는 Y의 변동비율)
- 해석
- 값 범위: \( 0\le R^2 \le 1\)(1에 가까울수록 모델이 데이터를 잘 설명함)
- ex. \( R^2\)이 0.85면, 전체 y의 변동 중 85%를 모델이 잘 설명했다는 것을 의미
- 단순선형 회귀에서는 \( R^2=r^2\)가 된다. (이 때, r^2 는 피어슨 상관계수를 의미함)
- 결정계수의 한계:
- 변수를 많이 넣으면 무조건 \( R^2\)이 올라감 → 의미 없는 변수를 넣어도 모델이 더 좋아 보임
- 변수 수(p)와 표본 크기(n)를 고려한 수정된 결정계수(Adjusted \( R^2\)) 등장
- 불필요한 변수를 추가했을 땐 증가하지 않고 유의미한 변수만 포함했을 때 증가
3️⃣ 다중회귀
다중선형회귀는 독립변수가 여러개일 때 사용한다.
가설검정

F 통계랑
- 모형이 얼마나 의미 있는 설명을 했는가를 두 개의 분산(평균 제곱)의 비율로 표현하는 것
- F 통계량 계산법

- ESS = TSS - RSS : 회귀모형이 설명한 변동성
- RSS : 설명하지 못한 오차
- p : 독립변수 개수, n : 표본 개수
- 공정한 비교를 위해 제곱합인 ESS와 RSS를 평균제곱(MS) 사용
-> 데이터가 많든 적든 변수 수가 몇 개든 비교 기준이 정규화되기 때문에 신뢰할 수 있다
| 항목 | 의미 | 나누는 기준 |
| MSE모형(MS모형) | 모델이 변수 하나당 설명한 평균적인 변동량 | 변수 수 p |
| MSE오차(MS오차) | 모델이 각 데이터 하나에 대해 평균적으로 틀린 정도 | 관측 수 n 기준 자유도 |
모델 적합도 평가
| 지표 | 설명 | 해석 관점 |
| \( R^2\) | 전체 y의 변동 중 회귀모형이 설명하는 비율 | 설명력 |
| Adjusted \( R^2\) | 변수 수를 고려한 보정된 결정계수 | 공정한 설명력 |
| RSS | 예측값과 실제값 사이 오차 제곱합 | 전체 오차량 |
| RSE | RSS를 자유도로 나눈 평균적 오차 | 예측 정확도 (단위: y와 동일) |
| F-통계량 | 전체 모형이 유의미한지 검정 | 통계적 유의성 |
| 잔차 분석 | 잔차가 랜덤한가? 패턴이 있나? | 가장 적합 여부 (정규성, 등분산성) |
| AIC / BIC | 모델 간 비교에 사용되는 정보기반 기준 | 변수 선택 (낮을수록 좋음) |
- AIC : 예측 정확도에 초점 (과적합 방지)
- BIC : 모델의 간결함(보수적 선택)에 초점
⇒ 적합도(RSS)와 모델 복잡도(변수 개수)를 함께 고려해서 가장 좋은 모델을 고르기 위한 기준이 됨
단, 절대값에는 의미가 없고 서로 다른 모델 간 비교용으로 사용한다는 점에 주의
변수 선택
- 너무 많은 변수를 넣으면 오히려 예측 성능이 떨어지거나(과적합 문제) 해석이 어려울 수 있음
- 변수 선택방법
방법 설명 장점 단점 전진 선택법
(Forward Selection)변수 하나씩 추가해가며 가장 좋은 모델 선택 해석 간단 처음 선택이 틀리면 문제 후진 제거법
(Backward Elimination)모든 변수에서 하나씩 제거하며 비교 강력함 처음 변수 많으면 부담 큼 단계적 선택법 (Stepwise) 전진 + 후진 병합 방식 균형 잡힘 계산량 큼 AIC / BIC 기반 선택 AIC / BIC 값 가장 낮은 조합 선택 과적합 방지에 좋음 자동화 필요
⇒ 불필요한 변수를 제거하고, 서로 겹치는 정보를 제거해야 한다!
다중공선성
- 다중선형회귀에서 독립변수들끼리 강한 상관관계를 가질 때 발생하는 문제
- 증상
- 예측 성능은 나쁘지 않은데 회귀계수의 의미가 이상할 때
- \( R^2\)는 높지만 각 변수의 p-value가 큼
- 변수끼리 상관계수가 0.8 이상이면 의심
- 진단방법
- 관계수 행렬 : 독립변수들끼리의 상관관계 확인
- VIF (Variance Inflation Factor) 계산

- \( R_j^2\) : \( x_j\)를 나머지 변수들로 회귀했을 때의 결정계수
- VIF 값이 10 이상이면 일반적으로 다중공선성이 심하다고 판단함
- 해결방법
- 상관계수 높은 변수 둘 중 하나 제거
- 변수 결합 (합치거나 비율로 변환)
- 주성분 분석(PCA) : 공통 정보만 추출해 차원 축소
- Ridge 회귀 : 정규화 회귀 → 계수에 패널티를 주어 안정화
4️⃣ 선형회귀의 잠재적 문제
회귀선이 그려졌다고 끝이 아니라 그 결과를 믿어도 되는지, 오류는 없는지, 모델이 잘 작동했는지 확인할 필요가 있다.
1. 선형성 가정 (Linearity)
- 문제 : 데이터와 회귀선이 선형 관계가 아닐 수 있음
- 예측값과 실제값의 차이(잔차)에 패턴이 보이는 경우
- 특히 U자 형태, 곡선 형태라면 선형 모델 부적합
- 잔차 - 예측값 산점도 그래프로 확인
- 해결 방법
- 변수 변환 (로그, 제곱 등)
- 비선형 모델로 전환 (다항회귀, SVM 등)
2. 오차항의 독립성 (Independence)
- 문제 : 오차끼리 서로 상관되어 있음
- 주로 시계열 데이터에서 발생
- 오차가 시간에 따라 연속적이거나 주기적 패턴을 가짐
- 잔차 시계열 그래프, Durbin-Waston 검정 사용
- 해결 방법
- 시계열 회귀모형 사용 (ARIMA 등)
- 변수에 시간 요소 추가
3. 등분산성 가정 (Homoscedasticity)
- 문제 : 오차항의 크기가 일정하지 않음
- 예측값이 커질수록 오차도 커지는 형태
- p-value, 신뢰구간 등 추론 결과 왜곡
- 잔차 - 예측값 그래프, Breusch-Pagan Test, White’s Test 등으로 확인 가능
- 해결 방법
- 변수 변환 (Log, sqrt 등)
- 가중 최소제곱(WLS)
- Robust 표준오차 사용
4. 이상치 (Outlier)
- 문제 : 특정 y값이 다른 데이터에 비해 지나치게 크거나 작음
- 회귀계수를 왜곡하거나 모델 전체의 방향성을 바꿀 수 있음
- 잔차 그래프 또는 boxplot으로 직관적인 확인
- 스튜던트화 잔차로 정량 확인
- 해결 방법
- 이상치 제거 또는 분리 모델링
- 변수 변환
5. 지렛점 관측치 (High Leverage Point)
- 문제 : x값이 전체 범위에서 유독 튀는 데이터
- y가 이상하지 않아도 회귀선의 기울기를 강하게 당김
- 지렛값(hat value) 계산을 통해 확인 가능 (0~1 사이, 평균은 $\frac{p+1}n$)
- 영향력 관측치: Cook’s Distance 확인
- 해결 방법
- 영향력 높은 관측 제거 또는 별도 분석
- robust 회귀 또는 변수 변환
2025.06.25 - [[스파르타]내일배움캠프 데이터 분석 트랙] - 31일차 - 통계 세션 1
31일차 - 통계 세션 1
튜터곽승예 튜터님수업 목표1. 통계를 왜 배워야 하는지 생각해본다.2. 첫 술에 배부르랴’ 마인드를 깊이 새긴다.3. 기술 통계와 추론 통계에 차이를 이해한다.4. 정규분포와 가설검정에 대해 알
kminx.tistory.com
2025.06.30 - [[스파르타]내일배움캠프 데이터 분석 트랙] - 34일차 - 통계 세션 2
34일차 - 통계 세션 2
튜터곽승예 튜터님수업 목표1. 신뢰구간이 무엇이고, 왜 사용하는지 알아봅니다.2. p-value를 이해하고 어떻게 사용할 수 있을지 배웁니다.더보기표본오차일부 표본만 관찰했기에 생기는 오차로,
kminx.tistory.com
2025.07.01 - [[스파르타]내일배움캠프 데이터 분석 트랙] - 34일차 - 통계 세션 3
34일차 - 통계 세션 3
튜터곽승예 튜터님수업 목표1. 상황에 맞는 가설검정 방법을 알아봅니다. 2. 파이썬으로 어떻게 가설검정할 수 있는지 실습해봅니다. 1️⃣ 수치형 변수 가설검정데이터의 형태와 분석 목적에
kminx.tistory.com
'[스파르타]내일배움캠프 데이터 분석 트랙 > Session' 카테고리의 다른 글
| 2025.07.02 Pandas 실무 기초 세션 1 (1) | 2025.07.09 |
|---|---|
| 2025.07.01 머신러닝 세션 2 (4) | 2025.07.09 |
| 2025.06.30 머신러닝 세션 1 (0) | 2025.07.02 |
| 2025.06.30 통계 세션 3 (0) | 2025.07.01 |
| 2025.06.27 통계 세션 2 (1) | 2025.06.30 |