Log-Cauchy Generación de números aleatorios


10

Necesito dibujar números aleatorios de una distribución log-cauchy que tiene densidad: ¿Alguien puede ayudarme o señalarme un libro / documento que pueda mostrarme cómo?

F(X;μ,σ)=1Xπσ[1+(lnorte(X)-μσ)2].

Respuestas:


11

Una variable tiene una distribución log-cauchy si tiene una distribución cauchy. Entonces, solo necesitamos generar variables aleatorias cauchy y exponerlas para obtener algo que esté distribuido log-cauchy.log ( X )XIniciar sesión(X)

Podemos generar a partir de la distribución cauchy usando muestreo de transformación inversa , que dice que si conecta uniformes aleatorios en el CDF inverso de una distribución, entonces lo que obtiene tiene esa distribución. La distribución cauchy con ubicación y scale tiene CDF:σμσ

F(X)=1πarctan(X-μσ)+12

es sencillo invertir esta función para encontrar que

F-1(y)=μ+σbronceado[π(y-12)]

Por lo tanto, si entonces tiene una distribución cauchy con ubicación y scale y tiene una distribución log-cauchy. Algún código para generar a partir de esta distribución (sin usar :))UUnorteyoFormetro(0 0,1)Y=μ+σbronceado[π(U-12)]μσExp(Y)Rrcauchy

rlogcauchy <- function(n, mu, sigma)
{
    u = runif(n)
    x = mu + sigma*tan(pi*(u-.5))
    return( exp(x) ) 
}

Nota: dado que la distribución cauchy tiene una cola muy larga, cuando las expones en una computadora, puedes obtener valores numéricamente "infinitos". No estoy seguro de que haya algo que hacer al respecto.

También tenga en cuenta que si tuviera que hacer un muestreo de transformación inversa utilizando la función de cuantil log-cauchy directamente, tendría el mismo problema, ya que, después de hacer el cálculo, en realidad termina con el mismo acto -Exp(μ+σbronceado[π(U-12)])


1
Aquí hay un +1 para Macro
Michael R. Chernick
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.