Está en la página 1de 14

Métodos para transformación de series se-

cuenciales de R-Rs en series temporales.


Mario Estévez Báez1
Andrés Machado García2
José M. Estévez Carrera3
Material publicado originalmente en formato html en:
Html contributors. librosabietos:transformaci_on_de_secuencias_ordinales_en_temporales. InfoWiki. March 22, 2008, 08:50
CST. Available at:
http://infomed20.sld.cu/wiki/doku.php?id=librosabiertos:transformaci_on_de_secuencias_ordinales_en_temporales&rev=120
6193847. Accessed March 22, 2008.

Introducción

Uno de los aspectos que debe ser tomado en cuenta al efectuar el procesamiento
de una secuencia de cardiointervalos R-R consecutivos, es el hecho de que la se-
rie en cuestión es una secuencia ordinal y no temporal, como fue advertido por el
Grupo de Trabajo de Normalización sobre estudios de la VRC (Task Force 1996).
Cuando nos enfrentamos con esta situación pueden tomarse diferentes partidos:

1. Dejar la serie como una secuencia ordinal y procesarla así mismo.


2. Dividir cada valor por la media aritmética de la serie total a procesar.
3. Aplicar algoritmos específicos que permitan efectuar la transformación a
una serie temporal.

La primera opción fue muy empleada cuando no se conocían a fondo los inconve-
nientes que este proceder puede traer. En el segundo caso, se resuelve el conflic-
to si lo que deseamos es comparar situaciones de series de cardiointervalos con-
secutivos tomados de un mismo individuo. Si se intenta aplicar para obtener valo-
res relativos a un grupo de individuos pueden presentarse inconsecuencias para la
aplicación de algunas técnicas de análisis matemático-estadístico. La tercera op-
ción es la recomendada, variando los algoritmos de acuerdo con los criterios de
diferentes autores. Cada variante posee sus ventajas y limitaciones. En este acá-
pite, presentaremos tres de los algoritmos más empleados y se presentarán de
modo que se comprenda a fondo el proceso aplicado en cada caso. No será nece-
sario tener conocimientos avanzados de Matemáticas para ello.

1
Doctor en Medicina, Especialista de Fisiología de Segundo Grado, Investigador Titular, Profesor
Consultante, Doctor en Ciencias Médicas, Académico Titular AIA, Instituto de Endocrinología y
Enfermedades Metabólicas MINSAP.
2
Licenciado en Cibernética-Matemática, Profesor Auxiliar, Maestro en Ciencias de la Computación
Facultad de Biología, Universidad de La Habana, MES.
3
Licenciado en Informática, Instituto Superior de Medicina Militar “Dr. Luis Díaz Soto”
Algoritmo de Nidekker

Posiblemente, uno de los primeros procedimientos publicados en la literatura mé-


dica especializada, para hacer frente a la inconsecuencia de emplear las series
ordinales de cardiointervalos R-R en cálculos de indicadores en el dominio de la
frecuencia, fue el de una investigadora del Instituto de Problemas Médico Biológi-
cos de la antigua URSS, Irina Guiorguievna Nidekker (Nidekker, 1981). A este
procedimiento le denominaremos en lo adelante algoritmo de Nidekker. La autora
sugirió modificar los valores observados en una secuencia ordinal de cardiointer-
valos de la manera que se muestra en la Tabla 1, como mostraremos más adelan-
te.
Tabla 1 .Secuencia
ordinal original
Orden R-R en
ms.
1 730
2 725
3 735
4 740
5 715
6 710
7 725
8 735
9 740
10 735
11 730
12 725
13 720
14 730
15 735
16 740

Se seleccionará un período de muestreo fijo con un valor determinado, por ejem-


plo 1000 ms., y se calculará entonces el número de ciclos cardíacos, o fracción del
mismo, que corresponderían a cada valor nuevo seleccionado. En este caso, en el
valor en tiempo de la serie correspondiente a 1000 ms, habría 730/730 ciclos car-
díacos, correspondientes al primer cardiointervalo R-R y además 270/725 ciclos
cardíacos correspondientes al segundo cardiointervalo R-R. Por tanto, para el va-
lor 1000 ms de la serie de cardiointervalos R-R, se podría considerar que la fre-
cuencia correspondiente del corazón sería de 1.372413793 ciclos cardíacos por la
unidad de tiempo seleccionada (en este caso 1000 ms, o sea, 1 segundo).
Se continuaría el cálculo de igual modo, para los períodos ulteriores, 2000, 3000,
4000, ... , hasta que concluya la serie de cardiointervalos. Las frecuencias cardía-
cas así calculadas, podrían sustituir a los valores ordinales de la serie, habiéndose
de hecho efectuado una transformación de la secuencia ordinal de valores de los
cardiointervalos R-R, por una secuencia temporal.
Los valores así calculados podrían entonces someterse a procedimientos de aná-
lisis espectral o de autocorrelación, sin introducir los inconvenientes que genera el
uso de los valores ordinales.
Una ventaja adicional de la aplicación del algoritmo de Nidekker es la de producir
un "suavizado" de la serie que se procesa, que reduce el efecto del "aliasing" para
las frecuencias de la banda de alta frecuencia (150 - 400 mHz).

Muestra de aplicación del algoritmo de Nidekker

Pongamos por caso el ejemplo que se utilizó de la secuencia de 16 cardiointerva-


los R-R del acápite anterior:
La duración de la secuencia de cardiointervalos R-R de esta serie es de 11670
ms; por lo tanto, si utilizamos como período de análisis el valor 1000 ms., podre-
mos calcular solamente 11 valores, que corresponderían a los diferentes períodos
de análisis (1000, 2000, ... , 11000 ms.). Los cálculos se muestran el la siguiente
tabla. Veamos los cálculos:

Tabla 2 Cálculos para aplicar algoritmo de Nidekker


T (ms) Cálculos Resultados
(CC/1000ms)
1000 ms 730/730 + 270/725 1.3724138
2000 ms 455/725 + 545/735 1.3690828
3000 ms 190/735 + 740/740 + 70/715 1.3564055
4000 ms 645/715 + 355/710 1.4020979
5000 ms 355/710 + 645/725 1.3896552
6000 ms 80/725 + 735/735 + 185/740 1.3603448
7000 ms 555/740 + 445/735 1.3554422
8000 ms 290/735 + 710/730 1.3671606
9000 ms 20/730 + 725/725 + 255/720 1.3815639
10000 ms 465/720 + 535/730 1.3787100
11000 ms 195/730 + 735/735 + 70/740 1.3617179
Nota: CC_ ciclos cardiacos.
Los resultados se expresan con magnitud de frecuencia (ciclos cardíacos por uni-
dad de período seleccionado cc/p). Este procedimiento se puede modificar para
transformar los valores en períodos equivalentes. A esta posibilidad, la denomina-
remos algoritmo de Nidekker modificado. Para ello, tomando en cuenta que
T= 1/ F,
donde T_periodo y F_frecuencia, se aplica la siguiente transformación:

Valor (ms) = 1 / Valor calculado (en cc/p)

Por ejemplo:

Valor = 1 / 1.3724138 = 0.728643 s = 728.643 ms.

Algoritmo de Berger

En el año 1986, un importante colectivo de autores (Berger et al 1986), publicó un


trabajo en respuesta a un artículo de R.W. DeBoer y colaboradores (1984). Estos
autores llamaron la atención sobre el hecho de que DeBoer et al. 1984, afirmaban
que conocían el algoritmo utilizado por Berger et al, y éstos, para precisar que no
era así, presentaron en detalles su algoritmo y lo compararon con otros, discutien-
do de manera muy esclarecedora diferentes conceptos de gran significación teóri-
ca y práctica.

El algoritmo de Berger et al (1986) se aplica a una secuencia de cardiointervalos,


definiendo de antemano una frecuencia de discretización de la frecuencia cardia-
ca. Esta frecuencia, ellos la fijan generalmente en 4 Hz, debido a que esto les
permite obtener estimados confiables de la densidad espectral entre DC y 1 Hz.
Para cada punto de la frecuencia de discretización seleccionada, se crea una ven-
tana local, centrada en ese punto, y que tiene una duración igual al doble del pe-
ríodo de muestreo. Si la frecuencia escogida es de 4 Hz, la ventana tiene una du-
ración total de 500 ms: 250 ms antes del punto donde se va a calcular la nueva
frecuencia de la secuencia y 250 ms a partir de dicho punto.

El valor de la frecuencia cardiaca para cada punto será el número de ciclos car-
diacos (o fracción) dentro de la ventana local centrada para ese punto, calculán-
dose la frecuencia cardiaca para cada punto según la expresión:

f s = fm * n i / 2 ;
donde fs _ frecuencia correspondiente para la nueva secuencia en el punto anali-
zado; fm :_ frecuencia de muestreo decidida de antemano para la nueva secuen-
cia; y ni :_ número de cardiointervalos o fracción comprendidas en la ventana.

El algoritmo en cuestión, como señalan sus autores, no puede ser aplicado en


tiempo real, ya que se requiere que para cada punto haya información anterior e
información por ocurrir. Por ello, sería necesario introducir un retardo para el cál-
culo. No obstante, este inconveniente no existe para procedimientos "off-line", o
sea, los que se realizan con posterioridad al registro de la señal ECG original. La
señal de frecuencia cardiaca que se produce como resultado de la aplicación del
algoritmo, puede ser considerada como muestras de una señal escalonada de la
señal de la frecuencia cardiaca, convolucionada con una ventana rectangular
("boxcar"). La convolución de la señal de frecuencia cardiaca tiene el efecto en el
espectro de potencia de una multiplicación por un filtro pasa-bajo, cuya forma es:

donde V(f):_Forma del filtro aplicado por la ventana; f:_ frecuencias discretas y
fm:_al igual que antes se definió, frecuencia de muestreo de la nueva secuencia.
Este filtro deja pasar muy poca energía más allá de la frecuencia de Nyquist, ge-
neralmente llamada Fc (Ver “Resolución y aliasing” en otra parte de esta obra),
pero introduce significativos artefactos en las frecuencias espectrales entre (1/2
Fc) y la Fc, donde Fc:_frecuencia de Nyquist. Esta distorsión se reduce dividien-
do los valores de cada frecuencia discreta del espectro de salida de la FFT por
V(f).
Resulta conveniente no tomar en consideración los valores de frecuencias por en-
cima de 1/2Fc. Cuando la frecuencia de muestreo utilizada para la aplicación del
algoritmo de Berger et al es de 4 Hz, la Fc será de 2Hz, por lo cual, como el es-
pectro útil se encuentra entre DC y 0.4 Hz, no se reflejarán estas distorsiones en
los resultados. En general, para frecuencias de muestreo de 1.5 a 2 Hz no se ob-
servarán efectos sobre los cálculos realizados.
Uno de nuestros colaboradores, para su trabajo de Diploma para la obtención del
Título de Ingeniero Nuclear, estudió e implementó un algoritmo para el cálculo del
procedimiento de Berger en lenguaje Pascal Objeto, que hemos optimizado para
su aplicación con leguaje Delphi. (Sánchez, 1995). En el próximo acápite se mues-
tra un ejemplo de cálculo del algoritmo, para facilitar la comprensión.
Muestra de aplicación

Escogiendo una frecuencia de muestreo para la nueva secuencia de cardiointerva-


los de 4 Hz, tendríamos una ventana local de 500 ms. para cada punto en la se-
cuencia original. En la Tabla solo se muestran los primeros puntos de la nueva
serie. Los resultados se expresan con magnitud de frecuencia (ciclos cardíacos por uni-
dad de período seleccionado cc/p). Al igual que se analizó con el algoritmo de Nidekker
también es posible utilizar el algoritmo para calcular los periodos equivalentes..
A esta posibilidad la denominamos como algoritmo de Berger modificado. Para
ello, tomando en cuenta que T = 1 / F, donde T_periodo y F_frecuencia, se aplica
la siguiente transformación:

Valor (ms) = 1 / Valor calculado (en cc/p)

Por ejemplo:

Valor = 1 / 1.36986 = 0.7299999... s = 729.99 ms.

Punto en la Cálculos Resultado en


secuencia CC/ 250ms
250 ms 4*((250/730+250/730)/2) 1.36986...
500 ms. 4*(((230/730+20/725)+(250/725))/2) 1.37496...
750 ms. 4*((250/725+(205/725+45/735))/2) 1.37762...
1000 ms. 4*((250/735+250/735))/2) 1.36054...
1250 ms 4*(((190/735+60/740)+(250/740))/2) 1.35484...
1500 ms 4*(((250/740+(180/740+70/715))/2) 1.35796...
1750 ms 4*((250/715+250/715)/2 1.39860...
2000 ms 4*(((145/715+105/710)+(250/710))/2 1.40559...
2250 ms 4*((250/710)+(105/710+145/725)/2) 1.40000...

Algoritmo de interpolación

La interpolación es un método matemático que se inserta en la problemática de la


aproximación de las funciones. En general, en el análisis numérico, existe una
gran aplicación de tres tipos fundamentales de funciones aproximantes:
1. Funciones que tienen la forma 1,x,...,xn , cuyas combinaciones lineales con-
forman toda la clase de los polinomios de grado no superior a n.
2. Funciones trigonométricas del tipo sen (aix) y cos(aix), que generan las series
de Fourier y la integral de Fourier.
ax
3. Funciones exponenciales del tipo e i .
Vamos a concentrarnos en la aproximación vinculada a los polinomios. Tomemos
el caso para ello, de una función aproximante que sea un polinomio dado de un
grado "n". La función se suele representar como Pn(x). Ésta posee la forma:

El criterio de aceptación consiste en la determinación de la "distancia" entre las


funciones a aproximar y la aproximante, debiéndose buscar el tipo de función
aproximante que logre una mínima "distancia" entre ambas.

Entre los criterios más difundidos de aceptación se encuentra el criterio de Ché-


bishev. Este criterio está fundado en la concepción de "distancia" como magnitud
máxima de desviación de la función φ respecto a la función f en los nodos xi:

El caso que presenta mayor interés, está dado, cuando para la función aproximan-
te la distancia ρ1 = 0. Ello quiere decir, que para una función debidamente tabula-
da y = f (x), que esté representada por sus valores: yi = fi = f(xi),

se requiera construir la función aproximante φ(x), tal que φ(xi) = yi.

Es precisamente este método de aproximación, basado en el criterio de coinciden-


cia de f y φ en los nodos xi al que se le llama interpolación.

Método de iteración-interpolación

En la interpolación vamos a enfrentar, generalmente, dos situaciones. La primera


es la que corresponde a series de valores que aparecen en nodos uniformemente
espaciados. Es este, de manera frecuente, el caso de las tablas. Por ejemplo,
pongamos el caso de valores de la función y = sen(x) que se encuentren entre
46 y 52 grados angulares:
x 46º 47º 48º 49º 50º 51º 52º
y 0.7198 0.7314 0.7431 0.7547 0.7660 0.7771 0.7880

Como podemos observar, los valores de la función son presentados para interva-
los espaciados de modo uniforme; en este caso: cada un grado.
La otra situación sería la de valores que se tienen, pero que han sido obtenidos en
puntos de la función con intervalos irregulares. Veamos el caso con otro ejemplo,
usando valores de la función logarítmica y = ln x:

x 2 3 5
y 0.6931 1.0986 1.6094

Aquí podemos ver que los valores que tenemos a nuestra disposición se encuen-
tran para intervalos que no están uniformemente distribuidos. Para cada caso, los
métodos a emplear son diferentes.
Cuando se necesita determinar el valor de una función, digamos f(x), en cierto
*
punto x distinto de los nodos de interpolación, es conveniente la utilización del
método de iteración-interpolación de Aitken. El método es, propiamente hablando,
*
un método de interpolación lineal sucesiva. El proceso para el cálculo de f(x ) ra-
dica en lo siguiente. Se numeran los nodos de interpolación, por ejemplo, en el
*
orden en que los mismos se alejan de x , y se construye la siguiente tabla:

.
x4 P04
P12,4
x2 P02 P20,2,4
P10,2 P30,1,2,4
x0 P00 P20,1,2 ...
1,0 0,1,2,3
P1 P3
1 0,1,3
x1 P0 P2
1,3
P1
3
x3 P0
.

Aquí:
es un polinomio interpolador de grado no superior al primero, construido sobre los
nodos xi y y j:

Este otro es un polinomio interpolador de grado no superior al segundo, construido


sobre los nodos xi , xj , xk.
Continuándose este proceso, se llega al polinomio que se muestra seguidamente,
que constituye la base de aplicación del método:

Calculando sucesivamente, con la ayuda de la anterior fórmula, todos los valores

Pn0,1,...,n (x*),
*
son tomados por las sucesivas aproximaciones de f(x ).

El proceso de cálculo se concluye cuando el valor absoluto de la diferencia de dos


aproximaciones sucesivas llega a ser suficientemente pequeño. En el próximo
acápite se muestra un ejemplo, aplicado a una serie de cardiointervalos R-R.
Muestra de Aplicación
Tengamos una serie de cardiointervalos R-R constituida por 16 cardiointervalos y
cuyos valores se muestran en la próxima Tabla:

# ms
1 970
2 980
3 970
4 945
5 965
6 980
7 970
8 930
9 935
10 950
11 960
12 935
13 935
14 955
15 970
16 970
Al parecer, los valores que tenemos de la serie, se encuentran en nodos que se
encuentran igualmente espaciados: "1, 2 ,..., 16". No obstante, inmediatamente
nos damos cuenta que estos nodos son solamente la indicación del orden de apa-
rición de los valores de duración de los períodos cardíacos. Ello no constituye una
dimensión válida. Cuando representamos en forma de histograma secuencial es-
tos valores, captamos la misma información, pero de modo gráfico, como se
muestra en el anterior diagrama secuencial.

Otro tipo de representación gráfica puede sernos más útil. Veamos a continuación
un diagrama, en el que se muestra en el eje de las abscisas la escala del tiempo,
en tanto en las ordenadas, dejamos el valor de la duración de los cardiointervalos
R-R de la serie.

Aquí resulta evidente, que a los efectos del tiempo, los nodos, que estarían dados
por los valores de duración de los cardiointervalos no están uniformemente espa-
ciados y por tanto, si fuésemos a aplicar un método de interpolación para calcular
el valor que podríamos haber obtenido en un momento diferente a los observados,
sería necesario utilizar un método perteneciente a la segunda situación descrita en
el acápite anterior. En el caso de SDSPlus, el método empleado es el de iteración-
interpolación de Aitken, que fue descrito también en el acápite anterior. Este tipo
de representación gráfica ha sido denominada "Serie de eventos discretos"
("Standards of Heart Rate Variability...1996"), o sea, la representación de la dura-
ción del cardiointervalo R-Ri-1 en el momento de ocurrencia del cardiointervalo R-
Ri .
Vamos ahora a mostrar un ejemplo del cálculo, tomando en cuenta que solo con-
sideraremos adecuado el valor de interpolación, cuando las diferencias divididas
encontradas no superen a un milisegundo. En la tabla que se muestra a continua-
ción, se muestran ahora la duración de los cardiointervalos y el valor de tiempo
transcurrido desde el inicio de la serie para cada ocurrencia de un período cardía-
co:

x 970 1950 2920 3865 4830 5810 6780 7710 8645


y 970 980 970 945 965 980 970 930 935

x 9595 10555 11490 12425 13380 14350 15320


y 950 960 935 935 955 970 970

Vamos a calcular el valor del cardiointervalo que podría representar al momento


de aparición "10 segundos", o sea, 10,000 ms. Consideraremos la numeración de
los nodos de la siguiente manera:

• x0 = 9,595
• x1 = 10,555
• x2 = 8,645

0,1 0,2 0,1,2


Los polinomios que primero calcularemos son los siguientes: P1 , P1 y P2
.

1
Teniendo en cuenta que la diferencia no es mayor de 1.00 milisegundo., acepta-
mos el valor de 954 milisegundos como el valor del cardiointervalo que se hubiera
observado en el momento 10 segundos. De esta manera es que se opera el méto-
do de interpolación de Aitken. Naturalmente, el período de interpolación empleado
puede ser variado de acuerdo a las exigencias del caso.
Bibliografía

1. Berger, R. D., S. Akselrod, D. Gordon and R. J. Cohen (1986) "An efficient algorithm for
spectral analysis of heart rate variability." IEEE Trans Biomed Eng Sep;33(9):900-4.
2. DeBoer, R. W., J. M. Karemaker and J. Strackee (1984) "Comparing spectra of a series of
point events particularly for heart rate variability data." IEEE Trans Biomed Eng
Apr;31(4):384-7.
3. Nidekker I.G.(1981). Metódica del análisis espectral de registros de larga duración de
señales fisiológicas. Kosmicheskaya Biologya y Aviakosmicheskaya Meditsina, No.3, pp.
78-82.
4. Sánchez-Quesada K.F.(1995) Aplicación de procedimientos biofísicos en el procesamiento
de series de cardiointervalos R-R del electrocardiograma. Ciudad de La Habana, Cuba.
5. Task Force of The European Society of Cardiology and The North American Society of
Pacing and Electrophysiology (1996) Heart rate variability Standards of measurement,
physiological interpretation, and clinical use. European Heart Journal (1996) 17, 354–381

También podría gustarte