使用 ARIMA_PLUS 單變數模型預測多個時間序列

本教學課程說明如何使用ARIMA_PLUS單變數時間序列模型,根據特定資料欄的歷來值,預測該資料欄的未來值。

本教學課程會預測多個時間序列。系統會針對每個時間點,計算一或多個指定資料欄中每個值的預測值。舉例來說,如果您想預測天氣,並指定包含城市資料的資料欄,預測資料就會包含城市 A 所有時間點的預測值,接著是城市 B 所有時間點的預測值,依此類推。

本教學課程使用公開 bigquery-public-data.new_york.citibike_trips 資料表中的資料。這個資料表包含紐約市 Citi Bike 行程的相關資訊。

閱讀本教學課程前,強烈建議您先參閱「使用單變量模型預測單一時間序列」。

目標

本教學課程會逐步引導您完成下列工作:

費用

本教學課程使用 Google Cloud的計費元件,包括:

  • BigQuery
  • BigQuery ML

如要進一步瞭解 BigQuery 費用,請參閱「BigQuery 定價」頁面。

如要進一步瞭解 BigQuery ML 費用,請參閱「BigQuery ML 定價」。

事前準備

  1. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Google Cloud project.

  3. 新專案會自動啟用 BigQuery。如要在現有專案中啟用 BigQuery,請前往

    啟用 BigQuery API (如果尚未啟用)。

    啟用 API 所需的角色

    您必須具備 serviceusage.services.enable 權限,才能啟用 API。如果您建立了專案,可能已透過擁有者角色 (roles/owner) 取得這項權限。否則,您可以透過 Service Usage 管理員角色 (roles/serviceusage.serviceUsageAdmin) 取得這項權限。瞭解如何授予角色。

    啟用 API

所需權限

  • 如要建立資料集,您必須具備 bigquery.datasets.create IAM 權限。

  • 如要建立模型,您必須具備下列權限:

    • bigquery.jobs.create
    • bigquery.models.create
    • bigquery.models.getData
    • bigquery.models.updateData
  • 如要執行推論,您必須具備下列權限:

    • bigquery.models.getData
    • bigquery.jobs.create

如要進一步瞭解 BigQuery 的 IAM 角色和權限,請參閱「IAM 簡介」。

建立資料集

如要建立 BigQuery 資料集,請選取下列其中一個選項:

控制台

  1. 前往 Google Cloud 控制台的「BigQuery」頁面。

    前往「BigQuery」

  2. 點選左側窗格中的 「Explorer」。

    醒目顯示的「Explorer」窗格按鈕。

    如果沒有看到左側窗格,請按一下 「Expand left pane」(展開左側窗格),開啟窗格。

  3. 在「Explorer」中展開專案,然後按一下「資料集」。

  4. 在「Datasets」(資料集) 頁面,按一下「Create dataset」(建立資料集)。

  5. 在「建立資料集」窗格中,執行下列操作:

    • 在「Dataset ID」(資料集 ID) 中輸入 bqml_tutorial。

    • 在「資料位置」部分,選取「US」。

    其餘預設設定則保持不變。

  6. 點選「建立資料集」。

bq

如要建立新的資料集,請使用 bq mk --dataset 指令。

  1. 建立名為 bqml_tutorial 的資料集,並將資料位置設為 US:

    bq mk --dataset \
      --location=US \
      --description "BigQuery ML tutorial dataset." \
      bqml_tutorial
  2. 確認資料集已建立:

    bq ls

API

使用定義的資料集資源呼叫 datasets.insert 方法:

{
  "datasetReference": {
     "datasetId": "bqml_tutorial"
  }
}

BigQuery DataFrames

試用這個範例前,請先按照使用 BigQuery DataFrames 的 BigQuery 快速入門導覽課程中的 BigQuery DataFrames 設定操作說明操作。詳情請參閱 BigQuery DataFrames 參考文件。

如要向 BigQuery 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定 ADC」。

import google.cloud.bigquery

bqclient = google.cloud.bigquery.Client()
bqclient.create_dataset("bqml_tutorial", exists_ok=True)

以圖表呈現輸入資料

建立模型前,您可以選擇以視覺化方式呈現輸入時間序列資料,瞭解分布情形。您可以使用數據分析來執行這項操作。

SQL

下列查詢的 SELECT 陳述式會使用 EXTRACT 函式,從 starttime 欄擷取日期資訊。查詢會使用 COUNT(*) 子句,取得每日 Citi Bike 行程總數。

請按照下列步驟,以圖表呈現時間序列資料:

  1. 前往 Google Cloud 控制台的「BigQuery」頁面。

    前往「BigQuery」

  2. 在查詢編輯器中貼上以下查詢,然後點選「執行」:

    SELECT
     EXTRACT(DATE from starttime) AS date,
     COUNT(*) AS num_trips
    FROM
    `bigquery-public-data.new_york.citibike_trips`
    GROUP BY date;
  3. 查詢完成後,依序點選「開啟方式」>「數據分析」。數據分析會在新的分頁中開啟。請在新分頁中完成下列步驟。

  4. 在數據分析中,依序點選「插入」>「時序圖表」。

  5. 在「圖表」窗格中,選擇「設定」分頁標籤。

  6. 在「指標」部分,新增「num_trips」欄位,並移除預設的「記錄計數」指標。產生的圖表大致如下:

    顯示單車行程資料變化趨勢的圖表。

BigQuery DataFrames

試用這個範例前,請先按照使用 BigQuery DataFrames 的 BigQuery 快速入門導覽課程中的 BigQuery DataFrames 設定操作說明操作。詳情請參閱 BigQuery DataFrames 參考文件。

如要向 BigQuery 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定 ADC」。


import bigframes.pandas as bpd

df = bpd.read_gbq("bigquery-public-data.new_york.citibike_trips")

features = bpd.DataFrame(
    {
        "num_trips": df.starttime,
        "date": df["starttime"].dt.date,
    }
)
date = df["starttime"].dt.date
df.groupby([date])
num_trips = features.groupby(["date"]).count()

# Results from running "print(num_trips)"

#                num_trips
# date
# 2013-07-01      16650
# 2013-07-02      22745
# 2013-07-03      21864
# 2013-07-04      22326
# 2013-07-05      21842
# 2013-07-06      20467
# 2013-07-07      20477
# 2013-07-08      21615
# 2013-07-09      26641
# 2013-07-10      25732
# 2013-07-11      24417
# 2013-07-12      19006
# 2013-07-13      26119
# 2013-07-14      29287
# 2013-07-15      28069
# 2013-07-16      29842
# 2013-07-17      30550
# 2013-07-18      28869
# 2013-07-19      26591
# 2013-07-20      25278
# 2013-07-21      30297
# 2013-07-22      25979
# 2013-07-23      32376
# 2013-07-24      35271
# 2013-07-25      31084

num_trips.plot.line(
    # Rotate the x labels so they are more visible.
    rot=45,
)

建立時間序列模型

您想預測每個 Citi Bike 站點的單車行程數量,這需要多個時間序列模型,每個模型分別對應輸入資料中的各個 Citi Bike 站點。您可以建立多個模型來執行這項操作,但這項程序可能相當繁瑣且耗時,尤其是時間序列數量龐大時。您可以使用單一查詢建立及擬合一組時間序列模型,一次預測多個時間序列。

SQL

在下列查詢中,OPTIONS(model_type='ARIMA_PLUS', time_series_timestamp_col='date', ...) 子句表示您正在建立以 ARIMA 為基礎的時間序列模型。您可以使用 CREATE MODEL 陳述式的 time_series_id_col 選項,指定要取得預測結果的一或多個輸入資料欄,在本例中為 Citi Bike 車站,由 start_station_name 欄表示。您可以使用 WHERE 子句,將起始站限制為名稱中含有 Central Park 的站點。CREATE MODEL 陳述式的 auto_arima_max_order 選項,可控制 auto.ARIMA 演算法中超參數調整的搜尋空間。CREATE MODEL 陳述式的 decompose_time_series 選項預設為 TRUE,因此在下一個步驟評估模型時,系統會傳回時間序列資料的相關資訊。

請按照下列步驟建立模型:

  1. 前往 Google Cloud 控制台的「BigQuery」頁面。

    前往「BigQuery」

  2. 在查詢編輯器中貼上以下查詢,然後點選「執行」:

    CREATE OR REPLACE MODEL `bqml_tutorial.nyc_citibike_arima_model_group`
    OPTIONS
    (model_type = 'ARIMA_PLUS',
     time_series_timestamp_col = 'date',
     time_series_data_col = 'num_trips',
     time_series_id_col = 'start_station_name',
     auto_arima_max_order = 5
    ) AS
    SELECT
     start_station_name,
     EXTRACT(DATE from starttime) AS date,
     COUNT(*) AS num_trips
    FROM
    `bigquery-public-data.new_york.citibike_trips`
    WHERE start_station_name LIKE '%Central Park%'
    GROUP BY start_station_name, date;

    查詢約需 24 秒才能完成,完成後即可存取 nyc_citibike_arima_model_group 模型。由於查詢使用 CREATE MODEL 陳述式,因此不會顯示查詢結果。

這項查詢會建立十二個時間序列模型,每個模型分別對應輸入資料中的十二個 Citi Bike 起始站。由於採用平行處理,時間成本約為 24 秒,僅為建立單一時間序列模型的 1.4 倍。不過,如果移除 WHERE ... LIKE ... 子句,則會有 600 多個時間序列需要預測,而且由於運算單元容量限制,這些時間序列不會完全平行預測。在這種情況下,查詢大約需要 15 分鐘才能完成。如要縮短查詢執行時間,但願意承擔模型品質可能略微下降的風險,可以降低 auto_arima_max_order 的值。這會縮小 auto.ARIMA 演算法中超參數調整的搜尋空間。詳情請參閱 Large-scale time series forecasting best practices。

BigQuery DataFrames

在下列程式碼片段中,您將建立以 ARIMA 為基礎的時間序列模型。

試用這個範例前,請先按照使用 BigQuery DataFrames 的 BigQuery 快速入門導覽課程中的 BigQuery DataFrames 設定操作說明操作。詳情請參閱 BigQuery DataFrames 參考文件。

如要向 BigQuery 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定 ADC」。

from bigframes.ml import forecasting
import bigframes.pandas as bpd

model = forecasting.ARIMAPlus(
    # To reduce the query runtime with the compromise of a potential slight
    # drop in model quality, you could decrease the value of the
    # auto_arima_max_order. This shrinks the search space of hyperparameter
    # tuning in the auto.ARIMA algorithm.
    auto_arima_max_order=5,
)

df = bpd.read_gbq("bigquery-public-data.new_york.citibike_trips")

# This query creates twelve time series models, one for each of the twelve
# Citi Bike start stations in the input data. If you remove this row
# filter, there would be 600+ time series to forecast.
df = df[df["start_station_name"].str.contains("Central Park")]

features = bpd.DataFrame(
    {
        "start_station_name": df["start_station_name"],
        "num_trips": df["starttime"],
        "date": df["starttime"].dt.date,
    }
)
num_trips = features.groupby(
    ["start_station_name", "date"],
    as_index=False,
).count()

X = num_trips["date"].to_frame()
y = num_trips["num_trips"].to_frame()

model.fit(
    X,
    y,
    # The input data that you want to get forecasts for,
    # in this case the Citi Bike station, as represented by the
    # start_station_name column.
    id_col=num_trips["start_station_name"].to_frame(),
)

# The model.fit() call above created a temporary model.
# Use the to_gbq() method to write to a permanent location.
model.to_gbq(
    your_model_id,  # For example: "bqml_tutorial.nyc_citibike_arima_model",
    replace=True,
)

系統會建立十二個時間序列模型,每個模型分別對應輸入資料中十二個 Citi Bike 起始站點。由於採用平行處理,時間成本約為 24 秒,僅為建立單一時間序列模型的 1.4 倍。

評估模型

SQL

使用 ML.ARIMA_EVALUATE 函式評估時間序列模型。ML.ARIMA_EVALUATE 函式會顯示自動調整超參數期間,為模型產生的評估指標。

請按照下列步驟評估模型:

  1. 前往 Google Cloud 控制台的「BigQuery」頁面。

    前往「BigQuery」

  2. 在查詢編輯器中貼上以下查詢,然後點選「執行」:

    SELECT
    *
    FROM
    ML.ARIMA_EVALUATE(MODEL `bqml_tutorial.nyc_citibike_arima_model_group`);

    結果應如下所示:

    時間序列模型的評估指標。

    雖然 auto.ARIMA 會為每個時間序列評估數十個候選 ARIMA 模型,但 ML.ARIMA_EVALUATE 預設只會輸出最佳模型的資訊,讓輸出表格保持精簡。如要查看所有候選模型,請將 ML.ARIMA_EVALUATE 函式的show_all_candidate_model 引數設為 TRUE。

BigQuery DataFrames

試用這個範例前,請先按照使用 BigQuery DataFrames 的 BigQuery 快速入門導覽課程中的 BigQuery DataFrames 設定操作說明操作。詳情請參閱 BigQuery DataFrames 參考文件。

如要向 BigQuery 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定 ADC」。

# Evaluate the time series models by using the summary() function. The summary()
# function shows you the evaluation metrics of all the candidate models evaluated
# during the process of automatic hyperparameter tuning.
summary = model.summary()
print(summary.peek())

# Expected output:
#    start_station_name                  non_seasonal_p  non_seasonal_d   non_seasonal_q  has_drift  log_likelihood           AIC     variance ...
# 1         Central Park West & W 72 St               0               1                5      False    -1966.449243   3944.898487  1215.689281 ...
# 8            Central Park W & W 96 St               0               0                5      False     -274.459923    562.919847   655.776577 ...
# 9        Central Park West & W 102 St               0               0                0      False     -226.639918    457.279835    258.83582 ...
# 11        Central Park West & W 76 St               1               1                2      False    -1700.456924   3408.913848   383.254161 ...
# 4   Grand Army Plaza & Central Park S               0               1                5      False    -5507.553498  11027.106996   624.138741 ...

start_station_name 欄會指出建立時間序列的輸入資料欄。這是您在建立模型時,使用 time_series_id_col 選項指定的資料欄。

non_seasonal_p、non_seasonal_d、non_seasonal_q 和 has_drift 輸出欄定義訓練管道中的 ARIMA 模型。log_likelihood、AIC 和 variance 輸出資料欄與 ARIMA 模型擬合程序相關。校正程序會使用 auto.ARIMA 演算法,為每個時間序列決定各自最佳的 ARIMA 模型。

auto.ARIMA 演算法會使用 KPSS 檢定,判斷 non_seasonal_d 的最佳值,在本例中為 1。當 non_seasonal_d 為 1 時,auto.ARIMA 演算法會同時訓練 42 個不同的候選 ARIMA 模型。在這個範例中,所有 42 個候選模型都有效,因此輸出內容包含 42 列,每個候選 ARIMA 模型各一列;如果部分模型無效,則會從輸出內容中排除。這些候選模型會依 AIC 遞增排序。第一列的模型 AIC 最低,因此視為最佳模型。這個最佳模型會儲存為最終模型,並在您預測資料、評估模型及檢查模型係數時使用,如下列步驟所示。

seasonal_periods 欄包含時間序列資料中識別出的季節性模式資訊。每個時間序列可以有不同的季節性模式。舉例來說,從圖中可以看到,其中一個時間序列有年度模式,其他則沒有。

只有在 decompose_time_series=TRUE 時,系統才會填入 has_holiday_effect、has_spikes_and_dips 和 has_step_changes 欄。這些資料欄也會反映輸入時間序列資料的相關資訊,與 ARIMA 建模無關。這些資料欄在所有輸出資料列中也具有相同的值。

檢查模型的係數

SQL

使用 ML.ARIMA_COEFFICIENTS 函式檢查時間序列模型的係數。

請按照下列步驟擷取模型的係數:

  1. 前往 Google Cloud 控制台的「BigQuery」頁面。

    前往「BigQuery」

  2. 在查詢編輯器中貼上以下查詢,然後點選「執行」:

    SELECT
    *
    FROM
    ML.ARIMA_COEFFICIENTS(MODEL `bqml_tutorial.nyc_citibike_arima_model_group`);

    查詢會在 1 秒內完成。結果應大致如下:

    時間序列模型的係數。

    如要進一步瞭解輸出資料欄,請參閱「ML.ARIMA_COEFFICIENTS 函式」。

BigQuery DataFrames

使用 coef_ 函式檢查時間序列模型的係數。

試用這個範例前,請先按照使用 BigQuery DataFrames 的 BigQuery 快速入門導覽課程中的 BigQuery DataFrames 設定操作說明操作。詳情請參閱 BigQuery DataFrames 參考文件。

如要向 BigQuery 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定 ADC」。

coef = model.coef_
print(coef.peek())

# Expected output:
#    start_station_name                                              ar_coefficients                                   ma_coefficients intercept_or_drift
# 5    Central Park West & W 68 St                                                [] [-0.41014089  0.21979212 -0.59854213 -0.251438...                0.0
# 6         Central Park S & 6 Ave                                                [] [-0.71488957 -0.36835772  0.61008532  0.183290...                0.0
# 0    Central Park West & W 85 St                                                [] [-0.39270166 -0.74494638  0.76432596  0.489146...                0.0
# 3    W 82 St & Central Park West                         [-0.50219511 -0.64820817]             [-0.20665325  0.67683137 -0.68108631]                0.0
# 11  W 106 St & Central Park West [-0.70442887 -0.66885553 -0.25030325 -0.34160669]                                                []                0.0

start_station_name 欄會指出建立時間序列的輸入資料欄。這是您在建立模型時,於 time_series_id_col 選項中指定的資料欄。

ar_coefficients 輸出資料欄會顯示 ARIMA 模型自迴歸 (AR) 部分的模型係數。同樣地,ma_coefficients 輸出欄會顯示 ARIMA 模型移動平均 (MA) 部分的模型係數。這兩欄都包含陣列值,長度分別等於 non_seasonal_p 和 non_seasonal_q。intercept_or_drift 值是 ARIMA 模型中的常數項。

使用模型預測資料

SQL

使用 ML.FORECAST 函式預測未來時間序列值。

在下列 GoogleSQL 查詢中,STRUCT(3 AS horizon, 0.9 AS confidence_level) 子句表示查詢會預測 3 個未來時間點,並產生信賴水準為 90% 的預測區間。

請按照下列步驟,使用模型預測資料:

  1. 前往 Google Cloud 控制台的「BigQuery」頁面。

    前往「BigQuery」

  2. 在查詢編輯器中貼上以下查詢,然後點選「執行」:

    SELECT
    *
    FROM
    ML.FORECAST(MODEL `bqml_tutorial.nyc_citibike_arima_model_group`,
     STRUCT(3 AS horizon, 0.9 AS confidence_level))
  3. 按一下「執行」。

    查詢會在 1 秒內完成。結果應大致如下:

    ML.FORECAST 輸出內容。

如要進一步瞭解輸出資料欄,請參閱「ML.FORECAST 函式」。

BigQuery DataFrames

使用 predict 函式預測未來時間序列值。

試用這個範例前,請先按照使用 BigQuery DataFrames 的 BigQuery 快速入門導覽課程中的 BigQuery DataFrames 設定操作說明操作。詳情請參閱 BigQuery DataFrames 參考文件。

如要向 BigQuery 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定 ADC」。

prediction = model.predict(horizon=3, confidence_level=0.9)

print(prediction.peek())
# Expected output:
#            forecast_timestamp                             start_station_name  forecast_value  standard_error  confidence_level ...
# 4   2016-10-01 00:00:00+00:00                         Central Park S & 6 Ave      302.377201       32.572948               0.9 ...
# 14  2016-10-02 00:00:00+00:00  Central Park North & Adam Clayton Powell Blvd      263.917567       45.284082               0.9 ...
# 1   2016-09-25 00:00:00+00:00                    Central Park West & W 85 St      189.574706       39.874856               0.9 ...
# 20  2016-10-02 00:00:00+00:00                    Central Park West & W 72 St      175.474862       40.940794               0.9 ...
# 12  2016-10-01 00:00:00+00:00                   W 106 St & Central Park West        63.88163       18.088868               0.9 ...

第一欄 start_station_name 會註解每個時間序列模型擬合的時間序列。每個 start_station_name 都有三列預測結果,如 horizon 值所指定。

針對每個 start_station_name,輸出資料列會依 forecast_timestamp 欄值按時間順序排列。在時間序列預測中,prediction_interval_lower_bound 和 prediction_interval_upper_bound 欄值代表的預測間隔,與 forecast_value 欄值一樣重要。forecast_value 值是預測區間的中間點。預測間隔取決於 standard_error 和 confidence_level 欄的值。

說明預測結果

SQL

除了預測資料外,您也可以使用 ML.EXPLAIN_FORECAST 函式取得可解釋性指標。ML.EXPLAIN_FORECAST 函式會預測未來時間序列值,並傳回時間序列的所有個別元件。如果只想傳回預測資料,請改用 ML.FORECAST 函式,如「使用模型預測資料」一節所示。

ML.EXPLAIN_FORECAST 函式中使用的 STRUCT(3 AS horizon, 0.9 AS confidence_level) 子句,表示查詢會預測未來 3 個時間點,並產生信賴水準為 90% 的預測區間。

請按照下列步驟說明模型結果:

  1. 前往 Google Cloud 控制台的「BigQuery」頁面。

    前往「BigQuery」

  2. 在查詢編輯器中貼上以下查詢,然後點選「執行」:

    SELECT
    *
    FROM
    ML.EXPLAIN_FORECAST(MODEL `bqml_tutorial.nyc_citibike_arima_model_group`,
     STRUCT(3 AS horizon, 0.9 AS confidence_level));

    查詢會在 1 秒內完成。結果應大致如下:

    預測資料和預測解釋的前九個輸出資料欄。 預測資料和預測說明的第十到第十七個輸出欄。 預測資料和預測說明的最後六個輸出資料欄。

    傳回的前一千列都是歷來資料。您必須捲動瀏覽結果,才能查看預測資料。

    輸出資料列會先依 start_station_name 排序,然後依 time_series_timestamp 資料欄值按時間順序排序。在時間序列預測中,由 prediction_interval_lower_bound 和 prediction_interval_upper_bound 資料欄值表示的預測間隔,與 forecast_value 資料欄值一樣重要。forecast_value 值是預測區間的中間點。預測間隔取決於 standard_error 和 confidence_level 欄的值。

    如要進一步瞭解輸出資料欄,請參閱 ML.EXPLAIN_FORECAST。

BigQuery DataFrames

除了預測資料外,您也可以使用 predict_explain 函式取得可解釋性指標。predict_explain 函式會預測未來時間序列值,並傳回時間序列的所有個別元件。如果只想傳回預測資料,請改用 predict 函式,如「使用模型預測資料」一節所示。

predict_explain 函式中使用的 horizon=3, confidence_level=0.9 子句,表示查詢會預測未來 3 個時間點,並產生信賴水準為 90% 的預測區間。

試用這個範例前,請先按照使用 BigQuery DataFrames 的 BigQuery 快速入門導覽課程中的 BigQuery DataFrames 設定操作說明操作。詳情請參閱 BigQuery DataFrames 參考文件。

如要向 BigQuery 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定 ADC」。

explain = model.predict_explain(horizon=3, confidence_level=0.9)

print(explain.peek(5))
# Expected output:
#   time_series_timestamp	        start_station_name	            time_series_type	    time_series_data	    time_series_adjusted_data	    standard_error	    confidence_level	    prediction_interval_lower_bound	    prediction_interval_upper_bound	    trend	    seasonal_period_yearly	    seasonal_period_quarterly	    seasonal_period_monthly	    seasonal_period_weekly	    seasonal_period_daily	    holiday_effect	    spikes_and_dips	    step_changes	    residual
# 0	2013-07-01 00:00:00+00:00	Central Park S & 6 Ave	                history	                  69.0	                   154.168527	              32.572948	             <NA>	                        <NA>	                            <NA>	                 0.0	          35.477484	                       <NA>	                        <NA>	                  -28.402102	                 <NA>	                <NA>	               0.0	         -85.168527	        147.093145
# 1	2013-07-01 00:00:00+00:00	Grand Army Plaza & Central Park S	    history	                  79.0	                      79.0	                  24.982769	             <NA>	                        <NA>	                            <NA>	                 0.0	          43.46428	                       <NA>	                        <NA>	                  -30.01599	                     <NA>	                <NA>	               0.0	            0.0	             65.55171
# 2	2013-07-02 00:00:00+00:00	Central Park S & 6 Ave	                history	                  180.0	                   204.045651	              32.572948	             <NA>	                        <NA>	                            <NA>	              147.093045	      72.498327	                       <NA>	                        <NA>	                  -15.545721	                 <NA>	                <NA>	               0.0	         -85.168527	         61.122876
# 3	2013-07-02 00:00:00+00:00	Grand Army Plaza & Central Park S	    history	                  129.0	                    99.556269	              24.982769	             <NA>	                        <NA>	                            <NA>	               65.551665	      45.836432	                       <NA>	                        <NA>	                  -11.831828	                 <NA>	                <NA>	               0.0	            0.0	             29.443731
# 4	2013-07-03 00:00:00+00:00	Central Park S & 6 Ave	                history	                  115.0	                   205.968236	              32.572948	             <NA>	                        <NA>	                            <NA>	               191.32754	      59.220766	                       <NA>	                        <NA>	                  -44.580071	                 <NA>	                <NA>	               0.0	         -85.168527	        -5.799709

輸出資料列會先依 time_series_timestamp 排序,然後依 start_station_name 資料欄值按時間順序排序。在時間序列預測中,由 prediction_interval_lower_bound 和 prediction_interval_upper_bound 資料欄值表示的預測間隔,與 forecast_value 資料欄值一樣重要。forecast_value 值是預測區間的中間點。預測間隔取決於 standard_error 和 confidence_level 欄的值。

清除所用資源

為避免因為本教學課程所用資源,導致系統向 Google Cloud 帳戶收取費用,請刪除含有相關資源的專案,或者保留專案但刪除個別資源。

  • 您可以刪除建立的專案。
  • 或者您可以保留專案並刪除資料集。

刪除資料集

刪除專案將移除專案中所有的資料集與資料表。若您希望重新使用專案,您可以刪除本教學課程中所建立的資料集。

  1. 如有需要,請在Google Cloud 控制台開啟 BigQuery 頁面。

    前往「BigQuery」頁面

  2. 在導覽窗格中,按一下您建立的 bqml_tutorial 資料集。

  3. 按一下「Delete dataset」(刪除資料集),即可刪除資料集、資料表和所有資料。

  4. 在「Delete dataset」(刪除資料集) 對話方塊中,輸入資料集名稱 (bqml_tutorial) 來確認刪除指令,然後點選「Delete」(刪除)。

刪除專案

如要刪除專案,請進行以下操作:

  1. 前往 Google Cloud 控制台的「Manage resources」(管理資源) 頁面。

    前往「Manage resources」(管理資源)

  2. 在專案清單中選取要刪除的專案,然後點選「Delete」(刪除)。
  3. 在對話方塊中輸入專案 ID,然後按一下 [Shut down] (關閉) 以刪除專案。

後續步驟