Как использовать эквивалент rnorm() в python


В языке программирования R мы можем использовать функцию rnorm() для генерации вектора случайных значений, который следует нормальному распределению с определенным средним значением и стандартным отклонением.

Например, следующий код показывает, как использовать rnorm() для создания вектора из 8 случайных значений, который соответствует нормальному распределению со средним значением 5 и стандартным отклонением 2:

 #make this example reproducible
set. seeds (1)

#generate vector of 8 values that follows normal distribution with mean=5 and sd=2
rnorm(n=8, mean=5, sd=2)

[1] 3.747092 5.367287 3.328743 8.190562 5.659016 3.359063 5.974858 6.476649

Эквивалентом функции rnorm() в Python является функция np.random.normal() , которая использует следующий базовый синтаксис:

np.random.normal(loc=0, масштаб=1, размер=нет)

Золото:

  • loc : Среднее распределение
  • масштаб : стандартное отклонение распределения.
  • размер : размер выборки

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

Пример: использование эквивалента rnorm() в Python

В следующем коде показано, как использовать функцию np.random.normal() для создания массива случайных значений, который соответствует нормальному распределению с определенным средним значением и стандартным отклонением.

 import numpy as np

#make this example reproducible
n.p. random . seeds (1)

#generate array of 8 values that follow normal distribution with mean=5 and sd=2
n.p. random . normal (loc=5, scale=2, size=8)

array([8.24869073, 3.77648717, 3.9436565, 2.85406276, 6.73081526,
       0.39692261, 8.48962353, 3.4775862 ])

Результатом является массив NumPy, содержащий 8 значений, сгенерированных из нормального распределения со средним значением 5 и стандартным отклонением 2.

Вы также можете создать гистограмму, используя Matplotlib, для визуализации нормального распределения, сгенерированного функцией np.random.normal() :

 import numpy as np
import matplotlib. pyplot as plt

#make this example reproducible
n.p. random . seeds (1)

#generate array of 200 values that follows normal distribution with mean=5 and sd=2
data = np. random . normal (loc=5, scale=2, size=200)

#create histogram to visualize distribution of values
plt. hist (data, bins=30, edgecolor=' black ')

Мы видим, что распределение значений имеет примерно колоколообразную форму со средним значением 5 и стандартным отклонением 2.

Примечание . Полную документацию по функции np.random.normal() можно найти здесь .

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

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

Как рассчитать и построить график нормального CDF в Python
Как построить график нормального распределения в Python
Как проверить нормальность в Python

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *