You are on page 1of 5

ЛАБОРАТОРНА РОБОТА №1

ЛІНІЙНА РЕГРЕСІЯ: АПРОКСИМАЦІЯ, ІНТЕРПОЛЯЦІЯ ТА ЕКСТРАПОЛЯЦІЯ


ДАНИХ

ТЕОРЕТИЧНІ ВІДОМОМСТІ
Є три подібні між собою поняття: інтерполяція, апроксимація та регресія.
У них загальна мета: із сімейства функцій вибрати ту, яка має деяку
властивість.

Інтерполяція (рис. 1) — спосіб вибору із сімейства функцій ту, що проходить


через задані точки. Часто функцію потім використовують для обчислення у
проміжних точках. Наприклад, ми вручну задаємо колір кільком точкам і хочемо,
щоб кольори інших точок утворили плавні переходи між заданими. Або задаємо
ключові кадри анімації та хочемо плавні переходи між ними. Класичні приклади:
інтерполяція поліномами Лагранжа, сплайн-інтерполяція, багатовимірна
інтерполяція (білінійна, трилінійна, методом найближчого сусіда тощо). Є також
споріднене поняття екстраполяції - передбачення поведінки функції поза
інтервалом. Наприклад, прогноз курсу долара на підставі попередніх коливань
— екстраполяція.

Рис. 1 – Інтерполяція/екстраполяція

Апроксимація (рис. 2) - спосіб вибору з сімейства «простих» функцій наближення


для «складної» функції на відрізку, при цьому помилка не повинна
перевищувати певної межі. Апроксимацію використовують, коли потрібно
отримати функцію, схожу на задану, але більш зручну для обчислень та
маніпуляцій (диференціювання, інтегрування тощо). При оптимізації критичних
ділянок коду часто використовують апроксимацію: якщо значення функції
обчислюється багато разів на секунду і не потрібна абсолютна точність, то можна
обійтися більш простим апроксимантом з меншою ціною обчислення. Класичні
приклади включають ряд Тейлора на відрізку, апроксимацію ортогональних
багаточленів, апроксимацію Паде, апроксимацію синуса Бхаскара і т.п.

Рис. 2 – Апроксимація

Регресія (рис. 3) - спосіб вибору з сімейства функцій ту, що мінімізує


функцію втрат. Остання характеризує, наскільки сильно пробна функція
відхиляється від значень у заданих точках. Якщо точки отримані
експериментально, вони неминуче містять помилку вимірювань, шум, тому
розумніше вимагати, щоб функція передавала загальну тенденцію, а чи не точно
проходила всі точки. У якомусь сенсі регресія — це «інтерполююча
апроксимація»: ми хочемо провести криву якомога ближче до точок і зберегти її
максимально простий щоб вловити загальну тенденцію. За баланс між цими
суперечливими бажаннями відповідає функція втрат (в англійській літературі
«loss function» або «cost function»).

Рис. 3 – Регресія
Розглянемо лінійну регресію
У початковому стані припустимо ситуацію, коли є дані деяких спостережень
(рис. 4).

Рис. 4 – Вхідні дані

Як видно, на графіку (рис. 4) простежується чітка тенденція. Інтуїтивно


можна провести лінію, яка описує цю загальну тенденцію. Як знайти найкращу
лінію? Можна намалювати багато ліній, які проходять через графік вище з
різними параметрами.
Краща технологія підбору лінії полягає у використанні критерію найменших
квадратів, що полягає у знаходженні лінії (математично), яка мінімізує суму
квадратів залишків (або «суму квадратів помилок») (рис. 5):
Рис. 5 - Критерій найменших квадратів

Завдання лінійної регресії полягає в пошуку параметрів (коефіцієнтів)


лінії з усіх можливих варіантів, що перетинають дані, які краще
відповідають спостережуваним значенням. Як ви можете бачити з рис. 6,
синя лінія є оптимальним рішенням, тоді як червона лінія є лише
довільним припущенням. Синя лінія є більш збалансованою, ніж червона,
щодо спостережуваних точок даних.

Рис. 6 – Лінійна регресія


ХІД РОБОТИ
1. Завантажити дані із датасету «diabets_world.csv» і навести графрік,
множини спостережних значень (дані вибираються згідно варіанту, за
погодженням із викладачем).
2. Розділити вибірку на дві частини (дослідну і тестову) – представити
графічно.
3. Знайти точку центру мас дослідної вибірки даних (відобразити точку на
графірку)
4. Дослідити лінійні регресії, що найкраще (з найменшими відхиленнями)
відображають множину даних дослідної вибірки:
a. навести аналітичну формулу, лінійної регресії та спосіб розрахунку
коефіцієнтів;
b. створити програмну реалізацію, що забезпечує перебір множини
коефіцієнтів лінійної регресії (представити програмний код);
c. передбачити розрахунок сумарної похибки для кожної
досліджуваної прямої;
d. навести у звіті таблицю, що містить значення коефіцієнтів лінійних
регресій і їх сумарні похибки;.
e. представити у звіті 10 графіків лінійних регресій, які пропорційно на
усьому діапазоні параметрів моделі (коефіцієнтів) формувались у
процесі розрахунків.
5. Забезпечити пошук та вибір лінійної регресії із найменшою сумарною
похибкою між даними датасету, а також побудованими лінійними
моделями (позицію відобразити у таблиці та графічно на області дослідних
даних датасету).
6. Представити похибки лінійних регресій для даних тестової вибірки (дані
представити у табличці, сформованій, аналогічно п.4d).
7. Побудувати графік, що відображає набір тестових даних, лінійну регресію.
8. Підготувати звіт до захисту.
ЛІТЕРАТУРНІ ДЖЕРЕЛА
1. Machine Learning (free of charge)
https://www.coursera.org/learn/machine-learning/
2. Applied Machine Learning in Python
https://www.coursera.org/learn/python-machine-learning
3. An Introduction to Linear Regression Analysis
https://www.youtube.com/watch?v=zPG4NjIkCjc
4. How to calculate linear regression using least square method
https://www.youtube.com/watch?v=JvS2triCgOY

You might also like