Интерполяция

О функции, см.: Интерполянт.

Интерполя́ция, интерполи́рование (от лат. inter–polis — «разглаженный, подновлённый, обновлённый; преобразованный») — в вычислительной математике нахождение неизвестных промежуточных значений некоторой функции, по имеющемуся дискретному набору её известных значений, определённым способом. Термин «интерполяция» впервые употребил Джон Валлис в своём трактате «Арифметика бесконечных» (1656).

В функциональном анализе интерполяция линейных операторов представляет собой раздел, рассматривающий банаховы пространства как элементы некоторой категории[1].

Многим из тех, кто сталкивается с научными и инженерными расчётами, часто приходится оперировать наборами значений, полученных опытным путём или методом случайной выборки. Как правило, на основании этих наборов требуется построить функцию, на которую могли бы с высокой точностью попадать другие получаемые значения. Такая задача называется аппроксимацией. Интерполяцией называют такую разновидность аппроксимации, при которой кривая построенной функции проходит точно через имеющиеся точки данных.

Существует также близкая к интерполяции задача, которая заключается в аппроксимации какой-либо сложной функции другой, более простой функцией. Если некоторая функция слишком сложна для производительных вычислений, можно попытаться вычислить её значение в нескольких точках, а по ним построить, то есть интерполировать, более простую функцию. Разумеется, использование упрощённой функции не позволяет получить такие же точные результаты, какие давала бы первоначальная функция. Но в некоторых классах задач достигнутый выигрыш в простоте и скорости вычислений может перевесить получаемую погрешность в результатах.

Следует также упомянуть и совершенно другую разновидность математической интерполяции, известную под названием «интерполяция операторов». К классическим работам по интерполяции операторов относятся теорема Рисса — Торина и теорема Марцинкевича, являющиеся основой для множества других работ.

Определения

Рассмотрим систему несовпадающих точек () из некоторой области . Пусть значения функции известны только в этих точках:

Задача интерполяции состоит в поиске такой функции из заданного класса функций, что

  • Точки называют узлами интерполяции, а их совокупность — интерполяционной сеткой.
  • Пары называют точками данных или базовыми точками.
  • Разность между «соседними» значениями  — шагом интерполяционной сетки. Он может быть как переменным, так и постоянным.
  • Функцию  — интерполирующей функцией или интерполянтом.

Пример

1. Пусть мы имеем табличную функцию, наподобие описанной ниже, которая для нескольких значений определяет соответствующие значения :

0 0
1 0,8415
2 0,9093
3 0,1411
4 −0,7568
5 −0,9589
6 −0,2794

Интерполяция помогает нам узнать, какое значение может иметь такая функция в точке, отличной от указанных точек (например, при x = 2,5).

К настоящему времени существует множество различных способов интерполяции. Выбор наиболее подходящего алгоритма зависит от ответов на вопросы: как точен выбираемый метод, каковы затраты на его использование, насколько гладкой является интерполяционная функция, какого количества точек данных она требует и т. п.

2. Найти промежуточное значение (способом линейной интерполяции).

6000 15.5
6378 ?
8000 19.2

Выбор метода

Математическое обоснование выбора метода интерполяции базируется на характере исходных данных, требованиях к гладкости и поведении погрешности результирующей функции. Главные критерии выбора с точки зрения математики:

  • количество точек и осцилляции (Эффект Рунге). Глобальная полиномиальная интерполяция (единственный многочлен высоких степеней) математически обоснована только для малого числа точек ();
  • требования к гладкости (дифференцируемость). Выбор степени полинома внутри интервалов зависит от порядка производных, которые должны быть непрерывны;
  • распределение узлов на отрезке. Равномерная сетка (высокий риск эффекта Рунге. Обоснован выбор локальных методов (сплайны) или тригонометрической интерполяции) и неравномерная сетка (если точки можно выбирать, математика требует использовать узлы Чебышёва);
  • размерность пространства. Для 1D данных применимы любые классические полиномы и сплайны. Для 2D / 3D данных на регулярной сетке применяется тензорное произведение одномерных методов — билинейная или бикубическая интерполяция. Для неструктурированных (хаотичных) облак точек математически обосновано применение радиально-базисных функций или триангуляции Делоне с методом Вороного (интерполяция соседа), так как обычные многочлены в многомерном хаотичном пространстве приводят к вырожденным матрицам Вандермонда;
  • наличие шума в данных. Если исходные значения точные, то строгая интерполяция (кривая обязана проходить через узлы). Если данные содержат случайную погрешность или шум математически интерполяция противопоказана. Вместо неё обоснован выбор аппроксимации (метода наименьших квадратов — МНК), который сглаживает шум, минимизируя среднеквадратичное отклонение.

Способы интерполяции

Интерполяция методом ближайшего соседа

Простейшим способом интерполяции является интерполяция методом ближайшего соседа.

Интерполяция многочленами

На практике чаще всего применяют интерполяцию многочленами. Это связано прежде всего с тем, что многочлены легко вычислять, легко аналитически находить их производные и множество многочленов плотно в пространстве непрерывных функций (теорема Вейерштрасса).

Интерполяция функции нескольких переменных

Смежные концепции

Примечания

  1. Берг, 1980, с. 6—7.

Литература

Дополнительно по теме

Категории