Как использовать равномерное распределение в Python


Равномерное распределение — это такое распределение вероятностей, при котором каждое значение в интервале от a до b будет выбрано с равной вероятностью.

Вероятность того, что мы получим значение между x 1 и x 2 на интервале от a до b , можно найти по формуле:

P(получить значение между x 1 и x 2 ) = (x 2 – x 1 ) / (b – a)

Для вычисления вероятностей, связанных с равномерным распределением в Python, мы можем использовать функцию scipy.stats.uniform() , которая использует следующий базовый синтаксис:

scipy.stats.uniform(x, loc, масштаб)

куда:

  • x : Значение равномерного распределения
  • loc : минимально возможное значение
  • loc + scale : Максимально возможное значение

В следующих примерах показано, как использовать эту функцию на практике.

Пример 1

Предположим, автобус появляется на автобусной остановке каждые 20 минут. Если вы прибываете на автобусную остановку, какова вероятность того, что автобус приедет через 8 минут или меньше?

Мы можем использовать следующий код на Python для вычисления этой вероятности:

from scipy. stats import uniform

#calculate uniform probability
uniform. cdf (x=8, loc=0, scale=20) - uniform. cdf (x=0, loc=0, scale=20)

0.4

Вероятность того, что автобус приедет через 8 минут или меньше, равна 0,4 .

Пример 2

Вес определенного вида лягушек равномерно распределяется между 15 и 25 граммами. Если вы случайно выберете лягушку, какова вероятность того, что она весит от 17 до 19 граммов?

Мы можем использовать следующий код на Python для вычисления этой вероятности:

from scipy. stats import uniform

#calculate uniform probability
uniform. cdf (x=19, loc=15, scale=10) - uniform. cdf (x=17, loc=15, scale=10)

0.2

Вероятность того, что лягушка весит от 17 до 19 граммов, равна 0,2 .

Пример 3

Продолжительность игр НБА равномерно распределяется между 120 и 170 минутами. Какова вероятность того, что случайно выбранная игра НБА продлится более 150 минут?

Мы можем использовать следующий код на Python для вычисления этой вероятности:

from scipy. stats import uniform

#calculate uniform probability 
uniform. cdf (x=170, loc=120, scale=50) - uniform. cdf (x=150, loc=120, scale=50)

0.4

Вероятность того, что случайно выбранная игра НБА продлится более 150 минут, равна 0,4 .

Бонус: вы можете перепроверить решение каждого примера с помощьюКалькулятора равномерного распределения .

Дополнительные ресурсы

В следующих руководствах объясняется, как использовать другие распространенные дистрибутивы в Python:

Как использовать биномиальное распределение в Python
Как использовать распределение Пуассона в Python
Как использовать дистрибутив t в Python