단순 선형 회귀 분석
단순 선형 회귀는 두 개의 양적 변수 간의 관계를 분석하는 데 사용되는 통계 기법입니다. 예측하려는 변수를 종속 변수 또는 반응 변수라고 하고, 예측에 사용되는 변수를 독립 변수 또는 예측 변수라고 합니다. 단순 선형 회귀에서는 이 두 변수 간의 관계를 가장 잘 나타내는 직선을 찾습니다.
단순 선형 회귀의 기본 개념
단순 선형 회귀는 종속 변수 \(Y\)와 독립 변수 \(X\) 사이에 선형 관계가 있다는 가정에 기반합니다. 단순 선형 회귀 모델의 일반적인 형태는 다음과 같습니다.
\[ Y = \beta_0 + \beta_1 X + \epsilon \]
디 마나:
– \( Y \)는 종속변수입니다.
– \( X \)는 독립 변수입니다.
– \( \beta_0 \)는 절편으로, \(X = 0\)일 때의 \(Y\) 값입니다.
– \( \beta_1 \)는 기울기 또는 경사로, \(X\)가 한 단위 변할 때 \(Y\)의 평균 변화량을 나타냅니다.
– \( \epsilon \)은 \(X\)로 설명할 수 없는 \(Y\)의 변동성을 나타내는 오차항 또는 잔차항입니다.
단순 선형 회귀의 목표는 모델을 사용하여 X 값에 따른 Y 값을 예측할 수 있도록 매개변수 β₀와 β₁을 추정하는 것입니다.
최소제곱법
단순 선형 회귀 모델을 적합시키는 데 가장 일반적으로 사용되는 방법 중 하나는 최소 제곱법입니다. 이 방법은 실제 관측값과 모델이 예측한 값 사이의 수직 편차 제곱의 합을 최소화하는 것을 목표로 합니다. \(i = 1, 2, …, n\)에 대해 \((x_i, y_i)\) 쌍으로 구성된 n개의 관측값이 있다고 가정해 보겠습니다. 최소화해야 할 함수는 다음과 같습니다.
\[ S(\beta_0, \beta_1) = \sum_{i=1}^{n} (y_i – (\beta_0 + \beta_1 x_i))^2 \]
이 함수를 최소화하는 \(\beta_0\)와 \(\beta_1\)을 찾기 위해, \(S(\beta_0, \beta_1)\)을 각 매개변수에 대해 편미분하고 이 미분값을 0으로 설정합니다. 수학적 계산은 다음과 같이 간소화할 수 있습니다.
\[ \beta_1 = \frac{\sum_{i=1}^{n} (x_i – \bar{x})(y_i – \bar{y})}{\sum_{i=1}^{n} (x_i – \bar{x})^2} \]
\[ \beta_0 = \bar{y} – \beta_1 \bar{x} \]
디 마나:
– \(\bar{x}\)는 \(X\)의 평균입니다.
– \(\bar{y}\)는 \(Y\)의 평균입니다.
매개변수 \(\beta_0\)와 \(\beta_1\)을 구한 후에는 간단한 선형 회귀 모델을 사용하여 각 \(X\) 값에 대한 \(Y\) 값을 예측할 수 있습니다.
단순 선형 회귀 분석의 가정
타당하고 신뢰할 수 있는 결과를 얻으려면 단순 선형 회귀 분석은 다음과 같은 몇 가지 가정을 전제로 합니다.
1. 선형성: 종속 변수와 독립 변수 사이의 관계는 선형적이어야 합니다.
2. 독립성: 관찰 결과는 서로 독립적이어야 합니다.
3. 등분산성: 잔차 변동성은 독립 변수의 값 범위 전체에 걸쳐 일정해야 합니다.
4. 잔차 정규성: 잔차(오차)는 정규 분포를 따라야 합니다.
이러한 가정이 충족되지 않으면 단순 선형 회귀 모델의 결과는 신뢰할 수 없으며 정확한 예측을 하지 못할 수 있습니다.
회귀 모델 평가
단순 선형 회귀 모델의 예측 성능을 평가하는 한 가지 방법은 결정계수(R²)를 사용하는 것입니다. 결정계수는 종속변수의 변동성 중 독립변수의 변동성이 설명하는 비율을 나타냅니다.
\[ R^2 = \frac{\sum_{i=1}^{n} (\hat{y}_i – \bar{y})^2}{\sum_{i=1}^{n} (y_i – \bar{y})^2} \]
디 마나:
– \(\hat{y}_i\)는 \(Y\)의 예측값입니다.
– \(y_i\)는 \(Y\)의 실제 값입니다.
– \(\bar{y}\)는 \(Y\) 값들의 평균입니다.
R² 값은 0에서 1 사이의 값을 가지며, R² 값이 1에 가까울수록 해당 모델이 종속 변수의 변동성 대부분을 설명할 수 있음을 나타냅니다.
프로그래밍 언어로 구현
단순 선형 회귀 분석을 구현하기 위해 다양한 통계 소프트웨어 또는 프로그래밍 언어를 사용할 수 있습니다. 아래는 `scikit-learn` 라이브러리를 사용한 파이썬 구현 예시입니다.
"`파이썬
numpy를 np로 가져 오기
matplotlib.pyplot을 plt로 가져 오기
sklearn.linear_model에서 LinearRegression 가져오기
sklearn.metrics에서 importmean_squared_error, r2_score
Data
X = np.array([[1], [2], [3], [4], [5]]).astype(np.float64)
y = np.array([1.5, 3.6, 3.5, 2.9, 5.5]).astype(np.float64)
모델
모델 = 선형회귀()
모델.적합(X, y)
예측
y_pred = 모델.예측(X)
계수
beta_0 = 모델.intercept_
beta_1 = model.coef_[0]
print(f'절편: {beta_0}')
print(f'기울기: {beta_1}')
print(f'평균 제곱 오차: {mean_squared_error(y, y_pred)}')
print(f'결정계수(R^2): {r2_score(y, y_pred)}')
데이터 그래프 및 회귀선
plt.scatter(X, y, color='blue')
plt.plot(X, y_pred, color='red')
plt.xlabel('X')
plt.ylabel('Y')
plt.show ()
"
위 예시에서는 먼저 필요한 라이브러리를 가져오고, 데이터 변수 \(X\)와 \(Y\)를 정의한 다음, `scikit-learn`의 `LinearRegression` 객체를 사용하여 데이터에 모델을 적합시킵니다. 모델 적합이 완료되면 예측값을 계산하고, 회귀계수와 평균 제곱 오차, 결정계수를 구합니다. 마지막으로 데이터와 회귀선을 그래프로 나타냅니다.
결론
단순 선형 회귀는 두 개의 양적 변수 간의 관계를 설명하는 데 사용되는 강력한 통계 분석 도구입니다. 선형성, 독립성, 등분산성 및 정규성에 대한 몇 가지 기본 가정을 통해 독립 변수의 값을 기반으로 종속 변수의 값을 예측할 수 있습니다. 최소 제곱법은 회귀선을 적합시키고 최적의 매개변수를 결정하는 효과적인 방법을 제공합니다. 결정 계수(R²)를 통한 모델 평가는 모델의 성능을 파악하는 데 도움이 됩니다.
단순 선형 회귀 분석은 두 개의 변수만 처리할 수 있고 몇 가지 가정을 충족해야 하는 등의 한계가 있지만, 통계 및 데이터 분석의 중요한 기초 기법으로 남아 있으며, 보다 복잡한 방법으로 넘어가기 전에 변수 간의 관계를 이해하는 첫 단계로 자주 사용됩니다.