APLICAÇÃO DE TÉCNICAS DE AGRUPAMENTO EM DADOS DE SISTEMA DE … · 2019. 4. 10. ·...
Transcript of APLICAÇÃO DE TÉCNICAS DE AGRUPAMENTO EM DADOS DE SISTEMA DE … · 2019. 4. 10. ·...
UNIVERSIDADE FEDERAL DO PARÁ
CAMPUS UNIVERSITÁRIO DE TUCURUÍ
FACULDADE DE ENGENHARIA ELÉTRICA
APLICAÇÃO DE TÉCNICAS DE AGRUPAMENTO EM DADOS DE SISTEMA DE
POTÊNCIA
DEIVISON DE SOUZA BAIA
Tucuruí – PA
2015
DEIVISON DE SOUZA BAIA
APLICAÇÃO DE TÉCNICAS DE AGRUPAMENTO EM DADOS DE SISTEMA DE
POTÊNCIA
Trabalho de Conclusão de Curso submetido à
Universidade Federal do Pará - UFPA, como
parte dos requisitos necessários para a
obtenção do Grau de Bacharel em Engenharia
Elétrica, sob a orientação do Professor Dr.
Ivaldo Ohana e co - orientação do Engenheiro
MSc. Bernard Carvalho.
Tucuruí – PA
2015
III
IV
Ao meu pai, Luís Baia, e a minha mãe,
Maria Pereira.
V
AGRADECIMENTOS
Primeiramente agradeço a Deus por ter me dado vida e saúde.
Ao meu orientador professor Dr. Ivaldo Ohana e, também, ao meu co - orientador
engenheiro MSc. Bernard Carvalho, pelas orientações, que permitiram a realização desse
trabalho.
Aos meus pais Luís Baia e Maria Pereira de Souza, aos meus irmãos, aos meus tios
que me acolheram como um verdadeiro filho, enfim a toda minha família que sempre me
apoiou nas minhas escolhas.
Aos meus amigos e colegas de turma Weslei, Taci, Liel, Wilson, Ivanil, Daiane e
Edenize, companheiros de todas as horas, pela amizade e momentos felizes que passamos
juntos.
A minha noiva Jaqueline Martins pela paciência, dedicação e companheirismo.
Enfim a todas as pessoas que torceram por mim meus sinceros agradecimentos.
VI
LISTA DE FIGURAS
Figura 2.1: Dados, informação e conhecimento. ...................................................................... 15
Figura 2.2: Etapas da KDD....................................................................................................... 16
Figura 2.3: Mineração de dados coma intersecção de várias áreas. ......................................... 18
Figura 2.4: Tarefas de Data Mining.......................................................................................... 21
Figura 3.1: Registros agrupados em três clusters. .................................................................... 26
Figura 3.2: Diferentes tipos de grupos. .................................................................................... 29
Figura 3.3: Exemplo de funcionamento do K – means. ........................................................... 31
Figura 3.4: Exemplo de aplicação ............................................................................................ 31
Figura 3.5: Pontos de centro, limite e ruído ............................................................................. 32
Figura 3.6: Dendograma ........................................................................................................... 34
Figura 4.1: Tela inicial do RapidMiner .................................................................................... 39
Figura 4.2: Janela de boas vindas do software ......................................................................... 39
Figura 4.3: Configurando o programa ...................................................................................... 40
Figura 4.4: Processo de obtenção de agrupamentos ................................................................. 40
Figura 5.1: Assistente do exemplo fonte .................................................................................. 42
Figura 5.2: Identificação dos arquivos de dados ...................................................................... 43
Figura 5.3: Especificação do separador de coluna ................................................................... 43
Figura 5.4: Especificação do nome da coluna .......................................................................... 44
Figura 5.5: Especificação dos atributos .................................................................................... 44
Figura 5.6: Especificação dos atributos. ................................................................................... 45
Figura 5.7: Salvando o arquivo ................................................................................................ 45
Figura 5.8: Configuração do K – means ................................................................................... 46
Figura 5.9: Resultados apresentados pelo programa ................................................................ 46
Figura 5.10: Distribuição das amostras nos grupos .................................................................. 48
Figura 5.11: Distribuição das amostras nos grupos .................................................................. 50
Figura 5.12: Distribuição das amostras na terceira simulação. ................................................ 51
VII
LISTA DE TABELAS
Tabela 3.1: Exemplo ................................................................................................................. 26
Tabela 3.2: Resultados do exemplo .......................................................................................... 27
Tabela 4.1: Banco de dados 1 ................................................................................................... 36
Tabela 4.2: Banco de dados 2 ................................................................................................... 37
Tabela 4.3: Banco de dados 3 ................................................................................................... 38
Tabela 5.1: Resultados do banco de dados 1 ............................................................................ 47
Tabela 5.2: Resultados do banco de dados 2 ............................................................................ 49
Tabela 5.3: Resultado do banco de dados 3 ............................................................................. 50
VIII
SUMÁRIO
Capítulo 1- Introdução.............................................................................................................. 11
1.1 Introdução ............................................................................................................................. 11
1.2 Objetivos ............................................................................................................................... 12
1.3 Organização do Trabalho ...................................................................................................... 12
Capítulo 2 – Descoberta do conhecimento em banco de dados (KDD) ................................... 14
2.1 Introdução ............................................................................................................................. 14
2.2 Dados, informações e conhecimento.................................................................................... 14
2.3 Descoberta do conhecimento em banco de dados (KDD) .................................................... 15
2.4 Mineração de dados (Data Mining) ....................................................................................... 17
2.5 Tarefas da mineração de dados ............................................................................................ 20
2.5.1 Tarefas de previsão ....................................................................................................... 21
2.5.2 Tarefas descritivas ......................................................................................................... 22
Capítulo 3 - Analise de grupos ou (clustering) .......................................................................... 24
3.1 Metodologia .......................................................................................................................... 24
3.2 Visão geral ............................................................................................................................. 24
3.2.1 Aplicações típicas de agrupamentos. ............................................................................ 24
3.3 Tarefas de agrupamento ....................................................................................................... 25
3.3.1 Tipos de Agrupamentos ................................................................................................ 27
3.4 Principais algoritmos de agrupamento ................................................................................. 29
3.4.1 Algoritmo K-Means........................................................................................................ 30
3.4.2 Algoritmo DBSCAM ....................................................................................................... 32
3.4.3 Algoritmo aglomerativo ................................................................................................ 33
Capítulo 4 - Descrições dos Bancos de Dados e utilização do software RAPDIMINER ............. 35
4.1 Metodologia .......................................................................................................................... 35
4.2 Descrições dos Bancos de Dados .......................................................................................... 35
4.2.1 Banco de dados 1 .......................................................................................................... 36
4.2.2 Banco de dados 2 .......................................................................................................... 37
4.2.3 Banco de dados 3 .......................................................................................................... 37
4.3 Descrição do software RAPDIMINER ..................................................................................... 38
Capitulo 5 – Aplicações e Resultados obtidos .......................................................................... 42
5.1 Metodologia .......................................................................................................................... 42
5.1.1 Aplicação do algoritmo k-means no banco de dados 1 ................................................ 42
5.1.2 Resultado do banco de dados 1 .................................................................................... 47
IX
5.1.3 Resultado do banco de dados 2 .................................................................................... 48
5.1.4 Resultados do banco de dados 3 ................................................................................... 50
Capítulo 6 – Conclusões ........................................................................................................... 52
6.1 Considerações finais .............................................................................................................. 52
6.2 Trabalhos futuros .................................................................................................................. 53
Bibliografia ............................................................................................................................................ 54
X
RESUMO
Este trabalho traz o conceito de mineração de dados e suas aplicações em dados de
sistemas de potência. Serão descritos o processo de descoberta do conhecimento em banco de
dados (KDD), conceito de mineração de dados e o software utilizado nesse estudo.
A tarefa de agrupamento, ferramenta escolhida para o desenvolvimento desse trabalho
será descrita com mais detalhes assim como os algoritmos mais utilizados na obtenção dos
agrupamentos.
Por fim é feita uma analise nos bancos de dados e os resultados obtidos serão
discutidos.
Palavras chave: Processo da KDD, Mineração de dados, Tarefas de agrupamento, Software
RapidMiner, Bancos de dados, Algoritmo K-Means, Algoritmo DBSCAN e Algoritmo
aglomerativo.
11
Capítulo 1- Introdução
1.1 Introdução
A rápida evolução dos recursos computacionais ocorrida nos últimos anos permitiu
que, simultaneamente, fossem gerados grandes volumes de dados. Estima-se que a quantidade
de informação no mundo dobra a cada 20 meses e que o tamanho e a quantidade dos bancos
de dados crescem com velocidade ainda maior. O explosivo crescimento do volume de dados
tem gerado uma urgente necessidade de novas técnicas e ferramentas capazes de transformar,
de forma inteligente e automática, terabytes de dados em informações significativas e em
conhecimento. Essas informações, de grande valia para o planejamento, gestão e tomadas de
decisão, estão, na verdade, implícitas e/ou escondidas sob uma montanha de dados, e não
podem ser descobertas ou, no mínimo, facilmente identificadas utilizando-se sistemas
convencionais de gerenciamento de banco de dados. Em resposta a essa necessidade, surgiu o
Data Mining (DM), também chamado de Mineração de Dados.
Segundo (Tan, Steinbach, & Kumar, 2009), o campo da mineração de dados saiu dos
limites das técnicas atuais de análises de dados para lidar com desafios postos por esses novos
tipos de conjuntos de dados. A mineração de dados não substitui outras áreas da análise de
dados, mas as usa como base para muito do seu trabalho.
Um dos pontos fortes da área tem sido sua ênfase na colaboração com pesquisadores
de outras áreas. Muitas vezes, a habilidade na construção de equipes multidisciplinares tem
sido responsável pelo sucesso de projetos de mineração de dado como algoritmos novos e
inovadores.
Esse processo envolve o uso de diversas técnicas e nesse trabalho será apresentado
com mais ênfase a técnica de identificação de agrupamentos ou clustering. Segundo (Han &
kamber, 2001), agrupamento é utilizado, frequentemente, como um dos primeiros passos na
análise de dados feita pela mineração de dados para a identificação de grupos de registros
relacionados, os quais podem representar classes potencias que podem ser usadas como ponto
de partida para a exploração de outros relacionamentos. Possibilita a identificação de regiões
densas e esparsas que leva a descoberta de padrões de distribuições abrangentes e correlações
interessantes entre os atributos dos dados.
Segundo (Domingues, 2003), a análise de agrupamentos é usada, largamente, em
diversas aplicações, como, reconhecimento de padrões, análise de dados, processamento de
12
imagens e muitos outros. Em mineração de dados, os esforços se concentram em achar
métodos para essa análise que sejam efetivos e eficientes em grandes bases de dados.
Com esse trabalho pretende-se explorar pelo emprego de ferramentas de
agrupamentos, uma metodologia de utilização das técnicas relacionadas, adequada a uma base
de dados real, com grande volume de dados. Esses dados são oriundos do sistema elétrico de
potência.
1.2 Objetivos
Este trabalho tem como finalidade demonstrar a aplicabilidade de Técnicas de
agrupamento em dados oriundos do sistema elétrico de potência. Este trabalho está dividido
em várias etapas que serão discutidas nos capítulos seguintes.
O software utilizado é o RapidMiner versão 4.2, é uma versão livre que está disponível
a todos os interessados em estudar mineração de dados que irá auxiliar na compreensão dos
resultados.
1.3 Organização do Trabalho
Este trabalho está organizado em seis capítulos.
O capítulo 1 contém a introdução, objetivos e a estrutura do trabalho.
O capítulo 2 é referente aos fundamentos teóricos que serão abordados, contendo
informações sobre a descoberta do conhecimento em banco de dados (KDD) e Mineração de
dados (Data Mining).
O capítulo 3 aborda a descrição da técnica de agrupamento, que é a principal técnica
utilizada neste trabalho, mostra também os algoritmos k-means, DBSCAM e o algoritmo
aglomerativo básico.
O capítulo 4 apresenta a metodologia utilizada, informações sobre os bancos de dados,
e sobre o programa RapidMiner necessário para a realização desse estudo.
O capítulo 5 mostra os resultados obtidos após a aplicação da técnica de Agrupamento
nos bancos de dados.
13
O capítulo 6 apresenta uma conclusão sobre o trabalho, abordando os pontos mais
relevantes assim como algumas sugestões para trabalhos futuros.
14
Capítulo 2 – Descoberta do conhecimento em banco de
dados (KDD)
2.1 Introdução
Uma das principais atividades exercidas pelo homem é a busca do conhecimento, nas
últimas décadas, com os avanços dos recursos computacionais, uma grande quantidade de
dados são armazenados em meios magnéticos. Contudo, essa quantidade de dados produzida e
armazenada em larga escala, são inviáveis de serem lidos ou analisados por métodos
tradicionais, no qual o especialista utiliza planilhas de cálculos e relatórios informativos
operacionais para testar sua hipótese contra a base de dados.
Segundo (Tan, Steinbach, & Kumar, 2009), nessa linha de pesquisa surgiu a ideia de
descobrir conhecimento a partir de uma base de dados existentes, um processo de extração de
padrões, conhecido como descoberta de conhecimento em banco de dados (Knowledge
Discovery in Databases - KDD), podendo ser utilizada em varias áreas do conhecimento tais
como matemática, estatística, sistemas especialistas, reconhecimentos de padrões e medicina.
Este processo é interativo e interdisciplinar, pois o conhecimento descoberto é apresentado ao
usuário podendo ser avaliado e aprimorado.
Neste capítulo serão abordados conceitos básicos sobre as etapas da KDD, assim como
conceitos de mineração de dados e as técnicas mais utilizadas para a sua implementação.
2.2 Dados, informações e conhecimento.
Segundo (Kock, McQueen, & Baker, 1996), os conceitos de dados, informação e
conhecimento estão interligados. A Figura 2.1 mostra essa relação entre esses conceitos, em
função da capacidade de entendimento e da independência de contexto que cada um deles
implica.
15
Figura 2.1: Dados, informação e conhecimento. [Fonte: (Kock, McQueen, & Baker, 1996)].
Dados são elementos puros, quantificáveis sobre um determinado evento. Eles podem
ser fatos, números, texto ou qualquer mídia que possa ser computada.
A informação é o dado analisado e contextualizado. Envolve a interpretação de um
conjunto de dados, ou seja, a informação é constituída por padrões, associações ou relações
que todos aqueles dados acumulados podem proporcionar. Por exemplo, a análise de pontos
de equilíbrio no mercado pode fornecer informação acerca de quais produtos estão sendo
vendidos e a frequência de tais operações.
Enquanto que a informação é descritiva, o conhecimento é utilizado
fundamentalmente para fornecer uma base de previsão com um determinado grau de certeza.
O conhecimento refere-se à habilidade de criar um modelo mental que descreva o objeto e
indique as ações de modo a programar as decisões a tomar. Uma decisão é o uso explicito de
um conhecimento. O conhecimento pode ser representado como uma combinação de
estruturas de dados e procedimentos interpretáveis que levam a um comportamento
conhecido.
Este comportamento fornece informações que podem, então, serem utilizadas para
planejar e decidir.
2.3 Descoberta do conhecimento em banco de dados (KDD)
O processo através do qual é possível descobrir conhecimento em bancos de dados
chama-se Descoberta de Conhecimento em Banco de Dados (KDD – Knowledge Discovery
16
Database), que é o processo geral de conversão de dados brutos em informações úteis.
Consiste de uma série de passos de transformação, do pré-processamento dos dados até o pós-
processamento dos dados da mineração.
Os dados de entrada podem ser armazenados em uma diversidade de formatos
(arquivos simples, planilhas ou tabelas relacionais) e podem ficar em um repositório central
de dados ou serem distribuídos em múltiplos locais. O processo de KDD é formado por cinco
etapas que são seleção, pré-processamento, transformação, mineração dos dados e
interpretação do resultado como mostra a Figura 2.2.
Segundo (Bueno & Viana, 2012), esse processo pode ser usado em qualquer tipo de
banco de dados desde que antecipadamente seja realizada uma limpeza nos dados de forma
que fiquem somente os mais importantes e necessários.
Figura 2.2: Etapas da KDD. [Fonte: (Bueno & Viana, 2012)].
A seguir são detalhadas as fases do processo KDD:
Seleção
A fase de seleção é a primeira fase do KDD, é uma fase muito importante, pois é nela
que serão decididos quais os conjuntos de dados que serão relevantes para que sejam obtidos
resultados com informações úteis.
Pré-processamento
Na fase de pré-processamento acontece a limpeza dos dados e seleção de atributos.
Nesta etapa informações ausentes errôneas ou inconsistentes nas bases de dados devem ser
17
corrigidas de forma a não comprometer a qualidades dos modelos de conhecimento a serem
extraídos ao final do processo KDD.
Transformação
Nesta fase acontece a transformação de dados, ou seja, os dados importantes que
foram retirados no processo anterior são modificados de forma que a próxima etapa possa ser
realizada. A transformação nada mais é do que analisar os dados e reorganizá-los de uma
forma especifica e serão interpretados por um software de mineração de dados.
Mineração de dados
Na fase de mineração é onde tudo acontece, os dados depois de transformados serão
lidos e interpretados. A mineração faz com que meros dados sejam transformados em
informações, tais informações são indicadas através de regras que só podem ser interpretadas
através de força bruta, ou seja, lendo regra por regra e interpretando.
Análise dos resultados
Nesta ultima fase é onde as regras indicadas pelo processo anterior são interpretadas e
avaliadas. Após a interpretação poderão surgir padrões, relacionamentos e descoberta de
novos fatos, que podem ser utilizados para pesquisas, otimizações e outros.
2.4 Mineração de dados (Data Mining)
Segundo (Tan, Steinbach, & Kumar, 2009), a mineração de dados é o processo de
descoberta automática de informações úteis em grandes depósitos de dados, é uma parte
integral da descoberta de conhecimentos em banco de dados (KDD). As técnicas de
mineração de dados são organizadas para agir sobre grandes bancos de dados com intuito de
descobrir padrões úteis e recentes que poderiam de outra forma, permanecer ignorados. Elas
também fornecem capacidade de previsão do resultado de uma observação futura.
É definida como um esforço de cooperação entre homens e computadores. Os homens
projetam bancos de dados, descrevem problemas e definem seus objetivos. Os computadores
verificam dados e procuram padrões que casem com as metas estabelecidas pelos homens.
Vários fatores contribuíram em muito para o aumento do interesse em mineração de
dados como o desenvolvimento das técnicas de machine learning - redes neurais artificiais,
18
algoritmos genéticos, entre outras, que tornaram a descoberta de relações interessantes em
bases de dados mais atrativas.
Uma quantidade de outras áreas também desempenha papéis chave. Em especial, os
sistemas de bancos de dados são necessários para fornecer eficiente suporte ao
armazenamento, indexação e processamento de consultas. Técnicas da computação de alto
desempenho (paralela) são muitas vezes importantes para abordar o tamanho volumoso de
alguns conjuntos de dados (Tan, Steinbach, & Kumar, 2009).
A Figura 2.3 mostra o relacionamento da mineração de dados com outras áreas.
Figura 2.3: Mineração de dados coma intersecção de várias áreas. [Fonte: (Bernardes, 2010)].
Nos dias atuais praticamente todas as áreas do conhecimento podem ser usadas na
mineração de dados, no entanto existem áreas em que essa utilização é mais frequente. A
seguir serão citados exemplos de aplicações em alguns setores.
Negócios
A coleta de dados nos pontos de venda (scanners de código de barras, identificação
por frequência de rádio –RFID- e tecnologia de cartões inteligentes) permite aos varejistas
coletar uma grande quantidade de dados atualizados a respeito das compras de seus clientes,
eles podem utilizar essas informações para auxiliar e compreender melhor as suas
necessidades. As técnicas de mineração podem ser usadas para administração do fluxo de
trabalho, vendas direcionadas, perfis de clientes, formato de organização da loja e detectação
de fraudes.
19
Medicina
Dados médicos também têm sido utilizados em técnicas de mineração a fim de se
obter conhecimento a respeito de pacientes, doenças, entre as mais variadas informações
presentes em dados de hospitais, centros de pesquisa e órgãos governamentais. Alguns
exemplos são: Históricos de pacientes são avaliados por técnicas de mineração de dados que
podem indicar a propensão de pacientes para adquirir determinado grupo de doenças. Estas
informações podem ser úteis para indicação de tratamentos preventivos, análises de epidemias
e analise de efeitos colaterais das drogas.
Ciências
Pesquisas na área da ciência produzem dados indispensáveis para novas descobertas
importantes, como por exemplo, os pesquisadores em biologia molecular esperam usar
grandes quantidades de dados do genoma que estão sendo colhidos atualmente para
compreender melhor a estrutura e a função dos genes. Além de analisar dados de matrizes de
genes, a mineração de dados também pode ser usada para abordar outros importantes desafios
biológicos, como a previsão da estrutura de proteínas e a modelagem de caminhos
bioquímicos.
Marketing
No marketing as técnicas de mineração vêm sendo utilizadas para realizar diagnósticos
como a análise do comportamento do consumidor com base em padrões de compra, a
determinação de estratégias de marketing, incluindo propaganda, localização de lojas e mala
direta, a segmentação de clientes, lojas ou produtos, o projeto de catálogos, o layout de lojas e
campanhas publicitárias.
Engenharia
No setor da engenharia mais precisamente na área da engenharia elétrica a mineração
vem sendo utilizada para varias finalidades, como classificação de faltas em linhas de
transmissão, tipos de defeitos de transformadores, tipo de curtos-circuitos em Linhas de
Transmissão entre outros.
20
Produção
No setor de produção muitas empresas desenvolvem sistemas voltados para detectação
de falhas na fabricação de produtos, são utilizadas técnicas de agrupamento para identificar as
possíveis causas dessas falhas.
Investimento
No setor de investimentos várias empresas têm utilizado mineração de dados, embora
a maioria delas não divulgue, essas técnicas são utilizadas para obter ganhos financeiros.
Dentre as diversas técnicas a mais utilizada nesse caso são modelos de redes neurais no
mercado de ações e na cotação de moedas nas bolsas de valores como dólar e euro.
Indústria
As aplicações envolvem a otimização de recursos como equipamentos, força de
trabalho e matéria-prima, o projeto ótimo de processos de produção e projetos de produtos
com base nas exigências dos clientes.
Outras aplicações
Diversas áreas de conhecimento começam a utilizar técnicas de mineração de dados,
visando conhecer e identificar padrões até então desconhecidos. Entre essas áreas destacam-se
a área de seguros, bancos, comunicações e exploração de petróleo.
2.5 Tarefas da mineração de dados
Segundo (Tan, Steinbach, & Kumar, 2009), as tarefas de mineração de dados são
divididas em duas principais, as tarefas de previsão e tarefas de descrição como mostra a
Figura 2.4.
21
Figura 2.4: Tarefas de Data Mining
2.5.1 Tarefas de previsão
O objetivo das tarefas previsivas ou supervisionadas é prever o valor de um
determinado atributo baseado nos valores de outros atributos. O atributo a ser previsto é
comumente conhecido como a variável dependente ou alvo, enquanto que os atributos usados
para fazer a previsão são conhecidos como as variáveis independentes ou explicativas. As
tarefas preditivas mais comuns nas literaturas são: Regressão e Classificação.
Modelagem de previsão (Regressão e Classificação)
Refere-se à tarefa de construir um modelo de previsão para a variável alvo como uma
função das variáveis explicativas. As tarefas de modelagem de previsão se dividem em dois
tipos, sendo eles a regressão, que é usada para variáveis alvo contínuas, e a classificação,
usada para variáveis alvo do tipo nominal. Por exemplo, prever o preço futuro de um produto
é tarefa de regressão, por que a variável alvo é do tipo contínua (preço). Já prever se um
cliente vai ou não comprar determinado produto é uma tarefa de classificação, pois, a variável
alvo é do tipo nominal (compra, Sim ou Não). Ambas as tarefas têm o objetivo de aprender
um modelo que minimize o erro entre os valores previsto e real da variável alvo.
Na classificação são utilizados diversos classificadores baseados em árvores de
decisão, redes neurais artificiais, classificadores bayesianos entre outros.
22
2.5.2 Tarefas descritivas
O objetivo das tarefas descritivas ou não supervisionadas é derivar padrões
(correlações, tendências, grupos, trajetórias e anomalias) que resumam os relacionamentos
subjacentes dos dados. As tarefas descritivas da mineração de dados são muitas vezes
exploratórias em sua natureza e frequentemente requerem técnicas de pós-processamento para
validar e explicar os resultados. Dentre as tarefas descritivas mais comuns estão: Análise de
associação, detecção de anomalias, agrupamentos e outras como sumarização e modelo de
dependência.
Análises de associação
São utilizadas para descrever padrões que apresentem características altamente
associadas dentro dos dados analisados. A procura de associações entre variáveis é,
frequentemente um dos propósitos das pesquisas que buscam dados relevantes e convenientes.
Os algoritmos FP-Growth, Apriori e outros são utilizados para encontrar essa associação entre
variáveis. Medidas estatísticas como correlação e teste de hipóteses apropriadas revelam a
frequência de uma regra no universo dos dados minerados. Aplicações úteis da análise por
regras de associação incluem a descoberta de genes que possuam funcionalidade associada ou
a identificação de páginas Web que sejam acessadas juntas, por exemplo.
Detecção de anomalias
É uma tarefa que busca identificar observações cujas características sejam
significativamente diferentes do resto dos dados minerados. O objetivo de um algoritmo que
realize essa tarefa é descobrir as anomalias verdadeiras e evitar que se rotulem erroneamente
objetos normais como anômalos. Ou seja, um bom algoritmo de detecção de anomalias deve
ter uma alta taxa de detecção e uma baixa taxa de alarme falso. Como exemplos de aplicações
dessa tarefa citam-se as que incluem a detecção de fraudes em cartões de crédito, intromissões
numa dada rede de computadores e padrões incomuns de doenças.
Agrupamentos
A tarefa de agrupamento visa identificar e aproximar os registros similares. Um
agrupamento (ou cluster) é uma coleção de registros similares entre si, porém diferentes dos
outros registros. Esta análise relaciona um item a uma ou a várias classes categóricas (ou
23
clusters), onde as classes são determinadas pelos dados. Os clusters são definidos através do
agrupamento de dados baseados em medidas de similaridade ou modelos probabilísticos.
A análise de agrupamento é uma técnica que visa detectar a existência de diferentes
grupos dentro de um determinado conjunto de dados e dizer quais são eles. Nesse tipo de
análise, o procedimento tem inicio com o cálculo das distâncias entre os objetos estudados
dentro do espaço multiplano formado por eixos de todas as medidas realizadas, sendo os
objetos agrupados de acordo com a proximidade entre eles. Na sequencia, efetuam-se os
agrupamentos por aproximação geométrica, possibilitando o reconhecimento dos passos de
agrupamento para a correta identificação de grupos dentro do universo dos objetos estudados.
No próximo capítulo será detalhada essa tarefa, pois ela é a técnica principal deste
trabalho.
24
Capítulo 3 - Analise de grupos ou (clustering)
3.1 Metodologia
Neste capítulo serão abordadas as principais técnicas de análise de agrupamento e
serão descritos alguns algoritmos, como o k-Means, DBSCAN e o algoritmo aglomerativo
básico.
3.2 Visão geral
Segundo (Tan, Steinbach, & Kumar, 2009), a análise de grupos divide o conjunto de
dados em grupo (cluster) que tenham significado, sejam úteis, ou ambas as coisas. Se grupos
com significados forem o objeto, então os clusters devem capturar a estrutura natural dos
dados. Em alguns casos, entretanto, a análise de grupos é apenas um ponto inicial útil para
outros propósitos, como resumo de dados. Seja para compreensão ou utilidade a análise de
grupos tem desempenhado um papel importante em uma ampla variedade de campos.
3.2.1 Aplicações típicas de agrupamentos.
Segundo (Tan, Steinbach, & Kumar, 2009), seja para compreensão ou utilidade a
análise de grupos tem desempenhado um papel importante em uma ampla variedade de
campos dentre eles estão:
Negócios
Em negócios, podem ajudar comerciantes a descobrir grupos distintos em suas bases de
clientes e caracterizar grupos baseados em padrão de compra.
Biologia
Em biologia, pode ser usado para derivar taxonomias de plantas e animais, categorizar
genes com funcionalidades similares e ter uma visão dentro de estruturas inerentes em
populações.
Psicologia e medicina
Uma doença ou condição possui frequentemente uma quantidade de variantes, e a análise
de variantes, e a análise de agrupamentos pode ser usada para identificar essas subcategorias.
25
Recuperação de informações
Classificação de documentos na WEB para descoberta de informações, também utilizado
para agrupar resultados de pesquisas em grupos menores, cada um dos quais captura um
determinado aspecto da pesquisa.
Clima
Compreender o clima da terra requer encontrar padrões na atmosfera e no oceano. Para
este fim, a análise de grupos tem sido aplicada para encontrar padrões na atmosfera de regiões
polares e áreas de oceano que tenham um impacto significativo sobre o clima da terra.
3.3 Tarefas de agrupamento
Segundo (Domingues, 2003), em mineração de dados a descoberta de agrupamento é
uma tarefa descritiva, que utiliza técnicas de aprendizagem não-supervisionada. A
identificação das características intrínsecas dos dados permite a descrição de cada
agrupamento por meio de um padrão protótipo. É um processo iterativo e interativo, em que o
usuário normalmente modifica parâmetros e reapresenta os dados até encontrar uma
configuração satisfatória de agrupamentos.
Para (Domingues, 2003), processo de agrupamento consiste em agrupar dados em
classes ou grupos de objetos, os quais, quando comparados uns com os outros dentro de um
mesmo grupo, possuem alta similaridade, e, quando comparados com os objetivos de outro
grupo, são bastante dissimilares. As dissimilaridades são avaliadas com base nos valores dos
atributos que descrevem os objetos. Para essa finalidade, normalmente são usadas medidas de
distância.
A tarefa de agrupamento visa identificar e aproximar os registros similares. Segundo
(Camilo & Silva, 2009), um agrupamento (ou cluster) é uma coleção de registros similares
entre si, porém diferentes dos outros registros nos demais agrupamentos. Esta tarefa difere da
classificação, pois não necessita que os registros sejam previamente categorizados
(aprendizado não - supervisionado). Além disso, ela não tem a pretensão de classificar,
estimar ou predizer o valor de uma variável, ela apenas identifica os grupos de dados
similares, conforme mostra a Figura 3.1.
26
Figura 3.1: Registros agrupados em três clusters. [Fonte: (Camilo & Silva, 2009)].
Para melhor entendimento do processo de agrupamento será mostrado o exemplo a seguir.
Exemplo
Deseja-se separar os clientes em grupos de forma que aqueles que apresentam o
mesmo comportamento de consumo fiquem no mesmo grupo.
Tabela 3.1: Exemplo
Consumidor Qtd. Produtos Preço médio dos produtos (R$)
A 2 1.700
B 10 1.800
C 2 100
D 3 2.000
E 12 2.100
F 3 200
G 4 2.300
H 11 2.040
I 3 150
Este exemplo mostra a quantidade de produtos que o consumidor adquiriu, mostra
também o preço médio destes. Ao utilizar a técnica de agrupamento podemos identificar
como estarão divido esses clientes em diferentes grupos.
27
Tabela 3.2: Resultados do exemplo
Grupos Consumidor Qtd. Produtos Preço médio dos produtos (R$)
1
A
D
G
2
3
4
1.700
2.000
2.300
2
B
E
H
10
12
11
1.800
2.100
2.040
3
C
F
I
2
3
3
100
200
150
Neste exemplo foram identificados três grupos, onde cada um deles é caracterizado
por consumidores semelhantes em relação à quantidade de produtos adquiridos, e o preço
médio deles. Observa-se que no primeiro grupo a quantidade de produtos adquiridos pelos
consumidores foi baixa, mas o valor deles alto, no segundo grupo a quantidade de produtos
adquiridos foi alto e o preço também. Já no terceiro grupo a quantidade de produtos
adquiridos foi baixa assim como o preço deles.
Portanto podemos observar claramente como esses consumidores estão divididos e
onde eles melhor se encaixam.
3.3.1 Tipos de Agrupamentos
Segundo (Tan, Steinbach, & Kumar, 2009), o agrupamento objetiva encontrar grupos
úteis de objetos, onde a utilidade seja definida pelo objetivo das análises de dados. Os
agrupamentos podem ser classificados em diferentes grupos: bem separados, baseados em
protótipos, baseados em grafos, baseados em densidade e grupos conceituais.
Bem separados
Um grupo é um conjunto de objetos no qual cada objeto está mais próximo (ou é mais
semelhante) a cada um dos outros objetivos no grupo do que de qualquer outro objetivo que
não esteja nesse grupo. Às vezes um limite é usado para especificar que todos os objetivos em
grupos devem estar suficientemente próximos (ou serem semelhantes) entre si. Essa definição
idealista de um grupo é satisfeita apenas quando os dados contêm grupos naturais que sejam
28
bastante distantes entre si. A distância entre dois pontos quaisquer em grupos diferentes é
maior do que à distância entre dois pontos quaisquer dentro de um grupo (Figura 3.2 (a)).
Baseados em protótipos
Um grupo é um conjunto de objetos no qual cada objeto está mais próximo (é mais
semelhante) do protótipo que define o grupo do que do protótipo de qualquer outro grupo.
Para dados com atributos contínuos, o protótipo de um grupo é muitas vezes um centroide, a
média de todos os pontos no grupo. Quando um centroide não é significativo, como quando
os dados possuem atributos categorizados, p protótipo é muitas vezes um medóide, o ponto
mais representativo de um grupo. Para muitos tipos de dados o protótipo pode ser considerado
como o ponto mais central e, em tais instâncias, nos referimos comumente a grupos baseados
em protótipos como grupos baseados em centro (Figura 3.2 (b)).
Baseados em grafos
Se os dados forem representados como um grafo, onde os nodos são objetos e os links
representam uma conexão entre eles, então um grupo pode ser definido como um grupo
conectado. Um grupo de objetos que sejam conectados entre si, mas que não tenham conexão
com objetos fora do grupo. Um exemplo importante dos grupos baseados em grafos são
grupos baseados em contiguidade; onde dois objetos estão conectados apenas se estivessem
dentro de uma distância especificada. Isto implica que cada objeto em um grupo baseado em
contiguidade está mais próximo de algum outro objeto no grupo do que de qualquer ponto em
um grupo diferente.
Outros tipos de grupos baseados em grafos são possíveis, como o grupo exclusivo,
onde é definido como um conjunto de nodos em um grafo que estejam completamente
conectados entre si. Especificamente, se adicionarmos conexões entre objetos na ordem das
suas distâncias entre si, um grupo é formado quando um conjunto de objetos forma um grupo
exclusivo. Da mesma forma que grupos baseados em protótipos, tais grupos tendem a ser
globulares (Figura 3.2 (c)).
Baseados em densidade
Um grupo é uma região densa de objetos que sejam rodeados por uma região de baixa
densidade. Uma definição baseada em densidade de um grupo muitas vezes é empregada
quando os grupos são irregulares ou entrelaçados e, quando há ruídos ou elementos externos
(Figura 3.2 (d)).
29
Grupos conceituais
De forma geral um grupo é um conjunto de objetos que compartilham alguma
propriedade. Esta definição engloba todas as definições prévias de um grupo, objetos em um
grupo baseados em um centro, compartilham a propriedade de que são todos mais próximos
do mesmo centro ou medóide. Entretanto, a abordagem da propriedade compartilhada também
inclui novos tipos de grupos (Figura 3.2 (e)).
Figura 3.2: Diferentes tipos de grupos. [Fonte: (Tan, Steinbach, & Kumar, 2009)]
3.4 Principais algoritmos de agrupamento
Atualmente, uma grande variedade de algoritmos de agrupamento pode ser encontrada
na literatura, apresentando uma série de suposições sobre o espaço de dados e os tipos de
agrupamentos que devem ser obtidos.
Neste trabalho serão descritos três algoritmos de agrupamentos, o primeiro é o k-
means, que é uma técnica de agrupamento particional baseada em protótipos que tenta
encontrar um número de grupos especificado pelo usuário, que são representados pelos seus
centroides. O segundo é o algoritmo DBSCAM, que é um algoritmo de agrupamento baseado
em densidade que produz um agrupamento particional, no qual o número de grupos é
determinado automaticamente pelo algoritmo. E por último o algoritmo aglomerativo básico
que produz um agrupamento hierárquico iniciando com cada ponto como um grupo único e
depois fundindo repetidamente os dois grupos mais próximos até que um único grupo
englobando tudo seja encontrado.
30
3.4.1 Algoritmo K-Means
Segundo (Kranen, 2004), K-Means é um algoritmo de particionamento rígido do
espaço de dados, e se tornou popular por não impor restrições ao conjunto de amostras
podendo ser aplicado a qualquer quantidade de dados, foi definido por Mac Queen em 1967.
É um dos mais conhecidos e possui um maior número de variações como K – medóide,
Biseting K – means e vários outros.
De acordo com (Fonseca & Beltrame), K-means utiliza o conceito de centroides como
protótipos representativos dos grupos, onde o centroide representa o centro de um grupo,
sendo calculado pela média de todos os objetos do grupo. O objetivo deste algoritmo é
encontrar a melhor divisão de P dados em K grupos Ci, i = 1,... K, de maneira que a distância
total entre os dados de um grupo e o seu respectivo centro, somada por todos os grupos, seja
minimizada.
Segundo (Tan, Steinbach, & Kumar, 2009), a técnica de agrupamento K – Means é
simples e o algoritmo funciona da seguinte forma: Primeiro escolhemos K centroides iniciais,
onde K é um parâmetro especificado pelo usuário, ou seja, é o numero de grupos desejado.
Cada ponto é atribuído a seguir ao centroide mais próximo, e cada coleção de pontos
atribuídos a um centroide é um grupo. O centroide de cada grupo é então atualizado e baseado
nos pontos atribuídos ao grupo. Repetimos os passos de atribuição e atualização até que
nenhum ponto mude de grupo, e que os centroides permaneçam os mesmos.
Para (Tan, Steinbach, & Kumar, 2009), o algoritmo é descrito pelos passos a seguir:
1. Selecione K pontos como centroides iniciais.
2. Forme K grupos atribuindo cada ponto ao seu centroide mais próximo.
3. Recalcula-se o valor do centroide (protótipo) de cada grupo, como sendo a média dos
objetos atuais do grupo.
4. Repete-se os passos 2 e 3 até que os grupos se estabilizem;
A Figura a seguir ilustra o fundamento do K – means para K = 3. Na primeira iteração
os objetos circundados representam os que foram escolhidos aleatoriamente. Nas próximas
iterações os centros de gravidade são marcadas com um sinal de +.
31
Figura 3.3: Exemplo de funcionamento do K – means. [Fonte: (Amo)]
Segundo (Amo), é possível mostrar que o método K – means produz um conjunto de
clusters que minimiza o erro quadrático com relação ao centro de gravidade de cada cluster.
A Figura 3.4 mostra um exemplo para demonstrar o funcionamento do K – Means.
Figura 3.4: Exemplo de aplicação
Este exemplo demonstra o funcionamento do algoritmo k – Means, para formar dois
agrupamentos a partir da população composta pelos elementos {2, 6, 9, 1, 5, 4, 8}. No
primeiro passo toma-se como centroide iniciais (sementes) os números 2 e 6 essa é uma
escolha aleatória feita pelo algoritmo, no passo 2 é feita a primeira iteração com a adição do
primeiro número que é o 9. Observe que o centroide mais próximo dele é o 6 então ele fica
alocado nesse grupo, e então através da média desses dois números recalcula-se um novo
centroide, que passa a ser 7,5. Na terceira iteração o numero 1 é alocado no primeiro grupo
devido a maior proximidade com o centroide deste que é 2. Novamente recalcula-se o
centroide desse grupo através da média, então o centroide do grupo 1 passa a ser 1,5.
O processo é repetido até que todos os elementos façam parte de um dos clusters,
como mostra o passo 6 onde os grupos já estão definidos, sendo que o centroide c1 passou a
32
ser 2,33, e o centroide do grupo c2 passou a ser 7. A distância entre os pontos é calculada
através da equação da média descrita a seguir.
n
xxxx n
...21 , onde: Eq.1
x = média aritmética;
x = cada uma das observações;
n = número de observações.
O algoritmo de k-means é bastante escalar e confiável, porém apresenta alguns
problemas. Os principais problemas são:
Exige que as variáveis sejam numéricas ou binárias e frequentemente aplicações
envolvem dados categorizados, neste caso, uma alternativa é converter os dados
categorizados em valores numéricos ou utilizar uma das muitas variações do método.
É sensível a valores outliers, um único objeto com valor muito extremo pode
modificar, substancialmente, a distribuição dos dados.
É necessário escolher a quantidade de grupos que serão gerados;
3.4.2 Algoritmo DBSCAM
Segundo (Tan, Steinbach, & Kumar, 2009), DBSCAM é um algoritmo de
agrupamento baseado em densidade, esses agrupamentos localizam regiões de alta densidade
que estejam separadas entre si por regiões de baixa densidade.
A abordagem da densidade baseada em centro nos permite classificar um ponto como
estando (1) no interior de uma região densa (um ponto central), (2) no limite de uma região
densa (um ponto limite) ou (3) em uma região ocupada esparsamente (um ruído ou ponto de
segundo plano). A Figura 3.5 ilustra graficamente os conceitos de ponto de centro, ponto
limite e ruído.
Figura 3.5: Pontos de centro, limite e ruído. [Fonte: (Tan, Steinbach, & Kumar, 2009)]
33
Dadas as definições anteriores de pontos de centro, limite e ruído, o algoritmo
DBSCAM pode ser descrito da seguinte maneira. Quaisquer dois pontos de centro que
estejam suficientemente próximos dentro de uma distância Eps entre si, são colocados no
mesmo grupo. Da mesma forma, qualquer ponto de limite que esteja suficientemente próximo
de um ponto de centro é colocado no mesmo grupo do ponto de centro. Pontos de ruídos são
descartados. A seguir são mostrados os passos seguidos pelo algoritmo.
1. Rotular todos os pontos como de centro, de limite ou de ruído.
2. Eliminar os pontos de ruído.
3. Colocar uma aresta entre todos os pontos de centro que estejam dentro da Eps uns dos
outros.
4. Tornar cada grupo de pontos de centros conectados um grupo separado.
5. Atribuir cada ponto de limite a um dos grupos dos seus pontos de centro associados.
Devido ao fato de DBSCAM usar uma definição de grupo baseada em densidade, é
relativamente imune a ruídos e pode lidar com grupos de tamanhos e formas arbitrárias.
Assim, DBSCAM consegue encontrar muitos grupos que não poderiam ser encontrados
usando o K –means por exemplo.
Entretanto DBSCAM tem problemas quando os grupos têm densidades muito
variadas. Ele também tem problemas com dados de alta dimensionalidade porque a densidade
é mais difícil de definir para tais dados.
3.4.3 Algoritmo aglomerativo básico
Segundo (Tan, Steinbach, & Kumar, 2009), técnicas de agrupamento hierárquico
aglomerativo é uma categoria importante de métodos de agrupamentos onde a abordagem
básica é a seguinte:
Comece com os pontos como grupos individuais e, em cada etapa funda os pares mais
próximos de grupos até que reste apenas um grupo.
Um algoritmo hierárquico é exibido frequentemente em forma de dendograma, que
exibe tanto os relacionamentos grupo-subgrupo quanto a ordem na qual os grupos são
fundidos ou divididos a Figura 3.6 mostra essa representação.
34
Figura 3.6: Dendograma. [Fonte: (Linden, 2009)]
O algoritmo de agrupamento hierárquico aglomerativo básico é descrito a seguir de
acordo com (Linden, 2009):
1. Faça um cluster para cada elemento.
2. Encontre os pares de clusters mais similares, de acordo com uma medida de distância
escolhida.
3. Funda-os em um cluster maior e recalcule a distância deste cluster para todos os
outros elementos.
4. Repita os passos 2 e 3 até sobrar um único cluster.
35
Capítulo 4 - Descrições dos Bancos de Dados e
utilização do software RapidMiner
4.1 Metodologia
Neste trabalho será utilizado o software livre RapidMiner versão 4.2, para a aplicação
dos algoritmos no descobrimento das regras de agrupamento. Nos tópicos seguintes deste
capítulo serão discutidas informações sobre os bancos de dados utilizados, e também sobre o
programa abordando o passo a passo para a configuração e utilização deste na preparação dos
dados.
4.2 Descrições dos Bancos de Dados
Segundo (Marco Aurélio, 1999), banco de dados é uma coleção de dados relacionados,
onde dados significam fatos conhecidos que podem ser armazenados e que possuem
significado implícito. Por exemplo, considere os nomes, número de telefones, e endereços das
pessoas que você conhece. O objetivo principal de um sistema de banco de dados é
possibilitar um ambiente que seja adequado e eficiente para uso na recuperação e
armazenamento de informações.
Segundo (Marco Aurélio, 1999), de maneira genérica um banco de dados possui as
seguintes propriedades implícitas:
Um banco de dados representa algum aspecto do mundo real, algumas vezes chamado
de mini-mundo ou universo do discurso. Mudanças no mini-mundo são refletidas no
banco de dados.
Um banco de dados é uma coleção logicamente coerente de dados com algum
significado herdado. Uma ordenação aleatória de dados não pode ser corretamente
referenciada como um banco de dados.
Um banco de dados é modelado, construído, e povoado com dados para uma proposta
específica. Ou seja, existe um grupo de usuários e algumas aplicações pré-concebidas
as quais esses usuários estão interessados.
Os bancos de dados utilizados neste trabalho são distintos, oriundos do sistema
elétrico de potência. São utilizados para o descobrimento das regras de agrupamento.
36
4.2.1 Banco de dados 1
O primeiro banco de dados é composto por dados de um hidrogerador de uma usina
hidroelétrica brasileira, esses dados foram medidos de 5 em 5 segundos, foram coletados 1840
amostras. A Tabela 4.1 mostra alguns desses dados que serão analisados.
Tabela 4.1: Banco de dados 1
Frege Corfa Corfb Corfv Tenab Tenbv Tenva Potat Posdi
60.034 12.633 12.641 12.656 13.890 13.904 13.918 301.845 72.600
60.034 12.669 12.652 12.668 13.880 13.879 13.894 302.081 72.600
60.021 12.609 12.629 12.643 13.886 13.890 13.915 301.477 72.500
60.034 12.676 12.671 12.673 13.875 13.894 13.913 302.684 72.600
59.906 12.590 12.616 12.625 13.890 13.896 13.911 300.952 72.000
_ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _
60.046 12.596 12.623 12.581 13.862 13.882 13.898 300.322 71.600
60.034 12.540 12.549 12.563 13.876 13.890 13.900 299.351 71.600
Legenda:
Frege: Frequência gerada (Hz)
Corfa: Corrente na fase A (KA)
Corfb: Corrente na fase B (KA)
Corfv: Corrente na fase V (KA)
Tenab: Tensão entre as fases A e B (KV)
Tenbv: Tensão entre as fases B e V (KV)
Tenav: Tensão entre as fases A e V (KV)
Potat: Potência Ativa (MW)
Posdi: Posição do distribuidor (%)
37
4.2.2 Banco de dados 2
O segundo banco de dados é composto por uma relação de dados de natureza elétricas
coletados de um hidrogerador de uma usina hidroelétrica brasileira. Foram coletadas 8635
amostras medidas de 5 em 5 segundos. A Tabela 4.2 mostra algumas dessas amostras dos
dados a serem analisados.
Tabela 4.2: Banco de dados 2
POTAT CORFA TEMFAB TEATTP TEBTTF
302,959 12,512 14,031 71,906 71,906
302,772 12,468 14,052 71,812 71,812
303,356 12,496 14,050 71,812 71,953
303,473 12,506 14,040 71,812 71,859
300,391 12,332 14,077 71,906 71,859
299,620 12,310 14,104 71,765 71,765
299,527 12,337 14,055 71,765 71,718
299,527 12,326 14,066 71,718 71,718
_ _ _ _ _
_ _ _ _ _
274,193 11,402 13,901 67,875 67,828
276,504 11,495 13,892 67,875 67,875
277,438 11,528 13,904 67,875 67,968
Legenda:
POTAT: Potência ativa do Gerador (MW)
CORFA: Corrente na fase A do Gerador (KA)
TEMFAB: Tensão na fase AB do Gerador (KV)
TEATTP: Temperatura do enrolamento de Alta Tensão do trafo principal (C°)
TEABTTF: Temperatura do enrolamento de baixa tensão do trafo principal (C°)
4.2.3 Banco de dados 3
Este banco de dados é composto por registros de operação de um hidrogerador, foram
coletadas 1200 amostras medidas de 5 em 5 segundos. A Tabela 4.3 mostra as características
desses dados que serão analisados.
38
Tabela 4.3: Banco de dados 3
PAT CFA VFAB FREQ TEMP
255.373 11.547 13.576 59.899 84.700
255.256 11.620 13.568 59.899 84.700
255.186 11.514 13.593 60.040 84.700
255.303 11.687 13.538 60.034 84.700
255.560 11.659 13.568 60.052 86.300
255.396 11.597 13.579 60.009 86.300
255.209 11.625 13.572 60.046 86.300
_ _ _ _ _
_ _ _ _ _
255.349 11.603 13.574 60.205 86.300
254.953 11.576 13.586 60.064 82.000
Legenda:
PAT: Potência Ativa (MW)
CFA: Corrente na fase A (KA)
VFAB: Tensão entre as fases A e B (KV)
FREQ: Frequência gerada (Hz)
TEMP: Temperatura do enrolamento (°C)
4.3 Descrição do software RAPDIMINER
RapidMiner é uma plataforma de software desenvolvido pela empresa de mesmo
nome, que fornece um ambiente integrado para a aprendizagem de máquina, mineração de
dados, mineração de texto, análise preditiva e análise de negócios. Ele é usado para aplicações
comerciais e industriais, bem como para a pesquisa, a educação, a formação, a prototipagem
rápida e desenvolvimento de aplicativos e suporta todas as etapas do processo de mineração
de dados, incluindo resultados de visualização, validação e otimização. RapidMiner é
desenvolvido em um negócio modelo de fonte que significa que o núcleo e as versões
anteriores do software estão disponíveis e certificadas pela OSI open source licença no
Sourceforge.
39
Figura 4.1: Tela inicial do RapidMiner
Na Figura 4.2 temos cinco opções de acesso, a primeira é a opção new que permite
abrir um programa novo, open recent, open, Process Wizard, e a última opção é Online
Tutorial, que é um tutorial online do programa.
Figura 4.2: Janela de boas vindas do software
Ao clicar na opção new, é aberta a janela mostrada na Figura 4.3, onde configura-se o
programa com os operadores necessários para cada tarefa. Ao clicar em new operator o
usuário escolhe os operadores que serão utilizados.
40
Figura 4.3: Configurando o programa
O RapidMiner apresenta mais de 500 operadores, para criar os agrupamentos ele faz
uso de alguns, são eles: Root, Example Source e K-Means, mostrados na Figura 4.4. Cada um
desses operadores possui uma função específica dentro do processo.
Figura 4.4: Processo de obtenção de agrupamentos
Root
Cada processo deve conter exatamente um operador dessa classe e ele deve ser o
operador raiz. O único objetivo deste operador é fornecer alguns parâmetros que têm
relevância global.
Example Source
Neste operador é definido o banco de dados de entrada com suas características, tais
como a forma como os atributos estão separados (por vírgula, ponto-e-vírgula, espaço ou por
41
tabulação), se a primeira linha do banco de dados é o nome dos atributos ou não, o tipo de
cada atributo (nominal, numérico, inteiro, real, string, binominal ou polinominal).
K – Means
Este operador representa o algoritmo K – means, com todas as suas características.
42
Capitulo 5 – Aplicações e Resultados obtidos
5.1 Metodologia
Neste capítulo será aplicada a técnica de agrupamento K-means nos três bancos de
dados mostrados anteriormente, a fim de mostrar a sua viabilidade. Será realizada também
uma análise destes resultados, evidenciando as principais informações encontradas em cada
análise.
5.1.1 Aplicação do algoritmo k-means nos bancos de dados
Depois de ser feito o pré – processamento dos dados ele é disposto em arquivo no
formato “.txt”, e é utilizado no RapidMiner para a obtenção dos agrupamentos. Será mostrado
a seguir o passo a passo para a configuração do programa.
1. Ao clicar no operador Example source, é aberta a janela mostrada na Figura 5.1.
Figura 5.1: Assistente do exemplo fonte
Essa interface é um assistente onde o usuário é guiado através do processo de
carregamento e definição dos dados. Este assistente envolve os seguintes passos: Seleção de
um ficheiro de dados, definição dos separadores de coluna, definição dos nomes dos atributos,
definição dos tipos de atributos, definição de atributos especiais e armazenamento dos dados
em arquivos utilizados pelo operador. Ao clicar em avançar, é aberta a janela mostrada na
Figura 5.2.
43
2. Nesse passo o usuário tem que identificar o arquivo de dados a ser usado, pode fazer
comentários e atribuir os pontos decimais de acordo com o banco de dados.
Figura 5.2: Identificação dos arquivos de dados
3. É necessário especificar um separador de colunas, que pode ser por vírgula, ponto e
vírgula, por tabulações ou por espaço, como mostra a Figura 5.3.
Figura 5.3: Especificação do separador de coluna
44
4. Geralmente utiliza-se a primeira linha para especificar o nome das colunas, como
mostra a Figura 5.4.
Figura 5.4: Especificação do nome da coluna
5. O RapidMiner tenta identificar automaticamente os tipos de valores dos atributos com
base no arquivo de dados, mas alguns ajustes ainda podem ser necessários, os atributos
podem ser de várias formas como: Real, nominal, numérico, inteiro, binomial e
polinomial, como mostra a Figura 5.5.
Figura 5.5: Especificação dos atributos
45
6. Nesse passo o usuário pode escolher algum atributo específico, como (label, cluster,
id, weight, outlier, batch e prediction), como mostra a Figura 5.6.
Figura 5.6: Especificação dos atributos.
7. É necessário especificar o nome do arquivo que será salvo, como mostra a Figura 5.7.
Figura 5.7: Salvar o arquivo
46
8. Terminada a fase de carregamento dos dados é necessário configurar o operador K –
means, como mostra a Figura 5.8. Ao clicar neste operador é possível escolher o
número de grupos que ele irá formar.
Figura 5.8: Configuração do K – means
9. Depois de configurado todos os parâmetros, é dado início ao processo de simulação e
o resultado é mostrado na Figura 5.9.
Figura 5.9: Resultados apresentados pelo programa
Essa janela mostra o resultado da simulação em forma de texto, em forma de gráfico e
em forma de pasta, onde são identificadas todas as amostras alocadas em cada grupo. Para
uma melhor análise optou-se por analisar a forma textual.
47
5.1.2 Resultados da simulação no banco de dados 1
A tabela a seguir mostra os resultados da simulação dos agrupamentos obtidos com o
primeiro banco de dados, realizada com o algoritmo K – means.
Tabela 5.1: Resultados do banco de dados 1
Grupos 1 2
frege 60.000 59.989
corfa 15.555 14.601
corfb 15.560 14.565
corfv 15.557 14.581
tenab 13.943 13.731
tensbv 13.963 13.750
tenva 13.976 13.764
potat 375.238 289.572
posdi 92.918 70.218
Na primeira simulação com o algoritmo K- means foram gerados dois grupos
mostrados na Tabela 5.1, onde o primeiro grupo contém 1354 amostras do total de 1816 e o
segundo 462. Isso significa que essa máquina trabalhou a maior parte do tempo com os
valores do grupo 1, onde podemos destacar o centroide da frequência que ficou em 60 Hz que
é o padrão utilizado no sistema elétrico brasileiro, também destaca-se a potência ativa, onde o
centroide dessa variável ficou em 375.238 MW, informando que essa foi a potência máxima
gerada por essa máquina.
Podemos observar uma forte relação entre as correntes nas fases que se mantém com
uma pequena diferença, indicando que o sistema está operando de maneira desejável onde não
existe um grande desequilíbrio entre as mesmas, também podemos verificar que as tensões
entre as fases ficaram bem próximas. Outra informação é que o distribuidor funcionou a maior
parte do tempo com 92.918% da sua capacidade de abertura.
No segundo grupo é possível verificar que a potência ativa da máquina diminuiu,
assim como a abertura do distribuidor, pois é ele que dá passagem para a água movimentar a
turbina, que por está acoplada a um eixo gira e movimenta o gerador. Isso indica que o
sistema ficou mais “aliviado”, ou seja, em alguns momentos esse hidrogerador gerou menos
48
energia do que ele é capaz devido a demanda ser menor. Na Figura 5.10 podemos visualizar a
distribuição das amostras em cada grupo.
Figura 5.10: Distribuição das amostras nos grupos na primeira simulação
Essa Figura mostra a distribuição das amostras em cada grupo, 75% delas fazem parte
do grupo 1 em azul e 25% fazem parte do grupo 2 em vermelho. Isso informa que 75% do
tempo de operação dessa máquina ela trabalhou com os valores do grupo 1 da tabela 5.1 e o
restante do tempo de operação com os valores do grupo 2 da mesma tabela.
Podemos concluir que a máquina não trabalhou além dos seus limites operacionais, e a
técnica de agrupamento nesse caso foi válida para verificar que a mesma não apresentou
condições que pudesse prejudicar o seu funcionamento ou a qualidade da energia fornecida.
5.1.3 Resultados da simulação do banco de dados 2
Na tabela a seguir serão mostrados os resultados da segunda simulação feita com o K-
means para o segundo banco de dados, esse, no entanto contém menos variáveis do que o
anterior, mas é possível realizar algumas análises com o mesmo.
75%
25%
1 2
49
Tabela 5.2: Resultados do banco de dados 2
Grupos 1 2 3
POTATI 288.067 292.251 271.109
CORFA 13.880 13.731 13.801
CORFB 13.958 13.962 13.835
TEATTP 68.504 70.275 66.597
TEBTTF 68.524 70.294 66.615
Nessa simulação foram gerados três grupos, o primeiro com 1988 amostras, o segundo
com 3733 e o terceiro com 2913, o centroide desses grupos estão mostrados na tabela 5.2.
Podemos observar que no primeiro grupo a potencia gerada foi de 288.067 MW, e as
temperaturas dos enrolamentos ficaram na faixa dos 68 °C.
O segundo grupo foi o qual a máquina permaneceu mais tempo de operação nessas
condições, onde a potência gerada foi de 292.551 MW e as temperaturas nos enrolamentos
aumentaram para 70.275 e 70.294 °C respectivamente.
O terceiro grupo mostra a menor potência gerada 271.109 MW e as temperaturas dos
enrolamentos diminuíram para 66.597 e 66.615 °C.
Podemos observar que nos três grupos as correntes nas fases A e B se mantêm com
uma pequena diferença, indicando que o sistema está operando de maneira desejável onde não
existe um grande desequilíbrio entre elas.
Podemos concluir também que em todos os grupos a temperatura ficou diretamente
ligada com a potência gerada, pois quando a potência aumentou a temperatura dos
enrolamentos aumentou também. A Figura 5.11 a seguir mostra a distribuição das amostras
em cada grupo.
50
Figura 5.11: Distribuição das amostras nos grupos na segunda simulação
Essa Figura mostra em porcentagem a distribuição das amostras nos grupos, com 23%
para o primeiro grupo, 43% para o segundo grupo e 34% para o terceiro grupo, informando
que o maior período de funcionamento desta máquina foi com os valores do grupo 2.
5.1.4 Resultados da simulação do banco de dados 3
O resultado do terceiro banco de dados simulado com o software K – Means é
mostrado na tabela 5.3.
Tabela 5.3: Resultado do banco de dados 3
Grupos 1 2 3
PAT 253.903 269.089 235.776
CFA 11.589 12.193 11.589
TFAB 13.584 13.553 13.584
FREQ 60.005 60.095 59.900
TEMP 85.016 85.103 85.147
Nessa simulação foram gerados três grupos, foram utilizadas 1200 amostras que
ficaram divididas da seguinte forma: o primeiro grupo com 580 amostras, o segundo grupo
com 378 amostras e o terceiro com 242 amostras, os centroides das variáveis de cada grupo
são mostrados na Tabela 5.3.
23%
43%
34%
1 2 3
51
Nesse banco de dados temos poucas informações sobre as correntes e tensões, o que
dificulta a análise dessas variáveis, pois temos informação de apenas uma das fases, e para
uma análise detalhada é necessário informações sobre as demais fases tanto para corrente
quanto para tensão. A maior potência gerada por esse hidrogerador foi na faixa de 269 MW,
no segundo grupo, 253 MW no primeiro e a menor potência gerada foi de 235 MW no
terceiro grupo. Em todo o período de análise a temperatura ficou praticamente constante sem
grandes alterações.
O mais importante nessa simulação é a análise do comportamento da frequência, que
em 49% do tempo de operação, ficou próxima dos 60 Hz, em 31% ficou acima e em 20%
abaixo do valor ideal. Segundo a ANEEL (Agência nacional de energia elétrica) em regime
permanente a máxima de 60,1 Hz e o mínimo de 59,9 Hz.
Mesmo os grupos estando em uma faixa de operação segura isso significa que a
frequência em alguns momentos passa dos limites aceitáveis, o que pode prejudicar a
qualidade da energia fornecida. Portanto medidas para melhor ajustar os ganhos de controle
de frequência são necessários.
Figura 5.12: Distribuição das amostras nos grupos na terceira simulação.
A Figura 5.12 mostra a distribuição das amostras nos grupos, onde 49% delas foram
alocadas no primeiro grupo, 31% no segundo grupo e 20% no terceiro grupo. Portanto essa
máquina passou mais tempo funcionando com as condições do grupo 1.
49%
31%
20%
1 2 3
52
Capítulo 6 – Conclusões
6.1 Considerações finais
As grandes indústrias, instituições, empresas e outras geram uma grande quantidade de
dados operacionais, esses dados sendo tratados adequadamente podem vir a revelar aspectos
importantes para a melhoria do estado de operação das mesmas. No caso das usinas
hidrelétricas, um setor competitivo a necessidade de compreender o estado de operação dos
equipamentos, bem como a obtenção de informações é crucial para o setor.
Neste trabalho foi apresentada a aplicabilidade das técnicas de obtenção de
agrupamento em dados reais do sistema de potência, o que se mostrou ser um estudo bastante
interessante e promissor na descoberta de relações e padrões entre uma grande quantidade de
dados gerados durante a operação de uma usina hidroelétrica brasileira. Podemos destacar que
essa técnica é bastante versátil podendo ser aplicada em bancos de dados distintos, obtendo
resultados interessantes.
Este estudo mostrou ainda a aplicabilidade do software RapidMiner, que é gratuito,
possui algumas limitações, mas é bastante eficiente, obtendo resultados satisfatórios para os
processos que foi utilizado. Outra observação, é que o foco deste trabalho foi mostrar a
aplicabilidade da técnica utilizada, “técnicas de agrupamentos”, independente da obtenção de
resultados mais significativos, que para isso seria necessário um estudo mais aprofundado,
assim como o processamento continuo de novos dados.
Um dos principais empecilhos na utilização da mineração de dados é o conhecimento
da técnica, a área de operação e ainda a escassez na obtenção dos dados junto às instituições,
esses são fatores que prejudicam a aplicabilidade da ferramenta. Outro fator é que no processo
da KDD, cerca de 60% do tempo é utilizado na seleção e preparação dos dados, ou seja, leva-
se mais tempo para preparação dos dados do que na obtenção dos resultados através das
diversas técnicas da mineração.
Portanto este trabalho ilustrou como a mineração de dados pode ser utilizada em
bancos de dados do sistema elétrico de potência, gerando resultados importantes na melhoria
do desempenho deste setor.
53
6.2 Trabalhos futuros
De forma a melhorar a metodologia utilizada nesse trabalho e tornar mais eficiente e
atrativa ao usuário, são necessárias algumas melhorias para aumentar sua confiabilidade e
abrangência de utilização. Por isso serão propostos alguns trabalhos futuros.
1. Um maior número de experimentos de mineração assim como o estudo diário dos
dados gerados pelas usinas hidrelétricas, com a finalidade de descobrir um maior
número possível de informações para melhorar o desempenho e otimizar a operações
das usinas.
2. O desenvolvimento de uma interface mais simples, e direcionada para este tipo de
pesquisa, para que estudantes e profissionais da área utilizem de forma prática e
eficiente.
3. Criação de um programa para gerar a base de dados automaticamente no formato de
arquivo que os programas de mineração consigam ler e interpretar.
4. A parceria com as empresas do setor de energia para estudos mais detalhados
utilizando suas bases de dados, e expandir para outros processos do setor que ainda
não recebem tratamento e estudo.
54
Bibliografia
Amo, S. d. (s.d.). Curso de Data Mining. As diversas categorias de métodos de clusterização .
Bernardes, B. C. (2010). Avaliação da Segurança Estática de Sistemas de Potência Utilizando
Árvore de Decisão. Dissertação de graduação .
Bueno, M. F., & Viana, M. R. (2012). Mineração de dados: Aplicações, Eficiência e
Usabilidade. Anais do congresso de iniciação cientifica do inatel .
Camilo, C. O., & Silva, J. C. (2009). Mineração de Dados: Conceitos, Tarefas, Métodos e
Ferramentas.
Domingues, M. L. (2003). Mineração de Dados Utilizando Aprendizado Não -
Supervisionado: Um estudo de caso para banco de dados da área da saúde . Dissertação de
Mestrado .
Fonseca, F. C., & Beltrame, W. A. (s.d.). Aplicações Práticas dos Algoritmos de
Clusterização Kmeans e Bisecting K-means. Departamento de Informática – Universidade
Federal do Espírito Santo (UFES) .
Han, J., & kamber, M. (2001). Data Minig:concept and techniques. San Francisco: Morgan
Kaufmann.
Kock, N. F., McQueen, R. J., & Baker, M. (1996). Learning and process improvement in
knowledge organisations: A critical analysis of four contemporary myths. The Learning
Organization .
Kranen, M. E. (2004). Aplicação de Técnicas de Agrupamento Sobre Séries de Potência Para
Avaliação de Confiabilidade em Sistemas Hidrotérmicos. 177.
Marco Aurélio, M. V. (1999). Descoberta de Conhecimento e Mineração de dados. PUC -
RIO, Departamento de Engenharia Elétrica, Rio de Janeiro.
Tan, P.-N., Steinbach, M., & Kumar, V. (2009). Introdução ao Data Mining. Rio de Janeiro:
Ciência Moderna.