数学

Tableauで傾向線を再現してみる(後編)

こんにちは。分析官のA.K.です。前回に引き続き、今回もTableauで傾向線を引く方法を解説していきたいと思います。

前回はこちら↓

Tableauで傾向線を再現してみる(前編)こんにちは。分析官のA.K.です。今回はTableau上で傾向線を再現する方法を解説していきたいと思います。 前編では、傾向線の計算式...

前回パートでは、アナリティクス機能の紹介とデメリット、傾向線(単回帰直線)を引くために必要な値の解説を行いました。今回は実際にTableauで傾向線を引いていく手順を解説していきたいと思います。(データはサンプルスーパーストアのデータを使用します。)

必要な計算式の作成

傾向線を引くために下記の計算フィールドを作成します。(「//」の後ろが計算フィールド名、「[]」が計算の内容を表しています。)

//サブカテゴリごとの売上 [X]
{ FIXED [サブカテゴリ] : SUM([売上])}
//サブカテゴリごとの利益 [Y]
{ FIXED [サブカテゴリ] : SUM([利益])}
//COV(x,y) [XとYの共分散]
{ FIXED : COVAR([サブカテゴリごとの売上], [サブカテゴリごとの利益])}
//x_var [Xの分散]
{ FIXED : VAR([サブカテゴリごとの売上])}
//傾きa [a]
[COV(x,y)]/[x_var]
//x_mean [Xの平均値]
{ FIXED :AVG([サブカテゴリごとの売上])}
//y_mean [yの平均値]
{ FIXED :AVG([サブカテゴリごとの利益])}
//切片b [b]
[y_mean]-([傾きa]*[x_mean])
//単回帰直線 [y=ax+b]
(MAX([傾きa])*SUM([サブカテゴリごとの売上]))+MAX([b])

※すべての計算式は可視化する際のLODに合わせた計算式を使用してください。今回の場合は、サンプルスーパーストアのサブカテゴリ毎の売上・利益の合計を使用するため、上記のような計算式となっています。

単回帰直線の描画

あとは、適切な場所に計算フィールドを配置すれば、散布図の上に単回帰直線を引くことができます。まず[売上]と[利益]の合計を列・行に、[サブカテゴリ]を色に追加します。散布図が描けました。

次に先ほど作成した[単回帰直線]を行に追加して、二重軸の設定→軸の同期をします。追加した[単回帰直線]のマークを線に変更して、色に入っている[サブカテゴリ]を詳細に変更すれば完成です。

Tableauのアナリティクス機能で上から傾向線を書いてみても同じ値が算出されていることが分かります。(灰色の点線がアナリティクス機能の傾向線)

補足

傾向線を自分で引けると何が嬉しいかというと、傾向線の係数を計算で使用できるようになります。例えば、売上のパラメータを作成して下記のような計算フィールドを作成すると、売上が〇〇円になった時に利益がいくらくらいになりそうかの予測値をTableau上で可視化できるようになります。

まとめ

いかがでしたでしょうか。単回帰直線と聞くと難しそうと思うかもしれませんが、案外数式はシンプルで、分散とか共分散の計算は用意された関数を使用すれば、手軽に再現できてしまいます。
ただ、重回帰や指数を組み合わせた計算等となってくるとTableauだけで表現するのは難しくなってくるかなと思います。そういった場合には、TableauとPythonやRの連携する方法があるので、そちらを使用するのが良いかと思います。

A.K.
新米分析官。趣味は、釣り・サウナ。