Soit suivre une distribution uniforme et suivre une distribution normale. Que peut-on dire sur ? Y a-t-il une distribution pour cela?Y X
J'ai trouvé que le rapport de deux normales avec un zéro moyen est Cauchy.
Soit suivre une distribution uniforme et suivre une distribution normale. Que peut-on dire sur ? Y a-t-il une distribution pour cela?Y X
J'ai trouvé que le rapport de deux normales avec un zéro moyen est Cauchy.
Réponses:
Soit une variable aléatoire avec pdf :f ( x )
où j'ai supposé (cela imbrique le cas standard ). [Des résultats différents seront obtenus si par exemple le paramètre , mais la procédure est exactement la même. ]Uniforme ( 0 , 1 ) a < 0
De plus, soit , et soit avec pdf :W = 1 / Y g ( w )
Ensuite, nous cherchons le pdf du produit , disons , qui est donné par:h ( v )
où j'utilise la TransformProduct
fonction de mathStatica pour automatiser les nitty-gritties, et où Erf
dénote la fonction Error: http://reference.wolfram.com/language/ref/Erf.html
Terminé.
Parcelles
Voici deux tracés du pdf:
Chèque Monte Carlo
Voici une vérification rapide de Monte Carlo du cas Plot 2, juste pour vous assurer qu'aucune erreur ne s'est glissée dans: , , ,
σ=1a=0b=1
La ligne bleue est le pdf empirique de Monte Carlo, et la ligne rouge en pointillés est le pdf théorique ci-dessus. Semble bien :)
Il est possible de trouver la distribution de partir des premiers principes, où et . Considérons la fonction de probabilité cumulative de : X∼U[0,1]Y∼N(μ,σ2)Z
Considérons les deux cas et . Si , alors . De même, si alors .
Maintenant, nous savons . Pour trouver la probabilité ci-dessus, considérons les cas et .
Si , alors la probabilité peut être exprimée comme une intégration de la distribution conjointe de sur la région ci-dessous. (en utilisant les inégalités)
Donc où est la fonction de répartition de .
Trouvez la fonction de distribution de en différenciant ce qui précède.
L'intégrale ci-dessus peut être évaluée à l'aide de la séquence de transformations suivante:
Les intégrales résultantes peuvent être simplifiées pour produire
Ici est la fonction de distribution cumulative de la normale standard. Un résultat identique est obtenu pour le cas .z < 0
Cette réponse peut être vérifiée par simulation. Le script suivant dans R effectue cette tâche.
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")
Voici quelques graphiques pour vérification:
Le sous-dépassement de la réponse théorique observée dans les graphiques autour de est probablement dû à la plage contrainte. Sinon, la réponse théorique semble suivre la densité simulée.
N ≤ 1 M Y < 1 X Y<0set.seed(1);x=rbeta(10000000,1,1)/rnorm(10000000,7);hist(x,n=length(x)/50000)
runif
runif
? Il semble plus idiomatique et semble aussi être plus rapide)
hist(x,n=length(x),xlim=c(-10,10))
) (environ 96% de la distribution semble être à l'intérieur de ces limites)