文系男子が日和るIT開発~IT知識なしで飛び込んだIT企業

文系男子だからIT企業に就職するなんて考えてもみませんでしたが、日和ながら日々くらいついています。

R言語でコレスポンデンス分析(caパッケージ)

普段使用しないR言語ですが、
コレスポンデンス分析を行う機会があったので、
caパッケージを使用して、可視化してみました。

コレスポンデンス分析とは、
クロス集計結果で収集したデータを元に、表側項目と表頭項目の関連性を散布図で表現することができる解析手法です。
これにより、例えば、小売業のマーケティング分析などでは、
商品/ブランドとそのターゲット層との関連性が視覚的に捉えやすくなる、という利点があります。



とはいっても、
今回、実際の業務で取り扱う商品やブランド、その売り上げ等のデータはお見せすることはできなため、
少し工夫して、別データを準備することとします。


今回使用するデータは、こちら。

f:id:dreamjourney:20180929215140p:plain


簡単に説明しますと、競馬関連のデータです。
こちらを使用し、コレスポンデンス分析をすることとします。


具体的には、2017年度にJRAで開催された芝の重賞レースについて
競馬場と距離別にした売り上げ合計金額を収集したものです。

これにより、
「この競馬場のこの距離のレースは見ごたえレースがあり、売り上げが高くなっているんだな」、とか、
「この競馬場のこの距離の番組が集中していて、売り上げに貢献しているんだな」とか、
そういったような要素を確認したい、という方に参考になるかと思います。
 (競馬予想する輩向けではなく恐縮です)


コレスポンデンス分析した結果をグラフ化したものはこちら。
f:id:dreamjourney:20180929214535j:plain


グラフから感じ取れること。
京都競馬場は3,000m級のレースに支持されている (すみません。 3,000=3,000以上ととらえてください)
中山競馬場は、2,500mと2,000mのレースとのとの関連性が強い(有馬記念皐月賞などのおかげ)
東京競馬場は、2,400mのレースとのとの関連性が強い(ダービー、ジャパンカップなど)
などなど

思った以上に強い相関は出ていませんでしたが、
これはJRAがある程度均等に競馬場×距離を考慮した番組編成をなしている結果かと思われます。



実行したコマンドです。


> library(ca)
> setwd('C:/Users/hoge/Documents/')
> sdata_detail <- read.csv('keiba_kyori_detail.csv', stringsAsFactors = F, header=TRUE, sep=",", encoding="UTF-8")
> sdata_detail
1200 1400 1600 1800 2000 2200 2400 2500 3000
nakayama 15566176 0 18792639 16441284 51708087 15897531 0 48218591 2304032
tokyo 0 7018110 64131965 24012274 24654553 0 42016915 10737179 2720029
kyoto 8295924 8596890 35559707 3970814 15925741 23554045 10248798 0 37571206
hanshin 3814417 17270710 48474488 8038761 22571907 21145791 5647034 0 4861364
>
> plot(ca(sdata_detail))



Rによるやさしい統計学

Rによるやさしい統計学