Help us understand the problem. What is going on with this article?

POG上達のためのデータ解析4 〜Rでアソシエーション分析

More than 3 years have passed since last update.

はじめに

 しばらく間が空いたが今回も引き続きPOGに関するデータ解析を行いたい。

 とあるきっかけでアソシエーション分析なるものが存在することを知った。アソシエーション分析とは平たく言うと「{条件}=>{結論}」となる因子間の組み合わせ(アソシエーションルール)をある定められた条件に基づいて抽出する分析手法である。これは競馬にも使えそうだということで試してみる。

使用したデータ

 これまでと同様2010-2013年までの期間に生まれた馬を解析対象とする。

 解析手法の有効性が確かめられていない状態で膨大なデータを扱うと単なる徒労で終わる可能性があるので、今回は各馬の因子を「調教師」、「馬主」、「生産者」、「POG期間賞金が700万以上か否か」に絞った。

 以下にデータの一部と全体の概要を示す。

AnalysePOG.jpg

Association_R.jpg

解析

解析の流れ

 アソシエーション分析の解析例はRが圧倒的に多い。使い慣れたPythonでもできなくはないようだが、今回はRを使うこととした。

データの下処理:Python

アソシエーション分析:R

という分業体制で臨むこととする。

結果

 アソシエーションルールの抽出はRのapriori関数で実行できるが、引数次第で得られる結果が左右される。今回support=0.00015としたのは全データのなかで最低でも4回(1回/年)は該当する組み合わせが出現してほしいという思いから設定した。conf=0.8の根拠はない。あえて言うならばデータを間引くためである。maxlen=5も根拠はない。defaultでmaxlen=5であることを踏襲した。
Association_R.jpg

 その結果6743ものアソシエーションルールが抽出された。これらのうち結論として「賞金が700万以上」であり、かつlift値が2.0より大きいものだけを抽出すると21件に絞られた。

Association_R.jpg

 これらのルールを可視化すると以下のようになる。実に混沌としたグラフであるが、少なくとも私がこれまで気にもとめていなかったような単語が現れているのが興味深い。

Association_R.jpg

assosiation_2010_2013.png

今後

 アソシエーション分析はルール抽出の条件設定や結果の解釈方法が難しく、私個人がその妥当性を評価できるようになるまでは時間がかかりそうであるが、質的データが大半を占める競馬においては有効な手法である感触を得た。次回は血統の解析にまで手を広げPOGに有利な組み合わせをあぶり出したい。

gkmaro634
日曜プログラマー
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした