segment

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

Описание

пример

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% набора данных и обобщил распределения Парето (GPDs) для более низких и верхних 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

Сгенерируйте набор выборочных данных и создайте 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% набора данных и обобщил распределения Парето (GPDs) для более низких и верхних 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