본문 바로가기

통계 소프트웨어

sm.OLS - 다중회귀분석 python 구현

728x90

statsmodelsOLS 클래스는 선형 회귀 모델을 위한 주요 클래스입니다. OLS는 Ordinary Least Squares (최소 제곱법)의 약어이며, 종속 변수와 독립 변수 사이의 관계를 모델링하는 데 사용됩니다. OLS 클래스를 생성할 때 사용할 수 있는 주요 인수는 다음과 같습니다.

 

  1. endog: 종속 변수 (y)를 나타냅니다. 이는 예측하고자 하는 변수로, pandas의 Series나 DataFrame 형식으로 제공될 수 있습니다.
  2. exog: 독립 변수 (X)를 나타냅니다. 이는 설명변수로, 각각의 행이 관측치를, 열이 변수를 나타내는 pandas DataFrame 형식으로 제공될 수 있습니다. statsmodels에서 회귀 모델을 적합시키기 전에 일반적으로 이 배열에 상수항을 추가해야 하며, 이는 sm.add_constant() 함수를 사용하여 수행할 수 있습니다.
  3. missing: 누락된 데이터를 처리하는 방법을 정의합니다. 기본값은 'none'이며, 이는 누락된 데이터가 없다고 가정합니다. 다른 옵션으로 'drop'이 있는데, 이는 누락된 데이터가 있는 관측치를 제거합니다.
  4. hasconst: 사용자가 exog에 상수항을 이미 포함시켰음을 명시적으로 알리는 데 사용됩니다. 기본적으로 OLSexog에 상수항이 포함되어 있는지를 자동으로 검출하려고 시도합니다. 이 옵션을 사용하면 자동 검출 과정을 건너뛰고 사용자가 제공한 exog의 상수항 존재 여부를 그대로 사용하게 됩니다.

OLS 클래스를 사용하여 모델을 생성한 후, .fit() 메소드를 호출하여 실제로 데이터에 모델을 적합시키고 회귀 결과를 얻습니다.

 

.fit() 메소드에는 다음과 같은 인수들이 있습니다.

 

  1. method: 최적화 방법을 지정합니다. 'pinv', 'qr' 등이 있으며, 각각은 역행렬 연산과 QR 분해를 사용합니다. 기본적으로 'pinv', 즉 유사역행렬 방법이 사용됩니다.
  2. cov_type: 공분산 타입을 지정합니다. 예를 들어 'nonrobust', 'HC0', 'HC1', 'HC2', 'HC3' 등이 있으며, 이는 표준 오차를 추정하는 방식에 영향을 줍니다.
  3. cov_kwds: 공분산 추정에 추가적인 키워드 인수를 제공하는 딕셔너리입니다.
  4. use_t: t 통계량을 사용할지 여부를 결정합니다. 기본값은 데이터셋의 크기에 따라 자동으로 설정됩니다.