Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

В математической области численного анализа , интерполяция представляет собой тип оценки , метод построения новых точек данных в пределах диапазона с дискретным множеством известных точек данных. [1]

В инженерии и науке часто бывает несколько точек данных, полученных путем выборки или экспериментирования , которые представляют значения функции для ограниченного числа значений независимой переменной . Часто требуется интерполировать , т. Е. Оценить значение этой функции для промежуточного значения независимой переменной.

Тесно связанная проблема - приближение сложной функции простой функцией. Предположим, что формула для некоторой заданной функции известна, но слишком сложна для ее эффективного вычисления. Несколько точек данных из исходной функции можно интерполировать для получения более простой функции, которая все еще довольно близка к исходной. В результате выигрыш в простоте может перевесить потери из-за ошибки интерполяции.

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

Пример [ править ]

В этой таблице приведены некоторые значения неизвестной функции .

График точек данных, как указано в таблице.

Интерполяция позволяет оценить функцию в промежуточных точках, например .

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

Кусочная постоянная интерполяция [ править ]

Кусочная постоянная интерполяция или интерполяция ближайшего соседа .

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

Линейная интерполяция [ править ]

График данных с наложенной линейной интерполяцией

Один из простейших методов - линейная интерполяция (иногда известная как 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. [2]

Аппроксимация функции [ править ]

Интерполяция - это распространенный способ аппроксимации функций. Для данной функции с набором точек можно сформировать такую ​​функцию , что для (то есть интерполирует в этих точках). В общем, интерполянт не обязательно должен быть хорошим приближением, но есть хорошо известные и часто разумные условия, в которых он будет. Например, если (четырехкратно непрерывно дифференцируемый), то кубическая сплайн-интерполяция имеет границу ошибки, задаваемую где и - константа. [3]

Через гауссовские процессы [ править ]

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

Другие формы [ править ]

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

Интерполяционной формуле Уиттакер-Шеннона может быть использовано , если число точек данных является бесконечным , или если функция для интерполяции имеет компактный носитель.

Иногда мы знаем не только значение функции, которую мы хотим интерполировать, в некоторых точках, но и ее производную. Это приводит к проблемам интерполяции Эрмита .

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

В высших измерениях [ править ]

Сравнение некоторых 1- и 2-мерных интерполяций. Черные и красные / желтые / зеленые / синие точки соответствуют интерполированной точке и соседним отсчетам соответственно. Их высота над землей соответствует их значениям.

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

  • Ближайший сосед

  • Билинейный

  • Бикубический

В цифровой обработке сигналов [ править ]

В области обработки цифрового сигнала термин интерполяция относится к процессу преобразования дискретизированного цифрового сигнала (такого как дискретизированный аудиосигнал) в сигнал с более высокой частотой дискретизации ( повышающая дискретизация ) с использованием различных методов цифровой фильтрации (например, свертка с частотно-ограниченный импульсный сигнал). В этом приложении есть особое требование, чтобы гармоническое содержание исходного сигнала сохранялось без создания наложенного гармонического содержания исходного сигнала выше исходного предела Найквиста сигнала (то есть выше fs / 2 частоты дискретизации исходного сигнала). Раннее и довольно элементарное обсуждение этого вопроса можно найти в книге Рабинера и Крошьера « Многоскоростная цифровая обработка сигналов» . [4]

Понятия, связанные с данным [ править ]

Термин экстраполяция используется для поиска точек данных за пределами диапазона известных точек данных.

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

Теория приближений изучает, как найти наилучшее приближение к заданной функции другой функцией из некоторого предопределенного класса и насколько хорошо это приближение. Это явно дает оценку того, насколько хорошо интерполянт может аппроксимировать неизвестную функцию.

Обобщение [ править ]

Если мы рассматриваем как переменную в топологическом пространстве , так и функцию, отображающуюся в банахово пространство , то проблема трактуется как «интерполяция операторов». [5] Классические результаты об интерполяции операторов являются теорема Рисса-Торина и теорема Марцинкевича . Есть и много других последующих результатов.

См. Также [ править ]

  • Барицентрические координаты - для интерполяции внутри треугольника или тетраэдра
  • Билинейная интерполяция
  • Формула интерполяции Брахмагупты
  • Экстраполяция
  • Фрактальная интерполяция
  • Вменение (статистика)
  • Интерполяция Лагранжа
  • Отсутствующие данные
  • Многомерная интерполяция
  • Формулы Ньютона – Котеса
  • Полиномиальная интерполяция
  • Радиальная интерполяция базисной функции
  • Простое рациональное приближение

Ссылки [ править ]

  1. ^ Шеппард, Уильям Флитвуд (1911). «Интерполяция»  . В Чисхолме, Хью (ред.). Encyclopdia Britannica . 14 (11-е изд.). Издательство Кембриджского университета. С. 706–710.
  2. ^ Кресс, Райнер (1998). Численный анализ .
  3. ^ Холл, Чарльз A .; Мейер, Уэстон В. (1976). «Оптимальные границы ошибок для интерполяции кубического сплайна». Журнал теории приближений . 16 (2): 105–122. DOI : 10.1016 / 0021-9045 (76) 90040-X .
  4. ^ RE Crochiere и LR Rabiner. (1983). Многоскоростная цифровая обработка сигналов. Энглвуд Клиффс, Нью-Джерси: Прентис-Холл.
  5. ^ Колин Беннет, Роберт К. Шарпли, Интерполяция операторов , Academic Press 1988

Внешние ссылки [ править ]

  • Онлайн-инструменты для линейной , квадратичной , кубической сплайновой и полиномиальной интерполяции с визуализацией и исходным кодом JavaScript .
  • Учебники Sol - Уловки интерполяции
  • Компактно поддерживаемая интерполяция кубического B-сплайна в Boost.Math
  • Барицентрическая рациональная интерполяция в Boost.Math
  • Интерполяция с помощью преобразования Чебышева в Boost.Math