Można tego dokonać za pomocą transformacji sinh-arcsinh z
Jones, MC i Pewsey A. (2009). Rozkłady Sinh-arcsinh . Biometrika 96: 761–780.
Transformacja jest zdefiniowana jako
H.( x ; ϵ , δ)=sinh[δsinh−1(x)−ϵ],(⋆)
gdzie i . Gdy transformacja ta zostanie zastosowana do normalnego CDF , powstaje rozkład jednomodalny, którego parametry kontrolują odpowiednio skośność i kurtoza (Jones i Pewsey, 2009) w sensie van Zwet (1969) . Ponadto, jeśli i , otrzymamy oryginalny rozkład normalny. Zobacz następujący kod R. δ ∈ R + S ( x ; ϵ , δ ) = Φ [ H ( x ; ϵ , δ ) ] ( ϵ , δ ) ϵ = 0 δ = 1ϵ∈Rδ∈R+S(x;ϵ,δ)=Φ[H(x;ϵ,δ)](ϵ,δ)ϵ=0δ=1
fs = function(x,epsilon,delta) dnorm(sinh(delta*asinh(x)-epsilon))*delta*cosh(delta*asinh(x)-epsilon)/sqrt(1+x^2)
vec = seq(-15,15,0.001)
plot(vec,fs(vec,0,1),type="l")
points(vec,fs(vec,1,1),type="l",col="red")
points(vec,fs(vec,2,1),type="l",col="blue")
points(vec,fs(vec,-1,1),type="l",col="red")
points(vec,fs(vec,-2,1),type="l",col="blue")
vec = seq(-5,5,0.001)
plot(vec,fs(vec,0,0.5),type="l",ylim=c(0,1))
points(vec,fs(vec,0,0.75),type="l",col="red")
points(vec,fs(vec,0,1),type="l",col="blue")
points(vec,fs(vec,0,1.25),type="l",col="red")
points(vec,fs(vec,0,1.5),type="l",col="blue")
Dlatego wybierając odpowiednią sekwencję parametrów , możesz wygenerować sekwencję rozkładów / przekształceń z różnymi poziomami skośności i kurtozy i sprawić, by wyglądały one podobnie lub inaczej niż rozkład normalny, jak chcesz.(ϵn,δn)
Poniższy wykres pokazuje wynik wygenerowany przez kod R. Dla (i) i oraz (ii) i .δ = 1 ϵ = 0 δ = ( 0,5 , 0,75 , 1 , 1,25 , 1,5 )ϵ = ( - 2 , - 1 ,0,1,2)δ= 1 ϵ = 0δ= ( 0,5 , 0,75 , 1 , 1,25 , 1,5 )
Symulacja tego rozkładu jest prosta, biorąc pod uwagę, że wystarczy przekształcić próbkę normalną za pomocą odwrotności .( ⋆ )
H.- 1( x ; ϵ , δ) = sinh[ δ- 1( sinh- 1( x ) + ϵ ) ]