exponenta event banner

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 является средней точкой между точками оценки эмпирической кумулятивной функции распределения данных. В случае неподцензурных данных средняя точка равна (i 0,5) N.

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

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