Generalized Extreme Value Distribution



y=f(x|¥kappa,¥mu,¥sigma)=(¥frac{1}{¥sigma})exp(-(1+¥kappa¥frac{(x-¥mu)}{¥sigma})^{-¥frac{1}{¥kappa}})(1+¥kappa¥frac{(x-¥mu)}{¥sigma})^{(-1-¥frac{1}{¥kappa})}

もっとも単純に言うと、Multiple testing 問題では、複数の仮説検定を行ったときに、得られる個別仮説の統計量のうち、最大な量の分布をパーミュテーション試行に渡って記録し、その各パーミュテーション試行中の最大統計量のとる分布が問題となる。これは、複数仮説の統計量の『Extreme』な値の分布を問題にする、ということである。この統計量のうち、『極端な値』がどういう分布をパラメトリックに表したのがGeneralized Extreme Value Distributionである。

たとえば、こんな論文に出ている。

Efficient Computation of Significance Levels for Multiple Associations in Large Studies of Correlated Data, Including Genomewide Association Studies. Am J Hum Genet 75:424-435,2004

  • Generalized Extreme Value Distribution の説明記事はこちらがよい
  • Rでは、パッケージevdがある
  • リンクを張った、mathworks記事には、自由度5のt分布からの乱数を1000個ずつ250セット作成し、それぞれのセットの最大値を抜き出し、度数分布を表示している。これをRでやると・・・

#自由度5のt分布乱数を250000個発生
> t<-rt(250000,5)
#250セットに分割
> matt<-matrix(t,ncol=250)
#それぞれのセットの最大値を取り出し
> x=1:250
> for(i in x)max[i] = max(matt[i,])
#evdパッケージを読み込んでから、その関数を使用して、Generalized Extreme Value Disvributionの3パラメタを推定
> fgev(max)

Call: fgev(x = max)
Deviance: 849.3218

Estimates
loc scale shape
4.2369 1.0457 0.1286

Standard Errors
loc scale shape
0.07602 0.05869 0.05522

Optimization Information
Convergence: successful
Function Evaluations: 24
Gradient Evaluations: 8