Uma variável tem uma distribuição log-cauchy se log ( X ) tiver uma distribuição cauchy. Portanto, precisamos apenas gerar variáveis aleatórias e exponenciá-las para obter algo que seja log-distribuído.Xregistro( X)
μσ
F( x ) = 1πarctan( x - μσ) + 12
é fácil inverter esta função para descobrir que
F- 1( y) = μ + σbronzeado[ π( y- 12) ]
você∼ U n i fou r m (0,1)Y= μ + σbronzeado[ π( U- 12) ]μσexp( Y)R
rcauchy
rlogcauchy <- function(n, mu, sigma)
{
u = runif(n)
x = mu + sigma*tan(pi*(u-.5))
return( exp(x) )
}
Nota: como a distribuição cauchy é muito longa, quando você a exponencia em um computador, você pode obter valores numericamente "infinitos". Não sei se há algo a ser feito sobre isso.
exp( μ + σbronzeado[ π( U- 12) ] )