Поиск по сайту:

Сгенерируйте пять случайных чисел из нормального распределения, используя NumPy


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

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

Синтаксис

numpy.random.normal(loc=0.0, scale=1.0, size=None)

Параметры

loc (float или array_like): это среднее значение или центр распределения. Значение по умолчанию — 0,0 и представляет собой пик полученной таким образом колоколообразной кривой.

масштаб (float или array_like): это стандартное отклонение распределения. Значение по умолчанию — 1,0, и оно контролирует ширину колоколообразной кривой.

размер (целое число или кортеж целых чисел): возвращает форму вывода и определяет количество генерируемых случайных чисел.

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

Пример 1

В следующем примере показано, как генерировать случайные числа со средним значением и стандартным отклонением по умолчанию.

Алгоритм

  • Импортируйте библиотеку numpy.

  • Используйте функцию random.normal без явных параметров среднего и стандартного отклонения.

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

  • Сохраните сгенерированные случайные числа в переменной random_numbers.

  • Распечатайте переменную random_numbers.

import numpy as nmp

# To generate five random numbers from the normal distribution
random_numbers = nmp.random.normal(size=5)

# Print the random numbers
print("The Random Generated Numbers Are:", random_numbers)

Выход

The Random Generated Numbers Are: 
[-0.66362634  0.60882755  0.62147686 -0.0246644   0.17017737]

Пример 2

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

import numpy as np

# Setting the custom mean and standard deviation
mean = 10  # Mean of the distribution
std_dev = 2  # Standard deviation of the distribution

# Generate the random numbers
random_numbers = np.random.normal(loc=mean, scale=std_dev, size=10)

# Print the generated random numbers
print("Here Are The 10 Generated Random Numbers:", random_numbers)

Выход

Here Are The 10 Generated Random Numbers: 
[10.81862559  7.28414504  8.61239397  8.98294608  7.
50709111  7.90727366  9.21915208 10.43019622 12.493977   11.57399687]

Пример 3

В этом примере мы сгенерируем двумерный массив случайных чисел 4 на 5 из нормального распределения, используя NumPy с определяемым пользователем средним значением и стандартным отклонением.

Алгоритм

  • Импортируйте библиотеку numpy как np.

  • Установите желаемые значения среднего и std_dev для нормального распределения.

  • Используйте функцию numpy.random.normal и укажите значения среднего значения и strd_dev в качестве аргументов.

  • Укажите параметр размера в виде кортежа (4, 5), чтобы сгенерировать двумерный массив случайных чисел с 4 строками и 5 столбцами из нормального распределения.

  • Сохраните сгенерированные случайные числа в переменной random_numbers.

  • Распечатайте переменную random_numbers.

import numpy as nmpy

# Set the mean and standard deviation
mean = 0 
strd_dev = 1 

# Generate a 2D array of random numbers from the normal distribution
random_numbers = nmpy.random.normal(loc=mean, scale=strd_dev, size=(4, 5))

# Print the generated random numbers
print("The two-dimensional array of random numbers:")
print(random_numbers)

Выход

The two-dimensional array of random numbers:
[[-1.18743672 -1.32939008  0.37248625  0.31413006 -0.83207142]
 [-1.26353284  0.4993038  -1.02139944 -0.66408169 -0.40570098]
 [-1.36817096 -0.05267991 -0.33518531 -0.0784531  -0.34882078]
 [ 1.3996869   0.53987652 -2.59857656 -1.2062663  -1.83573899]]

Заключение

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

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

Статьи по данной тематике: