예측 모델링의 정규화 및 보강

Tableau를 사용하는 많은 사람들은 예측 모델의 적합성 및 예측 품질을 개선하는 방법을 찾기는 커녕 예측 모델링 자체를 사용하지 않을 수도 있습니다. 이 문서는 이 데이터 과학 분야에 관심이 있는 고급 사용자를 위한 것입니다.

대상 식(예측할 측정값) 및 예측자 식(예측에 사용되는 측정값 및/또는 차원)과 같은 기본 인수에 더해 람다라는 정규화 매개 변수와 보강이라는 인수를 2개 더 추가하여 예측을 세밀하게 조정할 수 있습니다. 그러려면 계산의 구문에 새 인수를 추가해야 합니다.

정규화 및 보강과 함께 작동하는 모델은 무엇입니까?

Tableau의 예측 모델링 함수는 선형 회귀(최소 자승 회귀 또는 OLS라고도 함), 정규화된 선형 회귀(또는 리지 회귀) 및 가우스 프로세스 회귀의 세 가지 모델을 지원합니다. 선형 회귀 또는 리지 회귀를 사용하는 경우 보강을 통해 모델의 비선형 패턴 선택 기능을 강화할 수 있습니다. 리지 회귀를 사용하는 경우 정규화 매개 변수는 모델에 대한 정규화 효과를 조정하는 데 사용할 수 있는 스칼라입니다.

가우스 프로세스 회귀에는 정규화와 보강이 적용되지 않습니다.

정규화 비율 및 보강에 대해 자세히 설명하기 전에 다음 두 모델을 검토하겠습니다.

선형 회귀는 예측과 예측 대상 사이에 선형 관계가 있는 하나 이상의 예측자가 있고 이러한 예측자가 동일한 기본 조건의 영향을 받지 않으며 동일한 데이터의 두 인스턴스를 나타내지 않는 경우(예: 달러와 유로로 표시되는 매출)에 사용하는 것이 가장 좋습니다.

정규화된 선형 회귀는 안정성을 개선하고 공선성의 영향을 줄이며 계산 효율성과 일반화를 개선하는 데 사용됩니다. Tableau에는 L2 정규화가 사용됩니다. L2 정규화에 대한 자세한 내용은 리지 회귀에 대한 이 단원을 참조하십시오.

정규화란?

리지 회귀는 정규화된 선형 회귀의 특정 종류입니다. 정규화는 모델의 계수 크기에 페널티를 적용합니다. 정규화의 강도는 정규화의 전체 영향을 세밀하게 조정하는 데 사용되는 람다로 제어됩니다. 이 값이 클수록 페널티가 더 커집니다(즉, 정규화가 커짐).

리지 회귀는 선형 회귀의 일부 문제를 해결합니다.

  • 예측자 사이의 다중공선성으로 인한 이상 측면을 제거합니다.

  • 최소 자승 문제의 조건이 잘못된 경우 예를 들어 데이터 요소의 수가 특성 수보다 작은 경우 람다는 고유한 해결책을 선택합니다.

  • 람다는 선형 모델의 일반화를 개선할 수 있는 방법을 제공합니다.

기본적으로 Tableau에서 리지 회귀의 lambda=0.5입니다. 이 값은 많은 경우에 효과적입니다. 람다 값을 변경하려면 테이블 계산을 편집하면 됩니다(아래 예 참조).

보강이란?

MODEL_QUANTILE 및 MODEL_PERCENTILE에서 보강은 데이터 보강의 단순한 예입니다. 예측자를 차수가 더 높은 다항식으로 확장하는 것입니다. Tableau에는 예측 모델링 함수에 내장된 몇 가지 유형의 다항식 보강이 있습니다.

  • 정렬된 차원의 경우 최대 3차의 르장드르 다항식을 사용하여 선형 모델에서 보강된 예측자와 응답 간의 2차 및 3차 관계를 선택할 수 있습니다.

  • 측정값의 경우 2차 에르미트 다항식을 사용하여 선형 모델에서 보강된 예측자와 응답 간의 2차 관계를 선택할 수 있습니다.

선형 회귀에서는 정렬된 차원만 기본적으로 augmentation=on을 통해 보강되며 model=rl인 리지 회귀에서는 기본적으로 측정값만 보강됩니다. 설정을 재정의하고 계산의 각 예측자에 대한 보강을 사용하지 않으려면 augmentation=off를 사용합니다. 이렇게 하면 차수가 더 높은 다항식이 추가되지 않습니다.

데이터 집합이 아주 작은 경우에는 보강으로 인해 원래 데이터에 있는 잡음이 과적합될 수 있고 보강을 해제할 경우 더 단순하고 직관적인 결과 관계가 나오므로 보강을 해제하는 것이 좋습니다.

참고: 보강은 예측자별로 설정/해제됩니다(즉, 계산의 예측자 인수 내에서 설정/해제됨). 람다(및 모델)는 더 높은 수준(예측자 식 외부)에서 적용됩니다.

계산에서 람다 및 보강 구성

이제 정규화 매개 변수(또는 람다)와 데이터 보강에 대해 알았으니 예측 계산의 컨텍스트에서 살펴보겠습니다.

MODEL_QUANTILE("model=rl, lambda=0.05", 0.5, SUM([Profit]), "augmentation=off", SUM([Sales]))

아래에 보강 및 람다를 기본값에서 변경할 경우 선형 모델에 미치는 영향이 간략이 요약된 표가 나와 있습니다.

 보강람다
리지 회귀
선형 회귀해당 없음

정규화 및 보강에 대한 고려 사항

  • 데이터 모델이 잘못된 경우에는 정규화 매개 변수 또는 보강을 변경해도 결과가 나아질 가능성이 낮습니다. 이 경우 데이터 유형(측정값 및 차원)이 올바른지 검토하는 것이 좋습니다. 예를 들어 기초 데이터가 시계열인 경우 model=gp로 테이블 계산의 모델을 변경하여 가우스 프로세스 회귀를 대신 사용하는 것을 고려하십시오.

  • OLS는 정규화되지 않으므로 변경할 수 있는 람다 값이 없습니다.

  • 데이터 집합이 극도로 작고 차원(특히 카디널리티가 높은 차원)이 있는 경우 테이블 계산에 model=rl을 추가하여 리지 회귀를 사용해 보십시오.

  • 모든 것이 동일할 때(동일한 데이터 집합에서 보강을 설정하거나 해제할 때) 람다를 낮추면 적합을 개선할 수 있지만 일반화가 손상됩니다(과적합 유발).

  • 반대로 람다를 높이면 예측자에 대한 종속성 없이 적합을 상수 모델로 만들 수 있습니다. 이렇게 하면 모델 용량이 감소합니다(과소 적합 유발).

예 1

이 예에서는 남성과 여성에서 평균 콜레스테롤과 심장 질환 간의 관계를 보여 줍니다. 남성은 사각형 마크로 표시되고 여성은 원으로 표시됩니다.

첫 번째 비주얼리제이션에서 파란색 마크는 예측 목표를 나타내고 주황색 마크는 모델링된 값입니다. 데이터에 잡음이 매우 많은 것을 알 수 있습니다. 또한 보강이 설정되어 있고 람다 값은 0.01로 작습니다. 심장 질환 비율은 비현실적이게도 1보다 큽니다. 종속성이 너무 가파른 이유는 잡음 데이터의 모든 이상값 때문인 것으로 보입니다.

성별에 따른 심장 질환과 예측 목표 및 적합이 잘못된 모델

MODEL_QUANTILE("model=rl, lambda=0.01", 0.5, AVG([Target]), ATTR([Sex]), "augmentation=on", AVG([Chol]))

다음 비주얼리제이션에서는 다른 모델이 포함된 예측 목표를 비교합니다. 보강은 해제되어 있고 람다 값은 10입니다. 이 모델은 좀 더 현실적이며 1의 질환 비율을 초과하는 마크가 없습니다.

성별에 따른 심장 질환과 예측 목표 및 적합이 개선된 모델

MODEL_QUANTILE("model=rl, lambda=10", 0.5, AVG([Target]), ATTR([Sex]), "augmentation=off", AVG([Chol]))

예 2

다음으로, Boston’s Bluebikes(이전의 Hubway) 자전거 공유 시스템의 이용자 수 데이터를 사용한 다른 실제 예제를 살펴봅니다. 이 예에서는 선형 회귀가 효과적으로 작동합니다. 2017년 분기로 집계되는 다음 비주얼리제이션을 비교합니다.

과적합이 없는 Hubway 자전거 공유 데이터 차트

MODEL_QUANTILE('model=rl, lambda=0.05', 0.5, sum([Trip.Duration]), AVG([Temp]))

과적합이 없는 Hubway 자전거 공유 데이터 차트

MODEL_QUANTILE('model=rl, lambda=0.05', 0.5, AVG([Speed]), AVG([Temp]))

둘 다 크게 과적합되지 않으므로 람다가 작은 경우 람다에 대한 종속성이 약합니다.

이제 마지막 비주얼리제이션을 보겠습니다.

과적합이 없는 Hubway 자전거 공유 데이터 차트

MODEL_QUANTILE('model=rl, lambda=2', 0.5, sum([Trip.Duration]), AVG([Temp]))

람다가 증가하면 적합이 기울기 없이 평탄화됩니다. 즉, 과도하게 정규화되거나 "과소 적합"됩니다.

피드백을 제공해 주셔서 감사합니다!귀하의 피드백이 제출되었습니다. 감사합니다!