Запишетесь на полный курс Машинного обучения на Python по адресу support@ittensive.com
Методы аппроксимация данных относятся к вычислительной математике и уже давно используются для "сглаживания" результатов вычислений. В задачах машинного обучения они могут быть успешно применены для заполнения пропусков данных.
Существует несколько вариантов аппроксимации. Например, если мы предсказываем поведение функции по ряду значений - продолжаем ряд - это называется экстраполяцией. И корректное предсказание относится к области интересов уже самого машинного обучения. Задача же предсказания значений ряда между уже имеющимися значениями - это задача интерполяции.
Есть множество способов интерполяции, но все они могут быть сведены к тому, что надо найти n – 1 функцию для расчёта промежуточных точек на соответствующих сегментах по заданным n точкам. При этом заданные точки обязательно должны быть вычислимы через соответствующие функции. На основе этого и может быть построен график.
Интерпроляция
Функции интерполяции могут быть самыми разными, но чаще всего используют полиномы некоторой степени. В этом случае итоговая интерполирующая функция (кусочно заданная на промежутках, ограниченных исходными точками) называется сплайном.
Виды интерполяции
Наиболее популярной является линейная (из-за простоты и отсутствия "ложных" выбросов) и кубическая (из-за гладкости функции и простоты построения). Оба метода могут быть успешно использованы. Для большого числа "физических" данных, мало изменяющихся с течением времени обычно используют кубическую интерполяция. Для небольшого числа или параметрических данных (точный набор значений) - линейную.
Большой "точности" интерполяции можно добиться через кривые Безье (которые будут максимально гладко воспроизводить линейную интерполяцию), но вычислительно это сделать тяжелее.
Сплайны
![](https://i.ytimg.com/vi/PbHwnSADnOU/maxresdefault.jpg)