銷量預(yù)測(cè)中的誤差指標(biāo)分析

引言

本文介紹了一些銷量預(yù)測(cè)相關(guān)的誤差指標(biāo). 它們可以被分為兩類: 絕對(duì)誤差和絕對(duì)百分比誤差. 前2節(jié)介紹銷量預(yù)測(cè)問題及相關(guān)概念. 第3節(jié)我們介紹3種絕對(duì)誤差, 并比較它們對(duì)異常值的敏感性. 由于絕對(duì)誤差不適合比較多個(gè)商品或多個(gè)時(shí)段的預(yù)測(cè)結(jié)果, 在第4節(jié)我們介紹3種百分比誤差. 在這一節(jié), 我們重點(diǎn)強(qiáng)調(diào)了它們的優(yōu)點(diǎn)和缺陷. 第5節(jié)是誤差指標(biāo)比較結(jié)果的匯總. 在第6節(jié)中, 我們用一個(gè)例子充分說明了百分比誤差容易引發(fā)的問題, 并提醒讀者在實(shí)際中必須確認(rèn)預(yù)測(cè)目標(biāo)與誤差的一致性. 在第7節(jié), 我們給出一些結(jié)論和實(shí)際使用中的建議.

1. 銷量預(yù)測(cè)

銷量預(yù)測(cè)問題是供應(yīng)鏈管理中的一個(gè)基本問題. 銷量預(yù)測(cè)可用來指導(dǎo)商品采購, 新品立項(xiàng), 銷售計(jì)劃, 庫存平衡和資源調(diào)度等業(yè)務(wù). 因此, 預(yù)測(cè)"效果"的好壞 將直接影響這些業(yè)務(wù)的質(zhì)量(注: 不同業(yè)務(wù)可能要求不同的預(yù)測(cè)"效果"). 我們一般用預(yù)測(cè)銷量和真實(shí)銷量之間的誤差來評(píng)估銷量預(yù)測(cè)結(jié)果或模型的好壞. 直觀地講, 預(yù)測(cè)銷量與真實(shí)銷量越"接近"則誤差越小, 反之則誤差越大.

為方便描述, 我們考慮如下簡(jiǎn)化的銷量預(yù)測(cè)問題.

銷量預(yù)測(cè) 預(yù)測(cè)一個(gè)商品未來1到n天的銷量. 用x_ty_t分別代表商品第t天的實(shí)際銷量和預(yù)測(cè)銷量, 其中t=1, 2, ..., n. 因此我們需要估計(jì)實(shí)際銷量\{x_1, x_2, ... x_n\}與預(yù)測(cè)銷量\{y_1, y_2, ... y_n\}之間的誤差.

2. 基本概念

首先考慮第t天的實(shí)際銷量x_t和預(yù)測(cè)銷量y_t. 定義兩種誤差:

  • 絕對(duì)誤差(Absolute Error): e_t = |x_t-y_t|.

  • 絕對(duì)百分比誤差(Absolute Percentage Error): p_t = 100 e_t / x_t.

我們通過一個(gè)簡(jiǎn)單的例子來比較兩種誤差.

例. 假設(shè) x_1=1000, y_1= 1020, x_2=1, y_2=11.

  • 絕對(duì)誤差: e_1=20, e_2=10. 優(yōu)點(diǎn)是能直接反映誤差的大小; 缺點(diǎn)是依賴標(biāo)度(Scale-dependent), 即, 它依賴觀測(cè)值的標(biāo)度(單位), 因此不適合比較不同商品或不同時(shí)段之間的誤差.
  • 絕對(duì)百分比誤差: p_1=2, p_2= 1000. 優(yōu)點(diǎn)是不依賴標(biāo)度(Scale-free); 缺點(diǎn)是要求x_t\neq 0, 而這個(gè)條件在實(shí)際中往往不滿足. 此外, 即使?jié)M足條件x_t\neq 0, 當(dāng)x_t比較小時(shí), 容易造成p_t = 100e_t /x_t非常大(從而嚴(yán)重影響總體誤差).

3. 絕對(duì)誤差

下面考慮實(shí)際銷量\{x_1, x_2, ... x_n\}與預(yù)測(cè)銷量\{y_1, y_2, ... y_n\}之間的誤差指標(biāo). 我們先介紹三種絕對(duì)誤差指標(biāo).

  • 平均絕對(duì)誤差(Mean Absolute Error - MAE)

    \text{MAE} = \frac{1}{n}\sum_{t=1}^n e_t

  • 幾何平均絕對(duì)誤差(Geometric Mean Absolute Error - GMAE)

\text{GMAE} = \left(\Pi_{t=1}^n e_t\right)^{\frac{1}{n}}

  • 根均方誤差(Root Mean Square Error - RMSE)

\text{RMSE} = \sqrt{\frac{1}{n}\sum_{t=1}^n e_t^2}

誤差比較

  1. 可以證明: \text{RMSE} \geq \text{MAE} \geq \text{GMAE}. 這個(gè)關(guān)系也體現(xiàn)了它們對(duì)異常值的敏感程度(從左到右, 從高到低).
  2. GMAE對(duì)異常值不太敏感, 其誤差值比較穩(wěn)定, 因而適合用來比較預(yù)測(cè)模型的優(yōu)劣. 但它要求e_t\neq 0(否則GMAE=0). 此外, 由于需要開n次根, 其計(jì)算相對(duì)MAE耗時(shí)較大.
  3. RMSE和MAE對(duì)異常值比較敏感. 換句話說, 單個(gè)時(shí)段的絕對(duì)誤差e_t可能會(huì)較大地影響整體誤差, 從而導(dǎo)致誤差值會(huì)隨著預(yù)測(cè)值的變化呈現(xiàn)較大的波動(dòng). 因此, 在使用中我們需要先剔除異常值.
  4. 由于絕對(duì)誤差依賴標(biāo)度, 它們不適合用來比較不同商品或不同時(shí)期預(yù)測(cè)結(jié)果的誤差水平.

4. 絕對(duì)百分比誤差

為了克服絕對(duì)誤差依賴標(biāo)度的缺點(diǎn), 一個(gè)自然的想法是考慮百分比誤差. 在實(shí)際使用中, 人們常常盲目地使用直觀易懂的誤差指標(biāo)(例如下文提到的MAPE), 并忽略了百分比誤差自身的一些缺陷, 從而導(dǎo)致誤差的降低并不能帶來期望中預(yù)測(cè)效果的提升. 本節(jié)我們重點(diǎn)強(qiáng)調(diào)絕對(duì)百分比誤差的缺陷以及使用時(shí)需要注意的事項(xiàng).

4.1 平均絕對(duì)百分比誤差(Mean Absolute Percentage Error - MAPE)

\text{MAPE} = \frac{1}{n}\sum_{t=1}^n p_t

  • 優(yōu)點(diǎn)

    直觀, 容易計(jì)算

  • 缺點(diǎn)

    1. 它要求x_t\neq 0, 否則p_t=+\infty, 從而導(dǎo)致\text{MAPE}=+\infty.
    2. MAPE沒有上界, 因此對(duì)異常值敏感. 當(dāng)某個(gè)p_t非常大時(shí), 會(huì)導(dǎo)致MAPE的值也顯著變大.
    3. 如果使用MAPE作為誤差評(píng)價(jià)指標(biāo), p_t的不對(duì)稱性會(huì)導(dǎo)致預(yù)測(cè)銷量低于實(shí)際銷量(解釋如下).
  • p_t的不對(duì)稱性

    給定實(shí)際銷量x_t, 當(dāng)預(yù)測(cè)銷量y_t從0變化到+\infty時(shí), 分別考慮"低估"和"高估"時(shí)p_t的上界.

    • 低估: y_t < x_t, 此時(shí)p_t\leq 100, 即p_t上界為100;
    • 高估: y_t > x_t, 此時(shí)p_t\leq +\infty, 即p_t上界為無窮大.

    由于高估會(huì)帶來較大懲罰, 為了最小化MAPE值, 算法會(huì)傾向低估, 從而導(dǎo)致預(yù)測(cè)的銷量偏低.

4.2 對(duì)稱的MAPE (Symmetric Mean Absolute Percentage Error - SMAPE)

為了彌補(bǔ)p_t的不對(duì)稱性, M3-競(jìng)賽[1]和IJCAI-17[2]數(shù)據(jù)挖掘競(jìng)賽采用了所謂"對(duì)稱的"MAPE作為誤差評(píng)價(jià)指標(biāo). 定義如下:

\text{SMAPE} = \frac{1}{n} \sum_{t=1}^{n} p'_t, \quad \text{其中 } p'_t = \frac{200e_t}{x_t + y_t}.

  • 優(yōu)點(diǎn)

    1. 始終可計(jì)算(當(dāng)x_t+y_t=0時(shí), 定義p_t=0).
    2. SMAPE有界, 即: 0 \leq \text{SMAPE} \leq 200.
    3. 形式上滿足對(duì)稱性, 即低估和高估時(shí)p'_t的上界都是200.
  • 缺點(diǎn)

    1. p'_t的意義不直觀, 缺乏解釋性.
    2. 在實(shí)際的銷量預(yù)測(cè)中, 由于銷量的上界通常是有限的(通過經(jīng)驗(yàn)可以預(yù)估), 因而即使出現(xiàn)"高估"的情形, 預(yù)測(cè)銷量y_t一般不會(huì)超過實(shí)際銷量的常數(shù)倍(例如不超過10倍). 從這個(gè)角度來看, 高估時(shí)誤差p'_t的上界一般低于低估時(shí)對(duì)應(yīng)的上界. 換句話說, 低估帶來的懲罰比高估大. 因此如果使用SMAPE作為誤差指標(biāo), 其預(yù)測(cè)銷量一般會(huì)高于實(shí)際銷量.

4.3 反正切絕對(duì)百分比誤差(Mean Arctangent Absolute Percentage Error - MAAPE)

Sungil Kim和Heeyoung Kim[3]提出了一個(gè)有意思的誤差指標(biāo)MAAPE. 與MAPE相比, 它把p_t/100 = e_t/x_t理解成直角三角形中的切角(見下圖).

maape-motivation.png

因此\theta_t = \arctan(e_t/x_t). MAAPE即為\theta_t的均值:

\text{MAAPE} = \frac{1}{n}\sum_{t=1}^n \theta_t.

  • 優(yōu)點(diǎn)

    1. 始終可計(jì)算.
    2. MAAPE有界, 即: 0 \leq \text{MAAPE} \leq \frac{\pi}{2}.
    3. 有較好的可解釋性.
  • 缺點(diǎn)

    1. 如果用MAAPE作為誤差指標(biāo), 其預(yù)測(cè)銷量一般會(huì)低于實(shí)際銷量. (可以驗(yàn)證: 低估時(shí)\theta_t的上界為\pi/4, 而高估時(shí)對(duì)應(yīng)的上界為\pi/2.)

5. 誤差指標(biāo)匯比較結(jié)果匯總

絕對(duì)誤差

誤差指標(biāo) 中文 優(yōu)點(diǎn) 缺點(diǎn) 說明
MAE (算術(shù))平均絕對(duì)誤差 直觀 對(duì)異常值敏感 需要確認(rèn)預(yù)測(cè)的目標(biāo)與誤差指標(biāo)是否一致
GMAE 幾何平均絕對(duì)誤差 對(duì)異常值不敏感 1. e_t\neq 0; 2. 計(jì)算相對(duì)耗時(shí) 需要確認(rèn)預(yù)測(cè)的目標(biāo)與誤差指標(biāo)是否一致
RMSE 根均方誤差 - 對(duì)異常值非常敏感 需要確認(rèn)基本假設(shè)(例如誤差是正態(tài)分布)

絕對(duì)百分比誤差

誤差指標(biāo) 中文 優(yōu)點(diǎn) 缺點(diǎn) 說明
MAPE 平均百分比絕對(duì)誤差 直觀/容易計(jì)算 1. 對(duì)異常值敏感; 2. x_t\neq 0; 3. 預(yù)測(cè)值偏小 不推薦使用
SMAPE 對(duì)稱的平均絕對(duì)百分比誤差 1. 始終可計(jì)算; 2.形式上對(duì)稱 1. 實(shí)際中預(yù)測(cè)值偏大; 2. 解釋性差 需要確認(rèn)預(yù)測(cè)的目標(biāo)與誤差指標(biāo)是否一致
MAAPE 平均反正切絕對(duì)百分比誤差 1. 始終可計(jì)算; 2. 有一定的解釋性 預(yù)測(cè)值偏小 需要確認(rèn)預(yù)測(cè)的目標(biāo)與誤差指標(biāo)是否一致

說明

  1. 在實(shí)際中我們不能盲目地使用已知的誤差指標(biāo), 也不存在"萬金油"的誤差指標(biāo). 我們采用(設(shè)計(jì))的誤差指標(biāo)必須與業(yè)務(wù)目標(biāo)一致. 即, 誤差指標(biāo)的提升會(huì)帶來業(yè)務(wù)目標(biāo)的提升.
  2. 使用百分比誤差時(shí), 必須注意誤差指標(biāo)會(huì)引發(fā)預(yù)測(cè)銷量比實(shí)際銷量偏小或者偏大的風(fēng)險(xiǎn).

6. 示例

我們用一個(gè)簡(jiǎn)單的例子來說明百分比誤差引起的預(yù)測(cè)值偏大或偏小的問題.

. 假設(shè)n=1000, 實(shí)際銷量為1-100的均勻分布, 即x_t=t \mod 100, 其中t=1, 2, \ldots, n(若x_t=0, 令x_t=100). 我們的預(yù)測(cè)模型為y_t=k (k為1-100之間的整數(shù)).

下面考慮三種誤差指標(biāo)MAPE, SMAPE和MAAPE. 它們對(duì)應(yīng)的最優(yōu)預(yù)測(cè)結(jié)果如下圖所示.

Fig. 最優(yōu)預(yù)測(cè)結(jié)果
誤差指標(biāo) 最優(yōu)k值 誤差值 結(jié)論
MAPE 8 85.99 嚴(yán)重偏低(銷量的均值為50.5)
SMAPE 56 56.33 偏高
MAAPE 41 0.5272 偏低

警告 MAPE是業(yè)界使用最多的誤差指標(biāo), 其預(yù)測(cè)模型產(chǎn)生的預(yù)測(cè)結(jié)果會(huì)明顯偏低, 因此我們?cè)谑褂弥幸欢ㄒ_認(rèn)預(yù)測(cè)目標(biāo)與誤差指標(biāo)的一致性!

7. 總結(jié)

  1. RMSE經(jīng)常作為預(yù)測(cè)模型的誤差指標(biāo)(損失函數(shù)), 其理論依據(jù)是建立在誤差滿足正態(tài)分布的假設(shè)下. 首先我們要驗(yàn)證用于擬合的樣本是否滿足該條件. 其次, RMSE對(duì)異常值敏感, 為了獲得穩(wěn)定的效果, 我們一般需要對(duì)數(shù)據(jù)做一些平滑處理.
  2. 百分比誤差MAPE(以及類似的變種)是被濫用的誤差指標(biāo). 如果你正在使用, 請(qǐng)確保業(yè)務(wù)方了解該誤差指標(biāo)帶來的風(fēng)險(xiǎn).
  3. 沒有萬金油的誤差指標(biāo), 應(yīng)該根據(jù)自己實(shí)際的業(yè)務(wù)目標(biāo)來確定銷量預(yù)測(cè)的誤差指標(biāo). 一個(gè)基本原則是確定誤差指標(biāo)的提升能帶來業(yè)務(wù)的提升.
  4. 盡量不要使用單一的目標(biāo)來衡量預(yù)測(cè)效果.
  5. 盡量不要使用單一的預(yù)測(cè)結(jié)果去支持多種業(yè)務(wù).

參考文獻(xiàn)


  1. S. Makridakis and M. Hibon. The m3-competition: Results, conclusions and implications.
    International Journal of Forecasting, 16:451-476, 2000. ?

  2. IJCAI' 17 Competition. https://tianchi.aliyun.com/competition/information.htm?spm=5176.100067.5678.2.2f6f5933auxKS4&raceId=231591&_lang=zh_CN ?

  3. Sungil Kim and Heeyoung Kim. A new metric of absolute percentage error for intermit-
    tent demand forecasts. International Journal of Forecasting, 32:669-679, 2016. ?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 本文詳細(xì)說明了進(jìn)行時(shí)間序列預(yù)測(cè)的步驟。 我們被隨處可見的模式所包圍,人們可以注意到四季與天氣的關(guān)系模式,以交通量計(jì)...
    等花花不開閱讀 1,492評(píng)論 0 4
  • 時(shí)間序列處理與應(yīng)用 時(shí)間序列數(shù)據(jù)介紹 時(shí)間序列指的是同一個(gè)統(tǒng)計(jì)指標(biāo)的數(shù)值按其發(fā)生的時(shí)間先后順序排列而構(gòu)成的一組數(shù)列...
    Jachin111閱讀 1,752評(píng)論 0 6
  • 參考書目為安德森的《商務(wù)與經(jīng)濟(jì)統(tǒng)計(jì)》,以下為個(gè)人的學(xué)習(xí)總結(jié),如果有錯(cuò)誤歡迎指正。有需要本書pdf的,鏈接在本文末尾...
    愚盆閱讀 2,481評(píng)論 0 1
  • 表情是什么,我認(rèn)為表情就是表現(xiàn)出來的情緒。表情可以傳達(dá)很多信息。高興了當(dāng)然就笑了,難過就哭了。兩者是相互影響密不可...
    Persistenc_6aea閱讀 129,475評(píng)論 2 7
  • 16宿命:用概率思維提高你的勝算 以前的我是風(fēng)險(xiǎn)厭惡者,不喜歡去冒險(xiǎn),但是人生放棄了冒險(xiǎn),也就放棄了無數(shù)的可能。 ...
    yichen大刀閱讀 7,604評(píng)論 0 4

友情鏈接更多精彩內(nèi)容