Фильтр Савицкого–Голея — это цифровой фильтр , который можно применять к набору цифровых точек данных с целью сглаживания данных, то есть для повышения точности данных без искажения тенденции сигнала. Это достигается в процессе, известном как свёртка , путём подгонки последовательных подмножеств соседних точек данных с помощью полинома низкой степени методом линейных наименьших квадратов . Когда точки данных расположены на одинаковом расстоянии, можно найти аналитическое решение уравнений наименьших квадратов в виде одного набора «коэффициентов свертки», которые можно применять ко всем подмножествам данных, чтобы дать оценки сглаженного сигнала (или производных сглаженного сигнала) в центральной точке каждого подмножества. Метод, основанный на устоявшихся математических процедурах, [1] [2] был популяризирован Авраамом Савицким и Марселем Дж. Э. Голеем , которые опубликовали таблицы коэффициентов свертки для различных полиномов и размеров подмножеств в 1964 году. [3] [4] Некоторые ошибки в таблицах были исправлены. [5] Метод был расширен для обработки 2- и 3-мерных данных.
Статья Савицкого и Голея является одной из наиболее цитируемых статей в журнале Analytical Chemistry [6] и классифицируется этим журналом как одна из «10 основополагающих статей», в которой говорится: «Можно утверждать, что начало развития аналитического прибора с компьютерным управлением можно проследить до этой статьи» [7] .
Приложения
Данные состоят из набора точек , , где — независимая переменная, а — наблюдаемое значение. Они обрабатываются набором коэффициентов свертки, , согласно выражению
Выбранные коэффициенты свертки показаны в таблицах ниже. Например, для сглаживания 5-точечным квадратичным полиномом, а сглаженная точка данных, , задается как
,
где, и т. д. Существует множество применений сглаживания, например, для предотвращения распространения шума по цепочке алгоритмов или иногда просто для того, чтобы данные казались менее зашумленными, чем они есть на самом деле.
Ниже приведены приложения численного дифференцирования данных. [8] Примечание. При вычислении n- й производной ко всем вычисленным точкам данных может быть применен дополнительный масштабный коэффициент для получения абсолютных значений ( подробности см. в выражениях для ниже).
Расположение максимумов и минимумов на кривых экспериментальных данных. Это было приложение, которое впервые мотивировало Савицкого. [4] Первая производная функции равна нулю в максимуме или минимуме. Диаграмма показывает точки данных, принадлежащие синтетической лоренцевой кривой с добавленным шумом (синие ромбы). Данные нанесены на график в масштабе половины ширины относительно пикового максимума в нуле. Сглаженная кривая (красная линия) и 1-я производная (зеленая) были рассчитаны с помощью 7-точечных кубических фильтров Савицкого–Голея. Линейная интерполяция значений первой производной в положениях по обе стороны от нулевого пересечения дает положение пикового максимума. Для этой цели также можно использовать 3-и производные.
Расположение конечной точки на кривой титрования . Конечная точка — это точка перегиба , где вторая производная функции равна нулю. [9] Кривая титрования малоновой кислоты иллюстрирует силу метода. Первая конечная точка при 4 мл едва заметна, но вторая производная позволяет легко определить ее значение с помощью линейной интерполяции для нахождения нулевого пересечения.
Сглаживание базовой линии. В аналитической химии иногда необходимо измерить высоту полосы поглощения относительно изогнутой базовой линии. [10] Поскольку кривизна базовой линии намного меньше кривизны полосы поглощения, вторая производная эффективно сглаживает базовую линию. Три меры высоты производной, которая пропорциональна высоте полосы поглощения, — это расстояния «пик-впадина» h1 и h2, и высота от базовой линии h3. [11]
Улучшение разрешения в спектроскопии. Полосы во второй производной спектроскопической кривой уже, чем полосы в спектре: они имеют уменьшенную полуширину . Это позволяет частично перекрывающимся полосам «разделяться» на отдельные (отрицательные) пики. [12] Диаграмма иллюстрирует, как это можно использовать также для химического анализа , используя измерение расстояний «пик-впадина». В этом случае впадины являются свойством второй производной лоренцева. ( положение оси x относительно положения максимума пика на шкале половины ширины на половине высоты ).
Улучшение разрешения с 4-й производной (положительные пики). Минимумы являются свойством 4-й производной лоренциана.
Скользящая средняя
«Фильтр скользящего среднего» — это тривиальный пример фильтра Савицкого-Голея, который обычно используется с данными временных рядов для сглаживания краткосрочных колебаний и выделения долгосрочных тенденций или циклов. Каждое подмножество набора данных соответствует прямой горизонтальной линии, а не полиному более высокого порядка. Фильтр невзвешенного скользящего среднего — это простейший фильтр свертки.
Скользящая средняя часто используется для быстрого технического анализа финансовых данных, таких как цены акций, доходность или объемы торговли. Она также используется в экономике для изучения валового внутреннего продукта, занятости или других макроэкономических временных рядов.
Он не был включен в некоторые таблицы коэффициентов свертки Савицкого-Голея, поскольку все значения коэффициентов идентичны, со значением .
Вывод коэффициентов свертки
Когда точки данных расположены на одинаковом расстоянии друг от друга, можно найти аналитическое решение уравнений наименьших квадратов. [2] Это решение составляет основу метода свертки численного сглаживания и дифференцирования. Предположим, что данные состоят из набора из n точек ( x j , y j ) ( j = 1, ..., n ), где x j — независимая переменная, а y j — начальное значение. Полином будет подобран линейным методом наименьших квадратов к набору из m (нечетное число) смежных точек данных, каждая из которых разделена интервалом h . Во-первых, выполняется замена переменной
где — значение центральной точки. z принимает значения (например, m = 5 → z = −2, −1, 0, 1, 2). [примечание 1] Многочлен степени k определяется как
[примечание 2]
Коэффициенты a 0 , a 1 и т.д. получаются путем решения нормальных уравнений (жирный a представляет вектор , жирный J представляет матрицу ).
Например, для кубического полинома, подогнанного к 5 точкам, z = −2, −1, 0, 1, 2, нормальные уравнения решаются следующим образом.
Теперь нормальные уравнения можно разложить на два отдельных набора уравнений, переставив строки и столбцы, с помощью
Выражения для обратных матриц каждой из этих матриц можно получить с помощью правила Крамера
Нормальные уравнения становятся
и
Умножая и удаляя общие множители,
Коэффициенты y в этих выражениях называются коэффициентами свертки . Они являются элементами матрицы
В общем,
В матричной записи этот пример записывается как
Таблицы коэффициентов свертки, вычисленные таким же образом для m до 25, были опубликованы для сглаживающего фильтра Савицкого–Голея в 1964 году, [3] [5] Значение центральной точки z = 0 получается из одного набора коэффициентов, a 0 для сглаживания, a 1 для 1-й производной и т. д. Числовые производные получаются путем дифференцирования Y . Это означает, что производные вычисляются для сглаженной кривой данных . Для кубического полинома
В общем случае многочлены степени (0 и 1), [примечание 3] (2 и 3), (4 и 5) и т. д. дают одинаковые коэффициенты для сглаживания и четных производных. Многочлены степени (1 и 2), (3 и 4) и т. д. дают одинаковые коэффициенты для нечетных производных.
Алгебраические выражения
Не всегда необходимо использовать таблицы Савицкого–Голея. Суммы в матрице J T J можно оценить в замкнутом виде ,
так что можно вывести алгебраические формулы для коэффициентов свертки. [13] [примечание 4] Функции, которые подходят для использования с кривой, имеющей точку перегиба :
Сглаживание, полиномиальная степень 2,3: (диапазон значений i также применим к выражениям ниже)
1-я производная: степень полинома 3,4
2-я производная: степень полинома 2,3
3-я производная: степень полинома 3,4
Более простые выражения, которые можно использовать с кривыми, не имеющими точки перегиба:
Сглаживание, степень полинома 0,1 (скользящее среднее):
1-я производная, степень полинома 1,2:
Можно получить более высокие производные. Например, четвертую производную можно получить, выполнив два прохода функции второй производной. [14]
Использование ортогональных многочленов
Альтернативой подгонке m точек данных простым полиномом по вспомогательной переменной z является использование ортогональных полиномов .
где P 0 , ..., P k — набор взаимно ортогональных многочленов степени 0, ..., k . Полные сведения о том, как получить выражения для ортогональных многочленов и связь между коэффициентами b и a, приведены Гестом. [2] Выражения для коэффициентов свертки легко получить, поскольку матрица нормальных уравнений J T J является диагональной матрицей , поскольку произведение любых двух ортогональных многочленов равно нулю в силу их взаимной ортогональности. Следовательно, каждый ненулевой элемент его обратного элемента является просто обратным соответствующим элементом в матрице нормального уравнения. Вычисление еще больше упрощается за счет использования рекурсии для построения ортогональных многочленов Грама . Все вычисление можно закодировать в нескольких строках PASCAL , компьютерного языка, хорошо адаптированного для вычислений, включающих рекурсию. [15]
Обработка первой и последней точек
Фильтры Савицкого–Голея чаще всего используются для получения сглаженного или производного значения в центральной точке z = 0 с использованием одного набора коэффициентов свертки. ( m − 1)/2 точек в начале и конце ряда не могут быть вычислены с помощью этого процесса. Для избежания этого неудобства можно использовать различные стратегии.
Данные можно искусственно расширить, добавив в обратном порядке копии первых ( m − 1)/2 точек в начале и копии последних ( m − 1)/2 точек в конце. Например, при m = 5 добавляются две точки в начале и конце данных y 1 , ..., y n .
y 3 , y 2 , y 1 , ... , y n , y n -1 , y n -2 .
Если снова взглянуть на подгоночный полином, то становится очевидным, что данные можно вычислить для всех значений z , используя все наборы коэффициентов свертки для одного полинома, a 0 .. a k .
Для кубического полинома
Коэффициенты свертки для отсутствующих первой и последней точек также могут быть легко получены. [15] Это также эквивалентно подгонке первых ( m + 1)/2 точек с помощью того же полинома, и аналогично для последних точек.
Взвешивание данных
В приведенной выше обработке подразумевается, что всем точкам данных придается одинаковый вес. Технически, целевая функция
минимизируется в процессе наименьших квадратов, имеет единичные веса, w i = 1. Когда веса не все одинаковы, нормальные уравнения становятся
,
Если для всех подмножеств данных используется один и тот же набор диагональных весов, можно записать аналитическое решение нормальных уравнений. Например, с квадратичным полиномом,
Явное выражение для обратной матрицы можно получить с помощью правила Крамера . Набор коэффициентов свертки может быть получен как
В качестве альтернативы коэффициенты C можно рассчитать в электронной таблице, используя встроенную процедуру обращения матрицы для получения обратной матрицы нормальных уравнений. Этот набор коэффициентов, после вычисления и сохранения, может использоваться во всех вычислениях, в которых применяется одна и та же схема взвешивания. Для каждой другой схемы взвешивания необходим свой набор коэффициентов.
Было показано, что фильтр Савицкого–Голея можно улучшить, введя веса, которые уменьшаются на концах интервала подгонки. [16]
Коэффициенты двумерной свертки
Двумерное сглаживание и дифференциация также могут применяться к таблицам значений данных, например, значений интенсивности на фотографическом изображении, которое состоит из прямоугольной сетки пикселей. [17] [18] Такая сетка называется ядром, а точки данных, составляющие ядро, называются узлами. Хитрость заключается в том, чтобы преобразовать прямоугольное ядро в одну строку путем простого упорядочивания индексов узлов. В то время как коэффициенты одномерного фильтра находятся путем подгонки полинома во вспомогательной переменной z к набору из m точек данных, двумерные коэффициенты находятся путем подгонки полинома во вспомогательных переменных v и w к набору значений в узлах ядра m × n . Следующий пример для двумерного полинома общей степени 3, m = 7 и n = 5, иллюстрирует процесс, который параллелен процессу для одномерного случая, описанного выше. [19]
Прямоугольное ядро 35 значений данных, d 1 − d 35
в
ж
−3
−2
−1
0
1
2
3
−2
д 1
д 2
д 3
д 4
д 5
д 6
д 7
−1
д 8
д 9
д 10
д 11
д 12
д 13
д 14
0
д 15
д 16
д 17
д 18
д 19
д 20
д 21
1
д 22
д 23
д 24
д 25
д 26
д 27
д 28
2
д 29
д 30
д 31
д 32
д 33
д 34
д 35
становится вектором, когда строки размещаются одна за другой.
д = ( д 1 ... д 35 ) Т
Якобиан имеет 10 столбцов, по одному для каждого из параметров a 00 − a 03 , и 35 строк, по одной для каждой пары значений v и w . Каждая строка имеет вид
Коэффициенты свертки рассчитываются как
Первая строка C содержит 35 коэффициентов свертки, которые можно умножить на 35 значений данных, соответственно, чтобы получить полиномиальный коэффициент , который является сглаженным значением в центральном узле ядра (т.е. в 18-м узле приведенной выше таблицы). Аналогично, другие строки C можно умножить на 35 значений, чтобы получить другие полиномиальные коэффициенты, которые, в свою очередь, можно использовать для получения сглаженных значений и различных сглаженных частных производных в различных узлах.
Никитас и Паппа-Луизи показали, что в зависимости от формата используемого полинома качество сглаживания может существенно различаться. [20] Они рекомендуют использовать полином вида
потому что такие полиномы могут достигать хорошего сглаживания как в центральной, так и в приграничной области ядра, и поэтому их можно уверенно использовать для сглаживания как во внутренних, так и в приграничных точках данных выборочной области. Чтобы избежать плохой обусловленности при решении задачи наименьших квадратов, p < m и q < n . Для программного обеспечения, которое вычисляет двумерные коэффициенты, и для базы данных таких C , см. раздел о многомерных коэффициентах свертки ниже.
Многомерные коэффициенты свертки
Идея двумерных коэффициентов свертки может быть распространена на более высокие пространственные измерения также простым способом, [17] [21] путем размещения многомерного распределения узлов ядра в одной строке. Следуя вышеупомянутому открытию Никитаса и Паппа-Луизи [20] в двумерных случаях, использование следующей формы полинома рекомендуется в многомерных случаях:
где D — размерность пространства, 's — коэффициенты полинома, а u 's — координаты в различных пространственных направлениях. Алгебраические выражения для частных производных любого порядка, смешанного или иного, могут быть легко выведены из приведенного выше выражения. [21] Обратите внимание, что C зависит от способа, которым узлы ядра располагаются в ряд, и от способа, которым располагаются различные члены развернутой формы приведенного выше полинома при подготовке якобиана.
Точное вычисление C в многомерных случаях становится сложной задачей, поскольку точность стандартных чисел с плавающей точкой, доступных в языках программирования, больше не остается достаточной. Недостаточная точность приводит к тому, что ошибки усечения с плавающей точкой становятся сопоставимыми с величинами некоторых элементов C , что, в свою очередь, серьезно ухудшает его точность и делает его бесполезным. Чандра Шехар создал два программного обеспечения с открытым исходным кодом , Advanced Convolution Coefficient Calculator (ACCC) и Precise Convolution Coefficient Calculator (PCCC), которые адекватно решают эти проблемы точности. ACCC выполняет вычисление, используя числа с плавающей точкой, итеративным образом. [22] Точность чисел с плавающей точкой постепенно увеличивается в каждой итерации с помощью GNU MPFR . Как только полученные C в двух последовательных итерациях начинают иметь одинаковые значимые цифры до заранее указанного расстояния, предполагается , что конвергенция достигнута. Если расстояние достаточно велико, вычисление дает высокоточное C. PCCC использует вычисления рациональных чисел с помощью библиотеки арифметики многократной точности GNU и выдает полностью точный C в формате рациональных чисел . [23] В конце эти рациональные числа преобразуются в числа с плавающей точкой, до заранее указанного количества значимых цифр.
База данных C, вычисленных с использованием ACCC для симметричных ядер и как симметричных, так и асимметричных полиномов на единично-разнесенных узлах ядра в 1-, 2-, 3- и 4-мерных пространствах, становится доступной. [24] Чандра Шехар также изложил математическую структуру, описывающую использование C, вычисленного на единично-разнесенных узлах ядра, для выполнения фильтрации и частичной дифференциации (различных порядков) на неравномерно разнесенных узлах ядра, [21] что позволяет использовать C , предоставленный в вышеупомянутой базе данных. Хотя этот метод дает только приблизительные результаты, они приемлемы в большинстве инженерных приложений, при условии, что неоднородность узлов ядра слабая.
Некоторые свойства свертки
Сумма коэффициентов свертки для сглаживания равна единице. Сумма коэффициентов для нечетных производных равна нулю. [25]
Сумма квадратов коэффициентов свертки для сглаживания равна значению центрального коэффициента. [26]
Сглаживание функции оставляет область под функцией неизменной. [25]
Свертка симметричной функции с четными производными коэффициентами сохраняет центр симметрии. [25]
Свойства производных фильтров. [27]
Искажение сигнала и шумоподавление
Неизбежно, что сигнал будет искажен в процессе свертки. Из свойства 3 выше, когда данные, имеющие пик, сглаживаются, высота пика будет уменьшена, а полуширина будет увеличена. Как степень искажения, так и улучшение S/N ( отношения сигнал/шум ):
уменьшаться по мере увеличения степени многочлена
увеличиваются по мере увеличения ширины m функции свертки
Например, если шум во всех точках данных некоррелирован и имеет постоянное стандартное отклонение , σ , стандартное отклонение шума будет уменьшено путем свертки с m -точечной функцией сглаживания до [26] [примечание 5]
Эти функции показаны на графике справа. Например, с 9-точечной линейной функцией (скользящее среднее) удаляется две трети шума, а с 9-точечной квадратичной/кубической функцией сглаживания удаляется только около половины шума. Большая часть оставшегося шума — это низкочастотный шум (см. Частотные характеристики фильтров свертки ниже).
Хотя функция скользящего среднего обеспечивает лучшее шумоподавление, она не подходит для сглаживания данных, имеющих кривизну в m точках. Функция квадратичного фильтра не подходит для получения производной кривой данных с точкой перегиба , поскольку квадратичный полином не имеет ее. Оптимальный выбор порядка полинома и числа коэффициентов свертки будет компромиссом между шумоподавлением и искажением. [28]
Многопроходные фильтры
Один из способов смягчить искажения и улучшить удаление шума — использовать фильтр меньшей ширины и выполнить с ним более одной свертки. Для двух проходов одного и того же фильтра это эквивалентно одному проходу фильтра, полученного сверткой исходного фильтра с самим собой. [29] Например, 2 прохода фильтра с коэффициентами (1/3, 1/3, 1/3) эквивалентны 1 проходу фильтра с коэффициентами (1/9, 2/9, 3/9, 2/9, 1/9).
Недостатком многопроходности является то, что эквивалентная ширина фильтра для проходов функции -точки такова, что многопроходность подвержена большим конечным эффектам. Тем не менее, многопроходность использовалась с большим преимуществом. Например, около 40–80 проходов по данным с отношением сигнал/шум всего 5 дали полезные результаты. [30] Формулы снижения шума, приведенные выше, неприменимы, поскольку корреляция между вычисленными точками данных увеличивается с каждым проходом.
θ изменяется от 0 до 180 градусов , после чего функция просто повторяется. Типичным является график для 9-точечной квадратичной/кубической сглаживающей функции. При очень малом угле график почти плоский, что означает, что низкочастотные компоненты данных будут практически неизменны операцией сглаживания. По мере увеличения угла значение уменьшается, так что более высокочастотные компоненты все больше и больше ослабляются. Это показывает, что сверточный фильтр можно описать как фильтр нижних частот : шум, который удаляется, в основном является высокочастотным шумом, а низкочастотный шум проходит через фильтр. [31] Некоторые высокочастотные шумовые компоненты ослабляются больше, чем другие, как показывают волнообразные изменения в преобразовании Фурье при больших углах. Это может привести к небольшим колебаниям в сглаженных данных [32] и изменению фазы, т. е. высокочастотные колебания в данных инвертируются фильтрацией Савицкого–Голея. [33]
Свертка и корреляция
Свертка влияет на корреляцию между ошибками в данных. Эффект свертки можно выразить как линейное преобразование.
Чтобы увидеть, как это применяется на практике, рассмотрим эффект 3-точечной скользящей средней на первых трех рассчитанных точках, Y 2 − Y 4 , предполагая, что точки данных имеют одинаковую дисперсию и что между ними нет корреляции. A будет единичной матрицей, умноженной на константу, σ 2 , дисперсию в каждой точке.
В общем, вычисленные значения коррелируют, даже если наблюдаемые значения не коррелируют. Корреляция распространяется на m − 1 вычисленных точек за раз. [34]
Многопроходные фильтры
Чтобы проиллюстрировать влияние многопроходности на шум и корреляцию набора данных, рассмотрим влияние второго прохода фильтра скользящей средней с тремя точками. Для второго прохода [примечание 6]
После двух проходов стандартное отклонение центральной точки уменьшилось до , по сравнению с 0,58 σ для одного прохода. Снижение шума немного меньше, чем было бы получено при одном проходе 5-точечной скользящей средней, которая при тех же условиях привела бы к тому, что сглаженные точки имели бы меньшее стандартное отклонение 0,45 σ .
Корреляция теперь распространяется на диапазон из 4 последовательных точек с коэффициентами корреляции.
Преимущество, получаемое при выполнении двух проходов с более узкой функцией сглаживания, заключается в том, что она вносит меньше искажений в расчетные данные.
Сравнение с другими фильтрами и альтернативами
По сравнению с другими сглаживающими фильтрами, например, сверткой с гауссовой или многопроходной скользящей средней фильтрацией, фильтры Савицкого–Голея изначально имеют более плоский отклик и более резкое срезание в частотной области, особенно для высоких порядков полинома подгонки (см. частотные характеристики). Для данных с ограниченной полосой пропускания сигнала это означает, что фильтрация Савицкого–Голея может обеспечить лучшее отношение сигнал/шум, чем многие другие фильтры; например, пиковые высоты спектров сохраняются лучше, чем для других фильтров с аналогичным подавлением шума. Недостатками фильтров Савицкого–Голея являются сравнительно плохое подавление некоторых высоких частот (плохое подавление полосы задерживания ) и артефакты при использовании полиномиальных подгонок для первой и последней точек. [16]
Альтернативные методы сглаживания, которые разделяют преимущества фильтров Савицкого–Голея и смягчают по крайней мере некоторые из их недостатков, — это фильтры Савицкого–Голея с правильно выбранными альтернативными весами подгонки, сглаживание Уиттекера–Хендерсона и Hodrick–Prescott_filter (эквивалентные методы, тесно связанные со сглаживающими сплайнами ), а также свертка с оконной функцией sinc . [16]
Рассмотрим набор точек данных . Таблицы Савицкого–Голея относятся к случаю, когда шаг постоянен, h . Примеры использования так называемых коэффициентов свертки с кубическим полиномом и размером окна, m , равным 5 точкам, приведены ниже.
Сглаживание
;
1-я производная
;
2-я производная
.
Выбранные значения коэффициентов свертки для полиномов степени 1, 2, 3, 4 и 5 приведены в следующих таблицах [примечание 7]. Значения были рассчитаны с использованием кода PASCAL, предоставленного в Gorry. [15]
Коэффициенты сглаживания
Полиномиальная степень
квадратный или кубический 2 или 3
квартик или квинтик 4 или 5
Размер окна
5
7
9
7
9
−4
−21
15
−3
−2
14
5
−55
−2
−3
3
39
−30
30
−1
12
6
54
75
135
0
17
7
59
131
179
1
12
6
54
75
135
2
−3
3
39
−30
30
3
−2
14
5
−55
4
−21
15
Нормализация
35
21
231
231
429
Коэффициенты для 1-й производной
Полиномиальная степень
линейный или квадратичный 1 или 2
кубический или квартикальный 3 или 4
Размер окна
3
5
7
9
5
7
9
−4
−4
86
−3
−3
−3
22
−142
−2
−2
−2
−2
1
−67
−193
−1
-1
−1
−1
−1
−8
−58
−126
0
0
0
0
0
0
0
0
1
1
1
1
1
8
58
126
2
2
2
2
−1
67
193
3
3
3
−22
142
4
4
−86
Нормализация
2
10
28
60
12
252
1,188
Коэффициенты для 2-й производной
Полиномиальная степень
квадратный или кубический 2 или 3
квартик или квинтик 4 или 5
Размер окна
5
7
9
5
7
9
−4
28
−126
−3
5
7
−13
371
−2
2
0
−8
−1
67
151
−1
−1
−3
−17
16
−19
−211
0
−2
−4
−20
−30
−70
−370
1
−1
−3
−17
16
−19
−211
2
2
0
−8
−1
67
151
3
5
7
−13
371
4
28
−126
Нормализация
7
42
462
12
132
1716
Коэффициенты для 3-й производной
Полиномиальная степень
кубический или квартикальный 3 или 4
квинтик или секстик 5 или 6
Размер окна
5
7
9
7
9
−4
−14
100
−3
−1
7
1
−457
−2
−1
1
13
−8
256
−1
2
1
9
13
459
0
0
0
0
0
0
1
−2
−1
−9
−13
−459
2
1
−1
−13
8
−256
3
1
−7
−1
457
4
14
−100
Нормализация
2
6
198
8
1144
Коэффициенты для 4-й производной
Полиномиальная степень
квартик или квинтик 4 или 5
Размер окна
7
9
−4
14
−3
3
−21
−2
−7
−11
−1
1
9
0
6
18
1
1
9
2
-7
−11
3
3
−21
4
14
Нормализация
11
143
Примечания
^ При четных значениях m z будет изменяться от 1 − m до m − 1 с шагом 2
^ Простое скользящее среднее является частным случаем с k = 0, Y = a 0. В этом случае все коэффициенты свертки равны 1/ m .
^ Сглаживание с использованием скользящего среднего эквивалентно, при равноотстоящих точках, локальной подгонке с помощью (наклонной) прямой линии.
^ Приведенные здесь выражения отличаются от выражений Мэддена, которые даны в терминах переменной m' = (m − 1)/2.
^ Выражения под знаком квадратного корня такие же, как выражение для коэффициента свертки при z=0
^ Тот же результат получается при одном проходе эквивалентного фильтра с коэффициентами (1/9, 2/9, 3/9, 2/9, 1/9) и матрицей дисперсии-ковариации тождества
^ Более подробные таблицы и метод расчета дополнительных коэффициентов были первоначально предоставлены Савицким и Голеем. [3]
Ссылки
^ Уиттекер, ET; Робинсон, G (1924). Исчисление наблюдений. Blackie & Son. С. 291–6. OCLC 1187948.. «Формулы градуировки, полученные путем подгонки полинома».
^ abc Савицкий, А .; Голей, М. Дж. Э. (1964). «Сглаживание и дифференциация данных с помощью упрощенных процедур наименьших квадратов». Аналитическая химия . 36 (8): 1627–39. Bibcode : 1964AnaCh..36.1627S. doi : 10.1021/ac60214a047.
^ ab Савицкий, Абрахам (1989). «Историческое сотрудничество». Аналитическая химия . 61 (15): 921A–3A. doi :10.1021/ac00190a744.
^ ab Steinier, Jean; Termonia, Yves; Deltour, Jules (1972). «Сглаживание и дифференциация данных с помощью упрощенной процедуры наименьших квадратов». Аналитическая химия . 44 (11): 1906–9. doi :10.1021/ac60319a045. PMID 22324618.
^ Ларив, Синтия К.; Свидлер, Джонатан В. (2013). «Празднование 75-й годовщины Отделения аналитической химии Американского химического общества: специальная коллекция наиболее цитируемых статей по аналитической химии, опубликованных в период с 1938 по 2012 год». Аналитическая химия . 85 (9): 4201–2. doi :10.1021/ac401048d. PMID 23647149.
^ Риордон, Джеймс; Зубрицкий, Элизабет; Ньюман, Алан (2000). «10 лучших статей». Аналитическая химия . 72 (9): 24 A–329 A. doi : 10.1021/ac002801q .
^ Аббаспур, Абдолкарим; Хаджехзадеха, Абдолреза (2012). «Конечная точка определения титрования осадка методом сканометрии без использования индикатора». Anal. Methods . 4 (4): 923–932. doi :10.1039/C2AY05492B.
^ Ли, Н; Ли, XY; Цзоу, XZ; Ли, LR; Ли, YQ (2011). «Новый метод коррекции базовой линии для производных спектров на основе стандартных добавок и его применение для количественного анализа бензо(а)пирена в образцах растительного масла». Analyst . 136 (13): 2802–10. Bibcode :2011Ana...136.2802L. doi :10.1039/c0an00751j. PMID 21594244.
^ Диксит, Л.; Рам, С. (1985). «Количественный анализ с помощью производной электронной спектроскопии». Обзоры прикладной спектроскопии . 21 (4): 311–418. Bibcode : 1985ApSRv..21..311D. doi : 10.1080/05704928508060434.
^ Гизе, Артур Т.; Френч, К. Стейси (1955). «Анализ перекрывающихся спектральных полос поглощения с помощью производной спектрофотометрии». Appl. Spectrosc . 9 (2): 78–96. Bibcode : 1955ApSpe...9...78G. doi : 10.1366/000370255774634089. S2CID 97784067.
^ Мэдден, Ганнибал Х. (1978). «Комментарии к методу свертки Савицкого–Голея для сглаживания и дифференциации цифровых данных методом наименьших квадратов» (PDF) . Anal. Chem . 50 (9): 1383–6. doi :10.1021/ac50031a048.
^ Ганс 1992, стр. 153–7, «Повторное сглаживание и дифференциация»
^ abc A., Gorry (1990). "Общее сглаживание наименьших квадратов и дифференцирование методом свертки (Савицкого–Голея)". Аналитическая химия . 62 (6): 570–3. doi :10.1021/ac00205a007.
^ abc Шмид, Михаэль; Рат, Дэвид; Дибольд, Ульрике (2022). «Почему и как следует заменять фильтры Савицкого–Голея». ACS Measurement Science Au . 2 (2): 185–196. doi :10.1021/acsmeasuresciau.1c00054. PMC 9026279. PMID 35479103 .
^ ab Thornley, David J. Анизотропные многомерные ядра Савицкого-Голея для сглаживания, дифференцирования и реконструкции (PDF) (Технический отчет). Имперский колледж, кафедра вычислительной техники. 2066/8.
^ Крумм, Джон. «Фильтры Савицкого–Голея для двумерных изображений». Microsoft Research, Редмонд.
^ ab Никитас и Паппа-Луизи (2000). «Комментарии о двумерном сглаживании данных». Analytica Chimica Acta . 415 (1–2): 117–125. doi :10.1016/s0003-2670(00)00861-8.
^ abc Шехар, Чандра (2015). Об упрощенном применении многомерных фильтров и дифференциаторов Савицкого-Голея. Прогресс в прикладной математике в науке и технике. Труды конференции AIP. Том 1705. стр. 020014. Bibcode : 2016AIPC.1705b0014S. doi : 10.1063/1.4940262.
^ Чандра, Шекхар (2 августа 2017 г.). «Расширенный калькулятор коэффициентов свертки». Зенодо . дои : 10.5281/zenodo.835283.
^ Чандра, Шекхар (2 июня 2018 г.). «Точный калькулятор коэффициентов свертки». Зенодо . дои : 10.5281/zenodo.1257898.
^ Шехар, Чандра. «База данных коэффициентов свертки для многомерных фильтров наименьших квадратов».
^ Ганс, Питер; Гилл, Дж. Бернард (1983). «Исследование метода свертки для численного сглаживания и дифференциации спектроскопических данных в теории и на практике». Прикладная спектроскопия . 37 (6): 515–520. Bibcode : 1983ApSpe..37..515G. doi : 10.1366/0003702834634712. S2CID 97649068.
^ Ганс 1992, стр. 153
^ Проктер, Эндрю; Шервуд, Питер МА (1980). «Сглаживание цифровых рентгеновских фотоэлектронных спектров с помощью расширенного подхода скользящих наименьших квадратов». Anal. Chem . 52 (14): 2315–21. doi :10.1021/ac50064a018.
^ Маршан, П.; Мармет, Л. (1983). «Биномиальный сглаживающий фильтр: способ избежать некоторых ловушек полиномиального сглаживания наименьших квадратов». Обзор научных инструментов . 54 (8): 1034–1041. doi :10.1063/1.1137498.
^ Ганс 1992, стр. 157
Ганс, Питер (1992). Подгонка данных в химических науках: Метод наименьших квадратов. Wiley. ISBN9780471934127.
Внешние ссылки
На Викискладе есть медиафайлы по теме «Фильтр Савицкого–Голея» .