[파이썬] statsmodels에서 예측 값과 신뢰 구간

예측 값과 신뢰 구간을 생성하는 과정을 살펴보겠습니다. 아래는 statsmodels를 사용하여 선형 회귀 분석을 수행하는 예제입니다.

import numpy as np
import statsmodels.api as sm

# 독립 변수
X = np.array([1, 2, 3, 4, 5])

# 종속 변수
y = np.array([2, 4, 5, 8, 10])

# 상수항 추가
X = sm.add_constant(X)

# 선형 회귀 모델 적합
model = sm.OLS(y, X)
results = model.fit()

# 예측 값 생성
X_pred = sm.add_constant(np.array([6, 7, 8]))
y_pred = results.predict(X_pred)

# 신뢰 구간 계산
y_pred_ci = results.get_prediction(X_pred).conf_int()

위 코드에서는 예측에 사용할 독립 변수 X와 종속 변수 y를 정의한 후 add_constant 함수를 사용하여 독립 변수에 상수항을 추가합니다. 그 다음 OLS 클래스를 사용하여 선형 회귀 모델을 적합시킵니다.

모델이 적합된 후에는 predict 메서드를 사용하여 새로운 독립 변수 X_pred에 대한 예측 값을 생성할 수 있습니다. 마지막으로 get_prediction 메서드를 사용하여 예측 값의 신뢰 구간을 계산합니다. 이 구간은 conf_int 메서드를 통해 확인할 수 있습니다.

y_pred는 예측 값의 배열이며, y_pred_ci는 예측 값의 신뢰 구간의 배열입니다. 신뢰 구간은 각 예측 값 주변의 최저 값과 최고 값으로 표현됩니다.

이제 statsmodels를 사용하여 예측 값을 생성하고 신뢰 구간을 계산하는 방법을 알게 되었습니다. 이를 통해 전체적인 모델의 성능을 평가하고 예측의 신뢰성을 확인할 수 있습니다.