Raw

4. Домашнє завдання (написання програми)

Джерело завдання. Формулювання взято з методичних матеріалів курсу. Готового коду тут немає — це індивідуальне завдання; техніку обчислень показано на інших даних у 2method.md та 3classroom.md.

Постановка

Написати додаток, який отримує вибірку впорядкованих пар (кожна пара — на новому рядку). Перевірити, чи існує кореляція між значеннями пар, побудувати графік лінійної регресії та коефіцієнт детермінації R2R^2 для знайденої регресії.

Мову додатку студент обирає самостійно.

Вхід і вихід

  • Вхід: текстовий файл (або стандартний ввід) із вибіркою впорядкованих пар (x,y)(x, y) — кожна пара на окремому рядку, значення розділені пробілом, комою або табуляцією (напр., 15 20). Кількість пар довільна.
  • Вихід: щонайменше — коефіцієнт кореляції rr, рівняння регресії y^=b0+b1x\hat{y} = b_0 + b_1 x та коефіцієнт детермінації R2R^2; для середнього й високого рівнів — графік (діаграма розсіювання з накладеною прямою регресії). Числа округлюйте розумно (напр., 4 значущі цифри).

Рівні складності

Оцінка відповідає найвищому повністю й правильно виконаному рівню.

Базовий рівень — 60–74 балів

  1. Прочитати вибірку пар (x,y)(x, y) (кожна пара — на новому рядку).
  2. Обчислити й вивести:
    • коефіцієнт кореляції rr;
    • рівняння регресії y^=b0+b1x\hat{y} = b_0 + b_1 x (коефіцієнти b0b_0, b1b_1).
  3. Формули (rr, b0b_0, b1b_1) реалізувати самостійно через суми x\sum x, y\sum y, xy\sum xy, x2\sum x^2, y2\sum y^2 (не викликати готову polyfit/corrcoef як основне обчислення).

Середній рівень — 75–89 балів

Додатково до базового:

  1. Побудувати графік лінійної регресії: діаграму розсіювання точок (xi,yi)(x_i, y_i) з накладеною прямою y^=b0+b1x\hat{y} = b_0 + b_1 x (напр., засобами matplotlib).
  2. Обчислити й вивести коефіцієнт детермінації R2R^2 через розклад SST == SSR ++ SSE; перевірити рівність R2=r2R^2 = r^2.
  3. Підписати графік (осі, рівняння регресії, значення R2R^2 у легенді чи заголовку).

Високий рівень — 90–100 балів

Додатково до середнього:

  1. Перевірити значущість кореляції: обчислити статистику t=r(n2)/(1r2)t = r\sqrt{(n-2)/(1-r^2)}, порівняти з критичним tα/2,n2t_{\alpha/2,\,n-2} (або вивести pp-значення) і зробити висновок, чи відмінна кореляція від нуля.
  2. Інтерпретувати силу зв’язку словами за шкалою (дуже слабкий / слабкий / помірний / сильний / дуже сильний) та вказати його напрям.
  3. Передбачити перевірку коректності вводу (порожній файл, рядки з одним числом чи нечисловими значеннями, пропуски, надто мала вибірка n<3n < 3) з інформативним повідомленням.

Що здавати

  • Вихідний код програми (з коротким README: як запустити, який формат входу).
  • Приклад запуску на тестовому файлі та збережений графік. Обов’язково перевірте програму на даних Задачі 1 — очікувано r0.995r \approx 0.995, y^=8.281+1.816x\hat{y} = -8.281 + 1.816\,x, R20.990R^2 \approx 0.990.
  • Оформлення звіту — за 5report.md; перелік запитань до захисту — у 6questions.md.

Laboratory/Laboratory5/4task.md · 4.9 KB · updated 2026-08-04 23:17