예측 모델링 함수의 오류 해결

Tableau에서 예측 모델링 함수를 사용하는 경우 비주얼리제이션에 계산을 추가하려고 할 때 오류가 발생할 수 있습니다. 이 오류는 예측자와 시각화된 요소의 조합이 수학적으로 유효하지 않은 계산으로 이어져 발생하는 경우가 많습니다.

일반적으로 가장 먼저 시도해야 할 일은 계산 도구 차원을 다시 확인하는 것입니다. 다음으로, 예측자에 지정된 세부 수준과 뷰의 세부 수준 간에 불일치가 없는지 확인합니다. 또한 현재 비주얼리제이션이 주어지면 예측자가 모델에 관련 데이터를 제공하는지 확인합니다.

이 문서에서는 몇 가지 일반적인 문제와 이를 해결할 수 있는 방법에 대해 자세히 설명합니다.

예측 모델링 함수의 오류는 일반적으로 사용된 모델에 따라 다음 문제 중 하나 이상으로 인해 발생합니다.

일반적인 오류

가우스 프로세스 회귀 오류

잘못된 계산 도구 차원

예측 모델링 함수를 시각화할 때 계산 도구 차원을 지정해야 합니다. 방향 차원(예: 테이블 옆에서 아래로 또는 패널 옆으로)보다는 특정 차원(예: 지역 또는 범주)을 선택하는 것이 좋습니다.

비주얼리제이션 또는 대시보드에 여러 예측 모델링 함수가 있을 수 있으므로 특정 파티션 지정 차원을 선택하면 각 개별 함수에 대해 동일한 기초 데이터 집합을 사용하여 모델을 작성할 수 있습니다. 즉, 유사한 모델의 결과를 비교할 수 있습니다.

주소 지정 및 파티션 지정에 대한 자세한 내용은 테이블 계산으로 값 변환을 참조하십시오.

예측 모델링 함수로 작업할 때 모델의 서로 다른 반복(예: 서로 다른 예측자 선택)과 서로 다른 비주얼리제이션 모두에서 서로 다른 인스턴스화 중에 일관성을 유지해야 합니다. 방향성 계산 도구 차원을 사용하면 시각화된 데이터의 사소한 변화가 모델을 작성하는 데 사용되는 데이터에 상당한 영향을 미칠 수 있게 되어 서로 다른 비주얼리제이션에서 유효성과 일관성이 영향을 받을 가능성이 생깁니다.

계산 도구 차원이 지정되지 않았거나 유효하지 않은 계산 도구 차원을 선택한 경우 null 값이 표시될 수 있습니다.

잘못된 계산 도구 차원에는 다음이 포함됩니다.

  • 셀: 이 차원은 항상 모델을 작성하는 데 사용되는 단일 데이터 요소를 생성하며 성공하지 못합니다.
  • 더 높은 수준의 중첩 차원(예: Region(지역)State(주)가 모두 축에서 시각화되는 경우 마크는 State(주)에 대해 생성되지만 Region(지역)별로 그룹화됩니다.) 파티션 지정 차원으로 Region(지역)을 선택한 경우 이 뷰에는 Region(지역)에 대해 형식화된 마크가 없기 때문에 null 값이 반환됩니다.

계산 도구 차원이 State(주) 및 Category(범주)인 비주얼리제이션

위 비주얼리제이션에서 유효한 계산 도구 차원은 State(주)Category(범주)입니다. State(주) 또는 Category(범주)별로 데이터를 분할하면 모델을 작성하는 데 사용할 수 있는 여러 개의 유효한 마크가 생성됩니다.

Region(지역)은 계산 도구 옵션으로 나열되지만 이 뷰의 세부 수준에 대한 마크를 생성하지 않으며 데이터를 분할하는 데 사용할 수 없습니다.

자세한 내용은 예측 모델링에서 계산 도구 및 데이터 파티션 지정을 참조하십시오.

차원 예측자가 시각화된 세부 수준과 충돌

차원 예측자는 시각화되는 세부 수준과 같거나 더 높은 수준이어야 합니다. 즉, State(주)별로 데이터를 시각화하는 경우 State(주), Region(지역) 또는 Country(국가)를 예측자로 사용할 수 있지만 City(도시)를 예측자로 사용하면 오류가 발생합니다. 한 주 내에 여러 도시가 존재하므로 이 예측자는 모든 마크에 대해 *로 확인되고 의미 있는 정보를 반환하지 않습니다. 즉, Tableau가 이를 무시합니다.

각 차원 예측자는 ATTR 함수 내에 포함되어야 합니다. 예를 들면 다음과 같습니다.

MODEL_PERCENTILE(SUM([Sales]), ATTR([State]), ATTR([Category])

여러 예측자가 서로 충돌

주어진 예측 모델링 함수 내에서 사용되는 각 예측자는 계산에 독립적인 정보를 제공해야 합니다. 정확히 동일하거나, 배율이 적용된 버전 또는 서로 역인 두 예측자를 선택하면 예측 모델링 함수가 시각화될 때 오류를 반환합니다.

예를 들어 시간에 따른 기상 상태를 추적하는 데이터 집합에는 IsRainIsClear라는 두 개의 필드가 있을 수 있습니다. 이 두 필드는 서로 역입니다. 즉, IsRain = False이면 IsClear = True이고 그 반대의 경우도 마찬가지입니다. 단일 예측 모델링 함수의 예측자로 IsClearIsRain을 모두 포함하면 오류가 반환됩니다.

위의 내용은 예측자로 사용하는 측정값과 차원에도 적용됩니다.

두 경우 모두 상관 관계가 높은 예측자를 제거하여 예측자를 수정하면 오류를 해결할 수 있습니다. 자세한 내용은 예측자 선택을 참조하십시오.

모델을 작성할 수 있는 데이터가 충분하지 않음

예측 모델링 함수가 모델을 작성하고 예측을 생성할 수 있게 하려면 파티션 내에 3개 이상의 마크가 있어야 합니다. 표시된 데이터와 계산 도구 차원에 의해 정의된 데이터 집합에 두 개 이하의 마크가 있는 경우 예측 모델링 함수는 null 결과를 반환합니다.

이 문제를 해결하려면 각 파티션에 3개 이상의 마크가 있도록 세부 수준, 데이터 필터링 매개 변수 또는 계산 도구 차원을 수정합니다.

제공된 데이터에서 성공적인 모델을 구성할 수 없음

이 오류는 선택한 예측자, 시각화된 세부 수준 및/또는 선택한 계산 도구 차원 간에 충돌이 있어 예측자를 사용하여 합리적인 모델을 작성할 수 없는 경우에 나타납니다.

예를 들어 다음 MODEL_QUANTILE 계산을 살펴보겠습니다.

MODEL_QUANTILE(0.5, MEDIAN([Profit]), ATTR(MONTH([Order Date])))

이 계산을 각 마크가 State(주) 값을 나타내는 비주얼리제이션에 적용하면 아래 오류가 반환됩니다.

오류 메시지

Order Date(주문 날짜)는 데이터를 시각화하거나 분할하는 데 사용되지 않으므로 예측 모델링 함수는 지정된 예측자를 모델을 작성하는 데 사용할 수 없습니다.

이 문제를 해결하려면:

  • 예측자를 차원으로 포함하도록 비주얼리제이션을 업데이트합니다.
  • 함수를 업데이트하여 실행할 수 없는 예측자를 제거합니다.

이 오류는 비주얼리제이션과 테이블 계산의 특정 예측자 간에 불일치가 있다는 것을 나타냅니다. Order Date(주문 날짜)를 차원으로 포함하는 비주얼리제이션에 이와 동일한 계산을 적용하면 문제 없이 작동합니다.

가우스 프로세스 회귀에는 정확히 하나의 정렬된 차원 예측자가 필요함

가우스 프로세스 회귀를 사용하려면 정확히 하나의 정렬된 차원을 예측자로 포함해야 합니다. 정렬되지 않은 추가 차원을 예측자로 포함할 수 있습니다. 측정값은 가우스 프로세스 회귀에서 예측자로 사용할 수 없습니다.

이 오류가 발생하면 테이블 계산에 정렬된 차원 예측자를 추가하거나, 불필요한 정렬된 차원 예측자를 제거하거나, 정렬된 차원 중 하나를 정렬되지 않은 차원으로 처리하도록 지정합니다.

가우스 프로세스 회귀는 시계열 데이터에 사용하는 것이 가장 좋습니다. 이 경우 일반적으로 ATTR(DATETRUNC('month',[Order Date]))와 같은 시간 기반 예측자의 형태를 취합니다. 모든 날짜_부분은 DATETRUNC 식에서 사용할 수 있지만 날짜_부분은 비주얼리제이션과 동일하거나 더 높은 세부 수준이어야 합니다. 즉, 비주얼리제이션이 집계 수준으로 WEEK([Order Date])를 사용하는 경우 날짜_부분은 'week','month','quarter' 등이어야 합니다. 'dayofyear', 'day', 'weekday', 'hour' 등은 날짜_부분이 될 수 없습니다.

ATTR(MONTH([Date]))는 문자열 값을 반환하므로 수동으로 지정하지 않는 한 정렬된 차원 예측자로 작동하지 않습니다. 수동으로 지정하려면 아래와 같이 예측자 바로 앞에 "ordered"를 포함하면 됩니다.

MODEL_PERCENTILE(
"model=gp",
SUM([Sales]),
"ordered",ATTR(MONTH([Order Date]))
)

예측자에 여러 시간 차원을 포함하려면 정렬되지 않은 차원으로 사용할 차원을 지정해야 합니다. 이렇게 하려면 아래와 같이 해당 차원 바로 앞에 "unordered"을 포함하면 됩니다.

MODEL_PERCENTILE(
"model=gp",
SUM([Sales]),
ATTR(DATETRUNC('month',[Order Date]))
"unordered",ATTR(DATETRUNC('year',[Order Date]))
)

ATTR(DATETRUNC('year',[Order Date]) 앞에 "unordered"를 지정하지 않고 위의 계산을 사용하려고 하면 오류가 반환됩니다.

또한 가우스 프로세스 회귀에 대한 주소 지정 방향(또는 "계산 도구")은 정렬된 차원 예측자와 동일한 필드로 설정되어야 합니다.

모든 모델에 대해 하나의 주소 지정 방향(또는 "계산 도구")만 선택할 수 있습니다.

가우스 프로세스 회귀는 차원만 예측자로 지원함

가우스 프로세스 계산에서는 측정값을 예측자로 사용할 수 없습니다. 측정값 예측자를 제거하십시오.

이 제한은 가우스 프로세스 회귀를 지정하는 예측 모델링 함수에만 적용됩니다. 선형 회귀(또는 OLS, 기본값) 및 정규화된 선형 회귀 함수는 모두 측정값을 예측자로 지원합니다.

하나 이상의 예측 대상에 대한 학습 데이터가 없음

가우스 프로세스 회귀에는 예측 모델을 작성하고 예측을 반환하기 위해 각 데이터 파티션에 최소 n개의 데이터 요소가 있어야 합니다. 이 오류가 발생하면 예측을 수정하십시오.

5,000개 이상의 마크가 있음

가우스 프로세스 회귀는 마크가 5,000개 미만인 비주얼리제이션에서만 지원됩니다. 이 문제를 해결하려면 세부 수준을 업데이트하여 마크 수를 줄이거나 다른 통계 모델을 선택하십시오.

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