Ich muss Zufallszahlen aus einer logarithmischen Verteilung mit der folgenden Dichte ziehen: Kann mir jemand helfen oder mich auf ein Buch / Papier verweisen, das mir zeigen könnte, wie?
quelle
Ich muss Zufallszahlen aus einer logarithmischen Verteilung mit der folgenden Dichte ziehen: Kann mir jemand helfen oder mich auf ein Buch / Papier verweisen, das mir zeigen könnte, wie?
Eine Variable hat eine log-cauchy-Verteilung, wenn eine cauchy-Verteilung hat. Wir müssen also nur cauchy Zufallsvariablen generieren und sie potenzieren, um etwas zu erhalten, das log-cauchy verteilt ist.log ( X )
Wir können aus der Cauchy-Verteilung mithilfe der inversen Transformationsabtastung generieren. Wenn Sie zufällige Uniformen in die inverse CDF einer Verteilung einfügen, hat das, was Sie herausholen, diese Verteilung. Die Cauchy-Verteilung mit Location und Scale hat CDF:σ
Es ist einfach, diese Funktion zu invertieren, um dies zu finden
Wenn also dann ist hat eine Cauchy-Verteilung mit Location und Scale und hat eine Log-Cauchy-Verteilung. Einige Codes, die aus dieser Distribution generiert werden sollen (ohne :))Y = μ + σμσexp(Y)R
rcauchy
rlogcauchy <- function(n, mu, sigma)
{
u = runif(n)
x = mu + sigma*tan(pi*(u-.5))
return( exp(x) )
}
Hinweis: Da die Cauchy-Verteilung sehr langwierig ist, erhalten Sie beim Potenzieren auf einem Computer möglicherweise Werte, die numerisch "unendlich" sind. Ich bin mir nicht sicher, ob man etwas dagegen tun kann.
Beachten Sie auch, dass Sie das gleiche Problem haben würden, wenn Sie die inverse Transformationsabtastung direkt mit der log-cauchy-Quantilfunktion durchführen würden, da Sie nach der Berechnung tatsächlich dasselbe tun -