Expectativa de Logit inverso de variable aleatoria normal

8

Tengo una variable aleatoria Y=eX1+eX Y yo sé XN(μ,σ2).

¿Hay alguna manera de calcular E(Y)? He tratado de resolver la integral, pero no he progresado mucho. ¿Es posible?

Enrique
fuente
3
Aparentemente, no se conoce una solución analítica. Se proporciona una aproximación conocida en este enlace de intercambio de pila de Math: math.stackexchange.com/questions/207861/…
Greenparker
Si μ=0, entonces E[Y]=12, para cualquier σ.
Wolfies
@wolfies ¿Podría dar una fuente / derivación de eso?
Greenparker
2
@Greenparker La distribución de Y1/2 es simétrico alrededor 0en ese caso, QED.
whuber
1
Lo hice simbólicamente como una línea con mathStatica / Mathematica ... pero una manera fácil de ver por qué debe ser así: ...... (i) si XN(0,σ2), entonces su pdf es simétrico alrededor de 0. (ii) Considere la transformación Z=Y12=12tanh(x/2). EntoncesZ es una curva simétrica en forma de S sobre X=0, y E [Z] debe ser igual a 0 (por simetría). Ya queY=Z+12, resulta que E[Y]=12
Wolfies

Respuestas:

5

Como ya se mencionó en los comentarios y preguntas de @Martijn, no parece haber una solución analítica para E(Y) aparte del caso especial donde μ=0 lo que da E(Y)=0.5.

Además, por la desigualdad de Jensen tenemos queE(Y)=E(f(X))<f(E(X)) Si μ>0 y a la inversa que E(Y)=E(f(X))>f(E(X)) Si μ<0. Ya quef(x)=ex1+ex es convexo cuando x<0 y cóncavo cuando x>0 y la mayor parte de la masa de densidad normal estará en esas regiones dependiendo del valor de μ.

Hay muchas formas de aproximar E(Y), He detallado algunos con los que estoy familiarizado e incluí algunos códigos R al final.

Muestreo

Esto es bastante fácil de entender / implementar:

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

donde sacamos muestras x1,,xn desde N(μ,σ2).

Integracion numerica

Esto incluye muchos métodos de aproximación de la integral anterior: en el código utilicé la función de integración de R que utiliza la cuadratura adaptativa.

Transformación sin perfume

Véase, por ejemplo, El filtro de Kalman sin perfume para la estimación no lineal de Eric A. Wan y Rudolph van der Merwe, que describe:

La transformación sin perfume (UT) es un método para calcular las estadísticas de una variable aleatoria que sufre una transformación no lineal.

El método implica calcular una pequeña cantidad de "puntos sigma" que luego se transforman fy se toma una media ponderada. Esto contrasta con el muestreo aleatorio de muchos puntos, transformándolos conf y tomando la media.

Este método es mucho más eficiente computacionalmente que el muestreo aleatorio. Desafortunadamente no pude encontrar una implementación de R en línea, así que no la he incluido en el código a continuación.

Código

El siguiente código crea datos con diferentes valores de μ y arreglado σ. Da salida f_muque esf(E(X))y aproximaciones de E(Y)=E(f(X))vía samplingy 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)
}

salida:

    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

EDITAR

En realidad, encontré una transformación sin perfume fácil de usar en el paquete de python filterpy (aunque en realidad es bastante rápido de implementar desde cero):

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}))

que salidas:

    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

Por lo tanto, la transformación sin perfume parece funcionar bastante mal para estos valores de μ y σ. Esto quizás no sea sorprendente, ya que la transformación sin perfume intenta encontrar la mejor aproximación normal aY=f(X) y en este caso está lejos de ser normal:

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()

histograma

Para valores menores de σ Parece estar bien.

Jeff
fuente
3

La variable Ytiene una distribución logit normal o logística normal cuyos momentos no tienen una descripción analítica conocida. Puede obtener los valores computacionalmente.

Se describe más sobre estas distribuciones en un artículo disponible gratuitamente: Atchison, J. y Sheng M. Shen. "Distribuciones logísticas normales: algunas propiedades y usos". Biometrika 67.2 (1980): 261-272.

En ese texto no dan ninguna expresión para los límites, aproximaciones o comportamiento de los momentos (excepto mencionar que existen). Pero sí continúan con expresiones para el valor esperado de la relación de dos componentes en una variable distribuida normal logística multivariada.

Sexto Empírico
fuente