Tutorial ini mengajarkan cara menggunakan fungsi
AI.FORECAST
dengan
model univariat TimesFM bawaan BigQuery ML untuk memperkirakan nilai mendatang
untuk kolom tertentu, berdasarkan nilai historis kolom tersebut.
Tutorial ini menggunakan data dari tabel publik
bigquery-public-data.san_francisco_bikeshare.bikeshare_trips.
Tujuan
Tutorial ini memandu Anda menggunakan fungsi AI.FORECAST dengan model TimesFM bawaan untuk memperkirakan perjalanan rental sepeda. Dua bagian pertama membahas cara memperkirakan dan memvisualisasikan hasil untuk satu deret waktu. Bagian ketiga membahas cara memperkirakan beberapa deret waktu.
Biaya
Tutorial ini menggunakan komponen yang dapat ditagih Google Cloud, termasuk:
- BigQuery
- BigQuery ML
Untuk informasi selengkapnya tentang biaya BigQuery, lihat halaman harga BigQuery.
Untuk informasi selengkapnya tentang biaya BigQuery ML, lihat harga BigQuery ML.
Sebelum memulai
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- BigQuery secara otomatis diaktifkan dalam project baru.
Untuk mengaktifkan BigQuery dalam project yang sudah ada,
Aktifkan BigQuery API.
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan izin
serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Admin Service Usage (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.
Memperkirakan satu deret waktu perjalanan rental sepeda
Perkirakan nilai deret waktu di masa mendatang menggunakan fungsi AI.FORECAST.
Kueri berikut memperkirakan jumlah perjalanan transportasi online pelanggan per jam untuk bulan berikutnya (sekitar 720 jam), berdasarkan data historis empat bulan sebelumnya. Argumen confidence_level menunjukkan bahwa kueri menghasilkan interval prediksi dengan tingkat keyakinan 95%.
Ikuti langkah-langkah berikut untuk memperkirakan data dengan model TimesFM:
Di Google Cloud konsol, buka halaman BigQuery.
Di editor kueri, tempelkan kueri berikut, lalu klik Run:
SELECT * FROM AI.FORECAST( ( SELECT TIMESTAMP_TRUNC(start_date, HOUR) as trip_hour, COUNT(*) as num_trips FROM `bigquery-public-data.san_francisco_bikeshare.bikeshare_trips` WHERE subscriber_type = 'Subscriber' AND start_date >= TIMESTAMP('2018-01-01') GROUP BY TIMESTAMP_TRUNC(start_date, HOUR) ), horizon => 720, confidence_level => 0.95, timestamp_col => 'trip_hour', data_col => 'num_trips');
Hasilnya akan terlihat seperti berikut:
+-------------------------+-------------------+------------------+---------------------------------+---------------------------------+--------------------+ | forecast_timestamp | forecast_value | confidence_level | prediction_interval_lower_bound | prediction_interval_upper_bound | ai_forecast_status | +-------------------------+-------------------+------------------+---------------------------------+---------------------------------+--------------------+ | 2018-05-01 00:00:00 UTC | 26.3045959... | 0.95 | 21.7088378... | 30.9003540... | | +-------------------------+-------------------+------------------+---------------------------------+---------------------------------+--------------------+ | 2018-05-01 01:00:00 UTC | 34.0890502... | 0.95 | 2.47682913... | 65.7012714... | | +-------------------------+-------------------+------------------+---------------------------------+---------------------------------+--------------------+ | 2018-05-01 02:00:00 UTC | 24.2154693... | 0.95 | 2.87621605... | 45.5547226... | | +-------------------------+-------------------+------------------+---------------------------------+---------------------------------+--------------------+ | ... | ... | ... | ... | ... | | +-------------------------+-------------------+------------------+---------------------------------+---------------------------------+--------------------+
Membandingkan data perkiraan dengan data input
Buat diagram output fungsi AI.FORECAST bersama dengan subkumpulan data input fungsi untuk melihat perbandingannya.
Ikuti langkah-langkah berikut untuk membuat diagram output fungsi:
Di Google Cloud konsol, buka halaman BigQuery.
Di editor kueri, tempelkan kueri berikut, lalu klik Run:
SELECT * FROM AI.FORECAST( ( SELECT TIMESTAMP_TRUNC(start_date, HOUR) as trip_hour, COUNT(*) as num_trips FROM `bigquery-public-data.san_francisco_bikeshare.bikeshare_trips` WHERE subscriber_type = 'Subscriber' AND start_date >= TIMESTAMP('2018-01-01') GROUP BY TIMESTAMP_TRUNC(start_date, HOUR) ), horizon => 720, confidence_level => 0.95, timestamp_col => 'trip_hour', data_col => 'num_trips', output_historical_time_series => true);
Setelah kueri selesai berjalan, klik tab Visualization di panel Query results. Untuk Visualization type, pilih Line. Untuk Dimension, pilih
time_series_timestamp. Untuk Measures, pilihtime_series_data,prediction_interval_lower_bound, danprediction_interval_upper_bound. Diagram yang dihasilkan akan terlihat seperti berikut:
Anda dapat melihat bahwa data input dan data perkiraan menunjukkan penggunaan transportasi online yang serupa. Anda juga dapat melihat bahwa batas bawah dan atas interval prediksi meningkat seiring dengan semakin jauhnya titik waktu perkiraan di masa mendatang.
Memperkirakan beberapa deret waktu perjalanan rental sepeda
Kueri berikut memperkirakan jumlah perjalanan transportasi online per jenis pelanggan dan per jam untuk bulan berikutnya (sekitar 720 jam), berdasarkan data historis empat bulan sebelumnya. Argumen confidence_level menunjukkan bahwa kueri menghasilkan interval prediksi dengan tingkat keyakinan 95%.
Ikuti langkah-langkah berikut untuk memperkirakan data dengan model TimesFM:
Di Google Cloud konsol, buka halaman BigQuery.
Di editor kueri, tempelkan kueri berikut, lalu klik Run:
SELECT * FROM AI.FORECAST( ( SELECT TIMESTAMP_TRUNC(start_date, HOUR) as trip_hour, subscriber_type, COUNT(*) as num_trips FROM `bigquery-public-data.san_francisco_bikeshare.bikeshare_trips` WHERE start_date >= TIMESTAMP('2018-01-01') GROUP BY TIMESTAMP_TRUNC(start_date, HOUR), subscriber_type ), horizon => 720, confidence_level => 0.95, timestamp_col => 'trip_hour', data_col => 'num_trips', id_cols => ['subscriber_type']);
Hasilnya akan terlihat seperti berikut:
+---------------------+--------------------------+------------------+------------------+---------------------------------+---------------------------------+--------------------+ | subscriber_type | forecast_timestamp | forecast_value | confidence_level | prediction_interval_lower_bound | prediction_interval_upper_bound | ai_forecast_status | +---------------------+--------------------------+------------------+------------------+---------------------------------+---------------------------------+--------------------+ | Subscriber | 2018-05-01 00:00:00 UTC | 26.3045959... | 0.95 | 21.7088378... | 30.9003540... | | +---------------------+--------------------------+------------------+------------------+---------------------------------+---------------------------------+--------------------+ | Subscriber | 2018-05-01 01:00:00 UTC | 34.0890502... | 0.95 | 2.47682913... | 65.7012714... | | +---------------------+-------------------+------------------+-------------------------+---------------------------------+---------------------------------+--------------------+ | Subscriber | 2018-05-01 02:00:00 UTC | 24.2154693... | 0.95 | 2.87621605... | 45.5547226... | | +---------------------+--------------------------+------------------+------------------+---------------------------------+---------------------------------+--------------------+ | ... | ... | ... | ... | ... | ... | | +---------------------+--------------------------+------------------+------------------+---------------------------------+---------------------------------+--------------------+
Pembersihan
Agar tidak perlu membayar biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam tutorial ini, hapus project yang berisi resource tersebut, atau simpan project dan hapus setiap resource.
Menghapus project Anda
Untuk menghapus project:
- Di Google Cloud konsol, buka halaman Manage resources.
- Pada daftar project, pilih project yang Anda ingin Anda hapus, lalu klik Delete.
- Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.
Langkah berikutnya
- Untuk ringkasan BigQuery ML, lihat Pengantar AI dan ML di BigQuery.