exponenta event banner

сегмент

Кусочные сегменты распределения, содержащие входные значения

Описание

пример

s = segment(pd,x) возвращает вектор s положительных целых чисел, указывающих, какой сегмент в кусочном распределении pd содержит каждое значение квантиля в x.

Значения 1, 2 и 3 в s указать нижний, центральный и верхний сегменты хвоста в pdсоответственно. Если pd не включает нижний хвостовой сегмент, тогда 1 и 2 указывают соответственно центральный и верхний хвостовые сегменты.

пример

s = segment(pd,[],p) возвращает вектор s положительных целых чисел, указывающих, какой сегмент в кусочном распределении pd содержит каждое совокупное значение вероятности в p.

Примеры

свернуть все

Создание набора данных образца и создание paretotails путем подгонки кусочного распределения с хвостами Парето к сгенерированным данным. Поиск сегмента, содержащего указанные значения квантиля, с помощью функции объекта segment.

Создайте образец набора данных, содержащего 20% отклонений.

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];

Создать paretotails объект путем подгонки кусочного распределения к x. Укажите границы хвостов, используя нижнюю и верхнюю кумулятивные вероятности хвоста так, чтобы подогнанный объект состоял из эмпирического распределения для среднего 80% набора данных и обобщенных распределений Парето (GPD) для нижнего и верхнего 10% набора данных.

pd = paretotails(x,0.1,0.9)
pd = 
Piecewise distribution with 3 segments
      -Inf < x < -1.33251    (0 < p < 0.1): lower tail, GPD(-0.0063504,0.567017)
   -1.33251 < x < 1.80149  (0.1 < p < 0.9): interpolated empirical cdf
        1.80149 < x < Inf    (0.9 < p < 1): upper tail, GPD(0.24874,3.00974)

Найдите сегмент, содержащий указанные точки, с помощью segment функция.

xpts = -3:3;
s = segment(pd,xpts)
s = 1×7

     1     1     2     2     2     3     3

1, 2 и 3 указывают нижний хвостовой, центральный и верхний хвостовые сегменты в pdсоответственно.

Нарисуйте график рассеяния точек (xpts) сгруппированы по своим сегментам по графику кумулятивной функции распределения (cdf). Постройте график cdf pd.

xgrid = linspace(icdf(pd,.01), icdf(pd,.99));
ygrid = cdf(pd,xgrid);
plot(xgrid,ygrid)

Наложение графика рассеяния xpts с помощью gscatter.

hold on
gscatter(xpts,cdf(pd,xpts),s)
legend('cdf','Lower tail','Center','Upper tail')
hold off

Figure contains an axes. The axes contains 4 objects of type line. These objects represent cdf, Lower tail, Center, Upper tail.

Создание набора данных образца и создание paretotails путем подгонки кусочного распределения с хвостами Парето к сгенерированным данным. Поиск сегмента, содержащего граничные точки, с помощью функции объекта segment.

Создайте образец набора данных, содержащего 20% отклонений.

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];

Создать paretotails объект путем подгонки кусочного распределения к x. Укажите границы хвостов, используя нижнюю и верхнюю кумулятивные вероятности хвоста, чтобы подогнанный объект состоял из эмпирического распределения для среднего 80% набора данных и обобщенных распределений Парето (GPD) для нижнего и верхнего 10% набора данных.

pd = paretotails(x,0.1,0.9)
pd = 
Piecewise distribution with 3 segments
      -Inf < x < -1.33251    (0 < p < 0.1): lower tail, GPD(-0.0063504,0.567017)
   -1.33251 < x < 1.80149  (0.1 < p < 0.9): interpolated empirical cdf
        1.80149 < x < Inf    (0.9 < p < 1): upper tail, GPD(0.24874,3.00974)

Возврат граничных значений между кусочными сегментами с помощью boundary функция.

[p,q] = boundary(pd)
p = 2×1

    0.1000
    0.9000

q = 2×1

   -1.3325
    1.8015

Значения в p - кумулятивные вероятности на границах и значения в q являются соответствующими квантилями.

Найдите сегмент, содержащий граничные точки, с помощью значений квантиля.

s1 = segment(pd,q)
s1 = 2×1

     2
     3

1, 2 и 3 указывают нижний хвостовой, центральный и верхний хвостовые сегменты в pdсоответственно. Продукция s1 Из этого следует, что первая граница между нижним хвостовым сегментом и центральным сегментом принадлежит центральному сегменту, а вторая граница между центральным сегментом и верхним хвостовым сегментом принадлежит верхнему хвостовому сегменту.

Можно также использовать кумулятивные значения вероятности для поиска соответствующих сегментов.

s2 = segment(pd,[],[0;p;1])
s2 = 4×1

     1
     2
     3
     3

Входные аргументы

свернуть все

Кусочное распределение с хвостами Парето, указанное как paretotails объект.

Значения квантиля, заданные как числовой вектор.

Типы данных: single | double

Кумулятивные значения вероятности, указанные как числовой вектор диапазона [0,1] значения.

Типы данных: single | double

Представлен в R2007a