Geração de números aleatórios Log-Cauchy

10

Eu preciso desenhar números aleatórios a partir de uma distribuição log-cauchy que tenha densidade: Alguém pode me ajudar ou me indicar um livro / artigo que possa me mostrar como?

f(x;μ,σ)=1 1xπσ[1 1+(eun(x)-μσ)2].
user13317
fonte

Respostas:

11

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 1πarctan(x-μσ)+1 12

é fácil inverter esta função para descobrir que

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

vocêvocênEuform(0 0,1 1)Y=μ+σbronzeado[π(você-1 12)]μσexp(Y)Rrcauchy

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[π(você-1 12)])

Macro
fonte
11
Aqui está um +1 para Macro
Michael R. Chernick