• Автор записи:
  • Рубрика записи:Scipy
  • Время чтения:6 минут чтения
  • Комментарии к записи:0 комментариев

В этом руководстве мы узнаем о «Python Scipy Stats Poisson» для вычисления CDF, PDF, Logpdf и т. д., распределения Пуассона.

Содержание

Что такое распределение Пуассона

Распределение Пуассона — это тип распределения вероятностей, используемый в статистике для определения того, как часто событие будет происходить в течение определенного периода времени. Другими словами, это распределение счетчиков.

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

Учитывая, что распределение Пуассона является дискретной функцией, для переменной возможны только определенные значения в (возможно, бесконечном) списке. Другими словами, переменная не способна принимать все значения в любом непрерывном диапазоне.

Переменная не может принимать дробные или десятичные значения распределения Пуассона, он может принимать только целые целые значения(0, 1, 2, 3 и т. д.).

Статистика

scipy.stats.poisson представляет дискретную случайную величину. Он имеет различные виды функций распределения, такие как CDF, медиана и т. д.

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

Синтаксис:

scipy.stats.poisson.method_name(mu,k,loc,moments)

Где параметры:

  • mu: используется для определения параметра формы.
  • К: данные.
  • loc: используется для указания среднего значения, по умолчанию оно равно 0.
  • moments: используется для расчета таких статистических данных, как стандартное отклонение, эксцесс и среднее значение.

Вышеуказанные параметры являются общим параметром всех методов объекта scipy.stats.poisson(). Методы приведены ниже:

  • scipy.stats.poisson.cdf(): используется для кумулятивной функции распределения.
  • scipy.stats.poisson.rvs(): чтобы получить случайные переменные.
  • scipy.stats.poisson.stats(): используется для получения стандартного отклонения, среднего значения, эксцесса и асимметрии.
  • scipy.stats.poisson.logPDF(): используется для получения журнала, связанного с функцией плотности вероятности.
  • scipy.stats.poisson.logCDF(): используется для поиска журнала, связанного с кумулятивной функцией распределения.
  • scipy.stats.poisson.sf(): используется для получения значений функции выживания.
  • scipy.stats.poisson.isf(): используется для получения значений обратной функции выживания.
  • scipy.stats.poisson.logsf(): используется для поиска журнала, связанного с функцией выживания.
  • scipy.stats.poisson.mean(): используется для нахождения среднего значения, связанного с нормальным распределением.
  • scipy.stats.poisson.medain(): используется для нахождения медианы, связанной с нормальным распределением.
  • scipy.stats.poisson.var(): используется для поиска дисперсии, связанной с распределением.
  • scipy.stats.poisson.std(): используется для определения стандартного отклонения, связанного с распределением.

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

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

from scipy.stats import poisson
import matplotlib.pyplot as plt
import numpy as np

Код создает переменную для параметров формы и присваивает ей некоторые значения.

mu = 0.5

Создайте массив данных, используя метод ppf() объекта Пуассона, используя приведенный ниже код.

array_data = np.linspace(poisson.ppf(0.01, mu),
                poisson.ppf(0.90, mu))
array_data

Метод ppf() объекта Пуассона

Теперь постройте функцию массы вероятности, обратившись к методу pdf() объекта Poisson модуля scipy.stats, используя приведенный ниже код.

fig, ax = plt.subplots(1, 1)
ax.plot(array_data, poisson.pmf(array_data, mu), 'bo',ms=8,label='poisson pmf')
ax.vlines(array_data, 0,poisson.pmf(array_data, mu),colors='b', lw=4, alpha=0.5,)

Как использовать Poission

Статистика CDF

Объект Poisson имеет метод cdf() для вычисления совокупного распределения распределения Пуассона.

Синтаксис:

scipy.stats.poisson.cdf(mu,k,loc)

Где параметры:

  • mu: используется для определения параметра формы.
  • К: это данные.
  • loc: используется для указания среднего значения, по умолчанию оно равно 0.

Давайте рассмотрим пример, выполнив следующие шаги.

Импортируйте необходимые библиотеки, используя приведенный ниже код Python.

from scipy.stats import poisson
import matplotlib.pyplot as plt
import numpy as np

Код создает переменную для параметров формы и присваивает ей некоторые значения.

mu = 5

Создайте массив данных, используя метод ppf() объекта Пуассона, используя приведенный ниже код.

array_data = np.linspace(poisson.ppf(0.01, mu),
                poisson.ppf(0.90, mu))

Теперь постройте график совокупного распределения, обратившись к методу cdf() объекта Poisson модуля scipy.stats, используя приведенный ниже код.

fig, ax = plt.subplots(1, 1)
ax.plot(array_data, poisson.cdf(array_data, mu), 'bo',ms=8,label='poisson cdf')
ax.vlines(array_data, 0,poisson.pmf(array_data, mu),colors='b', lw=4, alpha=0.5,)

Статистика CDF

Статистика Pmf

Определить конкретное значение функции вероятности распределения Пуассона для случайной величины. В Python Scipy есть метод pmf() в модуле scipy.stats.

Синтаксис:

scipy.stats.poisson.pmf(mu,k,loc)

Где параметры:

  • mu: используется для определения параметра формы.
  • loc: используется для указания среднего значения, по умолчанию оно равно 0.
  • size: это размер выборки.

Давайте рассмотрим пример, выполнив следующие шаги.

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

from scipy.stats import poisson
import matplotlib.pyplot as plt
import numpy as np

Код создает переменную для параметров формы и присваивает ей некоторые значения.

mu = 15

Создайте массив данных, используя метод ppf() объекта Пуассона, используя приведенный ниже код.

array_data = np.linspace(poisson.ppf(0.01, mu),
                poisson.ppf(0.90, mu))

Теперь постройте функцию массы вероятности, обратившись к методу pdf() объекта Poisson модуля scipy.stats, используя приведенный ниже код.

fig, ax = plt.subplots(1, 1)
ax.plot(array_data, poisson.pmf(array_data, mu), 'bo',ms=8,label='poisson pmf')
ax.vlines(array_data, 0,poisson.pmf(array_data, mu),colors='b', lw=4, alpha=0.5,)

Метод ppf() объекта Пуассона

Статистика Rvs

Метод rvs() Python Scipy объекта Пуассона генерирует случайные числа или выборки из распределения Пуассона.

Синтаксис:

scipy.stats.poisson.cdf(mu,loc,size)

Где параметры:

  • mu: используется для определения параметра формы.
  • loc: используется для указания среднего значения, по умолчанию оно равно 0.
  • size: это размер выборки.

Давайте на примере разберемся, как генерировать случайные числа с помощью метода rvs() объекта Poisson, выполнив следующие шаги.

Импортируйте необходимые библиотеки или методы, используя приведенный ниже код Python.

from scipy.stats import poisson

Определите мю и размер выборки, равный 5000, используя приведенный ниже код.

mu = 6
random_num = poisson.rvs(mu,size = 500)

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

random_num

Метод rvs()

Статистика Logcdf

Метод logcdf() в модуле scipy.stats.poisson Python Scipy вычисляет журнал совокупного распределения распределения Пуассона.

Синтаксис:

scipy.stats.poisson.logcdf(mu,k,loc)

Где параметры:

  • mu: используется для определения параметра формы.
  • К: Это данные.
  • loc: используется для указания среднего значения, по умолчанию оно равно 0.

Давайте рассмотрим пример, выполнив следующие шаги.

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

from scipy.stats import poisson
import matplotlib.pyplot as plt
import numpy as np

Создает переменную для параметров формы и присваивает некоторые значения.

mu = 20

Создайте массив данных, используя метод ppf() объекта Пуассона, используя приведенный ниже код.

array_data = np.linspace(poisson.ppf(0.01, mu),
                poisson.ppf(0.90, mu))

Теперь постройте журнал CDF распределения Пуассона, обратившись к методу logcdf() объекта poisson модуля scipy.stats, используя приведенный ниже код.

fig, ax = plt.subplots(1, 1)
ax.plot(array_data, poisson.logcdf(array_data, mu), 'bo',ms=8,label='poisson logcdf')
ax.vlines(array_data, 0,poisson.logcdf(array_data, mu),colors='b', lw=5, alpha=0.5,)

Статистика Logcdf

Статистика Logpmf

Метод logpmf() в модуле scipy.stats.poisson Python Scipy вычисляет журнал вероятности распределения Пуассона.

Синтаксис:

scipy.stats.poisson.logpmf(mu,k,loc)

Где параметры:

  • mu: используется для определения параметра формы.
  • К: Это данные.
  • loc: используется для указания среднего значения, по умолчанию оно равно 0.

Давайте рассмотрим пример, выполнив следующие шаги.

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

from scipy.stats import poisson
import matplotlib.pyplot as plt
import numpy as np

Создает переменную для параметров формы и присваивает некоторые значения.

mu = 5

Создайте массив данных, используя метод ppf() объекта Пуассона, используя приведенный ниже код.

array_data = np.linspace(poisson.ppf(0.01, mu),
                poisson.ppf(0.90, mu))

Теперь постройте журнал распределения Пуассона pmf, обратившись к методу logpmf() объекта poisson модуля scipy.stats, используя приведенный ниже код.

fig, ax = plt.subplots(1, 1)
ax.plot(array_data, poisson.logpmf(array_data, mu), 'bo',ms=8,label='poisson logpmf')
ax.vlines(array_data, 0,poisson.logpmf(array_data, mu),colors='b', lw=5, alpha=0.5,)

Метод logpmf()

Статистика Logsf

Метод logsf() в модуле scipy.stats.poisson Python Scipy вычисляет журнал функции выживания распределения Пуассона.

Синтаксис приведен ниже.

scipy.stats.poisson.logsf(mu,k,loc)

Где параметры:

  • mu: используется для определения параметра формы.
  • К: Это данные.
  • loc: используется для указания среднего значения, по умолчанию оно равно 0.

Давайте рассмотрим пример, выполнив следующие шаги.

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

from scipy.stats import poisson
import matplotlib.pyplot as plt
import numpy as np

Создает переменную для параметров формы и присваивает некоторые значения.

mu = 8

Создайте массив данных, используя метод ppf() объекта Пуассона, используя приведенный ниже код.

array_data = np.linspace(poisson.ppf(0.01, mu),
                poisson.ppf(0.90, mu))

Теперь постройте журнал распределения Пуассона, обратившись к методу logsf() объекта Poisson модуля scipy.stats, используя приведенный ниже код.

fig, ax = plt.subplots(1, 1)
ax.plot(array_data, poisson.logsf(array_data, mu), 'bo',ms=8,label='poisson logpmf')
ax.vlines(array_data, 0,poisson.logsf(array_data, mu),colors='b', lw=5, alpha=0.5,)

Метод logsf()

Статистика Poisson

Метод kstest() Python Scipy в модуле scipy.stats, который выполняет тест Колмогорова-Смирнова на предмет согласия с одним или двумя образцами.

Базовое распределение выборки F(x) сравнивается с заданным распределением G с использованием одновыборочного теста(x). Базовые распределения двух различных выборок сравниваются с использованием двухвыборочного теста. Для проверки достоверности любого теста можно использовать только непрерывные распределения.

Синтаксис:

scipy.stats.kstest(rvs, cdf, args=(), N=10, alternative='less', mode='exact')

Где параметры:

  • rvs (str, array_data): если это массив, то это должен быть одномерный массив наблюдений случайных величин. Должна быть вызвана функция, создающая случайные переменные, и она должна иметь размер аргумента ключевого слова. Если это строка, это должно быть имя распределения в scipy.stats, которое будет использоваться для создания случайных чисел.
  • cdf (str, array_data): тест с двумя выборками запускается (и rvs должен быть array_like), если данные имеют тип array_like, который должен представлять собой одномерный массив наблюдений случайных величин. Если есть вызываемый объект, cdf вычисляется с использованием этого вызываемого объекта. Если это строка, это должно быть имя дистрибутива в scipy.stats, поскольку это будет функция cdf.
  • args (sequence, tuple): когда rvs или cdf являются вызываемыми объектами или строками, используются параметры распределения.
  • N (int): если rvs является вызываемым объектом или строкой, размер выборки. По умолчанию 20.
  • альтернатива (меньше, больше, двусторонняя): объясняет альтернативную и нулевую гипотезы. «Двусторонний» — значение по умолчанию.
  • mode(): определяет распределение, которое будет использоваться для определения значения p. Доступны следующие варианты («авто» — значение по умолчанию) — «точный», «приблизительный», «авто» и «асимпционный».

Метод kstest() возвращает статистику и значение p типа float.

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

Импортируйте необходимые библиотеки, используя приведенный ниже код Python.

from scipy import stats

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

num_size = 500
lambda_Poisson = 10

data = stats.poisson.rvs(size = num_size, mu = lambda_Poisson)

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

kstest_statistic, p_value = stats.kstest(data, 'poisson', args=(lambda_Poisson,0))
print(kstest_statistic, p_value)

Метод kstest()

Добавить комментарий