「Predictive Analytics Using Rattle and Qlik Sense」(RattleとQlik Senseを使った予測分析)の書籍が発売されていますので、ここでご紹介させて頂きたいと思います。

Rattleとは、オープンソースの統計解析ソフトである「R」をコマンドラインではなく、GUI上の操作だけで統計解析やデータマイニングを実行できるようにするためのツールになります。

image

この書籍ではこのRattleとQlik Senseを利用して、予測分析やデータの可視化を行う手順がご紹介されています。

尚、RattleとQlik SenseのAPIやエクステンションを使った連携や、ロードスクリプトを使った連携などの内容についてはこの書籍では取り扱われていません。データ分析や統計のモデル化・最適化を試行錯誤で行おうとする個人ユーザーが、それぞれ個別のツールとしての特性を生かして活用していくに当たって参考になる内容となっているのではないかと思います。また、RattleもQlik Senseも無償で利用可能ですので、これらのツールを自分のPCに導入してこの書籍で紹介されている手順を参考にし、コストをかけずに試してみれるというメリットが大きいのではないかと思います。

書籍で紹介されている分析例としては、「小売業顧客データセット(Wholesale customers Data Set)」を利用したシナリオが説明されています。

まず、Qlik Senseではこのようなデータセットに、別途用意したマスタデータの付加などのデータ加工を施して以下のようなチャートを手早く作成することができます。

image

これらのチャートから、「チャネルや地域ごとの顧客数は?」、「平均単価は?」、「商品カテゴリごとの売上比率は?」といった切り口でデータ分析を行うことができます。

その上で次のステップとして、顧客セグメンテーション分析を行うためにRattleを利用します。この書籍ではRattleでK-Meansのクラスタ分析を行い、商品カテゴリ毎の購入額をインプットとして顧客を6つのクラスタに分けています。

image

ただ、そのクラスタ分析結果を活用して、インターアクティブに絞り込み条件などを変えて視覚化したり、分析結果を評価するなどの作業はRattle上では難しいですので、そこで再びQlik Senseを活用します。

Rattleでは元のデータセットに、「この顧客はどのセグメントに分類されたか?」というクラスタ分析の結果を付加してCSVに出力することができますので、そのCSVをQlik Senseに再度取り込み、以下の様にQlik Senseで「セグメント毎の商品カテゴリ別の購入額はどのようになっているか?」を棒グラフで表示したり、セグメントごとに色分けして顧客を散布図にプロットして分析を行うことができます。

image

K-Meansは教師なし学習のクラスタリング・アルゴリズムですが、教師あり学習の樹木モデル(rpart)についても信用リスク分析を使った例が当書籍に掲載されています。樹木モデルでは判別・予測モデルがIF-THENのルールで分類される決定木で表現することができますので、このモデルをQlik Senseのロードスクリプトの処理として置き換えることが出来るというのも興味深いアプローチかと思います。

image

また、線形回帰モデルを使った需要予測のシナリオも紹介されています。その例では、米国ワシントンD.Cの気象情報とレンタルバイク利用者数の情報を含む「バイク・シェアリング・データセット(Bike Sharing Dataset)」が利用されています。

まず、Qlik Senseではこのようなデータを取り込んでデータ探索を行い、全体的な傾向などを把握することができます。以下のQlik Senseで作成した棒グラフから、利用者数は曜日の影響は受けにくいですが、シーズンや月による変動は大きいことが把握できます。

image

また、以下の散布図や、気温をクラス分けして利用者数を集計した棒グラフから、気温と利用者数間に正の相関関係があることが全体像から把握できます。

image

次に、Rattleを利用して需要予測を行うための線形回帰モデルの作成をおこないます。以下はRattleで相関関係の分析を行った結果の画面になりますが、実際には相関関係の分析やモデル作成・評価・最適化の作業を反復的に行う形になるかと思います。

image

過去の履歴データをトレーニングデータとして評価、最適化を行いながらRattleでモデルの作成を行い、そこで作成したモデルを利用して将来の需要予測を行います。以下では、過去の履歴データとRattleによって作成された将来の需要予測データをQlik Senseに取り込み、それぞれ青線、赤線に色分けした折れ線グラフを使ってQlik Sense上で可視化しています。

image

以上が「Predictive Analytics Using Rattle and Qlik Sense」のご紹介になります。ご興味があるようでしたら一度ご参照ください。

Predictive Analytics Using Rattle and Qlik Sense [Kindle版]

<目次>

1: Getting ready with predictive analytics
2: Preparing your data
3: Exploring and understanding your data
4: Creating your first Qlik Sense application
5: Clustering and other unsupervised learning methods
6: Decision trees and other supervised learning methods
7: Model evaluation
8: Visualizations, data applications, dashboards, and data storytelling
9: Developing a complete application