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.

Ajuste una distribución no paramétrica con Tails de Pareto

Este ejemplo muestra cómo ajustar una distribución de probabilidad no paramétrica a datos de muestra utilizando colas de Pareto para suavizar la distribución en las colas.

Paso 1. Genere datos de ejemplo.

Genere datos de ejemplo que contengan más valores atípicos de los esperados de una distribución normal estándar.

rng('default')  % For reproducibility left_tail = -exprnd(1,10,1); right_tail = exprnd(5,10,1); center = randn(80,1); data = [left_tail;center;right_tail];

Los datos contienen un 80% de valores de una distribución normal estándar, un 10% de una distribución exponencial con una media de 5 y un 10% de una distribución exponencial con media de-1. En comparación con una distribución normal estándar, los valores exponenciales son más propensos a ser Outliers, especialmente en la parte superior de la cola.

Paso 2. Ajuste las distribuciones de probabilidad a los datos.

Ajuste una distribución normal y una distribución de escala de ubicación a los datos y trace una comparación visual.t

probplot(data); p = fitdist(data,'tlocationscale'); h = probplot(gca,p);  set(h,'color','r','linestyle','-'); title('Probability Plot') legend('Normal','Data','t location-scale','Location','SE')

Ambas distribuciones parecen encajar razonablemente bien en el centro, pero ni la distribución normal ni la distribución de la escala de la ubicación encajan muy bien en las colas.t

Paso 3. Genere una distribución empírica.

Para obtener un mejor ajuste, utilice para generar un CDF empírico basado en los datos de la muestra.ecdf

figure ecdf(data)

La distribución empírica proporciona un ajuste perfecto, pero los valores atípicos hacen que las colas sean muy discretas. Las muestras aleatorias generadas a partir de esta distribución utilizando el método de inversión pueden incluir, por ejemplo, valores cercanos a 4,33 y 9,25, pero no hay valores entre ellos.

Paso 4. Ajuste una distribución usando colas de Pareto.

Se usa para generar un CDF empírico para el medio 80% de los datos y ajustar las distribuciones de Pareto generalizadas al 10% inferior y superior.paretotails

pfit = paretotails(data,0.1,0.9)
pfit =  Piecewise distribution with 3 segments       -Inf < x < -1.24623    (0 < p < 0.1): lower tail, GPD(-0.334156,0.798745)    -1.24623 < x < 1.48551  (0.1 < p < 0.9): interpolated empirical cdf         1.48551 < x < Inf    (0.9 < p < 1): upper tail, GPD(1.23681,0.581868)  

Para obtener un mejor ajuste, se adapta a una distribución uniendo una distribución de ECDF o kernel en el centro de la muestra, y distribuciones de Pareto (GPDs) generalizadas y fluidas en las colas.paretotails Se utiliza para crear un objeto de distribución de probabilidad.paretotailsparetotails Puede acceder a la información sobre el ajuste y realizar cálculos adicionales sobre el objeto utilizando las funciones de objeto del objeto.paretotails Por ejemplo, puede evaluar la CDF o generar números aleatorios a partir de la distribución.

Paso 5. Calcule y trace la CDF.

Computa y traza la CDF de la distribución ajustada.paretotails

x = -4:0.01:10; plot(x,cdf(pfit,x))

La CDF se ajusta estrechamente a los datos, pero es más suave en las colas que el ECDF generado en el paso 3.paretotails

Consulte también

| |

Temas relacionados