목차

제1절 통계학 개론

제2절 기초 통계 분석

제3절 다변량 분석

제4절 시계열 예측

제5절 주성분 분석


1. 회귀 분석


회귀분석은 하나 이상의 독립변수($x_1$, $x_2$, $x_3$, $…$)를 통해 종속변수 $y$를 예측하거나 설명하고, 이들 간의 관계를 수치적으로 추정하는 통계 기법입니다. 이때 독립변수는 설명변수(explanatory variable) 또는 예측변수 (predictor), 종속변수는 반응변수(response variable) 또는 결과변수(outcome variable)라고도 한다. 회귀분석은 기본적으로 변수가 연속형 변수일 때 사용하며, 범주형 변수일 경우 이를 파생변수로 변환하여 사용한다. 만약에 종속변수가 범주형일 경우 로지스틱 회귀분석을 사용한다. 변수들이 일정한 경향성을 띤다는 의미는 그 변수들이 일정한 인과관계를 갖고 있다고 추측할 수 있다. 따라서 산점도를 봤을 때 일정한 추세선이 나타난다면, 경향성을 가지거나 혹은 변수들 간에 인과관계가 존재한다고 미루어 생각할 수 있다. 다음의 산점도를 보면 2번 그래프는 선형적인 추세선을, 3번 그래프는 2차 곡선 형태의 추세선을 나타내고 있다. 나머지 1번과 4번에서는 데이터들이 어떤 추세선을 나타낸다고 보기 어렵다. 분석을 하기전 미리 EDA를 통해 산점도를 그려보면 변수들 간에 어떤 의미 있는 관계가 있는지 미리 짐작할 수 있다. Scatter

회귀분석의 종류

| **종류** | **수식 (모형 식)** | **모형 특징** | |——————–|———————-|—————-| | **단순 선형 회귀** | $ y = \beta_0 + \beta_1 x + \varepsilon $ | 독립변수 1개, 선형 관계 | | **다중 선형 회귀** | $ y = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \cdots + \beta_k x_k + \varepsilon $ | 독립변수 2개 이상, 선형 관계 | | **단순 다항 회귀** | $ y = \beta_0 + \beta_1 x + \beta_2 x^2 + \cdots + \beta_n x^n + \varepsilon $ | 독립변수 1개, 비선형 추세 (다항식 형태) | | **다중 다항 회귀** | $ y = \beta_0 + \beta_1 x_1 + \beta_2 x_1^2 + \beta_3 x_2 + \beta_4 x_2^2 + \cdots + \varepsilon $ | 여러 독립변수의 다항식 결합 | | **비선형 회귀** | $ y = \beta_0 + \beta_1 e^{\beta_2 x} + \varepsilon $ | 계수 또는 함수 형태 자체가 비선형 (지수, 로그 등) |

용어의 유래

  • ‘Regression’은 본래 ‘되돌아간다’는 뜻입니다. 이 용어는 영국의 유전학자 프랜시스 골턴(Francis Galton)이 처음 사용했습니다.
    • 골턴은 부모의 키와 자녀의 키 간의 관계를 연구하면서, 부모의 키가 평균보다 클수록 자녀의 키는 다소 작아지고, 부모가 평균보다 작을수록 자녀의 키는 다소 커지는 경향이 있음을 발견했습니다.
    • 즉, 자녀의 키가 전체 인구 평균 키로 ‘되돌아가는’경향을 보였으며, 이를 ‘회귀(regression) wowards the mean’이라고 명명했습니다.
  • 이후, 칼 피어슨(Karl Pearson)이 이 개념을 바탕으로 선형 회귀 이론을 수학적으로 정립하였습니다.

인과관계와 회귀분석

  • 산점도와 회귀선은 변수 간의 관계를 시각화하지만, 상관성 ≠ 인과성입니다.
  • 인과관계를 주장하기 위해서는 다음과 같은 전제 조건이 충족되어야 합니다: |전제 조건|설명| |——-|—| |선형성|독립변수와 종속변수 간 성형 관계가 존재해야 함| |독립성|오차항들이 서로 독립적이어야 함| |등분산성|오차의 분산이 일정해야 함(Homoscedastictiy)| |정규성|오차항이 정규분포를 따라야 함| |비상관성|설명변수들 간 다중공선성이 없어야 함|

  • 이러한 조건을 바탕으로 회귀 분석을 수행하고, 회귀 결정계수($R^2$)통계적 검정(F-test, t-test)를 통해 인과관계를 판단해야 합니다.
  • 회귀 결정계수가 1과 가깝다면 아주 강한 인과관계가 있다고 판단하고, 반대로 0과 가깝다면 약한 인과관계가 있다고 판단합니다.

시각적 예시

아래와 같은 산점도는 독립변수(X)의 값이 증가함에 따라 종속변수(Y)의 값도 일정한 패턴으로 변화하는 모습을 보여줍니다. 이러한 경향을 수학적으로 설명하는 직선이 바로 회귀선(regression line)입니다.

Normdist_regression.png

회귀분석과 예측

회귀분석에서 종속변수 $Y$와 독립변수 $X$ 간의 관계를 추정하기 위해 선형 회귀모형(linear regression model)을 사용합니다.

이때, 회귀 추세선(regression line)은 관측값 전반의 평균적인 경향성을 나타내며 다음과 같은 형태를 갖습니다:

$$ \hat{Y} = \hat{\beta}_0 + \hat{\beta}_1 X $$

  • $\hat{Y}$: 주어진 $X$에 대한 예측값(predicted value)
  • $\hat{\beta}_0$: 절편(intercept) — $X = 0$일 때의 예측값
  • $\hat{\beta}_1$: 회귀계수(regression coefficient) — $X$가 한 단위 증가할 때 $Y$가 평균적으로 얼마나 변화하는지 나타냄

이 식은 수학적으로는 일차함수와 유사하지만, 계수들은 데이터로부터 추정된 값이며, 최소제곱법(OLS)을 통해 계산됩니다.

결론적으로, 회귀 추세선의 기울기는 회귀계수와 동일하며, 이 계수를 통해 독립변수가 종속변수에 미치는 영향을 정량적으로 해석할 수 있습니다.

회귀분석의 가정(Assuptions of Linear Regression)

  1. 선형성(Linearity)
    • 독립변수와 종속변수 간의 관계는 선형이어야 합니다.
    • 즉, $E(Y\mid X) = \beta_0 + \beta_1 X$의 형태를 가져야 합니다.
    • 산점도에서 독립변수와 종속변수 사이의 관계가 직선 형태로 나타나야 하며, 잔차(residuals)는 무작위로 분포해야 합니다.
    • 주의: 다항 회귀(polynomial regression)처럼 변수 변환이 포함된 경우, 모형은 수학적으로는 비선형일 수 있으나 계수 추정은 여전히 선형 방식으로 수행되므로 선형 회귀의 범주에 포함됩니다.
  2. 독립성(Independence)
    • 각 관측치는 서로 독립적이어야 합니다.
    • 잔차 간에 자기상관(autocorrelation)이 존재해서는 안 됩니다.
    • 시간 또는 순서가 존재하는 데이터의 경우, Durbin-Watson test를 통해 자기상관 여부를 검정할 수 있습니다.
  3. 등분산성(Homoscedasticity)
    • 잔차의 분산이 모든 수준의 독립변수에서 일정해야 합니다.
    • 즉, 오차의 분산은 $Var(\varepsilon) = \sigma^2$로 일정해야 하며, 이를 등분산성이라 합니다.
    • 등분산성이 위배되면 **이분산성(heteroscedasticity) 문제가 발생하며, 회귀계수의 신회구간이 왜곡됩니다.
  4. 정규성(Normality)
    • 잔차는 평균이 0이고 정규분포를 따량 합니다: $\varepsilon \sim \mathcal{N}(0, \sigma^2)$
    • 이 가정은 회귀계수의 유의성 검정이나 신뢰구간 설정과 같은 추론(inference) 과정에서 중요합니다.
    • 정규성 Q-Q plot, Shapiro-Wilk test 등을 통해 검정할 수 있습니다.

2. 단순선형회귀분석(Simple Linear Regression)


단순선형회귀는 하나의 독립변수($X$)와 하나의 종속변수($Y$) 간의 선형 관계(linear relationship)를 분석하는 기법입니다. 목적은 주어진 데이터를 기반으로 두 변수 간의 관계를 수학적 모형으로 표현하고, 미래 값을 예측하거나 변수 간 영향력을 해석하는 데 있습니다. $$ Y = \beta_0 + \beta_1 X + \varepsilon $$

여기서

  • $\beta_1$: 회귀계수(regression coefficient), 즉 $X$가 한 단위 증가할 때 $Y$가 얼마나 변화하는지를 나타냅니다. 기울기(slope) 역할을 합니다.
  • $\beta_0$: 절편(intercept), $X = 0$일 때의 에측된 $Y$ 값입니다.
  • $\varepsilon$: 오차항(error term), 예측되지 않는 변동성을 의미합니다.

Simple Linear Regression Example.png

자동차 배기량과 연비 회귀분석

다음과 같이 자동차 배기량에 따른 연비 데이터가 있다고 가정하여 자동차 배기량과 연비의 인과관계가 존재하는지 회귀분석을 통해 회귀함수를 구해봅니다.

X (배기량 L) Y (연비 km/L)
1.0 15.0
1.4 13.0
1.6 13.0
2.0 12.0
2.2 11.0
2.4 10.5
3.0 10.0
3.3 9.0
3.6 8.0
# 데이터 입력
X <- c(1.0, 1.4, 1.6, 2.0, 2.2, 2.4, 3.0, 3.3, 3.6)
Y <- c(15.0, 13.0, 13.0, 12.0, 11.0, 10.5, 10.0, 9.0, 8.0)

# 데이터 프레임 생성
data <- data.frame(X, Y)

# 단순선형회귀모형 적합
model <- lm(Y ~ X, data = data)

# 회귀모형 요약 출력
summary(model)

# 회귀선 시각화
plot(data$X, data$Y,
     main = "Regression Analysis between Engine Displacement and Fuel Efficiency",
     xlab = "Engine Displacement (L)",
     ylab = "Fuel Efficiency (km/L)",
     pch = 19,
     col = "steelblue")
abline(model, col = "darkorange", lwd = 2)
grid()
Call:
lm(formula = Y ~ X, data = data)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.47990 -0.41705  0.04524  0.21353  0.60809 

Coefficients:
            Estimate Std. Error t value Pr\(>|t|)    
(Intercept)  16.8291     0.4142   40.63 1.43e-09 ***
X            -2.4371     0.1707  -14.27 1.97e-06 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.4277 on 7 degrees of freedom
Multiple R-squared:  0.9668,	Adjusted R-squared:  0.962 
F-statistic: 203.7 on 1 and 7 DF,  p-value: 1.97e-06

png

해석

p-value가 1.97e-06으로 유의수준 0.05보다 훨씬 작기 때문에, 회귀분석의 귀무가설인 “모든 회귀계수는 0이다”를 기각할 수 있습니다. 이는 주어진 회귀모형이 통계적으로 유의미하다는 것을 의미합니다. 모형이 통계적으로 유의하다면, 각 회귀계수의 개별 유의성도 확인해야 합니다.

독립변수 X에 대한 회귀계수의 p-value 또한 1.97e-06으로 매우 작기 때문에, X에 대한 귀무가설 “X의 회귀계수는 0이다” 역시 기각됩니다. 이에 따라, X의 회귀계수는 약 -2.4371로 추정할 수 있습니다.

또한, 상수항(절편)의 추정치는 16.8291로 계산되었습니다. 따라서 최종적으로 추정된 회귀식은 다음과 같습니다: $$Y(\text{연비}) = -2.4371X(배기량) + 16.8291$$ 이 회귀식은 배기량이 1L 증가할 때마다 연비가 약 2.4371km/L 감소하는 경향이 있음을 의미합니다.

# 분산분석표와 수정계수
anova(model)
A anova: 2 × 5
Df Sum Sq Mean Sq F value Pr(>F)
X 1 37.274792 37.2747925 203.7251 1.969965e-06
Residuals 7 1.280763 0.1829662 NA NA

$$ R^2 = \frac{SSR}{SST} = \frac{SSR}{SSR + SSE} = \frac{37.275}{37.275 + 1.281} \approx 0.9668 $$

최소제곱법(Ordinary Least Squares, OLS)

최소제곱법은 관측값과 모델이 예측한 값 사이의 오차(Residuals)를 제곱하여 모두 합한 값(잔차 제곱합, Sum of Squared Errors, SSE)을 가장 작게 만드는 모델(회귀선)을 찾는 방법입니다.

Visualisation of SST, SSE, SSR in Simple Linear Regression.png

  • SST(총제곱합): 전체 설명이 필요
  • SSE(오차제곱합): 모형이 설명하지 못하는 부분
  • SSR(회귀제곱합): 모형이 설명하는 부분

회귀분석의 분산분석표(ANOVA Table for Regression)

회귀분석의 분산분석표는 회귀모형이 종속변수의 변동성을 얼마나 설명하는지 체계적으로 분해하고 검정하는 표입니다. 다시 말해, 전체 변동을 회귀모형이 설명한 부분 + 오류로 남은 부분으로 분해해 모델의 유의성을 평가하는 도구입니다.

구분 제곱합(SS) 자유도(df) 평균제곱(MS) F-값 (검정 통계량) p-값 (유의확률)
회귀 (Regression) SSR p MSR = SSR / p MSR / MSE p-value
잔차 (Residuals) SSE n - p - 1 MSE = SSE / (n - p - 1) - -
전체 (Total) SST n - 1 - - -
  • $n$: 총 표본수
  • $p$: 독립변수 수

관계: $$ SST = SSR + SSE $$

회귀모형의 통계적 유의성 검증

회귀모형의 통계적 유의성을 평가하기 위해 F-검정(F-test)를 사용합니다. 이때 설정하는 가설은 다음과 같습니다:

  • 귀무가설($H_0$): 모든 회귀계수는 0이다. (모델이 설명력이 없다.)
  • 대립가설($H_1$): 적어도 하나의 회귀계수는 0이 아니다. (모델에 설명력이 있다.) F-검정은 회귀로 설명된 분산(SSR)오차로 남은 분산(SSE) 간의 차이를 비교하여, 회귀모형이 종속변수의 변동을 얼마나 잘 설명하는지를 평가합니다. F-값이 크다는 것은 회귀모형이 설명하는 변동이 잔차변동보다 크다는 의미이며, 결과적으로 회귀계수들이 크고 가파르다는 것을 뜻합니다. 즉 F-값이 클수록 회귀계수가 유의미할 가능성이 높고, p-값이 0.05보다 작으면 모델이 통계적으로 유의하다고 해석합니다.

회귀계수의 통계적 유의성 검증

개별 회귀계수의 유의성은 t-검정을 통해 평가합니다. 이때 설정하는 가설은 다음과 같습니다:

  • 귀무가설($H_0$): 특정 회귀계수는 0이다. (해당 독립변수가 종속변수에 영향을 주지 않는다.)
  • 대립가설($H_1$): 특정 회귀계수는 0이 아니다. (해당 독립변수가 종속변수에 영향을 준다.) t-통계량이 크다는것은 회귀계수 값이 표준오차에 비해 충분히 크다는 의미입니다. 즉, 해당 변수의 효과가 우연에 의앟ㄴ 것이 아니라 통계적으로 유의미할 가능성이 높다는 뜻입니다. t-통계량이 클수록, 회귀계수는 커지고, p-값은 작아지며, 일반적으로 $p-value < 0.05$이면 해당 변수는 통계적으로 유의미하다고 판단합니다.

모형의 설명력(ANOVA)

ANOVA(Analysis of Variance)는 총 변동(종속변수의 전체 분산)을 설명 가능한 부분(회귀)과 설명하지 못하는 부분(잔차)으로 분해하여 모형의 통계적 유의성을 평가하는 기법입니다.

회귀모형의 설명력이 높다는 것은 관측된 데이터들이 회귀선에 밀접하게 분포하고 있다는 의미이며, 이는 곧 회귀모형이 주어진 자료를 잘 설명하고 예측할 수 있음을 뜻합니다. 회귀분석에서는 모형의 설명력을 결정계수($R^2$)를 통해 평가합니다. 결정계수는 전체 변동성 중 회귀모형이 설명하는 변동성의 비율을 나타내는 지표로, $R^2$이 1에 가까울수록 데이터가 회귀선에 밀접하게 분포하며 예측력이 높다고 해석합니다. 반대로 $R^2$이 0에 가까우면 모델이 종속변수의 변동을 설명하지 못한다는 의미입니다.

결정계수 일반적으로 다음과 같이 정의합니다: $$ R^2 = 1 - \frac{SSE}{SST} \quad \text{또는} \quad R^2 = \frac{SSR}{SST} $$

총제곱합 (SST, Total Sum of Squares) $$ SST = \sum_{i=1}^n (y_i - \bar{y})^2 $$

  • 정의: 관측값 $y_i$들이 전체 평균 $\bar{y}$로부터 얼마나 흩어져 있는지를 나타내는 전체 변동량
  • 의미: 종속변수의 총 변동 (모델 없이 데이터를 설명할 때 기준이 되는 분산

회귀제곱합 (SSR, Regression Sum of Squares) $$ SSR = \sum_{i=1}^n (\hat{y}_i - \bar{y})^2 $$

  • 정의: 예측값 $\hat{y}_i$들이 평균 $\bar{y}$로부터 얼마나 떨어져 있는지를 나타내는 모델이 설명한 변동
  • 의미: 회귀모형이 종속변수의 변동을 설명한 양 (설명된 변동)

오차제곱합 (SSE, Sum of Squares for Error) $$ SSE = \sum_{i=1}^n (y_i - \hat{y}_i)^2 $$

  • 정의: 실제값 $y_i$와 예측값 $\hat{y}_i$ 사이의 차이인 잔차의 제곱합
  • 의미: 회귀모형이 설명하지 못한 변동 (예측 오차)

예시

Source df Sum of Squares Mean Square F value Pr(>F)
speed 1 21186 21186 89.567 1.49e-12
Residuals 48 11354 236.5    
Total 49 32540      

결정계수($R^2$)

$$ R^2 = \frac{SSR}{SST} = \frac{21186}{21186 + 11354} = \frac{21186}{32540} \approx 0.6511 $$

해석

  • 회귀모형은 전체 종속변수 변동의 약 65.11%를 설명합니다.
  • 독립변수 speed는 종속변수에 통계적으로 유의미한 영향을 미칩니다.
  • F값이 89.567, p값이 1.49e-12로 매우 작으므로 귀무가설을 기각하며, 모형은 유의하다고 판단됩니다.

수정된 결정계수(Adjusted $R^2$)

결정계수는 회귀모형이 종속변수의 변동을 얼마나 잘 설명하는지를 나타내는 지표입니다. 하지만 일반적인 $R^2$은 독립변수를 추가할 때마다 값이 무족너 커지거나 같아지기 때문에, 변수의 수가 늘어날수록 실제 모델의 성능을 과대평가할 위험이 있습니다. 즉, 불필요한 변수를 추가해도 $R^2$값이 인위적으로 높아질 수 있다는 한계가 있습니다.

이러한 문제를 보완하기 위해 사용하는 것이 수정된 결정계수(Adjusted $R^2$)입니다. 수정된 결정계수는 단순히 종속변수의 변동 설명 비율만 보는 것이 아니라, 모델에 포함된 독립변수의 개수와 표본 수까지 고려하여 $R^2$값을 조정합니다. 따라서 불필요한 변수가 추가되면 Adjusted $R^2$값이 오히려 낮아질 수 있고, 의미 있는 변수가 추가될 때만 높아지므로 모델의 진짜 설명력을 평가하는 데 훨씬 더 적합한 지표가 됩니다.

수정된 결정계수의 계산식은 다음과 같습니다: $$ \text{Adjusted } R^2 = 1 - \left(1 - R^2\right) \times \frac{n-1}{n-p-1} $$

  • $n$: 표본 수
  • $p$: 독립변수의 수
  • $R^2$: 일반 결정계수

이 식을 보면, 독립변수 수($p$)가 증가하면 분모가 작아지고 조정 계수가 커져서, $R^2$이 일정하더라도 수정된 결정계수는 쉽게 커지지 않는다는 점을 알 수 있습니다. 즉, 단순히 변수를 추가한 것만으로는 수정된 결정계수가 높아지지 않습니다.

결론적으로, 수정된 결정계수는 독립변수의 수를 고려하여 모형의 과적합(overfitting) 문제를 방지하고, 보다 객관적으로 모형의 설명력을 평가할 수 있도록 도와주는 지표입니다. 특히 다중회귀분석처럼 변수 개수가 많은 경우에는 일반적인 $R^2$ 대신 수정된 결정계수를 기준으로 모델의 성능을 판단하는 것이 더 정확합니다.

회귀분석 결과의 해석

  Estimate Std.Error t value Pr($> t $)
intercept -17.5791 6.7584 -2.601 0.0123    
speed 3.9324 0.4155 9.464 1.49e-12    
  • 절편: -17.5791
  • speed 회귀계수: 3.9324
  • 추정치(Esitmate): 추정치는 표본 데이터를 이용해 계산한 회귀계수의 값입니다.
  • Std.Error(표준오차): 표준오차는 추정치의 불확실성 정도를 나타내는 값입니다.
  • t value: 추정치가 표준오차에 비해 얼마나 큰지를 나타내는 통계량입니다. $$ t\text{ value} = \frac{\text{Estimate}}{\text{Standard Error}} $$
  • Pr(>): P-value는 귀무가설이 참일 때 현재 관측된 것과 같거나 더 극단적인 결과가 나올 확률입니다.

F값(F value)과 p값(p value)의 의미

F값은 설명된 분산(SSR)이 오차 분산(SSE)보다 얼마나 큰지를 나타내는 분산 비율 통계량입니다.

공식으로 표현하면: $$ F = \frac{MSR}{MSE} = \frac{\text{SSR}/p}{\text{SSE}/(n-p-1)} $$

  • $MSR$ (Mean Square Regression): 회귀로 설명된 변동의 평균
  • $MSE$ (Mean Square Error): 오차(잔차) 변동의 평균
  • $p$: 독립변수 수
  • $n$: 표본 수

즉, F값이 크다는 것은 회귀모형이 설명한 변동이 잔차로 남은 변동에 비해 상당히 크다는 뜻입니다. 따라서, F값이 클수록 모형이 종속변수의 변동을 잘 설명하고 있다는 신호입니다.

p값은 귀무가설이 참일 때, 현재 관찰된 F값보다 크거나 값이 우연히 발생할 확률입니다. p값이 작으면 → “이렇게 큰 F값이 우연히 나올 가능성은 매우 낮다” → “귀무가설(모든 회귀계수 = 0)이 틀렸을 가능성이 높다” 즉, 회귀모형이 통계적으로 유의하다고 판단합니다.

반대로, p값이 크면 -> “관찰된 F값이 우연히 나왔을 가능성이 크다” -> 귀무가설을 기각할 수 없습니다.

따라서, p값이 낮다는 것은 관측된 F값이 매우 크다는 의미입니다. 왜냐하면 F분포는 0 근처에 값이 많고, 오른쪽 꼬리(tail)에 클수록 희귀한 값들이 몰려 있기 떄문입니다.

항목 회귀계수 (Regression Coefficient) 결정계수 ($R^2$, Coefficient of Determination)
의미 독립변수가 종속변수에 미치는 직접적인 영향력을 수치화한 계수 회귀모형이 종속변수의 전체 변동성 중 몇 %를 설명하는지 나타내는 지표
수학적 표현 $Y = \beta_0 + \beta_1X_1 + \dots + \beta_pX_p + \epsilon$ 에서 각 $\beta_i$ $R^2 = \frac{SSR}{SST} = 1 - \frac{SSE}{SST}$
해석 특정 독립변수가 1단위 증가할 때, 종속변수가 얼마나 변하는지를 나타냄 전체 데이터의 변동 중 회귀모형이 설명하는 비율 (0~1 사이)
목적 예측 모델 구조 이해, 변수 해석 모형의 설명력, 예측 성능 평가
단위 독립변수와 종속변수의 단위에 따라 달라짐 단위 없음 (비율)