Rの正の安定分布


9

正の安定分布は、歪度パラメーター、スケールパラメーター、位置パラメーターなどの4つのパラメーターで記述されます。-呼び出されたインデックスパラメータ。がゼロの場合、分布は中心に対称であり、正(または負)の場合、分布は右(左)に歪む。が減少すると、安定した分布により太い裾が可能になります。σ > 0 μ - α 0 2 ] β μ αβ[1,1]σ>0μ(,)α(0,2]βμα

場合、厳密に1未満であり、に対して配信制限しのサポート。β = 1 μ αβ=1(μ,)

密度関数には、パラメーターの値の特定の組み合わせについてのみ、閉じた形式の式があります。場合、、、およびそれは(式(4.4を参照)であり、ここ)。α < 1 β = 1 σ = αμ=0α<1β=1σ=α

f(y)=1πyk=1Γ(kα+1)k!(yα)ksin(αkπ)

無限の平均と分散があります。

質問

その密度をRで使用したいと思います。

> alpha <- ...
> dstable(y, alpha=alpha, beta=1, gamma=alpha, delta=0, pm=1)

ここで、dstable関数はfBasicsパッケージに付属しています。

これがRでその密度を計算する正しい方法であることを確認できますか?

前もって感謝します!

編集

私が疑わしい理由の1つは、出力ではdeltaの値が入力とは異なるためです。例:

> library(fBasics)
> alpha <- 0.4
> dstable(4, alpha=alpha, beta=1, gamma=alpha, delta=0, pm=1)
[1] 0.02700602
attr(,"control")
   dist alpha beta gamma    delta pm
stable   0.4    1   0.4 0.290617  1

回答:


6

簡単に言えば、は問題ありませんが、は間違っています。Rの数式で与えられる正の安定分布を取得するには、を設定する必要があります γ γ = | 1 - 私は日焼けπ α / 2 | 1 / αδγ

γ=|1itan(πα/2)|1/α.

あなたが与えた式の最初の例は(Feller、1971)でしたが、その本は物理的な形でしか見つかりませんでした。ただし、(Hougaard、1986)は、ラプラス変換 (マニュアルで使用されている)、パラメータは(SamorodnitskyとTaqqu、1994)、そのオンライン再現私の目を逃れている別のリソースからです。しかし(Weron、2001)のためにSamorodnitskyとTaqquのパラメータで特徴的な機能を提供しますします

L(s)=E[exp(sX)]=exp(sα).
stablediststabledistfBasicspm=1α1
φ(t)=E[exp(itX)]=exp[iδtγα|t|α(1iβsign(t)tanπα2)].
Weronの論文の一部のパラメーターの名前を、使用している表記法に合わせて変更しました。彼が使用していますのためのと用。いずれの場合でも、と、 μδσγβ=1δ=0
φ(t)=exp[γα|t|α(1isign(t)tanπα2)].

注意してください for and that。形式的には、なので、で、我々は、get 注意すべき興味深い点の1つは、に対応するもであるため、またはを試した場合(1itan(πα/2))/|1itan(πα/2)|=exp(iπα/2)α(0,1)iα=exp(iπα/2)γ = | 1 - 私は日焼けπ α / 2 | - 1 / α φ T φ I S = EXP - S α = LS γ α = 1 / 2 1 / 2 γ = α γ = 1 - α αL(s)=φ(is)γ=|1itan(πα/2)|1/αφ(t)

φ(is)=exp(sα)=L(s).
γα=1/21/2γ=αγ=1α、これは実際には悪い近似ではありません、あなたは 1/2に対して正確に終わります。α=1/2

Rで正しいかどうかを確認する例を次に示します。

library(stabledist)

# Series representation of the density
PSf <- function(x, alpha, K) {
  k <- 1:K
  return(
    -1 / (pi * x) * sum(
      gamma(k * alpha + 1) / factorial(k) * 
        (-x ^ (-alpha)) ^ k * sin(alpha * k * pi)
    )
  )
}

# Derived expression for gamma
g <- function(a) {
  iu <- complex(real=0, imaginary=1)
  return(abs(1 - iu * tan(pi * a / 2)) ^ (-1 / a))
}

x=(1:100)/100
plot(0, xlim=c(0, 1), ylim=c(0, 2), pch='', 
     xlab='x', ylab='f(x)', main="Density Comparison")
legend('topright', legend=c('Series', 'gamma=g(alpha)'),
       lty=c(1, 2), col=c('gray', 'black'),
       lwd=c(5, 2))
text(x=c(0.1, 0.25, 0.7), y=c(1.4, 1.1, 0.7), 
     labels=c(expression(paste(alpha, " = 0.4")),
              expression(paste(alpha, " = 0.5")),
              expression(paste(alpha, " = 0.6"))))

for(a in seq(0.4, 0.6, by=0.1)) {
  y <- vapply(x, PSf, FUN.VALUE=1, alpha=a, K=100)
  lines(x, y, col="gray", lwd=5, lty=1)
  lines(x, dstable(x, alpha=a, beta=1, gamma=g(a), delta=0, pm=1), 
        col="black", lwd=2, lty=2)
}

プロット出力

  1. フェラー、W(1971)。確率論とその応用への入門2、第2版。ニューヨーク:ワイリー。
  2. Hougaard、P.(1986)。安定分布に由来する不均一な集団の生存モデルBiometrika 73、387から396まで。
  3. Samorodnitsky、G.、Taqqu、MS(1994)。Stable Non-Gaussian Random Processes、Chapman&Hall、ニューヨーク、1994。
  4. Weron、R.(2001)。Levy-stable distributions revisited:tail index> 2は、Levy-stableレジームを除外しません、International Journal of Modern Physics C、2001、12(2)、209-223。

1
どういたしまして。正の安定したパラメーター化のトピックは、今年の初めに私にとって多くの頭痛の種を引き起こしました(それは本当に混乱です)、そこで私は思いついたことを投稿します。この特定の形式は生存分析に役立ちます。ラプラシアンの形式は、正の安定分布に従う脆弱項がある場合に、比例ハザードモデルの条件付き回帰パラメーターと限界回帰パラメーターの間の単純な関係を可能にするためです(Hougaardの論文を参照)。
Pシュネル2014年

6

私が起こっていると思うのはdelta、入力でdeltaはシフトを説明しているのに対し、出力では内部の場所の値を報告している可能性があるということです。[ gammawhenにも同様の問題があるようpm=2です。]ですから、シフトを2に増やしてみると

> dstable(4, alpha=0.4, beta=1, gamma=0.4, delta=2, pm=1)
[1] 0.06569375
attr(,"control")
   dist alpha beta gamma    delta pm
 stable   0.4    1   0.4 2.290617  1

次に、場所の値に2を追加します。

beta=1し、pm=1あなたは0で下限分布と正の確率変数を持っています。

> min(rstable(100000, alpha=0.4, beta=1, gamma=0.4, delta=0, pm=1))
[1] 0.002666507

2だけシフトし、下限が同じ量だけ上昇する

> min(rstable(100000, alpha=0.4, beta=1, gamma=0.4, delta=2, pm=1))
[1] 2.003286

ただし、delta入力をシフトや下限ではなく内部の場所の値にしたい場合は、パラメーターに別の指定を使用する必要があります。たとえば、あなたは(と、以下しようpm=3と試みるdelta=0delta=0.290617、先ほどたが)、あなたが同じ得るように見えるdeltaとアウト。を使用するpm=3と、delta=0.290617以前に見つけた0.02700602と同じ密度と下限が0にpm=3なりdelta=0ます。

> dstable(4, alpha=0.4, beta=1, gamma=0.4, delta=0, pm=3)
[1] 0.02464434
attr(,"control")
   dist alpha beta gamma delta pm
 stable   0.4    1   0.4     0  3
> dstable(4, alpha=0.4, beta=1, gamma=0.4, delta=0.290617, pm=3)
[1] 0.02700602
attr(,"control")
   dist alpha beta gamma    delta pm
 stable   0.4    1   0.4 0.290617  3
> min(rstable(100000, alpha=0.4, beta=1, gamma=0.4, delta=0, pm=3))
[1] -0.2876658
> min(rstable(100000, alpha=0.4, beta=1, gamma=0.4, delta=0.290617, pm=3))
[1] 0.004303485

delta出力で単に無視する方が簡単であることがわかるかもしれませんが、入力で平均をbeta=1使用し続ける限り、分布の下限は0になりたいようです。pm=1delta


4

また、注目すべき点は、Martin Maechlerが安定版のディストリビューション用にコードをリファクタリングし、いくつかの改良を加えただけです。

彼の新しいパッケージstabledistfBasicsでも使用されるため、これも同様に見たいと思うかもしれません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.