U nima uchun kerak
Savdo bo‘limi so‘raydi: «bashorat qanchalik aniq?». «MAE 37 dona» degan javob kam narsa aytadi: non uchun bu a’lo, avtomobillar uchun esa falokat. «O‘rtacha 12% ga adashamiz» degan javob izohsiz tushunarli va non uchun ham, avtomobillar uchun ham bir xil o‘qiladi. Shuning uchun MAPE (mean absolute percentage error) talabni bashorat qilish, moliya va energetikadagi eng mashhur metrikalardan biri.
U qayerda uchraydi:
- talab va sotuvlarni bashorat qilish — chakana savdo, logistika, xaridlarni rejalashtirish; ko‘pincha bu bashorat bo‘limining asosiy KPI’i;
- moliya va iqtisodiyot — tushum, narxlar, makroko‘rsatkichlar bashoratlarining aniqligi;
- energetika — tarmoq yuklamasini bashorat qilish, bunda xato foizi to‘g‘ridan-to‘g‘ri zaxira narxiga aylanadi;
- turli masshtabdagi qatorlarni solishtirish — MAPE o‘lchamsiz, shuning uchun aniqlikni minglab tovarlar bo‘yicha o‘rtachalash mumkin;
- bashorat musobaqalari — Makridakisning M3 musobaqasida uning «simmetrik» varianti sMAPE asosiy metrikalardan biri bo‘lgan, M4 da esa usullar sMAPE va MASE bo‘yicha birgalikda reytinglangan.
MAPE — haqiqiy qiymat ulushlarida o‘lchangan o‘rtacha absolyut xato. U masshtabga bog‘liq emas, lekin $y_i=0$ da aniqlanmagan va nol atrofida portlaydi. Musbat haqiqiy qiymat uchun kam bashorat ko‘pi bilan $100\%$ turadi, ortiq bashorat esa istalgancha. MAPE — $1/|y_i|$ vaznli MAE, shuning uchun MAPE bo‘yicha eng yaxshi konstanta pastga siljigan vaznli mediana, MAPE’da o‘qitilgan model esa bashoratlarni kamaytiradi.
Intuitsiya: haqiqiy qiymat ulushlaridagi xato
3 dona sotilganda 1 donaga adashish — uchdan birga xato qilish. 100 dona sotilganda xuddi shu bir donaga adashish — deyarli aniq tegish. MAPE har bir xatoni o‘z haqiqiy qiymatiga nisbatan o‘lchaydi va hosil bo‘lgan foizlarni o‘rtachalaydi.
Ko‘k nuqtalarni — bashoratlarni torting. O‘ngda — har bir obyektning foizdagi xatosi (APE, absolute percentage error) va ularning o‘rtachasi — MAPE.
Uchinchi obyektning absolyut xatosi birinchinikidan to‘rt baravar katta ($2$ va $0{,}5$), foizdagisi esa atigi $1{,}5$ baravar ($25\%$ va $16{,}7\%$): katta haqiqiy qiymat katta xatolarni «kechiradi». MAPE masshtabga befarq va kichik haqiqiy qiymatlarga juda sezgir.
Formula mayda detallarigacha
Formulani ichkaridan tashqariga qarab tahlil qilamiz.
- $y_i$
- haqiqiy qiymat; noldan farqli bo‘lishi shart;
- $\hat y_i$
- model bashorati;
- $|y_i-\hat y_i|$
- absolyut xato, MAEdagi kabi;
- $\frac{|y_i-\hat y_i|}{|y_i|}$
- nisbiy xato APE — haqiqiy qiymatning biz adashgan ulushi; o‘lchov birliklariga bog‘liq emas;
- $\frac{100\%}{n}\sum_{i=1}^n$
- obyektlar bo‘yicha o‘rtacha, foizlarga o‘tkazilgan.
Umumiy misol qadamma-qadam:
| $i$ | $y_i$ | $\hat y_i$ | $|y_i-\hat y_i|$ | $\mathrm{APE}_i$ |
|---|---|---|---|---|
| 1 | 3 | 2,5 | 0,5 | 16,7% |
| 2 | 5 | 5 | 0 | 0% |
| 3 | 8 | 10 | 2 | 25,0% |
| o‘rtacha | 0,833 | 13,9% |
Ikkita teng kuchli yozuv metrikaning tuzilishini ochib beradi:
Birinchisi: MAPE — $w_i=1/|y_i|$ vaznli vaznli MAE; haqiqiy qiymati kichik obyektlar ulkan vazn oladi. Ikkinchisi: musbat haqiqiy qiymatlar uchun APE faqat $q_i=\hat y_i/y_i$ nisbatga bog‘liq, $\mathrm{APE}_i=|1-q_i|$. Shuning uchun barcha haqiqiy qiymatlar va bashoratlar bir xil songa ko‘paytirilsa, MAPE o‘zgarmaydi.
Kutubxonalar ko‘pincha MAPE’ni 100 ga ko‘paytirmasdan, ulush sifatida qaytaradi: sklearn.metrics.mean_absolute_percentage_error umumiy misolda $13{,}9$ emas, $0{,}139$ beradi. Aynan nimani solishtirayotganingizni tekshiring.
Xossalar va nosimmetriklik
- O‘lchamsizlik: istalgan $c\ne0$ da $\mathrm{MAPE}(c\,y,\,c\,\hat y)=\mathrm{MAPE}(y,\hat y)$. So‘mmi yoki ming so‘mmi — farqi yo‘q.
- Siljishga invariant emas: haqiqiy qiymatlar va bashoratlarga 1000 qo‘shing — absolyut xatolar o‘sha, MAPE esa bir necha marta tushib ketadi. Shuning uchun MAPE °C dagi harorat va shartli nolga ega boshqa shkalalar uchun ma’nosiz.
- $y_i=0$ da aniqlanmagan va $y_i\to0$ da cheksiz o‘sadi: haqiqiy qiymat $0{,}01$ bo‘lganda 1 bashorati — $9900\%$ xato.
- Nol bashorat roppa-rosa $100\%$ turadi: $\hat y_i=0$ da har bir $\mathrm{APE}_i=1$. «Doim nol» modeli istalgan nolmas ma’lumotlarda $\mathrm{MAPE}=100\%$ ga ega.
- Nosimmetriklik: musbat haqiqiy qiymat va manfiy bo‘lmagan bashorat uchun kam bashorat $\mathrm{APE}\le100\%$ beradi, ortiq bashorat esa chegaralanmagan.
- Qavariqlik: MAPE — bashoratlarning chiziqli funksiyalari modullari yig‘indisi, shuning uchun u bashoratlar bo‘yicha (va chiziqli model parametrlari bo‘yicha) qavariq; faqat ideal bashoratda nolga teng.
Donada simmetrik, marta bo‘yicha — yo‘q
Agar xatoni birliklarda hisoblasak, MAPE simmetrik: $y-d$ va $y+d$ bashoratlar bir xil, $d/y$ turadi. Lekin biznesda xatolar ko‘pincha marta bilan o‘lchanadi: «bir yarim baravar oshirib yubordik», «ikki baravar kam bashorat qildik». Bu yerda MAPE nosimmetrik: ikki baravar kam ($\hat y=y/2$) $50\%$ turadi, ikki baravar ko‘p ($\hat y=2y$) — $100\%$. Bir xil marta adashgan ikki bashoratdan MAPE doim kamrog‘ini afzal ko‘radi.
Nega sMAPE unchalik simmetrik emas
sMAPE xatoni haqiqiy qiymat va bashoratning o‘rtachasiga bo‘ladi: $\mathrm{sAPE}=2|y-\hat y|/(|y|+|\hat y|)$. Marta bo‘yicha u simmetrik: $\hat y=k\,y$ va $\hat y=y/k$ da ($k>0$, $y>0$) bir xil qiymat chiqadi:
Donada esa yo‘q: $\hat y=y\pm d$ da $2y-d$ va $2y+d$ maxrajlar farq qiladi, va kam bashorat qattiqroq jazolanadi. Bu metrikalarning hech biri bir vaqtda ham «marta bo‘yicha», ham «donada» simmetriyani bermaydi; marta bo‘yicha qat’iy simmetrik — logarifmik xato $|\ln(\hat y/y)|$.
Hosila va eng yaxshi konstanta
Bitta obyekt uchun APE bashoratning chiziqli funksiyasi moduli, shuning uchun uning hosilasi — zinapoya:
Keltirib chiqarish va parametrlar bo‘yicha gradiyent
$\hat y_i>y_i$ da $\mathrm{APE}_i=(\hat y_i-y_i)/|y_i|$ — qiyaligi $1/|y_i|$ bo‘lgan to‘g‘ri chiziq; $\hat y_i<y_i$ da — qiyaligi $-1/|y_i|$ bo‘lgan $(y_i-\hat y_i)/|y_i|$ to‘g‘ri chiziq. $\hat y_i=y_i$ nuqtada hosila yo‘q (sinish); subgradiyent — $[-1/|y_i|;\,1/|y_i|]$ dan istalgan son, kutubxonalar odatda 0 ni oladi. Model parametrlari uchun zanjir qoidasiga ko‘ra:
Hosila moduli xato kattaligiga bog‘liq emas — MAEdagi kabi, — lekin $1/|y_i|$ ga ko‘paytirilgan: haqiqiy qiymati 1 bo‘lgan obyekt modelni haqiqiy qiymati 100 bo‘lgan obyektdan 100 marta kuchliroq tortadi. Umumiy misolda bashoratning har bir birligiga $\partial\,\mathrm{MAPE}/\partial\hat y=\tfrac{100\%}{3}\,\bigl(-\tfrac13;\;0;\;\tfrac18\bigr)\approx(-11{,}1\%;\;0;\;4{,}2\%)$: xatosi to‘rt baravar kichik birinchi obyekt uchinchisidan $2{,}7$ marta kuchliroq tortadi.
Eng yaxshi konstanta — pastga siljigan vaznli mediana
Barcha obyektlar uchun qaysi yagona $c$ bashorati MAPE’ni minimallashtiradi? $\mathrm{MAPE}(c)=\frac{100\%}{n}\sum_i|y_i-c|/y_i$ funksiyasi bo‘lakli-chiziqli va qavariq; qo‘shni ma’lumot nuqtalari orasida uning qiyaligi $\frac{100\%}{n}\bigl(\sum_{y_i<c}\tfrac1{y_i}-\sum_{y_i>c}\tfrac1{y_i}\bigr)$ ga teng. Minimum qiyalik ishorasini o‘zgartirgan joyda — chapdagi $1/y$ umumiy vazni o‘ngdagisi bilan tenglashgan joyda. Bu $1/y_i$ vaznli vaznli mediana:
Vaznlar $y$ o‘sishi bilan kamayadi, shuning uchun vaznli mediana oddiysidan katta emas: MAPE bashoratni sistematik ravishda pastga tortadi. Lognormal talab uchun buni aniq hisoblash mumkin: agar $\ln y\sim N(\mu,\sigma^2)$ bo‘lsa, $c^*=e^{\mu-\sigma^2}$ — $e^{-\sigma^2}$ ga ko‘paytirilgan $e^{\mu}$ mediana.
e^(−σ²) ko‘paytuvchi qayerdan keladi
Vaznli mediana — zichligi $f(y)/y$ ga proporsional bo‘lgan taqsimotning medianasi. Lognormal $f$ zichlik uchun $t=\ln y$ deb belgilab:
Bu yana lognormal zichlik, lekin $\mu-\sigma^2$ parametr bilan; uning medianasi $e^{\mu-\sigma^2}$. Taqqoslash uchun: dastlabki taqsimotning o‘rtachasi $e^{\mu+\sigma^2/2}$ medianadan yuqori. $\sigma=0{,}6$ da MAPE optimumi medianadan $1-e^{-0{,}36}\approx30\%$ past.
MAPE’ni minimallashtirishga o‘qitilgan model bu siljishni meros qilib oladi: uning bashoratlari sistematik ravishda haqiqiy qiymatlardan past. Chakana savdoda bu bo‘sh javonlarni anglatadi, yo‘qotilgan sotuvlar esa hech bir metrikaga tushmaydi: omborda qancha bo‘lsa, roppa-rosa shuncha sotiladi.
Xato xaritasi: (y, ŷ) tekisligi ustidagi APE
Bitta obyekt xatosiga ikki o‘zgaruvchining — haqiqiy qiymat $y$ va bashorat $\hat y$ ning funksiyasi sifatida qaraymiz. APE sath chiziqlari — koordinata boshidan chiqqan nurlar: $|y-\hat y|/y=a$ sharti $\hat y=(1\pm a)\,y$ ga teng kuchli. Absolyut xatoning sath chiziqlari esa, aksincha, parallel $\hat y=y\pm e$ to‘g‘ri chiziqlar. Nurlar nolda tutashadi, shuning uchun $y=0$ yaqinida istalgan qayd etilgan absolyut xato APE’ning barcha sathlarini kesib o‘tadi — «portlash» shundan.
$n$ ta obyekt uchun MAPE — shunday funksiyalarning o‘rtachasi. $(\hat y_1,\dots,\hat y_n)$ bashoratlar fazosida uning sath chiziqlari — markazi $y$ da, yarim o‘qlari $y_i$ ga proporsional bo‘lgan ko‘pyoqlar (2D’da romblar): kichik $y_i$ o‘qlari bo‘ylab katta jarimasiz uzoqqa ketib bo‘lmaydi.
MAPE’da o‘qitish: 1/y vaznlar va kam bashorat
MAPE — $1/|y_i|$ vaznli MAE bo‘lgani uchun, modelni MAPE’da obyekt vaznlari bilan MAE’ni minimallashtiradigan istalgan algoritm bilan o‘qitish mumkin: sample_weight=1/|y| ni bering. LightGBM’da tayyor objective="mape" maqsadi bor, PyTorch’da esa yo‘qotish bir qatorda yoziladi (kod bo‘limiga qarang).
Eng oddiy $\hat y=w\,x$ modelni $y=10\,x\cdot e^{0{,}35\,\varepsilon}$, $\varepsilon\sim N(0,1)$ bo‘lgan 40 ta obyektda o‘qitamiz: haqiqiy qiyalik 10 ga teng, shovqin multiplikativ — uning kattaligi haqiqiy sotuvlardagi kabi $y$ bilan birga o‘sadi.
Nega shunday: kichik $y$ li nuqtalar katta vazn oladi va to‘g‘ri chiziqni pastga tortadi. $q_i=y_i/x_i$ nisbatlar tilida $\mathrm{MAPE}(w)=\frac{100\%}{n}\sum_i|q_i-w|/q_i$, demak, optimum — $1/q_i$ vaznli $q_i$ larning vaznli medianasi. Lognormal shovqinda bu $e^{-\sigma^2}=e^{-0{,}1225}\approx0{,}885$ ga ko‘paytirilgan mediana, ya’ni katta tanlanmada 10 o‘rniga taxminan $8{,}85$ (quyidagi scikit-learn listingidagi 400 ta nuqtada $8{,}85$ chiqadi). 5-rasmdagi 40 ta nuqtada tasodifiy tebranish sezilarliroq, va optimum $9{,}10$ ga teng.
1) $\ln y$ dan MAE yoki MSE’da o‘qiting, MAPE’ni esa faqat hisobot uchun ishlating. 2) Agar KPI aynan MAPE bo‘lsa-yu, kam bashorat qimmat bo‘lsa (taqchillik), bashoratlarni validatsiyada tanlangan ko‘paytuvchi bilan to‘g‘rilang yoki haqiqiy xarajatlarni aks ettiruvchi metrikani tanlang (WAPE, kvantil yo‘qotish). 3) Ma’lumotlarda nollar yoki nolga yaqin qiymatlar bo‘lsa, MAPE’da o‘qitmang.
MAPE, sMAPE, WAPE va MASE
Sanab o‘tilgan muammolar tufayli MAPE’ning bir nechta mashhur qarindoshlari bor ($e_i=y_i-\hat y_i$):
| Metrika | Formula | $y$ dagi nollar | Xususiyati |
|---|---|---|---|
| MAPE | $\frac{100\%}{n}\sum\frac{|e_i|}{|y_i|}$ | aniqlanmagan | haqiqiy qiymat ulushi; marta bo‘yicha nosimmetrik; nol atrofida portlaydi |
| sMAPE | $\frac{100\%}{n}\sum\frac{2|e_i|}{|y_i|+|\hat y_i|}$ | $\hat y_i\ne0$ bo‘lsa, mumkin (unda $\mathrm{sAPE}_i=200\%$) | $200\%$ bilan chegaralangan; donada kam bashoratga qattiqroq |
| WAPE | $100\%\cdot\frac{\sum|e_i|}{\sum|y_i|}$ | mumkin (yig‘indi nol bo‘lmasin) | o‘rtacha haqiqiy qiymatga bo‘lingan MAE; katta obyektlar og‘irroq |
| MASE | $\frac{\frac1n\sum|e_i|}{\frac{1}{T-1}\sum_t|y_t-y_{t-1}|}$ | mumkin (qator o‘zgarmas bo‘lmasin) | «o‘tgan davrdagidek» sodda bashoratga nisbatan MAE; $<1$ — sodda bashoratdan yaxshi |
Umumiy misolda $\mathrm{MAPE}\approx13{,}9\%$, $\mathrm{sMAPE}\approx13{,}5\%$, $\mathrm{WAPE}=2{,}5/16\approx15{,}6\%$, masshtabi $\tfrac12\bigl(|5-3|+|8-5|\bigr)=2{,}5$ bo‘lgan MASE esa $0{,}833/2{,}5\approx0{,}33$ ga teng (soddalik uchun masshtab o‘sha uchta nuqta bo‘yicha hisoblangan).
WAPE (uni MAD/Mean ratio deb ham atashadi) — o‘rtacha haqiqiy qiymatga bo‘lingan MAE: sotuvi katta obyektlar og‘irroq, umumiy natija esa talabi nolga yaqin bitta tovar tufayli buzilmaydi. MASE (Xayndman va Kyoler, 2006) model MAE’sini qatorning o‘qitish qismida hisoblangan «o‘tgan davrdagidek» sodda bashorat MAE’si bilan solishtiradi (mavsumiy qatorlarda — mavsumiy sodda bashorat bilan) va hatto nollari bor qatorlar uchun ham yaraydi. sMAPE’ning bir nechta varianti bor: bu yerda M4 dagi kabi $200\%$ bilan chegaralangan $2|e_i|/(|y_i|+|\hat y_i|)$ ishlatiladi; M3 da maxraj modullarsiz, $y_i+\hat y_i$ olingan, ikkisiz va $100\%$ bilan chegaralangan versiya ham uchraydi — sonlarni solishtirishdan oldin formulani aniqlang. Bir xil ma’lumotlarda WAPE va MASE faqat o‘zgarmas ko‘paytuvchi bilan farq qiladi, shuning uchun ularning optimumi bitta.
Biznes misoli: do‘kon assortimenti
Tarmoq oltita tovarning haftalik sotuvlarini bashorat qiladi. Ulardan beshtasi o‘nlab va yuzlab dona sotiladi va $7{,}5\%$ dan $16{,}7\%$ gacha xato bilan bashorat qilinadi. Oltinchisi, F, — kam sotiladigan tovar: bashorat 10 dona, sotilgani esa 4.
Amalda nima qilish kerak:
- WAPE bilan hisobot bering (yoki tushum bo‘yicha vaznlangan MAPE bilan), agar donada yoki pulda umumiy aniqlik muhim bo‘lsa;
- MAPE’ni guruhlar bo‘yicha hisoblang — tez va sekin sotiladigan tovarlarni alohida — yoki sotuvi chegaradan past pozitsiyalarni chegarani aniq ko‘rsatgan holda chiqarib tashlang;
- sekin sotiladigan tovarlar uchun MASE yoki uzilishli talab uchun maxsus metrikalardan foydalaning;
- xato ishorasini alohida kuzating: bashoratlar yig‘indisining siljishi (bias) — mustaqil KPI, MAPE uni ko‘rsatmaydi.
MAPE statistik ma’lumotsiz ham tushunarli, shuning uchun u allaqachon soha hisobotlarining standartiga aylangan. Tanqid ham eski: kam bashoratlar foydasiga siljish va kichik haqiqiy qiymatlar muammosiga 1980–1990-yillardayoq e’tibor qaratilgan (masalan, Armstrong va Kollopi, 1992), Xayndman va Kyoler (2006) esa bu kamchiliklarsiz masshtabga bog‘liq bo‘lmagan muqobil sifatida MASE’ni taklif qilishgan.
Kodda
NumPy’da MAPE — bitta qator; quyida sMAPE, WAPE va formulalarni umumiy misolda tekshirish ham bor.
pythonimport numpy as np
y = np.array([3.0, 5.0, 8.0])
y_hat = np.array([2.5, 5.0, 10.0])
ape = np.abs((y - y_hat) / y) # [0.16666667 0. 0.25 ]
mape = 100 * ape.mean() # 13.888888888888888
# Xuddi shu, 1/|y| vaznli MAE sifatida
w = 1 / np.abs(y)
print(100 * np.mean(w * np.abs(y - y_hat))) # 13.888888888888888
def smape(y, f):
return 100 * np.mean(2 * np.abs(f - y) / (np.abs(y) + np.abs(f)))
def wape(y, f):
return 100 * np.sum(np.abs(y - f)) / np.sum(np.abs(y))
print(smape(y, y_hat), wape(y, y_hat)) # 13.468013468013467 15.625
scikit-learn ulush qaytaradi va mashina epsilonidan ($\approx2{,}2\cdot10^{-16}$) kichik maxrajlarni epsilon bilan almashtiradi — shuning uchun nolga bo‘lish xatosi o‘rniga ulkan son chiqadi. «MAPE bo‘yicha» o‘qitish uchun $1/y$ vaznli mediana regressiyasi mos keladi:
pythonimport numpy as np
from sklearn.metrics import mean_absolute_percentage_error
from sklearn.linear_model import LinearRegression, QuantileRegressor
# y, y_hat — yuqoridagi listingdan
print(mean_absolute_percentage_error(y, y_hat)) # 0.13888888888888887 — foiz emas, ulush!
print(mean_absolute_percentage_error([0.0, 5.0], [1.0, 5.0])) # 2251799813685248.0: nol o‘rniga eps ga bo‘lish
# «MAPE bo‘yicha» o‘qitish: 1/y vaznli mediana regressiyasi (MAE)
rng = np.random.default_rng(0)
x = rng.uniform(1, 10, 400)
t = 10 * x * np.exp(0.35 * rng.standard_normal(400))
X = x[:, None]
ols = LinearRegression(fit_intercept=False).fit(X, t)
fit = QuantileRegressor(quantile=0.5, alpha=0, fit_intercept=False).fit(X, t, sample_weight=1 / t)
print(ols.coef_, fit.coef_) # [10.57549043] [8.85148171] — MAPE bo‘yicha model yig‘indini 16% ga kamaytiradi
PyTorch’da yo‘qotish funksiyasi sifatida MAPE:
pythonimport torch
def mape_loss(pred, target, eps=1e-8):
"""Yo‘qotish funksiyasi sifatida MAPE (ulush). eps 0 ga bo‘lishdan saqlaydi, lekin nol atrofidagi ulkan vaznlardan emas."""
return torch.mean(torch.abs(target - pred) / target.abs().clamp_min(eps))
y = torch.tensor([3.0, 5.0, 8.0])
y_hat = torch.tensor([2.5, 5.0, 10.0], requires_grad=True)
loss = mape_loss(y_hat, y)
loss.backward()
print(loss.item(), y_hat.grad) # 0.1388888955116272 tensor([-0.1111, -0.0000, 0.0417])
MAPE’ni hisoblashdan oldin ma’lumotlardagi $|y|$ minimumiga qarang. U yerda nollar yoki odatiy qiymatlarga nisbatan juda kichik qiymatlar bo‘lsa, WAPE yoki MASE bilan hisobot bering va MAPE’ni yo‘qotish funksiyasi sifatida ishlatmang.
Ko‘p uchraydigan xatolar
- Nollari bor ma’lumotlarda MAPE. Nolga bo‘lish cheksizlik yoki NaN beradi, $\varepsilon$ orqali «himoya» esa astronomik sonlar beradi: scikit-learn $2{,}25\cdot10^{15}$ qaytaradi. Nollarni aniq filtrlang va bu haqda xabar bering yoki WAPE va MASE’ni oling.
- Shartli nolli shkalalar uchun MAPE — °C dagi harorat, indekslar, sanalar. 2° da ham, 30° da ham 1° xato bir xil, MAPE esa 15 marta farq qiladi.
- Siljishni hisobga olmasdan MAPE’da o‘qitish. Model bashoratni sistematik ravishda kamaytiradi, chakana savdoda bu javonlardagi taqchillikka aylanadi.
- Kichik qiymatlar ulushi har xil bo‘lgan to‘plamlar orasida MAPE’ni solishtirish. Bitta model tez sotiladigan tovarlarda 12%, sekin sotiladiganlarda 60% ko‘rsatadi — gap sifatda emas, ma’lumotlarda.
- Ulush va foizni chalkashtirish: scikit-learn $13{,}9$ emas, $0{,}139$ qaytaradi.
- «MAPE kichikroq — demak, reja aniqroq». MAPE xatolar ishorasini ko‘rmaydi: MAPE’si kichikroq bashorat 5-rasmdagi kabi talabni yig‘indida 16% ga kamaytirishi mumkin.
Boshqa formulalar bilan bog‘lanishlar
- MAE: MAPE — $1/|y_i|$ vaznli MAE; gradiyent moduli ham xato kattaligiga bog‘liq emas, lekin $1/|y_i|$ ga masshtablangan.
- MSE va RMSE: absolyut kvadratik xatolar; ularning nisbiy qarindoshi — RMSLE, logarifmik shkaladagi RMSE.
- Huber: noldagi sinishni silliqlaydi; xuddi shu g‘oyani nisbiy xatoga ham qo‘llash mumkin.
- SGD: MAPE’da o‘qitish — qadami kamaytirilishi kerak bo‘lgan subgradiyent tushish (5-rasmda — $1/\sqrt t$ kabi).
Xulosa
1) $\mathrm{MAPE}=\frac{100\%}{n}\sum|y_i-\hat y_i|/|y_i|$ — haqiqiy qiymatga nisbatan foizdagi o‘rtacha xato; masshtabga bog‘liq emas va biznesga tushunarli. 2) $y=0$ da aniqlanmagan va nol atrofida portlaydi; nol bashorat roppa-rosa $100\%$ turadi. 3) Marta bo‘yicha nosimmetrik: ikki baravar kam — $50\%$, ikki baravar ko‘p — $100\%$. 4) MAPE — $1/|y|$ vaznli MAE: hosila $\operatorname{sign}(\hat y-y)/|y|$, eng yaxshi konstanta — oddiysidan past vaznli mediana, MAPE’da o‘qitish kam bashoratga olib keladi. 5) Assortiment bo‘yicha hisobotlar uchun odatda WAPE va MASE ishonchliroq.