exponenta event banner

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

В этом примере показано, как создавать данные с использованием систем распределений Пирсона и Джонсона.

Системы Пирсона и Джонсона

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

Ввод данных

Следующие параметры определяют каждого члена систем Пирсона и Джонсона.

  • Среднее - Оценено по mean

  • Стандартное отклонение - Оценено по std

  • Асимметрия - оценка по skewness

  • Куртоз - Оценено kurtosis

Эта статистика также может быть вычислена с помощью moment функция. Система Джонсона, хотя и основана на этих четырех параметрах, более естественно описывается с помощью квантилей, оцененных quantile функция.

pearsrnd и johnsrnd функции принимают входные аргументы, определяющие распределение (параметры или квантили соответственно) и возвращают тип и коэффициенты распределения в соответствующей системе. Обе функции также генерируют случайные числа из указанного распределения.

В качестве примера загрузите данные в carbig.mat, которая включает переменную MPG содержит измерения пробега газа для каждого вагона.

load carbig
MPG = MPG(~isnan(MPG));
histogram(MPG,15)

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

В следующих двух разделах моделируется распределение с членами систем Пирсона и Джонсона соответственно.

Создание данных с помощью системы Пирсона

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

Система Пирсона встраивает семь основных типов распределения в единую параметрическую структуру. Он включает в себя общие распределения, такие как нормальное и t-распределение, простые преобразования стандартных распределений, таких как смещенное и масштабированное бета-распределение и обратное гамма-распределение, и одно распределение - тип IV - которое не является простым преобразованием какого-либо стандартного распределения.

Для данного набора моментов существуют распределения, которые отсутствуют в системе, которые также имеют те же первые четыре момента, и распределение в системе Пирсона может не соответствовать вашим данным, особенно если данные являются мультимодальными. Но система охватывает широкий спектр форм распределения, включая как симметричные, так и скошенные распределения.

Чтобы создать образец из распределения Пирсона, который близко соответствует MPG данные просто вычисляют четыре момента выборки и рассматривают их как параметры распределения.

moments = {mean(MPG),std(MPG),skewness(MPG),kurtosis(MPG)};
rng('default')  % For reproducibility
[r,type] = pearsrnd(moments{:},10000,1);

Дополнительный второй выход из pearsrnd указывает, какой тип распределения в системе Пирсона соответствует комбинации моментов.

type
type = 1

В этом случае pearsrnd определил, что данные лучше всего описаны с распределением Пирсона типа I, которое является смещенным, масштабированным бета-распределением.

Убедитесь, что образец напоминает исходные данные, наложив эмпирические кумулятивные функции распределения.

ecdf(MPG);
[Fi,xi] = ecdf(r);
hold on;
stairs(xi,Fi,'r');
hold off

Figure contains an axes. The axes contains 2 objects of type stair.

Создание данных с помощью системы Джонсона

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

Система Джонсона основана на трёх возможных преобразованиях нормальной случайной величины, плюс преобразование тождества. Три нетривиальных случая известны как SL , SU , и SB , соответствующие экспоненциальным, логистическим и гиперболическим синусоидальным преобразованиям. Все три можно записать как

X=γ+δ⋅Γ (Z-λ)

где Z - стандартная нормальная случайная величина, Γ - преобразование, а γ, δ, λ и λ - параметры масштаба и местоположения. Четвертый случай, SN , - преобразование идентичности.

Чтобы создать образец из распределения Джонсона, который соответствует MPG сначала определяют четыре квантиля, в которые должны быть преобразованы четыре равномерно разнесенных стандартных квантиля -1,5, -0,5, 0,5 и 1,5. То есть вычисляются дискретизированные квантили данных для кумулятивных вероятностей 0,067, 0,309, 0,691 и 0,933.

probs = normcdf([-1.5 -0.5 0.5 1.5])
probs = 1×4

    0.0668    0.3085    0.6915    0.9332

quantiles = quantile(MPG,probs)
quantiles = 1×4

   13.0000   18.0000   27.2000   36.0000

Затем эти квантили рассматриваются как параметры распределения.

[r1,type] = johnsrnd(quantiles,10000,1);

Дополнительный второй выход из johnsrnd указывает, какой тип распределения в системе Джонсона соответствует квантилям.

type
type = 
'SB'

Можно проверить, что образец напоминает исходные данные, наложив эмпирические кумулятивные функции распределения.

ecdf(MPG);
[Fi,xi] = ecdf(r1);
hold on;
stairs(xi,Fi,'r');
hold off

Figure contains an axes. The axes contains 2 objects of type stair.

В некоторых приложениях может быть важно лучше соответствовать квантилям в одних областях данных, чем в других. Для этого вместо значений по умолчанию -1.5, -0.5, 0.5 и 1.5 укажите четыре равномерно расположенных стандартных квантиля, в которых требуется сопоставить данные. Например, вы можете больше заботиться о сопоставлении данных в правом хвосте, чем в левом, и поэтому вы указываете стандартные нормальные квантили, которые подчеркивают правый хвост.

qnorm = [-.5 .25 1 1.75];
probs = normcdf(qnorm);
qemp = quantile(MPG,probs);
r2 = johnsrnd([qnorm; qemp],10000,1);

Тем не менее, в то время как новый образец лучше соответствует исходным данным в правом хвосте, он намного хуже соответствует в левом хвосте.

[Fj,xj] = ecdf(r2);
hold on;
stairs(xj,Fj,'g');
hold off

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

См. также

| |