[파이썬] statsmodels에서 이산 선택 모델

Statsmodels에서 이산 선택 모델을 사용하기 위해서는 먼저 모델을 구성하고, 데이터를 준비해야 합니다. 이제 간단한 예제를 통해 이산 선택 모델링을 살펴보겠습니다.

import numpy as np
import pandas as pd
import statsmodels.api as sm

# 데이터 준비
data = {
    'Age': [35, 43, 28, 49, 32, 55, 38, 45, 27, 51],
    'Education': [6, 10, 12, 8, 9, 7, 11, 5, 9, 8],
    'Income': [50000, 70000, 40000, 90000, 60000, 80000, 55000, 75000, 40000, 85000],
    'Choice': [1, 0, 1, 1, 0, 1, 0, 0, 1, 0]
}

df = pd.DataFrame(data)

# 이산 선택 모델 구성
X = df[['Age', 'Education', 'Income']]
X = sm.add_constant(X)  # 상수항 추가
y = df['Choice']

# 모델 피팅
model = sm.Logit(y, X)
result = model.fit()

# 결과 출력
print(result.summary())

위의 코드에서는 특정 인구 그룹의 나이, 교육 수준 및 소득에 따른 구매 여부(1 또는 0)를 예측하는 이산 선택 모델을 생성합니다. 데이터를 pandas 데이터프레임으로 준비한 후, sm.Logit 클래스를 사용하여 모델을 구성합니다. 상수항을 추가하기 위해 sm.add_constant 함수를 사용합니다.

모델을 구성한 후, model.fit() 메서드를 호출하여 모델을 피팅합니다. 피팅이 완료되면 결과를 요약해서 출력할 수 있습니다. result.summary()를 호출하여 통계적인 결과 및 모델의 성능을 확인할 수 있습니다.

Statsmodels의 이산 선택 모델을 사용하면 다양한 통계 모델링 작업을 수행할 수 있습니다. 선택 모델링은 예측력과 설명력이 뛰어나며, 기업이나 정책 결정 과정에서 매우 유용하게 활용될 수 있습니다. Statsmodels의 강력한 통계 모델링 도구를 활용하여 효과적인 모델링을 수행해보세요!