Интерполяция (scipy.interpolate)#
В SciPy доступно несколько общих инструментов для интерполяции и сглаживания данных в 1, 2 и более измерениях. Выбор конкретной процедуры интерполяции зависит от данных: являются ли они одномерными, заданы на структурированной сетке или неструктурированы. Другим фактором является желаемая гладкость интерполятора. Вкратце, рекомендуемые процедуры для интерполяции можно резюмировать следующим образом:
kind |
рутина |
непрерывность |
комментарий |
|
|---|---|---|---|---|
1D |
линейный |
кусочно-непрерывный |
Альтернативно,
|
|
кубический сплайн |
2-я производная |
|||
монотонный кубический сплайн |
1-я производная |
без перерегулирования |
||
некубический сплайн |
(k-1)-я производная |
|
||
ближайший |
kind='nearest', 'previous', 'next' |
|||
N-мерная кривая |
ближайший, линейный, сплайн |
(k-1)-я производная |
использовать N-мерный y массив |
|
N-мерный регулярный (прямолинейный) сетка |
ближайший |
method='nearest' |
||
линейный |
method='linear' |
|||
сплайны |
Вторые производные |
method='cubic', 'quintic' |
||
монотонные сплайны |
1-е производные |
method='pchip' |
||
N-мерные рассеянные |
ближайший |
псевдоним: |
||
линейный |
||||
cubic (только 2D) |
1-е производные |
|||
радиальная базисная функция |
Сглаживание и аппроксимация данных#
Одномерные сплайн-функции |
классические сглаживающие сплайны, GCV штраф |
|
автоматический/полуавтоматический выбор узлов |
||
сплайновые кривые в N-D |
||
неограниченная сплайн-аппроксимация методом наименьших квадратов |
||
2D сглаживающие поверхности |
разбросанные данные |
|
данные на сетке |
||
Радиальные базисные функции в N-мерном пространстве |
Дополнительные детали приведены в ссылках ниже
- 1-D интерполяция
- Кусочно-полиномы и сплайны
- Сглаживающие сплайны
- Многомерная интерполяция данных на регулярной сетке (
RegularGridInterpolator) - Интерполяция разрозненных данных (
griddata) - Использование радиальных базисных функций для сглаживания/интерполяции
- Советы и рекомендации по экстраполяции
interp2dруководство по переходу