• Aucun résultat trouvé

To raise awareness about colorectal cancer for all residents of New Jersey of at least high school age by 2006, with regard to effective

Dans le document Comprehensive Cancer Control Plan (Page 133-136)

Para se estar apto para desenvolver um modelo que calcule a probabilidade do risco de read- missão no Serviço de Urgências é necessário definir detalhadamente o conceito de readmissão. Após revisão da documentação estudada foi escolhida uma definição que reúne pelo menos um aspeto de cada uma das seguintes.

As readmissões hospitalares podem ser classificadas como planeadas e eventuais. As planeadas são aquelas necessárias para a continuidade da avaliação diagnóstica ou para a aplicação de terapêuticas. As não planeadas podem ser agrupadas em potencialmente evitáveis e não evitáveis. Quanto menor o intervalo entre a primeira admissão e a readmissão, maior a possibilidade do retorno por complicação ter sido potencialmente evitável [14].

As readmissões não planeadas são eventos clínicos agudos que requerem cuidados prestados de urgência. Quando as taxas de readmissão não planeadas são mais elevadas que o esperado, suscita-se menor qualidade de atendimento e estas são o foco da medição da qualidade dos

Perante o exposto e após discussão com o grupo de trabalho, optou-se por adotar a seguinte estratégia para modelar o problema: selecionar para casos positivos todas as admissões quando num período de 30 dias ingressasse, eventualmente, no mesmo hospital o mesmo paciente com o mesmo diagnóstico de admissão e para casos negativos os restantes casos. Nesse sentido, o nosso modelo visa “prever o risco de readmissão não planeada a 30 dias”.

CAPÍTULO

3

Metodologias

3.1 Árvores de Classificação

As árvores de classificação, um caso particular das árvores de decisão para problemas de classificação são um instrumento com um enorme potencial na tomada de decisão. Este método possui a capacidade de aprimorar e formalizar o processo da tomada de decisão [22].

O surgimento deste algoritmo remonta a séculos de história, onde os mais antigos relatos descrevem árvores de decisão criadas manualmente. Atualmente, esta técnica tem sido cada vez mais usada em modelos computacionais.

As árvores de classificação são um método que aproxima funções discretas, onde a função aprendida é representada por meio de uma árvore. A forma mais simples de demonstrar esta técnica consiste numa representação gráfica, do género de um fluxograma ou árvore, que permite representar e avaliar problemas que envolvem decisões sequenciais partindo de uma decisão inicial. Uma das principais vantagens destes métodos é a hipótese de decompor um problema complexo em diversos subproblemas mais simples. De uma forma recursiva, os novos subproblemas identificados voltam a ser decompostos em subproblemas ainda mais simples. Sucintamente, estes modelos utilizam a estratégia de dividir para conquistar: um problema complexo é decomposto em sub-problemas mais simples e recursivamente esta técnica é aplicada a cada sub-problema [23].

Figura 3.1: Exemplo de uma árvore de classificação, usando duas das variáveis deste estudo.

Figura 3.2: Sub-árvore correspondente à execução descrita.

Considerada como um dos mais populares algoritmos de inferência, são diversas as suas áreas de aplicação, nomeadamente em diagnósticos médicos e em análise de risco de crédito [24].

Formalizando, uma árvore de classificação é uma coleção de nós (internos), ramos e folhas (nós terminais) dispostos numa estrutura em forma de árvore. As divisões ocorrem nos nós internos, enquanto os rótulos das classes são armazenados nas folhas. As árvores são criadas para otimizar uma determinada função, o que envolve a escolha dos parâmetros que melhor separam os dados nos nós internos, ou seja, em cada nó é necessário determinar uma regra que defina a partição dos dados com o objetivo de separar as classes. Para isto, usamos uma métrica denominada como medida de impureza que em cada nó permite escolher a variável e o valor mais vantajosos pelos quais particionar. Como exemplo de uma destas medidas temos a entropia de Shannon, que é comummente utilizada na teoria da informação e pode ser definida como:

H(S) = −X

c∈C

pclog(pc),

onde S é o conjunto de valores de treino e pc é a probabilidade de uma amostra ser da classe c.

O ganho de informação (I) não é mais do que a redução esperada na impureza causada pelo particionamento das observações usando uma determinada variável [24] e pode ser definido como: Ij = H(Sj) − X k∈(L,R) S k j |S| H(S k j),

onde Sj é o conjunto de observações de treino no nó j, H(Sj) é a entropia de Shannon no nó j antes da divisão, e SL

j e SjR são os conjuntos de observações dos nós filhos direito e esquerdo, respetivamente, do nó j após a divisão. Desta forma, o ganho de informação mede a diferença da entropia de Shannon antes e após a divisão.

Treinar os parâmetros θj do nó j envolve maximizar o ganho de informação nesse nó. A cada nó é associada uma função de divisão binária que decide para qual nó filho atravessará de seguida.

As vantagens associadas às árvores de classificação são usualmente atribuídas à sua simplicidade: são fáceis de entender e interpretar; os resultados de classificação e regressão podem ser explicados pela lógica booleana; são fáceis de implementar e, independentemente do tamanho do conjunto de dados, podem lidar com a variabilidade do tipo dos atributos (numérico, categórico).

No entanto, o problema de construir uma árvore de classificação ideal é NP-completo; assim, as árvores construídas com algoritmos greedy podem não produzir uma solução globalmente ótima.

Um outro problema associado às árvores de classificação é serem propensas a overfitting e a generalizar mal. Ensembles de árvores de classificação, como random forests, aliviam o problema do overfitting, introduzindo um elemento de aleatoriedade ao construir as árvores individuais e criando um ensemble dessas árvores aleatórias.

podada. A cada árvore adicionada à random forest é calculado o erro Out-of-box (OOB). O erro OOB estima a performance da previsão avaliando as previsões sobre as observações que não foram utilizadas na construção da árvore em questão. Com a estimação do erro OOB não há necessidade de um conjunto de dados de validação independente, embora muitas vezes subestimem a melhoria real do desempenho e o número ótimo de iterações. Durante o teste, todas as decision trees da floresta classificam a amostra de teste e a classe atribuída é aquela que é mais frequente nas decision trees individuais. As random forest mostraram ser robustas ao ruído e outliers. Além disso, generalizam bem as variações nos dados.

3.3 Seleção de Variáveis

O método de seleção de variáveis explicativas usado neste modelo é conhecido como VSURF, que em inglês significa Variable Selection Using Random Forests. Como o próprio nome indica, este é um método construído especificamente para calcular a significância das variáveis num modelo random forest.

A base de atuação do procedimento VSURF consiste em três etapas:

1. A primeira etapa concentra-se na triagem de variáveis baseando-se na sua importância que é calculada durante a execução da random forest. Para isso, calcula-se um limite tendo em conta o desvio padrão (em múltiplas execuções da floresta aleatória) do índice de importância de uma variável sem importância e a partir deste são eliminadas as variáveis inúteis;

2. Na segunda etapa executa-se uma estratégia de seleção de variáveis forward ao conjunto de variáveis selecionadas da etapa anterior. Este tipo de seleção consiste, muito sucinta- mente, na adição de variáveis uma a uma, onde, a cada passo é construído e testado um modelo random forest. O modelo que apresentar o erro OOB mais baixo é selecionado e o conjunto de variáveis em que por ele utilizado é chamado de conjunto de interpretação; 3. Por fim, a terceira e última etapa baseia-se em eliminar a redundância do conjunto de interpretação, o que leva a um conjunto menor chamado de conjunto de previsão. Consiste num método de seleção de variáveis stepwise ascendente. O método stepwise ascendente é basicamente um processo forward, onde, a cada passo é também realizada uma análise a todas as variáveis já introduzidas, de maneira a que se mantenham significativas após a introdução da nova variável. Esta segunda análise corresponde a um processo backward, onde se inicia com todas as variáveis possíveis e se vão removendo uma a uma até todas serem estatisticamente significativas.

3.4 Matriz de Confusão / Avaliação de Modelos

Em análise preditiva e para um problema de 2 classes, uma matriz de confusão é uma tabela com duas linhas e duas colunas que reporta o número de true positives, true negatives, false

positives e false negatives. O recurso a esta matriz permite umaa análise mais detalhada do

que a mera proporção de previsões corretas (accuracy). Isto porque, a accuracy isoladamente não é uma métrica confiável para avaliar o desempenho de um classificador, nomeadamente

quando o conjunto de dados for não balanceado. Introduzimos então, de seguida, todas as métricas analisadas durante a avaliação dos modelos (estas métricas derivam da matriz de confusão).

Tabela 3.1: Matriz de confusão para um problema de 2 classes.

R R¯

P TP FP p

¯

P FN TN p¯

r r¯ n

R = observações reais positivas, ¯

R = observações reais negativas,

P = previsões positivas, ¯

P = previsões negativas,

TP (True Positive) = número de observações positivas previstas corretamente, TN (True Negative) = número de observações negativas previstas corretamente,

FP (False Positive) = número de observações negativas reais previstas erradamente (como positivas),

FN (False Negative) = número de observações positivas reais previstas erradamente (como negativas),

r = número de observações positivas reais, ¯

r = número de observações negativas reais,

p = número de previsões positivas, ¯

p = número de previsões negativas,

n = número total de observações,

onde assim, o número de acertos se localiza na diagonal principal (TP + TN).

Precision ou positive predictive value representa a percentagem de observações previstas corretamente em todas as observações previstas como positivas, e é definido por:

P P V = T P

Specificity ou true negative rate representa a percentagem de observações previstas corretamente em todas observações negativas, e é definido por:

T N R = T N

T N + F P (3.4)

Accuracy representa a percentagem de observações previstas corretamente no total de observações, e é definido por:

ACCY = T P + T N

T P + T N + F P + F N (3.5)

Balanced Error Rate representa a média das percentagens de observações previstas erradamente por classe no total de observações, e é definido por:

BER = (1 − T P R) + (1 − T N R)

node classes (3.6)

Receiver Operating Characteristic Curve (Curva ROC)

Em estatística, a curva ROC é o gráfico que ilustra a capacidade de diagnóstico de um classificador binário à medida que o seu limite de discriminação varia.

O gráfico da curva ROC é criado traçando o True Positive Rate (TPR) contra o False

Positive Rate (FPR), que pode ser calculado como 1-specificity. A curva ROC é, portanto, a sensitivity em função do FPR. A análise da curva ROC fornece ferramentas para selecionar

modelos possivelmente ótimos e descartar os subótimos independentemente do contexto de custo ou da distribuição das classes.

A curva ROC foi desenvolvida pela primeira vez por engenheiros elétricos e engenheiros de radar durante a Segunda Guerra Mundial para detetar objetos inimigos em campos de batalha e mais tarde introduzida na psicologia para explicar a deteção percetiva de estímulos. A análise desta curvas tem sido, desde então, utilizada em medicina, radiologia, biometria, previsão de riscos naturais, meteorologia, avaliação do desempenho de modelos e outras áreas, sendo cada vez mais utilizada em Machine Learning e Data Mining.

A área debaixo da curva ROC (AUC) é definida como a proporção de vezes que o modelo discrimina corretamente uma observação positiva de uma observação negativa. Segundo a literatura, uma AUC de 0.5 indica que o modelo não funciona melhor do que escolher aleatoriamente; uma AUC de 0.7 a 0.8 indica uma habilidade discriminativa aceitável; uma AUC superior a 0.8 indica uma boa habilidade discriminativa; AUC igual a 1 indica um modelo perfeito.

3.5 OpenCPU

"OpenCPU is a system for embedded scientific computing and reproducible research. The server exposes an HTTP API to develop and execute scripts, functions and reports." [25]

O que quer isto dizer? Muito sucintamente, o OpenCPU, executado num servidor remoto, é capaz de ler, chamar e executar scripts, funções e relatórios do R por meio de pedidos HTTP.

Os pedidos HTTP podem ter diferentes configurações, dependendo do que se quer fazer e do ambiente em que se está a trabalhar. No presente projeto possuem o seguinte formato:

/ocpu/user/username/library/pkgname/

Este é o formato requerido pelo OpenCPU para packages R instalados na biblioteca convencional de um utilizador Linux (username).

Ora, uma vez que um dos objetivos deste trabalho é o desenvolvimento web de uma solução que prevê a probabilidade do risco de readmissão no Serviço de Urgências a 30 dias, necessitamos de construir um package R que forneça essa probabilidade. Para isto é necessária a criação e instalação, no servidor remoto, de pelo menos uma função que retorne essa probabilidade fornecida por um dos modelos descritos no Capítulo 5.

O OpenCPU suporta diversos formatos diferentes de input e output, que podem ser consultados no manual do OpenCPU: “The OpenCPU System: Towards a Universal Interface

for Scientific Computing through Separation of Concerns” [25]. Para esta solução o formato

utilizado foi o formato JSON.

Este sistema separa a computação estatística (produzida nas funções R) de outras partes da aplicação. Os utilizadores não necessitam de conhecimento em R e qualquer linguagem de programação que seja capaz de efetuar um pedido HTTP pode chamar funções e/ou scripts R, sem necessidade de ver o código.

Neste trabalho tem-se como objetivo desenvolver um produto “pronto” para comercializar. Desta forma foi desenvolvida uma aplicação web com recurso às linguagens HTML, JavaScript, ao mecanismo CSS, à biblioteca jQuery e ao método AJAX. Estas questões serão desenvolvidas com mais detalhe no Capitulo 6.

Concluindo, o OpenCPU expõe o R como um serviço web e a partir daqui temos a capacidade de construir uma aplicação web que faz previsões utilizando este serviço.

CAPÍTULO

4

Exploração dos Dados

4.1 Relatório Inicial do Conjunto de Dados

Nesta fase do processo, considerada como uma das fases iniciais, foi necessário entender corretamente os dados fornecidos para não ser posta em causa a viabilidade da solução produzida. Como em qualquer área de negócio esta é uma tarefa de extrema importância, principalmente para quem é inexperiente, como foi o caso.

O objetivo desta fase é dar a conhecer ao leitor todos os constituintes da base de dados disponível (observações e variáveis), assim como os formatos dos mesmos. A propósito, por motivos de preservar a segurança da informação, todos os exemplos aqui apresentados não são exemplos reais, apenas preservam o formato real.

A amostra considerada para a realização deste projeto é um conjunto de dados com informação das admissões registadas durante dois anos de vários hospitais portugueses. Esta amostra foi disponibilizada em formato CSV (ASCII comma delimited data files) e utilizou-se o Microsoft Excel 2016 como ferramenta de suporte à visualização.

Este conjunto é constituído por 1.048.574 observações e 153 variáveis. As admissões consi- deradas são relativas ao Serviço de Ambulatório, Hospital de Dia, Internamento, Radioterapia e Urgências.

resultou num subconjunto com apenas 38.065 observações (admissões) e as mesmas 153 variáveis.

De notar que todas as variáveis categóricas da Tabela 4.2 possuem um código numérico ou alfanumérico que as caracterizam. Sem entrar em muitos detalhes, dois exemplos diferentes dessas codificações são a variável Sexo e as variáveis Diagnostico. No caso da variável Sexo, esta possui 2 níveis e os valores que lhe são atribuídos são 1 ou 2, onde 1 significa que é um paciente do sexo masculino e 2 do sexo feminino. Relativamente às variáveis Diagnostico, cada uma delas possui milhares de níveis (que não serão aqui especificados) e são codificadas de acordo com a codificação ICD9-CM. A Classificação Internacional de Doenças (9a revisão) (ICD9) foi projetada como sistema de classificação de cuidados de saúde, fornecendo um conjunto de códigos de diagnóstico para classificar doenças, incluindo uma ampla variedade de sinais, sintomas, descobertas anormais, queixas, circunstâncias sociais e causas externas de lesão ou doença.

Os códigos ICD9-CM são compostos por 5 carateres alfanuméricos onde os três primeiros correspondem às lesões e doenças de acordo com a Tabela 4.3 e os dois últimos correspondem a doenças derivadas das 18 categorias da Tabela 4.3 e/ou a detalhes das doenças. Estas subcategorias podem ser consultadas na plataforma online da World Health Organization.

De acordo com a tabela, temos então uma base de dados constituída por 150 variáveis não nulas, 7 quantitativas e 135 qualitativas, sendo que as restantes correspondem a datas e horas.

Tabela 4.2: Descrição das variáveis presentes na base de dados.

Variável Descrição da variável Tipo da variável Ano Ano da admissão do paciente na urgência Quantitativa (anos) Hospital Identificação do hospital Qualitativa (31 níveis) Numero Número hospitalar do paciente Quantitativa (∈ N) Sexo Género do paciente Qualitativa (2 níveis) DataNascimento Data de nascimento do paciente Qualitativa (datas) EFR Entidade financeira responsável Quantitativa (∈ N) Residencia Código do local de residência do paciente Qualitativa (3247 níveis) Distrito Distrito do paciente NULA Concelho Concelho do paciente NULA Freguesia Freguesia do paciente NULA Servico1

Serviços Qualitativa (449 níveis) ..

. Servico20 Entrada1

Datas de entrada nos respetivos serviços Qualitativa (datas) ..

. Entrada20 Saida1

Datas de saída nos respetivos serviços Qualitativa (datas) ..

. Saida20

DiagnosticoAdmissao Diagnóstico de admissão Qualitativa (7 níveis) Diagnostico1

Diagnósticos Qualitativa (6893 níveis) ..

.

Diagnostico20 Causa1

Eventos ambientais, circunstâncias e outras condições

Qualitativa (632 níveis) ..

. como causa de lesão e outros efeitos adversos Causa20

Procedimento1

Procedimentos Qualitativa (2835 níveis) ..

.

Procedimento20

MorfologiaTumoral Morfologia tumoral Qualitativa (491 níveis) DestinoAposAlta Destino após alta Qualitativa (5 níveis) NDiasPreOperatorio Numero de dias em pré-operatório Quantitativa (∈ N) NDiasUCI Numero de dias em UCI (Unidade Cuidados Intensivos) Quantitativa (∈ N) TipoAdmissao Tipo de admissão Qualitativa (7 níveis) TransferenciaPara Hospital de destino Qualitativa (82 níveis) TransferenciaDe Hospital de proveniência Qualitativa (92 níveis) MotivoTransferencia Motivo da transferência Qualitativa (5 níveis) Tempo Tempo total de consulta (em horas) Quantitativa (∈ N) Idade Idade Quantitativa (∈ N) DiagnosticoPrincipalGDH Diagnóstico principal designa-se e define-se como aquele que, Qualitativa (498 níveis) (HCFA16) depois do estudo do doente, é considerado responsável pela admissão

do doente no hospital (Agrupador HCFA16 - codificação GDH)

DiagnosticoPrincipalGDH Diagnóstico principal designa-se e define-se como aquele que, Qualitativa (665 níveis) (AP21) depois do estudo do doente, é considerado responsável pela admissão

Dans le document Comprehensive Cancer Control Plan (Page 133-136)

Outline

Documents relatifs