Пропустить до содержимого

Как использовать sample with replacement в Python?

[

Обучающий материал по сэмплированию с возвращением в Python

Глава 1: Основы случайности и моделирования

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

Глава 2: Вероятность и процесс генерации данных

В этой главе мы получим базовое введение в понятия вероятности и подробное понимание процесса генерации данных. Мы рассмотрим несколько примеров моделирования процесса генерации данных и закончим моделированием рекламной симуляции в электронной коммерции.

Глава 3: Ресемплирование

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

Введение в методы ресемплирования (50 XP)

  • Пример сэмплирования с возвращением (50 XP)
import numpy as np
# Список элементов для выборки
elements = ['a', 'b', 'c']
# Сэмплирование с возвращением
sample = np.random.choice(elements, size=3, replace=True)
print(sample) # Выведет ['a', 'c', 'c']

Пример с помощью перестановочного тестирования (50 XP)

import numpy as np
# Создаем две выборки для сравнения
group1 = [1, 2, 3, 4, 5]
group2 = [6, 7, 8, 9, 10]
# Вычисляем разницу в средних значениях выборок
observed_difference = np.mean(group1) - np.mean(group2)
# Симулируем случайное перестановочное тестирование
differences = []
for _ in range(1000):
# Случайно переставляем элементы выборок
combined = np.concatenate((group1, group2))
np.random.shuffle(combined)
perm1 = combined[:len(group1)]
perm2 = combined[len(group1):]
# Вычисляем разницу в средних значениях для каждой перестановки
difference = np.mean(perm1) - np.mean(perm2)
differences.append(difference)
# Вычисляем p-значение
p_value = (np.abs(differences) >= np.abs(observed_difference)).mean()
print("P-значение:", p_value)

Глава 4: Продвинутые применения моделирования

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

Упражнение: Сэмплирование с возвращением

В этом примере вы ознакомитесь с функцией np.random.choice(), которую вы уже видели в предыдущих главах. Вам предоставляются несколько вариантов np.random.choice() для сэмплирования из массивов. Посмотрите на каждый вариант внимательно и используйте консоль для тестирования опций. Выберите вариант, который может сгенерировать [‘a’, ‘c’, ‘c’] в качестве вывода.

Инструкции:

  1. np.random.choice([‘a’, ‘b’, ‘c’], size=3, replace=False)
  2. np.random.choice([‘a’, ‘b’, ‘c’, ‘d’, ‘e’], size=5, replace=True)[:3]
  3. np.random.choice([‘a’, ‘b’, ‘c’, ‘d’, ‘e’], size=5, replace=False)[:3]
  4. np.random.choice([‘a’, ‘b’], size=3, replace=True)

Передайте ответ.