Challenge #44: Inspire Europe ’16 Grand Prix (L3) ~ロジスティック回帰モデルの作成等~ – Alteryx Weekly Challenge

こんにちは。Alteryxサポートエンジニアとして勉強中のスズです。

当エントリは『Alteryx Weekly Challenge:Intermediate Level Advent Calendar 2018』の13日目です。

『Alteryx Weekly Challenge:Intermediate Level Advent Calendar 2018』では、Alteryx Communityで公開されているWeekly ChallengeのIntermediate Levelにひたすら1人で挑戦していきます。

今回はロジスティック回帰モデルの作成等に挑戦します。

動作環境

当エントリの執筆には、以下の環境を利用しています。

  • Windows 10 Pro
  • Alteryx Designer 2018.4.3.54046 英語版

Challenge #44: Inspire Europe '16 Grand Prix (L3)

お題

今回挑戦するお題はこちら。

「Input」側には2つのデータが用意されています。通常は「Output」側に答えとなるデータがありますが、今回は用意されていません。お題の説明に出力するデータの条件が記載されています。

  1. 事故に巻き込まれた車両数の平均を求める
  2. 最も事故が多いタイムバケットを求める
  3. 歩行者が事故にあった件数を求める
  4. 致命的な被害者の要因を特定するロジスティック回帰分析のモデルを作成
    P値が最も低いクラスと可能性が高い性別を求める

4つ目については、データ内に致命的な被害者の件数が少ないため、Over Sampleツールを使用して致命的な被害者の割合を50%にします。また、ロジスティック回帰分析のモデルを作成するために使用する変数は「Model Build Details」に記載されています。

解答の概要

今回作成するワーフクローは以下の通りです。

  1. Auto Fieldツールでデータ型を調整
  2. Summarizeツールで事故に巻き込まれた車両数の平均を求める
  3. Summarize、Sortツールで最も事故が多いタイムバケットを求める
  4. Summarizeツールで歩行者が事故にあった件数を求める
  5. Formula、Over Sample、Logistic Regressionツールでロジスティック回帰分析のモデルを作成

事故に巻き込まれた車両数の平均

用意されているデータの Metadata を確認すると、数字が入力されている列も文字列として認識されています。

まずはAuto Fieldツール(Preparation -> Auto Field)を使用して、データ型を修正します。

Data に表示を切り替え、「Reference Number」列を確認すると、番号が重複しているものがあります。

番号が重複しているものをまとめます。Summarizeツール(Transform -> Summarize)を使用して、「Reference Number」と「Number of Vehicles」列でグループ化します。

Summarizeツールを使用して、「Number of Vehicles」列の平均を出力します。

結果を確認して完成です。

最も事故が多いタイムバケット

Summarizeツールを追加し、Auto Fieldツールと接続します。前項と同様、重複しているものをまとめるため、「Reference Number」と「Time Bucket」列でグループ化します。

Summarizeツールを追加します。「Time Bucket」列でグループ化し、件数を出力します。

Sortツール(Preparation -> Sort)を使用して、「Count」列を降順で並べ替えます。

結果を確認します。一番上にある「Evening」が最も事故が多いタイムバケットになります。

歩行者が事故にあった件数

Summarizeツールを追加し、Auto Fieldツールと接続します。「Casualty Class」でグループ化、「Reference Number」列を CountDistinct で出力します。重複を数えずに件数を出力します。

歩行者(Pedestrian)が事故にあった件数を確認できました。

ロジスティック回帰分析のモデルを作成

Formulaツール(Preparation -> Formula)を追加し、Auto Fieldツールと接続します。新しく「Fatal」列をV_WString型で作成し、「Casualty Severity」列が「Fatal」(致命的)な場合は「y」を、「Fatal」以外の場合は「n」を出力するよう設定します。

Over Sampleツール(Preparation -> Over Sample)を使用して、致命的な被害者の割合を50%にします。「Fatal」列が「y」の場合に「50」(%)という設定をします。

ロジスティック回帰分析のモデルを作成するため、Logistic Regressionツール(Predictive -> Logistic Regression)を使用します。Select target variable に Fatal を指定し、Select target variable に「Model Build Details」に記載の列を選択します。

R の出力にBrowseツール(In/Out -> Browse)を接続し、ワークフローを実行してレポートを作成します。

P値が最も低いクラスは歩行者(Pedestrian)、可能性が高い性別は男性(Male)という結果になりました。

最後に

今回はWeekly ChallengeのChallenge #44: Inspire Europe '16 Grand Prix (L3)に挑戦しました。

明日もお楽しみに!

サンプルワークフローのご案内

クラスメソッドでご契約のユーザー様向けに、当ブログでご紹介したワークフローを専用ポータルにて公開しております。当エントリでご紹介したワークフローも公開予定ですので、ご参考にしていただきますと幸いです。

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

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

alteryx_960x400