Otomatiskan perkiraan deret waktu Anda di Snowflake menggunakan Amazon Forecast PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Otomatiskan perkiraan deret waktu Anda di Snowflake menggunakan Amazon Forecast

Postingan ini merupakan kolaborasi bersama dengan Andries Engelbrecht dan James Sun dari Snowflake, Inc.

Revolusi komputasi awan telah memungkinkan bisnis untuk menangkap dan menyimpan data perusahaan dan organisasi tanpa perencanaan kapasitas atau kendala penyimpanan data. Sekarang, dengan cadangan data longitudinal yang beragam dan luas, perusahaan semakin dapat menemukan cara baru dan berdampak untuk menggunakan aset digital mereka guna membuat keputusan yang lebih baik dan terinformasi saat membuat keputusan perencanaan jangka pendek dan jangka panjang. Peramalan deret waktu adalah ilmu unik dan esensial yang memungkinkan perusahaan membuat keputusan perencanaan bedah untuk membantu menyeimbangkan tingkat layanan pelanggan terhadap tujuan profitabilitas optimal yang sering bersaing.

Di AWS, terkadang kami bekerja dengan pelanggan yang telah memilih mitra teknologi kami Kepingan salju untuk memberikan pengalaman platform data cloud. Memiliki platform yang dapat mengingat data historis bertahun-tahun sangatlah kuatโ€”tetapi bagaimana Anda dapat menggunakan data ini untuk melihat ke depan dan menggunakan bukti kemarin untuk merencanakan hari esok? Bayangkan tidak hanya apa yang telah terjadi tersedia di Snowflakeโ€”versi tunggal kebenaran Andaโ€”tetapi juga kumpulan data non-silo yang berdekatan yang menawarkan perkiraan probabilistik untuk hari, minggu, atau bulan ke depan.

Dalam rantai pasokan kolaboratif, berbagi informasi antar mitra dapat meningkatkan kinerja, meningkatkan daya saing, dan mengurangi sumber daya yang terbuang. Berbagi prakiraan masa depan Anda dapat difasilitasi dengan Berbagi Data Kepingan Salju, yang memungkinkan Anda berkolaborasi tanpa hambatan dengan mitra bisnis Anda secara aman dan mengidentifikasi wawasan bisnis. Jika banyak mitra membagikan perkiraan mereka, ini dapat membantu mengendalikan efek bullwhip dalam rantai pasokan yang terhubung. Anda dapat secara efektif menggunakan Pasar Kepingan Salju untuk memonetisasi analitik prediktif Anda dari kumpulan data yang dihasilkan di Prakiraan Amazon.

Dalam posting ini, kita membahas bagaimana menerapkan solusi peramalan deret waktu otomatis menggunakan Snowflake and Forecast.

Layanan AWS penting yang mengaktifkan solusi ini

Forecast menyediakan beberapa algoritme deret waktu mutakhir dan mengelola alokasi kapasitas komputasi terdistribusi yang cukup untuk memenuhi kebutuhan hampir semua beban kerja. Dengan Forecast, Anda tidak mendapatkan satu model; Anda mendapatkan kekuatan dari banyak model yang selanjutnya dioptimalkan menjadi model berbobot unik untuk setiap deret waktu di set. Singkatnya, layanan ini memberikan semua ilmu pengetahuan, penanganan data, dan manajemen sumber daya ke dalam panggilan API sederhana.

Fungsi Langkah AWS menyediakan mekanisme orkestrasi proses yang mengelola alur kerja secara keseluruhan. Layanan ini merangkum panggilan API dengan Amazon Athena, AWS Lambda, dan Forecast untuk membuat solusi otomatis yang mengumpulkan data dari Snowflake, menggunakan Forecast untuk mengonversi data historis menjadi prediksi masa depan, lalu membuat data di dalam Snowflake.

Kueri federasi Athena dapat terhubung ke beberapa sumber data perusahaan, termasuk Amazon DynamoDB, Pergeseran Merah Amazon, Layanan Pencarian Terbuka Amazon, MySQL, PostgreSQL, Redis, dan penyimpanan data pihak ketiga populer lainnya, seperti Snowflake. Konektor data berjalan sebagai fungsi Lambdaโ€”Anda dapat menggunakan kode sumber ini untuk membantu meluncurkan Konektor Kepingan Salju Amazon Athena Lambda dan terhubung dengan Tautan Pribadi AWS atau melalui Gateway NAT.

Ikhtisar solusi

Salah satu hal yang sering kami lakukan di AWS adalah bekerja untuk membantu pelanggan mewujudkan tujuan mereka sekaligus menghilangkan beban dari pekerjaan berat yang tidak ada bedanya. Dengan pemikiran ini, kami mengusulkan yang berikut: larutan untuk membantu pelanggan AWS dan Snowflake melakukan langkah-langkah berikut:

  1. Ekspor data dari Snowflake. Anda dapat menggunakan metadata fleksibel untuk membongkar data historis yang diperlukan yang didorong oleh alur kerja yang siap digunakan.
  2. Impor data ke Prakiraan. Apa pun kasus penggunaan, industri, atau skalanya, mengimpor input data yang disiapkan menjadi mudah dan otomatis.
  3. Latih model deret waktu yang canggih. Anda dapat mengotomatiskan perkiraan deret waktu tanpa mengelola ilmu data atau penyediaan perangkat keras yang mendasarinya.
  4. Menghasilkan inferensi terhadap model yang dilatih. Output yang dihasilkan perkiraan mudah dikonsumsi untuk tujuan apa pun. Mereka tersedia sebagai file CSV atau Parket sederhana di Layanan Penyimpanan Sederhana Amazon (Amazon S3).
  5. Gunakan sejarah dan prediksi masa depan berdampingan langsung di Snowflake.

Diagram berikut mengilustrasikan cara menerapkan alur kerja otomatis yang memungkinkan pelanggan Snowflake memperoleh manfaat dari prediksi deret waktu yang sangat akurat yang didukung oleh Forecast, layanan terkelola AWS. Melampaui kasus penggunaan dan industri, desain yang ditawarkan di sini pertama-tama mengekstrak data historis dari Snowflake. Selanjutnya, alur kerja mengirimkan data yang disiapkan untuk perhitungan deret waktu. Terakhir, prediksi periode mendatang tersedia secara native di Snowflake, menciptakan pengalaman pengguna yang mulus untuk pelanggan gabungan AWS dan Snowflake.

Meskipun arsitektur ini hanya menyoroti detail teknis utama, solusinya mudah dibuat, terkadang dalam 1-2 hari kerja. Kami memberi Anda kode contoh yang berfungsi untuk membantu menghilangkan beban berat yang tidak dapat dibedakan dalam menciptakan solusi sendiri dan tanpa memulai. Setelah Anda menemukan cara menerapkan pola ini untuk satu beban kerja, Anda dapat mengulangi proses perkiraan untuk data apa pun yang disimpan di Snowflake. Di bagian berikutnya, kami menguraikan langkah-langkah utama yang memungkinkan Anda membuat pipeline otomatis.

Ekstrak data historis dari Snowflake

Pada langkah pertama ini, Anda menggunakan SQL untuk menentukan data apa yang ingin Anda ramalkan dan membiarkan Athena Federated Query terhubung ke Snowflake, menjalankan SQL kustom Anda, dan mempertahankan kumpulan rekaman yang dihasilkan di Amazon S3. Prakiraan mengharuskan data pelatihan historis tersedia di Amazon S3 sebelum penyerapan; oleh karena itu, Amazon S3 berfungsi sebagai buffer penyimpanan perantara antara Snowflake dan Forecast. Kami menampilkan Athena dalam desain ini untuk mengaktifkan Snowflake dan sumber data heterogen lainnya. Jika Anda mau, pendekatan lain menggunakan perintah Snowflake COPY dan integrasi penyimpanan untuk menulis hasil kueri ke Amazon S3.

Terlepas dari mekanisme transportasi yang digunakan, kami sekarang menguraikan jenis data yang dibutuhkan Prakiraan dan bagaimana data didefinisikan, disiapkan, dan diekstraksi. Di bagian berikut, kami menjelaskan cara mengimpor data ke Forecast.

Tangkapan layar berikut menggambarkan seperti apa kumpulan data dalam skema Snowflake aslinya.

Otomatiskan perkiraan deret waktu Anda di Snowflake menggunakan Amazon Forecast PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Meskipun tangkapan layar ini menunjukkan bagaimana data terlihat dalam keadaan aslinya, Prakiraan memerlukan data untuk dibentuk menjadi tiga kumpulan data yang berbeda:

  • Seri waktu target โ€“ Ini adalah kumpulan data yang diperlukan yang berisi variabel target dan digunakan untuk melatih dan memprediksi nilai masa depan. Sendiri, dataset ini berfungsi sebagai model deret waktu univariat.
  • Rangkaian waktu terkait โ€“ Ini adalah dataset opsional yang berisi variabel temporal yang harus memiliki hubungan dengan variabel target. Contohnya termasuk penetapan harga variabel, upaya promosi, lalu lintas peristiwa hiperlokal, data prospek ekonomiโ€”apa pun yang Anda rasa dapat membantu menjelaskan varians dalam rangkaian waktu target dan menghasilkan perkiraan yang lebih baik. Kumpulan data deret waktu terkait mengubah model univariat Anda menjadi multivariat untuk membantu meningkatkan akurasi.
  • Metadata barang โ€“ Ini adalah kumpulan data opsional yang berisi data kategoris tentang item yang diperkirakan. Metadata item sering kali membantu meningkatkan kinerja untuk produk yang baru diluncurkan, yang kami sebut sebagai mulai dingin.

Dengan cakupan masing-masing kumpulan data Prakiraan yang ditentukan, Anda dapat menulis kueri di Snowflake yang menghasilkan bidang data yang benar dari tabel sumber yang diperlukan dengan filter yang tepat untuk mendapatkan subkumpulan data yang diinginkan. Berikut ini adalah tiga contoh kueri SQL yang digunakan untuk menghasilkan setiap kumpulan data yang dibutuhkan oleh Prakiraan untuk skenario perencanaan permintaan makanan tertentu.

Kami mulai dengan kueri deret waktu target:

select LOCATION_ID, ITEM_ID, 
DATE_DEMAND as TIMESTAMP, QTY_DEMAND as TARGET_VALUE 
from DEMO.FOOD_DEMAND

Kueri deret waktu terkait opsional menarik kovariat seperti harga dan promosi:

select LOCATION_ID,ITEM_ID, DATE_DEMAND as TIMESTAMP,
CHECKOUT_PRICE, BASE_PRICE,
EMAILER_FOR_PROMOTION, HOMEPAGE_FEATURED
from DEMO.FOOD_DEMAND

Kueri metadata item mengambil nilai kategoris berbeda yang membantu memberikan dimensi dan lebih lanjut menentukan item yang diperkirakan:

select DISTINCT ITEM_ID, FOOD_CATEGORY, FOOD_CUISINE
from DEMO.FOOD_DEMAND

Dengan kueri sumber yang ditentukan, kita dapat terhubung ke Snowflake melalui Kueri Federasi Athena untuk mengirimkan kueri dan mempertahankan kumpulan data yang dihasilkan untuk penggunaan perkiraan. Untuk informasi lebih lanjut, lihat Kueri Snowflake menggunakan Athena Federated Query dan gabung dengan data di data lake Amazon S3 Anda.

Grafik Repo GitHub Konektor Kepingan Salju Athena membantu memasang konektor Snowflake. Itu Perkiraan MLOps GitHub repo membantu mengatur semua langkah makro yang ditentukan dalam posting ini, dan membuatnya dapat diulang tanpa menulis kode.

Impor data ke Prakiraan

Setelah kami menyelesaikan langkah sebelumnya, kumpulan data deret waktu target ada di Amazon S3 dan siap untuk diimpor ke Forecast. Selain itu, rangkaian data opsional terkait deret waktu dan metadata item juga dapat disiapkan dan siap untuk diserap. Dengan yang disediakan Solusi perkiraan MLOps, yang harus Anda lakukan di sini adalah memulai mesin status Step Functions yang bertanggung jawab untuk mengimpor dataโ€”tidak perlu kode. Forecast meluncurkan cluster untuk setiap set data yang Anda berikan dan membuat data siap digunakan layanan untuk pembuatan model ML dan inferensi model.

Buat model ML deret waktu dengan statistik akurasi

Setelah data diimpor, model deret waktu yang sangat akurat dibuat hanya dengan memanggil API. Langkah ini dienkapsulasi di dalam mesin status Fungsi Langkah yang memulai API Prakiraan untuk memulai pelatihan model. Setelah model prediktor dilatih, mesin negara mengekspor statistik model dan prediksi selama jendela backtest ke Amazon S3. Ekspor backtest dapat dikueri oleh Snowflake sebagai tahap eksternal, seperti yang ditunjukkan pada tangkapan layar berikut. Jika mau, Anda dapat menyimpan data di tahap internal. Intinya adalah menggunakan metrik backtest untuk mengevaluasi penyebaran kinerja deret waktu dalam kumpulan data yang Anda berikan.

Otomatiskan perkiraan deret waktu Anda di Snowflake menggunakan Amazon Forecast PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Buat prediksi masa depan

Dengan model yang dilatih dari langkah sebelumnya, mesin status Fungsi Langkah yang dibuat khusus memanggil API Prakiraan untuk membuat prakiraan di masa mendatang. Prakiraan menyediakan cluster untuk melakukan inferensi dan menarik deret waktu target yang diimpor, deret waktu terkait, dan kumpulan data metadata item melalui model prediktor bernama yang dibuat pada langkah sebelumnya. Setelah prediksi dibuat, mesin status menulisnya ke Amazon S3, di mana, sekali lagi, prediksi dapat dikueri di tempat sebagai tahap eksternal Snowflake atau dipindahkan ke Snowflake sebagai tahap internal.

Gunakan data prediksi masa depan langsung di Snowflake

AWS belum membangun solusi yang sepenuhnya otomatis untuk langkah ini; namun, dengan solusi dalam posting ini, data sudah dihasilkan oleh Forecast dalam dua langkah sebelumnya. Anda dapat memperlakukan output sebagai peristiwa yang dapat ditindaklanjuti atau membuat dasbor intelijen bisnis pada data. Anda juga dapat menggunakan data untuk membuat rencana manufaktur dan pesanan pembelian di masa mendatang, memperkirakan pendapatan di masa mendatang, membuat rencana sumber daya kepegawaian, dan banyak lagi. Setiap kasus penggunaan berbeda, tetapi inti dari langkah ini adalah untuk memberikan prediksi ke sistem konsumsi yang benar di organisasi Anda atau di luarnya.

Cuplikan kode berikut menunjukkan cara mengkueri data Amazon S3 langsung dari dalam Snowflake:

CREATE or REPLACE FILE FORMAT mycsvformat
type = 'CSV'
field_delimiter = ','
empty_field_as_null = TRUE
ESCAPE_UNENCLOSED_FIELD = None
skip_header = 1;

CREATE or REPLACE STORAGE INTEGRATION amazon_forecast_integration
TYPE = EXTERNAL_STAGE
STORAGE_PROVIDER = S3
STORAGE_AWS_ROLE_ARN = 'arn:aws:iam::nnnnnnnnnn:role/snowflake-forecast-poc-role'
ENABLED = true
STORAGE_ALLOWED_LOCATIONS = (
's3://bucket/folder/forecast',
's3://bucket/folder/backtest-export/accuracy-metrics-values',
's3://bucket/folder/backtest-export/forecasted-values';

CREATE or REPLACE STAGE backtest_accuracy_metrics
storage_integration = amazon_forecast_integration
url = 's3://bucket/folder/backtest-export/accuracy-metrics-values'
file_format = mycsvformat;

CREATE or REPLACE EXTERNAL TABLE FOOD_DEMAND_BACKTEST_ACCURACY_METRICS (
ITEM_ID varchar AS (value:c1::varchar),
LOCATION_ID varchar AS (value:c2::varchar),
backtest_window varchar AS (value:c3::varchar),
backtestwindow_start_time varchar AS (value:c4::varchar),
backtestwindow_end_time varchar AS (value:c5::varchar),
wQL_10 varchar AS (value:c6::varchar),
wQL_30 varchar AS (value:c7::varchar),
wQL_50 varchar AS (value:c8::varchar),
wQL_70 varchar AS (value:c9::varchar),
wQL_90 varchar AS (value:c10::varchar),
AVG_wQL varchar AS (value:c11::varchar),
RMSE varchar AS (value:c12::varchar),
WAPE varchar AS (value:c13::varchar),
MAPE varchar AS (value:c14::varchar),
MASE varchar AS (value:c15::varchar)
)
with location = @backtest_accuracy_metrics
FILE_FORMAT = (TYPE = CSV FIELD_DELIMITER = ',' SKIP_HEADER = 1);

Untuk informasi lebih lanjut tentang pengaturan izin, lihat Opsi 1: Mengonfigurasi Integrasi Penyimpanan Snowflake untuk Mengakses Amazon S3. Selain itu, Anda dapat menggunakan Katalog Layanan AWS untuk mengonfigurasi integrasi penyimpanan Amazon S3; informasi lebih lanjut tersedia di GitHub repo.

Memulai alur kerja berbasis jadwal atau berbasis acara

Setelah Anda menginstal solusi untuk beban kerja spesifik Anda, langkah terakhir Anda adalah mengotomatiskan proses pada jadwal yang masuk akal untuk kebutuhan unik Anda, seperti harian atau mingguan. Hal utama adalah memutuskan bagaimana memulai proses. Salah satu metodenya adalah menggunakan Snowflake untuk menjalankan mesin status Fungsi Langkah dan kemudian mengatur langkah-langkahnya secara berurutan. Pendekatan lain adalah untuk menyatukan mesin negara bagian dan memulai keseluruhan proses melalui Jembatan Acara Amazon aturan, yang dapat Anda konfigurasikan untuk dijalankan dari acara atau tugas terjadwalโ€”misalnya, pada pukul 9 GMT-00 setiap Minggu malam.

Kesimpulan

Dengan pengalaman paling banyak; cloud yang paling andal, terukur, dan aman; dan rangkaian layanan dan solusi terlengkap, AWS adalah tempat terbaik untuk membuka nilai dari data Anda dan mengubahnya menjadi wawasan. Dalam posting ini, kami menunjukkan kepada Anda cara membuat alur kerja peramalan deret waktu otomatis. Peramalan yang lebih baik dapat menghasilkan hasil layanan pelanggan yang lebih tinggi, lebih sedikit pemborosan, lebih sedikit persediaan yang menganggur, dan lebih banyak uang tunai di neraca.

Jika Anda siap untuk mengotomatisasi dan meningkatkan perkiraan, kami siap membantu mendukung perjalanan Anda. Hubungi tim akun AWS atau Snowflake Anda untuk memulai hari ini dan mintalah lokakarya perkiraan untuk melihat nilai seperti apa yang dapat Anda buka dari data Anda.


Tentang Penulis

Otomatiskan perkiraan deret waktu Anda di Snowflake menggunakan Amazon Forecast PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Bosco Alburquerque adalah Arsitek Solusi Mitra Senior di AWS dan memiliki lebih dari 20 tahun pengalaman bekerja dengan produk database dan analitik dari vendor database perusahaan dan penyedia cloud. Dia telah membantu perusahaan teknologi merancang dan mengimplementasikan solusi dan produk analitik data.

Otomatiskan perkiraan deret waktu Anda di Snowflake menggunakan Amazon Forecast PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Frank Dallezotte adalah Sr. Solutions Architect di AWS dan bersemangat bekerja dengan vendor perangkat lunak independen untuk merancang dan membangun aplikasi yang dapat diskalakan di AWS. Dia memiliki pengalaman membuat perangkat lunak, mengimplementasikan pipeline build, dan menerapkan solusi ini di cloud.

Otomatiskan perkiraan deret waktu Anda di Snowflake menggunakan Amazon Forecast PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Andries Engelbrecht adalah Arsitek Solusi Mitra Utama di Snowflake dan bekerja dengan mitra strategis. Dia secara aktif terlibat dengan mitra strategis seperti integrasi produk dan layanan pendukung AWS serta pengembangan solusi bersama dengan mitra. Andries memiliki pengalaman lebih dari 20 tahun di bidang data dan analitik.

Otomatiskan perkiraan deret waktu Anda di Snowflake menggunakan Amazon Forecast PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Charles Tertawa adalah Arsitek Solusi Spesialis AI/ML Utama dan bekerja di tim Time Series ML di AWS. Dia membantu membentuk peta jalan layanan Amazon Forecast dan berkolaborasi setiap hari dengan beragam pelanggan AWS untuk membantu mengubah bisnis mereka menggunakan teknologi AWS mutakhir dan kepemimpinan pemikiran. Charles memegang gelar MS dalam Manajemen Rantai Pasokan dan telah menghabiskan satu dekade terakhir bekerja di industri barang kemasan konsumen.

Otomatiskan perkiraan deret waktu Anda di Snowflake menggunakan Amazon Forecast PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.James Matahari adalah Arsitek Solusi Mitra Senior di Snowflake. James memiliki lebih dari 20 tahun pengalaman dalam penyimpanan dan analisis data. Sebelum Snowflake, ia memegang beberapa posisi teknis senior di AWS dan MapR. James meraih gelar PhD dari Universitas Stanford.

Stempel Waktu:

Lebih dari Pembelajaran Mesin AWS