Bagikan melalui


Algoritma Microsoft Time Series

Berlaku untuk: SQL Server 2019 dan Analysis Services Azure Analysis Services Fabric/Power BI Premium sebelumnya

Penting

Penambangan data tidak digunakan lagi pada SQL Server 2017 Analysis Services dan sekarang dihentikan di SQL Server 2022 Analysis Services. Dokumentasi tidak diperbarui untuk fitur yang tidak digunakan lagi dan dihentikan. Untuk mempelajari selengkapnya, lihat Kompatibilitas mundur Analysis Services.

Algoritma Microsoft Time Series menyediakan beberapa algoritma yang dioptimalkan untuk memperkirakan nilai berkelanjutan, seperti penjualan produk, dari waktu ke waktu. Sedangkan algoritma Microsoft lainnya, seperti pohon keputusan, memerlukan kolom tambahan informasi baru sebagai input untuk memprediksi tren, model rangkaian waktu tidak. Model rangkaian waktu dapat memprediksi tren hanya berdasarkan himpunan data asli yang digunakan untuk membuat model. Anda juga dapat menambahkan data baru ke model saat membuat prediksi dan secara otomatis menggabungkan data baru dalam analisis tren.

Diagram berikut menunjukkan model umum untuk memperkirakan penjualan produk di empat wilayah penjualan yang berbeda dari waktu ke waktu. Model yang ditampilkan dalam diagram menunjukkan penjualan untuk setiap wilayah yang diplot sebagai garis merah, kuning, ungu, dan biru. Garis untuk setiap wilayah memiliki dua bagian:

  • Informasi historis muncul di sebelah kiri garis vertikal dan mewakili data yang digunakan algoritma untuk membuat model.

  • Informasi yang diprediksi muncul di sebelah kanan garis vertikal dan mewakili perkiraan yang dibuat model.

Kombinasi data sumber dan data prediksi disebut seri.

Contoh rangkaian waktu

Fitur penting dari algoritma Microsoft Time Series adalah dapat melakukan prediksi silang. Jika Anda melatih algoritma dengan dua seri terpisah, tetapi terkait, Anda dapat menggunakan model yang dihasilkan untuk memprediksi hasil dari satu seri berdasarkan perilaku seri lainnya. Misalnya, penjualan yang diamati dari satu produk dapat memengaruhi perkiraan penjualan produk lain. Prediksi silang juga berguna untuk membuat model umum yang dapat diterapkan ke beberapa seri. Misalnya, prediksi untuk wilayah tertentu tidak stabil karena seri ini tidak memiliki data berkualitas baik. Anda dapat melatih model umum pada rata-rata keempat wilayah, lalu menerapkan model ke seri individual untuk membuat prediksi yang lebih stabil untuk setiap wilayah.

Contoh

Tim manajemen di Adventure Works Cycles ingin memprediksi penjualan sepeda bulanan untuk tahun mendatang. Perusahaan sangat tertarik pada apakah penjualan satu model sepeda dapat digunakan untuk memprediksi penjualan model lain. Dengan menggunakan algoritma Microsoft Time Series pada data historis dari tiga tahun terakhir, perusahaan dapat menghasilkan model penambangan data yang memperkirakan penjualan sepeda di masa mendatang. Selain itu, perusahaan dapat melakukan prediksi silang untuk melihat apakah tren penjualan model sepeda individu terkait.

Setiap kuartal, perusahaan berencana untuk memperbarui model dengan data penjualan terbaru dan memperbarui prediksi mereka untuk memodelkan tren terbaru. Untuk memperbaiki penyimpanan yang tidak memperbarui data penjualan secara akurat atau konsisten, mereka akan membuat model prediksi umum, dan menggunakannya untuk membuat prediksi untuk semua wilayah.

Cara Kerja Algoritma

Pada SQL Server 2005 (9.x), algoritma Microsoft Time Series menggunakan metode rangkaian waktu regresif otomatis tunggal, bernama ARTXP. Algoritma ARTXP dioptimalkan untuk prediksi jangka pendek, dan oleh karena itu, unggul dalam memprediksi nilai kemungkinan berikutnya dalam seri. Mulai SQL Server 2008, algoritma Microsoft Time Series menambahkan algoritma kedua, ARIMA, yang dioptimalkan untuk prediksi jangka panjang. Untuk penjelasan terperinci tentang implementasi algoritma ARTXP dan ARIMA, lihat Referensi Teknis Algoritma Microsoft Time Series.

Secara default, algoritma Microsoft Time Series menggunakan campuran algoritma saat menganalisis pola dan membuat prediksi. Algoritma melatih dua model terpisah pada data yang sama: satu model menggunakan algoritma ARTXP, dan satu model menggunakan algoritma ARIMA. Algoritma kemudian memadukan hasil dari dua model untuk menghasilkan prediksi terbaik atas jumlah variabel irisan waktu. Karena ARTXP paling baik untuk prediksi jangka pendek, artxp lebih tertimbang di awal serangkaian prediksi. Namun, karena irisan waktu yang Anda prediksi bergerak lebih jauh ke masa depan, ARIMA tertimbang lebih berat.

Anda juga dapat mengontrol campuran algoritma untuk mendukung prediksi jangka pendek atau jangka panjang dalam rangkaian waktu. Mulai SQL Server 2008 Standard, Anda dapat menentukan algoritma mana yang akan digunakan:

  • Gunakan hanya ARTXP untuk prediksi jangka pendek.

  • Gunakan hanya ARIMA untuk prediksi jangka panjang.

  • Gunakan perpaduan default dari dua algoritma.

Mulai SQL Server 2008 Enterprise, Anda juga dapat menyesuaikan bagaimana algoritma Microsoft Time Series memadukan model untuk prediksi. Saat Anda menggunakan model campuran, algoritma Microsoft Time Series memadukan dua algoritma dengan cara berikut:

  • Hanya ARTXP yang selalu digunakan untuk membuat beberapa prediksi pertama.

  • Setelah beberapa prediksi pertama, kombinasi ARIMA dan ARTXP digunakan.

  • Ketika jumlah langkah prediksi meningkat, prediksi lebih bergantung pada ARIMA sampai ARTXP tidak lagi digunakan.

  • Anda mengontrol titik pencampuran, laju penurunan berat ARTXP, dan berat ARIMA ditingkatkan dengan mengatur parameter PREDICTION_SMOOTHING.

Kedua algoritma dapat mendeteksi musiman dalam data di beberapa tingkat. Misalnya, data Anda mungkin berisi siklus bulanan yang ditumpuk dalam siklus tahunan. Untuk mendeteksi siklus musiman ini, Anda dapat memberikan petunjuk berkala atau menentukan bahwa algoritma harus secara otomatis mendeteksi periodisitas.

Selain periodisitas, ada beberapa parameter lain yang mengontrol perilaku algoritma Microsoft Time Series saat mendeteksi periodisitas, membuat prediksi, atau menganalisis kasus. Untuk informasi tentang cara mengatur parameter algoritma, lihat Referensi Teknis Algoritma Microsoft Time Series.

Data yang Diperlukan untuk Model Rangkaian Waktu

Saat Anda menyiapkan data untuk digunakan dalam melatih model penambangan data apa pun, pastikan Anda memahami persyaratan untuk model tertentu dan bagaimana data digunakan.

Setiap model prakiraan harus berisi rangkaian kasus, yang merupakan kolom yang menentukan irisan waktu atau seri lain di mana perubahan terjadi. Misalnya, data dalam diagram sebelumnya menunjukkan seri untuk penjualan sepeda historis dan prakiraan selama periode beberapa bulan. Untuk model ini, setiap wilayah adalah seri, dan kolom tanggal berisi rangkaian waktu, yang juga merupakan rangkaian kasus. Dalam model lain, seri kasus dapat menjadi bidang teks atau beberapa pengidentifikasi seperti ID pelanggan atau ID transaksi. Namun, model rangkaian waktu harus selalu menggunakan tanggal, waktu, atau beberapa nilai numerik unik lainnya untuk rangkaian kasusnya.

Persyaratan untuk model rangkaian waktu adalah sebagai berikut:

  • Kolom waktu kunci tunggal Setiap model harus berisi satu kolom numerik atau tanggal yang digunakan sebagai seri kasus, yang menentukan irisan waktu yang akan digunakan model. Jenis data untuk kolom waktu kunci bisa berupa jenis data tanggalwaktu atau jenis data numerik. Namun, kolom harus berisi nilai berkelanjutan, dan nilainya harus unik untuk setiap seri. Rangkaian kasus untuk model rangkaian waktu tidak dapat disimpan dalam dua kolom, seperti kolom Tahun dan kolom Bulan.

  • Kolom yang dapat diprediksi Setiap model harus berisi setidaknya satu kolom yang dapat diprediksi di mana algoritma akan membangun model rangkaian waktu. Jenis data kolom yang dapat diprediksi harus memiliki nilai berkelanjutan. Misalnya, Anda dapat memprediksi bagaimana atribut numerik, seperti pendapatan, penjualan, atau suhu, berubah dari waktu ke waktu. Namun, Anda tidak dapat menggunakan kolom yang berisi nilai diskrit, seperti status pembelian atau tingkat pendidikan, sebagai kolom yang dapat diprediksi.

  • Kolom kunci seri opsional Setiap model dapat memiliki kolom kunci tambahan yang berisi nilai unik yang mengidentifikasi seri. Kolom kunci seri opsional harus berisi nilai unik. Misalnya, satu model dapat berisi penjualan untuk banyak model produk, selama hanya ada satu catatan untuk setiap nama produk untuk setiap iringan waktu.

Anda dapat menentukan data input untuk model Microsoft Time Series dengan beberapa cara berbeda. Namun, karena format kasus input memengaruhi definisi model penambangan, Anda harus mempertimbangkan kebutuhan bisnis Anda dan menyiapkan data Anda dengan sesuai. Dua contoh berikut menggambarkan bagaimana data input memengaruhi model. Dalam kedua contoh, model penambangan yang telah selesai berisi pola untuk empat seri yang berbeda:

  • Penjualan untuk Produk A

  • Penjualan untuk Produk B

  • Volume untuk Produk A

  • Volume untuk Produk B

Dalam kedua contoh, Anda dapat memprediksi penjualan dan volume baru di masa mendatang untuk setiap produk. Anda tidak dapat memprediksi nilai baru untuk produk atau untuk waktunya.

Contoh 1: Himpunan Data Deret Waktu dengan Seri Yang Direpresentasikan sebagai Nilai Kolom

Contoh ini menggunakan tabel kasus input berikut:

TimeID Produk Sales Volume
1/2001 A 1000 600
2/2001 A 1100 500
1/2001 B 500 900
2/2001 B 300 890

Kolom TimeID dalam tabel berisi pengidentifikasi waktu, dan memiliki dua entri untuk setiap hari. Kolom TimeID menjadi seri kasus. Oleh karena itu, Anda akan menunjuk kolom ini sebagai kolom waktu kunci untuk model rangkaian waktu.

Kolom Produk menentukan produk dalam database. Kolom ini berisi seri produk. Oleh karena itu, Anda akan menunjuk kolom ini sebagai kunci kedua untuk model rangkaian waktu.

Kolom Penjualan menjelaskan laba kotor dari produk yang ditentukan selama satu hari, dan kolom Volume menjelaskan kuantitas produk yang ditentukan yang tetap berada di gudang. Kedua kolom ini berisi data yang digunakan untuk melatih model. Penjualan dan Volume dapat diprediksi atribut untuk setiap seri di kolom Produk.

Contoh 2: Himpunan Data Rangkaian Waktu dengan Setiap Seri di Kolom Terpisah

Meskipun contoh ini pada dasarnya menggunakan data input yang sama dengan contoh pertama, data input disusun secara berbeda, seperti yang ditunjukkan dalam tabel berikut:

TimeID A_Sales A_Volume B_Sales B_Volume
1/2001 1000 600 500 900
2/2001 1100 500 300 890

Dalam tabel ini, kolom TimeID masih berisi rangkaian kasus untuk model rangkaian waktu, yang Anda tetapkan sebagai kolom waktu kunci. Namun, kolom Penjualan dan Volume sebelumnya sekarang dibagi menjadi dua kolom dan masing-masing kolom tersebut didahului oleh nama produk. Akibatnya, hanya satu entri yang ada untuk setiap hari di kolom TimeID. Ini membuat model rangkaian waktu yang akan berisi empat kolom yang dapat diprediksi: A_Sales, A_Volume, B_Sales, dan B_Volume.

Selain itu, karena Anda telah memisahkan produk ke dalam kolom yang berbeda, Anda tidak perlu menentukan kolom kunci seri tambahan. Semua kolom dalam model adalah kolom seri kasus atau kolom yang dapat diprediksi.

Menampilkan Model Deret Waktu

Setelah model dilatih, hasilnya disimpan sebagai serangkaian pola, yang dapat Anda jelajahi atau gunakan untuk membuat prediksi.

Untuk menjelajahi model, Anda dapat menggunakan Penampil Time Series. Penampil menyertakan bagan yang menampilkan prediksi di masa mendatang, dan tampilan pohon dari struktur berkala dalam data.

Jika Anda ingin tahu lebih banyak tentang bagaimana prediksi dihitung, Anda dapat menelusuri model di Penampil Pohon Konten Generik Microsoft. Konten yang disimpan untuk model mencakup detail seperti struktur berkala yang terdeteksi oleh algoritma ARIMA dan ARTXP, persamaan yang digunakan untuk memadukan algoritma, dan statistik lainnya.

Membuat Prediksi Time Series

Secara default, saat Anda melihat model rangkaian waktu, SQL Server Analysis Services menunjukkan lima prediksi untuk seri tersebut. Namun, Anda dapat membuat kueri untuk mengembalikan jumlah prediksi variabel, dan Anda dapat menambahkan kolom ke prediksi untuk mengembalikan statistik deskriptif. Untuk informasi tentang cara membuat kueri terhadap model rangkaian waktu, lihat Contoh Kueri Model Deret Waktu. Untuk contoh cara menggunakan Ekstensi Penggalian Data (DMX) untuk membuat prediksi rangkaian waktu, lihat PredictTimeSeries (DMX).

Saat menggunakan algoritma Microsoft Time Series untuk membuat prediksi, Anda harus mempertimbangkan batasan dan persyaratan tambahan berikut:

  • Prediksi silang hanya tersedia saat Anda menggunakan model campuran, atau saat Anda menggunakan model hanya berdasarkan algoritma ARTXP. Jika Anda menggunakan model hanya berdasarkan algoritma ARIMA, prediksi silang tidak dimungkinkan.

  • Model rangkaian waktu dapat membuat prediksi yang berbeda, kadang-kadang secara signifikan, tergantung pada sistem operasi 64-bit yang digunakan server. Perbedaan ini terjadi karena cara sistem berbasis Itanium mewakili dan menangani angka untuk aritmatika floating-point, yang berbeda dari cara sistem berbasis x64 melakukan perhitungan ini. Karena hasil prediksi dapat spesifik untuk sistem operasi, kami sarankan Anda mengevaluasi model pada sistem operasi yang sama dengan yang akan Anda gunakan dalam produksi.

Keterangan

  • Tidak mendukung penggunaan Predictive Model Markup Language (PMML) untuk membuat model penambangan.

  • Mendukung penggunaan model penambangan OLAP.

  • Tidak mendukung pembuatan dimensi penggalian data.

  • Mendukung penelusuran.

Lihat juga

Algoritma Penggalian Data (Analysis Services - Penggalian Data)
Menelusuri Model Menggunakan Penampil Microsoft Time Series
Referensi Teknis Algoritma Microsoft Time Series
Contoh Kueri Model Deret Waktu
Konten Model Penambangan untuk Model Deret Waktu (Analysis Services - Penggalian Data)