2009.09.25
ミクシィ(mixi)に似ている会社はどれ?? データマイニングの世界へようこそ

このブログは、エスキュービズムのエンジニア陣が持ち回りで更新している。
といっても、ブログ更新がメインというわけではなく…
毎週木曜はエンジニア勉強会を開催していて、担当1名が事前準備して発表する。
その担当になった人がブログを書いている。
発表テーマは「自由」。
だけれども、人数も増えたので自然と「みんなの貴重な時間を無駄にしない内容」に工夫する流れができている。
で、本日は僕が担当。
twitter仲間募集中^-^ 【hirolog】。
仕事に関連があるということで、大学院で「データマイニング」の勉強をしているので、テーマは「データマイニング」にした。
はて、さて、「データマイニング」とはなんだろう???
「先月のアクセス数は10万でした」というのは「統計」。
「1.2%の伸びで成長しているので、来月は12万」というのは「解析」。
データマイニングとは、これら統計でも解析でもなく、「データから知識を得る」ことである。
と書いても「なんのこっちゃ」という感じなので、実例を紹介していこうと思う。
まずは、次のページを見て欲しい。
余談だけど、Google Docsはこんな使い方ができてとっても便利だ。表形式をキレイに表示したいならこれが一番。
話を戻して、この表は僕がテキトウにネットに関連してそうな上場している企業を抜き出して一覧化したものだ。
Yahoo!ファイナンスから、数日前のデータも抽出してある。
さて、この一覧を見て、例えば「ミクシィに似ている会社ってどれ?」と聞かれてすぐに見付けられるだろうか?
「ミクシィといえばSNSだから “グリー” かな?」というのは事前に色々と知っているからであって、企業名を伏せて数値だけを与えられた状態ではとても厳しい。
PERだけを見たらアドウェイズが一番近いし、資本金だけ見たらジー・モードが一番近い。
こんなときに活躍するのが「データマイニング」である。
勉強会では「決定木」「ニューラルネットワーク」「相関規則」といったデータマイニング手法も紹介したのだが、ブログでは「自己組織化マップ」(以下、SOM)を取り上げる。
見た目に面白くて、いかにもデータマイニング!といった手法だ。
SOM の特徴は多変数のデータであっても、2次元のマップで表現できること。例えば先のエクセルのように20を超える変数があっても、2次元平面上にマッピングすることで視覚的に「近い」ということがわかる。
詳しい理論についての説明はちょっと大変なので、ググって出てきたよくまとまっている説明ページを紹介。
基本的にはこのページ序盤「3 SOMの仕組み」にあるようなイメージで、入力変数をある法則に従って2次元空間にマッピングしていく。
では、いきなり SOM でマッピングしてみよう。
入力は先の表をそのまま、21項目とする。
出力は、今回は 5×5 のマップに写像することにした。
今回の計算には「R」という統計計算用の言語・環境を使っている。
↑クリックするとpdfが開きます(★ SOM計算結果)
図内の数値は証券コードである。
注意点は5×5の1枠内に入っているものは「同じグループ」であること。点が完全に重なるとわかりにくいので、表示のために位置をバラしてある。
なので、コードの並び自体にはあまり意味がない。また枠線に重なってしまっているのも同じ理由で、位置をバラしたために動いてしまったもので、本来は枠内にある。
さて、赤くなっている2121は、ミクシィの証券コードだ。
同じ枠内にあるのは…2371と3843である。
2371は価格.comを運営している「カカクコム」、3843は「フリービット」。
カカクコムはなんとなく「それっぽい」気がするけど、最近iPhoneアプリなどに力を入れているフリービットには若干意外性を感じる。
けど、数値を見ていくと両社ともに平均年齢が30歳ちょっとで従業員数が300名弱と確かに似ているところもある。
ミクシィの右隣の枠には3632と2432の数字が「同分類」と判定された。
3632は成長著しい「グリー」、2432は「DeNA」でこれはなかなかお見事な感じ。
本日、グリーがDeNAを訴えて4億円弱を請求するなんてニュースがあったけど、やはり「競合」の争いなんだろうなと思う。
(にしても、このニュースは詳細が気になる)
その他、ぶっ飛んでいる4755と4689の2つは「楽天」と「ヤフー」である。超大企業に匹敵する時価総額を有する2社なので、SOM上からも「枠外」であることが見て取れる。
なお…今回 SOM に使ったデータは、Rでの計算上、不明データは「0」で補完してしまっている。本来はもう少し慎重に考えたいところなので注意。
といった感じで、データマイニングを使うと「何か1つの決まった答えが出てくる」わけではない。
しかし、このように複雑なデータを可視化し、そこから何か新しい「知識」を導くのがデータマイニングであり、アレコレと考えを巡らせるのが楽しい!のだ。

Trackback URL
Comment & Trackback
Comment feed
Comment