머신러닝 17. 지도학습: 비선형 회귀(다항회귀)
Written on October 22nd , 2019 by MJ 목차
1. 데이터셋 준비
(1) 무작위 숫자로 데이터셋 생성: runif()
(2) 예측변수와 반응변수 관계 시각화: plot()
2. 데이터탐색: 선형성에 대한 의심을 중심으로
(1) 선형회귀분석 실시: stats::lm() / summary()
(2) 회귀모델 성능(데이터 적합성) 파악: AIC() / BIC() / $adj.r.square / rcompanion::compareLM
(3) 회귀모델 시각화
3. 2차 다항회귀분석
(1) 다항회귀분석: stats::lm() / summary()
(2) 회귀모델 간 성능 비교: AIC() / BIC() / summary() / rcompanion::compareLM / anova()
(3) 회귀분석 모델 간 시각화 비교
4. 3차 다항회귀분석
(1) 다항회귀분석: stats::lm() / summary()
(2) 회귀모델 간 성능 비교: AIC() / BIC() / summary() / rcompanion::compareLM / anova()
(3) 회귀분석 모델 간 시각화 비교
5. 고차 다항회귀분석
(1) 10차 다항회귀분석 후 회귀모델 간 성능 비교
(2) 20차 다항회귀분석 후 회귀모델 간 성능 비교
6. 다항회귀분석 예제
(1) 다항회귀분석
(2) 선형회귀모형과 4차 다항회귀분석 그래프
(3) 4차 다항회귀분석으로 예측과 표준오차 구하기
024
1. 독립변수와 종속변수간 선형관계가 아닌경우의 대안
- 곡선회귀(Curvilinear regression); 비선형회귀(Nonlinear regression)
● 예측선이 하나의 직선으로 나오지 않으므로 새로운 그래프 모양을 찾은게 비선형회귀. y = a x x^2 + b 나, 거기서도 예측선이 잔차를 품지 못하면 삼차식, 사차식의 곡선의 예측선을 만든다. 이걸 다항회귀라고 한다.
● 수학에서 x에 제곱을 씌우니까 그래프의 곡선 모양이 나오던 거에서 착안한 것. 그래서 독립변수에 제곱을 씌워서 원하는 그래프를 만드는 것.
(1) 다항(Polynominal) 회귀분석
-
독립변수가 다항식으로 구성되는 회귀모델로 변경
-
독립변수에 지수승을 붙여서 여러 개의 변수로 만들의 회귀모델을 구성하는 기법
-
I(x ** 2) 또는 I(x ^ 2)와 같은 형태의 수식을 사용하여 다항회귀모델을 표현함
-
보통 4차이상의 모형은 잘 사용하지 않음
● I는 하나의 약속. 다항회귀를 만들 때 이런 수식으로 독립변수를 가공해 달라는 약속.
—————코딩——————————————————————————————————
1. 데이터셋 준비
(1) 무작위 숫자로 데이터셋 생성: runif()
(2) 예측변수와 반응변수 관계 시각화: plot()
2. 데이터탐색: 선형성에 대한 의심을 중심으로
(1) 선형회귀분석 실시: stats::lm() / summary()
(2) 회귀모델 성능(데이터 적합성) 파악: AIC() / BIC() / $adj.r.square / rcompanion::compareLM
(3) 회귀모델 시각화
3. 2차 다항회귀분석
(1) 다항회귀분석: stats::lm() / summary()
(2) 회귀모델 간 성능 비교: AIC() / BIC() / summary() / rcompanion::compareLM / anova()
(3) 회귀분석 모델 간 시각화 비교
4. 3차 다항회귀분석
(1) 다항회귀분석: stats::lm() / summary()
(2) 회귀모델 간 성능 비교: AIC() / BIC() / summary() / rcompanion::compareLM / anova()
(3) 회귀분석 모델 간 시각화 비교
5. 고차 다항회귀분석
(1) 10차 다항회귀분석 후 회귀모델 간 성능 비교
(2) 20차 다항회귀분석 후 회귀모델 간 성능 비교
6. 다항회귀분석 예제]
(1) 다항회귀분석
(2) 선형회귀모형과 4차 다항회귀분석 그래프
(3) 4차 다항회귀분석으로 예측과 표준오차 구하기
<참고 문헌="">참고>
- 최점기 박사님 강의