РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
505 of 541 menu

Метод zipf

Метод zipf генератора случайных чисел NumPy создает массив случайных чисел, подчиняющихся распределению Ципфа. Это распределение характеризуется параметром формы a и описывает явления, где вероятность события обратно пропорциональна его рангу.

Параметр a должен быть больше единицы. Чем больше значение a, тем быстрее убывает вероятность с ростом ранга.

Синтаксис

generator.zipf(a, size=None)

Параметры метода:

  • a - параметр формы распределения (должен быть > 1);
  • size - форма выходного массива (целое число или кортеж размеров).

Пример

Создадим генератор с фиксированным зерном и сгенерируем массив из 10 чисел из распределения Ципфа с параметром a = 2:

import numpy as np rng = np.random.default_rng(0) arr = rng.zipf(a=2, size=10) print(arr)

Результат выполнения кода:

[1 1 1 2 1 1 1 7 1 1]

Как видно, большинство значений равны единице, что характерно для распределения Ципфа.

Пример

Сгенерируем двумерный массив случайных чисел из распределения Ципфа с параметром a = 3 размером 3x4:

import numpy as np rng = np.random.default_rng(42) arr = rng.zipf(a=3, size=(3, 4)) print(arr)

Результат выполнения кода:

[[1 1 2 1] [1 1 1 1] [1 1 1 1]]

Пример

Покажем, как меняется распределение в зависимости от параметра a. Сгенерируем выборки из 1000 элементов с разными значениями параметра и посчитаем количество единиц:

import numpy as np rng = np.random.default_rng(0) size = 1000 ones_a2 = np.sum(rng.zipf(a=2, size=size) == 1) ones_a3 = np.sum(rng.zipf(a=3, size=size) == 1) ones_a5 = np.sum(rng.zipf(a=5, size=size) == 1) print(ones_a2, ones_a3, ones_a5)

Результат выполнения кода:

596 819 913

Видно, что при увеличении параметра a количество единиц растет, распределение становится более сконцентрированным на малых значениях.

Смотрите также

  • класс Generator,
    который предоставляет методы для генерации случайных чисел
  • метод choice,
    который генерирует случайную выборку из заданного массива
  • метод poisson,
    который генерирует числа из распределения Пуассона
  • метод binomial,
    который генерирует числа из биномиального распределения
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить