다항회귀(Polynominal Regression)

포동동·2022년 5월 26일
0

다항회귀(Polynominal Regression)

  • 항이 여러 개인 가설 함수로 결과를 예측하는 회귀 분석 방법이다.
  • 다항 회귀를 활용하는 한 가지 방법은 서로 다른 두 Feature 를 하나의 feature로 만들어서 해당 feature를 입력으로 2차 이상의 함수를 예측하는 것이다.
  • ex) 부동산에서 집값 예측 시 땅의 가로/세로 길이가 주어졌을 때 면적(=가로*세로)으로 만들어서 면적에 따른 결과를 예측하기
  • 생김새는 아래와 같다.

  • 위와 같은 것을 아래와 같이 생각하고 풀이한다.

  • 다만, m > 3 (즉, 3차식 이상)일 경우, 다중공선성의 문제가 심각하다.

  • 다항회귀식 코드

from sklearn.preprocessing import PolynomialFeatures

poly_features = PolynomialFeatures(degree=2, include_bias=False)
X_poly = poly_features.fit_transform(X)

이러면 다항식으로 만들어진 것이다.

다중공선성(Multicoliinearity)

  • 독립변수끼리 상당히 유사한 의미를 가지는 것을 의미한다.
  • 즉, 두 개의 독립변수가 공선성이 높다는 것은, 두 변수 중 하나가 없어져도 크게 문제가 되지 않는다는 것을 의미한다.
  • 이는 예측에 큰 성능 저하의 원인이 되므로 제거해주는 것이 좋다. (과적합이 되기 쉽다)

다중 공선성을 줄이는 방법

  1. 표본평균을 빼고 치환한다.

    • 즉, z = (x-x의 평균)**2 를 이용하면 수치적인 안정성을 높일 수 있다
  2. 변수를 잘 선택한다.

    • 사실, ML에서는 가능한 간단한 모델이 좋다. 이를 모형간편화의 원칙이라고 하는데, 그를 위해 변수를 아래와 같이 선택하면 좋다.
    • 모든 가능한 회귀
      • 가능한 모든 변수들이 조합을 고려
    • 앞으로부터 선택
      • 가장 큰 영향을 줄 것으로 판단되는 변수들을 앞에서부터 하나씩 선택
    • 뒤로부터 제거
      • 가장 작은 영향을 줄 것으로 판단되는 변수들을 뒤에서부터 하나씩 제거
    • 단계별 회귀
      • 앞으로부터 선택법과 뒤로부터 제거법을 동시에 사용한다. 중요한 변수를 앞에서부터 하나씩 선택해 나가면서 이미 선택된 변수가 새로운 변수가 추가될 때 중요성을 상실하여 제거할 필요가 있는지 매 단계별로 검토한다.
  3. 규제를 한다.

    • 릿지, 라쏘, 엘라스틱넷 등을 활용한다.
  4. 차원축소를 한다.

    • PCA나 PLS, LLE, AE, t-SNE 등을 한다.
profile
완료주의

0개의 댓글