Proposta de metodologia para descoberta automatizada de associações em bases de dados, aplicando o processo de mineração de dados: um estudo de caso em uma unidade pública de saúde Derciley Cunha de Almeida (Universidade Federal de Goiás) derciley@msn.com Leonardo da Cunha Brito (Universidade Federal de Goiás) brito@eeec.ufg.br Leonardo Guerra de Rezende Guedes (Universidade Federal de Goiás) leonardo.guedes@uol.com.br Gelson da Cruz Junior (Universidade Federal de Goiás) gcruz@eee.ufg.br
Resumo: Com o uso das tecnologias de informação tornou-se possível para as organizações o armazenamento e o gerenciamento de grandes quantidades de dados eletronicamente, através da implantação de sistemas informatizados. Por outro lado, a análise completa e a extração do máximo de informações desse universo de dados disponíveis passaram a ser um grande desafio para os administradores. Este artigo propõe uma metodologia para descoberta automatizada de possíveis associações existentes em bases de dados com a aplicação do processo de mineração de dados, visando extrair informações de um grande universo de dados, utilizando recursos tecnológicos. Busca-se oferecer uma alternativa que seja eficiente e ao mesmo tempo não requeira altos investimentos. Dessa forma, este trabalho tem como objetivo estimular o uso de recursos de mineração de dados nas organizações. A metodologia foi testada através de um estudo de caso realizado em uma base de dados de uma unidade pública de saúde. Pelo estudo pode-se concluir que com a aplicação da metodologia proposta é possível descobrir associações em um banco de dados de forma automática. Palavras chave: Mineração de Dados, Descoberta de Associações, Algoritmo Apriori.
1 Introdução Com o avanço das tecnologias de informação tornou-se possível armazenar e organizar grandes quantidades de dados eletronicamente (Han et al., 2006, p. 3). O volume de dados registrados atualmente é imenso, graças aos mais modernos recursos de softwares de bancos de dados e redes de dados e telecomunicações. Embora existam casos de maior dificuldade para realização de mais investimentos na modernização de sistemas de informação, em um contexto geral, as organizações já
possuem imensas bases de dados históricos armazenados eletronicamente em decorrência das ações realizadas em seus diversos setores, além da coleta de informações e estatísticas sobre índices de desenvolvimento econômico e humano, que podem ser utilizadas como valiosas fontes de informação para tomada de decisões. Entretanto, toda essa enorme quantidade de dados supera a habilidade das pessoas para interpretar e refletir sobre esses dados, surgindo a necessidade de uma nova geração de ferramentas e técnicas para análise automatizada e inteligente (Fayyad et al., 1996, p. 1). Mesmo utilizando uma das mais modernas ferramentas de consulta e geração de relatórios disponíveis atualmente, há limitações em uma análise realizada por uma pessoa se o seu objeto for um grande volume de dados, pois poderiam ser necessárias centenas ou até milhares de consultas para explorar todas as combinações e situações possíveis de serem encontradas (Tang et al., 2005, p. 230). Profissionais de diversas áreas de conhecimento há bastante tempo já trabalham com a idéia de que em um conjunto de dados podem existir padrões que não estejam explícitos, mas que podem ser encontrados, identificados e validados automaticamente. Um grande desafio dos dias de hoje é armazenar dados eletronicamente e realizar buscas de forma automatizada, utilizando um computador (Witten et al., 2005, p. 4). Uma alternativa para análise de grandes quantidades de dados é a mineração de dados. Atualmente já existem várias técnicas e ferramentas para utilização desse recurso, sendo que muitas requerem a realização de altos investimentos, especialmente pelos custos com licenças para uso de softwares. Várias organizações realizam grandes investimentos em mineração de dados, mas vale destacar que muitas outras não dispõem de recursos suficientes para atender todas às suas necessidades e, por isso, é preciso buscar alternativas para viabilização de muitos projetos na área de tecnologia. 2 Descoberta automatizada de associações A descoberta de associações é uma das tarefas do processo de mineração de dados, também conhecido pelo termo inglês data mining, e abrange a busca que tenha como principal finalidade descobrir se há dois ou mais itens na base de dados que frequentemente apresentam ocorrências simultâneas, o que pode indicar uma associação entre esses itens ou até a influência de uns sobre outros (Passos et al., 2005, p. 14). A definição mais comum para mineração de dados, ou data mining, se refere ao processo de descoberta de padrões em bancos de dados de forma automática ou semiautomática (Witten et al., 2005, p. 5; Silberschatz et al., 2006, p. 496). Vale destacar que, além da descoberta de associações, com a utilização de técnicas de mineração de dados é possível realizar outras tarefas conhecidas como classificação e clusterização de registros, detecção de desvios, entre outras (Passos et al., 2005, p. 14). A análise de associações consiste no processo de avaliação das probabilidades de um evento específico ocorrer, considerando a ocorrência de outros eventos (Kudyba et al., 2001, p. 11). Um evento que ocorre muito frequentemente é considerado um padrão frequente,
como por exemplo, itens que aparecem juntos em diversos registros. Os padrões frequentes são indícios de possíveis associações (Han et al., 2006, p. 23). As informações sobre associações entre dados podem ser muito úteis para se compreender possíveis relações de causa e efeito entre muitas variáveis envolvidas em estudos e análises para tomada de decisões de administradores. 3 Execução do processo de mineração de dados Acredita-se que os melhores resultados sobre descoberta de informações não são alcançados quando simplesmente técnicas de mineração de dados são aplicadas diretamente em uma base de dados. Não se trata apenas do uso de um software que busca informações, pois a mineração de dados, na verdade, compreende todo um processo com um conjunto de procedimentos que precisam ser realizados adequadamente. Segundo Passos et. al. (2005, p. 11) é preciso compreender a mineração de dados como um processo com pelo menos três etapas, conforme está demonstrado na figura 1 a seguir. Entrada de Dados
PréProcessamento de Dados
Mineração de Dados
PósProcessamento
Informações
Figura 1 – Processo de mineração de dados
A entrada do processo de data mining é uma série de registros de dados relacionados a fatos, pessoas, objetos, etc. Na série, cada registro possui uma ou várias características predeterminadas, também chamadas de atributos. Assim, esse conjunto de dados é representado por uma matriz de registros x atributos. Ao visualizar a série na forma de uma tabela, cada linha é um registro e cada coluna é um atributo (característica) deste registro (Witten et al., 2005, p. 45). É muito incomum uma situação em que os dados disponíveis para aplicação de um processo de mineração de dados tenham sido coletados e armazenados já com esse propósito (Berry et al., 1997, p. 67; Witten et al., 2005, p. 59). No mundo real, os dados não estão prontos para um processo de data mining. Muitas transformações são necessárias para preparar os dados em um formato para a mineração de dados (Berry et al., 2000, p. 181). Na etapa de pré-processamento são realizados os procedimentos para extração, seleção, limpeza e transformação dos dados para a realização da efetiva mineração de dados. Essa etapa geralmente consome a maior parte dos esforços aplicados no processo inteiro (Witten et al., 2005, p. 52) e, quanto bem executada, melhora-se substancialmente a qualidade dos resultados (Han et al., 2006, p. 47). As transformações de dados necessárias e específicas dependem da técnica escolhida e do software utilizado como ferramenta para aplicação do processo de data mining. Algumas ferramentas, por exemplo, precisam que todas as variáveis numéricas sejam divididas em intervalos, já outras exigem que todos os valores sejam normalizados em um intervalo específico entre 0 e 1 (Berry et al., 1997, p. 67).
Tang et al. (2005, p. 14) ensinam que em algumas situações, há muitos valores distintos entre os dados e torna-se necessário agrupar esses valores em poucos grupos para reduzir a complexidade da análise. Nas buscas por associações, por exemplo, se há muitos itens distintos é recomendável agrupá-los em categorias (Tang et al. 2005, p. 237). Para Tan et al. (2009, p. 4), é importante transformar os dados em um formato apropriado para as análises subsequentes, isto é, executar procedimentos para a realização de fusão de múltiplas fontes de dados, a limpeza dos dados para remoção de ruídos e retirada de informações duplicadas e a seleção de registros e características (atributos) que sejam relevantes à tarefa de mineração de dados. Na etapa seguinte, são aplicados algoritmos, com auxílio de softwares, sobre os dados previamente tratados para realização de uma ou mais tarefas de mineração de dados para o alcance de um resultado esperado e torna-se necessário que os dados já estejam compatíveis com o algoritmo utilizado (Passos et al., 2005, p. 54). Tão importante quanto descobrir uma nova informação são as tarefas de analisar e interpretar os resultados e representar e descrever este conhecimento de forma que possa ser entendido pelas pessoas. O aprendizado se completa quando se adquire o conhecimento e, ao mesmo tempo, a capacidade de utilizá-lo (Witten et al., 2005, p. 9). Nesse sentido, a etapa de pós-processamento é imprescindível, já que de nada adianta todo o esforço de processamento e análise de dados e de uso de técnicas e ferramentas de mineração de dados se os resultados alcançados não puderem ser compreendidos, utilizados e aplicados em situações práticas e todo esse conhecimento obtido puder ser disseminado. 4 Algoritmo Apriori Com relação à descoberta automatizada de associações, um método de mineração de dados bastante eficiente e muito conhecido e utilizado é o algoritmo Apriori (Tang et al., 2005, p. 230). Han et al. (2006, p. 235) ensinam que o algoritmo foi proposto por R. Agrawal e R. Srikant em 1994 para mineração de combinações de itens frequentes em bases de dados. Cada valor distinto registrado em um conjunto de dados é considerado um item e a técnica se baseia no princípio de que há uma grande chance de existir uma associação entre os itens presentes entre os dados se estes aparecem muito frequentemente juntos. Em síntese, o algoritmo Apriori inicialmente identifica os itens existentes entre os dados e verifica a frequência em que cada um se repete. Em seguida, separa os itens com as maiores frequências e verifica se alguma combinação entre eles também ocorre muitas vezes. A idéia é bem original, simples e muito interessante, já que após a identificação de uma grande frequência em que uma combinação de itens se repete, pode-se investigar possíveis razões para que isso tenha ocorrido e, então, chegar-se a uma conclusão sobre a existência de algum tipo de padrão de associação entre esses itens. Assim, o método verifica a frequência em que a combinação de dois itens aparecem. Se a frequência for alta, adiciona um terceiro item, faz novamente a verificação e assim por diante.
A frequência de um item ou de uma combinação de itens, no contexto da aplicação do método, é denominada suporte desse item ou dessa combinação de itens. Dessa forma, o suporte é a medida referente ao tamanho da parte do total dos registros de dados em que a combinação aparece (Silberschatz et al., 2006, p. 502). Outra medida interessante para avaliar uma possível associação é a probabilidade em que ela ocorre, isto é, na presença de um determinado item qual a chance de outros itens também aparecerem (Tang et al., 2005, p. 232). Essa medida é chamada de confiança da associação e se trata da frequência em que a associação se confirma, considerando todas as ocorrências de cada item analisado (Silberschatz et al., 2006, p. 502). Em outras palavras, o suporte de uma regra de associação entre os itens A e B é a proporção do total de registros da base de dados que contêm ambos os itens, enquanto que a confiança dessa regra é a mensuração da sua exatidão, isto é, considerando todos os registros em que consta o item A, quantos desses apresentam também o item B (Larose, 2005, p. 184). Para aplicar a técnica é preciso definir previamente o suporte e o grau de confiança mínimos a serem considerados na busca, pois o algoritmo Apriori realiza a busca por regras de associação, considerando parâmetros mínimos de suporte e confiança previamente estabelecidos. Assim, o método desconsidera os itens e associações que, “apriori”, não atendam a esses requisitos. Acontece que, quanto mais itens presentes em uma série de dados, aumentam-se exponencialmente as combinações possíveis entre esses itens, o que leva a mais processamentos de computação para se verificar todas. Entretanto, parte-se do princípio que as associações com poucas frequências e com baixas probabilidades de ocorrerem não são interessantes e a definição de parâmetros mínimos direciona a busca para as melhores associações (Tang et al., 2005, p. 232). Por exemplo, se há 1 milhão de registros e define-se um suporte mínimo de 1%, apenas os itens e as associações que envolvem mais que 10.000 desses registros interessam (Berry et al., 1997, p. 144). 5 Metodologia proposta para descoberta de associações com o uso do algoritmo Apriori Com o objetivo de melhor compreender o processo de mineração de dados e alcançar melhores resultados com a sua aplicação, propõe-se uma metodologia para realização de todo o processo, a qual está apresentada através da figura 2, a seguir. A metodologia proposta visa direcionar o processo de mineração de dados especificamente para descoberta automatizada de possíveis associações existentes em bases de dados. Buscase oferecer uma alternativa que seja eficiente na busca automatizada por associações e ao mesmo tempo não acarrete altos custos, principalmente os decorrentes de pagamentos para utilização de softwares. Toda a aplicação da metodologia pode ser realizada com o uso de softwares livres. Para realização dos procedimentos de preparação e transformação de dados podem ser utilizados, por exemplo, softwares livres de gerenciamento de banco de dados tais como Mysql e Postgres, acompanhados de ferramentas de interface gráfica, também de livre uso, para acesso e manipulação desses dados, tais como OpenOffice Base e HeidiSql
entre outros.
Base de Dados
1ª FASE
2ª FASE
Definição dos Objetivos do Processo
É preciso, inicialmente, definir os objetivos que se almeja alcançar para que todo o processo de mineração de dados seja direcionado por eles.
Definição do suporte e grau de confiança mínimos a serem considerados.
Com base nos objetivos definidos são estabelecidos os parâmetros mínimos de suporte e confiança que serão utilizados na busca por associações.
Seleção e Extração de Dados
Também com foco nos objetivos, a base de dados é analisada e são selecionados os dados que serão preparados para o processamento do algoritmo Apriori.
Limpeza de Dados
Trata-se da manipulação dos dados, de forma a reduzir o índice de ausência de informações e as inconsistências existentes entre os dados. Essa limpeza é realizada com o objetivo de retirar incoerências e falhas decorrentes de erros ocorridos durante a entrada dos dados e preencher as informações que possam estar ausentes.
Tabulação dos Dados
3ª FASE Transformação dos Dados - fusões; - agrupamentos; - tratamentos; - etc.
4ª FASE
É a contagem dos itens de dados distintos presentes em cada atributo. Essa contagem permite uma visualização das frequências (suporte) dos itens dos atributos. A representação dessas tabulações em gráficos auxilia na identificação dos atributos que apresentam maiores ou menores variações de valores e uma possível concentração ou polarização dos dados. Devem ser analisados, principalmente, os itens com frequências abaixo do suporte mínimo definido para o processo. É a principal fase da metodologia. Consiste na verificação da possibilidade de preenchimento de dados através de fusões de dados de outros atributos, tratamentos de dados visando tornar as informações mais significativas e no agrupamento dos dados muito dispersos. Nessa fase os dados passam por algumas etapas de transformação. O principal objetivo desses procedimentos é evitar que os atributos apresentem muitos itens distintos e, com isso, a maior parte não alcance o suporte mínimo definido, pois esses dados seriam desconsiderados durante o processamento do algoritmo Apriori.
Nova Limpeza de Dados e Remoção de Duplicidades
Uma nova limpeza também se faz necessária para corrigir possíveis falhas ocorridas durante as transformações de dados. Também é muito importante retirar possíveis registros duplicados da base de dados, pois essas duplicidades poderiam acarretar uma falsa percepção de que existem determinadas associações por conta da análise de vários registros coincidentes que na verdade se referem a uma mesma informação.
Mineração de Dados
Utilizando a ferramenta de mineração de dados WEKA, os dados são submetidos ao processamento do algoritmo Apriori, respeitando-se os parâmetros mínimos de suporte e confiança definidos no início do processo.
Análise e Interpretação dos Resultados
As regras sobre padrões de associação existentes que atingiram os requisitos mínimos de suporte e confiança são identificadas, mas precisam ser interpretadas, principalmente porque é comum aparecer muitas regras repetidas que definem, na verdade, a mesma associação. Diante dos resultados alcançados o processo poderá ser novamente realizado com novas definições de objetivos ou parâmetros de suporte e confiança.
5ª FASE
6ª FASE
Figura 2 – Metodologia proposta para descoberta automatizada por associações com o uso do algoritmo Apriori
Como ferramenta de mineração de dados, para aplicação de técnicas e algoritmos, sugere-se o uso do software WEKA (do acrônimo, Waikato Environment for Knowledge Analysis), desenvolvido pela Universidade Waikato, situada na Nova Zelândia. Suas principais características são: é um software open source (com código livre); possui uma interface gráfica bastante intuitiva, o que torna fácil a sua utilização; é bem
completo em relação a técnicas para realização de tarefas de data mining; e há a possibilidade se manipular dados acessando diretamente os sistemas de banco de dados ou arquivos no formato texto, tais como os do tipo *.csv. A técnica de mineração de dados escolhida é o algoritmo Apriori e por isso busca-se, com a aplicação da metodologia, alcançar melhores resultados com uma boa preparação dos dados, direcionada especificamente para aumentar o desempenho do algoritmo. É comum encontrar em bases de dados atributos com dados (itens) sobre datas, quantidades ou valores monetários, os quais apresentam ausências e inúmeras variações, ou seja, muitos itens distintos. Alguns procedimentos são muito úteis para a transformação desses dados. Com relação a datas, sugere-se considerar apenas o mês, o trimestre ou ano em que o respectivo evento ocorreu e em determinados casos podem ser realizados cálculos para se obter a idade aproximada da pessoa (através da data de nascimento) ou tempo decorrido entre um evento e outro, conforme exemplos demonstrados na figura 3. Data_evento 11/2/2008 16/8/2008 23/5/2009 19/12/2009 (...)
Ano_evento_ocorreu 2008 2008 2009 2009 (...)
Data_Nascimento 11/2/1980 16/4/1976 23/5/1972 19/12/1987 (...)
Exemplo 1
Idade_Aproximada_2010 30 34 38 23 (...)
Exemplo 2
Figura 3 – Exemplos de processamento e transformação de dados referentes a datas
A ausência de dados de determinados atributos podem ser reduzidas ao se fazer uma fusão com os dados de outros atributos, desde que relacionados a uma mesma informação ou contexto. Isso é possível, principalmente nos casos em que não se está trabalhando com valores exatos, mas sim, aproximados e verifica-se que na maioria dos casos os dados dos atributos estão quase equivalentes. A figura 4 mostra um exemplo de fusão de dados de dois atributos para reduzir a ausência de informações. Cliente A B C D E
Data_Cadastro 11/10/2007 12/3/2008 4/1/2009 -
Data_1ª_Visita 21/10/2007 1/9/2008 13/10/2009
Ano_aproximado_ingresso 2007 2008 2008 2009 2009
Figura 4 – Fusão e transformação de dados de dois atributos
Os dados numéricos podem, ainda, ser agrupados em intervalos para reduzir os itens distintos dos atributos, como nos exemplos demonstrados na figura 5.
Quantidade 12 18 23 29 (...)
Faixas_Quantidade 11 - 20 11 - 20 21 - 30 21 - 30 (...)
Exemplo 1
Idade 12 18 23 29 (...)
Faixa de Idade 11 - 20 11 - 20 21 - 30 21 - 30 (...)
Exemplo 2
Figura 5 – Exemplos de agrupamentos de dados em categorias ou grupos
6 Estudo de Caso A metodologia proposta foi aplicada em uma base de dados de uma unidade pública de atendimento de saúde, com sede situada na cidade de Goiânia, no Estado de Goiás, jurisdicionada à Secretaria Estadual de Saúde, que integra o Sistema Único de Saúde. Trata-se da Central de Medicamentos de Alto Custo (CMAC) Juarez Barbosa que é responsável pelo o fornecimento de medicamentos excepcionais gratuitamente a pessoas que necessitam de tratamento de saúde que, geralmente, tem custo elevado e requer uma atenção especializada. São realizados na unidade, em média, cerca de 1.000 atendimentos por dia para fornecer medicamentos, realizar cadastramentos e registrar pedidos de pessoas portadoras de doenças tais como: hepatites “B” e “C”; esquizofrenia; esclerose múltipla; artritereumatóide; entre outras. Grande parte das pessoas atendidas apresenta doenças graves, sendo algumas consideradas raras, e uma possível falta de um medicamento pode interromper seu tratamento e causar sérios problemas à sua saúde. Atualmente, são investidos mais de R$ 50 milhões ao ano na realização dessa atividade de atendimento à saúde pública. Desde 1998, as atividades da CMAC Juarez Barbosa passaram a ser executadas com o auxílio de sistema informatizado. Para realização deste estudo de caso, foi disponibilizada uma cópia completa de um backup dessa base de dados, realizado no mês de janeiro do ano de 2010. Dessa forma foi possível aplicar a metodologia proposta neste trabalho para realização de todo o processo de mineração de dados para análise desse universo de dados. Assim, inicialmente foi estabelecido como objetivo do processo a descoberta de possíveis associações entre dados referentes à solicitação de medicamentos. Vale destacar, que para solicitar um medicamento à unidade para um suprimento por um período de 3 (três) meses, o paciente precisa realizar ou atualizar seu cadastro e apresentar o Laudo para Solicitação de Medicamentos Excepcionais (LME), que é um formulário adotado pela unidade, e uma ampla documentação referente a diagnósticos, exames e receitas médicas. Em seguida, foram definidos os parâmetros mínimos de suporte de 10% e de confiança de 80% como referência para a busca de associações.
Foram extraídos 746.355 registros de solicitações de medicamentos realizadas desde 1998 e selecionados 15 atributos referentes a essas solicitações, conforme demonstrado na tabela 1, a seguir.
Atributo Codigo_medic Qtde_pedida_medic Turnos_atend CID_paciente Data_solic Guiche_atend Munic_res Peso_paciente Altura_paciente Sexo_paciente Raca_cor_paciente Munic_nat_paciente Data_nasc_paciente Data_entrada_paciente prog Unid_medic
Descrição Código do medicamento solicitado. Quantidade do medicamento solicitada. Turno em que a solicitação foi registrada no sistema. I={M – Manhã ; V – Vespertino} Código da doença do paciente registrado com a formalização do processo para a dispensação de medicamentos. Data da solicitação da SME. Código do guichê que emitiu o cartão para início da dispensação. Código do município do endereço do paciente. Peso do paciente. Altura do paciente. Sexo do Paciente. I={1- Masculino; 2- Feminino} Raça/Cor do Paciente. I={01 - BRANCA; 02 - PRETA; 03 - PARDA; 04 - AMARELA; 05 – INDIGENA} Código do município de naturalidade registrado no momento do cadastro do paciente. Data de nascimento do paciente. Data da entrada do paciente no programa de dispensação. Unidade adotada para definir a quantidade do medicamento. Exemplos: comprimido; ampola; frasco; caixa; seringa; etc.
Tabela 1 – Informações que foram selecionadas para os registros inicialmente extraídos da base de dados
Apenas para fins de análise e comparação de resultados, se esses dados selecionados fossem submetidos imediatamente ao processamento do algoritmo Apriori com a definição dos parâmetros mínimos de suporte e confiança mencionados, seriam encontradas apenas 10 regras de associação após esse processamento. Entre as regras estariam envolvidos dados de apenas 6 atributos, dos 15 submetidos ao processamento. A única informação que poderia ser extraída das regras seria a de que os medicamentos solicitados em comprimidos são requisitados em quantidade de 90. Como a maioria dos medicamentos distribuídos pela a unidade é adquirida em comprimidos seria possível deduzir que os medicamentos são solicitados para consumo em 1 comprimido por dia, já que as solicitações visam ao atendimento da necessidade do tratamento por um período de 3 meses. Prosseguindo com a aplicação da metodologia, foi feita uma tabulação desses dados, sendo gerados gráficos de barras para facilitar a visualização das frequências dos itens distintos em cada atributo, assim como dos dados ausentes. Em síntese, da análise da tabulação realizada e dos gráficos gerados, verificou-se as seguintes informações em cada atributo, conforme demonstrado na tabela 2 a seguir.
Atributo Codigo_medic Qtde_pedida_medic Turnos_atend CID_paciente Data_solic Guiche_atend Munic_res Peso_paciente Altura_paciente Sexo_paciente Raca_cor_paciente Munic_nat_paciente Data_nasc_paciente Data_entrada_paciente prog Unid_medic
Taxa de ausência de dados 1,7% 3,3% 44,3% 25,3% 2,1% 24,2% 56,8% 68,6% 69,4% 10,7% 43,0% 22,3% 0,1% 0,9% 1,8%
Quant. itens distintos 207 427 2 905 3.357 41 240 402 345 2 5 1.656 27.518 3.241 11
Quant. itens com suporte acima de 10% 1 2 2 1 0 3 1 0 0 2 2 1 0 0 3
Quant. itens com suporte acima de 5% 4 4 2 4 0 4 1 0 0 2 2 1 0 0 5
Quant. itens com suporte acima de 1% 24 15 2 15 0 6 4 6 9 2 3 7 0 0 6
Tabela 2 – Informações sobre os dados (itens) presentes em cada atributo selecionado
Observou-se que a maioria dos atributos apresentava muitos itens distintos, principalmente os dados numéricos e os referentes a datas. Diante disso, poucos itens possuíam maiores graus de suporte e apenas estes seriam considerados durante o processamento do algoritmo Apriori. Dessa forma, buscou-se realizar várias transformações nos dados com o objetivo de agrupálos em faixas. Também foram criados novos atributos com informações extraídas a partir dos inicialmente selecionados com o objetivo de enriquecer ainda mais a análise. Outra preocupação se referiu a um grau bastante expressivo de ausência de dados e juntamente com as várias transformações e agrupamentos realizados, foi possível buscar, na própria base de dados, as informações que pudessem suprir essa ausência. Os dados sobre o período da solicitação de medicamentos foram trabalhados para serem processados por ano e por trimestre. Considerando as datas de nascimento, foram encontradas as idades aproximadas dos pacientes no momento da solicitação e do início dos atendimentos recebidos pela unidade. Da mesma forma, foi possível encontrar o tempo em que os pacientes já vinham sendo atendidos, em anos, no momento da solicitação. Para os municípios de residência e de nascimento constantes em cada solicitação foi registrada a informação da distância, em km, em relação à capital do Estado de Goiás, Goiânia, ou se o referido município está localizado fora deste Estado. Os medicamentos solicitados foram analisados pelos seus custos médios extraídos das informações das últimas aquisições constantes, também, na base de dados. Em seguida, os dados dos atributos com informações sobre custo e quantidade dos medicamentos solicitados, ano da solicitação e idade, peso, altura, tempo de atendimento e distâncias dos municípios de nascimento e residência do paciente foram agrupados
em faixas, conforme uma análise das maiores concentrações de dados. Quanto às doenças, já que foram registradas através de códigos da Classificação Internacional de Doenças e Problemas Relacionados à Saúde (CID), utilizada pela Organização Mundial de Saúde (OMS), com a ajuda de profissionais de saúde da direção da unidade as doenças foram classificadas e agrupadas conforme as categorias de três caracteres dessa mesma classificação internacional. Após as transformações realizadas, foi realizado um novo processo de limpeza, através da verificação da existência de possíveis inconsistências e duplicidades entre os dados. Após o tratamento realizado é possível observar, conforme as informações sobre os dados apresentadas nas tabelas 3 e 4, a seguir, que os dados estão mais adequados para o processamento do algoritmo, já que há menores taxas de ausência e menos itens distintos em cada atributo, em função do agrupamento realizado, que possibilitou que houvesse mais itens com suporte acima do mínimo definido para o processo.
Atributo Faixas_custo_medic Faixas_qtde_pedida_medic Turnos_atend Categorias_CID_paciente Grupos_guiche_atend Faixas_peso_paciente Faixas_altura_paciente Sexo_paciente Grupos_raca_cor_paciente Grupos_unid_med Faixas_ano_solic Trimestre_solic Faixas_distancia_munic_res Faixas_distancia_munic_nat Faixas_idade_entrada_prog Faixas_idade_na_disp Faixas_tempo_no_prog
Descrição / Itens Custo do medicamento em R$. I={1-3; 4-10; 11-50; >=51} Quantidade solicitada. I={01-15; 16-80; 81-100; >=101} Turno do atendimento à solicitação. I={M – Manhã; V – Vespertino} Categoria da doença, conforme a CID. I={Código da categetoria (1 a 22)} Guichê. I={1- Guichê 1; 2- Guichê 2 3- Guichê 3; O- Outros guichês} Peso do paciente. I={01-60; 61-90; >=91} Altura do paciente. I={01-140; 141-160; 161-190; >=191} Sexo do paciente. I={1- Masculino; 2- Feminino} Raça/Cor do paciente. I={1- Branca; 3- Parda; O- Outras} Unidade de medida do medicamento. I={ CAPS – Cápsulas; COMP – Comprimidos; F/A – Frasco ou Ampola; O – Outras} Ano da solicitação. I={<=2001; 2002-2003; 2004-2005; 2006; 2007; 2008; >=2009} Trimestre em que ocorreu a solicitação. I={1; 2; 3; 4} Distância (km) do município de residência do paciente em relação a capital. I={Cap – 0 km; 001-050 km; 051-170 km; >=171 km; FE - Fora do Estado} Distância (km) do município de naturalidade do paciente em relação a capital. I={Cap – 0 km; 001-100 km; 101-200 km; >=201 km; FE - Fora do Estado} Idade aproximada em que o paciente ingressou no programa . I={00-19 anos; 20-33 anos; 34-44 anos; 45-56 anos; 57-69 anos; >=70 anos} Idade aproximada do paciente no momento da solicitação. I={00-25 anos; 26-40 anos; 41-50 anos; 51-60 anos; 61-70 anos; >=71 anos} Tempo aproximado em que o paciente participa do programa. I={0 anos; 1 anos; 2 anos; 3 anos; 04-05 anos; 06-10 anos; >=11 anos}
Tabela 3 – Informações sobre os atributos selecionados após as transformações realizadas
Atributo Faixas_custo_medic Faixas_qtde_pedida_medic Turnos_atend Categorias_CID_paciente Grupos_guiche_atend Faixas_peso_paciente Faixas_altura_paciente Sexo_paciente Grupos_raca_cor_paciente Grupos_unid_med Faixas_ano_solic Trimestre_solic Faixas_distancia_munic_res Faixas_distancia_munic_nat Faixas_idade_entrada_prog Faixas_idade_na_dispensacao Faixas_tempo_no_prog
Taxa de ausência de dados 16,1% 3,3% 44,3% 1,4% 24,2% 68,6% 69,4% 10,7% 43,0% 1,8% 0,0% 0,0% 7,9% 22,3% 1,1% 0,1% 2,6%
Quant. itens distintos 4 4 2 19 4 3 4 2 3 4 7 4 5 5 6 6 7
Quant. itens com suporte acima de 10% 4 4 2 3 4 2 2 2 2 4 7 4 4 5 6 6 6
Quant. Itens com suporte acima de 5% 4 4 2 6 4 2 2 2 2 4 7 4 4 5 6 6 6
Quant. itens com suporte acima de 1% 4 4 2 11 4 3 3 2 3 4 7 4 4 5 6 6 6
Tabela 4 – Informações sobre os dados (itens) dos atributos selecionados após as transformações
Os dados dos 17 atributos resultantes dos processamentos das etapas anteriores foram submetidos ao processamento do algoritmo Apriori, com utilização do software WEKA e com a definição dos parâmetros de suporte e grau de confiança mencionados. Do processamento realizado pelo algoritmo foram geradas 109 regras de associação. Observou-se que entre as regras geradas pelo algoritmo estavam envolvidos dados de 12 atributos, dos 17 submetidos ao processamento. Após uma interpretação das regras geradas, foi possível extrair informações interessantes sobre padrões de associação existentes entre os dados, conforme demonstrado a seguir. Considerando que há parte maior de medicamentos em comprimidos entre os fornecidos pela unidade de saúde, naturalmente puderam ser extraídas associações, tais como: quase 90% das solicitações de medicamentos com custo entre R$ 4,00 e R$ 10,00 são por comprimidos e as com medicamentos de valores entre R$ 1,00 e R$ 3,00, além de geralmente solicitados em comprimidos, indicam quantidades entre 81 e 100 e são mais comuns nas solicitações encaminhadas ao guichê 3, principalmente por mulheres. Em relação às quantidades de medicamento solicitadas, as solicitações entre a faixa de 81 a 100 geralmente são para atender às indicações de posologias em comprimidos. Vale ressaltar que a grande maioria se refere à solicitação da quantidade de 90. Verifica-se, também, um indício de relação entre a categoria de CID nº 13 (doenças do sistema osteomuscular e do tecido conjuntivo) com pacientes do sexo feminino, pois cerca de 80% das solicitações de medicamentos que apontam algum código de CID dessa
categoria são de pessoas do sexo feminino. Ainda sobre as mulheres, há uma referência significativa de que mais de 80% das solicitações de pessoas com 1,41 a 1,60 metros de altura também foram realizadas por pacientes do sexo feminino. As mulheres geralmente solicitam medicamentos em comprimidos e em quantidades entre 81 a 100. É possível deduzir, ainda, que as solicitações dos medicamentos para doenças da categoria de CID nº 13 – a maioria são de pacientes do sexo feminino – foram direcionadas para o guichê 3 e, geralmente, esses medicamentos têm custo de cerca de R$ 1,00 a R$ 3,00. Ainda quanto à categoria de CID, das solicitações que informaram alguma doença classificada como de categoria nº 5 (transtornos mentais e comportamentais) 97% se tratavam de busca por medicamentos em comprimidos. Vale destacar que algumas regras mostram informações bem interessantes com relação à idade em que as pessoas entraram no programa e a idade no momento da solicitação. Uma regra mostra que 98% das solicitações das pessoas que ingressaram no programa com idade de até 19 anos foram realizadas quando as mesmas tinham idade de até aproximadamente 25 anos. Outra aponta que mais de 90% das solicitações das pessoas com idade entre 61 e 70 anos no momento da solicitação eram de pessoas que ingressaram no programa com idade entre 57 a 69 anos. Também foi identificado o fato de que 85% das solicitações de pessoas com mais de 70 anos de idade no momento da solicitação eram de pessoas que ingressaram no programa já com 70 anos ou mais. Por outro lado, vale apontar, até mesmo por se tratar de uma busca automatizada, que uma regra bem óbvia foi encontrada. Trata-se da informação de que as solicitações de pessoas que ingressaram com mais de 70 anos no programa foram realizadas quando as mesmas tinham mais de 70 anos no momento da solicitação. Chamou a atenção o fato de que mais de 85% das solicitações realizadas entre os anos de 2004 e 2005 ocorreram no período da manhã. A princípio, deduz-se que o atendimento era mais direcionado para esse turno naquela época. Todas essas afirmações foram confirmadas junto à diretoria da unidade. 7 Conclusão Pelos resultados alcançados pode-se concluir, inicialmente, que com a aplicação da metodologia proposta é possível descobrir associações interessantes em uma grande base de dados, por meio de um processo de mineração de dados utilizando o algoritmo Apriori, para que sejam avaliadas e analisadas por administradores. Ficou demonstrado que os dados precisam ser preparados sistematicamente durante um processo de mineração de dados. Em outras palavras, não é recomendável simplesmente escolher um conjunto de dados e submetê-lo à aplicação de um software de busca de associações. A metodologia proposta possibilita maiores oportunidades para a utilização do
processo de mineração de dados nas organizações para descoberta automatizada de associações em bases de dados, já que oferece as principais diretrizes para a execução do processo e pode ser aplicada sem a realização de grandes investimentos. A descoberta e a investigação das relações de associação existentes podem auxiliar em estudos e pesquisas para melhorar a tomada de decisões, além de proporcionar um melhor atendimento aos seus clientes. Como sugestão para trabalhos futuros, todo o processo pode ser realizado novamente com a inclusão de outros dados presentes na base de dados e até mesmo com a definição de outros níveis menores de suporte, como 5% e 1%, e confiança, como 70% e 60%, para avaliar se mais associações úteis podem ser encontradas. Da mesma forma, a metodologia pode ser aplicada em outras bases de dados. Ainda podem ser estudadas outras técnicas de mineração de dados também disponíveis na ferramenta WEKA. Referências BERRY, Michael J. A.; LINOFF, Gordon. Data Mining: Techniques for Marketing, Sales, and Customer Suport. New York: Willey, 1997. FAYYAD, Usama M.; PIATETSKY-SHAPIRO, Gregory; SMYTH, Padhraic; UTHURUSAMY, Ramasamy. Advances in Knowledge Discovery and Data Mining. Menlo Park: American Association for Artificial Intelligence, 1996. HAN, Jiawei; KAMBER, Micheline. Data Mining: Concepts and Techniques. 2. ed. San Francisco: Morgan Kaufmann Publishers, 2006. KUDYBA, Stephan; HOPTROFF, Richard. Data Mining and Business Intelligence: A guide to productivity. Hershey: Idea Group Publishing, 2001. LAROSE, Daniel T. Discovering knowledge in data: an introduction to data mining. Hoboken: WileyInterscience, 2005. PASSOS, Emmanuel; GOLDSCHMIDT, Ronaldo. Data Mining: um guia prático. Rio de Janeiro: Elsevier, 2005. SILBERSCHATZ, Abraham; KORTH, Henry F.; SUDARSHAN, S. Sistema de Banco de Dados. 5. ed. Rio de Janeiro: Elsevier, 2006. TAN, Pang-Ning; STEINBACH, Michael; KUMAR, Vipin. Introdução ao Data Mining: Mineração de Dados. Rio de Janeiro: Ciência Moderna, 2009. TANG, Zhaohui; MACLENNAN, Jamie. Data Mining with SQL Server 2005. Indianapolis: Wiley, 2005. WITTEN, Ian H.; EIBE, Frank. Data Mining: practical machine learning tools and techniques. 2. ed. San Francisco: Elsevier, 2005.