bigquery-data-science 0.7.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- bigquery_data_science/__init__.py +58 -0
- bigquery_data_science/_skills/PLANS.md +76 -0
- bigquery_data_science/_skills/bigquery-ai/SKILL.md +66 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/ai_agg.md +528 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/ai_classify.md +450 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/ai_count_tokens.md +180 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/ai_detect_anomalies.md +322 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/ai_embed.md +425 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/ai_evaluate.md +368 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/ai_forecast.md +437 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/ai_generate.md +693 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/ai_generate_bool.md +248 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/ai_generate_double.md +254 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/ai_generate_embedding.md +402 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/ai_generate_int.md +252 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/ai_generate_table.md +447 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/ai_generate_text.md +356 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/ai_if.md +373 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/ai_key_drivers.md +331 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/ai_parse_document.md +416 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/ai_predict.md +559 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/ai_score.md +310 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/ai_search.md +465 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/ai_similarity.md +371 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/catalog_search.md +951 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/content_analysis.md +284 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/content_moderation.md +369 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/data_enrichment.md +426 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/document_intelligence.md +470 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/document_rag.md +453 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/image_deduplication.md +770 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/log_analysis.md +668 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/metric_diagnostics.md +568 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/ml_annotate_image.md +680 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/ml_generate_embedding.md +217 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/ml_generate_text.md +223 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/ml_process_document.md +392 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/ml_transcribe.md +815 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/ml_translate.md +600 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/ml_understand_text.md +673 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/multimodal_analysis.md +266 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/rag_pipeline.md +593 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/semantic_search.md +510 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/tabular_prediction.md +485 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/time_series_intelligence.md +489 -0
- bigquery_data_science/_skills/bigquery-ai/narrative/vector_search.md +672 -0
- bigquery_data_science/_skills/bigquery-ai/reference/augmented-analytics.md +77 -0
- bigquery_data_science/_skills/bigquery-ai/reference/cloud-ai-service-models.md +88 -0
- bigquery_data_science/_skills/bigquery-ai/reference/document-processing.md +95 -0
- bigquery_data_science/_skills/bigquery-ai/reference/embeddings-and-search.md +166 -0
- bigquery_data_science/_skills/bigquery-ai/reference/general-purpose-generation.md +87 -0
- bigquery_data_science/_skills/bigquery-ai/reference/managed-functions.md +72 -0
- bigquery_data_science/_skills/bigquery-ai/reference/predictive-ai.md +113 -0
- bigquery_data_science/_skills/bigquery-ai/reference/workflows.md +56 -0
- bigquery_data_science/_skills/bigquery-ai/skill.manifest.json +109 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/INDEX.md +71 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/aiagg.md +67 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/aicausal_effect-covered-in-bigquery-ml.md +17 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/aiclassify.md +72 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/aicount_tokens.md +53 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/aidetect_anomalies.md +63 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/aiembed.md +85 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/aievaluate.md +114 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/aiforecast.md +123 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/aigenerate.md +69 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/aigenerate_bool.md +53 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/aigenerate_double.md +45 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/aigenerate_embedding.md +108 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/aigenerate_int.md +45 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/aigenerate_table.md +64 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/aigenerate_text.md +167 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/aiif.md +56 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/aikey_drivers.md +76 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/aiparse_document.md +91 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/aipredict.md +74 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/aiscore.md +52 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/aisearch.md +66 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/aisimilarity.md +79 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/choosing-between-these-and-the-ai-functions.md +11 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/hybrid-search-capability.md +165 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/mlannotate_image.md +24 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/mlgenerate_embedding.md +34 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/mlgenerate_text.md +65 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/mlprocess_document.md +125 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/mltranscribe.md +26 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/mltranslate.md +27 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/mlunderstand_text.md +32 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/multimodal-input-patterns-by-function.md +128 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/object-tables.md +109 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/objectref-and-objectrefruntime-schema-reference.md +50 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/objfetch_metadata.md +49 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/objget_access_url.md +66 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/objget_read_url.md +40 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/objlist.md +34 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/objmake_ref.md +58 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/per-row-failures-and-the-retry-pattern.md +19 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/setup-apis-connection-roles.md +39 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/two-input-shapes.md +22 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/vector_search.md +78 -0
- bigquery_data_science/_skills/bigquery-ai/syntax/what-the-five-have-in-common.md +27 -0
- bigquery_data_science/_skills/bigquery-data-science/SKILL.md +69 -0
- bigquery_data_science/_skills/bigquery-data-science/reference/namespace-matrix.md +112 -0
- bigquery_data_science/_skills/bigquery-data-science/skill.manifest.json +13 -0
- bigquery_data_science/_skills/bigquery-ml/SKILL.md +70 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/airflow_with_kfp.md +379 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/anomaly_fraud_detection.md +195 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/arima_plus.md +635 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/arima_plus_xreg.md +453 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/autoencoder.md +470 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/automl_classifier.md +291 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/automl_regressor.md +274 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/boosted_tree_classifier.md +449 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/boosted_tree_regressor.md +400 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/bucketizing.md +201 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/causal_effect.md +773 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/churn_retention.md +271 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/cloud_workflows.md +370 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/composer_airflow.md +475 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/contribution_analysis.md +346 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/cross_validation.md +185 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/customer_segmentation.md +233 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/dataform.md +372 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/dbt.md +283 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/difference_in_differences.md +280 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/distance.md +195 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/dnn_classifier.md +326 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/dnn_regressor.md +308 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/embeddings_classification.md +426 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/encoding.md +238 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/ensembling.md +278 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/evaluation.md +445 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/exploration.md +779 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/export.md +321 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/feature_engineering.md +280 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/feature_store.md +652 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/feature_store_workflow.md +426 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/ga4_churn_prediction.md +285 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/hierarchical_forecasting.md +441 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/image.md +791 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/imported.md +426 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/kmeans.md +348 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/linear_regression.md +372 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/logistic_regression.md +390 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/matrix_factorization.md +404 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/model_monitoring.md +609 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/pca.md +357 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/price_elasticity_dml.md +286 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/propensity_score_matching.md +350 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/random_forest_classifier.md +445 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/random_forest_regressor.md +409 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/recommendation.md +281 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/regression_based_forecasting.md +491 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/remote.md +428 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/scalers.md +325 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/scheduled_queries.md +284 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/sql_scripting.md +243 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/survival_analysis.md +363 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/synthetic_control.md +221 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/text.md +215 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/time_series.md +669 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/transform_only.md +273 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/uplift_cate.md +241 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/vertex_kfp.md +360 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/wide_and_deep_classifier.md +316 -0
- bigquery_data_science/_skills/bigquery-ml/narrative/wide_and_deep_regressor.md +298 -0
- bigquery_data_science/_skills/bigquery-ml/reference/classification.md +80 -0
- bigquery_data_science/_skills/bigquery-ml/reference/model-management.md +90 -0
- bigquery_data_science/_skills/bigquery-ml/reference/preprocessing-functions.md +234 -0
- bigquery_data_science/_skills/bigquery-ml/reference/regression.md +79 -0
- bigquery_data_science/_skills/bigquery-ml/reference/unsupervised-and-specialized.md +101 -0
- bigquery_data_science/_skills/bigquery-ml/reference/workflows-and-pipelines.md +111 -0
- bigquery_data_science/_skills/bigquery-ml/skill.manifest.json +177 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/1-model_type-catalog.md +28 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/2-task-mlevaluate-metric-columns.md +26 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/3-capability-matrix-per-model-type.md +21 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/4-explainability-weights-functions.md +14 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/5-connection-matrix.md +11 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/6-which-model-free-function-no-create-model-no-connection.md +15 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/7-point-in-time-feature-retrieval-which-of-the-two.md +11 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/INDEX.md +111 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/aicausal_effect.md +85 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/arima_plus-forecasting-lifecycle-functions.md +14 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/arima_plus-univariate-time-series-forecasting.md +132 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/arima_plus_xreg-multivariate-time-series-with-external-regressors.md +103 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/autoencoder.md +102 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/automl_classifier-automl_regressor.md +88 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/boosted_tree_classifier-boosted_tree_regressor.md +117 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/contribution_analysis.md +113 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/dnn_classifier-dnn_regressor.md +107 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/dnn_linear_combined_classifier-dnn_linear_combined_regressor-wide-and-deep.md +98 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/explainability-functions-mlexplain_predict-mlglobal_explain-mlfeature_importance.md +7 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/exploratory-data-analysis-mldescribe_data-mlcorrelation.md +11 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/export-model.md +92 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/feature-engineering-standalone-preprocessing-functions.md +13 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/image-preprocessing-functions-mldecode_image-mlresize_image-mlconvert_image_type-mlconvert_color_space.md +63 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/imported-models-tensorflow-tensorflow_lite-onnx-xgboost.md +36 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/kmeans.md +87 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/linear_reg-logistic_reg-generalized-linear-models.md +101 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/matrix_factorization.md +162 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mladvanced_weights.md +76 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mlarima_coefficients.md +30 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mlarima_evaluate.md +49 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mlbag_of_words.md +47 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mlbucketize.md +47 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mlcentroids.md +46 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mlconfusion_matrix.md +56 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mlconvert_color_space.md +53 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mlconvert_image_type.md +39 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mlcorrelation.md +78 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mldecode_image.md +44 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mldescribe_data.md +74 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mldetect_anomalies.md +86 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mldistance.md +48 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mlentity_features_at_time.md +56 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mlevaluate.md +72 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mlexplain_forecast.md +50 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mlexplain_predict.md +66 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mlfeature_cross.md +46 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mlfeature_importance.md +47 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mlfeature_info.md +50 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mlfeatures_at_time.md +51 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mlforecast.md +76 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mlgenerate_embedding-from-a-bqml-pca-autoencoder-matrix_factorization-model.md +64 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mlglobal_explain.md +63 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mlhash_bucketize.md +47 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mlholiday_info.md +46 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mlimputer.md +46 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mllp_norm.md +47 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mlmetrics.md +80 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mlngrams.md +37 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mlone_hot_encoder-mlmulti_hot_encoder-mllabel_encoder.md +67 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mlpolynomial_expand.md +47 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mlpredict.md +67 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mlprincipal_component_info.md +42 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mlprincipal_components.md +40 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mlquantile_bucketize.md +43 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mlrecommend.md +60 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mlreconstruction_loss.md +48 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mlresize_image.md +45 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mlroc_curve.md +63 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mltf_idf.md +37 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mltfdv_describe.md +34 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mltfdv_validate.md +48 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mltraining_info.md +78 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mltransform-applying-a-saved-transform.md +52 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mltranspose-not-a-function-pointer.md +32 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mltrial_info.md +60 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mlvalidate_data_drift.md +99 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mlvalidate_data_skew.md +50 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/mlweights.md +84 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/model-free-time-series-decomposition-mltrend-mlseasonality-mldetect_change_points.md +100 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/model-introspection-mlfeature_info-mltraining_info-mltrial_info.md +7 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/model-monitoring-data-validation.md +23 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/numerical-scalers-mlstandard_scaler-mlmin_max_scaler-mlmax_abs_scaler-mlrobust_scaler-mlnormalizer.md +77 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/onnx.md +55 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/pca.md +91 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/point-in-time-feature-retrieval-mlfeatures_at_time-mlentity_features_at_time.md +25 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/quick-comparison.md +14 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/random_forest_classifier-random_forest_regressor.md +123 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/remote-remote-model-over-a-vertex-ai-endpoint-the-mechanism.md +87 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/tensorflow.md +48 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/tensorflow_lite.md +29 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/text-preprocessing-functions-mlngrams-mltf_idf-mlbag_of_words.md +18 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/timesfm-built-in-foundation-forecaster-see-bigquery-ai.md +28 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/transform_only.md +91 -0
- bigquery_data_science/_skills/bigquery-ml/syntax/xgboost.md +72 -0
- bigquery_data_science/_skills/pinned-models.json +28 -0
- bigquery_data_science/catalog.py +1107 -0
- bigquery_data_science/cli.py +786 -0
- bigquery_data_science/installer.py +282 -0
- bigquery_data_science/mcp_server.py +317 -0
- bigquery_data_science/tooling/__init__.py +15 -0
- bigquery_data_science/tooling/convert_notebook.py +176 -0
- bigquery_data_science/tooling/link_policy.py +247 -0
- bigquery_data_science/tooling/manifest.py +152 -0
- bigquery_data_science/tooling/markdown_anchors.py +84 -0
- bigquery_data_science/tooling/narrative_drift.py +163 -0
- bigquery_data_science/tooling/pinned_models.py +216 -0
- bigquery_data_science/tooling/reference_structure.py +85 -0
- bigquery_data_science/tooling/sync_syntax.py +407 -0
- bigquery_data_science/tooling/validate.py +208 -0
- bigquery_data_science-0.7.0.dist-info/METADATA +306 -0
- bigquery_data_science-0.7.0.dist-info/RECORD +286 -0
- bigquery_data_science-0.7.0.dist-info/WHEEL +4 -0
- bigquery_data_science-0.7.0.dist-info/entry_points.txt +5 -0
- bigquery_data_science-0.7.0.dist-info/licenses/LICENSE +201 -0
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
> **Source (`statmike/bigquery-data-science`):** **Notebook:** [`bigquery-ai/functions/ai_detect_anomalies/ai_detect_anomalies.ipynb`](https://github.com/statmike/bigquery-data-science/blob/main/bigquery-ai/functions/ai_detect_anomalies/ai_detect_anomalies.ipynb) · **SQL:** [`bigquery-ai/functions/ai_detect_anomalies/ai_detect_anomalies.sql`](https://github.com/statmike/bigquery-data-science/blob/main/bigquery-ai/functions/ai_detect_anomalies/ai_detect_anomalies.sql)
|
|
2
|
+
|
|
3
|
+
# AI.DETECT_ANOMALIES — BigQuery AI Functions
|
|
4
|
+
|
|
5
|
+
`AI.DETECT_ANOMALIES` is a GA table-valued function that detects anomalies in time series data using TimesFM. It forecasts expected values from historical data, then flags data points that deviate significantly.
|
|
6
|
+
|
|
7
|
+
**When to use it:**
|
|
8
|
+
- You want to detect unusual spikes or drops in time series data
|
|
9
|
+
- You need anomaly probability scores for each data point
|
|
10
|
+
- You want to detect anomalies across multiple time series simultaneously
|
|
11
|
+
- You can choose between TimesFM 2.5 (the default) and TimesFM 3.0 (Preview) via the `model` parameter
|
|
12
|
+
- You can control how much history the model sees with `context_window` (64–15,360 on TimesFM 2.5; 64–2,048 on TimesFM 3.0)
|
|
13
|
+
|
|
14
|
+
**Alternatives:**
|
|
15
|
+
- `functions/ai_forecast` (`AI.FORECAST`) — Generate forecasts without anomaly detection
|
|
16
|
+
- `functions/ai_evaluate` (`AI.EVALUATE`) — Evaluate forecast accuracy instead of detecting anomalies
|
|
17
|
+
- `bigquery-ml/functions/time_series` (`ML.DETECT_CHANGE_POINTS`) — finds *sustained* level shifts rather than individual outlying points, with no model and no forecast baseline. A spike that returns to normal the next day is an anomaly, not a change point; a permanent step up in volume is a change point that may never register as an anomaly. Different questions on the same series — see also `ML.TREND` and `ML.SEASONALITY` there for model-free decomposition.
|
|
18
|
+
|
|
19
|
+
**Featured in:** `workflows/time_series_intelligence` (Time Series Intelligence)
|
|
20
|
+
|
|
21
|
+
**References:** `RESOURCES.md` (Full syntax reference) | [Official documentation](https://cloud.google.com/bigquery/docs/reference/standard-sql/bigqueryml-syntax-ai-detect-anomalies) | `setup` (Setup guide)
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
## Setup
|
|
25
|
+
|
|
26
|
+
Set your project and location, authenticate, and create a temporary dataset for this notebook.
|
|
27
|
+
|
|
28
|
+
> This function doesn't require a connection or model — it uses end-user credentials automatically. See the `setup` (Setup Reference) for details.
|
|
29
|
+
|
|
30
|
+
```python
|
|
31
|
+
PROJECT_ID = 'statmike-mlops-349915' # <-- Replace with your project ID
|
|
32
|
+
LOCATION = 'US' # BigQuery dataset location
|
|
33
|
+
DATASET_ID = 'bq_ai_functions' # Shared dataset across all notebooks
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Environment
|
|
37
|
+
|
|
38
|
+
> **Already set up the project environment?** The cell below is a no-op — packages are already in your kernel. See the `setup` (Setup Reference) for details.
|
|
39
|
+
>
|
|
40
|
+
> **Running standalone** (Colab, Colab Enterprise, Vertex AI Workbench)? The cell below installs required packages into your current kernel.
|
|
41
|
+
|
|
42
|
+
```python
|
|
43
|
+
from google.cloud import bigquery
|
|
44
|
+
import pandas as pd
|
|
45
|
+
|
|
46
|
+
client = bigquery.Client(project=PROJECT_ID)
|
|
47
|
+
pd.set_option('display.max_colwidth', None)
|
|
48
|
+
|
|
49
|
+
# Create the shared dataset (idempotent)
|
|
50
|
+
dataset_ref = bigquery.DatasetReference(PROJECT_ID, DATASET_ID)
|
|
51
|
+
dataset = bigquery.Dataset(dataset_ref)
|
|
52
|
+
dataset.location = LOCATION
|
|
53
|
+
client.create_dataset(dataset, exists_ok=True)
|
|
54
|
+
print(f'Dataset {PROJECT_ID}.{DATASET_ID} ready')
|
|
55
|
+
|
|
56
|
+
# Register %%bigquery cell magic (auto-loaded in Colab, needed elsewhere)
|
|
57
|
+
%load_ext bigquery_magics
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
## Examples — SQL
|
|
62
|
+
|
|
63
|
+
Progressive examples from simplest to most advanced. Each cell adds one new concept.
|
|
64
|
+
|
|
65
|
+
### Setup: Create historical and target data
|
|
66
|
+
|
|
67
|
+
Anomaly detection needs two inputs:
|
|
68
|
+
1. **Historical data** — used to build a forecast baseline
|
|
69
|
+
2. **Target data** — checked for anomalies against the baseline
|
|
70
|
+
|
|
71
|
+
We create data with a realistic pattern (upward trend + weekly seasonality), then inject two clear anomalies into the target period: a spike on Dec 15 and a drop on Dec 25.
|
|
72
|
+
|
|
73
|
+
```python
|
|
74
|
+
# Create historical data (Jan-Nov 2024): upward trend + weekly seasonality + noise
|
|
75
|
+
query = f'''
|
|
76
|
+
CREATE OR REPLACE TABLE `{PROJECT_ID}.{DATASET_ID}.ai_detect_anomalies_history` AS
|
|
77
|
+
WITH dates AS (
|
|
78
|
+
SELECT date FROM UNNEST(GENERATE_DATE_ARRAY('2024-01-01', '2024-11-30')) AS date
|
|
79
|
+
)
|
|
80
|
+
SELECT date,
|
|
81
|
+
GREATEST(0,
|
|
82
|
+
1000
|
|
83
|
+
+ EXTRACT(DAYOFYEAR FROM date) * 2 -- upward trend (~2/day)
|
|
84
|
+
+ CASE EXTRACT(DAYOFWEEK FROM date)
|
|
85
|
+
WHEN 1 THEN -200 -- Sunday dip
|
|
86
|
+
WHEN 7 THEN 300 -- Saturday peak
|
|
87
|
+
ELSE 0
|
|
88
|
+
END
|
|
89
|
+
+ CAST(100 * (RAND() - 0.5) AS INT64) -- noise
|
|
90
|
+
) AS daily_sales
|
|
91
|
+
FROM dates
|
|
92
|
+
'''
|
|
93
|
+
client.query(query).result()
|
|
94
|
+
|
|
95
|
+
# Create target data (Dec 2024): same pattern but with 2 injected anomalies
|
|
96
|
+
# IMPORTANT: target must follow the same pattern as history, otherwise
|
|
97
|
+
# the model flags every deviation from the learned seasonality.
|
|
98
|
+
query = f'''
|
|
99
|
+
CREATE OR REPLACE TABLE `{PROJECT_ID}.{DATASET_ID}.ai_detect_anomalies_target` AS
|
|
100
|
+
WITH dates AS (
|
|
101
|
+
SELECT date FROM UNNEST(GENERATE_DATE_ARRAY('2024-12-01', '2024-12-31')) AS date
|
|
102
|
+
)
|
|
103
|
+
SELECT date,
|
|
104
|
+
CASE
|
|
105
|
+
WHEN date = '2024-12-15' THEN 5000 -- injected spike anomaly (Sunday)
|
|
106
|
+
WHEN date = '2024-12-25' THEN 50 -- injected drop anomaly (Wednesday)
|
|
107
|
+
ELSE GREATEST(0,
|
|
108
|
+
1000
|
|
109
|
+
+ EXTRACT(DAYOFYEAR FROM date) * 2 -- same trend
|
|
110
|
+
+ CASE EXTRACT(DAYOFWEEK FROM date)
|
|
111
|
+
WHEN 1 THEN -200 -- same weekly seasonality
|
|
112
|
+
WHEN 7 THEN 300
|
|
113
|
+
ELSE 0
|
|
114
|
+
END
|
|
115
|
+
+ CAST(100 * (RAND() - 0.5) AS INT64) -- same noise
|
|
116
|
+
)
|
|
117
|
+
END AS daily_sales
|
|
118
|
+
FROM dates
|
|
119
|
+
'''
|
|
120
|
+
client.query(query).result()
|
|
121
|
+
print('Historical and target data created')
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### 1. Basic anomaly detection
|
|
125
|
+
|
|
126
|
+
Pass historical and target tables. Returns each target point with `is_anomaly`, bounds, and probability.
|
|
127
|
+
|
|
128
|
+
```python
|
|
129
|
+
query = f'''
|
|
130
|
+
SELECT
|
|
131
|
+
time_series_timestamp,
|
|
132
|
+
time_series_data,
|
|
133
|
+
is_anomaly,
|
|
134
|
+
ROUND(anomaly_probability, 4) AS anomaly_prob,
|
|
135
|
+
ROUND(lower_bound, 0) AS lower_bound,
|
|
136
|
+
ROUND(upper_bound, 0) AS upper_bound
|
|
137
|
+
FROM AI.DETECT_ANOMALIES(
|
|
138
|
+
TABLE `{PROJECT_ID}.{DATASET_ID}.ai_detect_anomalies_history`,
|
|
139
|
+
TABLE `{PROJECT_ID}.{DATASET_ID}.ai_detect_anomalies_target`,
|
|
140
|
+
data_col => 'daily_sales',
|
|
141
|
+
timestamp_col => 'date'
|
|
142
|
+
)
|
|
143
|
+
ORDER BY time_series_timestamp
|
|
144
|
+
'''
|
|
145
|
+
df = client.query(query).to_dataframe()
|
|
146
|
+
|
|
147
|
+
anomalies = df[df['is_anomaly'] == True]
|
|
148
|
+
print(f'Total points: {len(df)}, Anomalies detected: {len(anomalies)}')
|
|
149
|
+
print(f'\nAnomalous points:')
|
|
150
|
+
print(anomalies[['time_series_timestamp', 'time_series_data', 'anomaly_prob', 'lower_bound', 'upper_bound']].to_string(index=False))
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### 2. Adjusting the anomaly threshold
|
|
154
|
+
|
|
155
|
+
The `anomaly_prob_threshold` controls sensitivity (default: 0.95). A data point is flagged as anomalous if its anomaly probability exceeds this threshold.
|
|
156
|
+
|
|
157
|
+
- **Higher threshold** (e.g., 0.99) → fewer, more extreme anomalies only
|
|
158
|
+
- **Lower threshold** (e.g., 0.8) → more anomalies, catches subtler deviations
|
|
159
|
+
|
|
160
|
+
Here we show all points sorted by anomaly probability to see the full distribution.
|
|
161
|
+
|
|
162
|
+
```python
|
|
163
|
+
query = f'''
|
|
164
|
+
SELECT
|
|
165
|
+
time_series_timestamp,
|
|
166
|
+
time_series_data,
|
|
167
|
+
is_anomaly,
|
|
168
|
+
ROUND(anomaly_probability, 4) AS anomaly_prob,
|
|
169
|
+
ROUND(lower_bound, 0) AS lower,
|
|
170
|
+
ROUND(upper_bound, 0) AS upper
|
|
171
|
+
FROM AI.DETECT_ANOMALIES(
|
|
172
|
+
TABLE `{PROJECT_ID}.{DATASET_ID}.ai_detect_anomalies_history`,
|
|
173
|
+
TABLE `{PROJECT_ID}.{DATASET_ID}.ai_detect_anomalies_target`,
|
|
174
|
+
data_col => 'daily_sales',
|
|
175
|
+
timestamp_col => 'date',
|
|
176
|
+
anomaly_prob_threshold => 0.99 -- stricter: only the most extreme anomalies
|
|
177
|
+
)
|
|
178
|
+
ORDER BY anomaly_prob DESC
|
|
179
|
+
'''
|
|
180
|
+
df = client.query(query).to_dataframe()
|
|
181
|
+
|
|
182
|
+
anomalies = df[df['is_anomaly'] == True]
|
|
183
|
+
print(f'With threshold=0.99: {len(anomalies)} anomalies (vs default 0.95)')
|
|
184
|
+
df.head(10)
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### 3. Using a query for history (subset)
|
|
188
|
+
|
|
189
|
+
Pass a query instead of a table reference to filter historical data.
|
|
190
|
+
|
|
191
|
+
```python
|
|
192
|
+
query = f'''
|
|
193
|
+
SELECT
|
|
194
|
+
time_series_timestamp,
|
|
195
|
+
time_series_data,
|
|
196
|
+
is_anomaly,
|
|
197
|
+
ROUND(anomaly_probability, 4) AS anomaly_prob
|
|
198
|
+
FROM AI.DETECT_ANOMALIES(
|
|
199
|
+
(SELECT * FROM `{PROJECT_ID}.{DATASET_ID}.ai_detect_anomalies_history`
|
|
200
|
+
WHERE date >= '2024-09-01'), -- use only recent history
|
|
201
|
+
TABLE `{PROJECT_ID}.{DATASET_ID}.ai_detect_anomalies_target`,
|
|
202
|
+
data_col => 'daily_sales',
|
|
203
|
+
timestamp_col => 'date'
|
|
204
|
+
)
|
|
205
|
+
WHERE is_anomaly = TRUE
|
|
206
|
+
ORDER BY anomaly_prob DESC
|
|
207
|
+
'''
|
|
208
|
+
client.query(query).to_dataframe()
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
### 4. Setting the context window
|
|
212
|
+
|
|
213
|
+
The `context_window` controls how many historical time points the model uses to learn patterns. Supported values depend on the model:
|
|
214
|
+
- **TimesFM 2.5** (default): 64, 128, 256, 512, 1024, 2048, 4096, 8192, 15360 — the smallest window covering your input data is auto-selected when unspecified
|
|
215
|
+
- **TimesFM 3.0** (Preview): any multiple of 32 from 64 to 2048 — the maximum, 2048, is used when unspecified
|
|
216
|
+
|
|
217
|
+
A larger window can capture longer-term patterns but uses more resources.
|
|
218
|
+
|
|
219
|
+
```python
|
|
220
|
+
query = f'''
|
|
221
|
+
SELECT
|
|
222
|
+
time_series_timestamp,
|
|
223
|
+
time_series_data,
|
|
224
|
+
is_anomaly,
|
|
225
|
+
ROUND(anomaly_probability, 4) AS anomaly_prob
|
|
226
|
+
FROM AI.DETECT_ANOMALIES(
|
|
227
|
+
TABLE `{PROJECT_ID}.{DATASET_ID}.ai_detect_anomalies_history`,
|
|
228
|
+
TABLE `{PROJECT_ID}.{DATASET_ID}.ai_detect_anomalies_target`,
|
|
229
|
+
data_col => 'daily_sales',
|
|
230
|
+
timestamp_col => 'date',
|
|
231
|
+
context_window => 128
|
|
232
|
+
)
|
|
233
|
+
WHERE is_anomaly = TRUE
|
|
234
|
+
ORDER BY anomaly_prob DESC
|
|
235
|
+
'''
|
|
236
|
+
client.query(query).to_dataframe()
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
### 5. Pinning the TimesFM model version
|
|
240
|
+
|
|
241
|
+
The `model` parameter selects which TimesFM version to use. **The default is TimesFM 2.5**; `'TimesFM 3.0'` (Preview) is the other accepted value. Pin `model` explicitly so a future default move cannot shift your anomaly probabilities.
|
|
242
|
+
|
|
243
|
+
Pinning does not make the function reproducible, though. `AI.DETECT_ANOMALIES` returns a different result on a minority of runs even with `model` and `context_window` both pinned and the query cache off — the same behavior measured in detail on `functions/ai_evaluate` (`AI.EVALUATE`), where 2 of 16 pinned runs moved the reported error by ~32%. Materialize the anomaly table once and read the stored rows rather than re-running the function.
|
|
244
|
+
|
|
245
|
+
TimesFM 3.0 takes the same arguments on this function; its reach is shorter (at most 2,048 history points against 2.5's 15,360).
|
|
246
|
+
|
|
247
|
+
```python
|
|
248
|
+
query = f'''
|
|
249
|
+
SELECT
|
|
250
|
+
time_series_timestamp,
|
|
251
|
+
time_series_data,
|
|
252
|
+
is_anomaly,
|
|
253
|
+
ROUND(anomaly_probability, 4) AS anomaly_prob
|
|
254
|
+
FROM AI.DETECT_ANOMALIES(
|
|
255
|
+
TABLE `{PROJECT_ID}.{DATASET_ID}.ai_detect_anomalies_history`,
|
|
256
|
+
TABLE `{PROJECT_ID}.{DATASET_ID}.ai_detect_anomalies_target`,
|
|
257
|
+
data_col => 'daily_sales',
|
|
258
|
+
timestamp_col => 'date',
|
|
259
|
+
model => 'TimesFM 2.5'
|
|
260
|
+
)
|
|
261
|
+
WHERE is_anomaly = TRUE
|
|
262
|
+
ORDER BY anomaly_prob DESC
|
|
263
|
+
'''
|
|
264
|
+
client.query(query).to_dataframe()
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
---
|
|
268
|
+
## Examples — `%%bigquery` Magics
|
|
269
|
+
|
|
270
|
+
The same examples using IPython magic commands. Magics let you write SQL directly in notebook cells without Python string wrapping.
|
|
271
|
+
|
|
272
|
+
Key patterns:
|
|
273
|
+
- `%%bigquery` — run SQL, display results inline
|
|
274
|
+
- `%%bigquery df` — run SQL, capture results into a pandas DataFrame
|
|
275
|
+
|
|
276
|
+
### Anomaly detection with `%%bigquery`
|
|
277
|
+
|
|
278
|
+
```sql
|
|
279
|
+
%%bigquery --project {PROJECT_ID}
|
|
280
|
+
|
|
281
|
+
SELECT time_series_timestamp, time_series_data, is_anomaly,
|
|
282
|
+
ROUND(anomaly_probability, 4) AS anomaly_prob
|
|
283
|
+
FROM AI.DETECT_ANOMALIES(
|
|
284
|
+
TABLE `statmike-mlops-349915.bq_ai_functions.ai_detect_anomalies_history`,
|
|
285
|
+
TABLE `statmike-mlops-349915.bq_ai_functions.ai_detect_anomalies_target`,
|
|
286
|
+
data_col => 'daily_sales',
|
|
287
|
+
timestamp_col => 'date'
|
|
288
|
+
)
|
|
289
|
+
WHERE is_anomaly = TRUE
|
|
290
|
+
ORDER BY anomaly_probability DESC
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
---
|
|
294
|
+
## Examples — BigFrames
|
|
295
|
+
|
|
296
|
+
`AI.DETECT_ANOMALIES` has no direct BigFrames equivalent for TimesFM. Use `session.read_gbq_query()` to execute the SQL from BigFrames.
|
|
297
|
+
|
|
298
|
+
**Note:** `bigframes.ml.forecasting.ARIMAPlus.detect_anomalies()` exists but uses ARIMA_PLUS, not TimesFM.
|
|
299
|
+
|
|
300
|
+
```python
|
|
301
|
+
import bigframes.pandas as bpd
|
|
302
|
+
|
|
303
|
+
bpd.options.bigquery.project = PROJECT_ID
|
|
304
|
+
bpd.options.bigquery.location = LOCATION
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
### Running AI.DETECT_ANOMALIES via read_gbq_query
|
|
308
|
+
|
|
309
|
+
```python
|
|
310
|
+
query = f"""
|
|
311
|
+
SELECT time_series_timestamp, time_series_data, is_anomaly, anomaly_probability
|
|
312
|
+
FROM AI.DETECT_ANOMALIES(
|
|
313
|
+
TABLE `{PROJECT_ID}.{DATASET_ID}.ai_detect_anomalies_history`,
|
|
314
|
+
TABLE `{PROJECT_ID}.{DATASET_ID}.ai_detect_anomalies_target`,
|
|
315
|
+
data_col => 'daily_sales',
|
|
316
|
+
timestamp_col => 'date'
|
|
317
|
+
)
|
|
318
|
+
ORDER BY time_series_timestamp
|
|
319
|
+
"""
|
|
320
|
+
df = bpd.read_gbq_query(query)
|
|
321
|
+
df.to_pandas()
|
|
322
|
+
```
|