4. Домашнє завдання (написання програми)
Джерело завдання. Формулювання взято з методичних матеріалів курсу. Готового коду тут немає — це індивідуальне завдання; техніку обчислень показано на інших даних у 2method.md та 3classroom.md.
Постановка
Написати додаток, який отримує дві вибірки, для цих вибірок перевірити гіпотезу, чи рівна в них дисперсія (за альтернативну гіпотезу взяти гіпотезу, що дисперсії не дорівнюють одна одній). У випадку, якщо гіпотеза підтверджена, перевірити гіпотезу, чи рівне в них математичне сподівання (за альтернативну гіпотезу взяти гіпотезу, що математичні сподівання не дорівнюють одне одному).
Мову програмування студент обирає самостійно. Бібліотечні функції перевірки гіпотез
(наприклад, scipy.stats.ttest_ind, scipy.stats.f) дозволено використовувати
лише для перевірки власної реалізації формул.
Логіка роботи
Порядок перевірок заданий постановкою:
1. Прочитати дві вибірки.
2. F-критерій: H0: sigma1^2 = sigma2^2 проти H1: sigma1^2 != sigma2^2
3. ЯКЩО дисперсії рівні (H0 не відхилено):
t-критерій рівності середніх з ОБ'ЄДНАНОЮ дисперсією
ІНАКШЕ (дисперсії різні):
(базовий рівень) повідомити, що перевірку середніх не виконують
(високий рівень) застосувати критерій УЕЛЧА
4. Для перевірки середніх: H0: mu1 = mu2 проти H1: mu1 != mu2
5. Вивести рішення кожної перевірки.
Вхід і вихід
- Вхід: дві вибірки чисел. Спосіб подання — на розсуд студента: два файли CSV, один CSV із двома стовпцями, або два списки, введені з клавіатури. Обсяги вибірок можуть не збігатися ().
- Вихід: для кожної перевірки — чітке рішення природною мовою: «дисперсії рівні / різні», «математичні сподівання рівні / різні». На вищих рівнях додатково — обчислені статистики, критичні значення та p-значення.
Рівні складності
Оцінка відповідає найвищому повністю й правильно виконаному рівню. Формули (вибіркові дисперсії, статистики і ) реалізувати самостійно.
Базовий рівень — 60–74 балів
- Прочитати дві вибірки й обчислити для кожної та незміщену дисперсію .
- Перевірити гіпотезу рівності дисперсій F-критерієм (): , ступені свободи ; порівняти з критичним значенням .
- Вивести рішення: дисперсії рівні чи різні.
Середній рівень — 75–89 балів
Додатково до базового:
- За результатом F-критерію виконати перевірку рівності математичних сподівань: якщо дисперсії визнано рівними — t-критерієм з об’єднаною дисперсією ().
- Якщо дисперсії різні, коректно повідомити, що на цьому рівні перевірку середніх із об’єднаною дисперсією застосовувати не можна (перехід до Уелча — на високому рівні).
- Вивести рішення перевірки середніх: сподівання рівні чи різні.
Високий рівень — 90–100 балів
Додатково до середнього:
- Рівень значущості задавати ззовні (параметром командного рядка, аргументом функції або запитом), не «зашивати» у код.
- Для кожної перевірки вивести: спостережену статистику ( або ), ступені свободи, критичне значення та p-значення; рішення дублювати за p-значенням ( відхилити ).
- Коли F-критерій показав різні дисперсії, перевіряти рівність середніх критерієм Уелча (окремі дисперсії, ступені свободи за Уелчем–Саттертвейтом, §2.5 методичних вказівок).
- Передбачити перевірку коректності вводу (порожня чи одноелементна вибірка — дисперсія невизначена; нечислові значення) з інформативним повідомленням.
Що здавати
- Вихідний код програми (з коротким
README: як запустити, який формат входу, як задати ). - Приклад запуску на тестових вибірках. Обов’язково перевірте програму на даних Задач 2–3 — очікувано (дисперсії рівні) і (сподівання різні); а також на демонстраційних вибірках із 2method.md — , .
- Оформлення звіту — за 5report.md; перелік запитань до захисту — у 6questions.md.