Erwartung des inversen Logits der normalen Zufallsvariablen


8

Ich habe eine Zufallsvariable und kenne .Y=eX1+eXXN(μ,σ2)

Gibt es eine Möglichkeit, zu berechnen ? Ich habe versucht, das Integral herauszuarbeiten, aber keine großen Fortschritte gemacht. Ist es überhaupt möglich?E(Y)


3
Eine analytische Lösung ist offenbar nicht bekannt. Eine bekannte Annäherung ist in diesem Math Stackexchange Link angegeben: math.stackexchange.com/questions/207861/…
Greenparker

Wenn , dann ist für jedes . E [ Y ] = 1μ=0 σE[Y]=12σ
Wolfies

@wolfies Könnten Sie eine Quelle / Ableitung davon geben?
Greenparker

2
@ Greenparker Die Verteilung von ist in diesem Fall um symmetrisch , QED. 0Y1/20
whuber

1
Ich habe es symbolisch als Einzeiler mit mathStatica / Mathematica gemacht ... aber eine einfache Möglichkeit zu sehen, warum es so sein muss: ...... (i) wenn , dann ist sein PDF um 0 symmetrisch. (ii) Betrachten Sie die Transformation . Dann ist eine symmetrische S-förmige Kurve um , und E [Z] muss gleich 0 sein (symmetrisch). Da , folgt, dassZ = Y - 1XN(0,σ2)ZX=0Y=Z+1Z=Y12=12tanh(x/2)ZX=0 E[Y]=1Y=Z+12E[Y]=12
Wolfies

Antworten:


5

Wie bereits in den Fragenkommentaren und Antworten von @Martijn erwähnt, scheint es keine analytische Lösung für abgesehen von dem Sonderfall, bei dem ergibt .E(Y)μ=0E(Y)=0.5

Zusätzlich haben wir durch Jensens Ungleichung , dass wenn und umgekehrt, dass wenn . Da konvex ist, wennE(Y)=E(f(X))<f(E(X))μ>0E(Y)=E(f(X))>f(E(X))μ<0f(x)=ex1+exx<0 und konkav, wennx>0 und der größte Teil der Masse mit normaler Dichte in diesen Bereichen liegt, abhängig vom Wert vonμ .

Es gibt viele Möglichkeiten, zu approximieren. Ich habe einige, mit denen ich vertraut bin, detailliert beschrieben und am Ende einen R-Code eingefügt.E(Y)

Probenahme

Dies ist recht einfach zu verstehen / umzusetzen:

E(Y)=f(x)N(x|μ,σ2)dx1nΣi=1nf(xi)

wo wir Proben x1,,xn aus N(μ,σ2) .

Numerische Integration

Dies beinhaltet viele Methoden zur Approximation des obigen Integrals - in dem Code habe ich die Integrationsfunktion von R verwendet , die die adaptive Quadratur verwendet.

Duftlose Transformation

Siehe zum Beispiel den Unscented Kalman Filter for Nonlinear Estimation von Eric A. Wan und Rudolph van der Merwe, der beschreibt:

Die unscented Transformation (UT) ist eine Methode zur Berechnung der Statistik einer Zufallsvariablen, die eine nichtlineare Transformation durchläuft

Das Verfahren beinhaltet die Berechnung einer kleinen Anzahl von "Sigma-Punkten", die dann durch f transformiert werden und ein gewichteter Mittelwert wird genommen. Dies steht im Gegensatz dazu, viele Punkte zufällig abzutasten, sie mit f transformieren und den Mittelwert zu nehmen.

Diese Methode ist viel rechnerisch effizienter als die Zufallsstichprobe. Leider konnte ich eine R-Implementierung online nicht finden und habe sie daher nicht in den folgenden Code aufgenommen.

Code

Der folgende Code erstellt Daten mit unterschiedlichen Werten von μ und festem σ . Er gibt f_mudas ist f(E(X)) , und Annäherungen an E(Y)=E(f(X)) über samplingund integration.

integrate_approx <- function(mu, sigma) {
    f <- function(x) {
        plogis(x) * dnorm(x, mu, sigma)
    }
    int <- integrate(f, lower = -Inf, upper = Inf)
    int$value
}

sampling_approx <- function(mu, sigma, n = 1e6) {
    x <- rnorm(n, mu, sigma)
    mean(plogis(x))
}

mu <- seq(-2.0, 2.0, by = 0.5)

data <- data.frame(mu = mu,
                   sigma = 3.14,
                   f_mu = plogis(mu),
                   sampling = NA,
                   integration = NA)

for (i in seq_len(nrow(data))) {
    mu <- data$mu[i]
sigma <- data$sigma[i]
    data$sampling[i] <- sampling_approx(mu, sigma)
data$integration[i] <- integrate_approx(mu, sigma)
}

Ausgabe:

    mu sigma      f_mu  sampling integration
1 -2.0  3.14 0.1192029 0.2891102   0.2892540
2 -1.5  3.14 0.1824255 0.3382486   0.3384099
3 -1.0  3.14 0.2689414 0.3902008   0.3905315
4 -0.5  3.14 0.3775407 0.4450018   0.4447307
5  0.0  3.14 0.5000000 0.4999657   0.5000000
6  0.5  3.14 0.6224593 0.5553955   0.5552693
7  1.0  3.14 0.7310586 0.6088106   0.6094685
8  1.5  3.14 0.8175745 0.6613919   0.6615901
9  2.0  3.14 0.8807971 0.7105594   0.7107460

BEARBEITEN

Ich habe tatsächlich eine einfach zu verwendende, nicht parfümierte Transformation im Python-Paket filterpy gefunden (obwohl die Implementierung von Grund auf recht schnell ist):

import filterpy.kalman as fp
import numpy as np
import pandas as pd


def sigmoid(x):
    return 1.0 / (1.0 + np.exp(-x))


m = 9
n = 1
z = 1_000_000
alpha = 1e-3
beta = 2.0
kappa = 0.0
means = np.linspace(-2.0, 2.0, m)
sigma = 3.14
points = fp.MerweScaledSigmaPoints(n, alpha, beta, kappa)
ut = np.empty_like(means)
sampling = np.empty_like(means)

for i, mean in enumerate(means):
    sigmas = points.sigma_points(mean, sigma**2)
    trans_sigmas = sigmoid(sigmas)
    ut[i], _ = fp.unscented_transform(trans_sigmas, points.Wm, points.Wc)

    x = np.random.normal(mean, sigma, z)
    sampling[i] = np.mean(sigmoid(x))

print(pd.DataFrame({"mu": means,
                    "sigma": sigma,
                    "ut": ut,
                    "sampling": sampling}))

welche Ausgänge:

    mu  sigma        ut  sampling
0 -2.0   3.14  0.513402  0.288771
1 -1.5   3.14  0.649426  0.338220
2 -1.0   3.14  0.716851  0.390582
3 -0.5   3.14  0.661284  0.444856
4  0.0   3.14  0.500000  0.500382
5  0.5   3.14  0.338716  0.555246
6  1.0   3.14  0.283149  0.609282
7  1.5   3.14  0.350574  0.662106
8  2.0   3.14  0.486598  0.710284

μσY=f(X)

import matplotlib.pyplot as plt

x = np.random.normal(means[0], sigma, z)
plt.hist(sigmoid(x), bins=50)
plt.title("mu = {}, sigma = {}".format(means[0], sigma))
plt.xlabel("f(x)")
plt.show()

Histogramm

σ


3

Y

Weitere Informationen zu diesen Distributionen finden Sie in einem frei verfügbaren Artikel: Atchison, J. und Sheng M. Shen. "Logistisch-normale Verteilungen: Einige Eigenschaften und Verwendungen." Biometrika 67.2 (1980): 261 & ndash; 272.

In diesem Text geben sie keine Ausdrücke für Grenzen, Annäherungen oder das Verhalten der Momente (außer zu erwähnen, dass sie existieren). Sie fahren jedoch mit Ausdrücken für den Erwartungswert für das Verhältnis zweier Komponenten in einer multivariaten logistischen normalverteilten Variablen fort.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.