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


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

本教學課程將預測單一時間序列。系統會針對輸入資料中的每個時間點計算一次預測值。

本教學課程使用公開 bigquery-public-data.google_analytics_sample.ga_sessions 範例資料表的資料。這個表格包含 Google 商品網路商店的電子商務資料 (已模糊處理)。

目標

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

費用

本教學課程使用 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

在下列 GoogleSQL 查詢中,SELECT 陳述式會將輸入資料表的 date 欄解析為 TIMESTAMP 類型,並將其重新命名為 parsed_date,然後使用 SUM(...) 子句和 GROUP BY date 子句建立每日 totals.visits 值。

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

    前往 BigQuery

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

    SELECT
    PARSE_TIMESTAMP("%Y%m%d", date) AS parsed_date,
    SUM(totals.visits) AS total_visits
    FROM
    `bigquery-public-data.google_analytics_sample.ga_sessions_*`
    GROUP BY date;
    1. 查詢完成後,請依序點選「探索資料」「透過 Looker Studio 探索」。Looker Studio 會在新分頁中開啟。請在新分頁中完成下列步驟。

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

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

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

      Result_visualization

      從圖表中,您可以看到輸入的時間序列有週期性季節模式。

BigQuery DataFrames

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

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

import bigframes.pandas as bpd

# Start by loading the historical data from BigQuerythat you want to analyze and forecast.
# This clause indicates that you are querying the ga_sessions_* tables in the google_analytics_sample dataset.
# Read and visualize the time series you want to forecast.
df = bpd.read_gbq("bigquery-public-data.google_analytics_sample.ga_sessions_*")
parsed_date = bpd.to_datetime(df.date, format="%Y%m%d", utc=True)
parsed_date.name = "parsed_date"
visits = df["totals"].struct.field("visits")
visits.name = "total_visits"
total_visits = visits.groupby(parsed_date).sum()

# Expected output: total_visits.head()
# parsed_date
# 2016-08-01 00:00:00+00:00    1711
# 2016-08-02 00:00:00+00:00    2140
# 2016-08-03 00:00:00+00:00    2890
# 2016-08-04 00:00:00+00:00    3161
# 2016-08-05 00:00:00+00:00    2702
# Name: total_visits, dtype: Int64

total_visits.plot.line()

結果類似下方內容: Result_visualization

建立時間序列模型

建立時間序列模型,預測 totals.visits 欄代表的網站總造訪次數,並使用 Google Analytics 360 資料訓練模型。

SQL

在以下查詢中,OPTIONS(model_type='ARIMA_PLUS', time_series_timestamp_col='date', ...) 子句表示您要建立以 ARIMA 為基礎的時間序列模型。CREATE MODEL 陳述式的 auto_arima 選項預設為 TRUE,因此 auto.ARIMA 演算法會自動調整模型中的超參數。演算法會測試數十個候選模型,並選擇最佳模型,也就是赤池訊息量準則 (AIC) 最低的模型。CREATE MODEL 陳述式的 data_frequency 選項預設為 AUTO_FREQUENCY,因此訓練程序會自動推斷輸入時間序列的資料頻率。CREATE MODEL 陳述式的 decompose_time_series 選項預設為 TRUE,因此在下一個步驟評估模型時,系統會傳回時間序列資料的相關資訊。

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

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

    前往 BigQuery

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

    CREATE OR REPLACE MODEL `bqml_tutorial.ga_arima_model`
    OPTIONS
    (model_type = 'ARIMA_PLUS',
     time_series_timestamp_col = 'parsed_date',
     time_series_data_col = 'total_visits',
     auto_arima = TRUE,
     data_frequency = 'AUTO_FREQUENCY',
     decompose_time_series = TRUE
    ) AS
    SELECT
    PARSE_TIMESTAMP("%Y%m%d", date) AS parsed_date,
    SUM(totals.visits) AS total_visits
    FROM
    `bigquery-public-data.google_analytics_sample.ga_sessions_*`
    GROUP BY date;

    查詢作業完成 (約需 4 秒) 後,ga_arima_model 模型就會顯示在「探索器」窗格中。由於查詢是使用 CREATE MODEL 陳述式建立模型,因此您不會看到查詢結果。

BigQuery DataFrames

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

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

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

# Create a time series model to forecast total site visits:
# The auto_arima option defaults to True, so the auto.ARIMA algorithm automatically
# tunes the hyperparameters in the model.
# The data_frequency option defaults to 'auto_frequency so the training
# process automatically infers the data frequency of the input time series.
# The decompose_time_series option defaults to True, so that information about
# the time series data is returned when you evaluate the model in the next step.
model = forecasting.ARIMAPlus()
model.auto_arima = True
model.data_frequency = "auto_frequency"
model.decompose_time_series = True

# Use the data loaded in the previous step to fit the model
training_data = total_visits.to_frame().reset_index(drop=False)

X = training_data[["parsed_date"]]
y = training_data[["total_visits"]]

model.fit(X, y)

評估候選模型

SQL

使用 ML.ARIMA_EVALUATE 函式評估時間序列模型。ML.ARIMA_EVALUATE 函式會顯示自動超參數調整程序中評估的所有候選模型評估指標。

如要評估模型,請按照下列步驟操作:

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

    前往 BigQuery

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

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

    結果應如下所示:

    ML.ARIMA_EVALUATE 輸出。

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(
    show_all_candidate_models=True,
)
print(summary.peek())

# Expected output:
# row   non_seasonal_p	non_seasonal_d	non_seasonal_q	has_drift	log_likelihood	AIC	variance	seasonal_periods	has_holiday_effect	has_spikes_and_dips	has_step_changes	error_message
#  0	      0	              1	               3	      True	     -2464.255656	4938.511313	     42772.506055	        ['WEEKLY']	            False	        False	            True
#  1	      2	              1	               0	      False	     -2473.141651	4952.283303	     44942.416463	        ['WEEKLY']	            False	        False	            True
#  2	      1	              1	               0 	      False	     -2479.880885	4963.76177	     46642.953433	        ['WEEKLY']	            False	        False	            True
#  3	      0	              1	               1	      False	     -2470.632377	4945.264753	     44319.379307	        ['WEEKLY']	            False	        False	            True
#  4	      2	              1	               1	      True	     -2463.671247	4937.342493	     42633.299513	        ['WEEKLY']	            False	        False	            True

non_seasonal_pnon_seasonal_dnon_seasonal_qhas_drift 輸出欄會在訓練管道中定義 ARIMA 模型。log_likelihoodAICvariance 輸出資料欄與 ARIMA 模型擬合程序相關。

auto.ARIMA 演算法會使用 KPSS 測試來判斷 non_seasonal_d 的最佳值,在本例中為 1。當 non_seasonal_d1 時,auto.ARIMA 演算法會並行訓練 42 個不同的 ARIMA 候選模型。在這個範例中,所有 42 個候選模型皆有效,因此輸出內容包含 42 列,每個 ARIMA 候選模型各一列;如果部分模型無效,則會從輸出內容中排除。這些候選模型會由 AIC 以遞增順序傳回。第一列的模型 AIC 值最低,因此被視為最佳模型。最佳模型會儲存為最終模型,並在您對模型呼叫 ML.FORECAST 等函式時使用

seasonal_periods 欄包含時間序列資料中所識別的季節性模式相關資訊。這與 ARIMA 模擬無關,因此所有輸出資料列的值都相同。它會回報每週的模式,這與您選擇將輸入資料視覺化的結果相符。

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

error_message 欄會顯示 auto.ARIMA 配戴過程中發生的任何錯誤。發生錯誤的其中一個可能原因是所選取的 non_seasonal_pnon_seasonal_dnon_seasonal_qhas_drift 欄無法穩定時間序列。如要擷取所有候選模型的錯誤訊息,請在建立模型時將 show_all_candidate_models 選項設為 TRUE

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

檢查模型的係數

SQL

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

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

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

    前往 BigQuery

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

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

ar_coefficients 輸出資料欄會顯示 ARIMA 模型自迴歸 (AR) 部分的模型係數。同樣地,ma_coefficients 輸出資料欄會顯示 ARIMA 模型中移動平均值 (MA) 部分的模型係數。這兩個資料欄都包含陣列值,長度分別等於 non_seasonal_pnon_seasonal_q。您在 ML.ARIMA_EVALUATE 函式的輸出內容中看到,最佳模型的 non_seasonal_p 值為 2non_seasonal_q 值為 3。因此,在 ML.ARIMA_COEFFICIENTS 輸出內容中,ar_coefficients 值是 2 個元素的陣列,而 ma_coefficients 值是 3 個元素的陣列。intercept_or_drift 值是 ARIMA 模型中的常數項。

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

BigQuery DataFrames

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

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

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

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

# Expected output:
#       ar_coefficients   ma_coefficients   intercept_or_drift
#   0	 [0.40944762]	   [-0.81168198]	      0.0

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

使用模型預測資料

SQL

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

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

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

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

    前往 BigQuery

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

    SELECT
    *
    FROM
    ML.FORECAST(MODEL `bqml_tutorial.ga_arima_model`,
              STRUCT(30 AS horizon, 0.8 AS confidence_level));

    結果應如下所示:

    ML.FORECAST 輸出。

BigQuery DataFrames

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

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

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

prediction = model.predict(horizon=30, confidence_level=0.8)

print(prediction.peek())
# Expected output:
#           forecast_timestamp	   forecast_value	standard_error	confidence_level	prediction_interval_lower_bound	    prediction_interval_upper_bound	    confidence_interval_lower_bound	    confidence_interval_upper_bound
# 11	2017-08-13 00:00:00+00:00	1845.439732	      328.060405	      0.8	                 1424.772257	                      2266.107208	                     1424.772257	                     2266.107208
# 29	2017-08-31 00:00:00+00:00	2615.993932	      431.286628	      0.8	                 2062.960849	                      3169.027015	                     2062.960849	                     3169.027015
# 7	    2017-08-09 00:00:00+00:00	2639.285993	      300.301186	      0.8	                 2254.213792	                      3024.358193	                     2254.213792	                     3024.358193
# 25	2017-08-27 00:00:00+00:00	1853.735689	      410.596551	      0.8	                 1327.233216	                      2380.238162	                     1327.233216	                     2380.238162
# 1	    2017-08-03 00:00:00+00:00	2621.33159	      241.093355	      0.8	                 2312.180802	                      2930.482379	                     2312.180802	                     2930.482379

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

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

解釋預測結果

SQL

您可以使用 ML.EXPLAIN_FORECAST 函式,除了預測資料之外,還能取得可解釋指標。ML.EXPLAIN_FORECAST 函式可預測未來的時間序列值,並傳回時間序列的所有個別元件。

ML.FORECAST 函式類似,ML.EXPLAIN_FORECAST 函式中使用的 STRUCT(30 AS horizon, 0.8 AS confidence_level) 子句表示查詢會預測 30 個未來時間點,並產生 80% 信心等級的預測區間。

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

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

    前往 BigQuery

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

    SELECT
    *
    FROM
    ML.EXPLAIN_FORECAST(MODEL `bqml_tutorial.ga_arima_model`,
     STRUCT(30 AS horizon, 0.8 AS confidence_level));

    結果應如下所示:

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

    輸出資料列會依照 time_series_timestamp 欄值按時間排序。

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

BigQuery DataFrames

您可以使用 predict_explain 函式,除了預測資料之外,還可以取得可解釋指標。predict_explain 函式可預測未來的時間序列值,並傳回時間序列的所有個別元件。

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

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

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

ex_pred = model.predict_explain(horizon=30, confidence_level=0.8)

print(ex_pred.head(4))
# Expected output:
#       time_series_timestamp	  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	  2016-08-01 00:00:00+00:00	      history	             1711.0	               505.716474	           206.939556	         <NA>	                    <NA>	                            <NA>	               0.0	           <NA>	                        <NA>	                     <NA>	                 169.611938	                  <NA>	                <NA>	            <NA>	       1205.283526	   336.104536
# 1	  2016-08-02 00:00:00+00:00	      history	             2140.0	               623.137701	           206.939556	         <NA>	                    <NA>	                            <NA>	            336.104428	       <NA>	                        <NA>	                     <NA>	                 287.033273	                  <NA>	                <NA>	            <NA>	       1205.283526	   311.578773
# 2	  2016-08-03 00:00:00+00:00	      history	             2890.0	               1008.655091	           206.939556	         <NA>	                    <NA>	                            <NA>	            563.514213	       <NA>	                        <NA>	                     <NA>	                 445.140878	                  <NA>	                <NA>	            <NA>	       1205.283526	   676.061383
# 3	  2016-08-04 00:00:00+00:00	      history	             3161.0	               1389.40959	           206.939556	         <NA>	                    <NA>	                            <NA>	            986.317236	       <NA>	                        <NA>	                     <NA>	                 403.092354	                  <NA>	                <NA>	            <NA>	       1205.283526	   566.306884
# 4	  2016-08-05 00:00:00+00:00	      history	             2702.0	               1394.395741	           206.939556	         <NA>	                    <NA>	                            <NA>	            1248.707386	       <NA>	                        <NA>	                     <NA>	                 145.688355	                  <NA>	                <NA>	            <NA>	       1205.283526	   102.320733
# 5	  2016-08-06 00:00:00+00:00	      history	             1663.0	               437.09243	           206.939556	         <NA>	                    <NA>	                            <NA>	            1188.59004	       <NA>	                        <NA>	                     <NA>	                 -751.49761	                  <NA>	                <NA>	            <NA>	       1205.283526	    20.624044

如果您想以視覺化方式呈現結果,可以使用 Looker Studio 按照「以視覺化方式呈現輸入資料」一節的說明建立圖表,並使用下列欄做為指標:

  • time_series_data
  • prediction_interval_lower_bound
  • prediction_interval_upper_bound
  • trend
  • seasonal_period_weekly
  • step_changes

清除所用資源

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

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

刪除資料集

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

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

    前往「BigQuery」頁面

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

  3. 按一下視窗右側的「Delete dataset」。這個動作將會刪除資料集、資料表,以及所有資料。

  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.

後續步驟