
Exploratoryのアナリティクス・ビューで作成したProphetの時系列予測モデルの結果を、元々手元にある別の時系列データ(実績や目標など)に重ね合わせて可視化する方法を紹介します。予測データをエクスポートして結合する簡単な方法と、データの連続性・再現性を担保するブランチを使った方法の2つのアプローチを解説します。
売上や需要などの時系列データをモニターしながら、その予測結果を実績や目標といった他の指標と一緒に可視化したい方に役立ちます。
営業の売上と目標を月ごとにモニターしているようなケースで、そこにProphetの予測結果も重ねて表示したいことがあります。

しかしアナリティクス・ビューで作成したProphetの予測モデルの実行結果には、予測に利用した列のみを含むため、そのままではチャートに重ね合わせることができません。
そこで、手元のデータと予測結果を1つのチャートで同時に見るアプローチを取ればよいかが課題になります。
営業担当者が月ごとの売上をモニターし、あわせて目標値も並べて追いかけるといったシナリオはよくあります。
ExploratoryではProphetという時系列の予測モデルを使うと簡単に予測モデルを作れますが、アナリティクス・ビューで作成したProphetの予測結果はそのままではチャートに重ね合わせることができません。
そこで、アナリティクス・ビューで予測した結果を元のデータに結合するという方法を取ります。
具体的なアプローチは2つあります。
1つ目は、アナリティクス・ビューで作成した予測データをデータフレームとしてエクスポートし、それを元のデータに結合する方法です。手軽ですが、エクスポートした時点でデータの連続性や再現性は失われます。
2つ目は、元のデータからブランチを作成し、ブランチ側でステップとしてProphetの予測を実行してから結合する方法です。データが継続的に更新されるようなケースでも、処理を再現・自動化できます。
今回は1行が1つの月を表すデータを利用します。

列には売上と目標の情報を持っており、過去の行には売上の実績が、未来の行には目標値が入っています。未来の売上はまだ分からないため欠損値になっています。

まずは手元のデータに対してProphetの予測モデルを作成します。
アナリティクス・ビューに移動して、タイプに時系列予測のProphetを選択し、今回は月ごとに見たいので、日付の列である注文日を月の単位で丸め処理として指定し、値には売上を選択します。

なお、今回のように、データ上に未来の行があり、実測値(売上)が欠損している行がある場合、このままPropehtを実行すること、予測結果が途中から急落して底を張ったような不自然な形になることがあります。
そのため、アナリティクス・フィルタから売上が欠損値になっている行を除きます。

アナリティクス・フィルタで売上の列に対して「欠損値を除く」を選択し、実行ボタンをクリックします。

これで実際に売上のデータがある期間だけで予測モデルが実行され、正しい予測結果が得られるようになります。
12ヶ月分の予測をしたい場合は、設定のギアアイコンをクリックして予測期間を12ヶ月に指定し、適用ボタンをクリックします。

これで12ヶ月分の予測ができました。

得られた予測結果を元のデータに結合するために、まずは予測データをデータフレームとして書き出します。
画面を下の方にスクロールすると予測データのセクションがあり、このテーブルをチャートデータとしてエクスポートできます。エクスポートボタンをクリックし、「チャートデータを新規データフレームとして保存」を選択します。

任意の名前を設定して(今回は売上予測という名前を設定しています)、データフレームとして保存すると、売上予測というデータフレームが生成されます。

月ごとの売上に加えてForecasted Value(予測値)という列が付いていることが確認できます。
ただし、Prophetを実行したデータをエクスポートすると予測に使われたデータしか含まれないため、目標値の列はこのデータには入ってきません。そこで、この予測データを元のデータに結合します。
エクスポートした予測値を、目標値を含む元のデータに結合して1つのデータにまとめるために、元の月間売上のデータに戻ります。

次に、「注文日」の列ヘッダーメニューから結合を選択します。

結合先のデータフレームで先ほどエクスポートした売上予測のデータフレームを選択します。今回は注文日という同じ列名が存在するため、自動的にキーがマッピングされます。

必要なのは予測値だけなので、「結合する列を選択」という緑色のテキストをクリックします。

Forecasted Value(予測値)だけを選択してOKボタンを実行ボタンをクリックします。

これで売上・目標・予測値の3つの列を持ったデータを作ることができます。

作成したデータを使って、あらかじめ作成しておいた売上と目標のチャートに予測値を重ねます。
チャート・ビューに移動し、ステップのピンを結合したステップに移動します。

値のところにForecasted Value(予測値)を選択すると、売上・目標に加えて予測値がチャートに重なって表示されます。

凡例の表示名を分かりやすくしたい場合は、値の3本線のメニューから列名の編集を選びます。

表示名「予測値」などに変更します。

これで、実績の売上・目標・Prophetの予測値を1つのチャートに重ねて可視化できました。

方法1ではデータが更新されるたびに予測をやり直す手間があり、エクスポートした時点で再現性が失われます。そこで、ブランチとステップを使って再現可能な形に組み替えます。
このメインのデータフレーム を使ってProphetを実行すると目標値が消えてしまいます。そのため、データソースのステップからブランチを作成します。

今回は、特に名前は設定せず、そのまま作成をクリックすします。

すると、ブランチがが作成されます。

ブランチ側では売上の欠損値を除く必要があるので、「売上」の列ヘッダーメニューからフィルターを選択し、欠損値を除くようにします。

これで売上が実績としてあるデータだけが残ります。
続いてステップメニューをクリックし、アナリティクスのメニューから時系列予測のProphetを選択します。

ここで選択するメニューはアナリティクス・ビューと変わりません。
右側のパラメーターがアナリティクス・ビューのギアアイコンで設定した内容と同じなので、日付/時間に注文日を選択し、月で丸めた上で、値に売上を選択します。

さらに、予測期間には「12」を指定して実行します。

これで元のデータになかった最後の12ヶ月分の予測がデータに追加されます。

ブランチで作成した予測データを、無効化しておいた結合ステップの結合先に差し替えます。
先ほど無効化した結合のステップを有効化し、結合のステップを開き直して、結合先のデータフレームを新しく作成したブランチのデータフレームに変更します。

データの紐付けが変わったため、再度「結合する列を選択」の緑色のテキストをクリックします。

Forecasted Value(予測値)だけを選択してOKボタンをクリックし、実行ボタンをクリックします。

先程と同様に、売上・目標・予測値の3つの列を持ったデータを作ることができます。

チャートビューに戻り、ピンを結合後のステップに合わせると、売上・目標・予測値の3つの列を持ったデータを作ることができます。

これで、データが更新されても同じ処理を繰り返し再現できる形で、売上・目標・予測値の3つの指標を同時に可視化できるようになりました。