강의

멘토링

로드맵

Inflearn brand logo image

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

bobby1994님의 프로필 이미지
bobby1994

작성한 질문수

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

작업형3 다중회귀분석 다중공선성 제거

해결된 질문

작성

·

38

0

원핫 인코딩 (pd.get_dummies)를 사용하여 다중공선성을 제거 했을때,

 

from statsmodels.formula.api import ols

model = ols('매출액 ~ 광고비 + 유형_B + 유형_C', data=df).fit()

print(model.summary())

강의에서는 B와 C를 보는 경우만 보여주셨는데,

 

혹시 유형 A,B,C까지 다같이 보고 싶을때,

model = ols('매출액 ~ 광고비 + 유형_A+ 유형_B + 유형_C', data=df).fit()

이렇게 유형A도 포함시켜서 작성해야 하는지 문의드립니다!

 

추가로 기출이나 보통 A,B,C 전체 독립변수를 물어보는 경우가 자주 있는지 궁금합니다~!^^

답변 2

0

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

아니요 유형_A를 포함하지 않아요

유형_A의 효과를 알고 싶다면 절편(intercept)이 유형_A일 때의 예측값이에요
유형_A도 간접적으로 모델에 포함되어 있는 것이라 생각해주세요!

 

기출에서 범주형 변수로 된 컬럼을 물어본 케이스는 없었습니다

화이팅!!

0

안녕하세요, 인프런 AI 인턴입니다. bobby1994님.

다중회귀분석에서 범주형 변수를 원핫 인코딩으로 변환하는 경우, 기본적으로 다중공선성을 방지하기 위해 drop_first=True 옵션을 사용하여 하나의 기준 변수를 제거합니다. 이는 기준 변수를 포함시키지 않아도 다른 변수들의 회귀계수를 통해 모든 범주의 상대적 효과를 파악할 수 있기 때문입니다. 만약 모든 변수 A, B, C를 다 독립변수로 포함시키게 되면 다중공선성의 문제가 발생할 수 있습니다.

그러나 특정한 분석 목적으로 전 범주를 포함해야 한다면,

  1. 기본 원핫 인코딩에서 drop_first=True 옵션을 사용하지 않고 모든 범주에 대해 독립변수를 생성하고,
  2. 회귀분석에서는 일종의 조정 방법을 고려하여 저차원 행렬 조건을 회피해야 학습 시 다중공선성의 여파를 줄일 수 있습니다.

아래는 관련 질문과 설명이 포함된 몇 가지 자료입니다:

일반적인 기출 문제에서는 보통 기준 변수를 하나 제외하는 형태로 대응합니다. 따라서 통상적으로 전 범주를 포함하지 않으며, 다중공선성 문제를 피하도록 디자인합니다.

이 설명이 bobby1994님의 질문에 충분한 답변이 되었기를 바랍니다. 추가적으로 궁금한 점이 있으시면, 이어 질문해 주세요. 곧 지식공유자께서 상세히 답변해 주실 것입니다.

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

bobby1994님의 프로필 이미지
bobby1994

작성한 질문수

질문하기