KuboWeb top

更新: 2018-01-16 12:26:08

生態学のデータ解析 - 極値分布

  • ここでは R を使った極値分布の推定について説明します

    Rlogo

    • 参照: CRAN Task View の EnvironmetricsExtreme values section

もくじ


極値理論とは何か 

  • ある確率分布にしたがう独立な N 個のサンプルがあったときに,そのサンプルの極値 (最大値など) はどういった分布にしたがうか,を統計モデリングする理論
    • 例: 毎年の最高気温が独立と考えたときに,20 年分のデータを集めたときの最高気温はどうなるか? またもし 100 年ぶんデータがあるとすればその最高気温はどうなるか予測せよ,といったハナシ

一般化極値分布 (GEV) とはなにか 

  • Genelarized Extreme Value distribution (Wikipedia) とは代表的な極値分布 3 種類をまとめた確率分布
    • パラメーターは三つ: μ (mu), σ (sigma), ξ (xi)
  • 以下に紹介する R の極値分布 package ではこれらのパラメーターを最尤推定している
    • 内部では optim() を使って計算している
      • method オプション指定できる: (例) method = "SANN" でシミュレイテッドアニーリニング法,収束が難しい状況でも最尤推定値が計算できたりする,ただし精度はあらくなりがち

R をつかった GEV の推定 

library(extRemes) と library(ismev) 

  • どちらも Stuart Coles 原作
    • もともと R 用ではなかったので全体に R っぽくない
  • library(extRemes) すると自動的に library(ismev) される
    • 両 library はいつもいっしょに使うのがよい (それぞれ単独では使いにくい)
    • R の library(help = ...): ismev, extRemes
    • ismev とは作者 Coles の書いた教科書 An Introduction to Statistical Modeling of Extreme Values (2001) からとられた名前である (つまり教科書の例題などをふくむ)
    • 極値分布とか知らない人はこの教科書がないとこれらの library を使うのはたいへんだろう
  • library(extRemes) すると TclTk の専用 user interface が表示されるが,こんなのはすぐに消してしまったよい
    • もちろんこの専用 UI 上でデータ解析しても良い
    • 以下では専用 UI を 使わない 場合について説明している
  • x がデータ (例: 毎年の最大気温,欠測なし) が格納されているとする
    • GEV の 3 パラメーターは gev.fit(x) で推定される
    • return plot は下のように作図させる
 data(ftcanmax)
 fit <- gev.fit(ftcanmax[,"Prec"])
 class(fit) <- "gev.fit"
 rlplot(fit)
  • この rlplot() 関数は解読するといろいろ参考になる
    • print(rlplot) などで表示できる
    • また GEV の quantile 値をえる gevq() 関数は help などはないけど,ユーザー側から自由に使うことができる (print(gevq) 参照)
  • Tutorial: http://www.isse.ucar.edu/extremevalues/tutorial/index.html

library(evir) 

  • Alexander McNeil 原作
    • Coles の package よりは R っぽい
    • R の library(help = ...): evir
  • GEV の推定は gev()
  • GEV をあつかう確率分布関数たち が R っぽく準備されている

  • このページは以下から参照されています。

    FrontPage