GoogleAnalytics360の売上高予測モデルの精度を前処理・特徴エンジニアリングで改善する 2/2

1

4. モデルの再作成と評価

ここまでに述べた対応を行い、モデル作成クエリを再実行する。左赤の「google_analytics_train」が整形後の新しいテーブルで、このデータを基に、モデルの作成クエリを実行した。

図5:訓練用クエリの実行
図5:訓練用クエリの実行

クエリを実行した結果、「liner_reg_transaction_after」モデルが作成される。このモデルの精度を改めて確認する。

図6:前処理・特徴エンジニアリング後の誤差
図6:前処理・特徴エンジニアリング後の誤差
図7:前処理・特徴エンジニアリング前の誤差
図7:前処理・特徴エンジニアリング前の誤差

前回と比較して、Training Data Loss、Evaluation Data Lossが大きく低下していることがわかる。つまり、各ユーザの売上高予測の精度が高まった、ということだ。

5.データ整形の自動化

今回、前処理と特徴エンジニアリングがBigQueryMLでの精度に大きな影響を及ぼすことがわかった。※3

ただし、モデルを学習させる際、同じ精度を出すために本作業は必要となる。可能であればこの作業は自動化したいと思うだろう。そこで次回はBigQueryのデータに対し、自動的に前処理と特徴エンジニアリングを施す、Cloud Dataprepというツールを紹介する。

注釈
※1 時系列データでは見せかけの回帰の観点で、データの独立性に注視する必要がある。今回、日付の特徴を含むが、ランダムサンプリングしたユーザ単位のデータソースであること、機械学習において予測・判別を重視することから統計的視点での評価をおこなっていない。

※2 アルゴリズムによっては正規化を必要としない。例えば、決定木ベースのアルゴリズムは分岐を作ることで重みを決定するため、値の桁数を考慮しない。

※3 本項で行った特徴エンジニアリングが唯一の正解ではない。移動平均量の追加や、カテゴリをターゲットエンコーディングするなど、様々な手法があることに留意してほしい。

参考文献
BigQuery公式ドキュメント(2019/3/15現在)
https://cloud.google.com/bigquery/docs/bigqueryml-intro?authuser=19&hl=ja
時系列データへの回帰分析(2019/3/15現在)
https://logics-of-blue.com/time-series-regression/

邑川真也

執筆者 邑川真也

デジタルマーケティングの最適化を専門に行っています。
(デジタルマーケティング事業部 デジタルマーケティングコンサルタント)

お問い合わせ

当社のサービス・製品に関するご相談やご質問、お見積りのご依頼など、こちらからお問い合わせください。