5 votos

¿Existe una distribución estadística cuyos valores estén acotados $[-1,1]$ y suman 1?

La distribución Dirichlet contiene valores acotados $[0,1]\in \mathbb{R}$ y sumar a $1$ . ¿Existe una distribución paramétrica o un método similar cuyos valores hagan lo mismo pero lleguen a $-1$ ?

Discusión paralela del código

9voto

user164061 Puntos 281

Escalar una distribución Dirichlet

Si desea una variable que se distribuya como una variable distribuida de Dirichlet pero con un rango diferente, entonces puede escalar y desplazar (transformar la variable). Esto es efectivamente cambiar la escala de los ejes.

Para llegar desde $[0,1]$ a $[-1,1]$ puedes multiplicar por 2 y restar 1. Es decir, tu nueva variable $Y$ puede basarse en una variable regular con distribución Dirichlet $X$ por la transformación

$$Y = 2X -1$$

(Donde la transformación se hace para cada uno de los componentes, es decir para cada $y_i$ se computa $y_i = 2x_i-1$ )


La función de densidad de probabilidad se escalará de forma similar, pero con un factor de escala adicional (la densidad es menor cuando se extiende sobre un rango mayor).

Así que la variable regular distribuida de Dirichlet $X$ tiene la distribución de densidad $f_X$ :

$$f_X(\mathbf{x}) = \frac{1}{B(\boldsymbol{\alpha})} \prod_{i=1}^K x_i^{\alpha_i-1}$$

y la variable $Y = 2X-1$ tiene esta distribución de densidad $f_Y$ :

$$f_Y(\mathbf{y}) = \frac{1}{2^K} f_X \left(\frac{\mathbf{y}+1}{2}\right) = \frac{1}{B(\boldsymbol{\alpha})2^K} \prod_{i=1}^K \left(\frac{y_i+1}{2}\right)^{\alpha_i-1}$$

donde $B(\mathbf{\boldsymbol{\alpha}}) =\prod_{i=1}^K \frac{\Gamma(\alpha_i)}{\Gamma(\sum_{i=1}^K \alpha_i)}$


Por lo tanto, no es necesario cambiar nada para $\alpha$ . La transformación sólo requiere escalar y desplazar los ejes (lo que también incluye un escalado de la densidad por un factor $1/2^K$ ).

Lo que sea $\alpha$ dependerá de su aplicación.


Cuando hay una restricción

¿Existe una distribución estadística cuyos valores están acotados [1,1] y suman 1?

Nota: Esta transformación mediante el escalado del eje no siempre es posible en general en el caso de su restricción adicional.

Su condición adicional requiere $$\sum_{i=1}^n y_i = \sum_{i=1}^n (a + b x_i) = an + b \sum_{i=1}^n x_i = 1$$ y esto sólo es válido cuando $n = \frac{1-b}{a}$ . Con nuestra sencilla transformación $a=-1$ y $b=2$ lo hace no retener. En su lugar, debemos utilizar $a=1$ y $b=-2$ y entonces sólo funcionará para una distribución Dirichlet con $n=3$ .

La figura siguiente lo muestra

example

El plano rojo es el dominio de la distribución "regular" de Dirichlet.

El plano verde es cuando se aplica la transformación $y_i = 2x_i -1$ , pero entonces ya no se consigue que las variables sumen 1. En su lugar las variables sumarán -1.

El plano azul $y_i = 1 - 2 x_i$ te dará una transformación tal que la suma sigue siendo 1.

Una distribución homogénea

En base a tu pregunta de stackoverflow parece que no estás buscando una distribución como la de Dirichlet, sino que estás buscando una distribución homogénea (un caso especial de la distribución de Dirichlet cuando todos $\alpha_i =1$ ), donde el pdf es igual a alguna constante $f(\mathbf{x}) = c$ .

Puede hacerlo mediante un muestreo de rechazo o mediante un cálculo iterativo de las coordenadas $x_i$ donde las distribuciones condicionales/marginales $f(x_i|x_1,x_2,\dots,x_{i-1})$ puede derivarse de versiones reescaladas y truncadas de la distribución de Irwin Hall. Se explica en el responder a tu pregunta de stackoverflow.

3voto

Big Agnes Puntos 358

Si realmente necesitas que las variables sumen uno, podrías "forzarlo" dividiendo por la suma. Es decir, si $X_1, X_2, \cdots X_n$ son variables aleatorias, entonces las RV $$Z_i = \frac{X_i}{\sum_{i=1}^n X_i}$$ tienen la propiedad de que $\sum_{i=1}^nZ_i = 1$ (siempre y cuando $\sum X_i \neq 0$ ). Esto es fácil de demostrar.

$$\sum_{j=1}^n Z_j = \sum_{j=1}^n \frac{X_j}{\sum_{i=1}^n X_i} = \frac{1}{\sum_{i=1}^n X_i}\sum_{j=1}^n X_j = 1$$


N <- 10000
x <- 1 - 2*rbeta(N, 3, 3)
z <- x/sum(x)
w <- -1 + 2*(z-min(z))/(max(z) - min(z))
par(mfrow=c(1,2))
hist(x)
hist(z)

enter image description here

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X