Ce tutoriel vous explique comment utiliser la fonction AI.FORECAST
avec le modèle univarié TimesFM intégré de BigQuery ML pour prévoir la valeur future d'une colonne donnée, en fonction de la valeur historique de cette colonne.
Ce tutoriel utilise les données de la table publique bigquery-public-data.san_francisco_bikeshare.bikeshare_trips
.
Objectifs
Ce tutoriel vous explique comment utiliser la fonction AI.FORECAST
avec le modèle TimesFM intégré pour prévoir les trajets en vélo en libre-service.
Coûts
Ce tutoriel utilise des composants facturables de Google Cloud, y compris:
- BigQuery
- BigQuery ML
Pour plus d'informations sur les coûts de BigQuery, consultez la page Tarifs de BigQuery.
Pour en savoir plus sur les coûts associés à BigQuery ML, consultez la page Tarifs de BigQuery ML.
Avant de commencer
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- BigQuery est automatiquement activé dans les nouveaux projets.
Pour activer BigQuery dans un projet préexistant,
Enable the BigQuery API.
Prévoir les trajets en vélos en libre-service
Prévoyez les valeurs futures de la série temporelle à l'aide de la fonction AI.FORECAST
.
La requête suivante prévoit le nombre de trajets en vélo en libre-service par heure pour le mois suivant (environ 720 heures), en fonction des données historiques des quatre mois précédents. L'argument confidence_level
indique que la requête génère un intervalle de prédiction avec un niveau de confiance de 95 %.
Pour prévoir des données avec le modèle TimesFM, procédez comme suit:
Dans la console Google Cloud, accédez à la page BigQuery.
Dans l'éditeur de requête, collez la requête suivante, puis cliquez sur Exécuter:
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');
Les résultats ressemblent à ce qui suit :
+-------------------------+-------------------+------------------+---------------------------------+---------------------------------+--------------------+ | 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... | | +-------------------------+-------------------+------------------+---------------------------------+---------------------------------+--------------------+ | ... | ... | ... | ... | ... | | +-------------------------+-------------------+------------------+---------------------------------+---------------------------------+--------------------+
Comparer les données de prévision aux données d'entrée
Représentez graphiquement la sortie de la fonction AI.FORECAST
à côté d'un sous-ensemble des données d'entrée de la fonction pour comparer les deux.
Pour représenter graphiquement la sortie de la fonction, procédez comme suit:
Dans la console Google Cloud, accédez à la page BigQuery.
Dans l'éditeur de requête, collez la requête suivante, puis cliquez sur Exécuter:
WITH historical AS ( 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) ORDER BY TIMESTAMP_TRUNC(start_date, HOUR) ) SELECT * FROM ( (SELECT trip_hour as date, num_trips AS historical_value, NULL as forecast_value, 'historical' as type, NULL as prediction_interval_low, NULL as prediction_interval_upper_bound FROM historical ORDER BY historical.trip_hour DESC LIMIT 400) UNION ALL (SELECT forecast_timestamp AS date, NULL as historical_value, forecast_value as forecast_value, 'forecast' as type, prediction_interval_lower_bound, prediction_interval_upper_bound FROM AI.FORECAST( ( SELECT * FROM historical ), horizon => 720, confidence_level => 0.99, timestamp_col => 'trip_hour', data_col => 'num_trips'))) ORDER BY date asc;
Une fois la requête exécutée, cliquez sur l'onglet Graphique dans le volet Résultats de la requête. Le graphique obtenu ressemble à ceci:
Vous pouvez constater que les données d'entrée et les données de prévision montrent une utilisation similaire du vélo partagé. Vous pouvez également constater que les limites inférieure et supérieure de l'intervalle de prédiction augmentent à mesure que les points temporels prévus s'éloignent dans le futur.
Effectuer un nettoyage
Pour éviter que les ressources utilisées lors de ce tutoriel soient facturées sur votre compte Google Cloud, supprimez le projet contenant les ressources, ou conservez le projet et supprimez les ressources individuelles.
Supprimer votre projet
Pour supprimer le projet :
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Étape suivante
- Pour obtenir une présentation de BigQuery ML, consultez la page Présentation de l'IA et du ML dans BigQuery.