Universidade Federal Fluminense
Instituto de Computação
Mestrado em Ciência da Computação
Welton Luiz de Oliveira Barbosa
Mineração de Fluxo Contı́nuo de Dados Para a Identificação de
Traços de Ansiedade em Sinais de ECG
Niterói-RJ
2015
ii
WELTON LUIZ DE OLIVEIRA BARBOSA
MINERAÇÃO DE FLUXO CONTÍNUO DE DADOS PARA A IDENTIFICAÇÃO DE TRAÇOS DE
ANSIEDADE EM SINAIS DE ECG
Dissertação
apresentada
Mestrado
Acadêmico
ência
da
Universidade
nense,
Curso
Ci-
Computação
da
requisito
obtenção
do
tre
Ciência
Grau
Área de Concentração:
da
Flumiparcial
para
de
Mes-
Computação.
Aprendizado de
Máquina e Processamento de Sinais.
Orientador: Prof. Dr. José Viterbo Filho
Niterói-RJ
2015
de
em
Federal
como
em
ao
iv
Welton
Dedico este trabalho de conclusão aos meus pais, ao
meu irmão William e a minha avó Antônia por todo
o incentivo, força e apoio dado para que eu pudesse
enfrentar e concluir essa etapa da minha vida. Também dedico a mim, porque haja força de vontade para
abdicar de dias de surfe para escrever este trabalho.
Agradecimentos
Primeiramente gostaria de agradecer ao orientador José Viterbo por sua dedicação e colaboração na
parte técnica e textual. Sei que é bem difı́cil trabalhar à distância mas o sacrifı́cio vale quando vemos o
resultado. Agradeço sua paciência e disponibilidade em todos os momentos da realização deste trabalho,
sempre de portas abertas para me ouvir e contribuir com perguntas que tornavam o trabalho cada vez
melhor.
A minha famı́lia, peço desculpas pela eterna falta de tempo e distância nesses anos do mestrado,
principalmente nessa reta final.
Agradeço aos meus pais e a minha avó por todo o apoio e incentivo que tive durante o mestrado,
por toda a ajuda que me deram, fazendo esforços além de seus limites para me dar a possibilidade de
realizar este sonho.
Aos amigos que dividiram várias noites de bebedeira e som. Ao Luiz Guilherme (frango), João
Bentes (paraı́ba) e famı́lia, Vinı́cius Costa (macaé) e a todos os demais que sempre estiveram la em casa,
até altas horas da madrugada curtindo um som de primeira, principalmente quando eu estava com o
violão na mão tocando Natiruts e Armandinho.
Ao Rodrigo Patrianova, que depositou em mim a confiança de ingressar em uma ótima empresa
como a Schlumberger, dedicando um valioso tempo do seu dia, liderando-me tanto profissionalmente como
pessoalmente.
A todos os membros do BPI Team, Rodrigo Patrianova, Marcos Callipo (mamalmeida), Leonardos Araujo (Abel/preá), Fernando Silva (moranguinho), Michael Capela (“Tira a mão das minhas
coisas”), Letı́cia Matos e o agregado Tomoki Sato (este não tem apelido por motivos de manutenção da
minha saúde). Também ao Marcos Bonfim, por ter dado a oportunidade do surgimento desta equipe.
Ao estado de Minas Gerais, por ter criado uma mineira muito especial (meio perturbada também).
A Lı́zia Benevenute, obrigado por me deixar te esperando na sua casa, tanto nas horas que vocês estava
na faculdade quanto nos finais de semana que eu queria dar uma volta na praia ou simplesmente ver o
sol, mas você ficava dormindo, dormindo e dormindo... Só assim mesmo para eu conseguir um tempo
para escrever esta dissertação tão feliz e agradável.
A todos os demais que me influenciaram e/ou contribuı́ram para a realização desse sonho.
Também ao transito do Rio de Janeiro, colaborando comigo todas as vezes que tive que trabalhar
do escritório da Barra. Graças a ele ganhei horas e mais horas para a escrita da dissertação.
Welton Luiz de Oliveira Barbosa
v
Sumário
Agradecimentos
v
Lista de Figuras
viii
Lista de Tabelas
ix
Resumo
x
Abstract
xi
1 Introdução
1
1.1
Definição do Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.2
Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.3
Contribuições . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.4
Organização do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
2 Fundamentação Teórica
5
2.1
Sinais de Eletrocardiograma (ECG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
2.2
Fundamentação Matemática para Análise de Sinais Biológicos Elétricos . . . . . . . . . .
7
2.2.1
Transformada de Fourier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
2.2.2
Transformada de Wavelet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
2.2.3
Transformada Delta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
2.3
Cálculos Estatı́sticos para Extração de Caracterı́sticas de Eletrocardiograma . . . . . . . .
12
2.4
Demais Medidas Descritivas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
2.4.1
Cálculo da Área . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
2.4.2
Identificando o Ponto R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
Técnicas de Aprendizado de Máquina . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
2.5.1
Algoritmos de Árvores de Decisão . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
2.5.2
Avaliação dos Algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
Fluxo Contı́nuo de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
2.6.1
Mineração de Fluxo Contı́nuo de Dados . . . . . . . . . . . . . . . . . . . . . . . .
19
2.6.2
Preparação do Fluxo de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
2.6.3
Algoritmos de Mineração de Fluxo de Dados . . . . . . . . . . . . . . . . . . . . .
21
2.5
2.6
vi
vii
3 Trabalhos Relacionados
23
3.1
Mobile Data Mining for Intelligent Healthcare Support . . . . . . . . . . . . . . . . . . . .
23
3.2
An Architecture for Context-Aware Adaptative Data Stream Mining . . . . . . . . . . . .
24
3.3
Collective Human Biological Signal-Based Identification and Authentication in Access Control Environments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
3.4
Stream-based Biomedical Classification Algorithms for Analyzing Biosignals . . . . . . . .
25
3.5
A System for Mining Temporal Physiological Data Streams for Advanced Prognostic Decision Support
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
3.6
Mining Data Streams with Periodically Changing Distributions . . . . . . . . . . . . . . .
26
3.7
Projeto Diretrizes - Transtornos de Ansiedade: Diagnóstico e Tratamento . . . . . . . . .
27
3.8
MD-SBE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
4 O Método AnxECGStream
4.1
4.2
29
Definição do Modelo Classificador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
4.1.1
Descrição do Conjunto de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
4.1.2
Pré-Processamento de Sinais de Eletrocardiograma . . . . . . . . . . . . . . . . . .
32
4.1.3
Algoritmos de Aprendizado de Máquina . . . . . . . . . . . . . . . . . . . . . . . .
35
Classificação de Fluxo Contı́nuo de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
4.2.1
Pré-Processamento de Fluxos Contı́nuos . . . . . . . . . . . . . . . . . . . . . . . .
38
4.2.2
Classificador de Ansiedade
40
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 Protótipo e Avaliação
43
5.1
Simulador de Dados de Eletrocardiograma . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
5.2
Protótipo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
5.3
Avaliação do Método Proposto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
6 Conclusão
49
Referências Bibliográficas
51
Lista de Figuras
2.1
Pontos de estudo de sinais de um Eletrocardiograma . . . . . . . . . . . . . . . . . . . . .
6
2.2
Representação da amplitude e do comprimento de uma onda . . . . . . . . . . . . . . . .
7
2.3
Um exemplo da Wavelet Haar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
2.4
Exemplo de análise multirresolução ortogonal . . . . . . . . . . . . . . . . . . . . . . . . .
10
2.5
Exemplo do inı́cio de um ECG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
2.6
Resultado da transformada Delta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
2.7
Matriz de confusão genérica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
2.8
Matriz de confusão genérica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
4.1
Processo para criação do modelo classificador de traços de ansiedade . . . . . . . . . . . .
30
4.2
Passagem de fluxo contı́nuo de dados para a central de processamento . . . . . . . . . . .
31
4.3
Pré-processamento realizado no trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
4.4
Árvore de decisão resultante do algoritmo C4.5 . . . . . . . . . . . . . . . . . . . . . . . .
36
4.5
Árvore de decisão resultante do algoritmo Random Tree . . . . . . . . . . . . . . . . . . .
37
4.6
Árvore de decisão resultante do algoritmo One Rule . . . . . . . . . . . . . . . . . . . . .
37
4.7
Processo para criação do modelo classificador de traços de ansiedade . . . . . . . . . . . .
39
4.8
Exemplos de fluxos de ECG com traços de ansiedade . . . . . . . . . . . . . . . . . . . . .
41
4.9
Exemplos de fluxos de ECG sem traços de ansiedade . . . . . . . . . . . . . . . . . . . . .
41
4.10 Exemplos de fluxos de ECG com traços de ansiedade com nı́vel de detalhe . . . . . . . . .
42
4.11 Exemplos de fluxos de ECG sem traços de ansiedade com nı́vel de detalhe . . . . . . . . .
42
5.1
Diagrama de classe do protótipo desenvolvido para suportar o método AnxECGStream .
44
5.2
Tempo de execução dos algoritmos por quantidade de pacientes em simultâneo . . . . . .
46
5.3
Tempo médio de execução do sistema por paciente (em segundos) comparado a média de
execução para o total de número de pacientes . . . . . . . . . . . . . . . . . . . . . . . . .
5.4
47
Tempo médio para a execução da classificação de um paciente, para uma quantidade variável de pacientes simulados (em segundos) . . . . . . . . . . . . . . . . . . . . . . . . . .
viii
47
Lista de Tabelas
2.1
Coeficientes das funções de escalada da Wavelet Daubechies . . . . . . . . . . . . . . . . .
11
2.2
Tabela demostrando os passos do cálculo da Transformada Delta . . . . . . . . . . . . . .
13
4.1
Tabela demostrando os passos da Transformada Delta . . . . . . . . . . . . . . . . . . . .
35
4.2
Resultado da etapa de treino dos algoritmos utilizados . . . . . . . . . . . . . . . . . . . .
35
4.3
Resultado da etapa de treino do algoritmo C4.5 . . . . . . . . . . . . . . . . . . . . . . . .
36
4.4
Resultado da etapa de treino do algoritmo Random Tree . . . . . . . . . . . . . . . . . . .
37
4.5
Resultado da etapa de treino do algoritmo One Rule . . . . . . . . . . . . . . . . . . . . .
38
5.1
Tempo de processamento em segundos . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
ix
Resumo
A ansiedade é um estado emocional humano que ajuda a evitar ataques, estimulando a atenção e precaução. No entanto, para algumas pessoas os nı́veis elevados de ansiedade podem causar problemas
associados à fadiga, inquietação, tensão e falta de concentração. Além disso, a ansiedade pode ser um
sintoma de alguns graves problemas de saúde subjacentes. Assim, a identificação do estado de ansiedade
é importante para permitir que este problema possa ser corretamente tratado, evitando a ocorrência de
maiores problemas. No entanto, o diagnóstico de ansiedade é muito subjetivo e, geralmente, não pode
ser executado em tempo hábil. Este trabalho propõe um método denominado AnxECGStream, que visa
apoiar a identificação de traços de ansiedade com base no monitoramento contı́nuo de fluxos de dados
de eletrocardiograma (ECG). Nossa abordagem aplica técnicas de processamento de sinal associadas a
técnicas de mineração de fluxo de dados. Um conjunto de dados limitado, obtidos de fontes reais, foi
utilizado para treinar um classificador, baseado em árvores de decisão. Esse mesmo conjunto de dados foi
usado para simular um grande número de fluxos de dados de sinais de ECG produzidos simultaneamente.
O protótipo de uma ferramenta que implementa o AnxECGStream foi construı́do e testado para verificar
a precisão, a capacidade de monitoramento contı́nuo e escalabilidade do método.
Palavras-chave: Mineração de Fluxo de Dados, Ansiedade, Sinais Biológicos Elétricos, ECG,
Mineração de Dados, Transformada de Fourier, Wavelet, Aprendizado de Máquina.
x
Abstract
Anxiety is a human emotional state that helps to avoid attacks by stimulating personal attention and
caution. However, for some people elevated levels of anxiety may cause problems associated with fatigue, restlessness, tension and lack of concentration. Furthermore, anxiety may be a symptom of some
serious underlying health problems. Thus, the identification of the anxiety state is important to allow
this problem to be correctly handled, avoiding bigger problems. However, the diagnosis of anxiety is very
subjective and usually can not be executed in a timely manner. This paper proposes a method called
AnxECGStream, which aims at supporting the identification of anxiety traces based on continuous monitoring of electrocardiography (ECG) data streams. Our approach applies signal processing techniques
associated with data stream mining techniques. A limited set of data obtained from real sources was
used to train a classifier based on decision trees. The same data set was used to simulate a large number
of ECG signal data streams produced simultaneously. The prototype of a tool that implements the AnxECGStream was built and tested for checking the method’s accuracy, ability to continuous monitoring
and scalability.
Keywords: Data Stream Mining, Anxiety, Bioelectrical Signals, ECG, Data Mining, Fourier
transform, Wavelet, Machine Learning.
xi
Capı́tulo 1
Introdução
A ansiedade é considerada um mecanismo de defesa do ser humano. Ela auxilia o homem na prevenção
de ataques, pois estimula a atenção e precaução. Entretanto, a ansiedade em demasia pode significar um
problema de saúde [Baxter et al., 2013]. Pessoas com nı́veis elevados de ansiedade apresentam um estado
desagradável de agitação interna, que pode ser acompanhado por um comportamento nervoso caracterizado por inquietação, queixas somáticas e ruminação [Moyer, 2012]. Podem apresentar, também, em raros
casos, sentimentos subjetivamente desagradáveis de terror. Os sintomas correspondentes podem variar
em quantidade de problemas relacionados, intensidade e frequência em cada indivı́duo [Goldberg, 2014].
Em momentos nos quais a preocupação com coisas cotidianas se torna desproporcional à verdadeira
fonte de preocupação, a ansiedade excessiva é identificada como um transtorno mental incontrolável e
muitas vezes irracional [Mark, 1998]. Caso estas situações ocorram repetidamente ou se agravem, se
transformam em transtornos (ou distúrbios) de ansiedade. Ainda que a grande maioria das pessoas já
tenha vivido situações nas quais apresentou ansiedade, muitas não desenvolvem este problema a longo
prazo [Houghton e Gray, 2012].
A ansiedade é um problema mundial. Nos Estados Unidos se encontram as maiores taxas de
ansiedade, afetando um número de aproximadamente 40 milhões de adultos. É um quadro mais comum
em adultos, principalmente entre as mulheres [Houghton e Gray, 2012]. Algumas das principais complicações causadas pelos distúrbios de ansiedade são: ansiedade generalizada, ansiedade induzida por
problemas médicos e/ou induzida pelo consumo drogas, distúrbio e ataques de pânico, distúrbios fóbicos e transtorno obsessivo-compulsivo. A ansiedade provoca alguns efeitos fı́sicos como, por exemplo,
palpitações, taquicardia, fraqueza muscular e tensão, fadiga, náuseas, dor no peito, falta de ar, dor de
cabeça e dores de estômago [Baxter et al., 2013]. À medida que o corpo se prepara para lidar com uma
ameaça, a pressão arterial, a frequência cardı́aca, a transpiração e o fluxo sanguı́neo para os grandes
grupos musculares aumentam, enquanto que as funções do sistema imunológico e digestivo são inibidas [LifeintheFastlane, 2014]. Já os sintomas externos para a ansiedade são palidez, sudorese, tremores
e dilatação pupilar. Ainda que não sejam sentidos por todos, os ataques de pânico costumam ser um
sintoma comum. Normalmente os ataques de pânico surgem sem aviso e envolvem uma percepção subjetiva do perigo, que embora irracional é muito real. Quem sofre de um ataque de pânico, muitas vezes,
2
sente como se estivesse prestes a morrer ou perder a consciência. O ataque de pânico pode levar ao
desenvolvimento de fobias e a sua frequência pode provocar a agorafobia, que é o medo de ter um ataque
de pânico em um local público ou desconhecido e acabar enfrentando o julgamento das pessoas ou não
obter ajuda.
É difı́cil para profissionais da saúde, principalmente os menos experientes, a identificação concreta
da ansiedade, pois ela pode estar relacionada a fatores externos, desconhecidos, que são bem difı́ceis de
serem reproduzidos em experimentos. Uma vez que pessoas afetadas pela ansiedade tendem a ter sintomas
de taquicardia (ritmo cardı́aco igual ou superior a 100 batimentos por minuto) e elevada produção de
suor nas mãos, é possı́vel identificar o estado de ansiedade através da medição do ritmo cardı́aco em
conjunto com o nı́vel de sudorese. Outra forma de tentar se diagnosticar a ansiedade é pela percepção
da dilatação da ı́ris ocular [Salles e Silva, 2012]. No entanto, os métodos de identificação ambulatoriais
de ansiedade a identificam em apenas pequenas janelas de tempo, não abrangendo todas as situações
cotidianas vividas pelo paciente. Em muitos casos não é possı́vel a reprodução de situações que causam
a ansiedade. A maioria dos métodos de diagnóstico é baseada em observação e avaliações subjetivas de
difı́cil monitoramento, sobretudo durante um longo intervalo de tempo.
Atualmente, existe uma grande diversidade de aparelhos capazes de coletar continuamente informações cardı́acas (eletrocardiograma) por meio de sensores vestı́veis não invasivos, tais como o Mobile
ECG Telemetry Solution (METS) [MegaKoto, 2014], o DevECG da Microsoft [Microsoft, 2014] e o Mobile
Cardio [Cardio, 2014]. Essas tecnologias de sensoriamento contı́nuo oferecem uma nova janela para a vida
diária dos pacientes, através da qual o comportamento de um indivı́duo pode ser mais completa, precisa
e dinamicamente avaliado à medida em que evolui em tempo real [Natarajan et al., 2013]. Recentemente,
a área de pesquisa em sistemas de monitoramento de saúde tem ido além de uma simples interpretação
de leituras de sensores vestı́veis, para buscar um nı́vel mais elevado de processamento de dados, a fim de
fornecer muito mais informações valiosas para os usuários finais. Desta forma, os serviços de saúde têm
se concentrado em tarefas mais profundas de mineração de dados [Banaee et al., 2013].
Com base nos avanços na área de monitoramento de saúde e em trabalhos anteriores de análise e
processamento de sinais [Barbosa e Calembo, 2012, Magini et al., 2012], é possı́vel pensar no monitoramento contı́nuo do estado de ansiedade de pacientes com o apoio de sensores e modelos de classificação
elaborados adequadamente. O monitoramento contı́nuo de sinais de eletrocardiograma ao longo das situações cotidianas vividas pelos pacientes pode auxiliar na identificação de situações especı́ficas motivadoras
de crises de ansiedade para cada indivı́duo. Associado ao emprego de técnicas de mineração de dados, o
monitoramento pode identificar situações de ansiedade e oferecer ao paciente meios para evitar ou superar rapidamente este estado. Por exemplo, em ambientes inteligentes é possı́vel oferecer a reprodução de
músicas e vı́deos relaxantes, mensagens e textos tranquilizadores, controle da iluminação e temperatura
e outras medidas que permitiriam ao paciente retornar ao estado não patológico.
3
1.1
Definição do Problema
A aplicação de técnicas de mineração de fluxo contı́nuo de dados permite a análise dos dados cardı́acos de pacientes e identificação rápida de irregularidades ou situações especı́ficas [Natarajan et al., 2013,
Watanabe et al., 2013]. Atualmente existem diversos trabalhos na literatura com o foco no monitoramento de pacientes para a coleta de informações cardı́acas através de sensores especı́ficos que podem
ser utilizados continuamente [Lo et al., 2005, Banaee et al., 2013, Valenza et al., 2014]. Dentre estes, a
grande maioria dos trabalhos aborda o auxı́lio do diagnóstico de doenças cardı́acas como taquicardia,
bradicardia e previsão de quadros ambulatoriais [Chen et al., 2004, Nguyen et al., 2014].
Entretanto, em trabalhos anteriores verificou-se que através da análise de sinais de ECG é possı́vel
também identificar do estado de ansiedade de pacientes [Magini et al., 2012]. Este processo pode ser
realizado de maneira contı́nua, com avaliação constante do quadro apresentado pelo paciente, o que exige
que o método de monitoramento e classificação atenda a condições mı́nimas de performace. Em cenários
reais, o processo deve ser escalável, ou seja, permitir o monitoramento simultâneo de muitos pacientes,
suportando um grande volume de dados.
1.2
Objetivo
O objetivo deste trabalho é propor um método aplicável na implementação de um sistema eficiente e
escalável de monitoramento de pacientes para auxiliar na identificação de traços de ansiedade em sinais
de ECG coletados contı́nua e simultaneamente. Este método deve ser genérico de forma a permitir
que seja utilizado na implementação de sistemas similares que empreguem técnicas de mineração de
fluxo contı́nuo de dados para a classificação de conjuntos de séries temporais coletadas continuamente de
sensores diversos.
1.3
Contribuições
Como principal contribuição cientı́fica deste trabalho, foi desenvolvido o método AnxECGStream, aplicado na implementação de um sistema capaz de auxiliar no diagnóstico de traços de ansiedade em pacientes por meio do processamento de sinais de eletrocardiograma, empregando mineração de fluxo contı́nuo
de dados. Para a avaliação do método, foi implementado o protótipo de um sistema de monitoramento
escalável, isto é, capaz de avaliar um grande conjunto de dados oriundos de diversas fontes simultaneamente, e adaptável, permitindo a adição de novos métodos de processamento e modelos de classificação
para outros conjuntos de sinais do tipo série temporal. Além disso, como ferramenta para a realização de
testes de performance, foi implementada uma ferramenta capaz de simular a produção de um conjunto
de séries temporais a partir de uma base de dados com amostras de sinais originais.
4
1.4
Organização do Trabalho
Este trabalho está estruturado da seguinte forma. O Capı́tulo 2 apresenta a fundamentação teórica
para o entendimento do problema abordado neste trabalho, conceituando a Transformada de Fourier,
Transformada de Wavelet e a Transformada de Variantes Adjuntos. Além disso, o capı́tulo discute a
utilização de medidas descritivas de estatı́stica para a discretização de fluxos de dados e apresenta uma
introdução ao conceito de mineração de fluxo contı́nuo de dados. O capı́tulo 3 descreve diversos trabalhos
relacionados, destacando as contribuições cientı́ficas de cada um e comparando-os com este trabalho. O
Capı́tulo 4 descreve o tratamento de cada fase do método, do armazenamento e transferência do fluxo
de dados ao pré-processamento. São discutidas cada uma das etapas do método proposto, apresentando
o processo determinante para a criação do modelo classificador que auxilia o diagnóstico de traços de
ansiedade e o procedimento realizado para a classificação de novos dados de ECG de pacientes. O
Capı́tulo 5 descreve a implementação de um protótipo e sua avaliação por meio de uma simulação de
pacientes, devido à dificuldade tecnológica de ter em mãos centenas de aparelhos de coleta de sinais
de ECG não invasivos. Finalmente, o Capı́tulo 6 é dedicado à conclusão deste trabalho, indicando os
próximos passos e trabalhos futuros que poderão ser abordados.
Capı́tulo 2
Fundamentação Teórica
Esta seção tem como objetivo apresentar as técnicas e métodos utilizados para apoiar o desenvolvimento
do método AnxECGStream. O capı́tulo está organizado da seguinte maneira: a primeira seção apresenta
as caracterı́sticas de sinais biológicos elétricos. Nas seções seguintes são apresentadas a fundamentação
matemática e estatı́stica utilizadas para a extração de atributos dos sinais biológicos elétricos. Em
seguida, são apresentadas técnicas de mineração de dados, focando especificamente em mineração de
fluxo de dados.
2.1
Sinais de Eletrocardiograma (ECG)
O eletrocardiograma — ECG — é um exame originário da cardiologia, onde são feitos registros da
diferença de potencial elétrico obtidos a partir da atividade elétrica do coração entre dois pontos do
corpo. O aparelho capaz de realizar o eletrocardiograma é chamado de eletrocardiógrafo. Normalmente
este exame é utilizado para a detecção e análise de doenças cardı́acas. O exame tornou-se amplamente
utilizado após a disseminação do trabalho de Willem Einthoven em 1901, que construiu um aparelho
preciso de eletrocardiograma [Melco, 2006, Maciel, 1996]. A etimologia da palavra Eletrocardiograma
deriva de electro (grego), relativo à atividade elétrica, kardio (grego), que significa coração, e grafo
(grego), radical que representa “para escrever”. Profissionais da área médica que falam a lı́ngua inglesa
costumam se referir ao exame como EKG (Elektrokardiogramm), palavra em alemão, evitando com isso
dissonâncias fonéticas com o Eletroencefalograma (EEG), principalmente em situações emergenciais.
Os principais problemas diagnosticados através do ECG são arritmias cardı́acas e infartos. O
ECG é um exame não invasivo, sendo coletado por eletrodos na superfı́cie externa da pele. Os eletrodos
são conectados a um aparelho que mede as variações elétricas e as transforma em números. Por meio das
atividades de despolarização e repolarização das células do coração, são geradas as diferenças de potenciais elétricos. Em geral, dá-se inı́cio no nodo sinusal, chamado de células auto rı́tmicas, responsáveis por
realizar a despolarização dos ventrı́culos e dos átrios. Na Figura 2.1, é ilustrado um sinal de eletrocardiograma marcado com alguns pontos e complexos [Tan et al., 2000]. Nessa figura, as letras individuais
colocadas juntamente com o sinal — P, Q, R, S e T — representam pontos do sinal, ao passo que as
6
informações mostradas ao longo da parte inferior horizontal e dos lados esquerdo e direito verticalmente
indicam complexos do sinal — R, Q, P, PR, QRS, QT, ST, T, U, S e T.
Figura 2.1: Pontos de estudo de sinais de um Eletrocardiograma
Dentre todos os pontos e complexos observados, os mais importantes para a análise do sinal
de ECG são a onda P, onda R, onda T, onda U, complexo QRS, perı́odo RR, perı́odo PP, intervalo
PR. A cada um dos pontos principais do sinal estão associados alguns eventos. O estudo desses eventos
permite observar as atividades do coração, quais as caracterı́sticas de um coração normal e os possı́veis
diagnósticos de doenças. Como exemplo das ações cardı́acas, citamos a onda P, que corresponde à
despolarização atrial, a onda T, que corresponde à repolarização ventricular, e o complexo QRS, que
corresponde à despolarização ventricular.
Os pontos R, auxiliam no cálculo da frequência do ECG, uma vez que é mais simples detectar
o intervalo de tempo em que o Ponto R aparece. Desta forma, calcula-se o intervalo de tempo entre
pontos R subsequentes e então a frequência do ciclo do ECG pode ser calculada. A frequência do ECG
é bastante importante para o diagnóstico de taquicardia e bradicardia.
A frequência f , definida pela Equação 2.1, mede a quantidade de ocorrências de um evento em
um segundo. Eventos podem ser oscilações e ciclos, por exemplo. A unidade de medida da frequência é
dada em Hertz (Hz). O Perı́odo T é dado pelo inverso da frequência, ou seja, perı́odo é o tempo gasto
por um ciclo completo de determinada oscilação em segundos.
f=
1
T
(2.1)
A amplitude Y da onda mede a magnitude da oscilação da onda. É a medida entre o pico da
onda e o eixo horizontal. Já o comprimento λ de uma onda é a distância entre dois picos (seguidos) de
onda. Na Figura 2.2, é ilustrada a representação da amplitude e do comprimento de uma onda.
7
Figura 2.2: Representação da amplitude e do comprimento de uma onda
2.2
Fundamentação Matemática para Análise de Sinais Biológicos Elétricos
As técnicas matemáticas e/ou computacionais que auxiliam a análise de sinais biológicos têm sido
utilizadas por médicos e profissionais da área de biomedicina.
Atualmente, diversas transformadas
são amplamente difundidas e aprovadas por pesquisas cujos resultados são considerados promissores
[Magini et al., 2012, Pichot et al., 1999, Katznelson, 2004].
Dentre as mais famosas transformadas podemos citar a Transformada de Fourier e a Transformada de Wavelet. Esses dois métodos matemáticos possuem uma transformada discreta e uma contı́nua.
A transformada de Wavelet pode ser considerada uma famı́lia de transformadas, pois existe uma variedade relativamente grande de Wavelets. A seguir, são descritas a transformada de Fourier, a famı́lia de
transformadas de Wavelet e a transformada Delta, proposta neste trabalho.
2.2.1
Transformada de Fourier
A transformada de Fourier é uma das mais difundidas na literatura. Sua utilização vai além da matemática, podendo ser aplicada em áreas como oceanografia, fı́sica, processamento de imagem e processamento
de sinal. O grande objetivo da aplicação da transformada de Fourier para o processamento de sinais é a
decomposição do conjunto de valores da entrada do domı́nio do tempo para o domı́nio da frequência, facilitando a visualização de cada ponto existente no sinal e a intensidade com que ocorre [Cooley e W., 1965].
A transformada de Fourier pode ser aplicada em dois tipos distintos de dados, contı́nuos e discretos. Dados contı́nuos contêm infinitos valores em um intervalo de tempo qualquer. Um intervalo de
tempo contı́nuo qualquer (t1 , t2 ) com t1 , t2 ∈ R é um conjunto infinito não enumerável, mas a representação numérica em um computador é finita e, portanto, deve ser utilizada a transformada de Fourier para
dados discretos. Para sua aplicação, necessita-se de valores xk discretos, que serão processados através
do modelo matemático demonstrado a seguir:
xk =
n−1
2πi
1?
fj e n jk
n j=0
K = 0, . . . , n − 1
(2.2)
8
fj =
n−1
?
xk e−
2πi
n jk
J = 0, . . . , n − 1
k=0
(2.3)
Contudo, a transformada discreta [Danielson e Lanczos, 1942] exige que o dado seja utilizado
como se fosse estacionário, ou seja, antes de realizar a transformada discreta em um sinal de ECG, é
preciso obter e demarcar um ciclo QRS. Para calcular esta transformada em tempo real é necessário o
pré-processamento desses pontos em dados discretos, a fim de transformá-los em valores tão curtos quanto
possı́vel [Constantino e Silva, 1999], que serão mapeados para amostras de valores x0 , x1 , x2 , . . . , xn−1 .
Esses valores são vistos pela transformada discreta na região dos números complexos, onde temos:
x̂k = xk
real
+ jxk
imag
(2.4)
A partir dos dados obtidos acima, temos condições de modelar a transformada discreta de Fourier
pela equação dada a seguir:
X̂(n) =
N
1 ?
x(k)e−jk2πn/N
N
(2.5)
k=0
Outra expressão que modela a transformada Discreta [Porfirio et al., 2009] de Fourier é exibida
abaixo:
Fn =
N
−1
?
fk e
k
−i2πn N
k=0
=
N
−1
?
k=0
fk W kn , n = 0, . . . , N − 1
(2.6)
Dentre suas caracterı́sticas, podemos destacar as seguintes:
• Todos os sinais decompostos pela transformada de Fourier podem ser retransformados por meio da
transformada inversa;
• A transformada discreta pode ser rapidamente computada através do algoritmo de Fast Fourier
Transform (FFT);
• A FFT decompõe o sinal em componentes elementares de seno e cosseno.
A complexidade assintótica do algoritmo de Fast Fourier Transform [Walker, 1996] é razoavelmente baixa, podendo ser considerado um algoritmo de rápida execução. Sua complexidade é da ordem
de O(N log N) enquanto a complexidade da transformada discreta de Fourier é da ordem de O(N 2 ).
2.2.2
Transformada de Wavelet
A transformada de Wavelet é uma ferramenta mais poderosa e moderna se comparada à transformada
de Fourier [Batista, 2006]. A principal desvantagem de se utilizar a tradicional transformada de Fourier
é que, apesar desta ser capaz de determinar todas as frequências presentes no sinal, essa transformada
não as relaciona com o domı́nio do tempo contido no sinal.
As Wavelets foram introduzidas por sismólogos franceses, que puderam concluir que a transformada de Fourier se tornava ineficiente para sinais com repentinas variações. Isto quer dizer que, para
9
sinais não periódicos, a transformada de Fourier não é recomendada. As Wavelets são aplicadas em
áreas como engenharia, sismologia, fı́sica, processamento de imagem e sinal, etc. As Wavelets são funções matemáticas que têm como objetivo a decomposição das frequências em diferentes nı́veis de escala
de frequências e de tempo, permitindo uma análise confiável em sinais descontı́nuos e com variações
bruscas [Silveira e Assis, 2002].
Assim como a transformada de Fourier, a transformada de Wavelet possui duas ramificações, a
contı́nua e a discreta. Para ambos os tipos de Wavelet, existem padrões que as caracterizam como tais,
entre eles podemos citar dois principais: a área total sob a curva da função Wavelet é igual a 0 e a energia
total da função é finita. Esta caracterı́stica determina a principal diferença entre a transformada de
Wavelet e a transformada de Fourier. Com esta é possı́vel obter uma boa extração de valores no domı́nio
da frequência e nenhum detalhe quanto ao domı́nio do tempo. Em contrapartida, as Wavelets conseguem
determinar informações no domı́nio da frequência e do tempo. Entretanto, sua especificação não é tão
precisa na frequência quanto a transformada de Fourier, devido à aplicação da técnica do Princı́pio da
Incerteza para determinar informações nos dois domı́nios [Magini et al., 2012].
Além das caracterı́sticas citadas anteriormente, há uma terceira caracterı́stica necessária para a
admissão da função como uma Wavelet. Toda função Wavelet obrigatoriamente deve ter uma função
inversa, onde é possı́vel recompor o sinal decodificado novamente para o domı́nio do tempo. A transformada de Wavelet básica é determinada pela Equação 2.7, que é uma função de dois parâmetros reais
(a e b), onde (*) significa o conjugado complexo. Cada um desses parâmetros influencia em um tipo
de caracterı́stica em especial. O parâmetro b é responsável pela translação da função no eixo t, a uma
distância b. O fator a, indica a escala da transformada, acarretando em um aumento da função, se a >
1, e uma diminuição, se a < 1. Chamamos a de parâmetro de escala.
Ψa, b(t) é definida pela Equação 2.8. Usando as Equações 2.7 e 2.8, podemos reescrever a transformada de Wavelet como mostrado na Equação 2.9
W (a, b) =
?
∞
−∞
f (t)?
ψa,b (t) = ?
1
|a|
1
|a|
ψ∗ (
W (a, b) = ?f (t), ψa,b (t)? =
?
ψ∗ (
t−b
)dt
a
t−b
)
a
∞
f (t)ψa,b (t)dt
(2.7)
(2.8)
(2.9)
−∞
A wavelet tem um nome especial para Ψ1,0 (t), sendo ela chamada de Wavelet mãe, enquanto as
demais são chamadas de Wavelet filhas. Para retransformar o sinal decomposto é preciso fazer o uso da
transformada inversa de Wavelet, dada pela Equação 2.10, sendo que C é definida pela Equação 2.11.
Para satisfazer essa equação, C precisa ser positivo e finito.
f (t) =
1
C
?
∞
−∞
?
C=
∞
−∞
?
1
W (a, b)ψa,b (t)dadb
| a |2
∞
−∞
| Ψ(ω) |2
dω
|ω|
(2.10)
(2.11)
10
Para o desenvolvimento do protótipo, foram usados dois tipos especı́ficos de Wavelets: a Haar e
a Daubechies, decomposta em nı́veis de 1 (um) a 11 (onze), que significa dividir o sinal em frequências
distintas. Ao escolher decompor no nı́vel 1 (um), deriva-se o sinal bruto em duas frequências, no nı́vel 2
(dois), divide em 3 (três) espectros diferentes e assim por diante. A seguir, são descritas ambas Wavelets.
Wavelet Haar
A Wavelet Haar é uma das Wavelets mais simples. Como a Haar é utilizada para sinais discretos,
ela possui uma vantagem para a análise de sinais biológicos e monitoramento de falhas de máquinas [Pektas et al., 2009], por exemplo, devido ao seu potencial de representação de variações repentinas. O fato de a Wavelet Haar não ser descontı́nua e, portanto, não diferenciável, é considerado uma
desvantagem. A descrição da mãe da Haar, da função Wavelet ψ(t) é dada pela equação 2.12.



1



ψ(t) = −1




0
0≤t<
1
2
1
2
≤t<1
(2.12)
outros casos
Na Figura 2.3, é ilustrado um exemplo da Wavelet Haar.
Figura 2.3: Um exemplo da Wavelet Haar
Wavelet Daubechies
As Daubechies são transformadas discretas Wavelet. Através deste conjunto de tipos de Wavelet, temos
uma função de escala associada, capaz de gerar uma análise multirresolução ortogonal [Lima, 2003]. Um
exemplo dessa análise pode ser visualizado na Figura 2.4.
Figura 2.4: Exemplo de análise multirresolução ortogonal
11
Na Tabela 2.1, são exibidos, para Daubechies 2-20, os coeficientes das funções de escala. Os
coeficientes são usados basicamente com a função bk = (−1)k aN −1−k ; onde k é o ı́ndice do coeficiente, b
é o coeficiente da sequência de Wavelet, a um coeficiente da sequência da escala e N é o ı́ndice da Wavelet
(2-20).
D2
D4
D6
D8
D10
D12
D14
D16
D18
D20
1
0.6830127
0.47046721
0.32580343
0.22641898
0.15774243
0.11009943
0.07695562
0.05385035
0.03771716
1
1.1830127
1.14111692
1.01094572
0.85394354
0.69950381
0.56079128
0.44246725
0.34483430
0.26612218
0.3169873
0.650365
0.8922014
1.02432694
1.06226376
1.03114849
0.95548615
0.85534906
0.74557507
-0.1830127
-0.19093442
-0.039575503
0.19576696
0.44583132
0.66437248
0.82781653
0.92954571
0.97362811
-0.12083221
-0.26450717
-0.34265671
-0.31998660
-0.20351382
-0.0223874
0.18836955
0.39763774
0.0498175
0.0436163
-0.04560113
-0.18351806
-0.31683501
-0.40165863
-0.41475176
-0.35333620
0.0465036
0.10970265
0.13788809
0.1008467
6.68194092e-4
-0.13695355
-0.27710988
-0.01498699
-0.00882680
0.03892321
0.11400345
0.18207636
0.21006834
0.18012745
-0.01779187
-0.04466375
-0.05378245
-0.02456390
0.0434526834
0.118012745
4.71742793e-3
7.83251152e-4
-0.02343994
-0.06235012
-0.09564726
-0.10096657
6.75606236e-3
0.01774979
0.01977216
3.54892813e-4
-0.04165925
-1.52353381e-3
6.07514995e-4
0.01236884
0.03162517
0.04696981
-254790472e-3
-6.88771926e-3
-6.67962023e-3
5.10043697e-3
5.00226853e-4
-5.54004549e-4
-6.05496058e-3
-0.01517900
9.55229711e-4
2.61296728e-3
1.97332536e-3
-1.66137261e-4
3.25814671e-4
2.81768659e-3
-3.56329759e-4
-9.69947840e-4
5.5645514e-5
-1.64709006e-4
1.32354367e-4
-1.875841e-5
Tabela 2.1: Coeficientes das funções de escalada da Wavelet Daubechies
Um fato curioso a ser observado é que a Daubechies 2 (D2) é a Wavelet Haar. A análise da
Wavelet Daubechies permite separar as frequências contidas nos sinais, daı́ sua importância. Através
do uso de filtros para potencializar o efeito da Daubechies é possı́vel separar as altas frequências (HF),
baixas frequências (LF) e ultra baixas frequências (ULF), neste caso, utilizando uma decomposição nı́vel
2 (dois). É possı́vel decompor desde duas frequências até doze.
Wavelet Symlet
Assim como as Daubechies, a Symlet é uma variante da famı́lia de transformadas Wavelet. A transformada
Symlet é uma extensão e possui basicamente as mesmas propriedades que a Daubechies, porém, são mais
simétricas do que as wavelets de fase extrema. Além disso, também possuem momentos de fuga nas
funções escalares. Em [Sivannarayana e Reddy, 1999] os autores constataram um bom desempenho desta
wavelet em comprensão de dados, tendo grande efeito principalmente para os dados de eletrocardiograma.
2.2.3
Transformada Delta
A Transformada Delta, foi proposta em um trabalho anterior para processamento de Sinais Biológicos
Elétricos e foi desenvolvida no protótipo MD-SBE [Barbosa e Calembo, 2012]. O principal objetivo dessa
transformada é calcular o módulo da variação a cada dois pontos consecutivos do sinal biológico elétrico.
O fator fundamental para a aplicação de Delta é, principalmente, a irregularidade do batimento cardı́aco
12
de um coração normal. Em suma, um coração saudável possui uma inconsistência no seu batimento,
diferente de um coração com algum problema, que apresenta um número menor de variações. Uma das
maneiras de detectar anomalias em um coração é identificar uma baixa variação de potencial elétrico ao
longo de todo o sinal. Por esse motivo propusemos a transformada Delta. A transformada Delta é dada
pela Equação 2.13. Nas Figuras 2.5 e 2.6 são ilustradas, respectivamente, parte um ECG original e o
resultado da transformada Delta sobre o ECG. Os passos deste cálculo estão demonstrados na Tabela 2.2.
Delta(t) =| x(t) − x(t − 1) |
(2.13)
Figura 2.5: Exemplo do inı́cio de um ECG
Figura 2.6: Resultado da transformada Delta
2.3
Cálculos Estatı́sticos para Extração de Caracterı́sticas de
Eletrocardiograma
As medidas estatı́sticas descritivas têm um importante papel no processo de extração de atributos do
fluxo de dados. Nessa seção, x(t) é o sinal lido, e x é o sinal considerando um intervalo fixo por t. As
seguintes medidas foram utilizadas para extração de atributos dos sinais EGC:
Média Aritmética x:
13
Intervalo
f(X)
f(X+1)
Delta
1
0,106812
0,131226
0,024414
2
0,131226
0,153503
0,022277
3
0,153503
0,199585
0,046082
4
0,199585
0,257568
0,057983
5
0,257568
0,288696
0,031128
6
0,288696
0,281372
0,007324
7
0,281372
0,252075
0,029297
8
0,252075
0,19104
0,061035
9
0,19104
0,106812
0,084228
10
0,106812
0,0408936
0,0659184
11
0,0408936
0,0360107
0,0048829
12
0,0360107
0,0634766
0,0274659
13
0,0634766
0,0946045
0,0311279
Tabela 2.2: Tabela demostrando os passos do cálculo da Transformada Delta
x é definida pela equação 2.14. É a medida mais usada frequentemente entre as medidas de média.
Destina-se a encontrar um valor ponderado de todo um conjunto de valores.
n
x=
x1 + x2 + . . . + xn
1?
=
xi
n
n i=1
(2.14)
Variância S 2 e desvio padrão S :
S 2 e S são definidos pela Equação 2.15. Ambos são correlacionados com a média. O objetivo
da variância é avaliar a estatı́stica da dispersão média, indicando a distância média entre o valor
esperado (média) e o valor atual. O desvio padrão é a raiz quadrada da variância, sendo a principal
estatı́stica da medida de dispersão. Sua existência permite ter uma dispersão média na mesma
unidade original.
?
?
?
2
s = s =?
√
Mediana m e Moda M o :
n
1 ?
(xi − x)2
n − 1 i=1
(2.15)
Ambas são outras duas medidas de centralidade. m visa expressar a tendência central de um
conjunto numérico. m representa um valor o qual metade da população é menor ou igual, e a outra
metade é maior que ou igual. M o representa um valor ou valores que são mais frequentes durante
a observação. Ao contrário das outras medidas descritas, M o pode não ser único. Uma amostra
pode ser classificada como amodal (não tem moda), bimodal (dois valores modais) e multimodal
(mais do que dois valores modais).
14
Soma dos elementos SE e soma dos elementos ao quadrados SEQ :
SE é a soma de cada um dos valores da variável, cumulativamente, enquanto SEQ computa a soma
do valor ao quadrado de cada um dos valores da variável.
Coeficiente de Assimetria As :
As verifica a distribuição frequente da população e calcula o valor que representa essa assimetria.
Quando a distribuição da variação é completamente simétrica (raramente), As = 0. Quando a
distribuição não é simétrica, o Coeficiente Assimétrico pode ser positivo ou negativo. O Coeficiente
de Assimetria pode ser dado pela Equação 2.16. O Coeficiente Assimétrico possui as seguintes
propriedades:
As =
3 × (x − m)
s
(2.16)
Coeficiente de Variação de Pearson ρ :
ρ mede a dispersão relativa de uma população. ρ é expresso como a divisão entre o desvio padrão e
a média, tendo os dois como amostras de valores e para a população. ρ é dado pela Equação 2.17.
ρ=
2.4
S
x
(2.17)
Demais Medidas Descritivas
Além das medidas estatı́sticas descritivas, são computados outros atributos dos fluxos gerados pelo método. A Área sob a curva do gráfico de cada um dos fluxos e também o reconhecimento dos pontos R do
eletrocardiograma.
2.4.1
Cálculo da Área
A área sob a curva, também conhecido como integral, pode ser calculada para cada um dos fluxos do
método (ECG e resultante das transformadas). Para a realização da computação da área é utilizado um
método computacional muito conhecido para o cálculo da área, o método do ponto médio ou método dos
retângulos.
O método dos retângulos 2.18, se baseia no cálculo da área de retângulos para estimar uma área
aproximada para a curva.
?
b
a
f (x)dx ? (b − a)f (
a+b
)
2
(2.18)
Dessa forma, calcula-se o somatório das áreas dos retângulos. O somatório das áreas equivale
aproximadamente ao valor da área da função dada. Sendo possı́vel, assim, calcular aproximadamente o
valor da área sob a curva das funções.
15
2.4.2
Identificando o Ponto R
O ponto R é considerado um dos pontos mais importantes do eletrocardiograma. Ele é o ponto máximo
do sinal de eletrocardiograma, por ciclo. A partir do ponto R é possı́vel calcular a frequência cardı́aca, por
exemplo. A partir da identificação dos pontos r do eletrocardiograma, mede-se a quantidade de pontos r
que o sinal de eletrocardiograma apresentou no intervalo de um (1) minuto. A quantidade de pontos é
igual a frequência cardı́aca (batimentos por minuto ou bpm).
Como é possı́vel ver na Figura 2.1, a região próxima ao ponto r apresenta a maior variação (em
relação ao eixo y) do ciclo. Dessa forma, é possı́vel por meio de funções heurı́sticas o reconhecimento e
identificação do intervalo que contém a maior diferença. Uma vez encontrada essa região, é procurado o
ponto em que a diferença de variação, com relação ao eixo x, possui um valor positivo quando calculada
com o ponto a sua esquerda e diferença negativa quando computada com o ponto a sua direita. Através
desse método são identificados os pontos R do fluxo de eletrocardiograma, sendo possı́vel a identificação
dos ciclos do mesmo.
2.5
Técnicas de Aprendizado de Máquina
O aprendizado de máquina é uma disciplina que explora a construção e o estudo de algoritmos que podem
aprender a partir dos dados. Tais algoritmos operam a partir da construção de um modelo a partir de
dados de entrada, usando-os para fazer classificação ou tomada de decisão, de melhor forma do que os
algoritmos estáticos. Aprendizado de máquina é um subcampo da ciência da computação decorrente da
investigação em inteligência artificial. Exemplos de aplicação incluem filtragem de spam, reconhecimento
óptico de caracteres, motores de busca e visão computacional. Aprendizado de máquina é por vezes
confundido com a mineração de dados, apesar de que se concentrar mais na análise exploratória de
dados [Witten e Frank, 2005].
Existem dois paradigmas principais de aprendizado de máquina, o supervisionado e o não supervisionado. No trabalho foi abordado o paradigma supervisionado. O aprendizado de máquina supervisionado funciona quando se tem uma base de dados rotulada, ou seja, onde se conhece a classe a qual
pertence determinada instância (ou dado de entrada). Dessa forma o algoritmo é treinado com dados
rotulados, buscando “aprender” a melhor forma como classificar os novos dados de entrada, ou seja, como
identificar a qual classe pertencem novas instâncias dos dados. Geralmente, os algoritmos são treinados
com uma porcentagem das instâncias rotuladas e a outra fração dos dados, que não foram utilizados no
treinamento, são utilizados para testar o modelo classificador criado pelo algoritmo [Bishop, 2006].
Neste trabalho foram utilizadas técnicas de aprendizado de máquina baseadas em árvores de
decisão. Essa técnica demanda pouco esforço computacional para classificar os novos dados de entrada.
Além disso, as árvores de decisão geram modelos classificadores extremamente fáceis de serem entendidos
e avaliados por humanos. Esta técnica é amplamente empregada em estudos de eletrocardiogramas
como nos trabalhos [Karqupta e Park, 2001, Domingos e Hulten, 2000], contribuindo com bons resultados
classificatórios.
16
2.5.1
Algoritmos de Árvores de Decisão
Algoritmos de árvore de decisão são uma famı́lia de algoritmos de aprendizado de máquina bem conhecidos
na literatura. Este tipo de algoritmo é baseado na representação de tabelas de decisão em formato de uma
árvore. Os nı́veis da árvore de decisão são atributos do domı́nio do dado. Pode-se navegar pela árvore de
decisão selecionando um caminho especı́fico, dependendo do valor dado do atributo associado com cada
nó da árvore. As folhas da árvore são compostas pelas classes. Uma vez que a folha é alcançada, o dado
de entrada é classificado de acordo com a classe associada a da folha [Jin e Aggrawal, 2003a].
Os algoritmos de árvore de decisão são construı́dos seguindo a estratégia de dividir para conquistar. Nesta abordagem, o problema complexo é decomposto em sub-problemas mais simples. A partir
da divisão, a técnica escolhida para resolver os sub-problemas são executadas recursivamente até que se
resolva cada um deles. Ao final, os sub-problemas são agrupados, criando a solução para o problema
inicial.
Para induzir uma árvore de decisão um algoritmo desta famı́lia escolhe um atributo para cada nó,
usando alguma função heurı́stica que correlaciona o atributo que melhor separa a caracterı́stica da classe.
Existem diversos algoritmos propostos na literatura para a indução de árvores de decisão, variando de
acordo com a heurı́stica utilizada. Neste trabalho foram utilizados três algoritmos que induzem árvores
de decisão: C4.5, One Rule e Random Tree.
C4.5: Esse é o algoritmo de árvore de decisão mais popular [Quinlan, 1993]. Dado um conjunto
de dados, o algoritmo C4.5 primeiramente escolhe, a caracterı́stica que melhor separa os casos em todas
as classes de conjunto de dados de acordo com o ganho de informação, dado por uma função heurı́stica.
O atributo escolhido também é conhecido como atributo de decisão. Considerando que a caracterı́stica
de decisão é discreta, o domı́nio tem N valores possı́veis. O conjunto de dados é então separado entre
N partições, com relação ao seu valor no atributo de decisão. Após isto, a árvore é de forma recursiva
criada para cada caminho gerado a partir dos nós de decisão criados, até todos os nós (folhas) tenham
apenas instâncias de uma classe. Se a árvore induzida for muito longa, é recomendável que seja podada.
Esse algoritmo é chamado de J48 no Weka [Mark et al., 2009], a ferramenta utilizada para implementar
o método proposto.
One Rule: Cria-se a árvore com uma única regra. Esta árvore é criada depois de pesquisar em
todo o conjunto de dados um único atributo que separa todas as classes da melhor maneira dada algumas
funções heurı́sticas — este é o primeiro passo do algoritmo C4.5. Isto é um algoritmo muito simples
e facilmente entendido [Mark et al., 2009]. Apesar da simplicidade, uma regra é aplicável em situações
onde uma performance eficiente é importante.
Random Tree: O algoritmo de Randon Tree constrói várias árvores de decisão de forma aleatória. Ao construir cada árvore, o algoritmo escolhe um atributo remanescente aleatoriamente, em cada nó
de expansão, sem qualquer verificação ou validação. Um atributo é considerado remanescente se o mesmo
não tiver sido escolhido anteriormente em um caminho de decisão particular, iniciando a partir da raiz
até o nó atual. Uma vez que o atributo já tenha sido escolhido no caminho, é inútil escolhe-lo novamente
para o mesmo caminho, porque cada exemplo no mesmo caminho terá o mesmo valor de classe. No
entanto, um atributo contı́nuo pode ser escolhido mais de uma vez no mesmo caminho de decisão. Cada
17
vez que o atributo contı́nuo é escolhido, é selecionado um limiar aleatório. Uma árvore para de crescer
quando as seguintes condições são alcançadas: (a) um nó torna-se vazio ou não haja mais exemplos para
dividir no nó atual; ou (b) a profundidade da árvore exceder certos limites [Mark et al., 2009]. O número
de atributos a serem selecionados é um parâmetro do algoritmo.
2.5.2
Avaliação dos Algoritmos
Após a execução dos algoritmos, é necessário realizar uma avaliação para comparar os resultados gerados.
Não existe um melhor algoritmo de aprendizado de máquina, uma vez que cada um pode apresentar
comportamento diferente para diferentes conjuntos de dados. Escolher o melhor algoritmo para cada
problema não é trivial, dessa forma, é necessário um conjunto de informações para realizar a comparação
entre os modelos gerados.
Para avaliar um modelo induzido por um algoritmo de aprendizado supervisionado, diversas
técnicas podem ser utilizadas. A mais comum é a Hold-Out, que seleciona aleatoriamente k% do conjunto
de exemplos para treinamento, enquanto os (100 − k)% restantes são utilizados para testar a performance
do algoritmo. Em geral, esse processo é repetido algumas vezes para calcular a média e o erro padrão da
medida de performance do classificador.
Figura 2.7: Matriz de confusão genérica
Algumas das medidas mais importantes na avaliação de algoritmos de de aprendizado de máquina
são baseadas na matriz de confusão. A Figura 2.7 representa uma matriz de confusão genérica para um
número n de classes de classificação. A matriz de confusão apresenta de maneira visual o resultado da
avaliação do algoritmo classificador após o treino do mesmo.
Na matriz, a célula Mij indica o número de instâncias que foram classificadas na classe j e são da
classe i. O algoritmo de classificação obteve sucesso quando o valor encontra-se nas células da diagonal
principal, em que i = j.
Para uma matriz de classificadores binários, como o caso do trabalho (ansioso e não ansioso), a
matriz de confusão pode ser expressa como na Figura 2.8.
Na Figura 2.8, as células Mij onde i = j são os acertos do algoritmo treinado. Na célula C1,2
são os dados que foram classificados como negativo mas o resultado real da instância era positivo. A
célula C2,1 é exatamente o caso oposto, ou seja, o algoritmo classificou como positivo, mas a classe real
18
Figura 2.8: Matriz de confusão genérica
é negativa.
Utilizando-se da matriz de confusão binária para a avaliação do algoritmo classificador, existem
dois cálculos amplamente conhecidos chamados de Precision e Recall.
P recision =
V erdadeiroP ositivo
V erdadeiroP ositivo + F alsoP ositivo
(2.19)
O cálculo da precisão (Precision) está retratado na Equação 2.19. A precisão calcula a fração
dos elementos classificados como positivos que são realmente positivos. Em outras palavras, a precisão
calcula a razão entre o número de elementos classificados corretamente, com relação aos elementos total
de classificados como positivos.
Basicamente, quanto maior for a Precision que um algoritmo retornou, maior é a relevância do
resultado deste algoritmo. Então, quanto mais próximo de 1 (um) o valor da precisão, quer dizer que o
algoritmo retornou substancialmente dados mais relevantes do que irrelevantes.
O cálculo de Recall (Equação 2.20) retrata a porção dos elementos positivos que foram realmente
classificados como positivo. O que quer dizer que calcula o número de acertos entre os elementos positivos.
Recall =
V erdadeiroP ositivo
V erdadeiroP ositivo + F alsoN egativo
(2.20)
De modo semelhante ao Precision, o Recall representa a sensibilidade do algoritmo. Uma sensibilidade elevada significa que um algoritmo retornou a maioria dos resultados relevantes. Dessa forma,
quanto mais próximo de 1 (um) for o Recall, melhor a sensibilidade apresentada pelo algoritmo.
Além dos dois principais cálculos que podem ser realizados a partir da matriz de confusão binária,
existe a possibilidade de computar a f-measure, ou seja, a medida harmônica entre o Precision e Recall.
A partir desta medida, é possı́vel inferir que quanto maior o F, maior a qualidade em termos de Precision
e Recall. A equação da medida harmônica pode ser vista na Equação 2.21, onde Pr = Precision e Rc =
Recall.
F =
2 ∗ P r ∗ Rc
P r + Rc
(2.21)
Outra técnica para a avaliação e a seleção de classificadores baseados no seu desempenho é
a chamada curva ROC (Receiver Operating Characteristics). Ela tem sido bastante empregada pela
comunidade de aprendizado de máquina, pois em geral, avaliar apenas a taxa de acerto de um classificador
19
é uma métrica muito simples. A curva ROC é bastante útil no trato com domı́nios cujas classes estejam
desbalanceadas e que possuam custos de classificação diferentes por classe. A curva ROC não é sensı́vel a
mudanças na proporção de exemplos positivos e negativos no conjunto de teste. Ela é baseada nas taxas
verdadeiro positivo e falso positivo, cuja razão não depende da distribuição de classes [Greiner et al., 2000].
As curvas ROC permitem quantificar a exatidão de um teste diagnóstico, já que, esta é proporcional à área sob a curva ROC, isto é, tanto maior quanto mais a curva se aproxima do canto superior
esquerdo do diagrama. Dessa forma, quanto maior for a área da curva ROC, mais próximo do canto
superior esquerdo, ou 100% de sensibilidade o algoritmo apresentou [Zweig e Campbell, 1993].
2.6
Fluxo Contı́nuo de Dados
Fluxo Contı́nuo de dados é constituı́do de dados que são gerados continuamente e em alta velocidade.
Exemplos de fluxo de dados incluem, tráfego de redes de computadores, conversas telefônicas, transações
financeiras, pesquisas na web e dados de sensores [Bifet e Kirkby, 2009]. Com o decorrer do tempo,
atividades cotidianas tais como o uso de cartão de crédito, ligações telefônicas e navegação na internet
começaram a resultar em grandes amontoados de dados que podem ser minerados para obter informações
relevantes e interessantes em uma larga amplitude de variações de aplicações [Myatt e Johnson, 2009].
Desde a última década, a taxa de geração de dados tornou-se rápida de forma como nunca visto
antes. Esta rápida geração de fluxos contı́nuos de informação tornou-se um desafio para o armazenamento,
processamento e transmissão entre sistemas computacionais. Sistemas, modelos e técnicas foram propostas e desenvolvidas no decorrer dos anos para suportar estas mudanças [Gama, 2010]. Os hardwares
também evoluı́ram de tal maneira que desde o final de década de 2000 tornou-se viável o armazenamento
de grandes fluxos contı́nuos de dados. Adicionalmente, o desenvolvimento dos sensores contribuiu de igual
forma para a possibilidade de monitoramento de diversos eventos de forma contı́nua. Embora a mineração
de dados tenha se tornado uma área bem estabelecida, os problemas de fluxo de dados trouxeram desafios
ı́mpares para os quais a mineração de dados tradicional não apresentava soluções [Olson e Delen, 2008].
Surgiram, por volta do ano 2000, estudos voltados especificamente para a mineração de fluxo contı́nuo
de dados.
2.6.1
Mineração de Fluxo Contı́nuo de Dados
A Mineração de Fluxo Contı́nuo de Dados é o processo de extração de conhecimento através de conjuntos
de dados que são produzidos e processados contı́nua e rapidamente. A mineração de fluxo contı́nuo de
dados está preocupada com a extração de conhecimento representadas em modelos e padrões identificados
em fluxos de informações contı́nuos e ininterruptos [Myatt e Johnson, 2009]. Nas últimas décadas, houve
um interesse crescente no gerenciamento de grandes quantidades de dados. A forma com que os dados
passaram a ser gerados mudou e atualmente grande parte dos dados são gerados continuamente, na forma
de fluxos contı́nuos de dados.
Esta área traz grandes desafios para a mineração de dados, visto que a maioria dos algoritmos
de aprendizado de máquina assumem que o conjunto de dados usado para o treinamento é finito, con-
20
templando todas as classes abordadas pelo problema. Também deve se dar atenção ao fato de que tais
algoritmos consideram uma distribuição de probabilidades estacionária. Além disso, tais algoritmos consideram que os dados podem ser armazenados fisicamente e analisados por algoritmos executados em
múltiplos passos, acessando a base de dados quantas vezes forem necessárias. Contudo, quando se tratam
de fluxos contı́nuos de dados, esses conceitos não são aplicáveis, exigindo o desenvolvimento de novas
técnicas apropriadas às peculiaridades dessas novas fontes de dados.
A pesquisa relacionada com este tipo de problema vem ganhando importância crescente devido
à relevância de suas aplicações e à crescente geração de informações no formato de fluxos contı́nuos.
Aplicações deste tipo podem variar desde áreas cientı́ficas, como astronomia, meteorologia, geologia, etc,
até aplicações financeiras ou empresariais. As principais restrições para consultar os fluxos de dados são a
exigência de memória ilimitada — a princı́pio — e elevada taxa de comunicação e acesso a dados. Desta
maneira, o tempo de processamento de cada conjunto de dados deve ser menor do que a taxa de produção
e recepção desses dados.
Em grande número das aplicações de mineração de fluxo contı́nuo de dados o objetivo é a identificação de classe ou valor das novas instâncias de fluxo de dados, dado o conhecimento previamente
estabelecido sobre o comportamento de cada classe [Olson e Delen, 2008]. O ciclo de vida deste tipo de
aplicação comprende basicamente as seguintes fases: coleta do fluxo de dados, extração das caracterı́sticas
dos dados, normalização dos dados, seleção das caracterı́sticas, aplicação dos algoritmos de mineração de
dados e avaliação dos resultados.
O problema de mineração de fluxo contı́nuo de dados enfrenta dois grandes desafios. O primeiro
deles consiste na coleta e tratamento do fluxo de dados, ou seja, a etapa de preparação do fluxo de dados.
O outro grande desafio é a aplicação de técnicas de mineração de dados adequadas à mineração de fluxo
contı́nuo de dados. Essas questões são abordadas nas subseções a seguir.
2.6.2
Preparação do Fluxo de Dados
Esta etapa constitui a primeira parte da mineração do fluxo contı́nuo de dados. A fonte geradora
do fluxo contı́nuo de dados pode ser um conjunto de sensores, dispositivos geradores de dados, fluxo
de dados do aplicações financeiras, etc. Dessa forma é preciso estruturar esse fluxo de dados para a
etapa de pré-processamento e então para o processamento dos dados por técnicas de mineração de dados [Jin e Aggrawal, 2003b, Kifer et al., 2004].
O grande desafio desta fase é encontrar uma maneira para tratar os dados. Existem alguns
modos distintos para lidar com este desafio. A primeira delas é simplesmente enviar os dados assim
que eles são gerados, quando o sinal analisado não necessita ser coletado por um intervalo de tempo ou
perı́odo completo de estudo para interpretação. Esta é a maneira mais simples para se trabalhar com este
paradigma, pois realiza-se a classificação de dados para cada valor individualmente, de forma sequencial.
Contudo, nem todos os tipos de dados podem ser avaliados desta forma. Alguns tipos de sinais
precisam ser coletados por um intervalo de tempo maior para que possam ser interpretados. Nesse caso
é necessária a definição de uma janela de dados que pode ser de tamanho fixo ou variável. A janela de
tamanho fixo é o tipo de armazenamento de janela mais fácil para gerenciamento [Rossi, 2014]. Este tipo
21
de abordagem é útil para dados periódicos [Junior, 2012]. Normalmente, o tamanho da janela de dados
é definido antes de se começar o processo de mineração de fluxo de dados.
Contudo, também existem dados com alta complexidade de dependência. Desta maneira, para
este tipo de dados utilizam-se janelas de dados de tamanho dinâmico, que são ajustadas de forma adaptativa para melhor utilização da rede e para levar os dados da melhor maneira possı́vel para ser minerado
de acordo com o contexto atual [Fong et al., 2011, Haghighi et al., 2010]. A escolha do tipo de janela
adotado é uma etapa fundamental do processo de mineração de fluxo contı́nuo de dados. Deve-se levar
em consideração todas as variáveis envolvidas no problema para então ser selecionado melhor tipo de janela de coleta de de dados para o problema. Uma vez que a janela de dados é completada, ela o conjunto
de dados é repassado para a etapa do processo responsável pela mineração propriamente dita do fluxo de
dados.
A técnica de janela é uma maneira simples de lidar com a entrada de fluxo contı́nuo de dados.
A ideia é utilizar apenas as últimas mensagens recebidas ao invés do fluxo todo. O tamanho dessa janela
deve ser configurado previamente pelo usuário, e geralmente a taxa de mudança dos fluxos de dados não é
conhecida. Assim, uma janela pequena pode refletir bem o conceito atual do fluxo, mas não conter dados
suficientes para que o classificador alcance uma eficácia esperada, e uma janela grande pode permitir ao
classificador alcançar um bom desempenho, mas demorar a detectar a ocorrência de uma mudança dos
dados [Gama, 2010].
2.6.3
Algoritmos de Mineração de Fluxo de Dados
As abordagens que utilizam janelas levam em consideração a ordem de chegada dos dados. Porém, alguns
métodos trabalham com um reservatório de amostragem de dados do fluxo. O reservatório nada mais é
que uma estrutura onde são armazenados um conjunto de exemplos que sejam capazes de representar o
fluxo. Essa amostragem é realizada com uma função probabilı́stica, que determina se um exemplo deve
ser incluı́do ou retirado do reservatório, ou seja, essa função deve ser utilizada para determinar quais
amostras de dados serão utilizados no treinamento do modelo.
Existem inúmeras formas de abordar o problema usando mineração de fluxo de dados. No
trabalho de [Al-Kateb et al., 2007], por exemplo, foram estudados reservatórios de amostragens em fluxos
de dados com tamanho adaptativo sob duas perspectivas: tamanho do reservatório e uniformidade da
amostra. Já em [Silva, 2012] foi proposto uma técnica de Janela Deslizante Ativa (JDA) que consiste
em uma solução fundamentada na teoria do aprendizado ativo. Nesse trabalho, ao invés de escolher
quais exemplos serão selecionados para entrar no conjunto de treinamento, o objetivo é permitir que
o classificador escolha quais exemplos esquecer. Essa escolha é baseada em uma função que também
foi utilizada em [Veloso e Meira-Junior, 2011], que considera que quanto maior a similaridade entre os
exemplos e a idade do exemplo do treino, maior é a chance deste exemplo ser descartado. Assim, é
possı́vel prover ao classificador um maior ganho de informação com um viés temporal.
O Naive Bayes Multinomial, por sua vez, é um método incremental que supõe que todas as
entradas são independentes e passam apenas uma vez por cada exemplo [McCallum e Nigan, 1998,
Kibriya et al., 2004]. O método Hoeffding tree também é incremental, e assume que a distribuição de
22
geração de exemplos não muda constantemente [Karqupta e Park, 2001]. Ele explora o fato de que uma
pequena amostra pode ser suficiente para escolher um atributo com boa separação entre as classes. Esta
ideia é suportada matematicamente pelo conceito de limite de Hoeffding (Hoeffiding bound), que quantifica o número de exemplos necessários para estimar o quão bom é um atributo [Tao e Ozsu, 2010].
Os métodos Naive Bayes Multinomial e Hoeffiding Tree são bem adequados para lidar com fluxos de
texto [Bifet e Kirkby, 2009].
Os algoritmos de árvore de decisão também ganham grande destaque nos problemas de mineração
de fluxo contı́nuo de dados. É possı́vel encontrar alguns cenários, sobre o assunto abordado, descritos nos
trabalhos [Shafer et al., 1996], [Karqupta e Park, 2001], [Domingos e Hulten, 2000] e [Fong et al., 2011]
onde fazendo uso das árvores de decisão foi possı́vel classificar com uma boa acurácia os novos dados de
entrada, assim como a computar a mudança de ambientes monitorados, adaptando o modelo a partir do
resultado de algoritmos deste paradigma. O trabalho [Karqupta e Park, 2001] apresenta uma variação
da técnica baseada na análise de Fourier para agregar, comunicar e visualizar árvores de decisão em
aparelhos móveis tais como PDA’s e celulares. Esta técnica apresenta diversas propriedades muito úteis
para a mineração de fluxo contı́nuo de dados para pequenos computadores e demais dispositivos.
É possı́vel empregar diversos algoritmos tradicionais de mineração de dados em problemas de
mineração de fluxo contı́nuo de dados, tanto para o paradigma supervisionado ou quanto para o nãosupervisionado [Sun et al., 2010]. Existem diversos artigos que demostram exemplos da utilização de
algoritmos de mineração de dados para ambas as abordagens.
Entre eles, pode-se citar os traba-
lhos [Kifer et al., 2004], [Jin e Aggrawal, 2003b] e [Aggarwal, 2004] em que foram utilizadas janelas de
tamanho variável e foram propostas modificações nos algoritmos de aprendizado de máquina tradicionais
para suportar este tipo de abordagem.
Também deve-se levar em consideração neste processo de mineração de dados que os algoritmos necessitam de otimização, pois como o processamento dos dados ocorre continuamente, não se pode
afetar o resultado devido à complexidade computacional das etapas da mineração de dados para os fluxos de dados. Desta maneira, os métodos tradicionais de aprendizado de máquina para os algoritmos
supervisionados, tais como árvores de decisão [Karqupta e Park, 2001, Domingos e Hulten, 2000], principalmente com podas, limitando a profundidade da árvore, assim como algoritmos de regras e redes
Bayesianas [McCallum e Nigan, 1998] são os métodos mais indicados, devido a sua baixa complexidade
e exigência de recursos computacionais, e por isso serão aplicados neste trabalho.
Capı́tulo 3
Trabalhos Relacionados
Neste capı́tulo, são apresentados trabalhos relacionados, presentes na literatura, referentes à mineração
de fluxo contı́nuo de dados. Os trabalhos apresentam abordagens que serviram de base para os processos
realizados no presente trabalho, seguidos de uma descrição do relacionamento entre eles e o presente
trabalho. A seguir, são descritos alguns desses trabalhos.
3.1
Mobile Data Mining for Intelligent Healthcare Support
No trabalho [Haghighi et al., 2009], os autores abordaram a combinação de técnicas já conhecidas com
modelos preditivos inteligentes que conseguem reconhecer determinadas situações em que ocorre a incerteza voltada à atividade que o paciente está fazendo durante o dia a dia, enquanto o aparelho coleta
informações. Por meio da coleta e mineração de fluxo de dados dos dispositivos, os autores propuseram
um processo adaptativo para situações conscientes de fluxo de dados para aplicações voltadas para a
saúde humana. Ou seja, o sistema interpreta os dados que ele está gerando para conseguir realizar uma
autoadaptação, adequando-se ao estado atual.
Nesse trabalho, os autores citaram como contribuições a utilização de técnicas de inferência de
situações fuzzy para o reconhecimento das atividades do usuário. Este conceito combina a lógica Fuzzy
com os princı́pios de modelos de contexto espacial para reconhecer as possı́veis situações em que o paciente
se encontra. Por meio deste conceito de reconhecimento da situação, é possı́vel aumentar a performance
do fluxo de dados de acordo com a situação.
Da mesma forma que [Haghighi et al., 2009], o nosso trabalho foca no monitoramento em fluxo
contı́nuo de dados, durante todo o perı́odo do dia, seja ele com o paciente em repouso, fazendo tarefas
domésticas rotineiras, como cozinhando, varrendo o chão da casa, estudando, assistindo à TV, etc. Os
autores trabalham com janelas de fluxo de dados variáveis. Contudo, como será visto no Capı́tulo 4,
em nosso trabalho determinou-se uma janela fixa capaz de consolidar e trazer uma quantidade de dados
suficiente para não interferir na acurácia dos cálculos preditivos.
24
3.2
An Architecture for Context-Aware Adaptative Data Stream
Mining
O trabalho [Haghighi et al., 2010] aborda a questão da otimização de dispositivos móveis, tais como
PDA’s e smartphones. Os autores se baseiam na incorporação de conhecimento de contexto do usuário
no processo de mineração de fluxo de dados, com base em modelo de espaço contextual denominado “Naı̈ve
Context Spaces”. “O Naı̈ve Context Spaces” é um modelo que representa a informação contextual como
um espaço multidimensional euclidiano, onde cada dimensão representa uma caracterı́stica do contexto.
Dessa forma, uma situação contextual é definida por um conjunto de atributos e seus respectivos valores.
Desta maneira, o sistema consegue adaptar-se de maneira eficiente a um conjunto de situações
pré-definidas, de acordo com a combinação de dados obtidos em tempo real na forma de fluxo de dados que
definem o contexto, e apoiado pela adoção de estratégias que se ajustam em tempo real, sem interromper
a execução do sistema, para proporcionar a melhor condição de uso do dispositivo. Este trabalho enfatiza
a interface com sensores de coleta de ECG, tendo em vista que este é o principal sinal coletado neste tipo
de estudo.
Além destes, outros estudos, como [Aggarwal, 2004], [Jin e Aggrawal, 2003b] e [Kifer et al., 2004],
abordam o tema de adaptabilidade e otimização de aparelhos móveis e sensores de monitoramento de
acordo com o ambiente e a situação em que o usuário monitorado se encontra, de acordo com modelos
preditivos baseados nos dados recolhidos por meio da mineração de fluxo de dados, usando, desta forma,
os dados que serão empregados no monitoramento do paciente, para a predição de uma melhor utilização
do dispositivo móvel.
3.3
Collective Human Biological Signal-Based Identification and
Authentication in Access Control Environments
O trabalho [Van Der Haar, 2014] aborda a análise simultânea de sinais de eletrocardiograma e eletroencefalograma utilizando os dois como atributos biométricos. O trabalho representa cada um dos sinais em
um formato comum, fundindo-os na etapa de atributos para a criação de um novo sistema biométrico que
é interoperado com diferentes fontes de sinais biológicos. Os sinais são coletados por meio de smartphones ou integração de tecnologias “vestı́veis”, uma vez que esses aparelhos vêm apresentando um avanço
tecnológico tão grande que torna capaz a extração confiável de informações biométricas.
Os autores utilizam os sinais biológicos não para a identificação de doenças, mas sim para o
reconhecimento pessoal, uma vez que todos os seres vivos produzem sinais de eletrocardiograma e eletroencefalograma. Por meio desses sinais, torna-se possı́vel a identificação biométrica exclusiva de cada
indivı́duo, tornando muito mais difı́cil o processo de falsificação de identidade para a autenticação pessoal.
O trabalho, então, propõe um método de autenticação combinando os atributos coletados no
eletrocardiograma e eletroencefalograma de indivı́duos, estimando, dessa forma, um aumento na segurança
de autenticação em sistemas, baseando-se em informações armazenadas a respeito do coração e cérebro
de cada indivı́duo.
25
O método proposto apresenta três fases. A primeira delas consiste na coleta de atributos de cada
um dos sinais. Os atributos coletados do ECG são referentes ao complexo QRS, em que são extraı́das
informações, como, por exemplo, a frequência do batimento cardı́aco. Já as extrações de atributos do
EEG foram empregadas as técnicas de extração de energia e coeficientes autorregressivos (AR), sendo
que os autores identificaram que os coeficientes AR são muito mais prevalentes. Para a retirada de ruı́dos
dos sinais de EEG, foi utilizada a WaveletHaar como filtro.
Uma vez que os atributos foram coletados, os autores treinaram modelos de redes neurais, funções
discriminantes, máquinas de vetor de suporte, classificadores Bayesianos e classificadores dos K vizinhos
mais próximos. Dessa forma, criaram um classificador mais preciso, fundindo essas técnicas, do que
quando aplicadas isoladamente.
Assim como o trabalho [Van Der Haar, 2014], nosso trabalho utiliza atributos extraı́dos de sinais
de eletrocardiograma para treinar modelos de aprendizado de máquina. Contudo, o presente trabalho
não aborda os sinais de eletroencefalograma. O presente trabalho diferencia-se do trabalho citado, pois
aplica estes métodos para o reconhecimento do usuário, enquanto o presente trabalho dedica-se ao monitoramento constante de traços de ansiedade nos pacientes monitorados.
Também é importante notar que ambos os trabalhos utilizaram a WaveletHaar, porém com
intuito diferente. No trabalho citado, a WaveletHaar foi utilizada como filtro para a remoção de ruı́dos
coletados pelos sensores de EEG, enquanto neste trabalho, a WaveletHaar foi utilizada na etapa de préprocessamento para serem aplicadas às medidas estatı́sticas descritivas para a extração de caracterı́stica
dos fluxos de eletrocardiograma.
3.4
Stream-based Biomedical Classification Algorithms for Analyzing Biosignals
Em [Fong et al., 2011], os autores propuseram um framework para a classificação de fluxos de sinais
biológicos utilizando algoritmos de classificação que fazem uso de árvores de decisão. O foco do trabalho
é a abordagem de sinais de ECG. O algoritmo utilizado foi o C4.5. Os autores propuseram algumas
modificações neste algoritmo para a adaptabilidade do mesmo para tratar mudanças de escopo ao longo
do tempo, conforme são realizados processamentos no fluxo de dados.
De modo semelhante, nosso trabalho foca na classificação dos fluxos de dados, mas com o objetivo
especı́fico de auxiliar no diagnóstico de traços de ansiedade nos dados de ECG dos pacientes. No trabalho
citado, os autores optaram pela utilização de um algoritmo de árvore de decisão, o C4.5. Este algoritmo
é extremamente simples, reduzindo o tempo de processamento dos sinais pelo algoritmo preditivo. Neste
trabalho, contudo, conforme descrito no Capı́tulo 4, o algoritmo C4.5 foi avaliado na etapa de criação
de modelos preditivos, mas não obteve o melhor resultado quando comparado aos outros algoritmos
usados para auxiliar na detecção de traços de ansiedade. Em vez disso, foi utilizada uma outra técnica
de aprendizado de máquina, o OneRule. Este algoritmo é bem simples e demanda menor capacidade de
processamento, necessitando de pouco tempo para sua execução.
26
3.5
A System for Mining Temporal Physiological Data Streams
for Advanced Prognostic Decision Support
O trabalho [Sun et al., 2010], teve por objetivo realizar a predição de indicadores-chave de pacientes, a
partir da análise do fluxo de dados dos pacientes e da consulta aos padrões existentes semelhantes, a fim
de se obter uma previsão com maior acurácia sobre o quadro do paciente que se encontra nas Unidades
de Cuidado Intensivo em hospitais. Neste trabalho, os autores levantaram as seguintes perspectivas
de contribuições: a concepção de medidas de similaridade que reflitam a proximidade clı́nica entre os
pacientes, levando em conta o retorno de especialistas; o alinhamento das caracterı́sticas temporais dos
pacientes para permitir comparações clı́nicas; a realização da projeção de dados dos pacientes para o
futuro, com base nas caracterı́sticas dos dados semelhantes.
O trabalho [Sun et al., 2010] é muito útil quando se pensa em utilizar os dados são gerados por
pacientes distintos para otimizar a tomada de decisão, realizando um aprendizado constante. O trabalho
citado é um bom exemplo a ser seguido como próximo passo neste trabalho. Seguindo a teoria aplicada,
pode-se fazer um estudo comportamental relacionando os dados dos pacientes que acabaram de presenciar
caracterı́sticas que tenham relacionamento com quadros de ansiedade e, então, será possı́vel encontrar
uma relação entre os pacientes para tentar prever o motivo que os afeta e o que acontece após crises de
ansiedade.
3.6
Mining Data Streams with Periodically Changing Distributions
Outro trabalho que aborda a utilização dos fluxos de dados é o [Tao e Ozsu, 2010]. Neste trabalho, os
autores propuseram um método para combinação dos padrões e reutilização de resultados de mineração
para a mineração de fluxo contı́nuo de dados com uma periodicidade de mudanças distribuı́das. Desta
forma, é possı́vel que se tenha uma redução do tempo de processamento sem afetar o resultado dos
algoritmos. Neste trabalho, também foi proposto um framework para a detecção de mudanças e geração
de resultados dinâmicos de mineração de fluxo de dados utilizando a técnica de combinação e reuso
proposta. Para melhorar a performance dos algoritmos, este trabalho utilizou uma técnica para escolher
inteligentemente um menor conjunto de dados que possa representar melhor a real distribuição dos dados
com uma alta acurácia.
A partir do trabalho, [Tao e Ozsu, 2010] é possı́vel concluir que não adianta estudar um grande
conjunto de atributos para cada instância, pois algumas das caracterı́sticas podem ser correlacionadas
ou simplesmente não fazerem sentido quando estudadas para o intuito do problema aplicado. Em nosso
trabalho, seria possı́vel a coleta de dezenas de atributos estatı́sticos de cada uma das transformadas
matemáticas, entretanto, estes atributos, por vezes, podem não ter uma grande utilização para o estudo
de ansiedade. Dessa forma, foi desenvolvido o algoritmo de matriz de correlação de Pearson que pemitiu
entender quais atributos possuem correlação entre si. A partir da matriz de correlação de Pearson, foi
possı́vel realizar a remoção destes atributos, viabilizando uma redução no processamento dos sinais, e,
27
também, a diminuição de atributos a serem processados pelo algoritmo de regras para identificação de
traços de ansiedade nos sinais. A partir da utilização deste procedimento, surgiram resultados mais
expressivos, com uma maior taxa de acurácia e que demandavam menor tempo de processamento dos
sinais, seguido de um diagnóstico muito mais rápido e preciso.
3.7
Projeto Diretrizes - Transtornos de Ansiedade: Diagnóstico
e Tratamento
O trabalho de Versiani [Versiani, 2008], Projeto Diretrizes - Transtornos de Ansiedade: Diagnóstico e
Tratamento, lida com diferentes transtornos relativos à ansiedade, quais as causas, formas de diagnóstico e
procedimentos de tratamento. Esse trabalho descreve, de forma sucinta, alguns dos principais transtornos
relacionados à ansiedade, como, por exemplo:
• Transtorno de Pânico
• Transtorno de Ansiedade Social
• Transtorno Obsessivo-Compulsivo
• Transtorno de Ansiedade Generalizada
O trabalho apresenta maiores detalhes sobre cada um dos transtornos citados, entretanto, só
são exibidos processos manuais de diagnóstico e de informações médicas, sendo bastante difı́cil abordar
uma grande variedade de pacientes simultaneamente e de forma automatizada, pois todos os processos
de diagnóstico citados são referentes à intervenção e observação individual do paciente. Também são
feitas coletas de sangue e amostragem quı́mica de cada um dos pacientes em conjunto com o uso de
medicamentos. Desta forma, alguns dos processos apresentados acabam se tornando invasivos, custosos e
sempre serão tratados de forma manual, sendo necessária a supervisão de um médico responsável durante
toda a etapa de diagnóstico.
A partir do trabalho citado, é possı́vel identificar que a ansiedade é um grande problema e que
muitas pesquisas estão surgindo na tentativa de aumentar a precisão de seu diagnóstico. No entanto, estas
novas técnicas são realizadas de forma manual, o que não é muito atraente, já que o número de pessoas
que sofrem com este problema vem aumentando drasticamente com o passar do tempo. Para tentar
auxiliar nesta tarefa, nosso trabalho apresenta uma proposta para auxiliar no diagnóstico da ansiedade
de forma automática e contı́nua em pacientes que possuem um dispositivo de coleta de sinal de ECG.
3.8
MD-SBE
No trabalho [Barbosa e Calembo, 2012], foi desenvolvida uma ferramenta de processamento de sinal que
permitia o carregamento de um conjunto de séries temporais e a visualização gráfica deste sinais, além
da visualização das Transformadas de Fourier e Wavelet dos sinais. Nesse sistema, era possı́vel também a
realização de uma pequena tarefa de mineração de dados. Esta ferramenta realizava o pré-processamento
28
dos sinais e permitia a utilização de um pequeno módulo de mineração de dados, em que era possı́vel
escolher alguns algoritmos de aprendizado de máquina do paradigma supervisionado, caso o usuário
tivesse o rótulo de cada um dos sinais, ou a utilização de algoritmos do paradigma não supervisionado.
O sistema computava e exibia o melhor resultado encontrado dentre todos os algoritmos implementados
no sistema, com base em métodos de avaliação de algoritmos de aprendizado de máquina. Este sistema,
contudo, não conseguia processar fluxos de dados, pois o arquivo do sinal a ser analisado necessita ser
completamente carregado.
Neste mesmo trabalho, é descrito um estudo inicial que indica a possibilidade de leve relacionamento do ECG com a decomposição do sinal em diversos nı́veis da transformada Wavelet. Este estudo
foi aprofundado em [Magini et al., 2012], em conjunto com um grupo de pesquisadores da área de Enfermagem, Medicina e da Psicologia. O novo trabalho consistiu em um estudo de caso projetado para
compreender o papel potencial da variabilidade da freqüência cardı́aca para prever diferentes nı́veis de
ansiedade em uma amostra não-clı́nica utilizando transformada Wavelet.
O sistema MD-SBE [Magini et al., 2012] apresentou um resultado inovador e expressivo no auxı́lio
ao diagnóstico de traços de ansiedade. Contudo, sua abordagem visa à análise de apenas um sinal de
eletrocardiograma por vez e necessita da informação completa, não sendo capaz de processar fluxos
contı́nuo de dados. Em média, necessita-se de 6 minutos para completar o auxı́lio de um diagnóstico de
cada paciente.
Como será discutido na Seção 5.3, o método proposto neste trabalho, por outro lado, é capaz de
trabalhar adequadamente com um número de cerca de 800 fluxos de dados de entrada simultâneos, em
um computador normal, sem grande capacidade de processamento, em um intervalo de 2 minutos.
Capı́tulo 4
O Método AnxECGStream
Nesta seção é apresentado o método AnxECGStream, desenvolvido com o objetivo de apoiar a identificação automática de traços de ansiedade em sinais de eletrocardiograma, possibilitando, deste modo,
o monitoramento contı́nuo de pacientes. O método é constituı́do por duas etapas. A primeira etapa
contempla a elaboração de um modelo preditivo para a identificação de traços de ansiedade, baseado em
árvore de decisão. Na segunda fase consiste na implementação na mineração de fluxo contı́nuo de dados,
em que os novos dados coletados são pré-processados e submetidos à classificação com base no modelo
classificador obtido na primeira fase.
4.1
Definição do Modelo Classificador
A primeira fase do método AnxECGStream teve como objetivo o desenvolvimento de um classificador de
sinais de eletrocardiograma visando a identificação de traços de ansiedade. Esta tarefa foi realizada por
meio de técnicas de aprendizado de máquina supervisionado, o que exige um conhecimento prévio das
classes das amostras estudadas. Com base no método Hoeffding tree [Karqupta e Park, 2001], é possı́vel
afirmar que um conjunto de dados bem escolhido é suficiente para a determinação de um bom classificador
que atenderá a todos os novos dados de entrada aplicando técnicas de aprendizado supervisionado.
A Figura 4.1 apresenta graficamente todos os passos realizados pelo método AnxECGStream
para a criação de um classificador de traços de ansiedade. Cada uma das etapas retratadas será descrita
nas seções seguintes.
4.1.1
Descrição do Conjunto de Dados
O conjunto de dados utilizados é oriundo do trabaho [Magini et al., 2012], no qual considerou-se a participação voluntária de 100 alunos de graduação da Universidade Federal Fluminense (UFF). O experimento
foi aprovado pelo comitê de ética da instituição. Dentre os candidatos, foram selecionados 50 (cinquenta)
alunos do sexo feminino e 50 (cinquenta) do sexo masculino, com idade média de 21,07 anos (± 1,68
de desvio padrão). Todos assinaram o documento de consentimento para participar da pesquisa, sem,
contudo, saberem o propósito do mesmo até o momento de coleta dos sinais biológicos, quando eram
30
Figura 4.1: Processo para criação do modelo classificador de traços de ansiedade
novamente convidados a assinar o termo.
Durante o procedimento, todos negaram ter qualquer problema psiquiátrico ou neurológico e
usar qualquer tipo de aparelho de monitoramento do sistema nervoso ou cardiovascular. De inı́cio, foi
utilizado um instrumento de avaliação para caracterizar a amostra em relação aos nı́veis de ansiedade. O
instrumento de medida utilizado foi o IDATE (Inventário de Ansiedade Traço-Estado), um questionário de
autoavaliação composto por 40 (quarenta) itens e dividido em duas partes, cada uma com 20 afirmações,
devendo ser respondidas seguindo uma escala formada por quatro itens: nunca/raramente/sempre/muito
frequentemente.
O objetivo do questionário era medir dois elementos que compõem a ansiedade: AnsiedadeEstado, referente a um estado emocional transitório, no qual o sujeito deve informar como se sente
no momento; e Ansiedade-Traço, relacionada com elementos individuais que compõem a personalidade,
estado no qual os sujeitos devem descrever como geralmente se sentem. Também foi preenchida pelos
candidatos uma versão do IDATE para a quantificação dos afetos Positivo e Negativo em cada assunto.
Esta escala foi composta por 20 (vinte) adjetivos que descrevem diferentes sentimentos e emoções. Dez
destes descrevem humor negativo e os outros dez descrevem o humor positivo.
Logo após o preenchimento dos formulários, os participantes eram conduzidos individualmente
a uma sala com luz baixa e som ambiente na qual eram convidados a se sentar em uma cadeira para
que fossem esclarecidos sobre o evento. Antes de iniciar a coleta, sensores psicológicos eram anexados e
a qualidade do sinal era checada. Os candidatos eram orientados a descansar e respirar normalmente,
e um registrador de ECG Biopac, modelo MP100, era utilizado para gravar o eletrocardiograma usando
eletrodos de prata com pasta eletrolı́tica hipertônica. Foram utilizados um filtro de banda de 0,5-35 Hz
31
e uma taxa de amostragem de 250 Hz.
Os exemplos possuı́am a seguinte dispersão: 40 voluntários classificados como ansiosos e 60 como
não ansiosos tendo, portanto, 40% de candidatos ansiosos e 60% não ansiosos na amostragem. O erro
majoritário desse conjunto foi a porcentagem de indivı́duos minoritários - 40%. Para o resultado do
algoritmo de aprendizado ser considerado aceitável, a taxa de erro do classificador deve ser menor do
que o erro majoritário, ou seja, para ter um resultado considerado aceitável, o modelo induzido necessita
obter um acerto de classificação maior que 60%. Todos os candidatos eram avaliados e recebiam uma
pontuação no intervalo entre 20 e 60 pontos, inclusos. O voluntário era classificado como ansioso caso
atingisse uma pontuação igual o superior a 41 pontos.
Fluxo de Eletrocardiograma dos Pacientes
Os dados de ECG são coletados por aparelhos especı́ficos que geralmente possuem uma frequência de
coleta determinada, variando entre 250 e 1000 Hz. Tem-se, então, uma fonte de dados para cada paciente
gerando dados com uma alta frequência. Os dados de eletrocardiograma que serviram de base para o
projeto foram coletados com uma frequência de 250 Hz.
De acordo com [Junior, 2012], para dados periódicos, as janelas de tamanho fixo para o tratamento
do fluxo de dados são recomendadas. Os dados de eletrocardiograma possuem ciclos bem definidos, que
o caracterizam como um dado periódico. Os dados são computados normalmente a partir do ponto R
presente nos dados, onde a frequência cardı́aca é calculada de acordo com a quantidade de pontos R
apresentados no eletrocardiograma no intervalo de um minuto. Pelo fato do ECG se constituir em um
dado periódico, foram utilizadas janelas de dados de tamanho fixo. Outro fator com grande influência
nesta decisão foi a baixa complexidade desta abordagem [Rossi, 2014], permitindo um processamento
mais eficiente.
Esta metodologia aborda janelas de captura de pontos de eletrocardiograma contendo precisamente 30.000 pontos. Esse valor foi encontrado de acordo com experimentos previamente executados.
Como a frequência do aparelho coletor dos sinais biológicos utilizado nesta fase do processo era de 250
Hz, tem-se que o tempo necessário para a janela ser preenchida completamente é de 2 minutos. Este
tamanho também é importante, pois o tempo necessário para o preenchimento da janela não é longo o
suficiente para que haja perda de informação com relação à classificação.
Figura 4.2: Passagem de fluxo contı́nuo de dados para a central de processamento
A Figura 4.2 detalha o processo de coleta e transferência do fluxo de dados para a central de
processamento. Na imagem, o paciente (à esquerda) gera sinais de eletrocardiograma continuamente,
representados pelo pequeno bloco ao lado dele na figura. Os sinais (blocos) de ECG que são gerados
32
pelo paciente preenchem a janela de dados de tamanho fixo. Uma vez que a janela se encontra completamente preenchida por pontos de eletrocardiograma, é enviada para a central de processamento. Essa
transferência é realizada por meio de conexão com a internet. Como a janela de fluxo contı́nuo de dados é
transferida para a central de processamento, o preenchimento da próxima janela de dados ECG é iniciado.
É um processo contı́nuo que não cessa enquanto o paciente permanecer gerando sinais.
4.1.2
Pré-Processamento de Sinais de Eletrocardiograma
Como discutido na Seção 2.5, o pré-processamento dos dados é uma etapa muito importante na mineração
de dados. Ela é responsável por padronizar os dados, remover os ruı́dos e gerar os atributos que serão
abordados pelas técnicas de mineração de dados. A seguir, são descritas as técnicas de pré-processamento
de dados que foram utilizadas na fase de criação do modelo classificador.
Técnicas de Processamento de Sinais
Os processos que correspondem a esta parte do método são dedicados ao processamento dos sinais por
meio da utilização de transformadas matemáticas, consolidadas na literatura. Para esta etapa foram
utilizadas as transformadas de Fourier, algumas transformadas da famı́lia Wavelet e a Transformada
Delta, conforme discutido na Seção 2.2.
Tanto a transformada de Fast Fourier Transform (FFT), quanto as da famı́lia Wavelet já são
amplamente difundidas na literatura, com comprovada eficiência e aceitação por todos os pesquisadores
que trabalham com processamento de sinais, inclusive de ECG. A transformada de FFT decompõe o
sinal de ECG no domı́nio da frequência, enquanto a Wavelet consegue decompor o sinal no domı́nio da
frequência com o domı́nio do tempo. Deste modo, é possı́vel identificar as principais frequências presentes
em cada uma das janelas do sinal.
Além destas transformadas, a Transformada Delta trabalha com a diferença de variação entre dois
pontos consecutivos. Esta transformada foi desenvolvida sob o pressuposto de que um coração saudável
não é aquele que apresenta grandes variações, tampouco aquele cuja variação é pequena ou nula. Normalmente, o exame de eletrocardiograma contém em um ciclo, um espaço com pouca variação e um curto
intervalo do ciclo com três grandes diferenciais, correspondendo ao complexo QRS do eletrocardiograma.
Extração de Caracterı́sticas
Reunidos os resultados de todas essas transformadas, é necessário identificar e extrair atributos que
possam refletir caracterı́sticas especı́ficas de cada uma das janelas de dados. Para a identificação desses
atributos foi utilizada uma série de métodos de discretização estatı́sticos, como a Média Aritmética,
a Variância Amostral, o Desvio-Padrão, a Mediana, a Soma dos Elementos, a Soma dos Elementos
ao Quadrado, o Coeficiente Variação de Pearson, a Moda e o Coeficiente de Assimetria, discutidos na
Seção 2.3.
Todas essas medidas estatı́sticas descritivas são aplicadas ao conjunto de uma janela de dados de
eletrocardiograma. Também são aplicadas aos resultados de cada uma das transformadas citadas anteriormente para que sejam obtidas as medidas descritivas para os dados da janela de ECG, Transformada de
33
Fourier, Wavelet e de Delta. Com a utilização de cálculos estatı́sticos que abrangem um grande conjunto
de dados, é possı́vel evitar que outliers venham a causar uma interferência significativa na análise da
amostragem.
Figura 4.3: Pré-processamento realizado no trabalho
Na Figura 4.3, está descrita a etapa do pré-processamento de acordo com a abordagem deste
trabalho. Nela é possı́vel observar todas as tarefas que são realizadas após o recebimento do fluxo de
dados. A medida em que o fluxo é recebido, as transformadas são executadas, criando novos fluxos. Com
todos os fluxos são computadas as medidas descritivas para cada um deles. Ao final do pré-processamento
é obtida uma lista com todas as variáveis calculadas para cada um dos fluxos de dados.
Além desses dados estatı́sticos, são calculadas algumas informações adicionais sobre o fluxo de
dados original e também das respectivas transformadas, como a área sob a curva e os pontos R, discutidos
na Seção 2.4.2. Para as janelas de dados do ECG calcula-se os pontos R, a frequência cardı́aca e também
a quantidade de pontos R presentes na janela. Lembrando que com o cálculo dos pontos R’presentes no
fluxo de dados, é possı́vel calcular dentre tantas informações, a frequência cardı́aca, uma vez que esta é
calculada medindo o tempo entre o intervalo de tempo entre dois pontos R consecutivos.
Ao final da etapa de geração de medidas é obtido um conjunto de atributos para cada fluxo
de dados. Os atributos que constituem o conjunto de medidas de cada fluxo são: o fluxo de dados de
ECG original, medidas estatı́sticas descritivas deste sinal, quantidade de pontos R, área sob a curva,
transformada de Fourier, famı́lia de Wavelet e Delta, Medidas estatı́sticas descritivas destas séries e área
sob a curva.
Remoção de Atributos Correlacionados
O método proposto no presente trabalho gera uma grande quantidade de atributos. No entanto, para
mineração de dados, nem sempre a quantidade está relacionada proporcionalmente com a qualidade e
precisão. A seleção de atributos apresenta fundamental importância e vem apresentando atenção especial
em trabalhos relacionados a processamento de texto, recuperação da informação em banco de imagens,
bioinformática, processamento de dados médicos, etc.
Os principais alvos do processo de seleção de atributos incluem a melhora da performance dos
algoritmos de aprendizado de máquina e a simplificação de modelos preditivos e classificadores, reduzindo
dessa forma o custo computacional para processar os modelos. Também é importante para a prover um
melhor entendimento sobre os resultados encontrados, uma vez que existe um estudo prévio sobre o
relacionamento entre os atributos.
34
Além dos itens citados acima, a seleção de atributos também apresenta como objetivo a representação reduzida do conjunto de dados, em termos de atributos, mas de forma a produzir os mesmos (ou
quase os mesmos) resultados analı́ticos. É possı́vel realizar esta tarefa com a eliminação de atributos redundantes, como por exemplos as variáveis altamente correlacionadas, que não agregam informação para
a construção de um modelo. Em adicional, é possı́vel a eliminação de atributos irrelevantes, removendo
atributos que não apresentam informação útil para o processo de mineração de dados.
Como existem as janelas de dados, em conjunto com cada uma das transformadas calculadas,
como fluxo de dados, seguidas da aplicação de técnicas estatı́sticas de discretização, tem-se um produto
cartesiano de fluxos de dados com o número de medidas descritivas. O fato de o conjunto de atributos
resultante para cada uma das janelas ser muito grande pode acarretar em perda de performance, com a
realização de cálculos envolvendo atributos que podem ser correlacionados. Esses atributos não precisariam ser calculadas, sendo possı́vel eliminar atributos fortemente correlacionados. A computação de uma
variável em vez de duas ou mais, para cada atributo correlacionado, implica diretamente no aumento da
performance na etapa do pré-processamento.
Não somente visando a performance, a remoção de atributos correlacionados também interfere
diretamente na acurácia dos classificadores de mineração de dados. Quanto mais precisa for a lista
de variáveis que descrevem o sinal, melhor a acurácia dos algoritmos de classificação e mais enxuta as
regras utilizadas por cada um deles. A performance e o desempenho dos classificadores serão afetados
imediatamente. Logo, é preciso tomar cuidado com a quantidade e qualidade do conjunto de atributos
que será gerado.
Para a seleção dos principais atributos que descrevem o conjunto de dados do fluxo de eletrocardiograma do paciente, foi utilizada a técnica de Matriz de Correlação de Pearson. A Matriz de Correlação
de Pearson utiliza a medida descritiva do coeficiente de correlação de Pearson (ou coeficiente de correlação
produto-momento). Este coeficiente mede o grau de correlação entre duas variáveis de escala métrica.
O resultado do coeficiente de correlação de Pearson (ρ) vai de -1 a 1 (inclusos), sendo o 1 uma correlação perfeitamente positiva entre as duas variáveis e o -1 uma correlação perfeitamente negativa, ou
inversamente proporcional. O 0 indica que não há nenhum grau de correlação entre as duas variáveis.
Como resultado, é obtida uma matriz Mij em que i = j = nmero de atributos. Nesta matriz,
as células Mij em que i = j sempre terá o valor 1, o que indica que o atributo é correlacionado com ele
mesmo. Interpretando um pouco mais os valores do coeficiente de Correlação de Pearson, é aceitável que
se o módulo do coeficiente for igual ou maior que 0.7 exista uma forte correlação entre os atributos. Caso
o módulo esteja entre 0.3 e 0.7, ocorre uma correlação moderada, mas quando o módulo for inferior a 0.3
há uma fraca correlação. Para o projeto, aplicou-se um corte nas variáveis que apresentava um módulo
igual ou superior a 0.5. Este corte reduziu significativamente o conjunto de atributos a ser calculado,
restando apenas as seguintes variáveis:
Como resultado, foi obtida a redução do número de atributos computados para 14, reduzindo
substancialmente o número daqueles que deviam ser calculados, o que gerou uma redução no tempo de
processamento das janelas de fluxo contı́nuo de dados. Ao final desta etapa, tem-se a lista de atributos
para cada um dos fluxos de dados.
35
Fluxo
Atributo 1
Atributo 2
Atributo 3
Eletrocardiograma
Área
Média Aritmética
Variância Amostral
Fourier
Mediana
Coeficiente de Variação de Pearson
Symlet
Área
Coeficiente de Variação de Pearson
Moda
Daubechies
Área Passa Baixo
Área Passa Alto
Mediana Passa Alto
Haar
Coeficiente de Variação de Pearson
Moda
Delta
Moda
Tabela 4.1: Tabela demostrando os passos da Transformada Delta
4.1.3
Algoritmos de Aprendizado de Máquina
Esta etapa consiste no treinamento e criação de um modelo classificador para o diagnóstico de traços de
ansiedade em fluxos de dados. Nesta parte do método foram utilizados os dados coletados com os seus
respectivos rótulos (ansioso e não ansioso).
Uma vez determinado o conjunto de atributos correspondentes a uma janela de dados, a próxima
etapa consiste em ensinar a máquina a reconhecer quais os conjuntos de dados que possam ter traços
de ansiedade. Para esta tarefa, foram utilizados algoritmos de aprendizado de máquina supervisionado,
utilizando as amostras de dados coletadas dos voluntários e previamente rotulados, conforme discutido
anteriormente.
Foram adotados algoritmos de árvores de decisão [Domingos e Hulten, 2000, Karqupta e Park, 2001],
ou seja, algoritmos aprendizado de máquina que demandam menor tempo de processamento. Além desse
fator, as árvores de decisão obtiveram os melhores resultados com relação a taxa de acurácia, e a outras variáveis que servem como medidas de avaliação do modelo gerado pelo o algoritmo, com relação a
algoritmos que foram testados, como por exemplo algoritmos de redes neurais.
Foram aplicados algoritmos de mineração de dados conhecidos na literatura. Os algoritmos deveriam possuir uma caracterı́stica indispensável para o projeto: agilidade e simplicidade. Dentre os
algoritmos aplicados, os que apresentaram melhor taxa de acurácia e medida harmônica foram os algoritmos One Rule, C4.5 e Random Tree. Devido aos fatores como melhor acurácia, precision, recall,
F-Measure e área da curva ROC apresentada na etapa de teste optou-se pelo algoritmo One Rule. A acurácia é importante na definição do uso de um algoritmo na medida em que, quanto maior for a acurácia,
menor será a taxa de erro.
Na Tabela 4.2 são apresentados os resultados médios de cada um dos algoritmos durante a fase
de treinamento.
Algoritmo
Acurácia
C4.5
83%
Random Tree
81%
One Rule
90%
Tabela 4.2: Resultado da etapa de treino dos algoritmos utilizados
36
Um dos algoritmos de mineração de dados mais conhecidos, o C4.5 cria uma árvore de decisão
simples. A Figura 4.4 representa a árvore criada pelo algoritmo C4.5. Diferentemente do algoritmo
One Rule, a árvore de decisão criada pelo C4.5 não tem a mesma restrição de número de regras criadas.
Contudo, quando teve o desempenho na etapa de treinamento comparado ao do One Rule, foi considerado
menos apropriado para o método proposto, conforme os valores apresentados nas Tabelas 4.3 e 4.5.
Figura 4.4: Árvore de decisão resultante do algoritmo C4.5
Classe
Precision
Recall
F-Measure
Área Roc
Ansioso
0.700
0.818
0.857
0.912
Não ansioso
0.895
0.744
0.719
0.912
Média
0.797
0.781
0.795
0.912
Tabela 4.3: Resultado da etapa de treino do algoritmo C4.5
Do mesmo modo, o algoritmo Random Tree também pertence ao conjunto de algoritmos de
mineração de dados da categoria de árvore de decisão. É um classificador que considera apenas alguns
atributos escolhidos aleatoriamente para cada nó da árvore. Na Figura 4.5 está detalhada a árvore de
decisão criada por ele. O resultado do treinamento também foi inferior ao do One Rule, conforme os
valores apresentados nas Tabelas 4.4 e 4.5.
O algoritmo One Rule possui uma abordagem bem simples. Apenas uma árvore é criada após
toda a base de dados ser varrida em busca de um único atributo que separe, da melhor forma, a base
de dados. Isso torna esse algoritmo bastante simples e de fácil entendimento. Ideal para o projeto, dada
todas os cenários já descritos durante o texto. O resultado do algoritmo One Rule é a árvore apresentada
na Figura 4.6.
37
Figura 4.5: Árvore de decisão resultante do algoritmo Random Tree
Classe
Precision
Recall
F-Measure
Área Roc
Ansioso
0.875
0.636
0.737
0.790
Não ansioso
0.810
0.944
0.872
0.790
Média
0.834
0.828
0.821
0.790
Tabela 4.4: Resultado da etapa de treino do algoritmo Random Tree
Figura 4.6: Árvore de decisão resultante do algoritmo One Rule
Na etapa de treino, esse algoritmo também apresentou desempenho superior aos demais em
precision, recall, f-measure e área da curva ROC, conforme apresentado na Tabela 4.5.
Essa capacidade torna o algoritmo bastante simples e de fácil entendimento, ao mesmo tempo em
que oferece uma boa taxa de acertos, ideal para o projeto, considerando todos os cenários já descritos.
Além disso, durante a etapa de testes o One Rule demonstrou suportar um número maior de pacientes
38
Classe
Precision
Recall
F-Measure
Área Roc
Ansioso
0.909
0.909
0.909
0.982
Não ansioso
0.944
0.944
0.944
0.982
Média
0.931
0.931
0.931
0.982
Tabela 4.5: Resultado da etapa de treino do algoritmo One Rule
ao mesmo tempo, permitindo o uso do método em larga escala. Os testes de desempenho são descritos
detalhadamente na Seção 5.3.
Os algoritmos foram treinados com o método Leave-One-Out, usando os dados rotulados. O
método Leave-One-Out é um tipo de variação cruzada que testa cada padrão individualmente, ao mesmo
tempo em que os demais padrões que formam a base de dados são treinados. Quando o treinamento
é encerrado, todos os padrões são submetidos às fases de treinamento e teste, gerando erros que serão
utilizados no cálculo da média de erros. O seu uso é vantajoso na medida em que ele oferece uma
investigação completa sobre a variação do modelo em relação aos dados e oferece uma estimativa de erro
muito próxima da verdadeira.
O modelo obtido após o treinamento é utilizado para classificar as novas instâncias que consistem
em janelas de fluxo de dados coletadas continuamente dos pacientes. Permite que os pacientes submetidos
à coleta de sinais de ECG possam ser imediatamente analisados e classificados como ansiosos ou não ansiosos. O método proposto é escalável e pode ser utilizado para monitorar um grande número de pacientes
simultaneamente. A partir do modelo gerado pelo algoritmo One Rule, é possı́vel perceber que o principal
atributo utilizado para a classificação como ansioso ou não ansioso nos fluxos de eletrocardiogramas é a
área do fluxo.
4.2
Classificação de Fluxo Contı́nuo de Dados
A segunda fase do método consiste em, já tendo definido o modelo de classificação, efetuar o processamento
e classificação de novos fluxos de dados vindos de pacientes distintos. Uma vez que o fluxo de dados é
recebido, o seu pré-processamento é iniciado e é gerado um conjunto de atributos calculados por meio
de medidas descritivas. Este conjunto de dados é submetido à classificação segundo o modelo gerado. O
resultado desta classificação é “Ansioso” ou “Não ansioso”.
Na Figura 4.7 são descritos os procedimentos realizados pelo método para a classificação de novos
dados. Nas seções seguintes são detalhadas cada uma das etapas exibidas na figura.
4.2.1
Pré-Processamento de Fluxos Contı́nuos
Os pacientes que possuem aparelhos coletores de sinais de eletrocardiograma enviam os fluxos de dados
quando as janelas são completadas. Com as janelas de fluxo de dados, o método inicia o processo para
classificar o novo dado. Na Seção 4.1.2 é discutida a remoção de atributos correlacionados, a fim de
reduzir o processamento necessário para a geração de caracterı́sticas dos fluxos de dados. Ao final da
39
Figura 4.7: Processo para criação do modelo classificador de traços de ansiedade
seção, foram apresentados os atributos resultantes, demonstrando aqueles que eram realmente necessários
para caracterizar cada fluxo de eletrocardiograma.
A parte de técnicas de processamento de sinais representada na Figura 4.7 se refere à etapa de
pré-processamento dos novos fluxos. Uma vez recebida, a janela de dados é submetida às transformadas
de Fourier, Wavelet Haar, Wavelet Symlet, Wavelet Daubechies e Delta. Ao final desta etapa, têm-se seis
(6) fluxos de dados, sendo um para o resultado de cada transformada e o próprio fluxo do ECG.
Em seguida, os fluxos resultantes de cada uma das transformadas e o próprio fluxo do eletrocardiograma são submetidos à etapa de geração de atributos (representado pela extração de caracterı́sticas
na figura), sendo gerados atributos especı́ficos para cada um dos fluxos supracitados. Esta etapa pode
ser descrita da seguinte forma:
I Para o fluxo do eletrocardiograma são computadas a média aritmética, a área sob a curva e a
variância amostral;
II Para o fluxo da transformada de Fourier são extraı́dos a mediana e o coeficiente de variação de
Pearson;
III O fluxo da Wavelet Symlet tem a área sob a curva, o coeficiente de variação de Pearson e a moda
computados;
40
IV Para o fluxo da Wavelet Daubechies são computados a área sob a curva do filtro passar baixa,
a área sob a curva do filtro passar alta e a mediana do filtro passar alta (conforme discutido na
Seção 2.2.2);
V Para o fluxo da Haar são calculados o coeficiente de variação de Pearson e a moda;
VI Finalmente, para o resultado da transformada Delta é computada a moda.
Ou seja, ao final da etapa de pré-processamento obtém-se essa lista de atributos que representam
o fluxo original de dados de ECG de um paciente, contendo os 14 atributos mencionados acima.
4.2.2
Classificador de Ansiedade
Esta fase consiste na classificação dos novos fluxos de dados pelo método. Apesar de, neste trabalho, o
método utilizar apenas o classificador gerado pelo algoritmo One Rule, conforme discutido na Seção 4.1.3,
é mantido o cálculo de todos os catorze 14 atributos restantes — após a eliminação dos correlacionados.
Isso ocorre para garantir a flexibilidade do método, que permite que outros modelos de classificação
sejam empregados para a análise de outros tipos de sinais. Além disso, poderão ser aplicados métodos
que combinem resultados de diversos modelos, visando obter uma melhor classificação.
Uma vez que a lista de atributos tenha sido calculada para o respectivo fluxo de dados, ela é
submetida à classificação do modelo selecionado e treinado na primeira fase. O modelo selecionado para
a análise do ECG no método AnxECGStream foi gerado pelo algoritmo One Rule. Este algoritmo gera
um classificador bem simples, que obteve uma taxa de acerto muito promissora utilizando apenas um
atributo. Para a classificação dos dados, o algoritmo criou um modelo que utilizou a área do fluxo do
ECG para realizar a classificação. O modelo classifica como não ansioso todo fluxo de dados que possui
a área sob a curva inferior a 139.55 ou superior ou igual a 153.50. Os fluxos que apresentam a área do
fluxo do eletrocardiograma maior ou igual a 139.55 e menor do que 153.50 são considerados ansiosos.
O modelo gerado pelo One Rule apresentou taxas média de acurácia de 90%, e 0,931, Precision
e 0.931 de Recall. A F-Measure que é um cálculo para avaliação utilizando a Precision e Recall, possui
um valor de 0.931. Quanto maior a Precision, melhor o resultado do algoritmo.
Como resultado dessa etapa é esperado o resultado classificador do fluxo de dados entrante. O
conjunto de atributos gerado para o fluxo de dados é submetido à avaliação do classificador e o resultado
é a classificação em ansioso ou não ansioso, representando a presença ou ausência de traços de ansiedade
no fluxo de dados.
Por meio das Figuras 4.8 e 4.9, é possı́vel fazer uma comparação entre os fluxos de ECG com
traços de ansiedade e sem traços de ansiedade.
Na Figura 4.8 são exibidos fluxos de eletrocardiograma com traços de ansiedade. Na Figura 4.10
estão representados os mesmos fluxos porém com maior nı́vel de detalhes, reduzindo a quantidade de
pontos a serem exibidos. Quando comparamos estas figuras às Figuras 4.9 e 4.11, é possı́vel identificar
que existe uma grande diferença entre os pontos do complexo QT dos eletrocardiogramas com e sem
traços de ansiedade. Nos fluxos com traços de ansiedade as ondas T apresentam grandes valores ou
pouca diferença de potencial, quando comparados aos pontos R do fluxo.
41
Figura 4.8: Exemplos de fluxos de ECG com traços de ansiedade
Figura 4.9: Exemplos de fluxos de ECG sem traços de ansiedade
Outro fator capaz de descrever bem, de forma visual, essa diferença entre fluxos com e sem
traços de ansiedade, é que normalmente os fluxos sem a presença de traços de ansiedade normalmente
apresentam pequenas variações constantes entre o ponto T e o ponto R. Já os fluxos com traços de
ansiedade, apresentam uma variação quase nula entre esses pontos.
42
Figura 4.10: Exemplos de fluxos de ECG com traços de ansiedade com nı́vel de detalhe
Figura 4.11: Exemplos de fluxos de ECG sem traços de ansiedade com nı́vel de detalhe
Capı́tulo 5
Protótipo e Avaliação
Nesta seção é apresentado um estudo de caso para auxı́lio ao diagnóstico de traços de ansiedade por meio
de eletrocardiogramas. São descritos o processo de construção da base de dados para o experimento e o
funcionamento do sistema que suporta o método, como ele processa os sinais em fluxos de dados. Trata-se
de um sistema desenvolvido para demonstrar a viabilidade da construção de mecanismos de monitoramento escalável e eficiente, capaz de analisar um grande número de fluxos de dados simultaneamente.
São abordadas, entre outros aspectos, a maneira como ele utiliza a mineração de fluxo de dados, a taxa
de execução para um fluxo e a acurácia do modelo que estamos utilizando.
5.1
Simulador de Dados de Eletrocardiograma
Para a avaliação do método proposto neste trabalho, foram utilizados os dados descritos na seção 4.1.1.
Devido a restrições de recursos, ou seja, a indisponibilidade de aparelhos vestı́veis para a coleta de sinais de
eletrocardiograma de usuários, não foi possı́vel realizar um experimento real. Mesmo que dispuséssemos
deste equipamento, o teste de performance e escalabilidade exigiria um grande número de aparelhos e
voluntários suficiente gerando dados simultaneamente, o que é impraticável. Desta forma, foi necessário
criar um simulador capaz de gerar os sinais de eletrocardiograma de um número variável de pacientes
fictı́cios (e seus sensores).
O simulador usou como referência a base de dados de sinais de eletrocardiograma de 100 pacientes, que também foi empregada para a realização do treinamento do modelo gerado pelo algoritmo de
aprendizado de máquina, descrita detalhadamente na Seção 4.1.1. Utilizando a técnica de reconhecimento
de pontos R (ver Seção 2.4.2), foi possı́vel identificar cada um dos ciclos do eletrocardiograma de cada
paciente. Foi criada uma estrutura de dados com todos os ciclos de cada paciente, sendo cada um deles
representado por um número. A partir desta base de dados de ciclo, foram simulados os pacientes para
a avaliação do método.
Para dar inı́cio à simulação, é necessário determinar o número N de pacientes a ser simulados.
Uma vez definida a quantidade de pacientes N , o simulador cria uma série novos processos para representar
cada paciente, até chegar ao número de pacientes estipulado. Cada instância de processo escolhe um
44
aleatoriamente número entre 1 e 100, correspondendo a um paciente fictı́cio da base de dados. A instância
de processo passa, então, a reproduzir os valores armazenados para este paciente especı́fico na mesma taxa
de frequência em que esses dados seriam produzidos pelo aparelho coletor, ou seja, 250Hz. Desta maneira,
são simulados N pacientes simultaneamente, gerando dados na mesma taxa de coleta por aparelhos em
pacientes reais.
5.2
Protótipo
Para validar o método, foi desenvolvido, como protótipo, um sistema computacional elaborado na linguagem de programação Java. O sistema possui uma separação por módulos. Cada módulo é responsável
por uma etapa fundamental para o seu funcionamento, auxiliando no diagnóstico de ansiedade em tempo
integral para um conjunto de pacientes.
Figura 5.1: Diagrama de classe do protótipo desenvolvido para suportar o método AnxECGStream
A Figura 5.1 ilustra o diagrama de classes do protótipo, que compõem os seus diversos módulos. O
primeiro deles é o módulo de coleta, implemementado pelas classes Sinal e Gerenciador. Ele é responsável
pelo recebimento das janelas dos sinais biológicos elétricos enviados pelos sensores. Estes dados recebidos
são administrados em uma fila de processamento. O tempo nessa fila não deve ser grande para evitar o
45
acúmulo e aumento de instâncias na fila de processamento, ou seja, deve permitir que o diagnóstico seja
contı́nuo e ininterrupto.
Os dados são enviados ao próximo módulo, o módulo de pré-processamento dos sinais, que é implementado pelas classes Processador, Daubechies, Wavelet, Delta, FFT e Haar. Este módulo é responsável
pela extração de atributos dos sinais recebidos, conforme discutido na Seção 4.2.1.
O terceiro é o módulo classificador, utilizado para executar o método de classificação selecionado,
conforme discutido na Seção 4.2.2. Este módulo é implementado pelas classes Modelo e OneRule. O
protótipo, juntamente com o simulador descrito na Seção 5.1, foi utilizado para a realização dos testes de
avaliação, que são descritos na próxima seção.
5.3
Avaliação do Método Proposto
Nesta seção é descrita a avaliação do método proposto a partir de um estudo de caso utilizando a ferramenta computacional descrita anteriormente. Foram utilizadas entradas de dados de eletrocardiogramas
reais coletadas com a frequência de 250Hz. Contudo, devido à alta dificuldade para a execução de testes
em condições reais, foi necessário simular um conjunto de pacientes produzindo dados de eletrocardiograma continuamente para alimentar o sistema. Os testes foram realizados em um computador com o
sistema operacional Windows 7, um processador Intel i5 com frequência de processamento de 2.20GHz,
possuindo 4 núcleos de processamento e 4GB de RAM.
Os resultados do sistema com o método proposto foram satisfatórios, principalmente por ter
sido utilizado um computador de uso comum para esta avaliação. Os testes foram executados para um
número de pacientes simulados simultaneamente variando de 1 a 1200, em passos de 100. Foi necessário
interromper a avaliação para quantidades maiores que 1200 pacientes simultaneamente, pois este número
sobrecarregou a memória do computador alocada ao sistema. A simulação com cada grupo de pacientes
foi realizada 100 vezes e o valor representado nos gráficos e tabela a seguir são referentes ao tempo médio
das medições observadas para cada configuração.
Primeiramente, foi realizado um teste para comparar a performance dos três classificadores implementados, o C4.5, o Random Tree e o OneRule. Conforme discutido na Seção 4.1.3, o classificador
selecionado foi OneRule, devido tanto aos seus bons resultados na classificação, quanto a performance
superior. O gráfico ilustrado na Figura 5.2 representa o tempo total médio para a execução da classificação de um número variável de pacientes em paralelo, para cada um dos três classificadores avaliados.
É possı́vel observar que para quantidades maiores que 300 pacientes monitorados simultaneamente, o
desempenho do OneRule se torna muito superior.
Os demais testes forma realizados utilizando apenas o classificador selecionado, isto é, o OneRule.
Na Figura 5.3, o gráfico representa o tempo total médio para a execução da classificação de um número
variável de pacientes em paralelo. Na Figura 5.4, o gráfico representa o tempo médio para a execução da
classificação de um paciente, para uma quantidade variável de pacientes simulados (em segundos). Os
resultados mostram que o método é escalável pode ser utilizado para o monitoramento de um grande
número de pacientes simultaneamente. Entretanto, verifica-se na Figura 5.3 que o tempo de execução
46
Figura 5.2: Tempo de execução dos algoritmos por quantidade de pacientes em simultâneo
aumenta uito para mais de 800 pacientes. Na Figura 5.4, verifica-se que para mais de 800 pacientes o
tempo médio por paciente aumenta. Ou seja, o número de 800 pacientes analisados simultaneamente é
o mais apropriado para se evitar a criação de filas de processamento, causando atrasos e evitando que
os dados dos pacientes estourem a fila de requisição ao longo do tempo. Isto se dá, porque a janela de
tempo de atualização dos dados dos pacientes é de 2 minutos, ou seja, aproximadamente 120 segundos,
a para mais de 900 pacientes ou mais o tempo gasto é maior que esse.
Na Figura 5.4, é possı́vel identificar ainda que o tempo de inicialização do sistema com um único
paciente é bastante elevado, mas este se dilui para um número maior de pacientes. Para o número entre
100 e 800 pacientes o sistema possui uma ótima taxa de processamento, apresentando o melhor resultado
no intervalo que compreende entre 700 e 800 pessoas monitoradas em paralelo.
A Tabela 5.1 mostra, dentre as 100 simulações para cada número de pacientes, o menor tempo
registrado durante a execução de classificação de fluxos de dados para o determinado número de pacientes,
o tempo médio de execução, o maior tempo registrado e a porcentagem de variação entre o menor tempo
e o maior tempo de execução durante as simulações para o respectivo número de pacientes.
47
Figura 5.3: Tempo médio de execução do sistema por paciente (em segundos) comparado a média de
execução para o total de número de pacientes
Figura 5.4: Tempo médio para a execução da classificação de um paciente, para uma quantidade variável
de pacientes simulados (em segundos)
48
Número de Pacientes
Menor Tempo
Tempo Médio
Maior Tempo
Variação Min - Max
1
3,992
5,253
6,782
69,89%
100
12,585
13,447
14,522
15,39%
200
24,954
25,660
26,150
4,79%
300
36,765
37,229
37,467
1,91%
400
46,661
46,845
47,005
0,74%
500
49,633
53,307
59,880
20,65%
600
61,529
63,393
65,422
6,33%
700
68,797
73,191
77.870
13,13%
800
79,003
81,591
85,870
8,69%
900
118,252
120,120
121,825
3,02%
1000
152,987
155,157
157,347
2,85%
1100
194,190
201,477
208,669
7,46%
1200
405,206
417,244
429,282
5,94%
Tabela 5.1: Tempo de processamento em segundos
Capı́tulo 6
Conclusão
Detectar quadros de ansiedade é de extrema importância para a medicina. A ansiedade pode estar
associada a outras doenças, como depressão ou sı́ndrome do pânico. No entanto, por ser um estado
atrelado a fatores psicológicos, o paciente pode não apresentar um comportamento que indique ansiedade
na maior parte do tempo. Essa circunstância dificulta o monitoramento em tempo integral do paciente
para que se criem tratamentos e acompanhamentos especı́ficos para o problema.
Com o objetivo de facilitar o diagnóstico da ansiedade, neste trabalho foi proposto um método
para identificar traços de ansiedade em um único paciente ou em um grupo de pacientes simultaneamente.
Para apoiar este monitoramento, foi desenvolvido um sistema computacional que auxilia os diagnósticos
de quadros de ansiedade por meio de registros de sinais de eletrocardiograma.
Existem poucos estudos que abordam o diagnóstico automático da patologia tratada no presente
trabalho. Ao apresentar uma acurácia de aproximadamente 90% de acerto, o método proposto se mostra
promissor. Além disso, o método proposto para o monitoramento de pacientes teve avaliada a sua
capacidade de processamento simultâneo. Nesse aspecto, suportou o monitoramento eficiente de até 800
usuários simultaneamente, mesmo quando executado em um computador de recursos limitados.
A possibilidade de acompanhamento simultâneo de diversos pacientes pode contribuir com a
investigação e o levantamento de dados estatı́sticos sobre a ocorrência de sinais de ansiedade em grupos
de pacientes de uma ou várias instituições. É possı́vel classificar os dados coletados por região, gênero,
instituição e faixa etária para que se identifique a maior frequência de ocorrência da ansiedade e sejam
estabelecidas campanhas preventivas.
Pretende-se ainda, como trabalho futuro, realizar testes com dados reais, ou seja, sinais de ECG
coletado em tempo real a partir de sensores vestı́veis, a fim de avaliar a performance do método, ainda
que para um número reduzido de pacientes. Pode-se também realizar novos estudos visando melhorar a
acurácia dos modelos preditivos e do método proposto. Uma melhora na qualidade preditiva do método
é possı́vel com a utilização de mais dados no processo de aprendizado de máquina, bem como com a
inserção de metodologias que possibilitem a extração de outras caracterı́sticas dos dados, ou a utilização
de outros algoritmos de aprendizado de máquina.
O estudo de caso aqui apresentado se limitou a facilitar o diagnóstico de quadros de ansiedade
50
com base em ECG de um grande número de pacientes simultaneamente. Desta forma, este trabalho
pode impulsionar estudos que relacionem padrões encontrados em Sinais Biológicos Elétricos para a
identificação de outras situações de interesse.
Mas o processamento de sinais biológicos permite estudos mais amplos. Por isso, o método
desenvolvido possibilita trabalhar com sinais biológicos em geral, promovendo a prevenção, aprimorando
diagnósticos e tratamentos de reabilitação. Se o objetivo for apenas a detecção de padrões ou extração de
caracterı́sticas, outros sinais que não sejam os biológicos também poderão ser utilizados, pois o método
não está restrito a eles, basta apenas que novos modelos classificadores sejam criados.
Referências Bibliográficas
[Aggarwal, 2004] Aggarwal, C. (2004). A framework for diagnosing changes in evolving data streams. In
ACM SIGMOD Int. Conference on Management of Data.
[Al-Kateb et al., 2007] Al-Kateb, M., Lee, B. S., e Wang, X. S. (2007). Adaptive-size reservoir samplis
over data streams. In In Proceeding of the 19th International Conference on Scientific and Statistical
Database Management. IEEE Computer Society, SSDBM ’07.
[Banaee et al., 2013] Banaee, H., Ahmed, M. U., e Loutfi, A. (2013). Data mining for wearable sensors
in health monitoring systems: A review of recent trends and challenges. sensors. Open Access.
[Barbosa e Calembo, 2012] Barbosa, W. L. O. e Calembo, K. N. (2012). MD-SBE: Uma ferramenta para
processamento de sinais biologicos eletricos. TCC.
[Batista, 2006] Batista, R. A. (2006). Wavelets aplicadas ao estudo de anisotropias de raios cosmicos.
Dissertação de Mestrado, Unicamp.
[Baxter et al., 2013] Baxter, A. J., Scott, K. M., Vos, T., e Whiteford, H. A. (2013). Global prevalence
of anxiety disorders: A systematic review and meta-regression. In Psuchol Med.
[Bifet e Kirkby, 2009] Bifet, A. e Kirkby, R. (2009). Data Stream Mining - A Practical Approach. The
University of Waikato. Centre for Open Software Innovation.
[Cardio, 2014] Cardio, M. (2014).
DisponÃvel em https://www.cardionet.com/.
Acessado em
16/03/2015.
[Constantino e Silva, 1999] Constantino, M. G. e Silva, G. V. J. (1999). A transformada de fourier em
basic. Quı́mica Nova, 23(3).
[Cooley e W., 1965] Cooley, J. W. e W., T. J. (1965). An algorithm for machine calculation of complex
fourier series. Mathematics of Computation, 19.
[Danielson e Lanczos, 1942] Danielson, G. C. e Lanczos, C. (1942). Some improvements in practical
fourier analysis and their application to x-ray scattering from liquids. Journal Franklin Inst, volume
233.
[Domingos e Hulten, 2000] Domingos, P. e Hulten, G. (2000). Mining high-speed data streams. In York,
A. N., editor, KDD ’00, pages 71–80. In: Proceedings of the Sisth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.
51
52
[Fong et al., 2011] Fong, S., Hang, Y., Mohammed, S., e Fiaidhi, J. (2011). Stream-based biomedical
classification algorithms for analyzing biosignals. Journal of Information Processing Systems, 7(4).
[Gama, 2010] Gama, J. (2010). Knowledge Discovery from Data Streams. Chapman & Hall/CRC, 1st
edition.
[Goldberg, 2014] Goldberg,
J. (2014).
Anxiety disorders.
http://www.webmd.com/anxiety-
panic/guide/mental-health-anxiety-disorders.
[Haghighi et al., 2009] Haghighi, P. D., Zaslavsky, A., Krishnaswamy, S., e Gaber, M. M. (2009). Mobile
data mining for intelligent healthcare support. In: 42nd Hawaii International Conference on System
Sciences.
[Haghighi et al., 2010] Haghighi, P. D., Zaslavsky, A., Krishnaswamy, S., Gaber, M. M., e Loke, S. (2010).
An architecture for context-aware adaptative data stream mining. Technical report, Monash University.
Disponivel em http://eprints.port.ac.uk/3359/1/p11.pdf Acessado em Novembro de 2014.
[Houghton e Gray, 2012] Houghton, A. R. e Gray, D. (2012). Making Sense of the ECG, Third Edition.
Hodder Education.
[Jin e Aggrawal, 2003a] Jin, R. e Aggrawal, G. (2003a). Efficient decision tree constructions on streaming
data. In: 9th ACM SIGKDD Int. Conference on Knowledge Discovery and Data Mining.
[Jin e Aggrawal, 2003b] Jin, R. e Aggrawal, G. (2003b). Efficient decision tree constructions on streaming
data. In: 9th ACM SIGKDD Int. Conference on Knowledge Discovery and Data Mining.
[Junior, 2012] Junior, P. G. L. (2012). Classificacao de trafego baseados em mineracao de fluxo de dados.
Dissertação de Mestrado, Universidade Federal de Pernambuco.
[Karqupta e Park, 2001] Karqupta, H. e Park, B. H. (2001). Mining decision trees from data streams in
a mobile environment. Data Mining, 2001. ICMD 2001, Proceedings IEEE International Conference,
pages 281–288.
[Katznelson, 2004] Katznelson, Y. (2004). An introduction to harmonic analysis. Dover Publications.
[Kibriya et al., 2004] Kibriya, A. M., Frank, E., Pfahringer, B., e Holmes, G. (2004). Multiniminal
Naive Bayes for text categorization revisited. In Proceedings of the 17th Australian joint conference on
Advances in Artificial Intelligence, pages 488–499. AI ’04, Springer-Verlaq.
[Kifer et al., 2004] Kifer, D., Ben, D. S., e Gehrke, J. (2004). Detecting change in data streams. In: 30th
Int. Conference on Very Large Data Bases, pages 180–191.
[LifeintheFastlane, 2014] LifeintheFastlane (2014). Paediatric ecg interpretation - Life in the fast lane
medical blog. Lifeinthefastlane.com.
[Lima, 2003] Lima, P. C. (2003). Wavelets: Uma introdução. Technical report, Departamento de Matematica - ICEX - UFMG.
53
[Maciel, 1996] Maciel, W. R. E. (1996). De um começo árduo ao prêmio nobel. Arquivo Brasileiro de
Cardiologia, 66(4).
[Magini et al., 2012] Magini, M., Mocaiber, I., Oliveira, L., Barbosa, W. L. O., Pereira, M. G., e Pinheiro,
W. M. (2012). The role of basal HRV assessed through wavelet transform in the prediction of anxiety
and affect levels: a case study. Journal of Biomedical Graphics and Computing, 2(1).
[Mark et al., 2009] Mark, H., Frank, E., Geoffrey, H., Pfahringer, B., Reutemann, P., e Witten, I. H.
(2009). The WEKA Data Mining: An Update. SIGKDD Explorations.
[Mark, 1998] Mark, J. B. (1998). Atlas of cardiovascular monitoring. New York: Churchill Livingstone.
[McCallum e Nigan, 1998] McCallum, A. e Nigan, K. (1998). A comparison of event models for naive
bayes tex classification. In In AAAI-98 Workshop on Learninf for Text Categorization, pages 41–48.
AAAI Press.
[MegaKoto, 2014] MegaKoto
(2014).
Mobile
ecg
telemetry
solutions
http://www.megakoto.fi/mobile ecg telemetry solution for remote monitoring.
(mets)
Acessado
em
16/03/2015.
[Melco, 2006] Melco,
dagem
T.
matemática.
Disponivel
em
C.
(2006).
Dissertação
Estudo
de
do
eletrocardiograma
Mestrado,
Universidade
sob
de
uma
São
aborPaulo.
http://www.teses.usp.br/teses/disponiveis/3/3152/tde-14122006-
113034/publico/TITOCOUTINHOMELCO.pdf. Acessado em Novembro de 2014.
[Microsoft, 2014] Microsoft (2014). Disponivel em https://www.microsoft.com/brasil/setorpublico/temas/devpartner.m
Acessado em 16/03/2015.
[Moyer, 2012] Moyer, V. A. (2012). Screening for coronary heart disease with electrocardiography: U.s.
preventive services task force recommendation statement. Annals of Internal Medicine.
[Myatt e Johnson, 2009] Myatt, G. J. e Johnson, W. P. (2009). Making Sense of Data II - A Practical
Guide to Data Visualization, Advanced Data Mining Methods and Applications. John Wiley and Sons,
Inc.
[Natarajan et al., 2013] Natarajan, A., Parate, A., Gaiser, P., Angarita, G., Malison, R., Marlin, B., e
Ganesan, D. (2013). In Detecting Cocaine Use with Wearable Electrocardiogram Sensors. UbiComp’13.
[Olson e Delen, 2008] Olson, D. L. e Delen, D. (2008). Advanced data mining techniques. Springer.
[Pektas et al., 2009] Pektas, G., Dinc, E., e Baleanu, D. (2009). Combined application of continuos
wavelet transform-zero crossing technique in the simultaneous spectrophotometric determinatio of perindopril and indapamid in tablets. Journal: Quı́mica Nova, 32(6):1416–1421.
[Pichot et al., 1999] Pichot, V., Gaspoz, J. M., Molliex, S., Antoniadis, A., Busso, T., Roche, F., Costes,
F., Quintin, L., Lacour, J. R., e Barthelemy, J. C. (1999). Wavelet transform to quantify heart rate
variability and to assess its instantaneous changes. Journal of Applied Physiology, 86:1081–1091.
54
[Porfirio et al., 2009] Porfirio, R. P., Júnior, O. A. C., Araujo, L. C. L. d., Silva, N. C. d., e Borges, D. L.
(2009). Processamento de imagens multitemporais usando a transformada rápida de fourier (fft) na
dimensão do tempo. In: Anais XIV Simpósio Brasileiro de Sensoriamento Remoto, pages 7071–7078.
[Quinlan, 1993] Quinlan, J. R. (1993). C4.5: Programs for Machine Learning. Morgan Kaufmann.
[Renato, 1995] Renato, M. E. S. (1995). O computador no processamento de sinais biológicos. Revista
Informêdica, 2(12):5–9.
[Rossi, 2014] Rossi,
A.
nuos de Dados.
L.
D.
(2014).
Tese de Doutorado,
Meta-aprendizado
Aplicado
a
Universidade de Sõo Paulo.
Fluxos
Contı́-
Disponivel em
http://www.teses.usp.br/teses/disponiveis/55/55134/tde-26032014-155351/pt-br.php.
Acessado
em Dezembro de 2014.
[Salles e Silva, 2012] Salles, L. F. e Silva, M. J. P. (2012). A identificacao da ansiedade por meio da
analise da iris: uma possibilidadea. Revista Gaucha de Enfermagem.
[Shafer et al., 1996] Shafer, J. C., Agrawal, R., e Mehta, M. (1996). SPRINT: A scalable parallel classifier
for data mining. In Kaufmann, M., editor, Proceedings of the Twenty-Second International Conference
on Very Large Databases, pages 544–555.
[Silva, 2012] Silva, I. S. (2012). Analise adaptativa de fluxo de sentimentos. Dissertação de Mestrado,
Universidade Federal de Minas Gerais.
[Silveira e Assis, 2002] Silveira, L. F. Q. e Assis, F. M. (2002). Desempenho da codificação wavelet
com Hamming e diversidade espaço temporal sobre canais sujeitos ao desvanecimento Rayleigh. In:
Simpósio Brasileiro de Microondas e Optoeletrônica - SBMO.
[Sivannarayana e Reddy, 1999] Sivannarayana, N. e Reddy, D. C. (1999). Biorthogonal wavelet transforms for ecg parameters estimation. Medical Engineering & Physics.
[Sun et al., 2010] Sun, J., Sow, D., Hu, J., e Ebadollahi, S. (2010). A system for mining temporal
physiological data streams for advanced prognostic decision support. In: IEEE Internation Caonference
on Data Mining.
[Tan et al., 2000] Tan, K. F., Chan, K. L., e Choi, K. (2000). Detection of the QRS complex, P wave
and T wave in electrocardiogram. In Advances in Medical Signal and Information Processing, number
476, pages 41 – 47. First International Conference on IEEE Conference.
[Tao e Ozsu, 2010] Tao,
Y.
e
cally changing distributions.
Ozsu,
T.
(2010).
Technical report,
Mining
data
streams
University of Waterloo.
https://cs.uwaterloo.ca/tozsu/publications/stream/cikm09 PeriodicalChange.pdf.
with
periodi-
Disponivel em
Acessado
em
Dezembro de 2014.
[Van Der Haar, 2014] Van Der Haar, D. T. (2014). Collective Human Biological Signal-Based Identification and Authentication in Access Control Environments. Tese de Doutorado, University of Johannesburg. Disponivel em http://hdl.handle.net/10210/12392. Acessado em Julho de 2014.
[Veloso e Meira-Junior, 2011] Veloso, A. e Meira-Junior, W. (2011). Demand-driven associative classification. Springerbriefs in Computer Science.
[Versiani, 2008] Versiani, M. (2008). Projeto diretrizes — transtornos de ansiedade: Diagnostico e tratamento. Technical report, Associacao Medica Brasileira e Conselho Federal de Medicina. Disponivel
em http://www.projetodiretrizes.org.br/projeto diretrizes/099.pdf. Acessado em Janeiro de 2014.
[Walker, 1996] Walker, J. S. (1996). Fast fourier transforms. CRC Press, Boca Raton.
[Witten e Frank, 2005] Witten, I. H. e Frank, E. (2005). Data Mining: Practical Machine Learning Tools
and Techniques, Second Edition (Morgan Kaufmann Series in Data Management Systems). Morgan
Kaufmann Publishers Inc., San Francisco, CA, USA.
[Zweig e Campbell, 1993] Zweig, M. H. e Campbell, G. (1993). Receiver-operating characteristics (roc)
plos: A fundamental evaluation toll in clinical medicine. Clinical Chemistry, 39(4):561 – 577.
[Watanabe et al., 2013] Watanabe, H., Kawarasaki, M., Sato, A., e Yoshida, K. (2013). Wearable ecg
monitoring and alerting system associated with smartphone: iheart. International Journal of E-Health
and Medical Communications (IJEHMC), 4(4):1–15.
[Greiner et al., 2000] Greiner, M., Pfeiffer, D., e Smith, R. D. (2000). Principles and practical application
of the receive-operating characteristics analysis for diagnostics tests. Preventive Veterinary Medicine.
[Zweig e Campbell, 1993] Zweig, M. H. e Campbell, G. (1993). Receiver-operating characteristics (roc)
plos: A fundamental evaluation toll in clinical medicine. Clinical Chemistry, 39(4):561 – 577.
[Bishop, 2006] Bishop, C. M. (2006). Pattern Recognition and Machine Learning (Information Science
and Statistics). Springer-Verlag New York, Inc., Secaucus, NJ, USA.
[Lo et al., 2005] Lo, B. P., Thiemjarus, S., King, R., e Yang, G.-Z. (2005). Body sensor network–a wireless
sensor platform for pervasive healthcare monitoring. na.
[Valenza et al., 2014] Valenza, G., Nardelli, M., Lanata, A., Gentili, C., Bertschy, G., Paradiso, R., e
Scilingo, E. P. (2014). Wearable monitoring for mood recognition in bipolar disorder based on historydependent long-term heart rate variability analysis. Biomedical and Health Informatics, IEEE Journal
of, 18(5):1625–1635.
[Chen et al., 2004] Chen, W., Wei, D., Cohen, M., Ding, S., Tokinoya, S., e Takeda, N. (2004). Development of a scalable healthcare monitoring platform. In Computer and Information Technology, 2004.
CIT’04. The Fourth International Conference on, pages 912–915. IEEE.
[Nguyen et al., 2014] Nguyen, T.-B., Lou, W., Caelli, T., Venkatesh, S., e Phung, D. (2014). Individualized arrhythmia detection with ecg signals from wearable devices. In Data Science and Advanced
Analytics (DSAA), 2014 International Conference on, pages 570–576. IEEE.
Download

Welton Luiz de Oliveira Barbosa Mineraç˜ao de Fluxo Cont´ınuo de