ПочатиПочніть безкоштовно

Перевірка гіпотези — Різниця середніх

Ми хочемо перевірити гіпотезу, що існує різниця в середніх пожертвах, отриманих від A і B. Раніше ви навчилися генерувати одну перестановку даних. Тепер ми згенеруємо нульовий розподіл різниці середніх, а потім обчислимо p-значення.

Для нульового розподілу ми спочатку генеруємо багато переставлених наборів даних і зберігаємо різницю середніх для кожного випадку. Далі обчислюємо статистику критерію як різницю середніх для початкового набору даних. Нарешті, ми наближуємо p-значення як подвійну частку випадків, коли різниця більша або дорівнює абсолютному значенню статистики критерію (двостороння гіпотеза). P-значення менше, скажімо, 0,05 може свідчити про статистичну значущість.

Ця вправа є частиною курсу

Статистичне моделювання в Python

Переглянути курс

Інструкції до вправи

  • Згенеруйте кілька перестановок donations_A і donations_B та запишіть їх у perm.
  • Присвойте samples різницю середніх між permuted_A_datasets і permuted_B_datasets. Встановіть axis=1, щоб отримати середнє для кожного набору даних, а не загальне середнє.
  • Встановіть test_stat рівним різниці середніх між donations_A і donations_B.
  • Обчисліть p-значення p_val як подвійну частку елементів samples, що більші або дорівнюють абсолютному значенню test_stat.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# Generate permutations equal to the number of repetitions
perm = np.array([np.random.____(len(____) + len(____)) for i in range(reps)])
permuted_A_datasets = data[perm[:, :len(donations_A)]]
permuted_B_datasets = data[perm[:, len(donations_A):]]

# Calculate the difference in means for each of the datasets
samples = np.mean(____, axis=1) - np.mean(____, axis=1)

# Calculate the test statistic and p-value
test_stat = ____
p_val = 2*np.sum(____ >= np.abs(____))/reps
print("p-value = {}".format(p_val))
Редагувати та запускати код