В математической области численного анализа интерполяция — это тип оценки , метод построения (поиска) новых точек данных на основе диапазона дискретного набора известных точек данных. [1] [2]
В инженерии и науке часто имеется ряд точек данных, полученных путем выборки или эксперимента , которые представляют значения функции для ограниченного числа значений независимой переменной . Часто требуется интерполировать , то есть оценить значение этой функции для промежуточного значения независимой переменной.
Близкая по смыслу задача — аппроксимация сложной функции простой функцией. Предположим, что формула для некоторой заданной функции известна, но слишком сложна для эффективной оценки. Несколько точек данных из исходной функции можно интерполировать для получения более простой функции, которая все еще довольно близка к исходной. Полученный выигрыш в простоте может перевесить потерю от ошибки интерполяции и дать лучшую производительность в процессе вычислений.
В этой таблице приведены некоторые значения неизвестной функции .
Интерполяция дает возможность оценить функцию в промежуточных точках, таких как
Описаны некоторые методы интерполяции, различающиеся такими свойствами, как: точность, стоимость, количество необходимых точек данных и гладкость результирующей интерполянтной функции.
Самый простой метод интерполяции — найти ближайшее значение данных и присвоить ему то же значение. В простых задачах этот метод вряд ли будет использоваться, так как линейная интерполяция (см. ниже) почти так же проста, но в многомерной интерполяции с несколькими переменными это может быть выгодным выбором из-за его скорости и простоты.
Одним из самых простых методов является линейная интерполяция (иногда называемая lerp). Рассмотрим приведенный выше пример оценки f (2,5). Поскольку 2,5 находится посередине между 2 и 3, разумно взять f (2,5) посередине между f (2) = 0,9093 и f (3) = 0,1411, что дает 0,5252.
Обычно линейная интерполяция берет две точки данных, скажем ( x a , y a ) и ( x b , y b ), а интерполянт задается следующим образом:
Это предыдущее уравнение утверждает, что наклон новой линии между и такой же, как наклон линии между и
Линейная интерполяция быстрая и простая, но не очень точная. Другим недостатком является то, что интерполянт не дифференцируем в точке x k .
Следующая оценка погрешности показывает, что линейная интерполяция не очень точна. Обозначим функцию, которую мы хотим интерполировать, через g и предположим, что x лежит между x a и x b и что g дважды непрерывно дифференцируема. Тогда погрешность линейной интерполяции равна
На словах, ошибка пропорциональна квадрату расстояния между точками данных. Ошибка в некоторых других методах, включая полиномиальную интерполяцию и сплайн-интерполяцию (описанную ниже), пропорциональна более высоким степеням расстояния между точками данных. Эти методы также производят более гладкие интерполянты.
Полиномиальная интерполяция является обобщением линейной интерполяции. Обратите внимание, что линейный интерполянт является линейной функцией . Теперь мы заменим этот интерполянт полиномом более высокой степени .
Рассмотрим еще раз задачу, приведенную выше. Следующий полином шестой степени проходит через все семь точек:
Подставляя x = 2,5, находим, что f (2,5) = ~0,59678.
В общем случае, если у нас есть n точек данных, то есть ровно один полином степени не выше n −1, проходящий через все точки данных. Ошибка интерполяции пропорциональна расстоянию между точками данных в степени n . Более того, интерполянт является полиномом и, следовательно, бесконечно дифференцируем. Итак, мы видим, что полиномиальная интерполяция преодолевает большинство проблем линейной интерполяции.
Однако полиномиальная интерполяция также имеет некоторые недостатки. Вычисление интерполирующего полинома является вычислительно затратным (см. сложность вычислений ) по сравнению с линейной интерполяцией. Кроме того, полиномиальная интерполяция может демонстрировать колебательные артефакты, особенно в конечных точках (см. явление Рунге ).
Полиномиальная интерполяция может оценивать локальные максимумы и минимумы, которые находятся за пределами диапазона выборок, в отличие от линейной интерполяции. Например, интерполянт выше имеет локальный максимум при x ≈ 1,566, f ( x ) ≈ 1,003 и локальный минимум при x ≈ 4,708, f ( x ) ≈ −1,003. Однако эти максимумы и минимумы могут выходить за теоретический диапазон функции; например, функция, которая всегда положительна, может иметь интерполянт с отрицательными значениями, и чья обратная функция, следовательно, содержит ложные вертикальные асимптоты .
В более общем смысле, форма полученной кривой, особенно для очень высоких или низких значений независимой переменной, может противоречить здравому смыслу; то есть тому, что известно об экспериментальной системе, которая сгенерировала точки данных. Эти недостатки можно уменьшить, используя сплайн-интерполяцию или ограничив внимание полиномами Чебышева .
Линейная интерполяция использует линейную функцию для каждого из интервалов [ x k , x k+1 ]. Сплайн-интерполяция использует полиномы низкой степени в каждом из интервалов и выбирает полиномиальные части так, чтобы они плавно подходили друг другу. Полученная функция называется сплайном.
Например, натуральный кубический сплайн является кусочно -кубическим и дважды непрерывно дифференцируемым. Более того, его вторая производная равна нулю в конечных точках. Натуральный кубический сплайн, интерполирующий точки в таблице выше, задается как
В этом случае получаем f (2,5) = 0,5972.
Подобно полиномиальной интерполяции, сплайн-интерполяция вносит меньшую ошибку, чем линейная интерполяция, в то время как интерполянт более гладкий и его легче оценить, чем полиномы высокой степени, используемые в полиномиальной интерполяции. Однако глобальная природа базисных функций приводит к плохой обусловленности. Это полностью смягчается использованием сплайнов компактной поддержки, таких как реализованные в Boost.Math и обсуждаемые в Kress. [3]
В зависимости от базовой дискретизации полей могут потребоваться различные интерполянты. В отличие от других методов интерполяции, которые оценивают функции на целевых точках, миметическая интерполяция оценивает интеграл полей на целевых линиях, площадях или объемах в зависимости от типа поля (скалярное, векторное, псевдовекторное или псевдоскалярное).
Ключевой особенностью миметической интерполяции является то, что выполняются тождества векторного исчисления , включая теорему Стокса и теорему о расходимости . В результате миметическая интерполяция сохраняет линейные, площадные и объемные интегралы. [4] Сохранение линейных интегралов может быть желательным при интерполяции электрического поля , например, поскольку линейный интеграл дает разность электрических потенциалов в конечных точках пути интегрирования. [5] Миметическая интерполяция гарантирует, что ошибка оценки линейного интеграла электрического поля будет такой же, как ошибка, полученная путем интерполяции потенциала в конечных точках пути интегрирования, независимо от длины пути интегрирования.
Линейная , билинейная и трилинейная интерполяция также считаются миметическими, даже если сохраняются значения поля (а не интеграл поля). Помимо линейной интерполяции, интерполяция с весами по площади может считаться одним из первых разработанных методов миметической интерполяции. [6]
Интерполяция — это распространенный способ аппроксимации функций. Если задана функция с набором точек, можно сформировать функцию, такую что для (то есть, которая интерполирует в этих точках). В общем случае интерполянт не обязательно должен быть хорошим приближением, но существуют хорошо известные и часто разумные условия, при которых он будет. Например, если (четыре раза непрерывно дифференцируем), то интерполяция кубическим сплайном имеет предельную погрешность, заданную как , где и — константа. [7]
Гауссов процесс — это мощный инструмент нелинейной интерполяции. Многие популярные инструменты интерполяции фактически эквивалентны конкретным гауссовым процессам. Гауссовы процессы могут использоваться не только для подгонки интерполянта, который проходит точно через заданные точки данных, но и для регрессии; то есть для подгонки кривой через зашумленные данные. В геостатистическом сообществе регрессия гауссова процесса также известна как кригинг .
Другие формы интерполяции могут быть построены путем выбора другого класса интерполянтов. Например, рациональная интерполяция — это интерполяция рациональными функциями с использованием аппроксимации Паде , а тригонометрическая интерполяция — это интерполяция тригонометрическими полиномами с использованием рядов Фурье . Другая возможность — использовать вейвлеты .
Формулу интерполяции Уиттекера –Шеннона можно использовать, если число точек данных бесконечно или если интерполируемая функция имеет компактный носитель.
Иногда мы знаем не только значение функции, которую хотим интерполировать, в некоторых точках, но и ее производную. Это приводит к проблемам интерполяции Эрмита .
Когда каждая точка данных сама по себе является функцией, может быть полезно рассматривать проблему интерполяции как частичную проблему адвекции между каждой точкой данных. Эта идея приводит к проблеме интерполяции смещения, используемой в теории транспортировки .
Многомерная интерполяция — это интерполяция функций более чем одной переменной. Методы включают интерполяцию ближайшего соседа , билинейную интерполяцию и бикубическую интерполяцию в двух измерениях, а также трилинейную интерполяцию в трех измерениях. Они могут применяться к сеточным или разбросанным данным. Миметическая интерполяция обобщается на размерные пространства, где . [8] [9]
В области цифровой обработки сигналов термин интерполяция относится к процессу преобразования дискретизированного цифрового сигнала (например, дискретизированного аудиосигнала) в сигнал с более высокой частотой дискретизации ( Upsampling ) с использованием различных методов цифровой фильтрации (например, свертки с ограниченным по частоте импульсным сигналом). В этом приложении существует особое требование, чтобы гармоническое содержимое исходного сигнала сохранялось без создания наложенного гармонического содержимого исходного сигнала выше исходного предела Найквиста сигнала (то есть выше fs/2 исходной частоты дискретизации сигнала). Раннее и довольно элементарное обсуждение этой темы можно найти в книге Рабинера и Крошира Multirate Digital Signal Processing . [10]
Термин «экстраполяция» используется для поиска точек данных за пределами диапазона известных точек данных.
В задачах подгонки кривой ограничение, что интерполянт должен проходить точно через точки данных, ослабляется. Требуется только приблизиться к точкам данных как можно ближе (в рамках некоторых других ограничений). Это требует параметризации потенциальных интерполянтов и наличия какого-либо способа измерения ошибки. В простейшем случае это приводит к аппроксимации наименьшими квадратами .
Теория приближений изучает, как найти наилучшее приближение к заданной функции с помощью другой функции из некоторого предопределенного класса, и насколько это приближение хорошо. Это ясно дает границу того, насколько хорошо интерполянт может приближать неизвестную функцию.
Если мы рассматриваем как переменную в топологическом пространстве , а функцию, отображающую в банахово пространство , то задача трактуется как «интерполяция операторов». [11] Классическими результатами об интерполяции операторов являются теорема Рисса–Торина и теорема Марцинкевича . Существует также много других последующих результатов.
{{cite book}}
: CS1 maint: location missing publisher (link)