Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Generación de datos mediante familias flexibles de distribuciones

En este ejemplo se muestra cómo generar datos mediante los sistemas de distribuciones de Pearson y Johnson.

Pearson y Johnson Systems

Como se describe en, la elección de una familia paramétrica adecuada de distribuciones para modelar sus datos puede basarse en o conocimiento del proceso de producción de datos, pero la elección es a menudo difícil.Trabajar con distribuciones de probabilidada prioria posteriori El puede hacer que esta elección innecesaria.Pearson and Johnson systems Cada sistema es una familia paramétrica flexible de distribuciones que incluye una amplia gama de formas de distribución, y a menudo es posible encontrar una distribución dentro de uno de estos dos sistemas que proporciona una buena coincidencia con sus datos.

Data Input

Los siguientes parámetros definen cada miembro de los sistemas Pearson y Johnson.

  • Media: Estimado pormean

  • Desviación estándar: Estimado porstd

  • Asimetría: Estimado porskewness

  • Kurtosis: Estimado porkurtosis

Estas estadísticas también se pueden calcular con la función.moment El sistema Johnson, aunque se basa en estos cuatro parámetros, se describe de forma más natural utilizando cuantiles, estimados por la función.quantile

Las funciones y toman argumentos de entrada que definen una distribución (parámetros o cuantiles, respectivamente) y devuelven el tipo y los coeficientes de la distribución en el sistema correspondiente.pearsrndjohnsrnd Ambas funciones también generan números aleatorios a partir de la distribución especificada.

Como ejemplo, cargue los datos, que incluye una variable que contiene las mediciones del kilometraje de gas para cada coche.carbig.matMPG

load carbig MPG = MPG(~isnan(MPG)); histogram(MPG,15)

Las dos secciones siguientes modelan la distribución con los miembros de los sistemas Pearson y Johnson, respectivamente.

Generación de datos mediante el sistema Pearson

El estadístico Karl Pearson ideó un sistema, o familia, de distribuciones que incluye una distribución única que corresponde a cada combinación válida de media, desviación estándar, asimetría y curtosis. Si calcula los valores de muestra para cada uno de estos momentos a partir de los datos, es fácil encontrar la distribución en el sistema de Pearson que coincida con estos cuatro momentos y generar una muestra aleatoria.

El sistema Pearson incrusta siete tipos básicos de distribución juntos en un único marco paramétrico. Incluye distribuciones comunes como la normal y

<math display="block">
<mrow>
<mi>t</mi>
</mrow>
</math>
distribuciones, transformaciones simples de distribuciones estándar, como una distribución beta desplazada y escalada y la distribución de gamma inversa, y una distribución (tipo IV), que no es una simple transformación de ninguna distribución estándar.

Para un conjunto determinado de momentos, hay distribuciones que no están en el sistema que también tienen los mismos primeros cuatro momentos, y la distribución en el sistema de Pearson puede no ser una buena coincidencia con sus datos, especialmente si los datos son multimodal. Pero el sistema cubre una amplia gama de formas de distribución, incluyendo distribuciones simétricas y sesgados.

Para generar una muestra de la distribución de Pearson que coincida estrechamente con los datos, basta con calcular los cuatro momentos de muestra y tratarlos como parámetros de distribución.MPG

moments = {mean(MPG),std(MPG),skewness(MPG),kurtosis(MPG)}; rng('default')  % For reproducibility [r,type] = pearsrnd(moments{:},10000,1);

La segunda salida opcional de indica qué tipo de distribución dentro del sistema de Pearson coincide con la combinación de momentos.pearsrnd

type
type = 1 

En este caso, ha determinado que los datos se describen mejor con una distribución de tipo I Pearson, que es una distribución beta desplazada y escalada.pearsrnd

Compruebe que el ejemplo se asemeja a los datos originales mediante la superposición de las funciones de distribución acumulativa empíricas.

ecdf(MPG); [Fi,xi] = ecdf(r); hold on; stairs(xi,Fi,'r'); hold off

Generación de datos mediante el sistema Johnson

El estadístico Norman Johnson diseñó un sistema diferente de distribuciones que también incluye una distribución única para cada combinación válida de media, desviación estándar, asimetría y curtosis. Sin embargo, dado que es más natural describir distribuciones en el sistema Johnson utilizando cuantiles, trabajar con este sistema es diferente a trabajar con el sistema Pearson.

El sistema Johnson se basa en tres posibles transformaciones de una variable aleatoria normal, más la transformación de identidad. Los tres casos no triviales se conocen como, y, correspondientes a las transformaciones de seno exponenciales, logísticas e hiperbólicas.SLSUSB Los tres se pueden escribir como

<math display="block">
<mrow>
<mi>X</mi>
<mo>=</mo>
<mi>γ</mi>
<mo>+</mo>
<mi>δ</mi>
<mo></mo>
<mi>Γ</mi>
<mrow>
<mo>(</mo>
<mfrac>
<mrow>
<mi>Z</mi>
<mo>-</mo>
<mi>ξ</mi>
</mrow>
<mrow>
<mi>λ</mi>
</mrow>
</mfrac>
<mo>)</mo>
</mrow>
</mrow>
</math>

Dónde

<math display="block">
<mrow>
<mi>Z</mi>
</mrow>
</math>
es una variable aleatoria normal estándar,
<math display="block">
<mrow>
<mi>Γ</mi>
</mrow>
</math>
es la transformación, y
<math display="block">
<mrow>
<mi>γ</mi>
</mrow>
</math>
,
<math display="block">
<mrow>
<mi>δ</mi>
</mrow>
</math>
,
<math display="block">
<mrow>
<mi>ξ</mi>
</mrow>
</math>
Y
<math display="block">
<mrow>
<mi>λ</mi>
</mrow>
</math>
son parámetros de escala y ubicación. El cuarto caso, es la transformación de la identidad.SN

Para generar una muestra a partir de la distribución de Johnson que coincida con los datos, primero defina los cuatro cuantiles a los que se deben transformar los cuatro cuantiles normales estándar espaciados uniformemente de-1,5,-0,5, 0,5 y 1,5.MPG Es decir, calcule los cuantiles de ejemplo de los datos para las probabilidades acumulativas de 0,067, 0,309, 0,691 y 0,933.

probs = normcdf([-1.5 -0.5 0.5 1.5])
probs = 1×4

    0.0668    0.3085    0.6915    0.9332

quantiles = quantile(MPG,probs)
quantiles = 1×4

   13.0000   18.0000   27.2000   36.0000

A continuación, trate esos cuantiles como parámetros de distribución.

[r1,type] = johnsrnd(quantiles,10000,1);

La segunda salida opcional de indica qué tipo de distribución dentro del sistema Johnson coincide con los cuantiles.johnsrnd

type
type =  'SB' 

Puede comprobar que el ejemplo se asemeja a los datos originales superponiendo las funciones de distribución acumulativa empíricas.

ecdf(MPG); [Fi,xi] = ecdf(r1); hold on; stairs(xi,Fi,'r'); hold off

En algunas aplicaciones, puede ser importante hacer coincidir los cuantiles mejor en algunas regiones de los datos que en otros. Para ello, especifique cuatro cuantiles normales estándar espaciados uniformemente a los que desea que coincidan los datos, en lugar del valor predeterminado-1,5,-0,5, 0,5 y 1,5. Por ejemplo, puede que le preocupe más la coincidencia de los datos en la cola derecha que en la izquierda, por lo que debe especificar cuantiles normales estándar que enfatizan la cola derecha.

qnorm = [-.5 .25 1 1.75]; probs = normcdf(qnorm); qemp = quantile(MPG,probs); r2 = johnsrnd([qnorm; qemp],10000,1);

Sin embargo, mientras que la nueva muestra coincide mejor con los datos originales en la cola derecha, coincide mucho peor en la cola izquierda.

[Fj,xj] = ecdf(r2); hold on; stairs(xj,Fj,'g'); hold off

Consulte también

| |