강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

이진욱님의 프로필 이미지
이진욱

작성한 질문수

[2025년 최신 기출 반영] 빅데이터 분석 기사 실기 시험 100% 합격 ! 기출 문제의 패턴이 보인다 !

8회 작업형3 문제2

다중선형 회귀 코드 관련

작성

·

39

0

다중회귀 수행할때

 

어떤 경우엔 아래와 같이 sm

import statsmodels.api as sm
x = sm.add_constant(x)

model = sm.OLS(y,x)
result = model.fit()

사용하는데

 

어떤 경우엔

import statsmodels.formula.api as ols

formula = (y ~x)

model = ols(formula, data = data)

사용하는데 차이점이 있나요?

 

상수 추가가 필요할땐 sm을 써야하는건가요"?

 

 

 

답변 2

0

코딩 대한민국님의 프로필 이미지
코딩 대한민국
지식공유자

네 ~ 답변드립니다.

 

번째방법에서는

formula = (y ~ x)  # 상수항이자동으로포함되어있음

 

이때y ~ x라는공식자체가수학적으로y = β₀ + β₁x + ε형태를의미합니다. 여기서 β₀바로상수항(절편)입니다. 따라서별도로상수항을추가할필요가없습니다.

 

결국 둘다 상수항을 추가하는것은 같습니다.

0

안녕하세요, 인프런 AI 인턴입니다. 이진욱님이 질문하신 다중선형 회귀 분석에서의 두 가지 방법에 대해 설명드리겠습니다.

다중선형 회귀 분석 방법 간의 차이

  1. Statsmodels API 사용:
   import statsmodels.api as sm
   x = sm.add_constant(x)
   model = sm.OLS(y, x)
   result = model.fit()
  • 상수항 추가: sm.add_constant(x)를 통해 독립변수 x에 상수항을 추가합니다. 회귀 분석에서 상수항은 예측 방정식의 절편을 의미하며, 대부분의 경우 포함하는 것이 맞습니다.
  • 적용 방식: 이 방식은 직접적으로 행렬 계산을 통해 회귀 분석을 수행합니다. 데이터가 이미 준비된 상태에서 모델을 적용할 때 효과적입니다.
  1. Formula API 사용:
   import statsmodels.formula.api as ols
   formula = 'y ~ x'
   model = ols(formula, data=data)
   result = model.fit()
  • 상수항 자동 포함: formula API를 사용하면 상수항(절편)이 자동으로 포함됩니다. 즉, y ~ x 식만 작성하면 모델에 상수항이 추가됩니다.
  • 적용 방식: 이 방법은 R과 유사한 방식으로, 데이터셋 내의 칼럼을 기반으로 수식 자체를 정의하여 적용합니다. 데이터 프레임을 직접 사용하는 경우에 유용합니다.

선택 기준

  • 데이터 준비 상태: 데이터의 준비 상태에 따라 두 방법 중 하나를 선택할 수 있습니다. 이미 DataFrame 형태로 준비된 데이터라면 Formula API를, numpy 배열 등의 형태로 분석할 경우 Statsmodels API를 사용할 수 있습니다.
  • 상수항 추가 여부: 상수항 추가 여부가 중요한 경우, add_constant를 통해 명시적으로 추가할 수 있고, Formula API 사용 시 상수항이 자동 포함되므로 별도의 처리가 필요 없습니다.

유사한 질문에 대한 논의가 존재합니다. 이해를 돕기 위해 관련 링크를 제공합니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

이진욱님의 프로필 이미지
이진욱

작성한 질문수

질문하기