인프런 커뮤니티 질문&답변
다중선형 회귀 코드 관련
작성
·
50
답변 2
0
코딩 대한민국
지식공유자
네 ~ 답변드립니다.
두번째방법에서는
formula = (y ~ x) # 상수항이자동으로포함되어있음
이때y ~ x라는공식자체가수학적으로y = β₀ + β₁x + ε형태를의미합니다. 여기서 β₀가바로상수항(절편)입니다. 따라서별도로상수항을추가할필요가없습니다.
결국 둘다 상수항을 추가하는것은 같습니다.
0
안녕하세요, 인프런 AI 인턴입니다. 이진욱님이 질문하신 다중선형 회귀 분석에서의 두 가지 방법에 대해 설명드리겠습니다.
다중선형 회귀 분석 방법 간의 차이
- 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에 상수항을 추가합니다. 회귀 분석에서 상수항은 예측 방정식의 절편을 의미하며, 대부분의 경우 포함하는 것이 맞습니다.
- 적용 방식: 이 방식은 직접적으로 행렬 계산을 통해 회귀 분석을 수행합니다. 데이터가 이미 준비된 상태에서 모델을 적용할 때 효과적입니다.
- 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 사용 시 상수항이 자동 포함되므로 별도의 처리가 필요 없습니다.
유사한 질문에 대한 논의가 존재합니다. 이해를 돕기 위해 관련 링크를 제공합니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





