Un filtro Savitzky-Golay es un filtro digital que se puede aplicar a un conjunto de puntos de datos digitales con el fin de suavizar los datos, es decir, aumentar la precisión de los datos sin distorsionar la tendencia de la señal. Esto se logra, en un proceso conocido como convolución , ajustando subconjuntos sucesivos de puntos de datos adyacentes con un polinomio de bajo grado mediante el método de mínimos cuadrados lineales . Cuando los puntos de datos están igualmente espaciados, se puede encontrar una solución analítica a las ecuaciones de mínimos cuadrados, en forma de un único conjunto de "coeficientes de convolución" que se pueden aplicar a todos los subconjuntos de datos, para dar estimaciones de la señal suavizada (o derivadas de la señal suavizada) en el punto central de cada subconjunto. El método, basado en procedimientos matemáticos establecidos, [1] [2] fue popularizado por Abraham Savitzky y Marcel JE Golay , quienes publicaron tablas de coeficientes de convolución para varios polinomios y tamaños de subconjuntos en 1964. [3] [4] Se han corregido algunos errores en las tablas. [5] El método se ha ampliado para el tratamiento de datos bidimensionales y tridimensionales.
El artículo de Savitzky y Golay es uno de los artículos más citados en la revista Analytical Chemistry [6] y está clasificado por esa revista como uno de sus "10 artículos fundamentales" diciendo que "se puede argumentar que el amanecer del instrumento analítico controlado por computadora se puede rastrear hasta este artículo". [7]
Aplicaciones
Los datos consisten en un conjunto de puntos , , donde es una variable independiente y es un valor observado. Se tratan con un conjunto de coeficientes de convolución, , según la expresión
Los coeficientes de convolución seleccionados se muestran en las tablas que aparecen a continuación. Por ejemplo, para el suavizado mediante un polinomio cuadrático de 5 puntos, y el punto de datos suavizado, , se obtiene mediante
,
donde, , etc. Existen numerosas aplicaciones del suavizado, como evitar la propagación de ruido a través de una cadena de algoritmos o, a veces, simplemente hacer que los datos parezcan menos ruidosos de lo que realmente son.
Las siguientes son aplicaciones de la diferenciación numérica de datos. [8] Nota: Al calcular la derivada n -ésima, se puede aplicar un factor de escala adicional de a todos los puntos de datos calculados para obtener valores absolutos (consulte las expresiones para , a continuación, para obtener detalles).
Ubicación de máximos y mínimos en curvas de datos experimentales. Esta fue la aplicación que motivó por primera vez a Savitzky. [4] La primera derivada de una función es cero en un máximo o mínimo. El diagrama muestra los puntos de datos que pertenecen a una curva lorentziana sintética , con ruido añadido (rombos azules). Los datos se representan en una escala de la mitad del ancho, en relación con el pico máximo en cero. La curva suavizada (línea roja) y la primera derivada (verde) se calcularon con filtros cúbicos Savitzky-Golay de 7 puntos. La interpolación lineal de los valores de la primera derivada en posiciones a ambos lados del cruce por cero proporciona la posición del pico máximo. Las terceras derivadas también se pueden utilizar para este propósito.
Ubicación de un punto final en una curva de titulación . Un punto final es un punto de inflexión donde la segunda derivada de la función es cero. [9] La curva de titulación para el ácido malónico ilustra la potencia del método. El primer punto final en 4 ml es apenas visible, pero la segunda derivada permite determinar fácilmente su valor mediante interpolación lineal para encontrar el cruce por cero.
Aplanamiento de la línea base. En química analítica, a veces es necesario medir la altura de una banda de absorción en relación con una línea base curva. [10] Debido a que la curvatura de la línea base es mucho menor que la curvatura de la banda de absorción, la segunda derivada aplana efectivamente la línea base. Tres medidas de la altura de la derivada, que es proporcional a la altura de la banda de absorción, son las distancias de "pico a valle" h1 y h2, y la altura desde la línea base, h3. [11]
Mejora de la resolución en espectroscopia. Las bandas en la segunda derivada de una curva espectroscópica son más estrechas que las bandas en el espectro: tienen un ancho medio reducido . Esto permite que las bandas parcialmente superpuestas se "resuelvan" en picos separados (negativos). [12] El diagrama ilustra cómo esto también se puede utilizar para el análisis químico , utilizando la medición de distancias "pico-valle". En este caso, los valles son una propiedad de la segunda derivada de un lorentziano. ( La posición del eje x es relativa a la posición del máximo del pico en una escala de la mitad del ancho a la mitad de la altura ).
Mejora de la resolución con la 4ª derivada (picos positivos). Los mínimos son una propiedad de la 4ª derivada de una ecuación de Lorentz.
Promedio móvil
El "filtro de promedio móvil" es un ejemplo trivial de un filtro Savitzky-Golay que se utiliza habitualmente con datos de series temporales para suavizar las fluctuaciones a corto plazo y destacar las tendencias o ciclos a largo plazo. Cada subconjunto del conjunto de datos se ajusta con una línea recta horizontal en lugar de un polinomio de orden superior. Un filtro de promedio móvil no ponderado es el filtro de convolución más simple.
La media móvil se utiliza a menudo para realizar un análisis técnico rápido de datos financieros, como precios de acciones, rentabilidades o volúmenes de operaciones. También se utiliza en economía para examinar el producto interno bruto, el empleo u otras series temporales macroeconómicas.
No se incluyó en algunas tablas de coeficientes de convolución de Savitzky-Golay ya que todos los valores de los coeficientes son idénticos, con el valor .
Derivación de coeficientes de convolución
Cuando los puntos de datos están igualmente espaciados, se puede encontrar una solución analítica para las ecuaciones de mínimos cuadrados. [2] Esta solución forma la base del método de convolución de suavizado numérico y diferenciación. Supongamos que los datos consisten en un conjunto de n puntos ( x j , y j ) ( j = 1, ..., n ), donde x j es una variable independiente e y j es un valor de referencia. Se ajustará un polinomio por mínimos cuadrados lineales a un conjunto de m (un número impar) puntos de datos adyacentes, cada uno separado por un intervalo h . En primer lugar, se realiza un cambio de variable.
donde es el valor del punto central. z toma los valores (p. ej. m = 5 → z = −2, −1, 0, 1, 2). [nota 1] El polinomio de grado k se define como
[nota 2]
Los coeficientes a 0 , a 1 etc. se obtienen resolviendo las ecuaciones normales ( a en negrita representa un vector , J en negrita representa una matriz ).
Por ejemplo, para un polinomio cúbico ajustado a 5 puntos, z = −2, −1, 0, 1, 2, las ecuaciones normales se resuelven de la siguiente manera.
Ahora, las ecuaciones normales se pueden factorizar en dos conjuntos separados de ecuaciones, reorganizando filas y columnas, con
Las expresiones para la inversa de cada una de estas matrices se pueden obtener utilizando la regla de Cramer.
Las ecuaciones normales se convierten en
y
Multiplicando y eliminando factores comunes,
Los coeficientes de y en estas expresiones se conocen como coeficientes de convolución . Son elementos de la matriz.
En general,
En notación matricial, este ejemplo se escribe como
En 1964 se publicaron tablas de coeficientes de convolución, calculados de la misma manera para m hasta 25, para el filtro de suavizado Savitzky-Golay, [3] [5] El valor del punto central, z = 0, se obtiene a partir de un único conjunto de coeficientes, un 0 para suavizado, un 1 para la primera derivada, etc. Las derivadas numéricas se obtienen diferenciando Y . Esto significa que las derivadas se calculan para la curva de datos suavizada . Para un polinomio cúbico
En general, los polinomios de grado (0 y 1), [nota 3] (2 y 3), (4 y 5), etc. dan los mismos coeficientes para suavizado y derivadas pares. Los polinomios de grado (1 y 2), (3 y 4), etc. dan los mismos coeficientes para derivadas impares.
Expresiones algebraicas
No siempre es necesario utilizar las tablas de Savitzky-Golay. Las sumas en la matriz J T J se pueden evaluar en forma cerrada ,
de modo que se puedan derivar fórmulas algebraicas para los coeficientes de convolución. [13] [nota 4] Las funciones que son adecuadas para su uso con una curva que tiene un punto de inflexión son:
Suavizado, grado polinomial 2,3: (el rango de valores para i también se aplica a las expresiones siguientes)
1ª derivada: polinomio de grado 3,4
2da derivada: polinomio de grado 2,3
3ª derivada: polinomio de grado 3,4
Expresiones más simples que se pueden utilizar con curvas que no tienen un punto de inflexión son:
Suavizado, grado polinomial 0,1 (media móvil):
1ª derivada, polinomio de grado 1,2:
Se pueden obtener derivadas superiores. Por ejemplo, se puede obtener una cuarta derivada realizando dos pasadas de una función de segunda derivada. [14]
Uso de polinomios ortogonales
Una alternativa al ajuste de m puntos de datos mediante un polinomio simple en la variable subsidiaria, z , es utilizar polinomios ortogonales .
donde P 0 , ..., P k es un conjunto de polinomios mutuamente ortogonales de grado 0, ..., k . Guest proporciona detalles completos sobre cómo obtener expresiones para los polinomios ortogonales y la relación entre los coeficientes b y a . [2] Las expresiones para los coeficientes de convolución se obtienen fácilmente porque la matriz de ecuaciones normales, J T J , es una matriz diagonal ya que el producto de dos polinomios ortogonales cualesquiera es cero en virtud de su ortogonalidad mutua. Por lo tanto, cada elemento distinto de cero de su inversa es simplemente el recíproco del elemento correspondiente en la matriz de ecuaciones normales. El cálculo se simplifica aún más utilizando la recursión para construir polinomios de Gram ortogonales . Todo el cálculo se puede codificar en unas pocas líneas de PASCAL , un lenguaje de computadora bien adaptado para cálculos que involucran recursión. [15]
Tratamiento de los primeros y últimos puntos
Los filtros Savitzky-Golay se utilizan con mayor frecuencia para obtener el valor suavizado o derivado en el punto central, z = 0, utilizando un único conjunto de coeficientes de convolución. ( m − 1)/2 puntos al inicio y al final de la serie no se pueden calcular utilizando este proceso. Se pueden emplear varias estrategias para evitar este inconveniente.
Los datos podrían extenderse artificialmente añadiendo, en orden inverso, copias de los primeros ( m − 1)/2 puntos al principio y copias de los últimos ( m − 1)/2 puntos al final. Por ejemplo, con m = 5, se añaden dos puntos al principio y al final de los datos y 1 , ..., y n .
y 3 , y 2 , y 1 , ... , y norte , y norte −1 , y norte −2 .
Mirando nuevamente el polinomio de ajuste, es obvio que los datos se pueden calcular para todos los valores de z utilizando todos los conjuntos de coeficientes de convolución para un solo polinomio, a 0 .. a k .
Para un polinomio cúbico
Los coeficientes de convolución para los primeros y últimos puntos faltantes también se pueden obtener fácilmente. [15] Esto también es equivalente a ajustar los primeros ( m + 1)/2 puntos con el mismo polinomio, y lo mismo para los últimos puntos.
Ponderación de los datos
En el tratamiento anterior está implícito que a todos los puntos de datos se les asigna el mismo peso. Técnicamente, la función objetivo
que se minimiza en el proceso de mínimos cuadrados tiene pesos unitarios, w i = 1. Cuando los pesos no son todos iguales, las ecuaciones normales se convierten en
,
Si se utiliza el mismo conjunto de pesos diagonales para todos los subconjuntos de datos, se puede escribir una solución analítica para las ecuaciones normales. Por ejemplo, con un polinomio cuadrático,
Se puede obtener una expresión explícita para la inversa de esta matriz utilizando la regla de Cramer . Luego se puede derivar un conjunto de coeficientes de convolución como
Como alternativa, los coeficientes, C , se pueden calcular en una hoja de cálculo, empleando una rutina de inversión de matriz incorporada para obtener la inversa de la matriz de ecuaciones normales. Este conjunto de coeficientes, una vez calculado y almacenado, se puede utilizar con todos los cálculos en los que se aplica el mismo esquema de ponderación. Se necesita un conjunto diferente de coeficientes para cada esquema de ponderación diferente.
Se ha demostrado que el filtro Savitzky-Golay se puede mejorar introduciendo pesos que disminuyen en los extremos del intervalo de ajuste. [16]
Coeficientes de convolución bidimensionales
El suavizado y la diferenciación bidimensionales también se pueden aplicar a tablas de valores de datos, como los valores de intensidad en una imagen fotográfica que se compone de una cuadrícula rectangular de píxeles. [17] [18] Dicha cuadrícula se denomina núcleo, y los puntos de datos que constituyen el núcleo se denominan nodos. El truco consiste en transformar el núcleo rectangular en una sola fila mediante un simple ordenamiento de los índices de los nodos. Mientras que los coeficientes de filtro unidimensionales se encuentran ajustando un polinomio en la variable subsidiaria z a un conjunto de m puntos de datos, los coeficientes bidimensionales se encuentran ajustando un polinomio en las variables subsidiarias v y w a un conjunto de valores en los m × n nodos del núcleo. El siguiente ejemplo, para un polinomio bivariado de grado total 3, m = 7 y n = 5, ilustra el proceso, que es paralelo al proceso para el caso unidimensional, mencionado anteriormente. [19]
El núcleo rectangular de 35 valores de datos, d 1 − d 35
se convierte en un vector cuando las filas se colocan una después de otra.
d = ( d 1 ... d 35 ) T
El jacobiano tiene 10 columnas, una para cada uno de los parámetros a 00 − a 03 , y 35 filas, una para cada par de valores v y w . Cada fila tiene la forma
Los coeficientes de convolución se calculan como
La primera fila de C contiene 35 coeficientes de convolución, que se pueden multiplicar con los 35 valores de datos, respectivamente, para obtener el coeficiente polinomial , que es el valor suavizado en el nodo central del núcleo (es decir, en el nodo 18 de la tabla anterior). De manera similar, otras filas de C se pueden multiplicar con los 35 valores para obtener otros coeficientes polinomiales, que, a su vez, se pueden usar para obtener valores suavizados y diferentes derivadas parciales suavizadas en diferentes nodos.
Nikitas y Pappa-Louisi demostraron que, dependiendo del formato del polinomio utilizado, la calidad del suavizado puede variar significativamente. [20] Recomiendan utilizar el polinomio de la forma
porque tales polinomios pueden lograr un buen suavizado tanto en las regiones centrales como en las cercanas a los límites de un núcleo y, por lo tanto, se pueden usar con confianza para suavizar tanto en los puntos de datos internos como en los cercanos a los límites de un dominio muestreado. Para evitar un mal condicionamiento al resolver el problema de mínimos cuadrados, p < m y q < n . Para obtener un software que calcule los coeficientes bidimensionales y una base de datos de dichos C , consulte la sección sobre coeficientes de convolución multidimensional, a continuación.
Coeficientes de convolución multidimensionales
La idea de los coeficientes de convolución bidimensionales se puede extender también a dimensiones espaciales superiores, de manera sencilla, [17] [21] al disponer la distribución multidimensional de los nodos del núcleo en una sola fila. Siguiendo el hallazgo mencionado anteriormente de Nikitas y Pappa-Louisi [20] en casos bidimensionales, se recomienda el uso de la siguiente forma del polinomio en casos multidimensionales:
donde D es la dimensión del espacio, 's son los coeficientes del polinomio y u 's son las coordenadas en las diferentes direcciones espaciales. Las expresiones algebraicas para derivadas parciales de cualquier orden, ya sea mixto o no, se pueden derivar fácilmente de la expresión anterior. [21] Nótese que C depende de la manera en que los nodos del núcleo están dispuestos en una fila y de la manera en que se disponen los diferentes términos de la forma expandida del polinomio anterior, al preparar el jacobiano.
El cálculo preciso de C en casos multidimensionales se vuelve un desafío, ya que la precisión de los números de punto flotante estándar disponibles en los lenguajes de programación de computadoras ya no es suficiente. La precisión insuficiente hace que los errores de truncamiento de punto flotante se vuelvan comparables a las magnitudes de algunos elementos de C , lo que, a su vez, degrada gravemente su precisión y lo vuelve inútil. Chandra Shekhar ha presentado dos programas de código abierto , Advanced Convolution Coefficient Calculator (ACCC) y Precise Convolution Coefficient Calculator (PCCC), que manejan estos problemas de precisión adecuadamente. ACCC realiza el cálculo utilizando números de punto flotante, de manera iterativa. [22] La precisión de los números de punto flotante aumenta gradualmente en cada iteración, utilizando GNU MPFR . Una vez que los C obtenidos en dos iteraciones consecutivas comienzan a tener los mismos dígitos significativos hasta una distancia preespecificada, se supone que se ha alcanzado la convergencia. Si la distancia es suficientemente grande, el cálculo produce un C altamente preciso . PCCC emplea cálculos de números racionales, mediante el uso de la biblioteca aritmética de precisión múltiple GNU , y produce un C totalmente preciso , en el formato de número racional . [23] Al final, estos números racionales se convierten en números de punto flotante, hasta un número preestablecido de dígitos significativos.
Se encuentra disponible una base de datos de C que se calculan utilizando ACCC, para núcleos simétricos y polinomios tanto simétricos como asimétricos, en nodos de núcleo espaciados en unidad, en espacios de 1, 2, 3 y 4 dimensiones. [24] Chandra Shekhar también ha diseñado un marco matemático que describe el uso de C calculado en nodos de núcleo espaciados en unidad para realizar filtrado y diferenciaciones parciales (de varios órdenes) en nodos de núcleo espaciados de manera no uniforme, [21] lo que permite el uso de C provisto en la base de datos antes mencionada. Aunque este método solo produce resultados aproximados, son aceptables en la mayoría de las aplicaciones de ingeniería, siempre que la no uniformidad de los nodos de núcleo sea débil.
Algunas propiedades de la convolución
La suma de los coeficientes de convolución para suavizado es igual a uno. La suma de los coeficientes para derivadas impares es cero. [25]
La suma de los coeficientes de convolución al cuadrado para el suavizado es igual al valor del coeficiente central. [26]
El suavizado de una función deja el área bajo la función sin cambios. [25]
La convolución de una función simétrica con coeficientes de derivadas pares conserva el centro de simetría. [25]
Propiedades de los filtros derivados. [27]
Distorsión de señal y reducción de ruido
Es inevitable que la señal se distorsione en el proceso de convolución. Según la propiedad 3 anterior, cuando se suavizan los datos que tienen un pico, la altura del pico se reducirá y la mitad del ancho aumentará. Tanto el grado de distorsión como la relación señal/ruido (S/N ) mejoran:
disminuye a medida que aumenta el grado del polinomio
aumenta a medida que aumenta el ancho, m de la función de convolución
Por ejemplo, si el ruido en todos los puntos de datos no está correlacionado y tiene una desviación estándar constante , σ , la desviación estándar del ruido se reducirá mediante convolución con una función de suavizado de m puntos a [26] [nota 5].
Estas funciones se muestran en el gráfico de la derecha. Por ejemplo, con una función lineal de 9 puntos (promedio móvil) se eliminan dos tercios del ruido y con una función de suavizado cuadrático/cúbico de 9 puntos solo se elimina aproximadamente la mitad del ruido. La mayor parte del ruido restante es ruido de baja frecuencia (consulte Características de frecuencia de los filtros de convolución , a continuación).
Aunque la función de promedio móvil ofrece una mejor reducción de ruido, no es adecuada para suavizar datos que tienen curvatura en m puntos. Una función de filtro cuadrático no es adecuada para obtener una derivada de una curva de datos con un punto de inflexión porque un polinomio cuadrático no tiene uno. La elección óptima del orden del polinomio y el número de coeficientes de convolución será un compromiso entre la reducción de ruido y la distorsión. [28]
Filtros multipaso
Una forma de mitigar la distorsión y mejorar la eliminación del ruido es utilizar un filtro de menor ancho y realizar más de una convolución con él. Para dos pasadas del mismo filtro esto es equivalente a una pasada de un filtro obtenido por convolución del filtro original consigo mismo. [29] Por ejemplo, 2 pasadas del filtro con coeficientes (1/3, 1/3, 1/3) es equivalente a 1 pasada del filtro con coeficientes (1/9, 2/9, 3/9, 2/9, 1/9).
La desventaja del multipassing es que el ancho de filtro equivalente para los pases de una función de punto es de 0,15, por lo que el multipassing está sujeto a mayores efectos finales. No obstante, el multipassing se ha utilizado con gran ventaja. Por ejemplo, unos 40–80 pases en datos con una relación señal/ruido de solo 5 dieron resultados útiles. [30] Las fórmulas de reducción de ruido dadas anteriormente no se aplican porque la correlación entre los puntos de datos calculados aumenta con cada pase.
Características de frecuencia de los filtros de convolución
θ va de 0 a 180 grados , después de lo cual la función simplemente se repite. El gráfico para una función de suavizado cuadrático/cúbico de 9 puntos es típico. En un ángulo muy bajo, el gráfico es casi plano, lo que significa que los componentes de baja frecuencia de los datos prácticamente no sufrirán cambios con la operación de suavizado. A medida que aumenta el ángulo, el valor disminuye, de modo que los componentes de mayor frecuencia se atenúan cada vez más. Esto demuestra que el filtro de convolución se puede describir como un filtro de paso bajo : el ruido que se elimina es principalmente ruido de alta frecuencia y el ruido de baja frecuencia pasa a través del filtro. [31] Algunos componentes de ruido de alta frecuencia se atenúan más que otros, como lo muestran las ondulaciones en la transformada de Fourier en ángulos grandes. Esto puede dar lugar a pequeñas oscilaciones en los datos suavizados [32] e inversión de fase, es decir, las oscilaciones de alta frecuencia en los datos se invierten mediante el filtrado de Savitzky-Golay. [33]
Convolución y correlación
La convolución afecta la correlación entre los errores de los datos. El efecto de la convolución se puede expresar como una transformación lineal.
Para ver cómo se aplica esto en la práctica, considere el efecto de un promedio móvil de 3 puntos en los primeros tres puntos calculados, Y 2 − Y 4 , suponiendo que los puntos de datos tienen varianza igual y que no hay correlación entre ellos. A será una matriz identidad multiplicada por una constante, σ 2 , la varianza en cada punto.
En general, los valores calculados están correlacionados incluso cuando los valores observados no lo están. La correlación se extiende a lo largo de m − 1 puntos calculados a la vez. [34]
Filtros multipaso
Para ilustrar el efecto del multipassing sobre el ruido y la correlación de un conjunto de datos, considere los efectos de un segundo pase de un filtro de promedio móvil de 3 puntos. Para el segundo pase [nota 6]
Después de dos pasadas, la desviación estándar del punto central ha disminuido a , en comparación con 0,58 σ para una pasada. La reducción de ruido es un poco menor que la que se obtendría con una pasada de un promedio móvil de 5 puntos que, en las mismas condiciones, daría como resultado que los puntos suavizados tuvieran la desviación estándar más pequeña de 0,45 σ .
La correlación ahora se extiende a lo largo de un lapso de 4 puntos secuenciales con coeficientes de correlación.
La ventaja que se obtiene al realizar dos pasadas con la función de suavizado más estrecha es que introduce menos distorsión en los datos calculados.
Comparación con otros filtros y alternativas
En comparación con otros filtros de suavizado, por ejemplo, la convolución con un filtrado gaussiano o de media móvil de múltiples pasadas , los filtros Savitzky-Golay tienen una respuesta inicialmente más plana y un corte más agudo en el dominio de la frecuencia, especialmente para órdenes altos del polinomio de ajuste (ver características de frecuencia). Para datos con ancho de banda de señal limitado , esto significa que el filtrado Savitzky-Golay puede proporcionar una mejor relación señal-ruido que muchos otros filtros; por ejemplo, las alturas de pico de los espectros se conservan mejor que para otros filtros con supresión de ruido similar. Las desventajas de los filtros Savitzky-Golay son una supresión comparativamente pobre de algunas frecuencias altas (supresión pobre de la banda de rechazo ) y artefactos cuando se utilizan ajustes polinomiales para el primer y el último punto. [16]
Los métodos de suavizado alternativos que comparten las ventajas de los filtros Savitzky-Golay y mitigan al menos algunas de sus desventajas son los filtros Savitzky-Golay con pesos de ajuste alternativos elegidos adecuadamente, el suavizado Whittaker-Henderson y el filtro Hodrick-Prescott (métodos equivalentes estrechamente relacionados con los splines de suavizado ) y la convolución con una función sinc con ventana . [16]
Implementaciones en lenguajes de programación
Pitón
flattendel módulo Lightkurve. Lightkurve es la biblioteca oficial para el análisis de datos de los telescopios Kepler y TESS.
scipy.signal.savgol_filterdel módulo SciPy . SciPy es una biblioteca robusta ampliamente utilizada para computación científica en la comunidad académica.
Tablas de coeficientes de convolución seleccionados
Consideremos un conjunto de puntos de datos . Las tablas de Savitzky–Golay se refieren al caso en que el paso es constante, h . A continuación se ofrecen ejemplos del uso de los denominados coeficientes de convolución, con un polinomio cúbico y un tamaño de ventana, m , de 5 puntos.
Suavizado
;
1ª derivada
;
2da derivada
.
En las siguientes tablas se dan valores seleccionados de los coeficientes de convolución para polinomios de grado 1, 2, 3, 4 y 5 [nota 7]. Los valores se calcularon utilizando el código PASCAL proporcionado en Gorry. [15]
Notas
^ Con valores pares de m , z irá de 1 − m a m − 1 en pasos de 2
^ El promedio móvil simple es un caso especial con k = 0, Y = a 0 . En este caso, todos los coeficientes de convolución son iguales a 1/ m .
^ El suavizado mediante el promedio móvil es equivalente, con puntos igualmente espaciados, al ajuste local con una línea recta (inclinada)
^ Las expresiones dadas aquí son diferentes de las de Madden, que se dan en términos de la variable m' = (m − 1)/2.
^ Las expresiones bajo el signo de raíz cuadrada son las mismas que la expresión para el coeficiente de convolución con z=0
^ El mismo resultado se obtiene con una pasada del filtro equivalente con coeficientes (1/9, 2/9, 3/9, 2/9, 1/9) y una matriz de varianza-covarianza identidad
^ Savitzky y Golay proporcionaron originalmente tablas más extensas y el método para calcular coeficientes adicionales. [3]
Referencias
^ Whittaker, ET; Robinson, G (1924). El cálculo de las observaciones. Blackie & Son. págs. 291–6. OCLC 1187948."Fórmulas de graduación obtenidas ajustando un polinomio".
^ abc Guest, PG (2012) [1961]. "Cap. 7: Estimación de coeficientes polinómicos". Métodos numéricos de ajuste de curvas. Cambridge University Press. pp. 147–. ISBN978-1-107-64695-7.
^ abc Savitzky, A. ; Golay, MJE (1964). "Suavizado y diferenciación de datos mediante procedimientos simplificados de mínimos cuadrados". Química analítica . 36 (8): 1627–39. Código Bibliográfico :1964AnaCh..36.1627S. doi :10.1021/ac60214a047.
^ ab Savitzky, Abraham (1989). "Una colaboración histórica". Química analítica . 61 (15): 921A–3A. doi :10.1021/ac00190a744.
^ ab Steinier, Jean; Termonia, Yves; Deltour, Jules (1972). "Suavizado y diferenciación de datos mediante un procedimiento simplificado de mínimos cuadrados". Química analítica . 44 (11): 1906–9. doi :10.1021/ac60319a045. PMID 22324618.
^ Larive, Cynthia K.; Sweedler, Jonathan V. (2013). "Celebración del 75.º aniversario de la División de Química Analítica de la ACS: una colección especial de los artículos de química analítica más citados publicados entre 1938 y 2012". Química analítica . 85 (9): 4201–2. doi :10.1021/ac401048d. PMID 23647149.
^ Riordon, James; Zubritsky, Elizabeth; Newman, Alan (2000). "Top 10 Articles" (Los 10 artículos más destacados). Química analítica . 72 (9): 24 A–329 A. doi : 10.1021/ac002801q .
^ Talsky, Gerhard (4 de octubre de 1994). Espectrofotometría derivada. Wiley. ISBN978-3527282944.
^ Abbaspour, Abdolkarim; Khajehzadeha, Abdolreza (2012). "Detección del punto final de la titulación de precipitación mediante el método de escanometría sin utilizar un indicador". Anal. Métodos . 4 (4): 923–932. doi :10.1039/C2AY05492B.
^ Li, N; Li, XY; Zou, XZ; Lin, LR; Li, YQ (2011). "Un nuevo método de corrección de línea base para espectros derivados basados en adición estándar y su aplicación al análisis cuantitativo de benzo(a)pireno en muestras de aceite vegetal". Analyst . 136 (13): 2802–10. Bibcode :2011Ana...136.2802L. doi :10.1039/c0an00751j. PMID 21594244.
^ Dixit, L.; Ram, S. (1985). "Análisis cuantitativo mediante espectroscopia electrónica derivada". Applied Spectroscopy Reviews . 21 (4): 311–418. Bibcode :1985ApSRv..21..311D. doi :10.1080/05704928508060434.
^ Giese, Arthur T.; French, C. Stacey (1955). "El análisis de bandas de absorción espectral superpuestas mediante espectrofotometría derivada". Appl. Spectrosc . 9 (2): 78–96. Bibcode :1955ApSpe...9...78G. doi :10.1366/000370255774634089. S2CID 97784067.
^ Madden, Hannibal H. (1978). "Comentarios sobre el método de convolución de Savitzky-Golay para suavizado y diferenciación de datos digitales por ajuste de mínimos cuadrados" (PDF) . Anal. Chem . 50 (9): 1383–6. doi :10.1021/ac50031a048.
^ Gans 1992, págs. 153-7, "Suavizado repetido y diferenciación"
^ abc A., Gorry (1990). "Suavizado y diferenciación de mínimos cuadrados generales mediante el método de convolución (Savitzky–Golay)". Química analítica . 62 (6): 570–3. doi :10.1021/ac00205a007.
^ abc Schmid, Michael; Rath, David; Diebold, Ulrike (2022). "Por qué y cómo se deben reemplazar los filtros Savitzky-Golay". ACS Measurement Science Au . 2 (2): 185–196. doi :10.1021/acsmeasuresciau.1c00054. PMC 9026279 . PMID 35479103.
^ ab Thornley, David J. Núcleos anisotrópicos multidimensionales de Savitzky Golay para suavizado, diferenciación y reconstrucción (PDF) (informe técnico). Departamento de Computación del Imperial College. 2066/8.
^ Ratzlaff, Kenneth L.; Johnson, Jean T. (1989). "Cálculo de enteros suavizados por convolución de mínimos cuadrados polinomiales bidimensionales". Anal. Química . 61 (11): 1303–5. doi :10.1021/ac00186a026.
^ Krumm, John. "Filtros Savitzky-Golay para imágenes 2D". Microsoft Research, Redmond.
^ ab Nikitas y Pappa-Louisi (2000). "Comentarios sobre el suavizado bidimensional de datos". Analytica Chimica Acta . 415 (1–2): 117–125. doi :10.1016/s0003-2670(00)00861-8.
^ abc Shekhar, Chandra (2015). Sobre la aplicación simplificada de filtros y diferenciadores multidimensionales de Savitzky-Golay. Progreso en matemáticas aplicadas a la ciencia y la ingeniería. Actas de la conferencia AIP. Vol. 1705. p. 020014. Bibcode :2016AIPC.1705b0014S. doi :10.1063/1.4940262.
^ Chandra, Shekhar (2 de agosto de 2017). "Calculadora avanzada de coeficiente de convolución". Zenodo . doi :10.5281/zenodo.835283.
^ Chandra, Shekhar (2 de junio de 2018). "Calculadora de coeficiente de convolución precisa". Zenodo . doi :10.5281/zenodo.1257898.
^ Shekhar, Chandra. "Base de datos de coeficientes de convolución para filtros de mínimos cuadrados multidimensionales".
^ abc Gans 1992, Apéndice 7
^ ab Ziegler, Horst (1981). "Propiedades de los filtros polinomiales de suavizado digital (DISPO)". Applied Spectroscopy . 35 (1): 88–92. Bibcode :1981ApSpe..35...88Z. doi :10.1366/0003702814731798. S2CID 97777604.
^ Luo, Jianwen; Ying, Kui; He, Ping; Bai, Jing (2005). "Propiedades de los diferenciadores digitales de Savitzky-Golay" (PDF) . Procesamiento de señales digitales . 15 (2): 122–136. doi :10.1016/j.dsp.2004.09.008.
^ Gans, Peter; Gill, J. Bernard (1983). "Examen del método de convolución para suavizado numérico y diferenciación de datos espectroscópicos en teoría y en la práctica". Applied Spectroscopy . 37 (6): 515–520. Bibcode :1983ApSpe..37..515G. doi :10.1366/0003702834634712. S2CID 97649068.
^ Gans 1992, pág. 153
^ Procter, Andrew; Sherwood, Peter MA (1980). "Suavizado de espectros de fotoelectrones de rayos X digitales mediante un enfoque de mínimos cuadrados deslizantes extendido". Anal. Química . 52 (14): 2315–21. doi :10.1021/ac50064a018.
^ Gans 1992, pág. 207
^ Bromba, Manfred UA; Ziegler, Horst (1981). "Sugerencias de aplicación para filtros de suavizado digital Savitzky-Golay". Anal. Chem . 53 (11): 1583–6. doi :10.1021/ac00234a011.
^ Marchand, P.; Marmet, L. (1983). "Filtro de suavizado binomial: una forma de evitar algunos de los inconvenientes del suavizado polinomial por mínimos cuadrados". Review of Scientific Instruments . 54 (8): 1034–1041. doi :10.1063/1.1137498.
^ Gans 1992, pág. 157
Gans, Peter (1992). Ajuste de datos en las ciencias químicas: por el método de mínimos cuadrados. Wiley. ISBN 9780471934127.
Enlaces externos
Wikimedia Commons alberga una categoría multimedia sobre Filtro Savitzky-Golay .
Calculadora avanzada de coeficiente de convolución (ACCC) para filtros de mínimos cuadrados multidimensionales
Filtro Savitzky-Golay en Fundamentos de estadística
Una gama más amplia de coeficientes para una variedad de tamaños de conjuntos de datos, órdenes de ajuste y desplazamientos desde el punto central