2009-02-26 2 views
11

В статье article Питера Альфреда о многопараметрической интерполяции рассеянных данных он упомянул, что из множества схем лишь немногие действительно популярны среди практикующих. Он назвал, например, метод Шепард и многоквартирность Харди. Но этой статье уже почти 20 лет, и что действительно интересно, какие методы широко используются в наши дни.Какой метод многомерной интерполяции является лучшим для практического использования?

Если у вас есть опыт использования некоторых пространственных схем интерполяции, расскажите об этом.

UPD: Чтобы сделать этот вопрос более конкурентоспособным, я переформулировал его. Это были «Какие методы многомерной интерполяции вы когда-либо использовали?»

+0

Можем ли мы иметь ссылку на статью, если она находится в сети? –

+0

Несомненно. Я обновил тело вопроса ссылкой citeseer. – akalenuk

ответ

6

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

2

Единственное приложение, которое я видел, - это код littleCMS (механизм управления цветом с открытым исходным кодом).

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

+0

Код, который вы ищете, представляет собой четырехгранную интерполяцию. В Mathworks есть статья [http://blogs.mathworks.com/steve/2006/11/24/tetrahedral-interpolation-for-colorspace-conversion/] о том, почему это хорошая методика преобразования цветов. Для других применений ваш пробег может отличаться. –

1

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

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

Другая интересная характеристика метода заключается в том, что точки были вершинами треугольников, а связь сохранялась при сглаживании.

15

(Это позволит получить длинные, если я просто не выдыхаться.)

Во-первых, несколько комментариев о нерассеянного данных. (См. Ответ, который ссылается на littleCMS)

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

Много лет назад все мы поняли, что трилинейная интерполяция вводит артефакты при цветопередаче при применении к определенным типам преобразований. Проблемы наблюдаются у нейтралов. Решение состоит в том, чтобы перейти к симплициальному интерполятору в 3-й раз, разрезав куб на 6 тетраэдров. В n измерениях единичный куб будет расчленен на факториальные (n) симплексы. Существуют и другие вскрытия куба, но этот особый стиль гарантирует, что основная диагональ всегда является общим краем для всех симплексов. Это, в свою очередь, восстанавливает хорошее поведение нейтралов при применении к определенным таблицам поиска цветов.

Теперь позвольте мне задать вопрос об истинной интерполяции рассеянных данных.

Другие упомянули различные схемы. Кригинг, мультиквадрия, дистанционные методы - это несколько. (Когда я делал некоторую работу в прошлом с этими схемами, я фактически предпочел обратные многоквартирные методы.) Все это на самом деле просто вариации радиальных методов базисных функций, общей схемы. Методы RBF имеют свои хорошие и плохие моменты. Они обычно генерируют гладкую интерполяцию, это, конечно, зависит от выбранной конкретной функции функции, а также от того, хотите ли вы ограничить поддержку. Методы RBF также позволяют экстраполировать, по крайней мере, так далеко, как будет расширяться поддержка радиальных базисных элементов. Если базовым элементам разрешено быть бесконечным по размеру, тогда не будет применено явное ограничение на экстраполяцию. (Экстраполяция в целом - это плохо.) Одна из проблем с методами RBF заключается в том, что они требуют решения больших систем линейных уравнений, и эти системы уравнений часто являются плотными матрицами. Это означает, что размер проблемы с точки зрения количества точек данных, которые вы можете обрабатывать, имеет тенденцию ограничиваться линейной алгеброй. Если вместо этого вы ограничиваете поддержку, обрезая базовые элементы, тогда матрицы могут стать разреженными. Это улучшит линейную алгебру, если вы используете разреженный пакет матриц для решения. В то же время, расстояние поддержки становится нелинейным параметром, который необходимо контролировать. Кроме того, методы, такие как multiquadrics и обратные мультиквадрические методы, могут иметь вторичный нелинейный параметр, который управляет формой базовых элементов. У Кригинга есть подобные проблемы, и я объединил бы все эти методы вместе.

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

Еще одна проблема с общим классом методов RBF - это то, что я назову интраполяцией. Это неологизм, который я создал много лет назад, чтобы описать интерполяцию через относительно большую дыру в данных. На самом деле часто могут возникать проблемы даже при интерполяции между меньшими отверстиями в данных. Эти методы, поскольку они в какой-то степени гладкие, могут ввести нежелательные экстремумы (большие пики или долины) в интерполированную поверхность. Это обычная проблема даже с 1-м интерполянтами, часто рассматриваемыми как звонкие артефакты с кубическими сплайнами или полиномиальными интерполяциями и, конечно же, с интерполяторами серии Фурье. Проблема в более высоких измерениях состоит в том, чтобы даже признать, что это действительно произошло, поскольку наложение поверхностей в более чем трех измерениях затруднено.

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

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

Основные компромиссы должны быть очевидны здесь. Если вам нужна гладкая интерполяция и у вас есть только несколько точек, то часто выбираются методы RBF. Они просты, просты в использовании и т. Д.Фактический выбранный метод часто является просто вопросом удобства или даже привычкой. Я использовал один инструмент раньше и был счастлив, я, вероятно, буду счастлив с ним снова. Поскольку вопрос был о том, какой метод «лучше всего подходит для практического использования», я укажу, что лучше всего это очень субъективное слово, когда оно применяется вне контекста. Каковы ваши цели в задаче интерполяции? Какие навыки у вас есть? Какой набор инструментов вы знаете, как использовать? В какой среде вы будете работать? Все эти факторы повлияют на ваш выбор лучшего метода.

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

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

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

Я закончу здесь, прежде чем он превратится в книгу.

+1

Большое спасибо за ваш ответ! Дело в том, что в настоящее время я работаю над симпатичной схемой с регулируемой сглаженностью в рамках моих докторских исследований, и я просто хотел знать, это проблема reallife или нет. Еще раз, спасибо. – akalenuk

Смежные вопросы