Rのパレート分布にデータセットを適合させるにはどうすればよいですか?


22

次のデータがあるとします。

8232302  684531  116857   89724   82267   75988   63871   
  23718    1696     436     439     248     235

これ(および他のいくつかのデータセット)をパレート分布に適合させる簡単な方法が必要です。理想的には、一致する理論値を出力し、理想的ではないパラメーターを出力します。



「理論値を一致させる」とはどういう意味ですか?パラメーターの推定値が与えられた場合の順序統計の期待 または、他の何か?
Glen_b-モニカを復元

回答:


33

さて、パラメーターおよび(は下限パラメーター、は形状パラメーター)のパレート分布からのサンプルがある場合、その対数尤度サンプルは次のとおりです。バツ1バツnm>0α>0mα

nログα+nαログmα+1=1nログバツ

これは単調増加でため、最大化値は観測データと一致する最大値です。パラメーターはパレート分布のサポートの下限を定義するため、最適なのはmm

m^=バツ

依存しません。次に、通常の微積分のトリックを使用して、ためMLE満たさなければなりませんααα

nα+nログm^=1nログバツ=0

いくつかの単純な代数は、のMLE がα

α^=n=1nログバツ/m^

多くの重要な意味で(たとえば、Cramer-Raoの下限を達成するという点で最適な漸近効率)、これはデータをパレート分布に適合させる最適な方法です。以下のRコードは、指定されたデータセットのMLEを計算しXます。

pareto.MLE <- function(X)
{
   n <- length(X)
   m <- min(X)
   a <- n/sum(log(X)-log(m))
   return( c(m,a) ) 
}

# example. 
library(VGAM)
set.seed(1)
z = rpareto(1000, 1, 5) 
pareto.MLE(z)
[1] 1.000014 5.065213

編集: @cardinalと以下の私による解説に基づいて、はのサンプル平均の逆数であることに注意でき指数分布を持っています。したがって、指数分布に適合するソフトウェア(多くの統計問題で発生する可能性が高いため)にアクセスできる場合、この方法でデータセットを変換して適合させることにより、パレート分布に適合させることができます。変換されたスケールの指数分布に。 ログXI/ Mα^ログバツ/m^


3
(+1)がレート指数関数的に分布していることに注意することで、少し暗示的に物事を書くことができ。これと変換中のMLEの不変性から、であるとすぐに結論付けます。後者の式では、をに置き換えます。これは、明示的なオプションが利用できない場合でも、パレートに適合する標準ソフトウェアをどのように使用できるかも示唆しています。Y=ログバツ/mαα^=1/Y¯mm^
枢機

@cardinal-したがって、はのサンプル平均の逆数であり、たまたま指数分布を持っています。これはどのように役立ちますか?α^ログバツ/m^
マクロ

2
こんにちは、マクロ。私がやろうとしていた点は、パレートのパラメーターを推定する問題を指数関数のレートの推定の問題に(本質的に)減らすことができるということでした。上記の変換により、データと問題を(おそらく)より馴染みのあるもので、すぐに答えを抽出します(私たちまたは私たちのソフトウェアが、指数のサンプルをどう処理するかをすでに知っていると仮定します)。
枢機

この種の適合の誤差をどのように測定できますか?
emanuele

@ emanuele、MLEの近似分散はフィッシャー情報行列の逆数であり、対数尤度の少なくとも1つの導関数を計算する必要があります。または、一種のブートストラップリサンプリングを使用して、標準誤差を推定できます。
マクロ

8

パッケージでfitdist提供されている機能を使用できfitdistrplusます。

library(MASS)
library(fitdistrplus)
library(actuar)

# suppose data is in dataPar list
fp <- fitdist(dataPar, "pareto", start=list(shape = 1, scale = 500))
#the mle parameters will be stored in fp$estimate

それはlibrary(fitdistrplus)どうでしょう?
ショーン

1
@Seanはい、それに応じて編集応答
ケビンLキーズ

library(actuar)これを機能させるには、への呼び出しが必要であることに注意してください。
jsta

この場合、fp $ estimate ["shape"]は何を表していますか?それはおそらく推定アルファですか?それともベータ?
アルバートヘンドリックス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.