exponenta event banner

PiecewiseLinearDistribution

Кусочно-линейный объект распределения вероятностей

Описание

A PiecewiseLinearDistribution объект состоит из описания модели для кусочно-линейного распределения вероятностей.

Кусочно-линейное распределение - непараметрическое распределение вероятностей, созданное с использованием кусочно-линейного представления кумулятивной функции распределения (cdf). Опции, заданные для кусочно-линейного распределения, определяют форму cdf. Функция плотности вероятности (pdf) является ступенчатой функцией.

Кусочно-линейное распределение использует следующие параметры.

ПараметрОписание
xВектор значений x, при которых cdf изменяет наклон
FxВектор значений cdf, соответствующих каждому значению в x

Создание

Создать PiecewiseLinearDistribution распределение вероятности с указанным объектом значений параметров с использованием makedist.

Свойства

развернуть все

Параметры распределения

Значения данных, при которых кумулятивная функция распределения (cdf) изменяет наклон, заданные как вектор скалярных значений.

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

значение cdf при каждом значении в x, задается как вектор скалярных значений.

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

Характеристики распределения

Это свойство доступно только для чтения.

Логический флаг для усеченного распределения, заданный как логическое значение. Если IsTruncated равняется 0, распределение не усечено. Если IsTruncated равняется 1, распределение усечено.

Типы данных: logical

Это свойство доступно только для чтения.

Число параметров для распределения вероятностей, указанное как положительное целое значение.

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

Это свойство доступно только для чтения.

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

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

Это свойство доступно только для чтения.

Интервал усечения для распределения вероятностей, заданный как вектор, содержащий нижнюю и верхнюю границы усечения.

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

Другие свойства объекта

Это свойство доступно только для чтения.

Имя вероятностного распределения, указанное как символьный вектор.

Типы данных: char

Это свойство доступно только для чтения.

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

Типы данных: char

Это свойство доступно только для чтения.

Имена параметров распределения, заданные как массив ячеек символьных векторов.

Типы данных: char

Функции объекта

cdfКумулятивная функция распределения
icdfФункция обратного кумулятивного распределения
iqrМежквартильный ареал
meanСреднее распределение вероятности
medianМедиана распределения вероятностей
pdfФункция плотности вероятности
randomСлучайные числа
stdСтандартное отклонение распределения вероятностей
truncateУсечение объекта распределения вероятности
varДисперсия распределения вероятностей

Примеры

свернуть все

Создайте кусочно-линейный объект распределения, используя значения параметров по умолчанию.

pd = makedist('PiecewiseLinear')
pd = 
  PiecewiseLinearDistribution

F(0) = 0
F(1) = 1

Загрузите образцы данных. Визуализируйте данные о весе пациента с помощью гистограммы.

load hospital
histogram(hospital.Weight)

Figure contains an axes. The axes contains an object of type histogram.

Гистограмма показывает, что данные имеют два режима: один для пациентов женского пола и один для пациентов мужского пола.

Вычислите эмпирическую кумулятивную функцию распределения (ecdf) для данных.

[f,x] = ecdf(hospital.Weight);

Постройте кусочно-линейное приближение к ecdf и постройте график обеих функций.

f = f(1:5:end); % keep a less dense grid of points
x = x(1:5:end);

figure;
ecdf(hospital.Weight)
hold on
plot(x,f,'ro','MarkerFace','r') % overlay grid
plot(x,f,'k') % show interpolation

Figure contains an axes. The axes contains 3 objects of type stair, line.

Создайте кусочно-линейный объект распределения вероятностей, используя кусочно-аппроксимацию ecdf.

pd = makedist('PiecewiseLinear','x',x,'Fx',f)
pd = 
  PiecewiseLinearDistribution

F(111) = 0
F(118) = 0.05
F(124) = 0.13
F(130) = 0.25
F(135) = 0.37
F(142) = 0.5
F(163) = 0.55
F(171) = 0.61
F(178) = 0.7
F(183) = 0.82
F(189) = 0.94
F(202) = 1

Создайте 100 случайных чисел из распределения.

rw = random(pd,100,1);

Постройте график случайных чисел для визуального сравнения их распределения с исходными данными.

figure;
histogram(rw)

Figure contains an axes. The axes contains an object of type histogram.

Случайные числа, генерируемые кусочно-линейным распределением, имеют такое же бимодальное распределение, как и исходные данные.

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