Suavizado de datos no correlativos

El suavizado de datos experimentales no correlativos es algo bastante difícil. Como siempre que se habla de algo difícil,va a ser mejor empezar por definirlo.«Datos experimentales no correlativos» son series de datos, desde posiciones hasta voltajes, recogidos a lo largo de una dimensión sin que haya una separación contante entre ellos(1). En otras palabras, un conjunto de datos disperso. Con frecuencia, para poder entender algo de los datos y extraer conclusiones hay que representarlos en una gráfica o quizás derivarlos, integrarlos, etc. La representación gráfica en sí no presenta dificultad demasiada dificultad. Pero, ¿qué pasa si la dispersión en los datos y los «huecos» en los datos es demasiado grande para poder obtener una visión de conjunto? Pues que resulta muy conveniente realizar un suavizado de los datos para tener una curva de referencia en la que poder fijarse, y que luego se pueda derivar, integrar o realizarle cualquier «perrada» numérica.

Para ello, esta curva debe cumplir estos criterios:

  1. Ser equiespaciada
  2. Estar lo más cerca posible de los datos experimentales, pero suavizando las oscilaciones que se deban a errores experimentales.

Si los datos son equiespaciados, podemos usar métodos basados en transformadas de Fourier y filtrados posteriores o similares, sobre todo si sabemos que los datos son periódicos. En este caso, se trata de filtrar el ruido de una señal y es un problema también muy interesante, pero no lo trato aquí. En el caso que nos ocupa, deben emplearse otras técnicas numéricas. Una pequeña muestra de ellas es:

Aproximación polinómica de orden n a los datos.
De manera muy simple, consiste en emplear los puntos experimentales como las posibles soluciones de un polinomio de orden n, siendo n un número entero.
Spline de los datos.
En lugar de tener un sólo polinomio, se aproximan regiones de los datos por polinomios de orden fijo, generalmente 2 o 3.(2)
Suavizado de los datos al resolver una ecuación lineal.
Se considera a los datos la solución de una ecuación lineal que además introduce una «rugosidad» de los datos experimentales. Esto es, cuanto se separan los valores aproximados de los experimentales.

Cada método tiene ventajas e inconvenientes, pero de manera muy somera, tanto la aproximación a un sólo polinomio como a las curvas spline poseen varios problemas comunes:

  1. Cuando hay pocos datos experimentales y se trata de aproximar un polinomio de orden alto, cualquier cosa se puede aproximar. Pensemos que tengo 10 datos experimentales y lo aproximo por un polinomio de orden 6. Al estar tan cerca el número de datos experimentales al orden del polinomio, casi cualquier conjunto de valores serán capaces de hacer la aproximación.
  2. Introduce oscilaciones que no tienen porqué tener sentido. Los polinomios tiene cambios de tendencia que se corresponden con acercamientos a máximos y mínimos locales. Y son más cuanto más alto es el orden del polinomio, porque depende de los ceros, que es igual al orden del polinomio.
  3. Con frecuencia, los parámetros que se emplean para decidir si una aproximación se ajusta más o menos al conjunto de datos son muy parecidos entre diversas aproximaciones de muy distinto orden, lo que dificulta mucho el escoger un polinomio u otro. De hecho, en las aproximaciones Spline, para evitar este problema se emplean siempre polinomios de orden fijo.

Así, cuando no hay un modelo matemático claro que nos permita decir que los datos se ajustan a una función u otra, el mejor método para obtener un conjunto equiespaciado de datos del conjunto original es el tercer método. Este sistema está implementado en la función «regdatasmooth.m» del paquete de Octave «data-smoothing-1.3.0» y funciona muy bien si se tiene cuidado al escoger los parámetros del ajuste. La justificación teórica se encuentra publicada en: «A perfect smoother.» Anal. Chem., 2003, 75 (14), pp 3631–3636

(1) Pensar en una serie de posiciones de algo tomada a intervalos irregulares.
(2) Muy buen tutorial sobre splines. Inglés