probplot

Вероятностные графики

Описание

пример

probplot(y) создает нормальный график вероятности, сравнивающий распределение данных в y к нормальному распределению.

probplot строит графики каждой точки данных на y используя символы маркера и рисует ссылку линию, которая представляет теоретическое распределение. Если у выборочных данных нормальное распределение, то точки данных появляются вдоль ссылки линии. Линия ссылки соединяет первый и третий квартили данных и простирается до концов данных. Распределение, отличное от нормального, вводит кривизну в графике данных.

probplot(y,cens) создает график вероятности с использованием данных цензуры в cens.

пример

probplot(y,cens,freq) создает график вероятности с использованием данных цензуры в cens и частотные данные в freq.

пример

probplot(dist,___) создает график вероятности для распределения, заданного dist, с использованием любого из входных параметров в предыдущих синтаксисах.

probplot(ax,___) добавляет график вероятности в существующие оси графика вероятностей, заданные ax, с использованием любого из входных параметров в предыдущих синтаксисах.

probplot(ax,pd) добавляет построенную линию на существующих осях графиков вероятностей, заданных ax для представления распределения вероятностей pd.

пример

probplot(ax,fun,params) добавляет построенную линию на существующих осях графиков вероятностей, заданных ax для представления функции fun с параметрами params.

probplot(___,'noref') опускает ссылку линию с графика.

пример

h = probplot(___) возвращает графические указатели, соответствующие нанесенным на построенные линии.

Примеры

свернуть все

Сгенерируйте выборочные данные и создайте график вероятностей.

Сгенерируйте выборочные данные. Область выборки x1 содержит 500 случайных чисел из распределения Вейбула с параметром шкалы A = 3 и параметры формы B = 3. Область выборки x2 содержит 500 случайных чисел из распределения Релея с параметром шкалы B = 3.

rng('default');  % For reproducibility
x1 = wblrnd(3,3,[500,1]);
x2 = raylrnd(3,[500,1]);

Создайте график вероятности, чтобы оценить, в x1 ли данные и x2 происходит из распределения Вейбула.

figure
probplot('weibull',[x1 x2])
legend('Weibull Sample','Rayleigh Sample','Location','best')

Figure contains an axes. The axes with title Probability plot for Weibull distribution contains 4 objects of type line. These objects represent Weibull Sample, Rayleigh Sample.

График вероятности показывает, что данные в x1 происходит из распределения Вейбула, в то время как данные в x2 не делает.

Также можно использовать wblplot чтобы создать график вероятностей Вейбула.

Создайте график вероятности и дополнительную подобранную линию на том же рисунке.

Сгенерируйте выборочные данные, содержащие около 20% выбросов в хвостах. Левый конец выборочных данных содержит 10 значений, случайным образом сгенерированных из экспоненциального распределения с параметром mu = 1. Правый конец содержит 10 значений, случайным образом сгенерированных из экспоненциального распределения с параметром mu = 5. Центр выборочных данных содержит 80 значений, случайным образом сгенерированных из стандартного нормального распределения.

rng('default')  % For reproducibility
left_tail = -exprnd(1,10,1);
right_tail = exprnd(5,10,1);
center = randn(80,1);
data = [left_tail;center;right_tail];

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

probplot(data)

Постройте график кривой шкалы местоположения t на том же рисунке для сравнения с data.

p = mle(data,'distribution','tLocationScale');
t = @(data,mu,sig,df)cdf('tLocationScale',data,mu,sig,df);
h = probplot(gca,t,p);
h.Color = 'r';
h.LineStyle = '-';
title('{\bf Probability Plot}')
legend('Normal','Data','t','Location','NW')

Figure contains an axes. The axes with title {\bf Probability Plot} contains 3 objects of type line. These objects represent Normal, Data, t.

График показывает, что ни нормальная линия, ни кривая шкалы T не подходят хвостам очень хорошо из-за выбросов.

Создайте наполовину нормальный график распределения вероятностей, чтобы идентифицировать значительные эффекты в эксперименте для изучения факторов, которые могут повлиять на скорость потока жидкости в процессе химического производства. Четыре фактора являются реагентами A, B, C, и D. Каждый фактор присутствует на двух уровнях (высокая и низкая концентрация). Эксперимент содержит только одну репликацию на каждом уровне фактора.

Загрузите выборочные данные.

load flowrate

Первые четыре столбца таблицы flowrate содержат матрицу проекта для факторов и их взаимодействий. Матрица проекта закодирована для использования 1 для высокого факторного уровня и -1 для низкого уровня фактора. Пятый столбец flowrate содержит измеренную скорость потока жидкости.

Подбор линейной регрессионой модели с помощью rate как переменная отклика. Используйте переменные предиктора A, B, C, D, и все их условия взаимодействия.

mdl = fitlm(flowrate,'rate ~ A*B*C*D');

Вычислите и сохраните абсолютное значение оценок факторного эффекта. Чтобы получить оценки эффекта фактора, умножьте оценки коэффициентов, полученные во время подгонки модели, на две. Этот шаг необходим, потому что коэффициенты регрессии измеряют эффект изменения с одной единицей измерения x по среднему значению y. Однако оценки эффектов измеряют изменение в двух единицах x из-за конструкции матрицы кодирования -1 и 1. Исключить базовое измерение. Обратите внимание, что порядок факторов в mdl может отличаться от порядка в исходной матрице проекта.

effects = abs(mdl.Coefficients{2:end,1}*2);

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

figure
h = probplot('halfnormal',effects);

Figure contains an axes. The axes with title Probability plot for Half Normal distribution contains 2 objects of type line.

Пометьте точки и отформатируйте график. Сначала верните значения индексов для оценок отсортированных эффектов (от самых низких до самых высоких). Затем используйте эти значения индекса, чтобы отсортировать значения вероятностей, хранящиеся в указателе на графику (h(1).YData).

[b,i] = sort(effects);
prob(i) = h(1).YData;

Добавить текстовые метки к графику в каждой точке. Для каждой точки x-значение является оценкой эффектов, а y-значение является соответствующей вероятностью.

text(effects,prob,mdl.CoefficientNames(2:end),'FontSize',8,...
    'VerticalAlignment','top')
h(1).Color = 'r';

Figure contains an axes. The axes with title Probability plot for Half Normal distribution contains 17 objects of type line, text.

Точки, расположенные далеко от линии ссылки, представляют значительные эффекты.

Сгенерируйте имитированные частотные данные.

y = 1:10;
freq = [2 4 6 7 9 8 7 7 6 5];

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

probplot(y,[],freq)

Figure contains an axes. The axes with title Probability plot for Normal distribution contains 2 objects of type line.

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

Входные параметры

свернуть все

Выборочные данные, заданная в виде числового вектора или числовой матрицы. probplot отображает каждое значение в y использование маркерных символов, включая 'x' и 'o'. Если y является матрицей, тогда probplot отображает отдельную линию для каждого столбца y.

Не все распределения подходят для всех наборов данных. probplot ошибки, если набор данных не подходит для заданного распределения. См. dist для соответствующих областей значений данных для каждого распределения.

Распределение для графика вероятностей, заданное как объект распределения вероятностей или одно из следующих имен распределения:

ИмяТип графикаОбласть значений данных
'normal'График нормальной вероятностиВсе значения
'exponential'Экспоненциальный график вероятностейНеотрицательные значения
'extreme value'График вероятности экстремального значенияВсе значения
'half normal'Полунормальный график вероятностейВсе значения
'lognormal'Логнормальный график вероятностейПоложительные значения
'logistic'График логистической вероятностиВсе значения
'loglogistic'Логистический график вероятностейПоложительные значения
'rayleigh'График вероятностей РелеяПоложительные значения
'weibull'График вероятностей ВейбулаПоложительные значения

Значение по умолчанию является 'normal' если вы создаете график вероятности на новом рисунке. Если вы добавляете график вероятности к рисунку, который уже включает его при помощи ax входной параметр, тогда по умолчанию это тип графика существующего вероятностного графика.

Можно создать объект распределения вероятностей с заданными значениями параметров, используя makedist. Кроме того, аппроксимация объекта распределения вероятностей к выборочным данным с помощью fitdist. Для получения дополнительной информации об объектах распределения вероятностей смотрите Работа с распределениями вероятностей.

Масштаб y-оси основан на выбранном распределении. Ось x имеет логарифмическую шкалу для логарифмических, логистических и логнормальных распределений и линейную шкалу для других.

Не все распределения подходят для всех наборов данных. probplot ошибки, если набор данных не подходит для заданного распределения.

Пример: 'weibull'

Цензура данных, заданная как числовой вектор. cens должна быть такой же длины, как и y, и содержат 1 значение для наблюдений, которые подвергаются цензуре вправо и 0 значение для наблюдений, которые точно измерены.

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

Частотные данные, заданные как вектор целочисленных значений. freq должна быть такой же длины, как и y. freq содержит целочисленные частоты для соответствующих элементов в y.

Чтобы создать график вероятности с использованием частотных данных, но не цензурирования данных, задайте пустые скобки ([]) для cens.

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

Целевые оси, заданные как Axes объект или UIAxes объект. probplot добавляет дополнительный график в оси, заданные ax. Для получения дополнительной информации смотрите Свойства осей графика и Свойства UIAxes.

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

Распределение вероятностей для опорной линии, заданное как объект распределения вероятностей. probplot добавляет подобранную линию к осям, заданным как ax представлять распределение вероятностей, заданное как pd.

Создайте объект распределения вероятностей с заданными значениями параметров используя makedist. Кроме того, аппроксимация объекта распределения вероятностей к выборочным данным с помощью fitdist. Для получения дополнительной информации об объектах распределения вероятностей смотрите Работа с распределениями вероятностей.

Функция для опорной линии, заданная как указатель на функцию. probplot добавляет подобранную линию к осям, заданным как ax для представления функции, заданной в fun, оцениваемый по параметрам, заданным params.

fun - указатель на функцию в cdf-функцию, заданный с помощью оператора указателя на функцию @. Функция должна принять вектор входа значений в качестве своего первого аргумента и вернуть вектор, содержащий cdf, рассчитанный при каждом входе значении. Задайте значения параметров, необходимые для вычисления fun использование params аргумент. Для получения дополнительной информации о указателях на функцию см. Раздел «Создание указателя на функцию».

Пример: @wblpdf

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

Ссылка на параметры функции линии, заданная как вектор числовых значений или массив ячеек. probplot добавляет подобранную линию к осям, заданным как ax для представления функции, заданной в fun, оцениваемый по параметрам, заданным params.

fun - указатель на функцию в cdf-функцию, заданный с помощью оператора указателя на функцию @. Функция должна принять вектор значений в качестве своего первого аргумента и вернуть вектор значений cdf, оцененных при каждом значении. Задайте значения параметров, необходимые для вычисления fun использование params аргумент. Для получения дополнительной информации о указателях на функцию см. Раздел «Создание указателя на функцию».

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

свернуть все

Графические указатели на линии объектов, возвращенные как вектор Линии графических указателей. Графические указатели являются уникальными идентификаторами, которые можно использовать для запроса и изменения свойств определенной линии на графике. Для каждого столбца y, probplot возвращает два указателя:

  • Линия, представляющая точки данных. probplot представляет каждую точку данных в y использование маркерных символов, таких как '+' и 'o'.

  • Строка, показывающая теоретическое распределение для вероятностного графика, представленная штриховой линией.

Чтобы просмотреть и задать свойства объектов линии, используйте запись через точку. Для получения информации об использовании записи через точку смотрите Доступ к значениям свойств. Для получения информации о Line свойства, которые можно задать, см. раздел «Свойства линии».

Алгоритмы

probplot Соответствует квантилям выборочных данных квантилям заданного распределения вероятностей. Выборочные данные сортируются, масштабируются в соответствии с выбором dist, и нанесенный на ось X. Когда dist является 'lognormal', 'loglogistic', или 'weibull', масштабирование логарифмично. В противном случае масштабирование линейное. Ось Y представляет квантования распределения, заданные в dist, преобразованный в значения вероятностей. Масштабирование зависит от заданного распределения и не является линейным.

Где значение оси X является i-м отсортированным значением из выборки N размера, значение оси Y является средней точкой между точками оценки эмпирической совокупной функции распределения данных. В случае данных без цензуры средняя точка равна (i0.5)N.

probplot накладывает ссылку линию, чтобы оценить линейность графика. Если данные не подвергнуты цензуре, то линия проходит через первый и третий квартили данных. Если данные подвергаются цензуре, то линия сдвигается соответственно. Если данные не подвергнуты цензуре и dist является 'half normal', затем probplot использует вместо этого нули и второй квартиль.

Представлено до R2006a