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.

paretotails

Distribución a trozos con colas de Pareto

Descripción

Un objeto es una distribución por tramos con distribuciones de Pareto (GPDs) generalizadas en las colas.paretotails

Un objeto consta de uno o dos GPDs en las colas y otra distribución en el centro.paretotails Puede especificar el tipo de distribución para el centro utilizando el argumento de cuando se crea un objeto.cdffunparetotails Los valores válidos son, y un identificador de función.'ecdf''kernel'

se ajusta a una distribución de tipo a las observaciones () y encuentra los cuantiles correspondientes a las probabilidades acumuladas de la cola inferior y superior (y, respectivamente).paretotailscdffunxplpu A continuación, se ajusta a dos GPDs al porcentaje inferior de las observaciones y el porcentaje superior de las observaciones, respectivamente.paretotails100*pl100*(1–pu) Si no tiene al menos dos observaciones distintas en una cola, entonces no crea el segmento de cola correspondiente.xparetotails

Utilice las funciones de objeto y, a continuación, para buscar características de distribución. y devuelven los parámetros de los GPDs en las colas. Devuelve los puntos de contorno entre segmentos de distribución por tramos, devuelve el segmento de una distribución por tramos que contiene los valores de entrada y devuelve el número de segmentos de un objeto.boundarysegmentupperparamslowerparamslowerparamsupperparamsboundarysegmentnsegments

Utilice las funciones de objeto y, a continuación, evalúe la distribución.cdficdfpdfAleatorio Estas funciones se adaptan bien a la cópula y a otras simulaciones de Monte Carlo. Devuelve la densidad de GPD en las colas y la pendiente de la función de distribución acumulativa (CDF) en el centro.pdf Estos valores de la función de densidad de probabilidad (pdf) en el centro generalmente no son buenas estimaciones de la densidad subyacente de los datos originales.

Creación

Cree un objeto de distribución por tramos utilizando.paretotails

Descripción

ejemplo

pd = paretotails(x,pl,pu) Devuelve el objeto de distribución por tramos, que consiste en la distribución empírica en el centro y en distribuciones generalizadas de Pareto en las colas.pd Especifique los límites de las colas utilizando las probabilidades acumuladas de la cola inferior y superior y, respectivamente.plpu

ejemplo

pd = paretotails(x,pl,pu,cdffun) especifica el tipo de segmento de distribución central utilizando.cdffun

Argumentos de entrada

expandir todo

Datos de entrada, especificados como un vector numérico.

Tipos de datos: double

Probabilidad acumulada de la cola inferior, especificada como un escalar numérico en el rango.[0,1] El cuantil de es el límite de las observaciones de la cola inferior.pl

Si es o no tiene al menos dos observaciones distintas en la cola inferior, entonces divide los datos de entrada en dos grupos, el centro y la cola superior.pl0xparetotailsx En este caso, el objeto de distribución ajustada por tramos se compone de dos segmentos: la distribución empírica en el centro y la GPD en la cola superior.pd

Ejemplo: 0.1

Tipos de datos: single | double

Probabilidad acumulada de la cola superior, especificada como un escalar numérico en el rango.[0,1] El cuantil de es el límite de las observaciones de la cola superior.pu

Si es o no tiene al menos dos observaciones distintas en la cola superior, entonces divide los datos de entrada en dos grupos, el centro y la cola inferior.pu1xparetotailsx En este caso, el objeto de distribución de piezas ajustadas consta de dos segmentos: la distribución empírica en el centro y la GPD en la cola inferior.pd

Ejemplo: 0.9

Tipos de datos: single | double

Tipo de segmento de distribución central, especificado como, o un identificador de función.'ecdf''kernel'

ValorDescripción
'ecdf'

CDF empírica interpolada.

utiliza valores como los puntos medios en los pasos verticales de la CDF empírica y calcula las estimaciones para los puntos entre los valores de la interpolación lineal.paretotailsxx Para obtener más información sobre cómo encontrar el CDF empírico interpolado, consulte.Una estimación CDF no paramétrica lineal por tramos

'kernel'

Estimación de suavizado de kernel interpolada de la CDF.

utiliza la función para encontrar estimaciones de CDF para 100 puntos en el rango de, y utiliza la interpolación lineal para calcular las estimaciones para los puntos entre los 100 puntos.paretotailsksdensityx

equivale a especificar un identificador de función.'kernel'fun = @(x)ksdensity(x,'function','cdf');

identificador de función

Las estimaciones interpoladas utilizan una función especificada.

utiliza un identificador para una función del formulario que acepta el vector de datos de entrada y devuelve un vector de valores CDF y un vector de puntos de evaluación.paretotails[p,xi] = fun(x)xpxi Los valores en deben estar ordenados y distintos, pero no tienen que igualar los valores.xix La función calcula las estimaciones de CDF para los puntos entre los valores de la interpolación lineal.paretotailsxi

utiliza para calcular los cuantiles correspondientes a y.paretotailscdffunplpu

Ejemplo: 'kernel'

Propiedades

expandir todo

Esta propiedad es de solo lectura.

Número de segmentos, incluidos el segmento central y los segmentos de cola de un objeto, especificados como un escalar. es 3, 2 o 1 si el número de los segmentos de cola del objeto es 2, 1 o 0, respectivamente.paretotailNumSegments

Tipos de datos: double

Esta propiedad es de solo lectura.

Los parámetros GPD de la cola inferior, se ajustan a las observaciones extremas inferiores en, especificadas como un vector numérico.x El primer valor es el parámetro de forma y el segundo valor es el parámetro de escala de la GPD.

El parámetro Location de la GPD de la cola inferior es igual al cuantil de.pl Utilice la función para devolver el parámetro Location.boundary Por ejemplo, Run, donde es un objeto. es el parámetro Location.[p,q] = boundary(pd)pdparetotailsq(1)

Tipos de datos: single | double

Esta propiedad es de solo lectura.

Los parámetros GPD de la cola superior, se ajustan a las observaciones extremas superiores en, especificadas como un vector numérico.x El primer valor es el parámetro de forma y el segundo valor es el parámetro de escala de la GPD.

El parámetro Location de la GPD de la cola superior es igual al cuantil de.pu Utilice la función para devolver el parámetro Location.boundary Por ejemplo, Run, donde es un objeto. es el parámetro Location.[p,q] = boundary(pd)pdparetotailsq(2)

Tipos de datos: single | double

Funciones del objeto

boundaryLos límites de distribución por tramos
cdfFunción de distribución acumulativa
icdfFunción de distribución acumulativa inversa
lowerparamsParámetros de cola de Pareto inferiores
nsegmentsNúmero de segmentos en distribución por tramos
pdfFunción de densidad de probabilidad
AleatorioLos números aleatorios
segmentLos segmentos de distribución por tramos que contienen valores de entrada
upperparamsParámetros de cola de Pareto superior

Ejemplos

contraer todo

Genere un conjunto de datos de ejemplo y ajuste una distribución por tramos con colas de Pareto a los datos. Especifique una distribución empírica para el centro mediante la configuración predeterminada.paretotails

Genere un conjunto de datos de ejemplo que contenga 100 números aleatorios de una distribución con 3 grados de libertad.t

rng('default');  % For reproducibility t = trnd(3,100,1);

Cree un objeto al ajustar una distribución a trozos.paretotailst Especifique los límites de las colas utilizando las probabilidades acumuladas de la cola inferior y superior para que un objeto ajustado consista en la distribución empírica para el 80% medio del conjunto de datos y GPDs para el 10% inferior y superior del conjunto de datos.

pd = paretotails(t,0.1,0.9)
pd =  Piecewise distribution with 3 segments       -Inf < x < -1.84875    (0 < p < 0.1): lower tail, GPD(0.183032,1.00347)    -1.84875 < x < 2.07662  (0.1 < p < 0.9): interpolated empirical cdf         2.07662 < x < Inf    (0.9 < p < 1): upper tail, GPD(0.333239,1.19705)  

Cada línea de la visualización del objeto muestra el Resumen de cada segmento, incluidos los parámetros GPD (parámetros de forma y escala) y los valores límite en los cuantiles y las probabilidades acumulativas. Utilice las funciones de objeto y devuelva estos valores.boundarylowerparamsupperparams

Puede utilizar la función para devolver el número de segmentos y la función para devolver el segmento que contiene los valores de entrada.nsegmentssegment

También puede utilizar las funciones de distribución, y evaluar la distribución y generar muestras aleatorias.cdficdfpdfrandom

Trace la CDF de la distribución y la CDF del objeto en la misma figura.tparetotails

x = linspace(-5,5); plot(x,tcdf(x,3),'r--') hold on plot(x,cdf(pd,x),'b-')

Busque los puntos de contorno entre los segmentos del objeto utilizando y marque los puntos de la figura.paretotailsboundary

[p,q] = boundary(pd); plot(q,p,'bo') legend('t Distribution','Pareto Tails Object','Boundary Points','Location','best') hold off

Genere un conjunto de datos de ejemplo y ajuste una distribución por tramos con colas de Pareto a los datos. Ajuste un segmento central mediante el uso de un controlador de función.paretotails

Genere un conjunto de datos de ejemplo que contenga un 20% de valores atípicos.

rng('default');  % For reproducibility left_tail = -exprnd(1,100,1); right_tail = exprnd(5,100,1); center = randn(800,1); x = [left_tail;center;right_tail];

Defina un identificador de función utilizando para especificar un valor no predeterminado del ancho de banda.ksdensity

myfun1 = @(x)ksdensity(x,'Bandwidth',.1,'Function','cdf');

Cree un objeto al ajustar una distribución por etapas con el estimador de suavizado de kernel especificado.paretotailsx Especifique los límites de las colas utilizando las probabilidades acumuladas de la cola inferior y superior para que un objeto ajustado consista en el estimador del kernel para el 80% medio del conjunto de datos y GPDs para el 10% inferior y superior del conjunto de datos.

pd1 = paretotails(x,0.1,0.9,myfun1)
pd1 =  Piecewise distribution with 3 segments       -Inf < x < -1.35204    (0 < p < 0.1): lower tail, GPD(0.0104112,0.54947)    -1.35204 < x < 1.80824  (0.1 < p < 0.9): function: @(x)ksdensity(x,'Bandwidth',.1,'Function','cdf')         1.80824 < x < Inf    (0.9 < p < 1): upper tail, GPD(0.227542,3.10586)  

También puede utilizar una distribución paramétrica para el segmento central. Defina una función que se ajuste a una distribución normal a los datos y devuelva los valores CDF y pase el identificador de función al crear un objeto.paretotails

pd2 = paretotails(x,0.1,0.9,@myfun2)
pd2 =  Piecewise distribution with 3 segments       -Inf < x < -2.70875    (0 < p < 0.1): lower tail, GPD(-0.358104,0.831855)    -2.70875 < x < 3.52195  (0.1 < p < 0.9): function: myfun2         3.52195 < x < Inf    (0.9 < p < 1): upper tail, GPD(-0.0661815,5.04694)  
function [p,xi] = myfun2(x)     pd = fitdist(x,'Normal');     xi = linspace(min(x),max(x),length(x)*2);     p = cdf(pd,xi); end

Introducido en R2007a