Let bir eş dağılımını takip etmek ve normal bir dağılım izleyin. X hakkında ne söylenebilir? ? Bunun için bir dağıtım var mı?
Ortalama sıfır ile iki normalin oranının Cauchy olduğunu buldum.
Let bir eş dağılımını takip etmek ve normal bir dağılım izleyin. X hakkında ne söylenebilir? ? Bunun için bir dağıtım var mı?
Ortalama sıfır ile iki normalin oranının Cauchy olduğunu buldum.
Yanıtlar:
Rasgele değişken pdf f ( x ) ile olsun :
burada olduğunu varsaydım (bu standart Düzgün ( 0 , 1 ) durumu iç içe geçirir ). Mesela parametre ise [farklı sonuçlar elde edilecek bir < 0 , ancak prosedür tam olarak aynıdır. ]
Ayrıca, ve p = g ( w ) ile W = 1 / Y olsun :
Ardından, ürününün pdf'sini ararız , diyelim ki h ( v ) :
Ben kullanıyorum nerede mathStatica 'ın TransformProduct
asıl gritties otomatik hale getirmek işlevini ve nerede Erf
hata fonksiyonunu ifade eder: http://reference.wolfram.com/language/ref/Erf.html
Hepsi tamam.
Arsalar
İşte pdf'in iki grafiği:
Monte Carlo çek
Burada, hiçbir hatanın akmadığından emin olmak için Plot 2 vakasının hızlı bir Monte Carlo kontrolü:
,σ=1,a=0,b=1
Mavi çizgi ampirik Monte Carlo pdf'dir ve kırmızı kesik çizgi yukarıdaki teorik pdf . İyi görünüyor :)
Z = X dağılımını bulmak mümkündür ilk ilkelerinden Y , buradaX∼U[0,1]veY∼N(μ,σ2). Z'ninkümülatif olasılık fonksiyonunu düşünün:
İki ve Y < 0 vakasını ele alalım . Eğer Y > 0 , daha sonra X- . Benzer şekilde, eğer Y, < 0 , sonra X .
Böylece
Yukarıdaki integral, aşağıdaki dönüşüm dizisi kullanılarak değerlendirilebilir:
Elde edilen integraller, f Z vermek üzere basitleştirilebilir.
Bu cevap simülasyon ile doğrulanabilir. R'deki aşağıdaki komut dosyası bu görevi gerçekleştirir.
n <- 1e7
mu <- 2
sigma <- 4
X <- runif(n)
Y <- rnorm(n, mean=mu, sd=sigma)
Z <- X/Y
# Constrain range of Z to allow better visualization
Z <- Z[Z>-10]
Z <- Z[Z<10]
# The actual density
hist(Z, breaks=1000, xlim=c(-10,10), prob=TRUE)
# The theoretical density
r <- seq(from=-10, to=10, by=0.01)
p <- sigma/sqrt(2*pi)*( exp( -mu^2/(2*sigma^2)) - exp(-(1/r-mu)^2/(2*sigma^2)) ) + mu*( pnorm((1/r-mu)/sigma) - pnorm(-mu/sigma) )
lines(r,p, col="red")
Doğrulama için birkaç grafik:
civarındaki grafiklerde görülen teorik cevabın altını çizmek
set.seed(1);x=rbeta(10000000,1,1)/rnorm(10000000,7);hist(x,n=length(x)/50000)
runif
runif
? Daha deyimsel ve daha hızlı görünüyor)
hist(x,n=length(x),xlim=c(-10,10))