머신러닝 19. 지도학습: 비선형회귀 (일반화가법모형)
Written on October 22nd , 2019 by MJ 목차
1. 데이터셋 준비
(1) 무작위 숫자로 데이터셋 생성: runif()
(2) 예측변수와 반응변수 관계 시각화: plot()
2. 데이터탐색: 선형성에 대한 의심을 중심으로
(1) 선형회귀분석 실시: stats::lm() / summary()
(2) 회귀모델 성능(데이터 적합성) 파악: rcompanion::compareLM / anova()
(3) 회귀모델 시각화
3. 일반화선형분석
(1) 일반화선형모형 모델 피팅: gam::gam() / summary()
(2) 회귀모델 간 성능 비교: AIC() / BIC() / rcompanion::compareLM
(3) 일반화선형분석 모델 시각화
024
024
1. 독립변수와 종속변수간 선형관계가 아닌경우의 대안
- 곡선회귀(Curvilinear regression); 비선형회귀(Nonlinear regression)
● 예측선이 하나의 직선으로 나오지 않으므로 새로운 그래프 모양을 찾은게 비선형회귀. y = a x x^2 + b 나, 거기서도 예측선이 잔차를 품지 못하면 삼차식, 사차식의 곡선의 예측선을 만든다. 이걸 다항회귀라고 한다.
● 수학에서 x에 제곱을 씌우니까 그래프의 곡선 모양이 나오던 거에서 착안한 것. 그래서 독립변수에 제곱을 씌워서 원하는 그래프를 만드는 것.
(3) 일반화가법모형(Genelizaed Additive Model)
-
각 독립변수별로 종속변화와의 관계를 나타내는 개별적인 비선형 예측식을 만들고 이들 간의 선형적 결합을 통해 예측성능을 향상시
-
다양한 함수를 사용하면서 다양한 관계를 표시할 수 있으므로 일반화(generalized)라는 이름이 붙음
● 독립변수 별로 변수의 특성이 다를 것이다. 그러므로 개별 변수의 특성에 따라 어떤 건 제곱을 통해 집어넣기도 하고, 어떤 변수는 스플라인 방식으로 설정해서 서로서로 더해서 예측하는 모형. 1번 독립변수는 이방식, 2번 독립변수는 저 방식.
● generalized: 일반화라는 건 lm함수의 조건이 정교하게 맞지 않다보니, 일반화, 조건을 회피할 수 있는 방식을 사용한 것.
—————코딩——————————————————————————————————
1. 데이터셋 준비
(1) 무작위 숫자로 데이터셋 생성: runif()
(2) 예측변수와 반응변수 관계 시각화: plot()
2. 데이터탐색: 선형성에 대한 의심을 중심으로
(1) 선형회귀분석 실시: stats::lm() / summary()
(2) 회귀모델 성능(데이터 적합성) 파악: rcompanion::compareLM / anova()
(3) 회귀모델 시각화
3. 일반화선형분석
(1) 일반화선형모형 모델 피팅: gam::gam() / summary()
(2) 회귀모델 간 성능 비교: AIC() / BIC() / rcompanion::compareLM
(3) 일반화선형분석 모델 시각화
<참고 문헌="">참고>
- 최점기 박사님 강의