Mengevaluasi Akurasi Prediktor - Amazon Forecast

Amazon Forecast tidak lagi tersedia untuk pelanggan baru. Pelanggan Amazon Forecast yang ada dapat terus menggunakan layanan seperti biasa. Pelajari lebih lanjut”

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengevaluasi Akurasi Prediktor

Amazon Forecast menghasilkan metrik akurasi untuk mengevaluasi prediktor dan membantu Anda memilih mana yang akan digunakan untuk menghasilkan perkiraan. Forecast mengevaluasi prediktor menggunakan Akar Berarti Lapangan Kesalahan (RMSE), Tertimbang Quantile Loss (WqL), Berarti Absolute Persentase Kesalahan (MAPE), Berarti Absolute Scaled Error (MASE), dan Tertimbang Absolute Persentase Kesalahan (WAPE) metrik.

Amazon Forecast menggunakan pengujian ulang untuk menyesuaikan parameter dan menghasilkan metrik akurasi. Selama pengujian ulang, Forecast secara otomatis membagi data deret waktu Anda menjadi dua set: satu set pelatihan dan satu set pengujian. Set pelatihan digunakan untuk melatih model dan menghasilkan perkiraan untuk titik data dalam set pengujian. Forecast mengevaluasi akurasi model dengan membandingkan nilai perkiraan dengan nilai yang diamati dalam set pengujian.

Forecast memungkinkan Anda untuk mengevaluasi prediktor menggunakan jenis perkiraan yang berbeda, yang dapat menjadi satu set perkiraan kuantil dan perkiraan rata-rata. Perkiraan rata-rata memberikan perkiraan titik, sedangkan perkiraan kuantil biasanya memberikan berbagai kemungkinan hasil.

Notebook Python

Untuk step-by-step panduan tentang mengevaluasi metrik prediktor, lihat Metrik Komputasi Menggunakan Backtests tingkat Item. .

Menafsirkan metrik Akurasi

Amazon Forecast menyediakan Root Mean Square Error (RMSE), Weighted Quantile Loss (WqL), Average Weighted Quantile Loss (Average WqL), Mean Absolute Scaled Error (MASE), Mean Absolute Persentase Error (MAPE), dan metrik Weighted Absolute Persentase Error (WAPE) untuk mengevaluasi prediktor Anda. Bersama dengan metrik untuk prediktor keseluruhan, Forecast menghitung metrik untuk setiap jendela backtest.

Anda dapat melihat metrik akurasi untuk prediktor Anda menggunakan Amazon Forecast Software Development Kit (SDK) dan konsol Amazon Forecast.

Forecast SDK

Menggunakan GetAccuracyMetricsOperasi, specif y AndaPredictorArn untuk melihat RMSE, MASE, MAPE, WAPE, rata-rata WqL, dan WQl metrik untuk setiap backtest.

{ "PredictorArn": "arn:aws:forecast:region:acct-id:predictor/example-id" }
Forecast Console

Pilih prediktor Anda pada halaman Prediktor. Metrik akurasi untuk prediktor ditampilkan di bagian metrik Prediktor.

catatan

Untuk metrik WQL, WqL, RMSE, MASE, MAPE, dan WAPE Rata-rata, nilai yang lebih rendah menunjukkan model superior.

Rugi Kuantil Tertimbang (WqL)

Metrik Weighted Quantile Loss (WqL) mengukur keakuratan model pada kuantil tertentu. Hal ini sangat berguna ketika ada biaya yang berbeda untuk meremehkan dan overpredicting. Dengan menetapkan bobot (τ) dari fungsi wQL, Anda dapat secara otomatis memasukkan hukuman yang berbeda untuk meremehkan dan memprediksi berlebihan.

Fungsi kerugian dihitung sebagai berikut.

Mathematical equation for weighted quantile loss function with tau parameter.
Dengan:

τ - kuantil di set {0,01, 0,02,..., 0,99}

qi,t (τ) - τ-quantile yang diprediksi model.

yi,t - nilai yang diamati pada titik (i, t)

Kuantil (τ) untuk wqL dapat berkisar dari 0,01 (P1) hingga 0,99 (P99). Metrik WqL tidak dapat dihitung untuk perkiraan rata-rata.

Secara default, Forecast menghitung WQL di0.1 (P10),0.5 (P50), dan0.9 (P90).

  • P10 (0.1) - Nilai sebenarnya diharapkan lebih rendah dari nilai yang diprediksi 10% dari waktu.

  • P50 (0.5) - Nilai sebenarnya diperkirakan akan lebih rendah dari nilai yang diprediksi 50% dari waktu. Ini juga dikenal sebagai perkiraan rata-rata.

  • P90 (0.9) - Nilai sebenarnya diperkirakan akan lebih rendah dari nilai yang diprediksi 90% dari waktu.

Secara eceran, biaya kekurangan stok seringkali lebih tinggi daripada biaya kelebihan stok, sehingga peramalan pada P75 (τ = 0,75) bisa lebih informatif daripada peramalan pada kuantil median (P50). Dalam kasus ini, WqL [0,75] memberikan bobot penalti yang lebih besar untuk underforecasting (0,75) dan berat penalti yang lebih kecil untuk overforecasting (0,25).

Two probability distribution curves showing demand forecasting at P50 and P75 quantiles.

Gambar di atas menunjukkan perkiraan permintaan yang berbeda di WqL [0,50] dan WqL [0,75]. Nilai perkiraan pada P75 secara signifikan lebih tinggi dari nilai yang diperkirakan pada P50 karena perkiraan P75 diperkirakan akan memenuhi permintaan 75% dari waktu, sedangkan perkiraan P50 hanya diharapkan memenuhi permintaan 50% dari waktu.

Ketika jumlah nilai yang diamati atas semua item dan titik waktu adalah sekitar nol di jendela backtest yang diberikan, ekspresi kerugian kuantil tertimbang tidak terdefinisi. Dalam kasus ini, Forecast output kerugian kuantil tertimbang, yang merupakan pembilang dalam ekspresi wqL.

Forecast juga menghitung rata-rata WqL, yang merupakan nilai rata-rata kerugian kuantil tertimbang atas semua kuantil yang ditentukan. Secara default, ini akan menjadi rata-rata wqL [0.10], wqL [0.50], dan wqL [0.90].

Tertimbang Absolute Persentase Kesalahan (WAPE)

Kesalahan Persentase Absolute Tertimbang (WAPE) mengukur deviasi keseluruhan nilai yang diperkirakan dari nilai yang diamati. WAPE dihitung dengan mengambil jumlah nilai yang diamati dan jumlah nilai yang diprediksi, dan menghitung kesalahan antara dua nilai tersebut. Nilai yang lebih rendah menunjukkan model yang lebih akurat.

Ketika jumlah nilai yang diamati untuk semua titik waktu dan semua item kira-kira nol di jendela backtest tertentu, ekspresi kesalahan persentase absolut tertimbang tidak terdefinisi. Dalam kasus ini, Forecast menghasilkan jumlah kesalahan absolut yang tidak tertimbang, yang merupakan pembilang dalam ekspresi WAPE.

Mathematical formula for WAPE showing summation of absolute differences divided by sum of absolute values.
Dengan:

yi,t - nilai yang diamati pada titik (i, t)

i,t- nilai prediksi pada titik (i, t)

Forecast menggunakan rata-rata perkiraan sebagai nilai prediksi, dlli,t.

WAPE lebih kuat untuk outliers dari Root Mean Lapangan Error (RMSE) karena menggunakan kesalahan mutlak bukan kesalahan kuadrat.

Amazon Forecast sebelumnya menyebut metrik WAPE sebagai Mean Absolute Persentase Error (MAPE) dan menggunakan perkiraan median (P50) sebagai nilai prediksi. Forecast sekarang menggunakan perkiraan rata-rata untuk menghitung WAPE. The wqL [0.5] metrik setara dengan WAPE [median] metrik, seperti yang ditunjukkan di bawah ini:

Mathematical equation showing the equivalence of wQL[0.5] and WAPE[median] metrics.

Akar Berarti Lapangan Kesalahan (RMSE)

Root Mean Square Error (RMSE) adalah akar kuadrat dari rata-rata kesalahan kuadrat, dan karena itu lebih sensitif terhadap outliers daripada metrik akurasi lainnya. Nilai yang lebih rendah menunjukkan model yang lebih akurat.

Mathematical formula for Root Mean Square Error (RMSE) with summation and square root.
Dengan:

yi,t - nilai yang diamati pada titik (i, t)

i,t- nilai prediksi pada titik (i, t)

nT - jumlah titik data dalam set pengujian

Forecast menggunakan rata-rata perkiraan sebagai nilai prediksi, dlli,t. Saat menghitung metrik prediktor, nT adalah jumlah titik data di jendela backtest.

RMSE menggunakan nilai kuadrat dari residu, yang memperkuat dampak outliers. Dalam kasus penggunaan di mana hanya beberapa kesalahpahaman besar yang bisa sangat mahal, RMSE adalah metrik yang lebih relevan.

Prediktor dibuat sebelum November 11, 2020 dihitung RMSE menggunakan 0.5 kuantil (P50) secara default. Forecast sekarang menggunakan perkiraan rata-rata.

Berarti Kesalahan Persentase Mutlak (MAPE)

Berarti Absolute Persentase Error (MAPE) mengambil nilai absolut dari persentase kesalahan antara nilai yang diamati dan diprediksi untuk setiap unit waktu, kemudian rata-rata nilai-nilai tersebut. Nilai yang lebih rendah menunjukkan model yang lebih akurat.

Mathematical formula for Mean Absolute Percentage Error (MAPE) calculation.
Dengan:

At - nilai yang diamati pada titik t

Ft - nilai yang diprediksi pada titik t

n - jumlah titik data dalam rangkaian waktu

Forecast menggunakan perkiraan rata-rata sebagai nilai prediksi, Ft.

MAPE berguna untuk kasus di mana nilai berbeda secara signifikan antara titik waktu dan outliers memiliki dampak yang signifikan.

Berarti Kesalahan Berskala Mutlak (MASE)

Berarti Absolute Scaled Error (MASE) dihitung dengan membagi kesalahan rata-rata dengan faktor penskalaan. Faktor penskalaan ini tergantung pada nilai musiman, m, yang dipilih berdasarkan frekuensi perkiraan. Nilai yang lebih rendah menunjukkan model yang lebih akurat.

Mathematical formula for Mean Absolute Scaled Error (MASE) with summation and absolute value notations.
Dengan:

Yt - nilai yang diamati pada titik t

Yt-m - nilai yang diamati pada titik t-m

ej - kesalahan pada titik j (nilai diamati - nilai prediksi)

m - nilai musiman

Forecast menggunakan perkiraan rata-rata sebagai nilai prediksi.

MASE sangat ideal untuk dataset yang bersifat siklis atau memiliki sifat musiman. Misalnya, peramalan untuk item yang dalam permintaan tinggi selama musim panas dan permintaan rendah selama musim dingin dapat mengambil manfaat dari memperhitungkan dampak musiman.

Mengekspor metrik Akurasi

catatan

File ekspor dapat langsung mengembalikan informasi dari Impor Dataset. Hal ini membuat file rentan terhadap injeksi CSV jika data yang diimpor berisi rumus atau perintah. Untuk alasan ini, file yang diekspor dapat meminta peringatan keamanan. Untuk menghindari aktivitas berbahaya, nonaktifkan tautan dan makro saat membaca file yang diekspor.

Forecast memungkinkan Anda untuk mengekspor nilai perkiraan dan metrik akurasi yang dihasilkan selama pengujian ulang.

Anda dapat menggunakan ekspor ini untuk mengevaluasi item tertentu pada titik waktu dan kuantil tertentu, dan lebih memahami prediktor Anda. Ekspor backtest dikirim ke lokasi S3 tertentu dan berisi dua folder:

  • nilai perkiraan: Berisi file CSV atau Parket dengan nilai perkiraan pada setiap jenis perkiraan untuk setiap backtest.

  • accuracy-metrics-values: Berisi file CSV atau Parket dengan metrik untuk setiap backtest, bersama dengan rata-rata di semua backtests. Metrik ini termasuk WqL untuk setiap kuantil, Rata-rata WQl, RMSE, MASE, MAPE, dan WAPE.

forecasted-valuesFolder berisi nilai perkiraan pada setiap jenis perkiraan untuk setiap jendela backtest. Ini juga mencakup informasi tentang ID item, dimensi, cap waktu, nilai target, dan waktu mulai dan akhir jendela backtest.

accuracy-metrics-valuesFolder berisi metrik akurasi untuk setiap jendela backtest, serta metrik rata-rata di semua jendela backtest. Ini berisi metrik WQL untuk setiap kuantil yang ditentukan, serta metrik WqL, RMSE, MASE, MAPE, dan WAPE rata-rata.

File dalam kedua folder mengikuti konvensi penamaan:<ExportJobName>_<ExportTimestamp>_<PartNumber>.csv.

Anda dapat mengekspor metrik akurasi menggunakan Amazon Forecast Software Development Kit (SDK) dan konsol Amazon Forecast.

Forecast SDK

Menggunakan CreatePredictorBacktestExportJoboperasi, tentukan lokasi S3 dan peran IAM Anda dalam DataDestinationobjek, bersama denganPredictorArn danPredictorBacktestExportJobName.

Misalnya:

{ "Destination": { "S3Config": { "Path": "s3://bucket/example-path/", "RoleArn": "arn:aws:iam::000000000000:role/ExampleRole" } }, "Format": PARQUET; "PredictorArn": "arn:aws:forecast:region:predictor/example", "PredictorBacktestExportJobName": "backtest-export-name", }
Forecast Console

Pilih prediktor Anda pada halaman Prediktor. Di bagian Predictor metrics, pilih Ekspor hasil backtest.

Selama tahap ekspor Buat prediktor backtest, atur kolom Export name, IAM Role, dan S3 prediktor backtest export location.

Form for exporting predictor backtest data to S3, with fields for name, IAM role, and location.

Memilih Jenis Forecast

Amazon Forecast menggunakan jenis perkiraan untuk membuat prediksi dan mengevaluasi prediktor. Jenis Forecast jenis ada dalam dua bentuk:

  • Berarti jenis perkiraan - Sebuah perkiraan menggunakan mean sebagai nilai yang diharapkan. Biasanya digunakan sebagai perkiraan titik untuk titik waktu tertentu.

  • Jenis perkiraan kuantil - Perkiraan pada kuantil tertentu. Biasanya digunakan untuk memberikan interval prediksi, yang merupakan rentang nilai yang mungkin untuk memperhitungkan ketidakpastian perkiraan. Misalnya, perkiraan pada0.65 kuantil akan memperkirakan nilai yang lebih rendah dari nilai yang diamati 65% dari waktu.

Secara default, Forecast menggunakan nilai berikut untuk jenis prediksi prediktor:0.1 (P10),0.5 (P50), dan0.9 (P90). Anda dapat memilih hingga lima jenis perkiraan khusus, termasukmean dan kuantil mulai dari0.01 (P1) hingga0.99 (P99).

Kuantil dapat memberikan batas atas dan bawah untuk prakiraan. Misalnya, menggunakan jenis perkiraan0.1 (P10) dan0.9 (P90) menyediakan berbagai nilai yang dikenal sebagai interval kepercayaan 80%. Nilai yang diamati diperkirakan lebih rendah dari nilai P10 10% dari waktu, dan nilai P90 diperkirakan akan lebih tinggi dari nilai yang diamati 90% dari waktu. Dengan menghasilkan prakiraan pada p10 dan P90, Anda dapat mengharapkan nilai sebenarnya jatuh di antara batas tersebut 80% dari waktu. Rentang nilai ini digambarkan oleh wilayah yang diarsir antara P10 dan P90 pada gambar di bawah ini.

Graph showing forecast quantiles with P99, P90, P50, P10, and P1 lines over time.

Anda juga dapat menggunakan perkiraan kuantil sebagai perkiraan titik ketika biaya underpredicting berbeda dari biaya overpredicting. Misalnya, dalam beberapa kasus ritel biaya kekurangan stok lebih tinggi daripada biaya kelebihan stok. Dalam kasus ini, perkiraan pada 0,65 (P65) lebih informatif daripada perkiraan rata-rata (P50) atau rata-rata.

Saat melatih prediktor, Anda dapat memilih jenis perkiraan khusus menggunakan Amazon Forecast Software Development Kit (SDK) dan konsol Amazon Forecast.

Forecast SDK

Menggunakan CreateAutoPredictoroperasi, tentukan jenis perkiraan khusus dalamForecastTypes parameter. Format parameter sebagai array string.

Misalnya, untuk membuat prediktor pada jenis0.01mean,0.65,, dan0.99 perkiraan, gunakan kode berikut.

{ "ForecastTypes": [ "0.01", "mean", "0.65", "0.99" ], },
Forecast Console

Selama tahap Prediktor Kereta, tentukan jenis Forecast khusus di bidang Jenis perkiraan. Pilih Tambahkan jenis perkiraan baru dan masukkan nilai jenis perkiraan.

Misalnya, untuk membuat prediktor menggunakan tipe0.01,,mean0.65, dan0.99 perkiraan, masukkan nilai berikut di bidang jenis Forecast yang ditunjukkan di bawah ini.

Form for entering forecast types with fields for type names and quantile values between .01 and .99.

Bekerja dengan Prediktor Warisan

Mengatur Parameter Backtesting

Forecast menggunakan backtesting untuk menghitung metrik akurasi. Jika Anda menjalankan beberapa backtest, Forecast rata-rata setiap metrik atas semua jendela backtest. Secara default, Forecast menghitung satu backtest, dengan ukuran jendela backtest (set pengujian) sama dengan panjang cakrawala perkiraan (jendela prediksi). Anda dapat mengatur panjang jendela backtest dan jumlah skenario backtest saat melatih prediktor.

Forecast menghilangkan nilai diisi dari proses backtesting, dan setiap item dengan nilai-nilai diisi dalam jendela backtest diberikan akan dikecualikan dari backtest itu. Ini karena Forecast hanya membandingkan nilai yang diperkirakan dengan nilai yang diamati selama pengujian ulang, dan nilai yang diisi tidak diamati nilai.

Jendela backtest harus setidaknya sebesar cakrawala perkiraan, dan lebih kecil dari setengah panjang seluruh set data seri waktu target. Anda dapat memilih dari antara 1 dan 5 backtests.

Graph showing training and testing periods for four backtest scenarios over time.

Umumnya, meningkatkan jumlah backtests menghasilkan metrik akurasi yang lebih andal, karena sebagian besar deret waktu digunakan selama pengujian dan Forecast mampu mengambil rata-rata metrik di semua backtests.

Anda dapat mengatur parameter pengujian ulang menggunakan Amazon Forecast Software Development Kit (SDK) dan konsol Amazon Forecast.

Forecast SDK

Menggunakan CreatePredictoroperasi, mengatur parameter backtest di EvaluationParametersdatatype. Tentukan panjang set pengujian selama pengujian ulang denganBackTestWindowOffset parameter, dan jumlah jendela backtest denganNumberOfBacktestWindows parameter.

Misalnya, untuk menjalankan 2 backtests dengan set pengujian 10 titik waktu, gunakan kode berikut.

"EvaluationParameters": { "BackTestWindowOffset": 10, "NumberOfBacktestWindows": 2 }
Forecast Console

Selama tahap Train Predictor, atur panjang set pengujian selama pengujian ulang dengan bidang offset jendela Backtest, dan jumlah jendela backtest dengan Jumlah bidang jendela backtest.

Misalnya, untuk menjalankan 2 backtests dengan set pengujian 10 poin waktu, tetapkan nilai berikut.

Input fields for number of backtest windows and backtest window offset with example values.

HPO dan AutoML

Secara default, Amazon Forecast menggunakan kuantil0.10.5 (P10), (P50), dan0.9 (P90) untuk penyetelan hyperparameter selama pengoptimalan hiperparameter (HPO) dan untuk pemilihan model selama AutoML. Jika Anda menentukan jenis perkiraan khusus saat membuat prediktor, Forecast menggunakan jenis perkiraan tersebut selama HPO dan AutoML.

Jika jenis perkiraan khusus ditentukan, Forecast menggunakan jenis perkiraan yang ditentukan untuk menentukan hasil optimal selama HPO dan AutoML. Selama HPO, Forecast menggunakan jendela backtest pertama untuk menemukan nilai hyperparameter optimal. Selama AutoML, Forecast menggunakan rata-rata di semua jendela backtest dan nilai-nilai hyperparameters optimal dari HPO untuk menemukan algoritma yang optimal.

Untuk AutoML dan HPO, Forecast memilih opsi yang meminimalkan kerugian rata-rata dibandingkan jenis perkiraan. Anda juga dapat mengoptimalkan prediktor Anda selama AutoML dan HPO dengan salah satu metrik akurasi berikut: Rata-rata kehilangan Quantile Tertimbang (Rata-rata WQL), Tertimbang Absolute Persentase Kesalahan (WAPE), Root Mean Squared Error (RMSE), Berarti Absolute Persentase Kesalahan (MAPE), atau Berarti Absolute Scaled Error (MASE).

Anda dapat memilih metrik pengoptimalan menggunakan Amazon Forecast Software Development Kit (SDK) dan konsol Amazon Forecast.

Forecast SDK

Menggunakan CreatePredictoroperasi, tentukan jenis perkiraan khusus dalamObjectiveMetric parameter.

ObjectiveMetricParameter menerima nilai-nilai berikut:

  • AverageWeightedQuantileLoss- Kerugian Kuantil Tertimbang Rata-rata

  • WAPE- Tertimbang Absolute Persentase Kesalahan

  • RMSE- Akar Berarti Squared Kesalahan

  • MAPE- Berarti Kesalahan Persentase Absolute

  • MASE- Berarti Kesalahan Berskala Mutlak

Misalnya, untuk membuat prediktor dengan AutoML dan mengoptimalkan menggunakan metrik akurasi Mean Absolute Scaled Error (MASE), gunakan kode berikut.

{ ... "PerformAutoML": "true", ... "ObjectiveMetric": "MASE", },
Forecast Console

Selama tahap Train Predictor, pilih Automatic (AutoML). Di bagian Metrik objektif, pilih metrik akurasi yang akan digunakan untuk mengoptimalkan prediktor Anda.

Misalnya, gambar berikut menunjukkan prediktor yang dibuat dengan AutoML dan dioptimalkan menggunakan metrik akurasi Mean Absolute Scaled Error (MASE).

Jika menggunakan konsol, Anda hanya dapat menentukan metrik Objektif jika Anda membuat prediktor menggunakan AutoML. Jika Anda memilih algoritma secara manual, Anda tidak dapat menentukan metrik Objektif untuk HPO.