변수의 변형
- 선형 모형은 독립변수와 종속변수의 선형적 관계를 가정한다는 한계
- 독립변수를 비선형 변환하면 이 한계를 일부 극복할 수 있음
- 예시:
- Python은 관계식에 수학 함수를 사용하면 자동으로 변수 변환
I() 함수
- 관계식에 덧셈, 곱셈, 거듭제곱 등을 할 경우 적용이 불가
- I 함수를 사용하여 이러한 계산을 적용 가능
price ~ I(my_car_damage + other_car_damage)
- 두 독립변수 x와 z를 더하여 하나의 변수로 변환
2차항(제곱항) 추가
- 모형을 만들고 싶을 때
- 거듭제곱에
**사용
# y = w2*x^2 + w1*x + b 모형
y ~ I(x**2) + x
- :
I(x**2) - :
I(x**3) - :
I(x**4)
변수의 변형 실습: 1차 함수
데이터 불러오기
sp = pd.read_excel('speed.xlsx')
속도와 제동거리의 관계를 1차 함수로 분석
m1 = ols('dist ~ speed', data=sp).fit()
m1.summary()
시각화
import seaborn as sns
import matplotlib.pyplot as plt
sns.scatterplot(data=sp, x='speed', y='dist') # 산점도
plt.plot(sp['speed'], m1.predict(), color='red') # 추세선
변수의 변형 실습: 2차 함수
속도와 제동거리의 관계를 2차 함수로 분석
m2 = ols('dist ~ I(speed**2) + speed', data=sp).fit()
m2.summary()
시각화
sns.scatterplot(data=sp, x='speed', y='dist')
plt.plot(sp['speed'], m2.predict(), color='red')