使用 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. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

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

    Enable the BigQuery API.

    Enable the API

  7. 所需權限

    • 如要建立資料集,您必須具備 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」窗格中,按一下專案名稱。

  3. 依序點選 「View actions」(查看動作) >「Create dataset」(建立資料集)

    「建立資料集」選單選項。

  4. 在「Create dataset」頁面上執行下列操作:

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

    • 在「位置類型」中選取「多區域」,然後選取「美國 (多個美國區域)」

    • 保留其餘預設設定,然後點選「Create dataset」(建立資料集)

bq

如要建立新的資料集,請使用 bq mk 指令搭配 --location 旗標。如需可能參數的完整清單,請參閱 bq mk --dataset 指令參考資料。

  1. 建立名為 bqml_tutorial 的資料集,並將資料位置設為 US,說明為 BigQuery ML tutorial dataset

    bq --location=US mk -d \
     --description "BigQuery ML tutorial dataset." \
     bqml_tutorial

    這個指令採用 -d 捷徑,而不是使用 --dataset 旗標。如果您省略 -d--dataset,該指令預設會建立資料集。

  2. 確認資料集已建立:

    bq ls

API

請呼叫 datasets.insert 方法,搭配已定義的資料集資源

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

BigQuery DataFrames

在嘗試這個範例之前,請先參閱 BigQuery 快速入門:使用 BigQuery DataFrames,按照 BigQuery DataFrames 設定說明進行操作。詳情請參閱 BigQuery DataFrames 參考資料說明文件

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

import google.cloud.bigquery

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

以視覺化方式呈現輸入資料

建立模型前,您可以視需要將輸入的時間序列資料以視覺化方式呈現,以便瞭解分布情形。您可以使用 Looker Studio 執行這項操作。

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. 查詢完成後,請依序點選「探索資料」「透過 Looker Studio 探索」。Looker Studio 會在新分頁中開啟。請在新分頁中完成下列步驟。

  4. 在 Looker Studio 中,依序點選「插入」>「時序圖表」

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

  6. 在「指標」專區中,新增「num_trips」欄位,並移除預設的「Record Count」指標。產生的圖表如下所示:

    顯示單車行程資料隨時間變化的圖表。

BigQuery DataFrames

在嘗試這個範例之前,請先參閱 BigQuery 快速入門:使用 BigQuery DataFrames,按照 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」模型就會顯示在「Explorer」窗格中。由於查詢使用 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 快速入門:使用 BigQuery DataFrames,按照 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 快速入門:使用 BigQuery DataFrames,按照 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_pnon_seasonal_dnon_seasonal_qhas_drift 輸出欄會在訓練管道中定義 ARIMA 模型。log_likelihoodAICvariance 輸出資料欄與 ARIMA 模型擬合程序相關。擬合程序會使用 auto.ARIMA 演算法,為每個時間序列各產生一個最佳 ARIMA 模型。

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

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

has_holiday_effecthas_spikes_and_dipshas_step_changes 欄只會在 decompose_time_series=TRUE 時填入資料。這些欄也會反映輸入時間序列資料的相關資訊,與 ARIMA 模擬無關。這些欄在所有輸出資料列中也具有相同的值。

檢查模型的係數

SQL

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

如要擷取模型的係數,請按照下列步驟操作:

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

    前往 BigQuery

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

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

    查詢只需不到一秒鐘的時間即可完成。結果應如下所示:

    時間序列模型的係數。

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

BigQuery DataFrames

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

在嘗試這個範例之前,請先參閱 BigQuery 快速入門:使用 BigQuery DataFrames,按照 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_pnon_seasonal_qintercept_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. 按一下「執行」

    查詢只需不到一秒鐘的時間即可完成。結果應如下所示:

    ML.FORECAST 輸出。

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

BigQuery DataFrames

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

在嘗試這個範例之前,請先參閱 BigQuery 快速入門:使用 BigQuery DataFrames,按照 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_boundprediction_interval_upper_bound 欄值所代表的預測間隔,與 forecast_value 欄值同樣重要。forecast_value 值是預測區間的中間點。預測間隔取決於 standard_errorconfidence_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));

    查詢只需不到一秒鐘的時間即可完成。結果應如下所示:

    預測資料和預測說明的前九個輸出資料欄。 第十到第十七列的輸出資料欄,包含預測資料和預測說明。 預測資料和預測說明的最後六個輸出欄。

    傳回的前幾千列都是歷史資料。您必須捲動結果畫面,才能查看預測資料。

    輸出資料列會先依 start_station_name 排序,然後依 time_series_timestamp 資料欄值的時間順序排序。在時間序列預測中,prediction_interval_lower_boundprediction_interval_upper_bound 欄值所代表的預測間隔,與 forecast_value 欄值同樣重要。forecast_value 值是預測區間的中間點。預測間隔取決於 standard_errorconfidence_level 欄值。

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

BigQuery DataFrames

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

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

在嘗試這個範例之前,請先參閱 BigQuery 快速入門:使用 BigQuery DataFrames,按照 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_boundprediction_interval_upper_bound 欄值所代表的預測間隔,與 forecast_value 欄值同樣重要。forecast_value 值是預測區間的中間點。預測間隔取決於 standard_errorconfidence_level 欄值。

清除所用資源

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

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

刪除資料集

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

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

    前往「BigQuery」頁面

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

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

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

刪除專案

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

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

後續步驟