Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
3
Help us understand the problem. What is going on with this article?
@interharuki

今更?極値統計を用いてメッシの凄さを実感する

More than 1 year has passed since last update.

はじめに

サッカー好きな人はもちろんのことそうでない人でもほとんどの人が知っているリオネル・メッシ
彼の打ち出したリーガエスパニョーラシーズン最多得点記録(50ゴール)という大記録はどれほどすごいのか、
どれだけの年月が経てば彼ほどの選手が現れるのかを極値統計という手法を用いて推測しました。

極値統計とは?

極値統計学とは、豪雨、強風などの極端な自然現象や、ファイナンスなどでリスク評価のために応用される統計手法です。一般に統計学では母集団の中心に対する推測を行っていますが、極値統計学は、極端な現象、すなわち、母集団分布の端(最大値や最小値)に対する推測を行います。

一般化極値分布

極値を表す確率分布は、Gumbel分布、Frechet分布、Weibull分布の3つのタイプに分類できることが知られています。
これら3つの分布が一般化極値分布(GEV)という、次の1つの式で表現できることがわかっています。

G(z)=exp[-(1+ξ(\frac{z−μ}{σ})^\frac{-1}{ξ})]  

パラメーターは3つで、ロケーションを示すμスケールを示すσ形を示すξとなります。今日では上記の式で表せられる一般化極値分布をまず推定し、そこから3つのうちのどれに当たるかを推定するという手法が採られています。具体的には、
ξ=0のときにGumbel分布、ξ>0のときにFrechet分布、ξ<0のときにWeibull分布となります。

得点王データ

今回はWikipediaを参照し、リーガエスパニョーラの1928-29から2017-18シーズンまでの約90年間得点王の得点数をもとに得点王の得点数に関する極値分布を作成する。
得点数のグラフをプロットすると下図のようになります。

date <- read.csv("liga.csv",header =FALSE)
#データのプロット
plot(date[,1], type = "h", xlab = "", 
     ylab = "Scorers", main = "Top Scorers Liga ")

scores.png
図を見てわかる通り近年のメッシとロナウドの得点数がどれほどすごいか一目瞭然でした。(笑)

極値分布のあてはめ

Rの極値理論のライブラリであるismevとextRemesを用いてデータを極値分布に適応します。

library(ismev)
library(extRemes)
fitgev <- fevd(date[,num], type = "GEV")

パラメータ

par.gev <- distill(fitgev)[1:3]
par.gev
#location       scale       shape 
#22.81797313  5.81334547 -0.01777088

推定したパラメータはξ(shape)<0よりWeibull分布に従うことがわかります。

モデルの検証

モデルを検証するために
推定結果のうちメジャーな4つのグラフをプロットします。

par(mfrow=c(2,2))
plot.fevd(fitgev, type = "probprob", main="Probability plot")
plot.fevd(fitgev, type = "qq", main="Quantile plot")
plot.fevd(fitgev, type = "rl", main="Return level plot")
plot.fevd(fitgev, type = "density", main="Density plot")

model.png
左上と右上はそれぞれprobability plot,quantile plotと呼ばれているもので、かなりざっくりした説明をすると対角線に沿っているほど分布のあてはまりが良いといえるものです。
また、Return level plotではそれぞれの値が95%以内には収まっていることを示しています。
最後に、Density Plotはサンプルデータと推定モデルが概ね一致していることがわかります。

結局メッシはどれだけすごいのか

推定したモデルよりメッシの打ち出したシーズン50ゴールが何年に一度のものなのか推定します。

scores <-50
mYears <- 1 / (1 - pevd(scores, loc=par.gev[1], scale=par.gev[2], shape=par.gev[3]))
mYears

結果は・・・

132.3342年!

メッシは132年に一度の天才だということができました!

つまり彼ほどの選手が現れるのにはあと132年の年月が必要ということです。

おまけ

生成したモデルから得点数の再現レベルが分かります。メッシはおよそ100年に一度の天才であることがわかりましたが、1000年に一度の天才はどれだけの得点を重ねるかわかります。

ci.fevd(fitgev, type = "return.level", return.period = 1000)

結果は 60.606点でした!

リーガエスパニョーラは年間38試合なので全試合得点してさらに二試合に一回は二得点しなければいけません

メッシも凄すぎますが、1000年に一度となるともはや凄すぎて訳が分からない次元ですね(笑)

3
Help us understand the problem. What is going on with this article?
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

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
3
Help us understand the problem. What is going on with this article?