【確率・統計っぽい】勝手にp i x i vオリジナルイラストオブザマンス5月度をクラスター分析

面白いしもう全部やろう。
※ただし手作業
6月度はこちら
7月度はこちら
8月度はこちら

■収集データ

  1位 2位 3位 4位 5位 6位 7位 8位 9位 10位
1位 10 0 4 -2 -4 -4 6 -1 -4
2位 10 -1 7 -2 -4 7 -5 -4 -6
3位 0 -1 -2 -4 10 -4 5 3 -3
4位 4 7 -2 6 2 2 -2 -5 -5
5位 -2 -2 -4 6 0 6 -4 -3 0
6位 -4 -4 10 2 0 2 -1 2 -3
7位 -4 7 -4 2 6 2 -4 -4 -3
8位 6 -5 5 -2 -4 -1 -4 10 0
9位 -1 -4 3 -5 -3 2 -4 10 2
10位 -4 -6 -3 -5 0 -3 -3 0 2

■分類結果

〜4組〜
〜〜〜1/4組〜〜〜

〜〜〜2/4組〜〜〜

〜〜〜3/4組〜〜〜

〜〜〜4/4組〜〜〜

〜3組〜
〜〜〜1/3組〜〜〜

〜〜〜2/3組〜〜〜

〜〜〜3/3組〜〜〜

〜2組〜
〜〜〜1/2組〜〜〜

〜〜〜2/2組〜〜〜

■10位ェ……

10位のぱんつな絵は8月の時みたいに単独グループになるかと思ったけど、キャラ率低い絵が多すぎて相対的にキャラ率高い絵との類似度が上がってこうなったようだ。相対比較オンリーでやってる現手法の難点なのかも知れない。
まぁでも、なかなか良いグループ分けになってるんじゃないか(自賛

■「比較回数が少ないとどうなるの?」っと

ちなみに、この記事を書いてる時点での7月度の同コーナーの分類結果は誤りでした。いやーたった10回であんな精度が出るなんておかしいと思ったんよなー(棒

■収集データ(10回/60回)

  1位 2位 3位 4位 5位 6位 7位 8位 9位 10位
1位 0 0 4 0 0 0 -1 0 -2
2位 0 -1 0 0 0 2 0 0 0
3位 0 -1 0 0 0 -1 2 0 -1
4位 4 0 0 2 -1 2 0 -2 -1
5位 0 0 0 2 -1 4 -1 -1 0
6位 0 0 0 -1 -1 0 0 0 0
7位 0 2 -1 2 4 0 -1 -2 0
8位 -1 0 2 0 -1 0 -1 2 -1
9位 0 0 0 -2 -1 0 -2 2 -1
10位 -2 0 -1 -1 0 0 0 -1 -1

■分類結果

〜4組〜
〜〜〜1/4組〜〜〜

〜〜〜2/4組〜〜〜

〜〜〜3/4組〜〜〜

〜〜〜4/4組〜〜〜

〜3組〜
〜〜〜1/3組〜〜〜

〜〜〜2/3組〜〜〜

〜〜〜3/3組〜〜〜

〜2組〜
〜〜〜1/2組〜〜〜

〜〜〜2/2組〜〜〜


3/3組にそこはかとない「どうしてこうなった」臭が……。それ以外はそれなりに妥当。

■収集データ(20回/60回)

  1位 2位 3位 4位 5位 6位 7位 8位 9位 10位
1位 2 1 4 0 0 -1 -1 0 -2
2位 2 -2 2 0 0 2 -1 -2 -2
3位 1 -2 0 -2 2 -3 2 0 -1
4位 4 2 0 2 1 2 0 -2 -3
5位 0 0 -2 2 -2 6 -1 -1 0
6位 0 0 2 1 -2 -1 0 2 -1
7位 -1 2 -3 2 6 -1 -1 -3 0
8位 -1 -1 2 0 -1 0 -1 4 -1
9位 0 -2 0 -2 -1 2 -3 4 1
10位 -2 -2 -1 -3 0 -1 0 -1 1

■分類結果

〜4組〜
〜〜〜1/4組〜〜〜

〜〜〜2/4組〜〜〜

〜〜〜3/4組〜〜〜

〜〜〜4/4組〜〜〜

〜3組〜
〜〜〜1/3組〜〜〜

〜〜〜2/3組〜〜〜

〜〜〜3/3組〜〜〜

〜2組〜
〜〜〜1/2組〜〜〜

〜〜〜2/2組〜〜〜


十分妥当な分類になってるし、10位が途中まで単独グループになってる辺りこっちの方が60回より質いいような……。途中から作業疲れで比較の軸が狂ったか、はたまた比較方法の仕様上60回の方が妥当な分類なのか。

■もっと多くのデータを対象にする場合

ところで、今はたった10個のデータを対象にしてるから3データ抽出の組み合わせも120通りだし、そのうち60通りだとか20通りだとかを比較するだけでそれなりの分類になってるけど、対象データ数が多くなったらどうなってしまうのか。
順不同で3データ抽出する組み合わせの数nは、データ数をxとすると
n=\frac{x(x-1)(x-2)}{3\times2\times1}=\frac{x^3-3x^2+2x}{6}
となり、まぁどういうことかというとデータ数xk倍になったら組み合わせ数nは大体 k^3倍になる。
例えばx=100とデータ数を10倍にすると、組み合わせ数nは約10^3=1000倍の 120\times10^3=120\times1000=120000個くらいになるだろうと推測できるし、実際に計算するとn=\frac{100\times99\times98}{6}161700個となるって多いわ!
で、(真面目にやると計算とか面倒くさそうだから)適当に考えると、データ数が10個なら120通り中20通り、つまり、全体の\frac{1}{6}について比較すれば十分な性能が出ると仮定すると、データ数が100個の場合は26950通りについて比較する必要があって、データ数が1000個なら27694500通りについての比較が必要になる。
これはひどい
今は比較する3データは無作為抽出だけど、効率よく分類できるような3データを選択するアルゴリズムだとか、よりよいデータ入力方法だとか、よりよいクラスタ分析手法が見つからないと大規模なデータの分類はきつそうだ。