文書の過去の版を表示しています。
確率分布のパラメータの最尤推定
MASSパッケージに収められている関数fitdistrは、「互いに独立に同一の確率分布に従う確率変数の実現値」であるデータから確率分布のパラメータの最尤推定値を算出してくれる。
関数 | fitdistr |
目的 | 確率分布のパラメータの最尤推定値を算出する |
書式 | fitdistr(データ, 確率分布, 初期値もしくは初期値リスト) |
返り値(表示) | パラメータ名と最尤推定値と(漸近)標準誤差 |
返り値(詳細) | estimate:最尤推定値のリスト, sd:標準誤差のリスト, vcov:漸近共分散行列, n:サンプルサイズ, loglik:対数尤度の最大値 |
データはc()で囲んだ数値列(リストという)で与える。
x = c(1,3,4,2,3,4,3,2,1)
確率分布は次の一覧から選んで指定する。
確率分布 | 与え方 | パラメータ数 | 初期値を与えるべきか否か |
ベータ分布 | densfun=“beta” | 2 | start=c(shape1=2,shape2=1)初期値必須 |
コーシー分布(自由度1のt分布) | densfun=“cauchy” | 2 | start=list(location=,scale=) |
カイ2乗分布 | densfun=“chi-squared” | 2 | 不明 |
指数分布 | densfun=“exponential” | 1 | 初期値不要 |
ガンマ分布 | densfun=“gamma” | 2 | start=list(shape=,rate=) |
幾何分布 | densfun=“geometric” | 1 | 初期値不要 |
対数正規分布 | densfun=“log-normal” | 2 | 初期値不要 |
対数正規分布 | densfun=“lognormal” | 2 | 初期値不要 |
ロジスティック分布 | densfun=“logistic” | 2 | start=list(location=,scale=) |
負の二項分布 | densfun=“negative binomial” | 2 | start=list(size=,mu=) |
正規分布 | densfun=“normal” | 2 | 初期値不要 |
ポアソン分布 | densfun=“Poisson” | 1 | 初期値不要 |
t分布 | densfun=“t” | 2 | 不明 |
ワイブル分布 | densfun=“weibull” | 2 | start=list(shape=,scale=) |
初期値はパラメータの数分の長さの数字列を名前付きリストで与える。
正規分布に従うデータから、正規分布のパラメータを推定するには、次のようにする。
fitdistr(c(1,2,1,3,4,1,2,3,1),densfun="normal")
ワイブル分布のパラメータを推定するには、次の1行を実行する。
fitdistr(c(1,2,1,3,4,1,2,3,1),densfun="weibull")
データを別のオブジェクトに保存してから、関数fitdistrに渡しても良い。
x = c(1,2,1,3,4,1,2,3,1) fitdistr(x,densfun="weibull")
初期値を指定する場合には、確率分布ごとのパラメータ名つきのリストで与える。
fitdistr(c(1,2,1,3,4,1,2,3,1),densfun="weibull",start=list(shape=1,scale=1))