Множественные сравнения: поправка Бонферрони

Hard SciPy статистика Авито

Условие задачи

Дано: p_values -- массив из 10 p-value от 10 гипотез (A/B тесты). Примените поправку Бонферрони (adjusted_p = `min(p × n_tests, 1.0)`) и сравните количество значимых гипотез до и после коррекции. Сохраните dict {"n_significant_raw": int, "n_significant_bonferroni": int, "corrected_p_values": list(round 6), "significant_indices": list(int)} в `result`.

Темы

bonferroni multiple_testing fdr

Подсказки

Что проверяет эта задача

Задача «Множественные сравнения: поправка Бонферрони» учит применять статистику и научные методы через scipy. Такие задачи дают на собеседованиях в Авито и других IT-компаниях. Уровень сложный — проверяет глубину и умение собрать решение из нескольких приёмов.

Как подступиться к решению

Сначала разбери условие и формат входа-выхода, прикинь крайние случаи (пустой ввод, дубли, NaN). Затем выбери структуру данных и собери решение по шагам — начни с простого рабочего варианта, потом оптимизируй сложность. Код пишешь и запускаешь прямо в браузере: Python-тренажёр исполняет его через Pyodide (pandas, numpy, scipy) и проверяет результат автоматически.

На собеседовании по Python для аналитика ценят чистый читаемый код, корректную обработку крайних случаев (пустой ввод, дубли, None) и умение вслух оценить сложность по времени и памяти. Часто просят не просто решить, а разобрать альтернативные подходы и показать, где наивное решение сломается на большом объёме данных.

Прокачать Python для аналитики — бесплатный курс «Pandas с нуля» и Python-тренажёр.

Открыть задачу в тренажёре → ← Все Python-задачи