La risposta breve è che il tuo va bene, ma il tuo è sbagliato. Per ottenere la distribuzione stabile positiva data dalla tua formula in R, devi impostare
δγ
γ=|1−itan(πα/2)|−1/α.
Il primo esempio che ho trovato della formula che hai dato è stato in (Feller, 1971), ma ho trovato quel libro solo in forma fisica. Tuttavia (Hougaard, 1986) fornisce la stessa formula, insieme alla trasformazione di Laplace
Dal manuale ( usato in ), la parametrizzazione è di (Samorodnitsky e Taqqu, 1994), un'altra risorsa la cui riproduzione online mi ha eluso. Tuttavia (Weron, 2001) fornisce la funzione caratteristica nella parametrizzazione di Samorodnitsky e Taqqu affinché sia
L(s)=E[exp(−sX)]=exp(−sα).
stabledist
stabledist
fBasics
pm=1
α≠1φ(t)=E[exp(itX)]=exp[iδt−γα|t|α(1−iβsign(t)tanπα2)].
Ho rinominato alcuni parametri dalla carta di Weron al lato della moneta con la notazione che stiamo usando. Usa per e per . In ogni caso, inserendo e , otteniamo
μδσγβ=1δ=0φ(t)=exp[−γα|t|α(1−isign(t)tanπα2)].
Si noti che per e che . Formalmente, , quindi impostando in otteniamo
Un punto interessante da notare è che la che corrisponde a è anche , quindi se dovessi provare o(1−itan(πα/2))/|1−itan(πα/2)|=exp(−iπα/2)α∈(0,1)iα=exp(iπα/2)L(s)=φ(is)γ=|1−itan(πα/2)|−1/αφ(t)
φ(is)=exp(−sα)=L(s).
γα=1/21/2γ=αγ=1−α, che in realtà non è una cattiva approssimazione, finisci esattamente per .
α=1/2
Ecco un esempio in R per verificare la correttezza:
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)
}
- Feller, W. (1971). Introduzione alla teoria della probabilità e alle sue applicazioni , 2 , 2a ed. New York: Wiley.
- Hougaard, P. (1986). Modelli di sopravvivenza per popolazioni eterogenee derivate da distribuzioni stabili , Biometrika 73 , 387-396.
- Samorodnitsky, G., Taqqu, MS (1994). Processi casuali non gaussiani stabili , Chapman & Hall, New York, 1994.
- Weron, R. (2001). Distribuzioni stabili al Levy rivisitate: indice di coda> 2 non esclude il regime Levy-stabile , International Journal of Modern Physics C, 2001, 12 (2), 209-223.