Skip to content

Instantly share code, notes, and snippets.

@myoshimu
Created March 10, 2021 02:08
Show Gist options
  • Save myoshimu/728f47b319907afef35fb021c0cd4d81 to your computer and use it in GitHub Desktop.
Save myoshimu/728f47b319907afef35fb021c0cd4d81 to your computer and use it in GitHub Desktop.
ga4_tutorial
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "ga4_tutorial",
"provenance": [],
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/myoshimu/728f47b319907afef35fb021c0cd4d81/ga4_tutorial.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "ufnRHzX6NKqi"
},
"source": [
"---\n",
"```\n",
"Copyright 2019 Google LLC\n",
"\n",
"Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License. You may obtain a copy of the License at\n",
"\n",
"https://www.apache.org/licenses/LICENSE-2.0\n",
"\n",
"Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.\n",
"```\n",
"---"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "dB30suHhNvix"
},
"source": [
"# 概要\n",
"このノートブックでは、BigQuery エクスポートされた GA4 のデータで時系列分析を行うモデル作成をおこないます。\n",
"\n",
"\n",
"### 費用\n",
"\n",
"このチュートリアルでは、Google BigQuery および BigQuery ML を使います。金額について詳細は [BigQuery ML pricing](https://cloud.google.com/bigquery-ml/pricing) [Pricing\n",
"Calculator](https://cloud.google.com/products/calculator/)\n",
"を参照ください。"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "5XV4Oxm3DmrX"
},
"source": [
""
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "1FlmhAvVOPq6"
},
"source": [
"### 事前準備\n",
"\n",
"**このノートブックを実行するには事前に次の手順が必要です。**\n",
"\n",
"1. [GCP プロジェクトの作成もしくは選択](https://console.cloud.google.com/cloud-resource-manager). 最初にアカウントを作成すると、300ドルの無料クレジットが付与されます。\n",
"\n",
"2. [課金設定を有効にします](https://cloud.google.com/billing/docs/how-to/modify-project)\n",
"\n",
"3. [BigQuery API](https://console.cloud.google.com/flows/enableapi?apiid=bigquery) を有効にします。\n",
"\n",
"4. 下のセルを実行し、Google アカウントでログインして表示されるキーをセルに入力します。\n",
"\n",
"5. 「プロジェクト変数の設定」のセルにご自身のBigQueryプロジェクトIDとデータセット名を入力してください。"
]
},
{
"cell_type": "code",
"metadata": {
"id": "4XokJlWcZXxV"
},
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import sys\n",
"from google.cloud import bigquery\n",
"from google.colab import auth\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns"
],
"execution_count": 2,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "iLAZypbW8aEm"
},
"source": [
"auth.authenticate_user()"
],
"execution_count": 3,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "LWhL7HaQBbFE"
},
"source": [
"#@title プロジェクト変数の設定 { run: \"auto\", display-mode: \"form\" }\n",
"project_id = '' #@param {type:\"string\"}\n",
"dataset = \"\" #@param {type:\"string\"}\n",
"client = bigquery.Client(project=project_id)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "sMQ90bpeBDrI"
},
"source": [
"まず、モデルを保存するためのデータセットが必要になります。 (エラーが発生した場合は、BigQueryコンソールから\"bqml\"というデータセットを作成してください)。"
]
},
{
"cell_type": "code",
"metadata": {
"id": "C_YFn7ArBF6X"
},
"source": [
"%%bash -s \"$project_id\"\n",
"\n",
"gcloud config set project $1\n",
"bq --location=US mk -d bqml"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "-f_B_RipzoOz"
},
"source": [
"## 基本的なSQL\n",
"\n",
"BigQueryではANSI 標準 SQL 2011 をサポートしており、他のDBのように以下のような形式で表をクエリすることが可能です。\n",
"```\n",
"SELECT \n",
" column1,\n",
" column2\n",
" :\n",
"FROM\n",
" projectid.analytics_xxxxx.events_xxxxx\n",
"```\n",
"\n",
"また、SQLを以下のようなマジックコマンドで記述することで、Pandas のデータフレームとしてノートブックで扱うことが可能になります。上記で入力したデータセット名を変数「dataset」としてSQLにわたしています。"
]
},
{
"cell_type": "code",
"metadata": {
"id": "psa0aKecznmW",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 366
},
"outputId": "0f88e671-e70c-4ccd-f894-e2b7b0384808"
},
"source": [
"# 2021/03/01 のデータを確認\n",
"query = '''\n",
"SELECT * \n",
"FROM `%s.%s.events_20210301`\n",
"LIMIT 20\n",
"'''\n",
"df = client.query(query % (project_id,dataset)).to_dataframe()\n",
"df.head(3)"
],
"execution_count": 190,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>event_date</th>\n",
" <th>event_timestamp</th>\n",
" <th>event_name</th>\n",
" <th>event_params</th>\n",
" <th>event_previous_timestamp</th>\n",
" <th>event_value_in_usd</th>\n",
" <th>event_bundle_sequence_id</th>\n",
" <th>event_server_timestamp_offset</th>\n",
" <th>user_id</th>\n",
" <th>user_pseudo_id</th>\n",
" <th>user_properties</th>\n",
" <th>user_first_touch_timestamp</th>\n",
" <th>user_ltv</th>\n",
" <th>device</th>\n",
" <th>geo</th>\n",
" <th>app_info</th>\n",
" <th>traffic_source</th>\n",
" <th>stream_id</th>\n",
" <th>platform</th>\n",
" <th>event_dimensions</th>\n",
" <th>ecommerce</th>\n",
" <th>items</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>20210301</td>\n",
" <td>1614556800000000</td>\n",
" <td>new_recent_active_user</td>\n",
" <td>[{'key': 'ga_session_number', 'value': {'strin...</td>\n",
" <td>None</td>\n",
" <td>None</td>\n",
" <td>1463140352</td>\n",
" <td>None</td>\n",
" <td>None</td>\n",
" <td>112392101.1614621008</td>\n",
" <td>[]</td>\n",
" <td>1614621008370797</td>\n",
" <td>{'revenue': 0.0, 'currency': 'USD'}</td>\n",
" <td>{'category': 'mobile', 'mobile_brand_name': 'A...</td>\n",
" <td>{'continent': 'Americas', 'country': 'United S...</td>\n",
" <td>None</td>\n",
" <td>{'name': '1009693 | Google Analytics Demo | DR...</td>\n",
" <td>1600198309</td>\n",
" <td>WEB</td>\n",
" <td>None</td>\n",
" <td>None</td>\n",
" <td>[]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>20210301</td>\n",
" <td>1614621008370797</td>\n",
" <td>first_visit</td>\n",
" <td>[{'key': 'ga_session_number', 'value': {'strin...</td>\n",
" <td>None</td>\n",
" <td>None</td>\n",
" <td>1067883629</td>\n",
" <td>None</td>\n",
" <td>None</td>\n",
" <td>112392101.1614621008</td>\n",
" <td>[]</td>\n",
" <td>1614621008370797</td>\n",
" <td>{'revenue': 0.0, 'currency': 'USD'}</td>\n",
" <td>{'category': 'mobile', 'mobile_brand_name': 'A...</td>\n",
" <td>{'continent': 'Americas', 'country': 'United S...</td>\n",
" <td>None</td>\n",
" <td>{'name': '1009693 | Google Analytics Demo | DR...</td>\n",
" <td>1600198309</td>\n",
" <td>WEB</td>\n",
" <td>None</td>\n",
" <td>None</td>\n",
" <td>[]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>20210301</td>\n",
" <td>1614621008370797</td>\n",
" <td>session_start</td>\n",
" <td>[{'key': 'ga_session_number', 'value': {'strin...</td>\n",
" <td>None</td>\n",
" <td>None</td>\n",
" <td>1067883629</td>\n",
" <td>None</td>\n",
" <td>None</td>\n",
" <td>112392101.1614621008</td>\n",
" <td>[]</td>\n",
" <td>1614621008370797</td>\n",
" <td>{'revenue': 0.0, 'currency': 'USD'}</td>\n",
" <td>{'category': 'mobile', 'mobile_brand_name': 'A...</td>\n",
" <td>{'continent': 'Americas', 'country': 'United S...</td>\n",
" <td>None</td>\n",
" <td>{'name': '1009693 | Google Analytics Demo | DR...</td>\n",
" <td>1600198309</td>\n",
" <td>WEB</td>\n",
" <td>None</td>\n",
" <td>None</td>\n",
" <td>[]</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" event_date event_timestamp ... ecommerce items\n",
"0 20210301 1614556800000000 ... None []\n",
"1 20210301 1614621008370797 ... None []\n",
"2 20210301 1614621008370797 ... None []\n",
"\n",
"[3 rows x 22 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 190
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 204
},
"id": "59AX-rEvWGwB",
"outputId": "18419c12-b411-4a30-cdde-f25fee6fcc66"
},
"source": [
"# 特定日付範囲に起こったイベント名を確認。DISTINCTで重複排除\n",
"query = '''\n",
"SELECT DISTINCT event_name \n",
"FROM `%s.events_*` \n",
"WHERE _table_suffix BETWEEN '20210201' AND '20210301'\n",
"'''\n",
"client.query(query % (dataset)).to_dataframe().head()"
],
"execution_count": 17,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>event_name</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>new_recent_active_user</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>first_visit</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>user_engagement</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>scroll</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>campus_collection_user</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" event_name\n",
"0 new_recent_active_user\n",
"1 first_visit\n",
"2 user_engagement\n",
"3 scroll\n",
"4 campus_collection_user"
]
},
"metadata": {
"tags": []
},
"execution_count": 17
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 204
},
"id": "bZaXZWg7W_hS",
"outputId": "232d0fa9-5ec5-4a11-cb3d-5bcabd9bc140"
},
"source": [
"# UNNEST で イベントパラメータを参照(BQ コンソールで実行すると配列が列のように展開されます)\n",
"query = '''\n",
"SELECT event_name, params \n",
"FROM `%s.events_20210301` ,\n",
"UNNEST(event_params) as params\n",
"LIMIT 20\n",
"'''\n",
"client.query(query % (dataset)).to_dataframe().head()"
],
"execution_count": 18,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>event_name</th>\n",
" <th>params</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>new_recent_active_user</td>\n",
" <td>{'key': 'ga_session_number', 'value': {'string...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>new_recent_active_user</td>\n",
" <td>{'key': 'ga_session_id', 'value': {'string_val...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>new_recent_active_user</td>\n",
" <td>{'key': 'page_location', 'value': {'string_val...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>new_recent_active_user</td>\n",
" <td>{'key': 'page_title', 'value': {'string_value'...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>new_recent_active_user</td>\n",
" <td>{'key': 'synthetic_bundle', 'value': {'string_...</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" event_name params\n",
"0 new_recent_active_user {'key': 'ga_session_number', 'value': {'string...\n",
"1 new_recent_active_user {'key': 'ga_session_id', 'value': {'string_val...\n",
"2 new_recent_active_user {'key': 'page_location', 'value': {'string_val...\n",
"3 new_recent_active_user {'key': 'page_title', 'value': {'string_value'...\n",
"4 new_recent_active_user {'key': 'synthetic_bundle', 'value': {'string_..."
]
},
"metadata": {
"tags": []
},
"execution_count": 18
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 204
},
"id": "9_swNHnAdxut",
"outputId": "f2954250-6fcd-40e1-f550-56a6b0543c1c"
},
"source": [
"# イベントごとの件数確認\n",
"query = '''\n",
"SELECT event_name,\n",
"COUNT(event_name) as event_count\n",
"FROM `%s.events_*`\n",
"GROUP BY 1\n",
"ORDER BY 2 DESC\n",
"'''\n",
"client.query(query % (dataset)).to_dataframe().head()"
],
"execution_count": 40,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>event_name</th>\n",
" <th>event_count</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>page_view</td>\n",
" <td>2648654</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>user_engagement</td>\n",
" <td>1622025</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>scroll</td>\n",
" <td>778580</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>view_item</td>\n",
" <td>676412</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>session_start</td>\n",
" <td>548598</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" event_name event_count\n",
"0 page_view 2648654\n",
"1 user_engagement 1622025\n",
"2 scroll 778580\n",
"3 view_item 676412\n",
"4 session_start 548598"
]
},
"metadata": {
"tags": []
},
"execution_count": 40
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 142
},
"id": "UjYg0JEYeKjQ",
"outputId": "425a1ea6-045d-482d-e684-11b93c23aa10"
},
"source": [
"# デバイスごとの件数\n",
"query = '''\n",
"SELECT\n",
" platform, device.category,\n",
" COUNT(device.category) AS devicecount\n",
"FROM `%s.events_*`\n",
"GROUP BY 1,2\n",
"\n",
"'''\n",
"client.query(query % (dataset)).to_dataframe().head()"
],
"execution_count": 43,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>platform</th>\n",
" <th>category</th>\n",
" <th>devicecount</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>WEB</td>\n",
" <td>tablet</td>\n",
" <td>88930</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>WEB</td>\n",
" <td>desktop</td>\n",
" <td>6214613</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>WEB</td>\n",
" <td>mobile</td>\n",
" <td>1621758</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" platform category devicecount\n",
"0 WEB tablet 88930\n",
"1 WEB desktop 6214613\n",
"2 WEB mobile 1621758"
]
},
"metadata": {
"tags": []
},
"execution_count": 43
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 204
},
"id": "p3Hkbx_GXogJ",
"outputId": "95ce5ddd-130e-476c-a68f-bfbfa23b9b6b"
},
"source": [
"# 日別のユーザ数集計\n",
"query = '''\n",
"SELECT event_date,\n",
" COUNT( DISTINCT user_pseudo_id ) visitors\n",
"FROM `%s.events_*`\n",
"GROUP BY 1\n",
"ORDER BY 1\n",
"'''\n",
"client.query(query % (dataset)).to_dataframe().head()"
],
"execution_count": 45,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>event_date</th>\n",
" <th>visitors</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>20201008</td>\n",
" <td>4487</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>20201023</td>\n",
" <td>4904</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>20201024</td>\n",
" <td>3842</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>20201025</td>\n",
" <td>4332</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>20201026</td>\n",
" <td>5727</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" event_date visitors\n",
"0 20201008 4487\n",
"1 20201023 4904\n",
"2 20201024 3842\n",
"3 20201025 4332\n",
"4 20201026 5727"
]
},
"metadata": {
"tags": []
},
"execution_count": 45
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 204
},
"id": "gMRcyzRZcOcO",
"outputId": "bd6d13d9-0c92-465b-f218-f451408c3835"
},
"source": [
"# 日別のセッション数表示。ユーザIDとga_session_idを結合して一意のセッションID生成\n",
"query = '''\n",
"SELECT\n",
" event_date,\n",
" COUNT(DISTINCT\n",
" CONCAT(\n",
" user_pseudo_id, '-',\n",
" CAST((SELECT ep.value.int_value FROM UNNEST(event_params) ep WHERE ep.key = 'ga_session_id') AS string)\n",
" ) \n",
" ) AS sessions\n",
"FROM `%s.events_*`\n",
"GROUP BY 1\n",
"ORDER BY 1\n",
"'''\n",
"client.query(query % (dataset)).to_dataframe().head()"
],
"execution_count": 35,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>event_date</th>\n",
" <th>n_sessions</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>20201008</td>\n",
" <td>5120</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>20201023</td>\n",
" <td>5449</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>20201024</td>\n",
" <td>4259</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>20201025</td>\n",
" <td>4749</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>20201026</td>\n",
" <td>6405</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" event_date n_sessions\n",
"0 20201008 5120\n",
"1 20201023 5449\n",
"2 20201024 4259\n",
"3 20201025 4749\n",
"4 20201026 6405"
]
},
"metadata": {
"tags": []
},
"execution_count": 35
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 204
},
"id": "bYWBXE9adJxl",
"outputId": "8cbd16d3-f612-4cb4-d248-2a71bd989457"
},
"source": [
"# 日別のPV数表示\n",
"query = '''\n",
"SELECT\n",
" event_date,\n",
" COUNT(1) AS pageviews\n",
"FROM `%s.events_*` \n",
"WHERE event_name = 'page_view'\n",
"# AND _TABLE_SUFFIX BETWEEN '20210301' AND '20210311' \n",
"GROUP BY 1\n",
"ORDER BY 1\n",
"'''\n",
"client.query(query % (dataset)).to_dataframe().head()"
],
"execution_count": 36,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>event_date</th>\n",
" <th>pageviews</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>20201008</td>\n",
" <td>25823</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>20201023</td>\n",
" <td>17321</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>20201024</td>\n",
" <td>12480</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>20201025</td>\n",
" <td>13958</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>20201026</td>\n",
" <td>19446</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" event_date pageviews\n",
"0 20201008 25823\n",
"1 20201023 17321\n",
"2 20201024 12480\n",
"3 20201025 13958\n",
"4 20201026 19446"
]
},
"metadata": {
"tags": []
},
"execution_count": 36
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "TJphDW5abpA4"
},
"source": [
"## BQML で時系列分析\n",
"このセクションでは、GA4 の過去時系列データから、将来のPV数を予測しています。なお、ここではevent_timestampを日本時間にあわせるためDATE関数を使っています"
]
},
{
"cell_type": "code",
"metadata": {
"id": "ENbK4vyL64EZ"
},
"source": [
"# 日別のPV数をクエリ\n",
"query = '''\n",
"SELECT\n",
" DATE(timestamp_micros(event_timestamp), 'Asia/Tokyo') AS date,\n",
" COUNT(1) AS pageviews\n",
"FROM `%s.events_*` \n",
"WHERE event_name = 'page_view'\n",
"AND _TABLE_SUFFIX BETWEEN '20201001' AND '20210303' \n",
"GROUP BY 1\n",
"ORDER BY 1\n",
"'''\n",
"df = client.query(query % (dataset)).to_dataframe()"
],
"execution_count": 160,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "77E25TmWZL9z",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 204
},
"outputId": "a58f8ee0-202d-4762-c682-0d25a9e4dd6c"
},
"source": [
"df.tail()"
],
"execution_count": 161,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>date</th>\n",
" <th>pageviews</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>130</th>\n",
" <td>2021-02-28</td>\n",
" <td>35630</td>\n",
" </tr>\n",
" <tr>\n",
" <th>131</th>\n",
" <td>2021-03-01</td>\n",
" <td>21003</td>\n",
" </tr>\n",
" <tr>\n",
" <th>132</th>\n",
" <td>2021-03-02</td>\n",
" <td>32052</td>\n",
" </tr>\n",
" <tr>\n",
" <th>133</th>\n",
" <td>2021-03-03</td>\n",
" <td>33221</td>\n",
" </tr>\n",
" <tr>\n",
" <th>134</th>\n",
" <td>2021-03-04</td>\n",
" <td>22060</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" date pageviews\n",
"130 2021-02-28 35630\n",
"131 2021-03-01 21003\n",
"132 2021-03-02 32052\n",
"133 2021-03-03 33221\n",
"134 2021-03-04 22060"
]
},
"metadata": {
"tags": []
},
"execution_count": 161
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "VFRv5DgbCVBA"
},
"source": [
"### 予測する時系列を可視化する\n",
"セッションが時系列でどのように表示されるかを確認しておきましょう。"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 282
},
"id": "ijv_lZV4CAlw",
"outputId": "26959dd2-635a-4057-9fc9-dcffa252bcde"
},
"source": [
"df[\"pageviews\"].plot(figsize=(15,4))"
],
"execution_count": 162,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f853f1fca10>"
]
},
"metadata": {
"tags": []
},
"execution_count": 162
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 1080x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "E4cTePIkb8Yd"
},
"source": [
"### 時系列モデルを作成する\n",
"次に、Google アナリティクス 360 のデータを使用して時系列モデルを作成します。次の標準 SQL クエリで、sessions の予測に使用するモデルを作成します。\n",
"\n",
"CREATE MODEL 句で bqml.arima_model という名前のモデルを作成してトレーニングします。\n",
"\n",
"OPTIONS(model_type='ARIMA', time_series_timestamp_col='date', ...) 句で ARIMA ベースの時系列モデルを作成しています。デフォルトは auto_arima=TRUE であるため、auto.ARIMA アルゴリズムによってハイパーパラメータが自動的に調整されます。アルゴリズムが多数の候補モデルを学習し、AIC が最も低い最適なモデルを選択します。また、data_frequency='AUTO_FREQUENCY' がデフォルトのため、トレーニングプロセスでは入力時系列のデータ頻度が自動的に推定されます。"
]
},
{
"cell_type": "code",
"metadata": {
"id": "oauym3lRKv4g",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "ff7a4954-352a-4ebb-cd4c-0e23e3171f94"
},
"source": [
"query = '''\n",
"#standardSQL\n",
"CREATE OR REPLACE MODEL bqml.arima_model\n",
"OPTIONS\n",
" (model_type = 'ARIMA',\n",
" time_series_timestamp_col = 'date',\n",
" time_series_data_col = 'pageviews'\n",
" ) AS\n",
"SELECT\n",
" DATE(timestamp_micros(event_timestamp), 'Asia/Tokyo') AS date,\n",
" COUNT(1) AS pageviews\n",
"FROM `%s.events_*` \n",
"WHERE event_name = 'page_view'\n",
"AND _TABLE_SUFFIX BETWEEN '20201001' AND '20210303' \n",
"GROUP BY 1\n",
"ORDER BY 1\n",
"'''\n",
"client.query(query % (dataset))"
],
"execution_count": 163,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<google.cloud.bigquery.job.QueryJob at 0x7f853e0d6890>"
]
},
"metadata": {
"tags": []
},
"execution_count": 163
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "brl7V0kuDV3p"
},
"source": [
"## 評価されたすべてのモデルの評価指標を調べる\n",
"モデルを作成した後、ML.EVALUATE 関数を使用すると、ハイパーパラメータの自動調整中に評価されたすべての候補モデルの評価指標を確認できます。\n",
"\n",
"次の SQL の FROM 句では、モデル bqml.arima_model に ML.EVALUATE 関数を使用しています。"
]
},
{
"cell_type": "code",
"metadata": {
"id": "Ii9j4rSCvD61",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 204
},
"outputId": "00a4975a-9af7-4455-fd5c-0d83954a4135"
},
"source": [
"query = \"\"\"\n",
"#standardSQL\n",
"SELECT\n",
" *\n",
"FROM\n",
" ML.EVALUATE(MODEL `bqml.arima_model`)\n",
" \"\"\"\n",
"df = client.query(query).to_dataframe()\n",
"df.head()"
],
"execution_count": 164,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>non_seasonal_p</th>\n",
" <th>non_seasonal_d</th>\n",
" <th>non_seasonal_q</th>\n",
" <th>has_drift</th>\n",
" <th>log_likelihood</th>\n",
" <th>AIC</th>\n",
" <th>variance</th>\n",
" <th>seasonal_periods</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>False</td>\n",
" <td>-1162.152972</td>\n",
" <td>2336.305944</td>\n",
" <td>368648.497306</td>\n",
" <td>[WEEKLY]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>False</td>\n",
" <td>-1163.072036</td>\n",
" <td>2338.144073</td>\n",
" <td>377617.550664</td>\n",
" <td>[WEEKLY]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>True</td>\n",
" <td>-1162.152708</td>\n",
" <td>2338.305416</td>\n",
" <td>368637.758329</td>\n",
" <td>[WEEKLY]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>True</td>\n",
" <td>-1163.073934</td>\n",
" <td>2340.147869</td>\n",
" <td>377625.011638</td>\n",
" <td>[WEEKLY]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>False</td>\n",
" <td>-1173.402006</td>\n",
" <td>2348.804013</td>\n",
" <td>450857.590590</td>\n",
" <td>[WEEKLY]</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" non_seasonal_p non_seasonal_d ... variance seasonal_periods\n",
"0 1 1 ... 368648.497306 [WEEKLY]\n",
"1 3 1 ... 377617.550664 [WEEKLY]\n",
"2 1 1 ... 368637.758329 [WEEKLY]\n",
"3 3 1 ... 377625.011638 [WEEKLY]\n",
"4 0 1 ... 450857.590590 [WEEKLY]\n",
"\n",
"[5 rows x 8 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 164
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "eHD3DFSzTwQl"
},
"source": [
"結果には次の列が含まれます。\n",
"\n",
"* non_seasonal_p\n",
"* non_seasonal_d\n",
"* non_seasonal_q\n",
"* has_drift\n",
"* log_likelihood\n",
"* AIC\n",
"* variance\n",
"* seasonal_periods \n",
"\n",
"non_seasonal_{p,d,q} と has_driftで ARIMA モデルを定義します。その後の 3 つの指標(log_likelihood、AIC、variance)は ARIMA モデルの適合プロセスに関連しています。\n",
"\n",
"最初の行のモデルは AIC が最も低く、最適なモデルとみなされます。この最適モデルが最終モデルとして保存され、次に示すように ML.FORECAST と ML.ARIMA_COEFFICIENTS を呼び出すときに使用されます。"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "OIZJQgNZT_MT"
},
"source": [
"### モデルを使用して時系列を予測する\n",
"ML.FORECAST 関数は、モデル bqml_tutorial.ga_arima_model を使用して予測間隔で将来の時系列値を予測します。\n",
"\n",
"次の標準 SQL クエリでは、STRUCT(30 AS horizon, 0.8 AS confidence_level) 句は 30 個の将来の時点を予測し、信頼度 80% の予測間隔を生成します。ML.FORECAST は、モデルとオプションの引数を受け取ります。"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 309
},
"id": "fznq5YtdUDR0",
"outputId": "17c5bc33-fdd2-46f1-f8b3-57b950640790"
},
"source": [
"query = \"\"\"\n",
"#standardSQL\n",
"SELECT\n",
" *\n",
"FROM\n",
" ML.FORECAST(MODEL bqml.arima_model,\n",
" STRUCT(30 AS horizon, 0.8 AS confidence_level))\n",
" \"\"\"\n",
"df = client.query(query).to_dataframe()\n",
"df.head()"
],
"execution_count": 165,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>forecast_timestamp</th>\n",
" <th>forecast_value</th>\n",
" <th>standard_error</th>\n",
" <th>confidence_level</th>\n",
" <th>prediction_interval_lower_bound</th>\n",
" <th>prediction_interval_upper_bound</th>\n",
" <th>confidence_interval_lower_bound</th>\n",
" <th>confidence_interval_upper_bound</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2021-03-06 00:00:00+00:00</td>\n",
" <td>2346.170052</td>\n",
" <td>611.119097</td>\n",
" <td>0.8</td>\n",
" <td>1562.540196</td>\n",
" <td>3129.799907</td>\n",
" <td>1562.540196</td>\n",
" <td>3129.799907</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2021-03-07 00:00:00+00:00</td>\n",
" <td>700.934989</td>\n",
" <td>999.148309</td>\n",
" <td>0.8</td>\n",
" <td>-580.259543</td>\n",
" <td>1982.129521</td>\n",
" <td>-580.259543</td>\n",
" <td>1982.129521</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2021-03-08 00:00:00+00:00</td>\n",
" <td>1801.936781</td>\n",
" <td>1239.630815</td>\n",
" <td>0.8</td>\n",
" <td>212.374743</td>\n",
" <td>3391.498819</td>\n",
" <td>212.374743</td>\n",
" <td>3391.498819</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2021-03-09 00:00:00+00:00</td>\n",
" <td>2439.659224</td>\n",
" <td>1506.336466</td>\n",
" <td>0.8</td>\n",
" <td>508.104092</td>\n",
" <td>4371.214356</td>\n",
" <td>508.104092</td>\n",
" <td>4371.214356</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2021-03-10 00:00:00+00:00</td>\n",
" <td>3290.250399</td>\n",
" <td>1813.498281</td>\n",
" <td>0.8</td>\n",
" <td>964.825775</td>\n",
" <td>5615.675024</td>\n",
" <td>964.825775</td>\n",
" <td>5615.675024</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" forecast_timestamp ... confidence_interval_upper_bound\n",
"0 2021-03-06 00:00:00+00:00 ... 3129.799907\n",
"1 2021-03-07 00:00:00+00:00 ... 1982.129521\n",
"2 2021-03-08 00:00:00+00:00 ... 3391.498819\n",
"3 2021-03-09 00:00:00+00:00 ... 4371.214356\n",
"4 2021-03-10 00:00:00+00:00 ... 5615.675024\n",
"\n",
"[5 rows x 8 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 165
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "jamUujE_ULcQ"
},
"source": [
"結果には次の列が含まれます。\n",
"\n",
"* forecast_timestamp\n",
"* forecast_value\n",
"* standard_error\n",
"* confidence_level\n",
"* prediction_interval_lower_bound\n",
"* prediction_interval_upper_bound\n",
"* confidence_interval_lower_bound\n",
"* confidence_interval_upper_bound\n",
"\n",
"出力行は forecast_timestamp の日付順に表示されます。時系列予測の場合、予測間隔は forecast_value と同じくらい重要です。forecast_value は予測間隔の中間点です。予測間隔は standard_error と confidence_level によって異なります。"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "uZ2NjMDgUOnS"
},
"source": [
"### 予測結果を可視化する\n",
"時系列の予測結果をすぐに評価できるようにするには、予測時系列と履歴時系列を可視化します。次のクエリに示すように、履歴時系列と予測時系列を連結します。\n",
"\n",
"UNION ALL 句の前の SQL で履歴時系列を作成します。UNION ALL 句の後の SQL で、ML.FORECAST を使用して予測時系列と予測間隔を生成します。このクエリでは、history_value と forecasted_value に異なるフィールドを使用して、それぞれを異なる色で表示しています。"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 204
},
"id": "ZWiUfjkNA_H_",
"outputId": "e34a97ae-4ec6-4bcd-9bea-2f091ebfb012"
},
"source": [
"query = \"\"\"\n",
"SELECT\n",
" history_timestamp AS timestamp,\n",
" history_value,\n",
" NULL AS forecast_value,\n",
" NULL AS prediction_interval_lower_bound,\n",
" NULL AS prediction_interval_upper_bound\n",
"FROM\n",
" (\n",
" SELECT DATE(timestamp_micros(event_timestamp), 'Asia/Tokyo') AS history_timestamp,\n",
" COUNT(1) AS history_value\n",
" FROM `ga4.events_*`\n",
" WHERE event_name = 'page_view'\n",
" AND _TABLE_SUFFIX BETWEEN '20201001' AND '20210303' \n",
" GROUP BY 1\n",
" ORDER BY 1\n",
" )\n",
"UNION ALL\n",
"SELECT\n",
" CAST(forecast_timestamp AS DATE) AS timestamp,\n",
" NULL AS history_value,\n",
" forecast_value,\n",
" prediction_interval_lower_bound,\n",
" prediction_interval_upper_bound\n",
"FROM\n",
" ML.FORECAST(MODEL bqml.arima_model,\n",
" STRUCT(30 AS horizon, 0.8 AS confidence_level))\n",
" ORDER BY 1 ASC\n",
" \"\"\"\n",
"df = client.query(query).to_dataframe()\n",
"df.head()"
],
"execution_count": 166,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>timestamp</th>\n",
" <th>history_value</th>\n",
" <th>forecast_value</th>\n",
" <th>prediction_interval_lower_bound</th>\n",
" <th>prediction_interval_upper_bound</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2020-10-08</td>\n",
" <td>9526.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2020-10-09</td>\n",
" <td>16297.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2020-10-23</td>\n",
" <td>4237.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2020-10-24</td>\n",
" <td>16584.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2020-10-25</td>\n",
" <td>12341.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" timestamp ... prediction_interval_upper_bound\n",
"0 2020-10-08 ... NaN\n",
"1 2020-10-09 ... NaN\n",
"2 2020-10-23 ... NaN\n",
"3 2020-10-24 ... NaN\n",
"4 2020-10-25 ... NaN\n",
"\n",
"[5 rows x 5 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 166
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "N_XQUwTIUU5h"
},
"source": [
"df2=df.loc[:,['history_value','forecast_value','prediction_interval_lower_bound','prediction_interval_upper_bound']]"
],
"execution_count": 167,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 282
},
"id": "Y1c4DWzPUXLk",
"outputId": "6b280950-840b-4bc8-e5cc-0a91a7913a5e"
},
"source": [
"df2.plot(figsize=(15,4))"
],
"execution_count": 168,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f853e0e07d0>"
]
},
"metadata": {
"tags": []
},
"execution_count": 168
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 1080x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "lO27xGv1Clgs"
},
"source": [
"### クリーンアップ\n",
"すべての作業が完了したら、以下のURLを参考に、プロジェクトを必要に応じてクリーンアップしてください。\n",
"https://cloud.google.com/go/getting-started/delete-tutorial-resources?hl=ja"
]
},
{
"cell_type": "code",
"metadata": {
"id": "E76_Msa5ILUt"
},
"source": [
""
],
"execution_count": null,
"outputs": []
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment