주요 콘텐츠

mape

배열 간 평균절대백분율오차

R2022b 이후

설명

E = mape(F,A)는 전망(예측값) 배열 F와 실제(관측값) 배열 A 간의 평균절대백분율오차(MAPE)를 반환합니다.

  • FA는 동일한 크기이거나 호환되는 크기를 가져야 합니다.

  • FA가 동일한 크기의 벡터인 경우 E는 스칼라입니다.

  • F-A가 행렬인 경우 E는 각 열의 MAPE가 포함된 행 벡터입니다.

  • FA가 다차원 배열인 경우 E는 크기가 1이 아닌 첫 번째 배열 차원을 따라 계산된 MAPE를 포함하며, 요소는 벡터로 취급됩니다. 이 차원에서 E의 크기는 1이고, 다른 모든 차원의 크기는 F-A와 동일합니다.

예제

E = mape(F,A,"all")FA에 있는 모든 요소의 MAPE를 반환합니다.

E = mape(F,A,dim)은 차원 dim을 따라 연산을 수행합니다. 예를 들어, FA가 행렬인 경우 mape(F,A,2)는 각 행의 요소에 대해 연산을 수행하며 각 행의 MAPE가 포함된 열 벡터를 반환합니다.

예제

E = mape(F,A,vecdim)은 벡터 vecdim에 지정된 차원을 따라 연산을 수행합니다. 예를 들어, FA가 행렬인 경우 mape(F,A,[1 2])는 차원 1과 2로 정의된 배열 슬라이스에 행렬의 모든 요소가 포함되어 있으므로 FA의 모든 요소에 대해 연산을 수행합니다.

예제

E = mape(___,nanflag)는 위에 열거된 구문에 대해 FANaN 값을 포함시킬지 또는 생략할지 여부를 지정합니다. 예를 들어, mape(F,A,"omitnan")은 MAPE를 계산할 때 NaN 값을 무시합니다. 기본적으로 mapeNaN 값을 포함합니다.

예제

E = mape(___,zeroflag)A의 0 값을 포함시킬지 또는 생략할지 여부를 지정합니다. 예를 들어, mape(F,A,"includezero")는 계산에 0을 포함시키고 mape(F,A,"omitzero")는 무시합니다.

예제

E = mape(___,Weights=W)는 가중치 부여 방식 W를 지정하고 가중 MAPE를 반환합니다.

예제

예제

모두 축소

전망(예측값) 데이터로 구성된 두 개의 열 벡터와 실제(관측값) 데이터로 구성된 하나의 열 벡터를 만듭니다.

F1 = [1; 10; 9];
F2 = [2; 5; 10];
A = [1; 9; 10];

각 전망 데이터와 실제 데이터 간의 MAPE를 계산합니다.

E1 = mape(F1,A)
E1 = 
7.0370
E2 = mape(F2,A)
E2 = 
48.1481

또는 두 전망 데이터가 모두 포함된 행렬을 만든 다음 명령 하나로 각 전망 데이터와 실제 데이터 간의 MAPE를 계산합니다.

F = [F1 F2]
F = 3×2

     1     2
    10     5
     9    10

E = mape(F,A)
E = 1×2

    7.0370   48.1481

E의 첫 번째 요소는 첫 번째 전망 열과 실제 데이터 간의 MAPE입니다. E의 두 번째 요소는 두 번째 전망 열과 실제 데이터 간의 MAPE입니다.

전망 데이터로 구성된 행렬과 실제 데이터로 구성된 행렬을 만듭니다.

F = [17 19; 1 6; 16 15];
A = [17 25; 3 4; 16 13];

연산 차원을 2로 지정하여 각 행에 대해 전망 데이터와 실제 데이터 간의 MAPE를 계산합니다. 가장 작은 MAPE는 전망 데이터와 실제 데이터의 세 번째 행 간의 MAPE에 해당합니다.

E = mape(F,A,2)
E = 3×1

   12.0000
   58.3333
    7.6923

전망 데이터가 포함된 페이지로 구성된 3차원 배열과 실제 데이터로 구성된 행렬을 만듭니다.

F(:,:,1) = [2 4; -2 1];
F(:,:,2) = [4 4; 8 -3];
A = [6 7; 1 4];

연산 차원 1과 2의 벡터를 지정하여 전망 배열의 각 페이지의 예측 데이터와 실제 데이터 행렬 간의 MAPE를 계산합니다.

E = mape(F,A,[1 2])
E = 
E(:,:,1) =

  121.1310


E(:,:,2) =

  237.7976

E의 첫 번째 페이지는 F의 첫 번째 페이지와 행렬 A 간의 MAPE를 포함합니다. E의 두 번째 페이지는 F의 두 번째 페이지와 행렬 A 간의 MAPE를 포함합니다.

NaN 값이 포함된 전망 데이터 행렬과 실제 데이터 행렬을 만듭니다.

F = [17 19 3; 6 16 NaN];
A = [17 25 NaN; 4 16 NaN];

NaN 값을 무시하고 전망 데이터와 실제 데이터 간의 MAPE를 계산합니다. F 또는 A에서 값이 모두 NaN인 열이 있는 경우 MAPE는 NaN이 됩니다.

E = mape(F,A,"omitnan")
E = 1×3

    25    12   NaN

전망 데이터 행 벡터와 0을 포함한 실제 데이터 행 벡터를 만듭니다.

F = [1 6 10 5];
A = [2 6 0 3];

전망 데이터와 실제 데이터 간의 MAPE를 계산합니다.

E = mape(F,A)
E = 
Inf

기본적으로 A의 0 값은 MAPE 계산에 포함되기 때문에 결과는 Inf입니다. "omitzero"를 지정하여 실제 데이터의 0을 무시합니다. 이제 함수는 입력 데이터의 첫 번째, 두 번째, 네 번째 열에 대해서만 MAPE를 계산합니다.

Eomit = mape(F,A,"omitzero")
Eomit = 
38.8889

전망 열 벡터와 실제 열 벡터를 만듭니다.

F = [2; 10; 13];
A = [1; 9; 10];

W로 지정된 가중치 부여 방식에 따라 전망 데이터와 실제 데이터 간의 MAPE를 계산합니다.

W = [0.5; 0.25; 0.25];
E = mape(F,A,Weights=W)
E = 
60.2778

입력 인수

모두 축소

전망(예측값) 배열로, 벡터, 행렬 또는 다차원 배열로 지정됩니다.

입력값 FA는 동일한 크기이거나 호환되는 크기를 가져야 합니다. Fm×n 행렬이고 A는 1×n 행 벡터인 경우를 예로 들 수 있습니다. 자세한 내용은 기본 연산에 대해 호환되는 배열 크기 항목을 참조하십시오.

데이터형: single | double
복소수 지원 여부:

실제(관측값) 배열로, 벡터, 행렬 또는 다차원 배열로 지정됩니다.

입력값 FA는 동일한 크기이거나 호환되는 크기를 가져야 합니다. Fm×n 행렬이고 A는 1×n 행 벡터인 경우를 예로 들 수 있습니다. 자세한 내용은 기본 연산에 대해 호환되는 배열 크기 항목을 참조하십시오.

데이터형: single | double
복소수 지원 여부:

연산을 수행할 차원으로, 양의 정수 스칼라로 지정됩니다. 차원을 지정하지 않을 경우, 디폴트 값은 크기가 1이 아닌 첫 번째 배열 차원이 됩니다.

E에서 연산 차원에 해당하는 차원의 크기는 1입니다. E의 다른 모든 차원은 F-A의 결과값과 동일한 크기를 가집니다.

예를 들어, 네 개의 전망 데이터가 포함된 3×4 행렬 F와 실제 데이터가 포함된 3×1 열 벡터 A가 있다고 가정하겠습니다.

  • mape(F,A,1)은 각 열에서 요소들의 MAPE를 구하고 1×4 행 벡터를 반환합니다.

    E에서 연산 차원에 해당하는 차원의 크기는 1입니다. FA의 차분은 3×4 행렬입니다. E에서 연산 차원이 아닌 차원의 크기는 F-A의 두 번째 차원과 같으며, 따라서 4입니다. E의 전체 크기는 1×4가 됩니다.

  • mape(F,A,2)는 각 행에서 요소들의 MAPE를 구하고, 3×1 열 벡터를 반환합니다.

    E에서 연산 차원에 해당하는 차원의 크기는 1입니다. FA의 차분은 3×4 행렬입니다. E에서 연산 차원이 아닌 차원의 크기는 F-A의 첫 번째 차원과 같으며, 따라서 3입니다. E의 전체 크기는 3×1이 됩니다.

연산을 수행할 차원의 벡터로, 양의 정수로 구성된 벡터로 지정됩니다. 각 요소는 입력 배열의 차원을 나타냅니다. E에서 연산 차원에 해당하는 차원의 크기는 1입니다. E의 다른 모든 차원은 F-A의 결과값과 동일한 크기를 가집니다.

예를 들어, 전망 데이터가 포함된 2×3×3 배열 F와 실제 데이터가 포함된 1×3 행 벡터 A가 있다고 가정하겠습니다. mape(F,A,[1 2])F의 각 페이지에 대한 MAPE를 계산하여 1×1×3 배열을 반환합니다. E에서 연산 차원에 해당하는 차원의 크기는 1입니다. FA의 차분은 2×3×3 배열입니다. E에서 연산 차원이 아닌 차원의 크기는 F-A의 세 번째 차원과 같으며, 따라서 3입니다.

누락값 조건으로, 다음 값 중 하나로 지정됩니다.

  • "includemissing" 또는 "includenan" — MAPE를 계산할 때 입력 배열의 NaN 값을 포함합니다. 연산 차원의 요소가 하나라도 NaN인 경우 이에 대응하는 E의 요소도 NaN입니다. "includemissing""includenan"은 동일하게 동작합니다.

  • "omitmissing" 또는 "omitnan" — MAPE를 계산할 때 입력 배열의 NaN 값을 무시합니다. F, A 또는 W에서 연산 차원의 모든 요소가 NaN인 경우 대응하는 E의 요소는 NaN입니다. "omitmissing""omitnan"은 동일하게 동작합니다.

0 조건으로, 다음 값 중 하나로 지정됩니다.

  • "includezero" — MAPE를 계산할 때 A의 0을 포함합니다. A에 하나 이상의 0이 포함되어 있는 경우 EInf입니다.

  • "omitzero" — MAPE를 계산할 때 A의 0을 무시합니다. MAPE를 Inf로 만드는 0이 아닌 작은 A 값도 무시됩니다. A의 모든 요소가 무시되는 경우 ENaN입니다.

가중치 부여 방식으로, 벡터, 행렬 또는 다차원 배열로 지정됩니다. W의 요소는 음수가 아니어야 합니다.

W가 벡터인 경우 연산 차원과 길이가 같거나 F-A와 크기가 같아야 합니다. W가 행렬 또는 다차원 배열인 경우에는 F, A 또는 F-A와 동일한 크기를 가져야 합니다.

vecdim이나 "all"을 지정하는 경우에는 이 인수를 지정할 수 없습니다.

데이터형: double | single

세부 정보

모두 축소

  • 실제 데이터 A의 0 또는 0이 아닌 작은 값은 MAPE가 FA의 오차를 측정하는 데 적합한 메트릭이 아님을 나타낼 수 있습니다.

확장 기능

모두 확장

C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

버전 내역

R2022b에 개발됨

모두 확장

참고 항목

| |