2016年4月21日木曜日

SPSS ModelerでJリーグスタッツ分析(「データ読み込み」編)

 昨年11月に「第1回Jリーグトラッキングデータコンテスト」が開催されました。

「第1回Jリーグトラッキングデータコンテスト」
http://www.jleague.jp/special/trackingdata/

 こちら、Jリーグが2015シーズンより取得している走行距離・走行スピードなどのトラッキングデータを活用した「データ分析コンテスト」として話題を集めました。

最優秀賞は、米村俊亮さんの「サポラン」が獲得
http://www.soccer-king.jp/news/japan/jl/20151114/369958.html

〆切三日前にコンテストに気づいた残念な男:相沢直人のブログはこちら(笑)

http://designhokkaido.blogspot.jp/2015/11/30j.html

 当コンテストデータに限らず、Jリーグは丁寧に各ゲームのスタッツ情報を公開していますので、ご興味ありましたらご参照ください。

トラッキングデータ スプリント回数ランキング:Jリーグ.jp

http://www.jleague.jp/stats/sprint.html

※本エントリーは、私、小田一弥が一個人として勉強を兼ねて記載したものです。私の勤務先である日本アイ・ビー・エム株式会社の見解・見識ではない、個人としての記載内容である点をご留意ください。

JリーグスタッツをModelerで分析だ!・・・って、「SPSS Modeler」なに?


 弊社(IBM)が提供する強力で多目的のデータ・マイニング・ワークベンチです。迅速かつ直感的に正確な予測モデルを作成でき、プログラミングも必要ありません。
 ビジネスの専門知識を活用して予測モデルを迅速に作成したり、また作成したモデルをビジネス・オペレーションに展開して意志決定を改善できるようになります。

IBM SPSS Modeler
http://www-03.ibm.com/software/products/ja/ibm-spss-modeler

 わたくし、今までR言語はかじっていたのですが、SPSSは全くでして・・・ただいま、一生懸命勉強しております。どうせ勉強するのなら興味のあるデータがいいなと思い、Jリーグスタッツに行き着いた次第です。途中で競馬データに浮気するかもしれませんが(笑)

※・・・というわけでこれから続く、一連のModeler関連エントリーは「初歩の初歩」です。
 ガンガン使いこなされている方は、スルーされるか生暖かく見守ってください。
 「こうした方が便利だよ」メールもお待ちしておりますm(_ _)m

※今回使用しているModelerのバージョンはver17.1です。一つ前ですと、ややUIが違うそうですが、ほぼ同じとのことです。 


まずは、スタッツデータを読み込んでみよう!


1.Modelerの立ち上げ
 何も知らないうちは、若干、不安かもしれませんが、慣れると非常に使いやすいUIです。
機械学習ソフトのWekaもこんな感じですよね。

 

2.「Excel」ノードの配置
 画面下部にあるタブをModelerでは「パレット」と呼びます。ここから「Excel」ノードをダブルクリック。
ちなみに、「SASファイル」や「可変長ファイル」なども読み込み可能です。


3.「Excel」ファイルの読み込み
 「インポートファイル」横のボタンをクリックして読み込み対象ファイルを選択します。
Excel内に複数のワークシートがある場合は、「ワークシートを選択」をクリックし、読み込み対象となるワークシートを選んでください。



4.「出力パレット」から「テーブル」ノードを配置
 どのようなデータ内容か確認するために、「テーブル」ノードを配置しましょう。
簡単に言うと、データビューワーみたいなもんです。

  

5.「テーブル」ノードでデータ表示
 「テーブル」ノードをダブルクリックし、「実行」ボタンをクリックしてください。


 「Excel」っぽいテーブルで先ほど入力したデータが表示されます。


6.「データ型」ノードを配置
 「フィルター」パレットから「データ型」ノードをダブルクリックしてください。この際、事前に先ほど配置した「Excel」ノードを選択しておくと、矢印が自動的に繋がって楽です。


7.「データ型」ノードでデータ内容を確認
 「データ型」ノードをクリックすると、下記のような画面になります。各フィールド(列)の尺度が自動判別されていますが、変更も可能です。


 「フィールドフォーマット」タブでは、デフォルトで設定されたフィールドフォーマットが変更できます。
今回は、 「得点」などの小数点以下数値が不要なフィールドを「小数点以下の表示」を「0」にしてみました。なお、スクリーンショット上はフィールドが1つだけ反転表示されていますが、複数選択も可能です。
 

8.「フィルター」ノードを配置し、不要なフィールドをカット
 「データ型」ノード読み込ませ時に「チーム成績フィールドはあまり使わないなぁ」と感じました。
全てのノードで全フィールドを読み込ませると効率が落ちるので、不要なノードはカットしましょう。

「フィールド設定」パレットから「フィルター」ノードをダブルクリックし、当該ノードを開いてください。
「チーム成績」フィールドの「フィルター」列にある「→」をクリックすると「×」マークがつき、右側のフィールドに読み込まなくなることがわかりますね。

なお、右側のフィールド名をクリックすると、当該フィールド名を編集することも可能です。

それから、「フィルター」タブ下にある「フィルターオプション」のうち、「重複フィールドを削除」は頻繁に使うと思いますので覚えておいてください。


 一応、「テーブル」ノードで確認すると、確かに「チーム成績」フィールドが消えています。


9.「フィールド」ノードを配置し、フィールドの順番を変更する
 「フィールド」が長くなると、分析ターゲットとするフィールドを見るために横スクロールすることも増え、作業効率が落ちます(例:売上高、会員/非会員 等)。
Modelerではフィールドの順番を操作するノードがあるので使ってみましょう。

 「フィールド設定」パレットから「フィールド順序」ノードを選択し、「フィルター」ノードにつなげてください。ここでは「得点」「失点」フィールドを選択します。


 初見だとわかりづらいかもしれませんが、「他のフィールド」行の右側に「得点」「失点」フィールドを移動する指示となります。


 「テーブル」ノードで表示した結果です。右側に移動しているのがわかると思います。



 前置きが長くなったこともあるので、今回は以上です。

IBM SPSS Modeler
http://www-03.ibm.com/software/products/ja/ibm-spss-modeler

その他:SPSS Moder関連エントリー


SPSS ModelerでJリーグスタッツ分析(「フィールド操作」編:前編)
http://sapporomkt.blogspot.jp/2016/04/spss-modelerj_23.html

SPSS ModelerでJリーグスタッツ分析(「フィールド操作」編:後編)
http://sapporomkt.blogspot.jp/2016/04/spss-modelerj_90.html

SPSS ModelerでJリーグスタッツ分析~得失点をサクっとグラフ化
http://sapporomkt.blogspot.jp/2016/04/spss-modelerj_24.html

RESASの特許DB全件をSPSS Modelerでデータ分類してみた。
http://sapporomkt.blogspot.jp/2016/04/resasdbspss-modeler.html 

0 件のコメント:

コメントを投稿