Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Extracción de características de clasificación de señales fisiológicas

Este ejemplo muestra cómo utilizar las funciones y extraer características de los datos de la señal de marcha.midcrossdtw Las señales de marcha se utilizan para estudiar los patrones de caminata de los pacientes con enfermedad neurodegenerativa. Se ha reportado que el tiempo entre los avances difiere entre individuos sanos y enfermos. ofrece una forma cómoda de calcular estos tiempos.midcross La gente también cambia su velocidad de caminata con el tiempo. proporciona una manera conveniente de comparar cuantitativamente la forma de las señales de marcha por deformación para alinearlas en el tiempo.dtw Este ejemplo se utiliza para ubicar cada paso en una señal de marcha y para calcular las distancias entre los segmentos de señal de marcha.midcrossdtw Estos resultados se examinan como posibles características para la clasificación de señales. Si bien este ejemplo es específico de las señales de marcha, también se pueden analizar otras señales fisiológicas, como el electrocardiograma (ECG) o el fotopletismograma (PPG), utilizando estas funciones.

Mida los intervalos de tiempo entre zancada

El DataSet que se está analizando contiene datos de fuerza recogidos durante la caminata para pacientes con esclerosis lateral amiotrófica (ALS) y un grupo de control. ELA es una enfermedad hecha famosa por Lou Gehrig, Stephen Hawking, y el 2014 ' Ice bucket Challenge '.

Cargue y trace los primeros 30 segundos de datos de la señal de marcha para un paciente.

helperGaitPlot('als1m'); xlim([0 30])

Este conjunto de datos representa la fuerza ejercida por un pie en una resistencia sensible a la fuerza. La fuerza se mide en milivoltios. Cada registro es de un minuto de longitud y contiene canales separados para el pie izquierdo y derecho de un sujeto. Cada paso en el conjunto de datos se caracteriza por un fuerte cambio en la fuerza a medida que el pie impacta y deja el suelo. Úse para encontrar estos cambios bruscos para un paciente de ELA.midcross

Se utiliza para encontrar y trazar la ubicación de cada cruce para el pie izquierdo de un paciente de ALS.midcross Elija una tolerancia del 25% para asegurarse de que se detecte cada cruce.

Fs = 300; gaitSignal = helperGaitImport('als1m'); midcross(gaitSignal(1,:),Fs,'tolerance',25); xlim([0 30]) xlabel('Sample Number') ylabel('mV')

identifica correctamente los cruces.midcross Ahora utilízlo para calcular los tiempos de inter-zancada para un grupo de diez pacientes. Cinco pacientes son sujetos de control, y cinco pacientes tienen ELA. Utilice el registro de pie izquierdo para cada paciente y excluya los primeros ocho cruces para eliminar los transitorios.

pnames = helperGaitImport(); for i = 1:10   gaitSignal = helperGaitImport(pnames{i});   IND2 = midcross(gaitSignal(1,:),Fs,'Tolerance',25);   IST{i} = diff(IND2(9:2:end));      varIST(i) = var(IST{i}); end

Trace los tiempos de inter-zancada.

figure hold on for i = 1:5   plot(1:length(IST{i}),IST{i},'.-r')   plot(1:length(IST{i+5}),IST{i+5},'.-b') end xlabel('Stride Number') ylabel('Time Between Strides (sec)') legend('ALS','Control')

La varianza de los tiempos de inter-zancada es mayor en general para los pacientes de ELA.

Medir similitud de patrones de caminata

Habiendo cuantificado la distancia entre los pasos, proceda a analizar la forma de los datos de la señal de marcha independientemente de estas variaciones inter-Step. Compare dos segmentos de la señal usando.dtw Idealmente, uno compararía la forma de la señal de marcha a lo largo del tiempo a medida que el tratamiento o la enfermedad progresan. Aquí comparamos dos segmentos del mismo registro, un segmento tomado al principio de la grabación (), y el segundo hacia el final ().sigsInitialLeftsigsFinalLeft Cada segmento contiene seis pasos.

Cargue los segmentos de datos de la señal de marcha.

load PNGaitSegments.mat

El paciente no camina a la misma velocidad a lo largo del registro. proporciona una medida de la distancia entre los segmentos al deformaciones para alinearlas en el tiempo.dtw Compare los dos segmentos usando.dtw

figure dtw(sigsInitialLeft{1},sigsFinalLeft{1}); legend('Early segment','Later segment','location','southeast')

Los dos segmentos se alinean en el tiempo. Aunque la velocidad de paso del paciente parece cambiar con el tiempo, como se puede ver en el desplazamiento de las señales originales, coincide con los dos segmentos al permitir que las muestras de cualquier segmento se repitan.dtw La distancia a través, junto con la varianza de los tiempos de inter-zancada, se explorarán como características para un clasificador de señal de marcha.dtw

Construya un vector de función para clasificar las señales

Supongamos que está construyendo un clasificador para decidir si un paciente está sano en función de las señales de marcha. Investigue la varianza de los tiempos de inter-zancada, y la distancia a través de los segmentos de señal inicial y final, como características de clasificación.feature1dtwfeature2

La característica 1 se calculó previamente utilizando.midcross

feature1 = varIST;

Característica de extracto 2 para los pacientes de ELA y el grupo de control.

feature2 = zeros(10,1); for i = 1:length(sigsInitialLeft)   feature2(i) = dtw(sigsInitialLeft{i},sigsFinalLeft{i}); end

Trace las características de los sujetos de ALS y los sujetos de control.

figure plot(feature1(1:5),feature2(1:5),'r*',...     feature1(6:10),feature2(6:10),'b+',...     'MarkerSize',10,'LineWidth',1) xlabel('Variance of Inter-Stride Times') ylabel('Distance Between Segments') legend('ALS','Control')

Los pacientes de ELA parecen tener una varianza mayor en sus tiempos de inter-zancada, pero una distancia más pequeña a través de los segmentos.dtw Estas características se complementan entre sí y se pueden explorar para su uso en un clasificador como una red neuronal o una máquina de vectores de soporte.

Conclusiones

y proporcionan una manera conveniente de comparar las señales de marcha y otros datos fisiológicos que se repiten irregularmente a lo largo del tiempo debido a las diferentes tasas de movimiento o actividad.midcrossdtw En este ejemplo, los tiempos de paso se encontraban utilizando y las distancias de segmento se calculaban utilizando.midcrossdtw Se trataba de medidas de cortesía, como se eliminó cualquier variación de tiempo que las distancias medirían.dtwmidcross Como características, estas dos métricas mostraron la separación entre el control y los pacientes de ALS para este conjunto de datos. y también podría utilizarse para examinar otras señales fisiológicas cuya forma varía en función de la actividad.midcrossdtw

Referencias

[1] Goldberger, l. l., l. n. Amaral, L. Glass, j. m. Hausdorff, P. ch. Ivanov, r. g. Mark, r. g. Mietus, g. b. Moody, C.-K. Peng, y h. e. Stanley. "PhysioBank, PhysioToolkit y PhysioNet: Componentes de un nuevo recurso de investigación para señales fisiológicas complejas. " Circulación. Vol. 101, número 23, 2000, PP. e215-E200.