R의 양의 안정적인 분포


9

양의 안정적인 분포는 네 가지 모수로 설명됩니다. 왜도 모수 β[1,1]스케일 매개 변수 , 위치 매개 변수 및 소위 인덱스 매개 변수 . 가 0이면 분포는 주위의 대칭 인 경우 양수 (예 : 음수) 일 때 분포가 오른쪽으로 (왼쪽으로) 기울어집니다. 감소 하면 안정적인 분포로 뚱뚱한 꼬리가 허용됩니다 .σ>0μ(,)α(0,2]βμα

경우 확실히 작은 하나보다 로 배포를 제한의 지지체 .αβ=1(μ,)

밀도 함수는 매개 변수 값의 특정 조합에 대한 닫힌 형식 표현식 만 있습니다. 경우 , , 및 는 (식 (4.4 참조) 여기 )μ=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로 밀도를 계산하는 올바른 방법임을 확인할 수 있습니까?

미리 감사드립니다!

편집하다

내가 의심스러운 이유 중 하나는 출력에서 델타 의 값 이 입력 의 값과 다르기 때문입니다. 예:

> 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/α.

내가 준 공식에서 찾을 수있는 가장 빠른 예는 (Feller, 1971)이지만 그 책은 물리적 인 형태로만 발견되었습니다. 그러나 (Hougaard, 1986)는 Laplace 변환과 함께 동일한 공식을 제공합니다

(에스)=이자형[특급(에스엑스)]=특급(에스α).
로부터 stabledist매뉴얼 ( stabledist사용된다 fBasics)의 pm=1파라미터는 (Samorodnitsky 및 Taqqu, 1994), 누구의 온라인 재생 저를 회피 한 다른 리소스에서입니다. 그러나 (Weron, 2001)은 Samorodnitsky의 특성 함수와 Taqqu의α1 되려고
φ(t)=E[exp(itX)]=exp[iδtγα|t|α(1iβsign(t)tanπα2)].
Weron의 논문에서 우리가 사용하는 표기법과 일치하도록 일부 매개 변수의 이름을 바꿨습니다. 그는 사용한다μ ...에 대한 δσ ...에 대한 γ. 어쨌든 연결β=1δ=0우리는 얻는다
φ(t)=exp[γα|t|α(1isign(t)tanπα2)].

참고 (1나는탠 껍질(πα/2))/|1나는탠 껍질(πα/2)|=특급(나는πα/2) ...에 대한 α(0,1) 그리고 나는α=특급(나는πα/2). 공식적으로(에스)=φ(나는에스)설정하여 γ=|1나는탠 껍질(πα/2)|1/αφ() 우리는 얻는다

φ(나는에스)=특급(에스α)=(에스).
주목해야 할 점은 γ 그에 해당하는 α=1/2 또한 1/2하려고한다면 γ=α 또는 γ=1α실제로 나쁜 근사치가 아닙니다. α=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 ed. 뉴욕 : 와일리.
  2. Hougaard, P. (1986). 안정적인 분포 , Biometrika 73 , 387-396 에서 파생 된 이종 인구에 대한 생존 모델 .
  3. Samorodnitsky, G., Taqqu, MS (1994). 안정적인 비 가우시안 랜덤 프로세스 , Chapman & Hall, New York, 1994.
  4. Weron, R. (2001). 레비 안정 분포 재검토 : 꼬리 지수> 2는 레비 안정 체제 , International Journal of Modern Physics C, 2001, 12 (2), 209-223을 배제하지 않습니다 .

1
천만에요. 긍정적 인 안정적인 매개 변수화라는 주제는 올해 초 나에게 많은 두통을 일으켰습니다 (실제로 엉망입니다). 내가 생각 해낸 것을 게시하고 있습니다. 이 특정 형태는 라플라시안 형태가 양의 안정적인 분포에 따라 연약한 용어가있을 때 비례 위험 모델에서 조건부와 한계 회귀 모수 간의 간단한 관계를 허용하기 때문에 생존 분석에 유용합니다 (Hougaard의 논문 참조).
P Schnell

6

내가 생각하는 것은 출력 delta에서 내부 위치 값을보고하는 반면 입력 delta에서는 변화를 설명하는 것입니다. [와 유사한 문제가 발생한 것 같습니다 .] 그래서 당신이 2로 변화를 증가하려고하면gammapm=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=1pm=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=0것과 delta=0.290617이전에 찾은 것을) 시도 하면 동일한 결과를 얻는 것 같습니다 delta. 로 pm=3delta=0.290617같은 이전에 발견 0.02700602의 밀도를 얻을 낮은으로 0에서 바인딩 pm=3delta=0음수가 (사실 -0.290617에서) 하한 얻을.

> 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한 입력에 pm=1평균 을 사용 delta하면 분포 하한이 0이되는 것처럼 보입니다.


5

또한 주목할 점 : Martin Maechler는 안정적인 분산을 위해 코드를 리팩터링하고 일부 개선 사항을 추가했습니다.

그의 새로운 패키지 인 스 테이블 디스트fBasics 에서도 사용될 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.