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% набора данных и обобщенных распределений Парето (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