Преобразование статистических распределений

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

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

Функции случайной величины

Рассмотрим X как случайную величину с непрерывной функцией плотности вероятности (PDF) fₓ с пространством выборки 𝓧. Мы можем применить функцию g к X, чтобы получить новую случайную величину Y, т. е. Y = g(X ). В таком случае естественно спросить, как распределение Y связано с распределением X.

Рассмотрим следующий случай:

Здесь fₓ(x) ≥ 0 — это набор поддержки X. Исходя из первого принципа, мы можем записать кумулятивную функцию распределения (CDF) Y как

Функция плотности Y может быть получена с использованием цепного правила дифференцирования (считая, что g монотонно возрастает):

Для монотонно убывающего g имеем (вывод опущен):

и поэтому,

Таким образом, общее правило получения функции плотности для Y может быть записано как:

Теперь давайте посмотрим на пример с графиками и выводами из Python.

Пример

Рассмотрим случайную величину X с равномерным распределением с преобразованием Y:

В этом случае функция плотности равномерного распределения имеет вид:

Равномерное распределение U[a, b] определяется как:

В этом случае функция плотности равномерного распределения имеет вид:

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

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

Теперь наивное представление о функции плотности Y = X³ состоит в том, что амплитуда на рисунке 1 должна быть (1/8) вместо (1/2). Однако это не так. Это можно легко проверить, построив график функции плотности с помощью distplot(A**3), слегка изменив фрагмент кода 1, который дает рисунок 3.

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

Получение функции плотности для примера

Поскольку Y = X³, мы можем написать,

и нам не нужно рассматривать | · | так как в диапазоне [0, 2] монотонно возрастает. Таким образом,

Мы можем смоделировать функцию плотности из уравнения 10, используя модуль rv_continuous пакета scipy. Ниже приведен фрагмент кода:

Приведенный выше код создает график плотности, аналогичный изображенному на рисунке 3. График, соответствующий фрагменту кода 2, показан на рисунке 4.

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

Я надеюсь, что приведенное выше обсуждение дало вам хорошее представление о преобразовании переменных и создании новых статистических распределений и соответствующих функций плотности. Копию этой статьи в формате pdf можно загрузить с https://github.com/rahulbhadani/medium.com/raw/master/05_25_2022/Variable%20Transformation%20to%20Generate%20New%20Distributions.pdf.



Если вам понравилось то, что я пишу, и вы хотите поддержать мой контент, я прошу вас подписаться на Medium через https://rahulbhadani.medium.com/membership.