Count and Gamma Regression(カウントデータ分析とガンマ回帰)| Alteryx Predictive Tools 道場 Advent Calendar 2018 #23

こんにちは、にいのです。

当エントリは『Alteryx Predictive Tools 道場 Advent Calendar 2018』の23日目のエントリです。私のアドベントカレンダーの当番分はこれにて終了ですが、クリスマスまで残り2日間もPredictive Toolsで頭をいっぱいにしましょう!

クラスメソッド Alteryx Predictive Tools 道場 Advent Calendar 2018 - Qiita
Alteryx Predictive Tools 道場 Advent Calendar | シリーズ | DevelopersIO

前提条件

Alteryxは「Alteryx Designer / Version 2018.4」を利用しています。

サンプルワークフローとは?

Alteryxでは、Predictive Toolを使用したサンプルワークフローを参照することができます。[Help]→[Sample Workflows]→[Predictive Tool samples]→[Predictive Analytics]から参照可能です。参照にはAlteryx Predictive Tools with Rがインストールされている必要があります。今回は23.Count and Gamma Regressionを使用しています。

Count Regression ToolとGamma Regression Toolについて

今回登場するツールは以下の2つです。より詳細な説明は以下リンクをご確認ください。

Count Regression Tool

正の整数値(0,1,2,3など)の対象フィールド(対象変数)を、その対象に影響を与えると予想される1つ以上のフィールドに関連付ける回帰モデルを作成します。

Gamma Regression Tool

ターゲット変数に影響を及ぼすことが予想される1つまたは複数の変数(予測変数)に、ガンマ分布で厳密に正の関心のある変数(目標変数)を関連付けます。

サンプルワークフローを読み解く

ワークフローの全体図は以下の通りです。同一のインプットデータに対して、Count Regression ToolGamma Regression Toolの2つで結果を表示させています。

インプットデータ

自動車保険契約者の過去の保険金請求数と保険金の平均コスト、および保険契約者と保険の対象となる自動車に関する情報が含まれています。

Count Regression Tool

まずはCount Regression Toolの処理を確認していきましょう。設定内容は以下の通りです。目標変数を「NClaims(過去の請求件数)」に設定し、予測変数には「OwnerAge(契約者の年齢)」、「Model(車のモデル)」、「CarAge(車の経年数)」をセットします。

出力結果

今回の出力結果はPDF化されています。Result windowのリンクより参照可能です。

Count Regression Toolの出力結果は以下の通りです。Count Regression Toolには2種類のアウトプットがありますが、今回は要約、逸脱度のタイプII分析、基本診断プロットを表示させるRアンカーからの出力をPDF化しています。

Count Regression Toolで目標変数として指定しているのは「NClaims(過去の請求件数)」ですが、この値は半数以上が50件以下であるのに対し、ごく少数の契約者の請求数が300件以上となっているような、外れ値を持つデータです。線形回帰の場合、データは正規分布に基づいているという仮定がありますが、今回のデータのような件数データの場合は、ポアソン分布または負の2項分布のいずれかとなっていることが前提となっています。このケースでは、Count Regressionが有効です。

Coefficientsの欄を見てみましょう。「Estimate」は実際に予測された値を表します。例えば、目標変数として設定した「NClaims(過去の請求件数)」が1上がると、「Owner Age40-49(契約者年齢が40-49歳)」は約3上がります。「Pr(>|z|)」の数値の横の*は、該当の変数を使用しなくてもいいかどうかの指標となっています。「ModelD」と「CarAge4-7」はあまり重要ではない項目のようです。

Gamma Regression Tool

次にGamma Regression Toolです。目標変数として「AvCost(平均請求額)」を設定していますが、予測変数はCount Regression Toolと同様です。

出力結果

前項同様、レポート表示させるRアンカーからの出力結果をPDF化しています。「AvCost(平均請求額)」も前項の請求件数同様、大多数の契約者は平均請求額が低い傾向にある一方、少数はかなり多額となっています。今回のケースはガンマ分布に基づくデータとなっているため、Gamma Regression Toolで処理しています。

項目は前項と同様です。契約者の年齢はあまり重要ではなく、車のモデルの方が平均請求額に関連がありそうです。

おわりに

今回はCount Regression ToolとGamma Regression Toolのサンプルワークフローについてご紹介しました。ドキュメントが少ない分野ですので、少しでも参考になれば幸いです。明日は兼本による「Network Analysis (ネットワーク分析)」です。お楽しみに!

Alteryxの導入なら、クラスメソッドにおまかせください

日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。

alteryx_960x400