母集団が正規分布に従っているかを判断する手段は?

正規分布とは

正規分布とはデータを処理する上で非常に都合がいい分布です。

なので、できれば、標本のデータが正規分布に従っていると仮定できれば、統計処理する上で非常に都合がいい訳です。

自然界は正規分布に溢れていて、例えば国民の身長や雨粒の大きさなどが有名でいい例です。

 

図書館に行くと、統計学に関して様々な議論をしている教科書が山ほどありますが、現場で実際に統計を行う場面になると、

「どのように統計処理すればいいんだ?」

ってなると思います。

その理由の一つとして、このデータは正規分布に従うのか自分で判断する必要があるが、判断方法について教わってないからではないでしょうか。

 

正規分布を前提としてベラベラ語っている参考書は散見されるけど、正規分布として扱っていいのかについて判断する方法について考えている本ってあんまないですよね。

 

考えましょう。

 

分位点を用いた方法

Q-Qplot

qqplotのqはquantileのqで、分位点を示してます。

 

今回は、1871年から1970年間のナイル川の年間流量のデータを例で使います。

 

時系列でplotすると

 

これをヒストグラムにすると

累積密度関数にすると

となった。

 

この累積密度関数を拡大すると

こうなる。

 

標準正規分布でこれに対応する値を出してプロットしたものがqqplot.

つまり、

ナイル川のデータをx軸にすると、

(456,α1),(649,α2),......,(1370,α100)をplotしたものがqqplot.

じゃあそのα1〜α100はどう求めるかというと、

標準正規分布の累積密度関数で、それに相当する分位点の値。

例えば分位点の設定を

i/n にすると、

(456,z0.99),(649,z0.98).....(1370,z0)

となるが、z0は無限に発散するので、この分位点は利用できない。

(i-1)/n も同様に、z100が-無限に発散するので利用できない。

 

なので、

ナイル川のi番目に相当する分位点αiは, (i-1)/n <α<i/n の範囲で任意に設定すればいい。

 

よく使われるのがtype5のやつ。 この場合は上記範囲の真ん中を取っている。



どうやってqqplotを再現するかというと、

正規分布の累積密度関数で分位点が0.005, 0.015, ....0.995 に対応する統計量Zをx

ナイル川のデータを昇順に並べたものをy

に収納して

これをプロットしたものがqqplotです。

_

いちいちこんな面倒なことせずに、qqnorm関数を使えば勝手にやってくれます。

 

分位点でいうtype5でplotしてやると

type8の分位点を採用すると

ってなります。

 

これが直線になっていれば正規分布と近似できるのではないか、と考える。

 

なんかモヤモヤするんですよね。

まず、x軸とy軸でデータ値の次元が違ったり(1メモリの値がお互い異なる)、範囲が違う(原点が0,01じゃない)のがモヤモヤ

ただ判断基準は1次関数になっているかどうかであり、傾きとか切片はどうでも良いから大丈夫って感じかな

 

 

あと、標本の経験分布関数に対する正規分布はどうせなら標準正規分布でなくて、

標本の平均と分散を同じにした正規分布の方がいいんじゃないかと思うんですよね。

plotすると

素人的にはこっちの方が見やすいと思うんですけど、、

 

拡大すると

 

 

 

この方法のデメリットは、主観的な判断になってしまうこと。

このナイル川のやつだと、(456,   )が外れ値で邪魔しているが、どう考えるかは検定者に委ねられる。

 

 

Shapiro-Francia検定

そこで出てくるのがこの検定方法。じゃじゃじゃじゃーん。

正規分布下でそれに相当する分位点での統計量の期待値(上でいうx)と

Nile側のデータ(上でいうy)

の決定係数(相関係数の2乗)を検定統計量W'とし,

そのW'の分布を用いて検定する。

 

RだとShapiroFranciaTestとかsf.testで検定できるらしいのですが

なぜか僕のRstudioだとできず、、

そもそもこの検定法の情報が少なくて、W'がどんな分布を呈するのかよくわからず、、

 

とりあえず決定係数は0.97 でした。

 

一言で言えば、qqplotしたものが本当に線型化しているのかを確認するために

単回帰分析して、決定係数で評価してるってことですね。

 

 

 

 

ちなみに、

対する正規分布を標準正規分布ではなくて、

平均と分散を標本分布に調整した正規分布で見てみると

決定係数は同じになりますね。

 

f:id:nashuto:20240125194108j:image

f:id:nashuto:20240125194112j:image

原理としてはこんなとこ。

LaTexが苦手でして、許して。

 

Shapiro-Wilk検定

shapirofranciaを進化させて検定。

xとyの値のばらつきが違うので、分散共分散行列で重みをつけた統計量を用います。

(むしろ、shapirofranciaはshapiro wilkの簡易版ってイメージらしい)

 

正規分布じゃないらしいです。

 

 

適合度を用いた方法

kolmogorov検定、Kuiper検定

母集団から導かれる実際の累積密度関数と、順位統計量から導かれる理想的な経験分布関数の差の大きさを用いて統計する方法です。

 

青い線は実際のデータの累積密度関数のグラフ。

赤い線は帰無仮説で仮定している分布の累積密度関数を示したグラフ。

 

今回は正規分布かを検討したい訳なので、

今回の場合だと、

平均値と分散がナイル川のデータと同じ正規分布

になります。

 

 

 

確率変数X1,X2....X100の点で、赤の関数F(x)と青の関数Fn(x)の値の差をみる。

青の関数Fn(x)の方が上にある時の差の大きさ その内の最大値がDn +

赤の関数F(x)の方が上にある時の差の大きさ その内の最大値がDn -

今回の例だと青の関数が上にいっているのが殆どのようだが、、

 

Dn +とDn-の最大値 max(Dn+,Dn-) がKolmogorov統計量

Dn+とDn- の和 (Dn+) + (Dn-) がKuiper統計量

になる。

 

このKolmogorov統計量を用いた正規性の検定として

Kolmogorov–Smirnov test があり、

ナイル川のデータを実際にやってみると、

 

標準正規分布は否定されました。

ただ、平均値と分散が同じ正規分布で検定すると、否定できないという結果になりました。

 

分布の特性を用いた方法

正規分布の歪度と尖度はそれぞれ0,3なので、

知りたい標本分布の歪度と尖度を求め、それぞれが0,3から離れているかを検定する。

 

この分野の数学的解釈がまあ難しく、、、

数学的側面は断念して、もう道具として使います、、

人気av女優を主成分分析して多次元変数を低次元に要約し、AV女優の特徴を簡潔に集約する

tmduto.hatenablog.com

 

前回はav女優さんのSNSデータを用いてクラスタリングしました。

ただ抽出データがSNSに偏っていたので、あまり参考にできませんでした。

前回の反省を活かし、今回はav女優さんが販売している動画を元に分析をしていこうと思います。

 

 

データ採取

本日はFANZAの人気av女優ランキング上位25人を抽出しました。

データの種類として、出演作品の関連タグを参考にしました。

例えば石川澪さんに限ると、単体作品は32作品あります。

そのうちの1つで僕がお気に入りの素人物だと、関連タグとして

ア○ル、手○キ、などが該当しました。

各女優の単体作品の関連タグを全て拾い、全単体作品数に対しての割合をそれぞれ求めました。

また、体型など基本情報もリストに加えました。

name Bust waist hip height year experience length of hair work single work ave fellatio ave hard ave cowgirl ave 3P4P ave kiss ave subjective ave hard job ave squirt ave boob job ave ejaculation on face ave image video ave sweat ave cherry boy ave JK ave peeing ave swallowing ave cream pie ave NTR ave wife ave group sex ave bitch ave anal ave fix ave black ave gal ave elder sister ave cosplay M boy M girl fellatio hard cowgirl 3P 4P kiss subjective hand job squirt boob job ejaculation on face image video sweat cherry boy JK peeing swallowing cream pie NTR wife group sex bitch anal fix black gal elder sister cosplay M boy M girl
kawakitasaika 87 57 86 169 24 5 30 111 55 0.36363636 0.27272727 0.25454545 0.12727273 0.56363636 0.109090909 0.07272727 0.07272727 0.05454545 0.054545455 0.036363636 0.036363636 0 0 0 0 0 0.018181818 0 0 0.054545455 0 0 0 0 0 0 0 0.018181818 20 15 14 7 31 6 4 4 3 3 2 2 0 0 0 0 0 1 0 0 3 0 0 0 0 0 0 0 1
ishikawamio 82 58 86 158 21 2 40 45 32 0.375 0.0625 0.21875 0.21875 0.21875 0 0.03125 0.0625 0.03125 0.21875 0.125 0 0.03125 0.1875 0.03125 0 0 0 0 0 0.125 0 0 0 0 0 0.125 0.0625 0 12 2 7 7 7 0 1 2 1 7 4 0 1 6 1 0 0 0 0 0 4 0 0 0 0 0 4 2 0
matsumotoichika 83 50 83 153 23 2 25 1069 309 0.16828479 0.00647249 0.14563107 0.01294498 0.08737864 0.003236246 0.00647249 0.00970874 0 0.003236246 0.019417476 0 0.003236246 0.207119741 0 0.006472492 0.621359223 0.087378641 0 0.003236246 0.249190939 0 0.006472492 0 0 0.003236246 0.009708738 0 0.003236246 52 2 45 4 27 1 2 3 0 1 6 0 1 64 0 2 192 27 0 1 77 0 2 0 0 1 3 0 1
yuzurihakarenn 96 58 85 148 22 2 45 142 68 0.14705882 0.16176471 0.13235294 0.19117647 0.04411765 0.279411765 0.13235294 0.10294118 0.47058824 0.117647059 0.088235294 0.058823529 0.058823529 0.073529412 0.014705882 0.088235294 0.852941176 0.235294118 0.161764706 0.014705882 0.220588235 0 0.161764706 0 0.279411765 0.205882353 0.044117647 0.220588235 0 10 11 9 13 3 19 9 7 32 8 6 4 4 5 1 6 58 16 11 1 15 0 11 0 19 14 3 15 0
mikamiyua 83 57 88 159 30 8 40 321 119 0.03361345 0.05882353 0.1092437 0.00840336 0.11764706 0.109243697 0.01680672 0.1092437 0.08403361 0.025210084 0.016806723 0.042016807 0.033613445 0.016806723 0.016806723 0 0.008403361 0.100840336 0.008403361 0.025210084 0.117647059 0 0.008403361 0 0 0.016806723 0.025210084 0.008403361 0 4 7 13 1 14 13 2 13 10 3 2 5 4 2 2 0 1 12 1 3 14 0 1 0 0 2 3 1 0
ohananonn 86 60 88 157 22 2 45 299 140 0.15 0.03571429 0.12857143 0.05714286 0.06428571 0.05 0.02857143 0.04285714 0.3 0.035714286 0.021428571 0.028571429 0.021428571 0.021428571 0 0.021428571 0.664285714 0.157142857 0.15 0 0.178571429 0.007142857 0.021428571 0 0 0.085714286 0 0.028571429 0 21 5 18 8 9 7 4 6 42 5 3 4 3 3 0 3 93 22 21 0 25 1 3 0 0 12 0 4 0
itoumayuki 88 54 89 160 25 5 25 282 114 0.04385965 0.15789474 0.16666667 0 0.25438596 0.096491228 0.03508772 0.03508772 0.28070175 0 0.105263158 0.035087719 0.026315789 0.01754386 0 0 0.578947368 0.192982456 0.026315789 0.01754386 0.149122807 0 0.00877193 0 0.00877193 0.01754386 0 0 0.00877193 5 18 19 0 29 11 4 4 32 0 12 4 3 2 0 0 66 22 3 2 17 0 1 0 1 2 0 0 1
nanasawamia 79 54 80 145 24 6 55 194 83 0.18072289 0.03614458 0.13253012 0.02409639 0.07228916 0.060240964 0.07228916 0.04819277 0 0.072289157 0.096385542 0.048192771 0.036144578 0.108433735 0 0 0 0.108433735 0 0.024096386 0.373493976 0.024096386 0.024096386 0 0.012048193 0.012048193 0.048192771 0.036144578 0 15 3 11 2 6 5 6 4 0 6 8 4 3 9 0 0 0 9 0 2 31 2 2 0 1 1 4 3 0
aoiibuki 86 58 88 162 22 4 30 65 39 0.1025641 0.12820513 0.1025641 0.20512821 0.1025641 0 0 0.15384615 0.07692308 0.025641026 0.230769231 0.051282051 0.025641026 0.051282051 0 0 0.179487179 0 0 0 0.076923077 0.025641026 0.076923077 0 0 0.025641026 0.025641026 0.025641026 0 4 5 4 8 4 0 0 6 3 1 9 2 1 2 0 0 7 0 0 0 3 1 3 0 0 1 1 1 0
yamateria 99 58 88 170 23 2 30 68 29 0.06896552 0.37931034 0.10344828 0.17241379 0.10344828 0.034482759 0 0.10344828 0.55172414 0 0.068965517 0 0 0 0 0 0 0.034482759 0 0.034482759 0 0 0 0 0 0.034482759 0 0 0 2 11 3 5 3 1 0 3 16 0 2 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0
yayoimizuki 82 60 85 157 25 4 35 707 274 0.1350365 0.05474453 0.15693431 0.06569343 0.08759124 0.072992701 0.04014599 0.06934307 0.04744526 0.054744526 0 0.032846715 0.01459854 0.098540146 0.02189781 0.02919708 0.602189781 0.102189781 0.142335766 0 0.248175182 0.01459854 0.02189781 0.010948905 0.010948905 0.058394161 0.02189781 0.051094891 0.01459854 37 15 43 18 24 20 11 19 13 15 0 9 4 27 6 8 165 28 39 0 68 4 6 3 3 16 6 14 4
otsuarisu 90 60 99 161 29 10 20 502 171 0.10526316 0.12280702 0.16374269 0.11695906 0.05263158 0.046783626 0.05263158 0.2748538 0.11111111 0.046783626 0 0.011695906 0 0.070175439 0.023391813 0.011695906 0.637426901 0.064327485 0.058479532 0.058479532 0.233918129 0.064327485 0.035087719 0 0.362573099 0.023391813 0.046783626 0.052631579 0.005847953 18 21 28 20 9 8 9 47 19 8 0 2 0 12 4 2 109 11 10 10 40 11 6 0 62 4 8 9 1
sakuramomo 90 56 85 160 26 6 30 255 115 0.20869565 0.05217391 0.12173913 0.05217391 0.12173913 0.07826087 0.00869565 0.11304348 0.19130435 0.008695652 0.043478261 0.034782609 0.008695652 0.043478261 0.017391304 0 0.313043478 0.182608696 0.034782609 0.008695652 0.173913043 0 0.043478261 0 0 0.208695652 0.026086957 0 0 24 6 14 6 14 9 1 13 22 1 5 4 1 5 2 0 36 21 4 1 20 0 5 0 0 24 3 0 0
shinodayuu 88 60 88 155 32 13 25 1875 464 0.08836207 0.0387931 0.125 0.04310345 0.03448276 0.056034483 0.0387931 0.02801724 0.0237069 0.019396552 0.017241379 0.023706897 0.017241379 0.012931034 0.019396552 0.019396552 0.502155172 0.165948276 0.299568966 0 0.19612069 0.030172414 0.023706897 0.012931034 0 0.112068966 0.010775862 0.021551724 0 41 18 58 20 16 26 18 13 11 9 8 11 8 6 9 9 233 77 139 0 91 14 11 6 0 52 5 10 0
kuramotosumire 85 57 85 153 22 2 30 372 147 0.14965986 0.07482993 0.1292517 0.12244898 0.06122449 0.06122449 0.02721088 0.1292517 0.01360544 0.040816327 0 0.020408163 0.013605442 0.265306122 0.040816327 0.027210884 0.721088435 0.102040816 0.068027211 0.027210884 0.156462585 0.006802721 0.054421769 0 0 0.006802721 0.013605442 0.034013605 0.006802721 22 11 19 18 9 9 4 19 2 6 0 3 2 39 6 4 106 15 10 4 23 1 8 0 0 1 2 5 1
kururugiaoi 84 59 93 154 25 6 30 1270 344 0.24418605 0.03488372 0.2005814 0.0377907 0.14244186 0.159883721 0.13372093 0.02325581 0 0.023255814 0 0 0 0.159883721 0 0 0.63372093 0.066860465 0.034883721 0 0.165697674 0.034883721 0.01744186 0 0.01744186 0.011627907 0 0.063953488 0 84 12 69 13 49 55 46 8 0 8 0 0 0 55 0 0 218 23 12 0 57 12 6 0 6 4 0 22 0
aizawaminami 80 54 82 155 27 7 40 210 99 0.33333333 0.04040404 0.12121212 0.06060606 0.18181818 0.101010101 0.02020202 0.13131313 0 0.111111111 0.03030303 0.080808081 0.01010101 0.111111111 0.01010101 0 0 0.121212121 0.03030303 0.02020202 0.414141414 0 0.04040404 0 0.03030303 0.080808081 0 0 0 33 4 12 6 18 10 2 13 0 11 3 8 1 11 1 0 0 12 3 2 41 0 4 0 3 8 0 0 0
satsukimei 87 60 86 154 23 3 30 509 191 0.18324607 0.10994764 0.09947644 0.09424084 0.05759162 0.094240838 0.05235602 0.03664921 0.09424084 0.041884817 0.041884817 0 0.02617801 0.109947644 0.015706806 0 0.64921466 0.089005236 0.062827225 0.015706806 0.146596859 0.031413613 0.031413613 0 0 0.02617801 0.010471204 0.031413613 0.010471204 35 21 19 18 11 18 10 7 18 8 8 0 5 21 3 0 124 17 12 3 28 6 6 0 0 5 2 6 2
mitaniakari 83 58 86 166 26 6 30 1167 354 0.15254237 0.03954802 0.21186441 0.04237288 0.10169492 0.096045198 0.05649718 0.03389831 0 0.036723164 0.025423729 0.028248588 0.016949153 0.025423729 0 0.016949153 0.564971751 0.138418079 0.093220339 0.011299435 0.262711864 0.014124294 0.02259887 0 0 0.09039548 0.028248588 0.050847458 0 54 14 75 15 36 34 20 12 0 13 9 10 6 9 0 6 200 49 33 4 93 5 8 0 0 32 10 18 0
toujounatsu 78 55 85 156 24 3 25 534 207 0.17391304 0.05797101 0.10144928 0.0531401 0.07729469 0.086956522 0.0531401 0.08695652 0 0.043478261 0.024154589 0 0 0.198067633 0.024154589 0.019323671 0.550724638 0.086956522 0.062801932 0 0.106280193 0.009661836 0.028985507 0 0.019323671 0.009661836 0.043478261 0.028985507 0 36 12 21 11 16 18 11 18 0 9 5 0 0 41 5 4 114 18 13 0 22 2 6 0 4 2 9 6 0
yamagishiayaka 82 59 86 161 30 6 20 220 96 0.21875 0.0625 0.19791667 0.05208333 0.15625 0.020833333 0.01041667 0.09375 0 0 0.09375 0.072916667 0.010416667 0 0.020833333 0.052083333 0.65625 0.114583333 0.083333333 0.010416667 0.354166667 0.010416667 0.0625 0 0 0.427083333 0.010416667 0.010416667 0 21 6 19 5 15 2 1 9 0 0 9 7 1 0 2 5 63 11 8 1 34 1 6 0 0 41 1 1 0
kominatoyotsuha 83 59 80 154 27 1 25 18 18 0.11111111 0 0.05555556 0.05555556 0.16666667 0.166666667 0 0.11111111 0 0.055555556 0 0.055555556 0 0 0 0 0 0.055555556 0 0 0 0 0 0 0 0 0.111111111 0 0 2 0 1 1 3 3 0 2 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 2 0 0
ishiharanozomi 88 58 90 158 23 3 20 269 87 0.25287356 0.09195402 0.2183908 0.05747126 0.09195402 0.057471264 0.03448276 0.06896552 0.09195402 0.068965517 0.022988506 0.022988506 0.011494253 0.08045977 0 0 0.712643678 0.172413793 0 0 0.264367816 0 0 0 0 0 0.022988506 0.022988506 0 22 8 19 5 8 5 3 6 8 6 2 2 1 7 0 0 62 15 0 0 23 0 0 0 0 0 2 2 0
morisawakana 86 59 86 160 31 11 30 1032 420 0.11428571 0.1047619 0.08095238 0.07380952 0.05238095 0.042857143 0.02619048 0.04761905 0 0.069047619 0.011904762 0.014285714 0.00952381 0 0.026190476 0.019047619 0.519047619 0.171428571 0.447619048 0 0.154761905 0.019047619 0.042857143 0 0 0.069047619 0.019047619 0.016666667 0.007142857 48 44 34 31 22 18 11 20 0 29 5 6 4 0 11 8 218 72 188 0 65 8 18 0 0 29 8 7 3
miyashitarena 83 57 85 162 21 1 40 31 24 0.29166667 0.16666667 0.16666667 0.125 0.20833333 0.083333333 0 0.125 0.04166667 0.125 0.125 0 0.041666667 0.208333333 0 0 0 0.083333333 0 0 0.125 0 0 0 0 0 0.041666667 0.041666667 0 7 4 4 3 5 2 0 3 1 3 3 0 1 5 0 0 0 2 0 0 3 0 0 0 0   1 1 0

 

利用できる変数が他にないか確認するため、念のためにchatGPTに相談しました。

やはり無難な回答だけ頂きました。

 

 

ちなみに、日本のAV女優のデータを欲しいとお願いしたら断られました。

 

 

AV女優の単体動画や全身の特徴を主成分分析する

まずは各情報の重さを均一化するために、mean:0 var:1 で標準化します。

 

主成分スコアはそれぞれ

となりました。

変数が多いのかデータの抽出が悪いのか、、

累積寄与率は第5主成分で漸く6割を超えます。

じゃあ各主成分は何を示しているのかを見ていきましょう。

 

 

数字の羅列だとどうしてもわかりづらいので、graphで可視化しましょう。

 

PC1はkissやfellatio,イメージビデオが高いことから、女性としての魅力の軸

PC2はsinglework,workが高いことから、作品数の軸といったところでしょうか。 

PC3はejaculation on face,JK,bitchが高いことから痴女の軸。

PC4はJKに加えてhip,analが高いことからお尻の軸。

PC5はcowgirlやhand jobが高値で、女優の手技の上手さって感じでしょうか。

squirtが負なので疑問は残りますが、、

PC6はcowgirlに加えてbitch,sweat,elder sisterが高く、adultな女性のSっ気軸?

 

PC7はwaistに加えて3P4Pが高値だけどgroupsexが負の高値なので評価に困りますね、

 

考察

各主成分がどういう軸なのか考察するのが主成分分析をする上で腕の見せ所なのですが、今回は綺麗に評価できませんでした。

原因として幾つかあるとおもいます。

 

抽出データの不完全さ

抽出したデータは各動画のタグを利用しているのですが、関連タグは自動生成らしく、実際の動画と照らし合わせるとかなりズレています。

例えばこの動画は宮下玲奈さん彼氏とみなとみらいデートをするAVで、演技が苦手な宮下玲奈さんがしっかり演技をし、カップル・彼氏とのイチャイチャ感がポイントなのですが、カップルというタグはありませんでした。顔射もあるけどタグに入ってないし、

つまり不十分なポイントが多いんですよね。

従って、各動画のポイントをしっかり収集できていない点が挙げられます。

 

動画のタグではav女優の特徴を正確に投影できていない

AV女優はAVの台本に準じて演技をしているだけなので、それぞれのAV女優が潜在的に持つ特徴をAVで投影できているとは考えずらいです。

AV女優によっては〇〇までokとかお尻はNGといった境界線があったり、

涼森れむみたいな大人っぽい女優さんはお姉さん系の動画が多くて、七沢みあのような可愛い系の女優さんは妹系の動画多いなど、各女優さんの個性に準じてある程度の動画の特徴はあるかもしれませんが、

5作品目くらいでソープ物だすとか2年目くらいでマネージャーとかコンビニ店員系出す、といったAV題材の流れ・型みたいなのもある一方で女優としての寿命も短いので、女優さん本来の個性をしっかり投影できているとは考えづらいです。

 

以上を踏まえて主成分分析の結果を考えるべきだと思います。

 

 

av女優の多次元データをSNSの活動性でクラスタリング av女優が影響力を持つために参考すべき人物像は? 

皆さんはavを観ますか?

僕も小さい頃から人並み以上にエロの興味がありました。

僕が小学生位の頃からよく観ていました。

 

小学生の時は動画を観る手段がなく、台風で早退した帰り道に落ちていたエロ本を見つけ、暴風雨の中むさぼり読んだのを覚えています。

 

中学生の頃からタブレットが普及しましたが、動画をみたらタブレットが壊れると思っていたので、初めの頃ははてなブログとかでエロ画像を見ていた記憶があります。

成長するにつれてxvideo,pornhub,fc2....お世話になりました。

 

なんの取り柄もない僕ですが、成人してからはきちんとavを購入して観ていることが胸を張って誇れる数少ないポイントです。

上原亜衣、伊東ちなみ、水卜さくら、羽咲みはる、、、

最近は石川澪さんと宮下玲奈さんの動画を鬼購入しています。どうもありがとう。

 

観たいavを探すのに苦労する経験ってないですか?

いつも宮下玲奈の動画を観ているけど、たまにはギャルもみたいなーとか

でも、どんなギャルでも良い訳ではなくて、自分の好みのギャルってのがあるんですよね。

僕はゆきぽよよりもめるるの方が好きです。

 

av女優を数グループに分けることで、自分の好みの女優さんからオススメのav女優さんを提示するのが今回の目標です。

 

 

av女優のデータ採取

統計の9割はデータ採取で決まります。

好みの女優さんを提示するという目標に対して理想的な因子としては

  • 心身の特徴(二重、身長、性格、体型etc)
  • プレイの特徴(得意な体位、声色、SM etc)

などだと思うのですが、しがない社会人が上記のデータを集めるのは非常に困難であり、、

 

なんとかSNSの活動度はデータ採取できそうなので、とりあえず今回はSNSのデータ(twitter,insta)を利用しました。

 

 

name amount of work amount of single work twitter follower amount of tweet  conversation with friends in twitter the amount of media Bust waist hip cup instagram follower  post in instagram tiktok
kawakitasaika 104 53 291818 1152 1 225 87 57 86 5 734000 246 0
ishikawamio 37 29 595576 4607 1 862 82 58 86 2 104000 73 1
matsumotoichika 1031 303 350497 15817 1 325 83 50 83 1 72000 20 0
yuzuhakarenn 139 66 207678 6834 0 706 96 58 85 8 131000 12 0
mikamiyua 311 118 5067468 15583 0 7966 83 57 88 7 3656000 2737 1
ohananonn 270 139 85099 2549 0 354 86 60 88 6 22000 22 1
itoumayuki 274 111 900033 1339 0 481 88 54 89 6 239000 73 0
nanasawamia 187 82 1060452 6197 1 1145 79 54 80 3 146000 70 0
wakamiyahono 336 102 50618 12697 1 3873             1
aoiibuki 60 38 98356 1800 1 230 86 58 88 7 41000 36 0
yamateria 61 27 699717 1251 0 691 99 58 88 9 226000 604 0
yayoimizuki 654 260 322648 4563 0 745 82 60 85 6      
otsuarisu 463 166 7299 55 0 0 88 59 92 8      
kaedekarenn 125 62 382246 15 0 4              
sakuramomo 218 111 306551 11 0 10 90 56 85 7 150000 0 0
koyoikanonn 90 33                      
shinodayuu 1836 460 670088 11044 0 2712 88 60 88 6 212000 218 1
kuramotosumire 319 138 142700 2278 0 390 85 57 85 3 83000 140 1
kururugiaoi 1236 340 271469 20293 1 2799 84 59 93 4 31000 33 1
aizawaminami 205 98 827931 37460 0 2629 80 54 82 3 950000 1374 1
shiratohana 336 100                      
satsukimei 469 186 97126 25844 0 2059 87 60 86 6 102000 323 1
mitaniakari 1139 348 641567 6734 0 1620 83 58 86 5 295000 176 0
toujounatsu 500 204 138468 4871 1 1670 78 55 85 3 203000 697 1
AIKA 1302 333                      
yamagishiaika 216 95 684988 8807 0 2540 82 59 86 3 389000 679 1
kominatoyotsuha 16 16 112974 2001 0 530 83 59 80 3 42000 69 1
ishikawanozomi 253 83 417263 25118 0 3636 88 58 90 3 88000 96 1
kurokawasumire 496 162                      
morisawanana 1005 404 116753 5050 0 813 86 59 86 6 157000 274 1
miyashitarena 27 21 309982 8329 1 1616 83 57 85 4 103000 37 1

amount of work: 作品数

amount of single work: 単体の作品数

conversation with friends in twitter: ここ1ヶ月でファンの人とtwitterで会話しているか

the amount of media: twitter上での画像数

tiktok: tiktokをしているか

 

av女優なんて数百〜数千人居るらしく、全員のデータを集めてたら完遂した頃にはav業界も廃れていそうなので、FANZAの女優ランキング上位31人と僕の愛する宮下玲奈を合わせ、総32人を被験者としました。

 

ここからTwitterinstagramをやっていない

AIKA 

若宮穂乃

楓カレン

今宵かのん

白桃はな

黒川すみれ

を除き、26人としました。

 

各変数の相関表

 

まずは各データの相関を視覚的に確認するために、散布図行列を描出



相関係数

Bustとcupなんて相関しかないし、、

データ集めが悪いですねすいません、、、

今回の目的はクラスタリングの勉強なので勘弁してください、、

 

クラスター分析

クラスター分析をするということは

各変数に対しての距離を求め、その距離が近い順で結合させて行きます。

このままだと各変数間で数字の桁が違いすぎて正確に評価できないので標準化します。

標準化して、各女優毎の差(ユークリッド距離)を求めると

このようになりました。


この標準化したものを階層型クラスター分析

(距離間:ユークリッド,結合法:最遠距離法)すると

 

3群に分けると


三上悠亜と石原希望が他のav女優を圧倒した影響力を持っていることがわかります。

 

 

再遠近法だと外れ値を持つ女優がクラスターに強く影響を与えそうなので、

average(群平均法)で行うと



三上悠亜と石原希望が強すぎる。

この階層型クラスター解析だと各av女優間の距離を正しく評価できるのですが、全体的な位置関係はイメージがつきづらいです。

 

多次元尺度法

全体的な位置関係が把握しやすいのは多次元尺度法です。

今回のデータだと各av女優は13個の変数を持っています。

本当は13次元空間の点として理解できれば各av女優の位置関係がわかるのですが、人間の頭脳では3次元空間が限界です。

従って、位置関係をなるべく保ちつつ、高次元(主に4次元以上)に存在するデータを低次元(主に2次元)に落とし込ませ、平面上で可視的に距離間が掴めるようにします。

 

低次元に落とし込んでいるので正確な位置関係を提示しているわけではないのですが、参考としては有効です。

クラスター分析だと三上悠亜と石原希望が群を抜いていましたが、この分析表だと、その中でも特に三上悠亜がレベチであることがわかります。

 

隣接行列・無向グラフ

さらに見易くするために、図形で各女優の距離感を掴みます。

頂点(変数:av女優)と辺(av女優間の近さ)で示します。

 

特にベテラン女優達が抜けていることがわかります。

 

av女優が影響力を持つために参考すべき人物像は? 

データの集め方が下手なので結論にもっていけないのですが、、、

AV女優さんの界隈で三上悠亜さんがレベチなのは分かりますが、石原希望さんも群を抜いて影響力が強いのはびっくりしました。

YouTubeの登録人数みても

石川澪:6万

石原希望:7万

三上悠亜:105万

であり、三上悠亜を参考にすることはなかなか難しいかもしれませんが、元芸能人でもない石原希望を参考にするのはよいのかもしれません。

 

中心極限定理による標本平均の分布が正規分布として推定できるサンプルサイズについての検討

中心極限定理とは

 ある程度統計を勉強していると中心極限定理という言葉を耳にします。

定義としては、

 「標本を抽出する母集団の分布が正規布分布に従っても従わなくても、サンプルサイズnが十分に大きくなれば、標本平均の分布は正規分布に近づいていく」

 

じゃあ正規分布に従うとみなせる程のサンプルサイズとは、ってなるんでしょうか。

正規分布に近似できるなら近似したいですよね。その方が結果を解釈しやすいし。

巷だとn≧20~30程度が目安と言われていますが、エビデンスってないと思うんですよ。

Rを使って実践的に調べてみましょう。

 

中心極限定理の原理

 

実際に実験して適切なサンプルサイズを考える

サンプルサイズについて実験する前に、中心極限定理という都合のいい定理がなぜ生じるのか考えます。

 

まずは正規分布N(0,1)から10個のサンプルを抽出し、その平均の分布について

ヒストグラムとして可視化するために、1000回繰り返しています。

1000回繰り返せば十分だと思っています、、

 

コード

するとヒストグラムは下図になりました。

 

当然正規分布っぽくなります。

手抜きで両軸のグラフ名を整えてないけど許して

 

データが正規分布しているかどうかの検定で、今回はshapiro-wilk test を使用しました。

余談ですがこの検定は

H0(帰無仮説):データが正規分布に従う

H1(対立仮説):データが正規分布に従わない

で検定しています。

巷だと、この検定でパラかノンパラどっちの手法が使えるか分かる

(p>0.05だと正規分布を示すからパラメトリック検定、p<0.05だと正規分布を示さないからノンパラメトリック検定)

と言っている人が多いのですが、

確かにp<0.05でH0が棄却されたら正規分布を示さないとみなせますが、

p>0.05の場合は正規分布に従わないとは言えない、って解釈だから正規分布に従っているとは言えないとおもうんですよね。

 

余談が長いと嫌いな上司みたいになっちゃうのでここまでにします。

 

 

二項分布で、probability=0.5,試行回数10回の確率変数を求める行為を10回(サンプルサイズ)繰り返し、その平均について調べます。

ヒストグラムにするために平均値を求める行為を1000回してます。

 

コード

 

ヒストグラム

 

正規分布とは言えないらしいです。

QQplotを見ると

正規分布っぽいけどね。

 

 

じゃあサンプルサイズを20にすると

 

正規分布にならないらしいです。

 

ヒストグラムやQQplotだと綺麗だけどね

 

 

サンプルサイズを30にすると

帰無仮説が棄却されませんでした。

 

 

次に確率を変えてみましょう。

probabilityを0.01に鬼下げしました。

サンプルサイズを10にすると

正規分布の面影すらないですね。

 

サンプルサイズを100にしても

 

みてられないです。

 

probabilityを0.001まで下げちゃうと、

まあそうなるよね。






サンプルサイズを1000まで増やすと

ましにはなるけど正規分布にはならないみたいです。

 

 

サンプルサイズを10000にしても

正規分布にはならない。

 

以上より、標本平均の分布はサンプルサイズが大きくなれば中心極限定理により必ず正規分布として扱えるが、必要なサンプルサイズの量は元の分布に依存することがわかります。

 

 

必要なサンプル量は?

上の実験より、正規分布として推定できるサンプルサイズは母集団の分布に依存することがわかります。

とはいえ母分散なんて知る由がない上に、正規分布として推定できるかを検定する客観的な方法はなく、ヒストグラムやQQplotから自分で判断するという主観的な物に頼らざるを得ません。

 

医療統計で用いる母集団ってそんなに汚い分布じゃないと思うんですよね。

わりかし左右対称の分布だけど個人差が大きいから標準偏差が大きい、みたいな。

 

便宜上だけど一様分布で試しました。

runif(10,0,100)

runif(20,0,100)

runif(30,0,100)

より正規分布との比較ができるようにbreaksを多めにして表示しました。

つまり、

サンプルサイズを多くして大まかな分布を把握し、母分布をR等でモデル化する。

そのモデルを元に得た標本平均のヒストグラムやQQplotの結果を主観的に読み取って、適切な

サンプルサイズを検討する。

となるんでしょうか。

 

ただ、こうせざるを得ない感が半端なくて こんなの非現実的というか無理だと思います。

 

上で示し続けたグラフから分かるように、よほど母分布が変でない限りはサンプルサイズが30程度あればなんとなく正規分布っぽくなるんで、それも利用してt検定とか使っているんでしょうね。

 

やはり論文を読み解く際はp値だけを見るのではなく、こうした背景にも目を向ける必要があります。

 

だからこそ論文を読む際は統計学の理解を深めていないと適切な解釈が得られませんねって話です。

 

2018年NPBプロ野球の主要選手をクラスター分析してみた。

クラスター分析とは

 クラスター分析では複数の個体をグループ各に分類する方法です。

クラスター分析の種類・方法

 クラスター分析では複数の個体をグループに分けていきます。

当然ながら色々なグループの作り方がありそうですよね。

Rでheip(hclust)をrunしてやると

This should be (an unambiguous abbreviation of) one of "ward.D", "ward.D2", "single", "complete", "average" (= UPGMA), "mcquitty" (= WPGMA), "median" (= WPGMC) or "centroid" (= UPGMC).

出典 R

だそうです。

クラスタ間の距離の選び方
  • "ward.D" :   D(P,Q) = E(P ∪ Q) - E(P) - E(Q)

                              E(C)=Σd(C,gc):各点と重心の距離の2乗和の根(ユークリッド距離)

  • "ward.D2":  "ward.D"の最新版らしい。
  • "single" : 最近隣法。2つのクラスターの中で最も個体間の距離が短い値を代表値とする。
  • "complete" : 最遠隣法。2つのクラスター中で最も個体間の距離が長い値を代表値とする。
  • "average" : 群平均法。2つのクラスター間の各個体の全ての組み合わせの距離の平均を代表値とする。
  • "mcquitty" : 以後精進します。
  • "median" : 2つのクラスター間の各個体の全ての組み合わせで求まった距離の中央値を代表値とする。
  • "centroid" : 重心法。2つのクラスターの重心間の距離を代表値とする。
距離の計算方法

 help(dist)を打ってやると

This must be one of "euclidean", "maximum", "manhattan", "canberra", "binary" or "minkowski".

と言われます。

                       n次元の点p,q間の距離 : sqrt(sum(p-q)^2) 

  

                      f:id:nashuto:20190402172341p:plain       

  • "maximum" : n次元の点p,qの各次元間の距離の絶対値の最大値  max(abs(p-q))
  • "manhattan" : n次元の点p,qの各次元間の距離の絶対値の和 sum(abs(p-q))
  • "canberra" :  sum(abs(p-q) / (abs(p)+abs(q)))  

                           f:id:nashuto:20190402180906p:plain

2018年NPBの主要選手をクラスター分析する

概要

選手が多すぎてもよくないと思うので規定打席(試合数×3.1)・規定投球回(試合数×1.0)を超えた選手に絞ってクラスターしていきます。

セ・リーグ打者のクラスター分析

順位 選 手 チーム名 打率 試合 打席 打数 得点 安打 2塁打 3塁打 本塁打 塁打 打点 盗塁 盗塁刺 犠打 犠飛 四球 敬遠 死球 三振 併殺打 長打率 出塁率
1 ビシエド (中) 0.348 135 582 512 91 178 26 1 26 284 99 3 4 0 4 51 4 15 61 24 0.555 0.419
2 坂本 勇人 (巨) 0.345 109 502 441 87 152 27 2 18 237 67 9 5 0 0 61 10 0 83 4 0.537 0.424
3 平田 良介 (中) 0.329 138 568 493 83 162 26 5 9 225 55 8 7 2 3 67 4 3 69 7 0.456 0.41
4 青木 宣親 (ヤ) 0.327 127 567 495 85 162 37 3 10 235 67 3 4 0 2 51 1 19 48 13 0.475 0.409
5 アルモンテ (中) 0.321 132 546 498 56 160 37 0 15 242 77 1 1 0 3 44 1 1 95 16 0.486 0.375
6 鈴木 誠也 (広) 0.32 124 520 422 86 135 32 2 30 261 94 4 4 0 5 88 2 5 116 4 0.618 0.438
7 雄平 (ヤ) 0.318 125 482 446 50 142 19 1 11 196 67 6 1 0 2 33 5 1 62 13 0.439 0.365
8 宮﨑 敏郎 (デ) 0.318 142 590 551 71 175 34 0 28 293 71 0 0 0 0 38 3 1 45 16 0.532 0.363
9 坂口 智隆 (ヤ) 0.317 139 595 508 64 161 22 4 3 200 37 9 7 7 2 75 5 3 60 15 0.394 0.406
10 山田 哲人 (ヤ) 0.315 140 637 524 130 165 30 4 34 305 89 33 4 0 3 106 5 4 119 8 0.582 0.432
11 ソト (デ) 0.31 107 459 416 74 129 16 0 41 268 95 0 1 0 5 29 2 9 100 5 0.644 0.364
12 岡本 和真 (巨) 0.309 143 616 540 82 167 26 0 33 292 100 2 1 0 0 72 1 4 120 11 0.541 0.394
13 糸井 嘉男 (神) 0.308 119 509 419 60 129 24 0 16 201 68 22 3 0 5 77 4 8 63 9 0.48 0.42
14 丸 佳浩 (広) 0.306 125 566 432 109 132 22 0 39 271 97 10 10 0 1 130 8 3 130 5 0.627 0.468
15 松山 竜平 (広) 0.302 124 446 397 46 120 25 2 12 185 74 2 0 0 5 42 4 2 46 10 0.466 0.368
16 筒香 嘉智 (デ) 0.295 139 580 495 77 146 33 1 38 295 89 0 0 0 3 80 7 2 107 10 0.596 0.393
17 ロペス (デ) 0.288 110 459 441 46 127 23 0 26 228 77 0 0 0 1 16 1 1 58 12 0.517 0.314
18 野間 峻祥 (広) 0.286 126 447 405 64 116 14 7 5 159 46 17 10 4 2 30 0 6 69 2 0.393 0.343
19 糸原 健斗 (神) 0.286 143 637 531 79 152 29 4 1 192 35 6 4 9 4 86 1 7 73 5 0.362 0.39
20 マギー (巨) 0.285 132 547 499 65 142 28 0 21 233 84 2 0 0 6 41 1 1 92 12 0.467 0.336
21 福留 孝介 (神) 0.28 123 499 414 57 116 26 2 14 188 72 2 1 0 7 73 2 5 90 10 0.454 0.389
22 大島 洋平 (中) 0.274 141 645 588 92 161 20 7 7 216 57 21 9 1 5 47 2 4 80 2 0.367 0.329
23 バレンティン (ヤ) 0.268 142 602 514 72 138 22 0 38 274 131 1 1 0 3 85 5 0 121 15 0.533 0.37
24 田中 広輔 (広) 0.262 143 675 572 92 150 19 10 10 219 60 32 13 6 5 75 3 17 118 6 0.383 0.362
25 福田 永将 (中) 0.261 133 487 440 50 115 22 1 13 178 63 0 0 0 5 37 1 5 119 13 0.405 0.322
26 梅野 隆太郎 (神) 0.259 132 455 386 45 100 27 1 8 153 47 5 1 28 1 39 3 1 67 6 0.396 0.328
27 高橋 周平 (中) 0.254 128 477 433 35 110 26 2 11 173 69 0 0 8 3 30 1 3 89 9 0.4 0.305
28 亀井 善行 (巨) 0.254 123 461 422 47 107 20 0 13 166 49 4 0 0 1 36 2 2 70 6 0.393 0.315
29 西浦 直亨 (ヤ) 0.242 138 550 479 57 116 28 0 10 174 55 1 2 20 3 40 1 8 88 10 0.363 0.309
30 京田 陽太 (中) 0.235 143 632 578 73 136 15 7 4 177 44 20 10 26 3 19 0 6 111 12 0.306 0.266
31 菊池 涼介 (広) 0.233 139 642 557 85 130 27 1 13 198 60 10 2 30 1 51 2 3 111 5 0.355 0.301
 

これをRのstatsパッケージのhclust関数を用いてデフォルトで行いました。デフォルトではmethodは最遠隣法だそう。dist関数はデフォルトでユークリッド距離です。デンドログラムを作成すると

f:id:nashuto:20190402135427j:plain

 

番号じゃなくて選手名にしたいのですがやり方が分からないので、取得次第修正します。1番近いのは3番と4番の選手のようです。これは平田選手と青木選手で、成績をみると確かに似ていました。ちなみにこの番号は打率の順番になっているのですが、クラスタになる際に近い番号同士になっている傾向がある気が僕はします。打率と選手の総合値にはそこそこの相関があるのでしょうか。それはそう。

パ・リーグ打者のクラスター分析

同様にパ・リーグ規定打席に到達した打者もクラスターにかけます。これもデフォルトで。

選 手 チーム名 打率 試合 打席 打数 得点 安打 二塁打 三塁打 本塁打 塁打 打点 盗塁 盗塁刺 犠打 犠飛 四球 敬遠 死球 三振 併殺打 長打率 出塁率
1 柳田 悠岐 (ソ) 0.352 130 550 475 95 167 29 5 36 314 102 21 7 0 5 62 4 8 105 8 0.661 0.431
2 秋山 翔吾 (西) 0.323 143 685 603 107 195 39 8 24 322 82 15 10 0 1 77 4 4 96 3 0.534 0.403
3 近藤 健介 (日) 0.323 129 555 462 59 149 29 3 9 211 69 5 0 0 5 87 8 1 90 16 0.457 0.427
4 吉田 正尚 (オ) 0.321 143 598 514 77 165 37 2 26 284 86 3 1 0 8 69 10 7 74 9 0.553 0.403
5 浅村 栄斗 (西) 0.31 143 640 565 104 175 27 0 32 298 127 4 2 0 5 68 4 2 105 18 0.527 0.383
6 中村 晃 (ソ) 0.292 136 580 506 57 148 28 1 14 220 57 1 1 3 6 60 4 5 68 5 0.435 0.369
7 井上 晴哉 (ロ) 0.292 133 548 476 59 139 26 2 24 241 99 1 0 0 6 63 0 3 106 7 0.506 0.374
8 島内 宏明 (楽) 0.292 103 453 394 53 115 16 3 11 170 53 11 5 3 3 47 0 6 45 10 0.431 0.373
9 外崎 修汰 (西) 0.287 119 510 453 70 130 24 3 18 214 67 25 9 6 1 47 0 3 102 9 0.472 0.357
10 中村 奨吾 (ロ) 0.284 143 639 552 82 157 30 3 8 217 57 39 15 0 5 60 2 22 94 11 0.393 0.374
11 山川 穂高 (西) 0.281 143 647 541 115 152 24 1 47 319 124 0 0 0 2 88 2 16 138 5 0.59 0.396
12 西川 遥輝 (日) 0.278 140 636 528 90 147 25 6 10 214 48 44 3 7 2 96 1 3 103 1 0.405 0.391
13 源田 壮亮 (西) 0.278 143 666 594 92 165 27 9 4 222 57 34 8 14 6 48 0 4 101 7 0.374 0.333
14 銀次 (楽) 0.276 139 552 492 45 136 16 5 5 177 48 1 1 6 2 48 3 4 47 7 0.36 0.344
15 今江 年晶 (楽) 0.276 127 465 421 44 116 17 2 10 167 49 0 3 0 4 32 5 7 76 19 0.397 0.334
16 森 友哉 (西) 0.275 136 552 473 67 130 34 2 16 216 80 7 2 0 7 70 2 2 105 3 0.457 0.366
17 上林 誠知 (ソ) 0.27 143 608 551 88 149 26 14 22 269 62 13 4 17 3 30 4 7 117 2 0.488 0.315
18 鈴木 大地 (ロ) 0.266 143 558 477 44 127 27 6 8 190 49 8 4 14 6 44 2 17 55 11 0.398 0.346
19 角中 勝也 (ロ) 0.265 112 470 411 44 109 23 2 7 157 57 3 3 0 6 48 2 5 63 9 0.382 0.345
20 中田 翔 (日) 0.265 140 599 540 61 143 32 0 25 250 106 0 1 0 13 43 1 3 81 24 0.463 0.316
21 田中 和基 (楽) 0.265 105 465 423 67 112 11 1 18 179 45 21 6 4 1 37 0 0 101 4 0.423 0.323
22 中島 卓也 (日) 0.261 132 449 391 57 102 11 3 1 122 23 29 5 22 1 35 0 0 88 4 0.312 0.321
23 松田 宣浩 (ソ) 0.248 143 580 517 72 128 21 3 32 251 82 3 3 0 3 56 4 4 113 12 0.485 0.324
24 田村 龍弘 (ロ) 0.239 143 476 415 32 99 14 7 3 136 35 3 3 16 2 40 1 3 68 13 0.328 0.309
25 デスパイネ (ソ) 0.238 116 469 407 62 97 15 1 29 201 74 0 0 0 3 55 4 4 93 13 0.494 0.333
26 ロメロ (オ) 0.237 119 501 443 63 105 18 1 25 200 63 7 2 0 6 42 2 10 114 10 0.451 0.313
27 レアード (日) 0.233 120 505 450 47 105 14 2 26 201 65 0 1 0 4 44 5 7 124 10 0.447 0.309
28 藤岡 裕大 (ロ) 0.23 143 611 535 58 123 15 5 5 163 42 14 13 26 1 44 1 5 97 9 0.305 0.294
29 安達 了一 (オ) 0.219 140 514 465 44 102 12 3 3 129 41 20 5 16 5 25 1 3 64 8 0.277 0.261
 

f:id:nashuto:20190402144817j:plain

 

26番と27番が最も近そう。ロメロとレアード(納得)。7と16はアジャと西武の森(納得)。

NPBの打者を別の距離の計算法を用いてクラスター分析をする

まずはセ・リーグの選手に対してmethodを="average"にして群平均法にしてみると

f:id:nashuto:20190402152917j:plain

 

並べてみると

f:id:nashuto:20190402153039j:plain

completeかaverageかは群が大きくなるにつれて違いが生じるので、下の段階では房の付き方は似ているが上に行くほど違う構図がみられるのではないでしょうか。

重心法にすると

f:id:nashuto:20190402153709j:plain

ちょっと意味が分からないです。

最後によく聞くウォード法で

f:id:nashuto:20190402154331j:plain

 

 一応全てscale()関数で標準化しています。果たしてどれがいいんでしょうか、やっぱりウォード法ですかね。

 

dendrogram for Central league and Pacific league

2018年のMLB打者を主成分分析してみた。

主成分分析とは

 主成分分析とは多くのデータのまとめる分析方法です。難しい言葉でいうと、複数の変数を1次式のデータに収縮させる事です。

 本当は自学自習の為に簡単な説明を書きたいのですがそんな技力も暇力もないので工事中(施工日未定)

2018年MLBの打者データを主成分分析

 G~SOまでの13変数のデータを主成分分析にかけて1つの式に説明していきます。

 

www.baseball-reference.com

 試合数・打席数・打数・得点・安打・2塁打・3塁打・本塁打・打点・盗塁・盗塁死・四球・三振の13変数で主成分分析をかけると

 

f:id:nashuto:20190330211540p:plain

 こんな感じに。

第一主成分=-0.33*G+(-0.32)*PA+(-0.32)*AB+・・・・・+(-0.27)*SO

第二主成分=(-0.01)*G+・・・・・+0.43*X3B+・・・・+  (-0.10)*SO

 

summary()関数で

f:id:nashuto:20190330214212p:plain

こんな感じに。

上から順に標準偏差・寄与率・累積寄与率となります。(空いた時間でこの説明もしたい所)

第二主成分までで82%が表現できているので今回は第二主成分まで考えます。

全部の係数が負なのですがこれは負荷量の絶対値が重要なわけで、全部負なのであれば逆転して考えればいいはず。

第一主成分では値が高い程良い変数も悪い変数も全て同程度に考えられています。良い意味でも悪い意味でも1年間を通してどれ程目立ったかを示す打者の総合値でしょう。

第二主成分のうち係数の絶対値が大きくて重要そうなのは

X3B(3塁打)の0.43,HRの-0.29,RBI(打点)の-0.23,SB(盗塁成功)の0.55,CS(盗塁死)の0.56です。これより第2主成分は1年を通して足の速さを印象づける指標といえるでしょう。

 

そこで、各選手の得点をplotしていくと

f:id:nashuto:20190331202747j:plain

 

 選手が多すぎて汚い。特定の選手を抽出する方法も知らないし。なんとなく目に留まったのが1291番と316番だったので調べてみるとそれぞれマレックス・スミス選手とクリス・デービス選手で、マレックス・スミス選手の10本の三塁打と12個の盗塁死はリーグ最高で、40盗塁を決めているスピード選手です。クリス・デービス選手は48本の本塁打王で123打点を打つ強打者で、盗塁盗塁死は0で典型的なパワーヒッターで有る事が分かります。

 

もう少し見やすく有ってほしいので

規定打席に到達した選手で再び主成分分析

をかけてみると

f:id:nashuto:20190331205615p:plain

 

f:id:nashuto:20190331205635p:plain

第一主成分と第二主成分の係数は変れど意味は同じでしょう。第一は総合値で第二は走力。

各選手のplotは

f:id:nashuto:20190331210036j:plain

となりました。今回でも第2主成分に関しては1291(マレックス・スミス)と316(クリス・デービス)が目立ってます。PC1で最高得点を取っているのは791番の選手です。こちらはフランシスコ・リンドーア選手でリーグ最多の129得点と打率.277、38本塁打、92打点、25盗塁を記録しています。総合値が高くてめっちゃいい選手ですね。ただし第2主成分まででは60.4%までしか説明できない所をつかれると痛いですね。

 

Principal Component Analysis for MLB2018 batter

MLBとコンカフェに通うヲタクで理解する相関係数

 相関係数とは2つの値の関連の大きさを測る尺度です。一般的には大きい正の値になるほど正の相関を持ち、大きい負の値に成る程負の相関を持ちます。比例と反比例みたいな感じ。実は何種類かあるんです。

 Pearsonの相関係数

 なんといってもこいつです。誰もが幼い頃に習ったこいつは鉄板の相関係数でしょう。

       f:id:nashuto:20190322163109p:plain

f:id:nashuto:20190322164345p:plain

 rが0に近いと相関関係は無い

 rが+1に近い程正の相関があり

 rが⁻1に近い程負の相関が有る

 正の相関~解釈添え~

f:id:nashuto:20190327171209j:plain

 2018年のMLBにおいて20本以上のヒットを打った打者のうちx軸にヒット数、y軸に打数をplotしました。当然ヒットを打つには多くの打数が必要なので正比例します。これを正の相関と言います。Pearsonの相関係数を計算すると 0.9730145を示します。

 

 計算する式の分母は2乗の値であるので必ず正であり尺度の大きさを調整するものです。分子に注目すると(xi-x)(yi-y)となっています。つまり、平均からの差の大きさと符号が考慮されています。

 上の例の図からわかるように正の相関を示すという事はplot点が第1象限と第3象限に集積している事を裏返しで意味しています。この象限にいる点は分子の値が正となるので相関係数rも正を示します。

 負の相関

 負の相関とは第2象限と第4象限に点が集積している状態で、この場合各点で与えられる分子は負を示すので相関係数はrを示します。

 

f:id:nashuto:20190328145637p:plain

 本当はMLBデータでやりたかったのですがいい負の相関が得られそうになかったので適当にpythonで作りました。

 相関無し

f:id:nashuto:20190327181035j:plain

 2018年に規定打席に到達したMLBの選手の年齢と安打数のplotをするとこんな感じ。

異論はあるかもしれませんが年齢と安打数はあまり関係がなさそうです。打つ奴は何歳でも打つし打たない奴は何歳でも打たない。この相関係数は-0.1478702でした。

 

MLB correlation coefficient ~positive for H and AB ...

Spearmanの順位相関係数

 ノンパラメトリックです。n個のベクトル値(x,y)があるとします。i個目のベクトル

(xi,yi)のx,yの順位をそれぞれsi,tiとします。

f:id:nashuto:20190326211024p:plain

  分母は定数ですよね。分子は各点の平均とのズレを表しています。考え方はPearsonの相関係数と同じで、平均からの差の正負と値の大きさを包含しています。2変数が共に平均より大きいor小さいなら順位に正の相関が有りρは1に近づきそうです。逆に2変数の平均からのずれが各々正と負である点が多い場合(順位に負の相関)はρは-1に近づきそうです。無関係ならρは0になりそう。

 

 これを式変形すると(これを章末問題としよう)(章末問題にはページ数のみ)(解答は省略)

f:id:nashuto:20190326214543p:plain

 となります。実際はプログラミングで計算してもらうと思うのでこの値の意味が分かる変形前の方が僕は好きなんですけれども、変形後の方がよく見かけます。 

 

 ぴんと来てないと思うので実際のデータで考えましょう。ヲタクがコンカフェの店舗に行って使ったコンカフェ代とチェキ代で考えます(コンカフェ代とは全額からチェキ代を引いた額とします)。

ヲタク コンカフェ代 チェキ代
1 1800 2000
2 2600 3000
3 1000 8000
4 11800 1000
 

 ヲタク1は学生でしょうか。推しに使えるお金は少なくて他の強ヲタに引け目を感じている、といったところでしょうか。僕はこの類です。ヲタク2はちゃんとバイトして推し事をする学生か普通の社会人の方でしょう。偉い。ヲタク3はチェキが大好きなヲタクです。コンカフェの食事には目もくれず推しとのチェキを撮りまくるタイプ。帰りに仲間と鳥貴族でビールにチェキを浸しがち。4はコンカフェの特別メニューをめっちゃ頼むヲタクです。

 これを順位にすると

ヲタク コンカフェ代 チェキ代
1 3 3
2 2 2
3 4 1
4 1 4

  となります。n=4なのでn^3-nは60. Σ(si-ti)^2は18. よってρ=1-108/60=-0.8.よって負の順位の相関があると考えられます。つまり、コンカフェ代を払う人ほどチェキ代は払わない傾向にあるという事です。

 

Kendallの順位相関係数

  n個のベクトル(x,y)が与えられた時、取り出した2つの(x,y)のベクトル値の大小関係が一致している個数をK,不一致の個数をLとした時の相関係数は以下のように与えられます。よって正の相関を示すほどτは1に近づき、負の相関を示すほど-1に近づきます。

f:id:nashuto:20190326214925p:plain

 これもヲタクのコンカフェ代とチェキ代で考えます。

 n=4のベクトル値があるので取り出す選び方は4C2で6通り。それぞれヲタクの番号で考えると

 (1,2),(1,3),(1,4),(2,3),(2,4),(3,4)です。

 例えば(1,2)のヲタクの各値は

(コンカフェ代,チェキ代)=(1800,2000),(2600,3000)で、コンカフェ代とチェキ代の大小関係は一致しています。従ってKに+1をします。

(1,3)ではどうでしょう。(1800,2000),(1000,8000)でコンカフェ代とチェキ代の大小関係は一致していません。従ってLに+1を加えます。この操作を6回分行うと

 K=1,L=5となります。代入すると

τ=-4/6=-0.66666 となります。よって負の順位の相関関係があることが読み取れます。