Download PDF
ads:
COPPE/UFRJCOPPE/UFRJ
DESENVOLVIMENTO DE FILTROS INTERPOLADORES
MULTIDIMENSIONAIS PARA ANÁLISE DE BANCO DE DADOS DE RISERS
Ricardo Pereira Gonçalves
Tese de Doutorado apresentada ao Programa de
Pós-Graduação em Engenharia Civil, COPPE, da
Universidade Federal do Rio de Janeiro, como
parte dos requisitos necessários à obtenção do
título de Doutor em Engenharia Civil.
Orientador: Edison Castro Prates de Lima
Rio de Janeiro
Junho de 2009
ads:
Livros Grátis
http://www.livrosgratis.com.br
Milhares de livros grátis para download.
DESENVOLVIMENTO DE FILTROS INTERPOLADORES
MULTIDIMENSIONAIS PARA ANÁLISE DE BANCO DE DADOS DE RISERS
Ricardo Pereira Gonçalves
TESE SUBMETIDA AO CORPO DOCENTE DO INSTITUTO ALBERTO LUIZ
COIMBRA DE PÓS-GRADUAÇÃO E PESQUISA DE ENGENHARIA (COPPE) DA
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO COMO PARTE DOS
REQUISITOS NECESSÁRIOS PARA A OBTENÇÃO DO GRAU DE DOUTOR EM
CIÊNCIAS EM ENGENHARIA CIVIL.
Aprovada por:
Prof
. Nelson Francisco Favilla Ebecken, D.Sc.
!:LU(.~~;
S!:t~~ilO'
D.Se.
Prof. Murilo Augus o Vaz, Ph. .
Dr. Hélio José Correa
Ba
rbosa, D.Sc.
RIO
DE
JANEIRO, RJ - BRASIL
JUNHO 2009
ads:
iii
Gonçalves, Ricardo Pereira
Multidimensionais para Análise de Banco de Dados de
Risers/ Ricardo Pereira Gonçalves. Rio de Janeiro:
UFRJ/COPPE, 2009.
XIV, 168 p.: il.; 29,7 cm.
Orientador: Edison Castro Prates de Lima
Tese (doutorado) UFRJ/ COPPE/ Programa de
Engenharia Civil, 2009.
Referências Bibliográficas: p. 110-113
1. Linhas flexíveis. 2. Bancos de dados. 3.
Interpoladores multidimensionais. 4. Mineração de dados.
5. Indústria de Petróleo e Gás. I. Lima, Edison Castro
Prates de. II. Universidade Federal do Rio de Janeiro,
COPPE, Programa de Engenharia Civil. III. Título.
iv
Aos meus pais Renato e Nilda, pelas mãos e
punhos fortes sempre preparados a nos
amparar, levantar e fazer seguir adiante.
À minha filha Júlia, esta tese o tem
significado algum diante de sua grandeza.
À minha companheira Fabiana, por me
fazer enxergar a vida sob formas distintas.
v
AGRADECIMENTOS
Ao Prof. Edison Lima pela oportunidade, orientação, apoio e incentivo durante
a realização de todas as etapas deste trabalho e, acima de tudo, por instigar e me fazer
acreditar em meu potencial.
Ao Prof. Gilberto Ellwanger, também pela oportunidade, apoio e incentivo
durante o desenvolvimento deste trabalho, mas acima de tudo, pela tranqüilidade
sempre transmitida em suas palavras.
Aos Profs. Luis Volnei Sudati Sagrilo e Marcos Queija de Siqueira, membros
do Conselho Deliberativo do LACEO, pela amizade, confiança, apoio, sinceridade e,
principalmente, por me desafiarem a ficar.
À Fabiana e Julinha, minhas pequenas, por tamanha compreensão, dedicação e
carinho, em especial, nestes últimos meses de tese.
À Raquel, minha irmã de sangue, em quem me espelho. A Miguel, mais que
cunhado, meu irmão, o grande cavaleiro de grandes batalhas. A Daniel “Potter”, meu
querido sobrinho, pela “Simples bandeira? Essa é a nossa bandeira brasileira!”. Seja
bem-vindo, Dom Juan!
Aos “MiQuinhos”, símios, catarrinos, muito irmãos: Airton, Alexandre,
Claudio Márcio e PC e suas respectivas companheiras pelo incentivo, sorrisos, piadas,
brincadeiras, e, acima de tudo, por esse amor fraternal que nos une ao longos desses 22
anos de convivência.
À amiga Bianca, mesmo muito distante, por estar sempre presente
incentivando, questionando, discutindo e mandando fotos.
A todos os colegas de trabalho do LACEO pelas horas de almoço, discussões,
brincadeiras, amizade, idéias criativas e apoio ao longo destes anos de convivência, em
especial, a Fernando, quem dedicou sua boa vontade e parte de seu tempo a me ajudar
nestes “últimos minutos” de tese.
vi
À Agência Nacional de Petróleo (ANP), que através de bolsa de estudo e
pesquisa disponibilizada pelo Programa de Recursos Humanos n° 35, financiou o
desenvolvimento desta pesquisa.
Ao corpo técnico e administrativo do LACEO Laboratório de Análise de
Confiabilidade de Estruturas Offshore pelos suportes técnico e humano,
principalmente à Ana Cristina, sempre muito dedicada e atenciosa.
vii
The last enemy that shall be defeated is death.
J. K. Rowling
viii
Resumo da Tese apresentada à COPPE/UFRJ como parte dos requisitos necessários
para a obtenção do grau de Doutor em Ciências (D. Sc.).
DESENVOLVIMENTO DE FILTROS INTERPOLADORES
MULTIDIMENSIONAIS PARA ANÁLISE DE BANCO DE DADOS DE RISERS
Ricardo Pereira Gonçalves
Junho/2009
Orientador: Edison Castro Prates de Lima
Programa: Engenharia Civil
Este trabalho apresenta o desenvolvimento de uma pesquisa que envolve a
aplicação da tecnologia de Inteligência Artificial em uma base de dados criada para o
armazenamento de informações provenientes de resultados de análises estruturais de
linhas flexíveis, realizadas por programa específico utilizado na Indústria de Petróleo e
Gás. O objetivo visa, primordialmente, a criação uma ferramenta auxiliar de baixo custo
computacional capaz de gerar resultados sobre a análise estrutural de linhas flexíveis tão
precisos quanto aqueles gerados por um programa convencional. O desenvolvimento
desta ferramenta necessitou de conceitos sobre mineração de dados (para aplicação de
técnicas de pré-processamento de dados), algoritmos multidimensionais de interpolação
(para extração de conhecimento, aprendizado e predição) e de um mecanismo de
validação (para comparação de resultados obtidos através de análise estrutural,
utilizando-se um programa convencional, com aqueles obtidos pelos algoritmos
interpoladores) aplicados a uma massa de dados específica.
ix
Abstract of Thesis presented to COPPE/UFRJ as a partial fulfillment of the
requirements for the degree of Doctor of Science (D. Sc.).
MULTIDIMENSIONAL INTERPOLATION FILTERS DEVELOPMENT FOR
RISERS’ DATABASE ANALYSIS
Ricardo Pereira Gonçalves
June/2009
Advisor: Edison Castro Prates de Lima
Department: Civil Engineering
This work presents the development of a research that envolves Artificial
Intelligence technology applied to a database created to store information about
structural analysis’ results of flexible pipes from an specific software used in Oil and
Gas Industry. Primarily, the main objective aims to create a low computational cost
support tool capable to provide flexible pipes’ structural pre-analysis results as precise
as those ones generated by a conventional software. The development of this tool
needed Data Mining concepts (for the appliance of data preprocessing techniques),
multidimensional algorithms of interpolation (for knowledge gain, learning and
prediction) and a mechanism of validation (to compare the results obtained from
structural analysis using a conventional software and those ones obtained by using
algorithms of interpolation) applied to an specific database.
x
SUMÁRIO
LISTA DE ILUSTRAÇÕES ....................................................................................... xiii
LISTA DE TABELAS ................................................................................................. xiv
CAPÍTULO I - INTRODUÇÃO ................................................................................... 1
I.1. Introdução .................................................................................................................. 1
I.2. Motivação ................................................................................................................... 2
I.3. Objetivo da Pesquisa .................................................................................................. 8
CAPÍTULO II - METODOLOGIA ............................................................................ 12
II.1. Introdução ............................................................................................................... 12
II.2. Definição do Problema ........................................................................................... 12
II.3. Conhecendo a Mineração de Dados ........................................................................ 13
II.4. Pré-Processamento de Dados .................................................................................. 16
II.4.1. Introdução ........................................................................................................ 16
II.4.2. Limpeza de Dados ............................................................................................ 18
II.4.3. Redução de Valores ......................................................................................... 21
II.4.3.1. Redução de Valores Nominais .................................................................. 22
II.4.3.2. Redução de Valores Contínuos (ou Discretos) ......................................... 23
II.4.3.3. Compressão por Análise de Componentes Principais (PCA) ................... 25
II.4.4. Integração e Transformação de Dados ............................................................. 26
II.4.4.1. Normalização Linear (Min-Max) .............................................................. 27
II.4.4.2. Normalização por Desvio Padrão (ou Normalização Z-Score) ................ 28
II.4.4.3. Normalização por Soma de Elementos ..................................................... 28
II.4.4.4. Normalização pelo Valor Máximo de Elementos ..................................... 29
II.4.4.5. Normalização por Escala Decimal ............................................................ 29
II.5. Aprendizado de Máquinas ...................................................................................... 30
II.5.1. Definições ........................................................................................................ 30
II.5.1.1. Aprendizado de Máquina .......................................................................... 30
II.5.1.2. Aprendizado Supervisionado .................................................................... 32
II.5.1.3. Classificação e Predição ........................................................................... 34
II.5.2. Algoritmos de Interpolação .............................................................................. 35
II.5.2.1. Métodos de Interpolação Linear e Interpolação Quadrática ..................... 35
xi
II.5.2.2. Método de Interpolação pelos K-Vizinhos Mais Próximos (KNN) .......... 38
II.5.2.3. Método de Redes Neurais Artificiais ........................................................ 38
II.6. Métodos para Avaliação de Classificadores ........................................................... 43
II.6.1. Métodos Convencionais ................................................................................... 43
II.6.2. Ferramenta de Validação da Tese .................................................................... 45
II.7. Banco de Dados ...................................................................................................... 46
II.7.1. Introdução ........................................................................................................ 46
II.7.2. Conceitos .......................................................................................................... 46
II.7.3. Características do SGDB ................................................................................. 47
II.7.4. Arquiteturas de SGDB's ................................................................................... 51
CAPÍTULO III - DESCRIÇÃO DO DBFLEX .......................................................... 54
III.1. Diagramas de Offset .............................................................................................. 54
III.2. Concepção do Banco de Dados de Risers – o DBFlex (2006) .............................. 56
III.3. Principais Obstáculos ............................................................................................ 59
III.4. A Base de Dados .................................................................................................... 62
CAPÍTULO IV - MINERAÇÃO DE DADOS NO DBFLEX ................................... 66
IV.1. Introdução .............................................................................................................. 66
IV.2. O Pré-Processamento de Dados ............................................................................ 67
IV.2.1. Adequando o Modelo ..................................................................................... 67
IV.2.2. Subconjuntos do Modelo ................................................................................ 73
IV.2.3. O Programa Neural ......................................................................................... 77
IV.2.4. A Ferramenta Weka ........................................................................................ 80
CAPÍTULO V - ESTUDO DE CASOS ...................................................................... 82
V.1. Seleção de Atributos ............................................................................................... 82
V.1.1. Introdução ........................................................................................................ 82
V.1.2. A Inspeção Visual ............................................................................................ 82
V.1.3. Recursos do Software Weka ............................................................................ 87
V.1.3.1. Histogramas .............................................................................................. 87
V.1.3.2. Seleção de Atributos ................................................................................. 89
V.2. Validação ................................................................................................................ 92
V.2.1. Introdução ........................................................................................................ 92
V.2.2. Testes Preliminares .......................................................................................... 93
xii
V.2.2.1. O MultilayerPerceptron ........................................................................... 93
V.2.2.2. Outliers Estruturais ................................................................................... 95
V.2.3. O Processo de Validação ................................................................................. 96
CAPÍTULO VI - CONCLUSÃO E SUGESTÕES .................................................. 105
VI.1. Conclusões .......................................................................................................... 105
VI.2. Sugestões para Trabalhos Futuros ....................................................................... 107
VI.2.1. Atualização do Banco de Dados DBFlex ..................................................... 107
VI.2.1.1. Atualização e Manutenção .................................................................... 107
VI.2.1.2. Propriedades Físicas dos Enrigecedores ............................................... 107
VI.2.2. Interface Identificador de Tuplas Duplicadas .............................................. 108
VI.2.3. Avaliar a Presença de Outlier Estrutural ...................................................... 109
REFERÊNCIAS BIBLIOGRÁFICAS ..................................................................... 110
ANEXOS ..................................................................................................................... 114
Anexo A. Decomposição pelo Valor Singular (SVD) .................................................. 114
Anexo B. Subconjunto Filtrado por Classes ................................................................. 117
Anexo C. Arquivo de Entrada para o Programa Neural ............................................... 118
Anexo D. Arquivo de Saída do Programa Neural ........................................................ 119
Anexo E. Resultados do Software Weka ...................................................................... 122
xiii
LISTA DE ILUSTRAÇÕES
Figura II.1. Passos iterativos do processo de KDD. ....................................................... 14
Figura II.2. A hierarquia do aprendizado (Monard & Baranauskas apud Rezende, 2005).
................................................................................................................................ 31
Figura II.3. Associação entre conjuntos de dados e classes. .......................................... 32
Figura II.4. Seleção dos pontos da função mais próximos do ponto P. .......................... 36
Figura II.5. Representação de um neurônio artificial, segundo o modelo MCP. ........... 39
Figura II.6. Representação de uma RNA genuína. ......................................................... 40
Figura II.7. Arquitetura de banco de dados distribuída em n camadas (Takai et al, 2005).
................................................................................................................................ 53
Figura III.1. Diagramas de Offset para linhas flexíveis de 1 a 8 da plataforma P100. ... 55
Figura III.2. Superposição dos Diagramas de Offset das linhas da plataforma P100. .... 56
Figura III.3. O Banco de Dados de Risers DBFlex. .................................................... 57
Figura III.4. Relatório de correções para uma plataforma do banco de dados DBFlex. . 61
Figura IV.1.Tipos de movimentos possíveis para plataformas. ..................................... 69
Figura IV.2. Janela da interface Identificador de Tuplas Duplicadas. ........................... 76
Figura V.1. Histogramas dos atributos de entrada e saída do banco de dados original. 87
Figura V.2. Histogramas dos atributos de entrada e saída do banco de dados modificado.
................................................................................................................................ 88
Figura V.3. Modelo de linha flexível da plataforma P200 a ser analisada. .................... 98
Figura V.4. Desempenho dos classificadores para P100 com 10% de offset. .............. 101
Figura V.5. Desempenho dos classificadores para P100 com 15% de offset. .............. 101
Figura V.6. Desempenho dos classificadores para P100 com 20% de offset. .............. 102
Figura V.7. Desempenho dos classificadores para P200 com 10% de offset. .............. 102
Figura V.8. Desempenho dos classificadores para P200 com 15% de offset. .............. 103
Figura V.9. Desempenho dos classificadores para P200 com 20% de offset. .............. 103
xiv
LISTA DE TABELAS
Tabela IV.1. Exemplo de redução da massa de dados por classes. ................................ 74
Tabela IV.2. Atributos resultantes do processo de limpeza/redução de dados. .............. 75
Tabela V.1. Definição de códigos para os parâmetros de entrada e saída. ..................... 83
Tabela V.2. Seleção de tuplas do banco de dados pré-processado. ................................ 84
Tabela V.3. Exemplo de resultado para alteração de ângulo de topo. ............................ 84
Tabela V.4. Exemplo de resultado para alteração de heave de topo. ............................. 85
Tabela V.5. Comparação entre bancos para o atributo “Tração no Topo Mínima”. ...... 86
Tabela V.6. Comparação entre bancos para o atributo “Raio de Curvatura Mínimo”. .. 86
Tabela V.7. Comparação entre bancos para o atributo “Tração no TDP Mínima”. ....... 86
Tabela V.8. Matriz de correlação entre os atributos de entrada. .................................... 90
Tabela V.9. Resultados da seleção de atributos para o avaliador MultilayerPerceptron.
................................................................................................................................ 91
Tabela V.10. Resultados da seleção de atributos para o avaliador GaussianProcesses. 91
Tabela V.11. Resultados dos erros de classificação por atributo. .................................. 94
Tabela V.12. Resultados dos erros de classificação para novos casos. .......................... 95
Tabela V.13. Resultado do treinamento para dados do próprio banco – Coordenada 1. 97
Tabela V.14. Resultado do treinamento para dados do próprio banco – Coordenada 2. 97
Tabela V.15. Resultado do treinamento para dados do próprio banco – Coordenada 3. 97
Tabela V.16. Resultados obtidos para plataforma P100 (Offset = 10%). ....................... 99
Tabela V.17. Resultados obtidos para plataforma P100 (Offset = 15%). ....................... 99
Tabela V.18. Resultados obtidos para plataforma P100 (Offset = 20%). ....................... 99
Tabela V.19. Resultados obtidos para plataforma P200 (Offset = 10%). ..................... 100
Tabela V.20. Resultados obtidos para plataforma P200 (Offset = 15%). ..................... 100
Tabela V.21. Resultados obtidos para plataforma P200 (Offset = 20%). ..................... 100
1
CAPÍTULO I - INTRODUÇÃO
I.1. Introdução
O processo de aquisição digital de dados e o avanço da tecnologia de
armazenamento têm resultado no crescimento da quantidade de informações em bancos
de dados, que facilmente atingem a ordem de terabytes (mais de um trilhão de bytes).
Este evento tem ocorrido em diversas áreas, desde as mais simples dados de transação
em supermercados, utilização de cartão de crédito, detalhes de chamadas telefônicas e
estatísticas governamentais até as mais exóticas imagens de corpos celestes, banco
de dados de moléculas e registros médicos.
Alguns estudos indicam que o volume de dados de grandes empresas pode
dobrar no período de cinco anos. Em geral, a maior parte dessas empresas não sofre
com a falta de dados, mas sim com a abundância desses, os quais muitas vezes são
redundantes e inconsistentes, o que dificulta seu manuseio e, conseqüentemente, o
suporte à decisão (Shen, 2002 et al. apud Souza Filho, 2004).
Entretanto, observou-se que esses grandes bancos de dados poderiam esconder
informações potencialmente estratégicas. Sua descoberta permitiria a obtenção de
ganhos relativamente grandes em vários setores da indústria. Muitas vezes, essas
informações encontram-se tão bem escondidas que apenas a utilização do
gerenciamento tradicional de bancos de dados não é suficiente para que sejam
encontradas (Schneider apud Puntar, 2003). Com isso, surgiu a questão: “num lugar
onde se têm muitas árvores, como se pode extrair conclusões significativas sobre a
floresta (Two Crows, 1999)?”
A resposta mais coerente a essa questão pode ser encontrada no processo de
Descoberta de Conhecimento em Base de Dados (ou KDD, do inglês Knowledge
Discovery in Databases). O processo KDD ou mineração de dados (como é mais
comumente conhecido) utiliza uma variedade de ferramentas de análise de dados para
descobrimento de padrões (aquisição de conhecimento) e relações entre dados.
2
A idéia de se aplicar a tecnologia de mineração de dados na Indústria de
Petróleo e Gás originou-se a partir da criação de um banco de dados, onde se encontram
armazenados resultados de análises estruturais de linhas flexíveis, em conjunto com a
necessidade de desenvolvimento de um programa de baixo custo computacional auxiliar
ao programa de análise estrutural convencional. Conceitualmente, este programa deve
ser capaz de predizer resultados a partir da aplicação das técnicas de mineração de
dados e de interpoladores multidimensionais ao conteúdo de seu banco de dados.
Esta pesquisa de tese de doutorado foi desenvolvida com o objetivo de atender
a esta demanda. Este documento visa apresentar em seu conteúdo toda descrição do
processo de desenvolvimento de filtros interpoladores multidimensionais para análise de
um banco de dados de linhas flexíveis, desde a aplicação da tecnologia de mineração de
dados até a predição de resultados. Desta forma, este documento foi organizado
conforme descrito a seguir.
Após esta breve introdução, onde se relatam a motivação e o objetivo da
presente pesquisa, o documento introduz um segundo capítulo onde se descreve a teoria
sobre mineração de dados e conceitos sobre banco de dados. Os dois capítulos seguintes
descrevem como o banco de dados de linhas flexíveis foi concebido (suas
características, funções e aplicações) e como a mineração de dados foi aplicada ao
banco (pré-processamento e mecanismos de inferência), respectivamente. Os estudos de
casos e seus respectivos resultados são apresentados no quinto capítulo. Por fim, no
capítulo de fechamento desta pesquisa, encontram-se as conclusões obtidas e sugestões
para o desenvolvimento de trabalhos futuros.
I.2. Motivação
As teorias formuladas sobre aprendizagem descendem da área das ciências
humanas, principalmente dos campos da filosofia, psicologia e educação. Dentre as
inúmeras publicações encontradas, citamos aqui os estudos independentes
3
desenvolvidos pelos psicólogos suíço Jean Piaget
1
e russo Vygotsky
2
Wadsworth apud Tafner (1998) relata que Jean Piaget, ao formular sua teoria
sobre a construção do conhecimento, afirma que ambos os desenvolvimentos intelectual
e biológico atuam da mesma maneira, ou seja, o desenvolvimento intelectual, assim
como o biológico, é proveniente do equilíbrio resultante de ações de adaptação ao meio
físico e organizações do meio ambiente. Por sua vez, este processo de adaptação é
resultante da realização de duas operações: a assimilação e a acomodação.
como as mais
relevantes sobre o tema.
A assimilação é definida como o processo cognitivo de interpretação de um
novo dado perceptual, motor ou conceitual de resposta às estruturas cognitivas
previamente conhecidas. Uma criança, ao se deparar com novas experiências (ver ou
escutar coisas novas), tenta adaptar estes novos estímulos às estruturas cognitivas que já
conhece.
Suponhamos que uma criança esteja aprendendo a reconhecer animais e que a
única estrutura cognitiva que ela já aprendeu a reconhecer seja um cachorro. Com o
conhecimento que possui até o momento, ao se apresentar um cavalo para esta mesma
criança, ela se limitará a reconhecê-lo como um cachorro, devido às semelhanças
existentes entre ambos (quadrúpede, rabo, pescoço, nariz molhado), embora os
tamanhos sejam distintos.
Ao intervir, informando a ela que aquele animal não se trata de um cachorro,
mas sim de um cavalo, o adulto inicia o processo de acomodação na criança. Neste
momento, a criança encontra-se diante de um impasse: ou cria um novo esquema para
assimilar esta nova estrutura ou modifica o existente, entendendo que a estrutura
cognitiva que antes a conduzia a identificar um cavalo como um cachorro pode sofrer
acomodações.
1
Além de sua dedicação à psicologia, Jean Piaget, considerado por muitos um menino prodígio, foi
biólogo, zoólogo, filósofo e epistemólogo (ramo da filosofia que trata dos conceitos filosóficos referentes
à crença e ao conhecimento), segundo cita o texto sobre Jean Piaget disponível em Wikipédia, 2009.
Curiosamente, grande parte de suas teorias foram baseadas em estudos e observações sobre o
comportamento de seus filhos (Zacharias, 2007).
2
Bacharel em Direito pela Universidade de Moscovo em 1918, Vygotsky é o grande fundador da escola
soviética de psicologia. Suas obras, censuradas com a ascensão de Stálin ao Kremlin, ganharam dimensão
há pouco tempo, em meados nos anos setenta e início dos oitenta (Wikipédia, 2009).
4
Piaget define o conceito de acomodação como sendo o processo de
modificação da estrutura existente (ações, idéias ou estratégias), a fim de adequar-se a
novas experiências. Conclui-se, portanto, que a capacidade de aprendizado dos seres
humanos depende de como estes esquemas serão assimilados ou modificados e quais
interpretações ou significados serão atribuídos a estes.
No entanto, a teoria de construção do conhecimento não se limita aos processos
de assimilação e acomodação. Piaget argumenta que o conhecimento é proveniente de
construções sucessivas com elaborações constantes de estruturas novas e não apenas da
experiência única com o meio e seus objetos ou de uma programação inata pré-formada
no sujeito. Estas construções envolvem mecanismos bastante complexos e intrincados
que englobam o entrelaçamento de fatores que são complementares decorrentes de
processos contínuos de assimilações e acomodações que, com o decorrer do tempo,
tendem a atingir um ponto de equilíbrio, assegurando uma interação eficiente do
indivíduo com o meio.
Por outro lado, buscando entender a relação existente entre desenvolvimento e
aprendizagem, Vygotsky afirma que ambos se encontram conectados, sendo que a
aprendizagem possibilita o despertar dos processos internos de desenvolvimento como
conseqüência da inserção no ambiente cultural. Para ele, o sujeito é interativo, pois
através da mediação, ele consegue adquirir conhecimentos a partir de relações intra e
interpessoais e de troca com o meio. Resumidamente, o desenvolvimento consiste em
um processo de aprendizagem do uso de recursos intelectuais através da interação social
com sujeitos mais experientes no uso de tais ferramentas.
Segundo Salgado (2005), Vygotsky apresenta o desenvolvimento sob dois
aspectos: o real e o potencial. Embora fundamentados em interações sociais, o primeiro
refere-se aos conhecimentos e atividades que pertencem à natureza subjetiva da criança
e, desta forma, não mais contam com a ajuda de terceiros para que sejam construídos. Já
o segundo, tem um movimento prospectivo, pois a construção de novos conhecimentos
necessitam da intervenção de outros mais experientes.
O desenrolar deste estudo conduziu Vygotsky a criar o conceito de Zona de
Desenvolvimento Proximal (ZDP), uma das contribuições mais importantes à
5
psicopedagogia. Segundo citado em Wikipédia (2009), a Zona de Desenvolvimento
Proximal se relaciona com a existência de uma área potencial de desenvolvimento
cognitivo, definida como a distância entre o nível de desenvolvimento real e o nível de
desenvolvimento potencial.
O exemplo citado no artigo eletrônico de Araguaia (2008) ilustra muito bem a
aplicação do conceito de ZDP no aprender a escrever. Ao procurar imitar a escrita do
adulto, a criança sabe “desenhar símbolos” que correspondem a palavras, porém ainda
carente de conteúdos ou informações (desenvolvimento real). O adulto ou professor
pode trabalhar com ela a necessidade de utilização de outras marcas em sua escrita, de
maneira a relacioná-las ao conteúdo memorizado (desenvolvimento potencial). Desta
forma, a criança se capacita a descobrir a natureza instrumental da escrita e, em seguida,
assimilar os mecanismos simbólicos da escrita de sua cultura (zona desenvolvimento
proximal). Ao serem consolidados, estes mecanismos passam a fazer parte da zona de
desenvolvimento real.
As teorias sobre construção do conhecimento e aprendizagem de Piaget e
Vygotsky são largamente difundidas, discutidas e questionadas nos campos da filosofia,
psicologia e pedagogia (áreas das ciências humanas) e aplicam-se ao desenvolvimento
do ser humano enquanto um ser social.
Sob a visão da inteligência artificial, o aprendizado de máquina tem como
objetivo o desenvolvimento de métodos computacionais sobre o processo do
aprendizado, bem como a criação de sistemas com capacidade para aquisição
automática de conhecimento, conforme definido por Monard & Baranauskas apud
Rezende (2005). Ambos também definem sistema de aprendizado como sendo um
programa de computador capaz de tomar decisões baseado em experiências bem-
sucedidas sobre a solução de problemas ocorridos anteriormente.
Ao demonstrar um breve conhecimento sobre estas teorias, questionamos: quão
impactante seria, por exemplo, acreditar que o banco de dados modelado nesta pesquisa
representa a criança em busca de conhecimento de Piaget ou Vygotsky? E por que não
aplicar as teorias sobre a construção do conhecimento de seres humanos oriundas das
6
ciências humanas ao desenvolvimento de tecnologias sobre o aprendizado de máquinas
em ciências exatas?
As semelhanças entre a aquisição de conhecimento de máquinas através da
inteligência artificial e as teorias de Piaget sobre a construção do conhecimento são bem
marcantes. O reconhecimento de imagens é uma das aplicações mais difundidas no
campo do aprendizado de máquinas. Esta aplicação, que utiliza técnicas de mineração
de dados para identificação de padrões e aquisição de conhecimento, apresenta nítidas
semelhanças ao ser comparada com o primeiro exemplo citado acima: a criança
aprendendo a reconhecer animais.
O banco de dados, enquanto “criança”, possui informações muito limitadas em
seu conteúdo. Sua capacidade de interpretação
3
Com o passar do tempo e a inserção de novas informações ao conteúdo do
banco (criança), sua capacidade de assimilação e acomodação aos novos esquemas
atingirá um ponto de equilíbrio, assegurando que a identificação de novos esquemas não
seja mais realizada de forma equivocada.
é tão restrita que, tal qual a criança ao
ser apresentada ao esquema de um cavalo pela primeira vez, o banco de dados pode
admitir que este se assemelha ao de um cachorro e, desta forma, concluir
equivocadamente que o referido esquema é de fato o de um cachorro.
Não obstante, fazendo-se uma reflexão sobre o aprender a escrever da criança,
citado como exemplo do conceito de zona de desenvolvimento proximal de Vygotsky e
o aprendizado de máquina (pré-processamento de dados e predição etapas do processo
de mineração de dados), não é difícil perceber, também, similaridade entre ambos.
Na grande maioria dos casos, ao ser concebido, o banco de dados ainda não se
encontra devidamente preparado para que seja submetido à aplicação de algoritmos de
aquisição de conhecimento. As informações nele contidas podem estar erradas,
incompletas ou divergentes dos padrões das demais. Identificar estes problemas e
ministrar as devidas correções são atividades que o banco de dados não é capaz de
realizar sozinho.
3
Entenda-se por “capacidade de interpretação” a melhor resposta ao conhecimento adquirido como
resultado da aplicação de algoritmos de interpolação ao conteúdo do banco de dados.
7
Assim como a criança, o acompanhamento de um especialista
4
Na tentativa de esclarecer as indagações sobre o tema desta tese e suas
aplicações e de familiarizar o tema “mineração de dados” àqueles que nunca ouviram
falar, buscamos demonstrar aqui como o comportamento de uma máquina e o
comportamento humano se assemelham quanto à temática do aprendizado. Foi por isso
que, à luz da curiosidade, fez-se necessária a busca de respostas em outras áreas da
ciência que nos ajudassem a justificar tais conceitos.
é fundamental
para o processo de mineração porque possibilita tornar o banco de dados potencialmente
capacitado para o aprendizado ao lhe aplicar as técnicas de pré-processamento de dados
e, em seguida, submetê-los a algoritmos interpoladores, despertando-lhe conhecimentos
até então adormecidos.
Alguns colegas da área, relutantes às perspectivas de mudanças, acreditam que
a mineração de dados pode ser considerada como um “ato de bruxaria”. Basta uma
varinha, balbuciar algumas palavrinhas mágicas e pronto! O encanto está feito! Afinal,
acreditar que uma estrutura maciça de dados é capaz de produzir resultados tão precisos
quanto a aplicação de uma formulação matemática complexa é, de fato, algo bastante
questionável, para não dizer extraordinário. Extraordinário, sim. Impossível?
Definitivamente, não.
Assim como o cérebro humano, um banco de dados é capaz de armazenar uma
quantidade muito grande de informação e, por isso, acredita-se que ele pode produzir
seu próprio conhecimento. Engana-se quem imagina que minerar dados se resume a
ficar diante de uma massa de dados, transbordando informação, esperando que o
conhecimento aflore de um instante para outro sem que nenhuma ação seja realizada.
Não é este o princípio da mineração.
Na verdade, o seu principal conceito baseia-se na aplicação de formulações
matemáticas que permitam compreender sua estrutura e extrair algum aprendizado da
massa em questão. Quanto mais rico em informação for o banco, mais preciso será o
resultado deste aprendizado. Da mesma forma, a criança. Quanto maior a quantidade de
4
Zona de desenvolvimento proximal.
8
informação absorvida, melhor sua capacidade de responder aos estímulos que lhe são
apresentados.
Entretanto, não cabe ao escopo desta tese elaborar discussões, criar hipóteses
ou desenvolver um estudo mais profundo sobre como as teorias de aprendizagem e
construção do conhecimento criadas por Vygotsky e Jean Piaget podem ser aplicadas à
aquisição de conhecimento de máquinas
5
Todavia, muito além de ser a fórmula encontrada para responder os
questionamentos dos pares sobre o tema, esta breve explanação permite demonstrar
como os conceitos concebidos entre os mais diversos campos da ciência podem ser
intercambiáveis, quão abrangente podem ser as teorias que fundamentam a Inteligência
Artificial e, finalmente, quão fascinante é a arte da Engenharia.
. O estudo proposto nesta pesquisa
fundamenta-se em um ramo particular das ciências exatas a inteligência artificial
aplicada à predição de resultados futuros, não exercendo nenhum vínculo direto com as
ciências humanas.
Quebrar paradigmas, inovar, engenhar. Estes são, de fato, os verdadeiros
motivos que iluminam os caminhos desta pesquisa de tese de doutorado e conduzem em
direção ao desenvolvimento de uma pesquisa inovadora no campo da Engenharia,
deixando uma significativa contribuição para o desenvolvimento de novas tecnologias
no futuro.
I.3. Objetivo da Pesquisa
As análises de linhas flexíveis realizadas por programas convencionais que
utilizam formulações matemáticas avançadas demandam, em muitos casos, um alto
custo computacional. Este custo pode variar de poucos segundos a dias, dependendo da
complexidade do evento analisado. Vale salientar que, assim como o usuário de um
banco de dados, o usuário destes programas eventualmente pode cometer erros durante
o processo de entrada de dados, comprometendo uma análise mais longa ao ponto de ter
que realizar nova análise, dobrando, assim, o custo computacional envolvido.
5
O debate sobre este tema é extenso e requer um forte embasamento teórico-científico. Cabe aqui apenas
deixar o tema como uma sugestão ou proposta de estudo de tese de doutorado em filosofia, psicologia,
pedagogia ou áreas afins.
9
Com o passar do tempo, a experiência ganha espaço e um detalhe em especial
tornou-se bastante evidente: a repetição de análises com pequenas diferenças entre seus
dados era uma constante, inicialmente, sem controle. Com o advento da tecnologia de
armazenamento de dados juntamente com a necessidade de controlar a excessiva
quantidade de análises que vinham sendo realizadas e, por conseguinte, o alto custo
computacional envolvido, descobriu-se que o melhor caminho seria a criação de um
banco de dados.
O banco de dados surgia aqui como a principal fonte de controle e redução do
custo computacional conseqüente das inúmeras análises realizadas, já que passou a
armazenar informações detalhadas sobre os parâmetros de entrada e resultados de
análises, evitando-se, desta forma, o gasto com a repetição.
Até então, ignorava-se que, além de servir como uma mera fonte de consultas,
um banco de dados pode funcionar como uma rica fonte de conhecimento, capaz de
esconder informações preciosas sobre o que nele se armazena. Caminhando mais
adiante, jamais se poderia imaginar que esta fonte de dados teria capacidade de produzir
sua própria informação, predizendo valores baseados naqueles que já existem em seu
conteúdo.
Traçando um paralelo com a capacidade humana de aprendizado, a criança
armazena informações sobre tudo que está ao seu redor e cria seus próprios mecanismos
de defesa, aprendendo a responder aos estímulos que a vida lhe impõe com o decorrer
do tempo. Assim funciona o banco de dados. Como a inteligência da criança, quanto
maior sua quantidade de informação, maior sua capacidade de aprendizado e melhor a
capacidade de resposta aos estímulos a que são submetidos.
Porém, diferentemente dos seres humanos, as máquinas necessitam de
ferramentas matemáticas que possibilitem a extração do conhecimento. E, dentro do
universo da inteligência artificial, a tecnologia que melhor atende esta necessidade é
conhecida como mineração de dados. Sua teoria envolve a realização de um conjunto de
atividades que variam desde o preparo dos dados (seleção, limpeza, transformação) até a
aquisição de conhecimento e predição de resultados
6
6
Para maiores detalhes, vide capítulo específico.
. Ora, o banco de dados foi criado,
10
faltava-lhe apenas ser submetido à referida tecnologia. E assim, originou-se a presente
pesquisa de tese.
Sendo assim, o objetivo desta pesquisa de tese de doutorado visa o
desenvolvimento de uma ferramenta de baixo custo computacional para ser utilizada
como elemento de predição de resultados, aplicando-se técnicas de mineração de dados
e algoritmos interpoladores a um modelo específico derivado do banco de dados de
linhas flexíveis – o DBFlex (2006).
A utilização desta ferramenta tem aplicação direta na Indústria de Petróleo e
Gás. Linhas flexíveis instaladas em plataformas localizadas dentro de uma mesma área,
sob as mesmas condições ambientais e exercendo as mesmas funções, possuem
comportamento estrutural semelhantes. A aplicação das técnicas de mineração de dados
a um modelo de banco de dados que represente fidedignamente o comportamento
estrutural destas plataformas, permite afirmar que sua interpolação para uma nova
plataforma, que porventura venha a ser implantada aos arredores destas, pode gerar
resultados tão confiáveis quanto aqueles gerados pelos programas convencionais de
análise estrutural.
Inicialmente, o estudo proposto nesta pesquisa visa o desenvolvimento de um
mecanismo de predição de resultados estruturais para linhas flexíveis como ferramenta
auxiliar ao processo convencional de análise estrutural realizado por programas
específicos. Contudo, com o passar do tempo, a quantidade de informação no banco de
dados deve aumentar e, com isso, a precisão dos resultados, tornando o processo mais
ambicioso.
É claro que a confiabilidade dos resultados dos programas de análise estrutural
convencionais é incontestável. Todavia, a hipótese de que o próprio banco poderia
passar a se retroalimentar, ao invés de ser alimentado pelos resultados dos programas
convencionais, chegando ao ponto de substituí-los no futuro, não deve ser descartada
como evolução natural deste processo. Afinal, o alto investimento no desenvolvimento
de novas tecnologias na área de inteligência artificial mundo afora afirma a
possibilidade de existência desta hipótese.
11
Hoje, esta pesquisa pode ser considerada como o estágio inicial em busca de
uma tecnologia mais ambiciosa, comprometida com altos padrões de qualidade e,
sobretudo, confiabilidade na aquisição de conhecimento sobre o comportamento
estrutural de plataformas de petróleo.
12
CAPÍTULO II - METODOLOGIA
II.1. Introdução
Este capítulo apresenta a metodologia utilizada para aquisição de
conhecimento através do aprendizado de máquina utilizando-se técnicas de mineração
de dados.
Inicialmente apresenta-se uma breve explanação sobre a importância de estudar
a massa de dados para definir o tipo de conhecimento que ela pode fornecer. Além de
apresentar alguns exemplos de aplicação da mineração de dados na indústria e no
comércio e seus respectivos objetivos, relata-se, também, o tipo de conhecimento que se
deseja extrair do modelo de banco de dados apresentado nesta pesquisa de tese.
A seção seguinte descreve a teoria utilizada no processo de mineração de
dados. As demais seções tratam do processo de mineração de dados. Na primeira delas,
descreve-se o p-processamento de dados: definições, funcionamento detalhado e
importância para a qualidade do modelo de aprendizado. Os conceitos sobre
aprendizado de máquina (classificação e predição) e a teoria dos algoritmos de
treinamento e aprendizado (interpolação) utilizados nesta pesquisa encontram-se
descritos em uma nova seção.
E, para finalizar o capítulo, algumas das técnicas mais comuns para avaliação
de desempenho destes algoritmos são apresentadas na seção “Métodos de Avaliação de
Classificadores”.
II.2. Definição do Problema
O primeiro passo da mineração de dados reside na determinação do problema a
ser estudado, ou seja, deve-se definir inicialmente que tipo de conhecimento se deseja
extrair da massa de dados em estudo. O especialista não deve esperar que esta mostre
espontaneamente o conhecimento nela embutido. Na verdade, ele deve estudá-la
exaustivamente, entender seu conteúdo e compreender plenamente seu funcionamento.
Afinal, a realização de uma pesquisa detalhada sobre o conteúdo do banco de dados que
13
se deseja treinar é de fundamental importância para mineração de dados. Sem essa
pesquisa, torna-se muito difícil a descoberta dos padrões de conhecimento nela
embutidos.
Existem alguns exemplos de aplicações associadas a vários setores do
mercado. Bancos, operadoras de cartões de crédito ou de telefonia celular visam sempre
obter novas formas de aquecer suas vendas. Para estes setores, a mineração de dados é
aplicada para traçar perfis de clientes em potencial para aquisição de novos produtos,
serviços ou empréstimos. Outro exemplo encontra-se nas redes de supermercados que
estão sempre tentando estimular suas vendas. O grande desafio desse tipo de comércio
concentra-se na definição do perfil de compras e é exatamente com este objetivo que se
utiliza a mineração de dados aqui. A aplicação da mineração de dados também pode ser
encontrada em áreas como a Medicina com o propósito de extração de conhecimento na
detecção e prevenção de patologias diversas ou na Engenharia/Geologia para detecção
de potenciais reservatórios de petróleo.
Nesta pesquisa, o processo de mineração de dados tem sua aplicação voltada
para Indústria de Petróleo e Gás. O modelo de banco de dados em que se fundamenta
este trabalho é composto pelo armazenamento de informações provenientes dos dados
de entrada e saída necessários para execução de programa convencional de análise do
comportamento estrutural de linhas flexíveis.
Os algoritmos de treinamento e aprendizado são aplicados neste modelo
visando obter os mesmos resultados obtidos através da execução do programa
convencional utilizando-se os mesmos parâmetros de entrada. Como foi mencionado
anteriormente, o objetivo principal é desenvolver um programa inteligente, de baixo
custo computacional auxiliar aos programas convencionais de análise estrutural de
linhas flexíveis.
II.3. Conhecendo a Mineração de Dados
Derivada do processo de KDD, a mineração de dados é um dos sistemas de
inteligência artificial mais difundidos e conhecidos no mundo. Este sistema é composto
por uma série de atividades, cujo objetivo final baseia-se na determinação de um
14
modelo ideal de banco de dados, onde seja possível extrair padrões mínimos de
conhecimento/aprendizado através da aplicação de algoritmos de treinamento e
interpolação.
Este processo de aquisição de conhecimento compreende uma seqüência de
passos iterativos como observado na Figura II.1, onde se demonstra que a partir do
treinamento de uma massa de dados aleatória, busca-se obter algum tipo de
conhecimento (Batista, 2003).
Figura II.1. Passos iterativos do processo de KDD.
Han & Kamber (2006) descrevem os passos do KDD ilustrados na Figura II.1,
conforme indicado a seguir:
Limpeza (ou purificação) de dados: remoção de ruídos e de dados
irrelevantes ou inconsistentes.
Integração de dados: combinação de dados de fontes distintas, geralmente
heterogêneas, em uma única fonte.
Seleção de dados: escolha dos dados relevantes à análise e sua recuperação
da massa de dados.
Transformação (consolidação) de dados: transformação (normalização)
dos dados selecionados, a fim de prepará-los para etapa de mineração.
Mineração de dados: aplicação de técnicas inteligentes para extração de
padrões potencialmente utilizáveis.
15
Avaliação de padrões: identificação dos padrões de representação do
conhecimento realmente relevantes, baseados em medidas de interesse.
Representação da descoberta do conhecimento: apresentação dos dados
minerados para o usuário através da utilização de técnicas de visualização e
representação do conhecimento.
O processo de KDD é bastante flexível, pois é possível se combinar dois ou
mais passos ao mesmo tempo. A etapa de pré-processamento, por exemplo, combina os
passos de limpeza e integração de dados para gerar o data warehouse
7
Este processo é também iterativo, como se pode observar na ilustração anterior
(
. Da mesma
maneira, os passos de seleção e transformação de dados podem ser combinados de
forma que a consolidação dos dados seja resultante desta seleção, ou, no caso de data
warehouses, a seleção de dados é feita após a sua transformação (Zaïane, 1999).
Figura II.1). Assim, uma vez que as medidas de avaliação dos algoritmos de
aprendizado tenham julgado o conhecimento como inadequado, o processo pode ser
reajustado e reiniciado. Ou seja, o refino da mineração pode se tornar mais objetivo,
novos dados podem ser selecionados ou transformados mais objetivamente ou novas
fontes de dados podem ser integradas ao processo, a fim de se obter um conjunto de
informações mais apropriado.
Curiosamente, a mineração de dados compreende apenas um dos passos do
processo de Descoberta de Conhecimento em Bancos de Dados (KDD). Entretanto, por
ser o elemento responsável pela introdução de algoritmos matemáticos e probabilísticos,
i. e., a base para aquisição de conhecimento, esta costuma ser tratada como sinônimo de
KDD. Por isso, o termo “mineração de dados” passou a ser adotado com freqüência pela
literatura em substituição ao termo “processo de KDD”. Seguindo esta tendência, este
documento passará a utilizar este termo da mesma forma.
7
Data warehouse pode ser caracterizado como evolução final da transformação do banco de dados
inicial, resultante da combinação de dois dos passos do processo de KDD: a limpeza e a integração de
dados (Inmon, 2001). A melhor tradução para data warehouse seria “armazém de dados”. Entretanto,
como esta tradução não é tão difundida como, por exemplo, mineração de dados, optou-se pela
manutenção do termo original em inglês.
16
À primeira vista, o termo “Mineração de Dados” pode não parecer muito
adequado frente ao que a técnica realmente propõe: o ganho de conhecimento a partir da
análise das informações contidas em um banco de dados (Han & Kamber, 2006).
Entretanto, o processo de ganho de conhecimento é caracterizado pela pesquisa e
extração de informações preciosas (de onde se origina o termo “mineração”, na maioria
das vezes, muito bem escondidas) de uma grande massa de dados aleatórios.
Uma vez identificados os padrões de conhecimento, estes podem ser utilizados
como fonte de informação para realização de predições, ou seja, o conhecimento
adquirido seria tão inteligente ao ponto de ser capaz de fornecer automaticamente seus
próprios resultados para uma informação ainda não existente no banco. Configura-se,
assim, o aprendizado de máquina.
Ainda que a mineração de dados seja considerada o “coração” do processo, ela
é extremamente dependente dos passos que a antecedem. Se o pré-processamento for
realizado de maneira inadequada e continuar apresentando valores incompletos ou fora
dos padrões dos demais, o conhecimento adquirido irá apresentar soluções indesejáveis
ou incoerentes, comprometendo a qualidade dos resultados. Por isso, estes passos
devem ser muito bem definidos, conforme exposto nas próximas seções.
II.4. Pré-Processamento de Dados
II.4.1. Introdução
Atualmente, os bancos de dados encontram-se bastante suscetíveis a uma
quantidade muito grande de itens faltantes ou inconsistentes, ruídos e outliers (dados
que divergem dos padrões esperados), principalmente, devido ao seu enorme tamanho.
Isto ocorre geralmente porque o acesso aos bancos de dados é realizado por diversas
pessoas que interpretam seus campos de diferentes formas e, assim, entram com valores
errados ou diferentes dos esperados pelo seu desenvolvedor.
Por exemplo, seja o atributo “cidade” de um determinado banco de dados cuja
entrada correta para seu registro é o nome da cidade por extenso e não por uma parte
dele ou uma sigla. Ao se entrar com “RJ” ou “Rio” em lugar de “Rio de Janeiro” como
17
registro desse atributo, este será caracterizado como dado inconsistente. Outro exemplo
seria a falta da vírgula como separador decimal em um campo numérico pode
caracterizar a presença de um outlier. Todavia, não apenas a falta de experiência ou de
entendimento, mas também o mau funcionamento de equipamentos ou os erros na
transmissão de dados podem contribuem para poluição dos dados.
A mineração de dados não pode ser realizada até que o banco de dados seja
devidamente tratado, corrigido e, até mesmo, transformado (quando necessário). Por
isso, a massa de dados necessita passar pela atividade de pré-processamento, até que
seus dados estejam coerentemente ajustados antes da aplicação de algoritmos de
aprendizado.
A atividade de p-processamento representa cerca de 70 a 80% do tempo
gasto no processo de mineração de dados e, por isso, deve ser realizada com bastante
precisão e cuidado. Esta atividade compreende todas as funções relacionadas à
captação, à organização e ao tratamento de dados e é geralmente caracterizada pelos
seguintes processos:
Limpeza de Dados: Consiste na triagem no banco de dados a fim de se
verificar a consistência das informações, promovendo-se a devida correção:
preenchimento de itens faltantes, eliminação de dados desconhecidos ou
redundantes, remoção ou ajuste de ruídos ou outliers.
Redução de Dados: Consiste na remoção de atributos considerados
irrelevantes para a especificação do modelo de mineração, podendo ser
realizada através da redução da dimensão ou do volume de dados.
Integração de Dados: Consiste na agregação e/ou compressão de alguns
atributos, quando esses trazem informações semelhantes.
Transformação de Dados: Consiste na transformação de dados,
principalmente, através de processos de normalização e agregação (redução
de dados).
É importante notar que alguns destes processos podem ser agrupados em um
único. A redução de dados, por exemplo, poderia facilmente compor uma das técnicas
18
da transformação. Na verdade, não existe uma regra específica para se determinar por
quais etapas o pré-processamento deve passar. Cabe ao especialista definir o que se
deve ou não fazer durante este processo.
O principal aspecto reside na realização de um pré-processamento de dados
bem sucedido, a fim de que se possa obter modelos de conhecimento coerentes,
concisos e eficientes. Afinal, conforme citam Han & Kamber (2006), a qualidade da
massa de dados implica diretamente na objetividade, acurácia e relevância do modelo:
GIGO (garbage in, garbage out), ou seja, se entra lixo, sai lixo.
Cada um dos itens apresentados acima se encontra detalhado nas seções que se
seguem onde se apresentam suas características e as técnicas utilizadas no tratamento
dos dados.
II.4.2. Limpeza de Dados
Em aplicações reais, as massas de dados apresentam dados incompletos,
ruidosos ou inconsistentes. Os dados são caracterizados como incompletos quando não
há informação para determinados atributos ou quando os dados do atributo são pouco
detalhados. Quando os valores dos dados de um atributo estão errados ou são
considerados divergentes dos demais valores para um mesmo atributo (mais comumente
conhecidos como outliers), diz-se que estes dados são ruidosos. Por fim, os dados
inconsistentes são aqueles que apresentam alguma discrepância semântica entre si.
Especificamente, para o caso de identificação da presença de outliers (dados
fora do domínio) devem ser desenvolvidos procedimentos que sejam poucos sensíveis a
presença dos próprios outliers. Desta forma, devem ser excluídos procedimentos
baseados na média e no desvio padrão por serem estes parâmetros estatísticos sensíveis
a presença dos próprios outliers que se deseja identificar. Um dos métodos mais simples
para efetuar esta tarefa é o método da Amplitude Interquartil (IQR), definido como
diferença entre o terceiro e o primeiro quartil de um conjunto de dados: IQR = Q
3
Q
1
.
A Amplitude Interquartil é uma medida muito mais robusta que o desvio padrão e
representa o intervalo central correspondente a 50% dos dados. Portanto, como uma
19
medida posvel para detecção de outliers, considera-se os valores do atributo que
estiverem assim localizados (segundo o método empírico):
1. 1.5*(IQR) ou mais abaixo de Q
1
2. 1.5*(IQR) ou mais acima de Q
3
.
Outliers também podem ser detectados a partir da aplicação de algoritmos de
clusterização
8
Conforme descrito anteriormente, a qualidade dos dados tem uma importante
influência na qualidade dos modelos de conhecimento obtidos a partir destes. Quanto
pior for a sua qualidade, pior será a de seus modelos. Portanto, visando-se sua melhoria,
algumas técnicas de limpeza são sugeridas a seguir.
onde os valores definidos para um determinado atributo são organizados
em grupos (ou clusters), levando-se em consideração o grau de similaridade entre os
eles. Aqueles pontos cujos valores apresentarem-se externos aos clusters, são tratados
como outliers.
Para o caso de valores incompletos, Han & Kamber (2006) citam os seguintes
métodos de limpeza de dados (alguns destes métodos também podem ser aplicados no
tratamento de dados inconsistentes ou outliers):
Eliminação da tupla
9
8
O processo de clusterização consiste no agrupamento de objetossicos ou abstratos em classes ou
clusters de acordo com o grau de similaridade entre eles. A clusterização visa minimizar a similaridade de
objetos pertencentes a um mesmo um cluster, ao mesmo tempo em que maximiza a similaridade de
objetos pertencentes a clusters distintos (Goldschmidt & Passos, 2005).
: Consiste na remoção da linha de registro por
definitivo, geralmente quando há algum dado não preenchido. A remoção é
somente aconselhada no caso de vários atributos da mesma tupla não
apresentarem dados. Mesmo assim, deve-se estudar se a remoção da tupla
acarretaria no comprometimento da massa de dados ao ponto de modificar
o modelo de conhecimento a ser gerado pela mineração de dados. Este
método também pode ser utilizado no caso de existência de valores
inconsistentes ou outliers.
9
Entende-se por tupla, o conjunto formado pela linha de registros dos n atributos de um determinado
banco de dados.
20
Preenchimento manual de dados ausentes: Geralmente, esta técnica
demanda gastos muito elevados de recursos e tempo, o que a torna inviável,
especialmente quando as informações contidas na massa de dados forem
desconhecidas e seu volume, muito grande. Tal como a eliminação da
tupla, esta técnica também pode ser utilizada quando os valores presentes
na massa de dados forem inconsistentes.
Preenchimento com valores globais constantes: Consiste na substituição
de todos os valores ausentes de um mesmo atributo por uma mesma
constante, geralmente padrão, como, por exemplo, “desconhecido” ou
null”.
Substituição pelo valor médio do atributo: Determina-se a média dos
valores do atributo (se numéricos) ou a moda (se categóricos) e, em
seguida, preenche-se o referido campo com tal valor. Vale observar que os
métodos de preenchimento de valores globais constantes ou médios do
atributo devem ser utilizados com cautela, pois podem reduzir
artificialmente a dispersão (desvio padrão) dos valores, comprometendo,
desta forma, o aprendizado.
Substituição por um valor gerado aleatoriamente da variável em
questão: Um valor é gerado aleatoriamente a partir do intervalo e da
distribuição de probabilidades da variável em questão. Este procedimento é
provavelmente superior aos anteriores pelo fato de preservar tanto a média
como o desvio padrão da variável.
Utilização do valor mais provável do atributo: Consiste na utilização de
técnicas de regressão (estatística Bayesiana ou decisão por árvore de
indução, por exemplo) para se determinar o valor mais provável do atributo
e promover sua substituição.
Utilização de Métodos de Mineração de Dados: Consiste a utilização dos
próprios modelos de conhecimento obtidos pela aplicação da mineração de
dados (algoritmos de estatística Bayesiana, Redes Neurais, Árvores de
Decisão, etc.) como ferramenta para preenchimento de valores ausentes.
21
Vale ressaltar que a substituição de valores é muito mais indicada do que a
remoção definitiva da tupla, pois permite que a estrutura do banco de dados mantenha-
se coerente. Portanto, a utilização de um dos três últimos métodos apresentados acima é
a decisão mais adequada.
Em comparação aos demais, o último método apresenta-se como a melhor
estratégia e a mais popular, pois ele se utiliza da informação presente no próprio banco
para predição dos valores ausentes, preservando a relação de correlação entre os
atributos.
Conforme mencionado anteriormente, vale lembrar que as atividades de pré-
processamento de dados se confundem. Por exemplo, a clusterização, além de ser
conhecida como um dos métodos de aprendizado aplicado à mineração de dados na
etapa de aprendizado, ela também pode ser utilizada tanto como método de detecção da
presença de outliers (conforme descrito acima) ou como método de redução de valores
(conforme comentado no próximo item).
II.4.3. Redução de Valores
Ruídos são definidos como sendo os valores errados ou divergentes quando
comparados com os demais valores de um determinado atributo, conforme relatado
anteriormente. Tal como na técnica de limpeza de dados, a redução de valores também
prevê algumas atividades para o tratamento de outliers.
Contudo, o pré-processamento disponibiliza a técnica de redução de valores
como uma alternativa bastante viável em substituição à técnica de exclusão de tuplas.
Além disso, a técnica de redução de valores também pode ser interpretada como uma
solução de otimização, uma vez que permite a reestruturação da massa de dados através
da substituição de valores, principalmente quando é possível observar a presença de
nichos de redundância excessiva, sem que ocorram perdas significativamente relevantes
a ponto de comprometer o aprendizado durante seu treinamento.
Com o objetivo de facilitar alguns algoritmos de mineração de dados, esta
operação propõe a redução do número de valores distintos em determinados atributos
22
(Goldschmidt & Passos, 2005). Quanto menor o número de valores, menor a quantidade
de comparações e, por conseguinte, menor o tempo de processamento de algoritmos.
O processo de redução de valores é simples e intuitivo. Goldschmidt & Passos
(2005) identificam essas técnicas como: Redução de Valores Nominais e Redução de
Valores Contínuos (ou Discretos). Ambas as técnicas encontram-se sucintamente
descritas nas próximas sub-seções.
II.4.3.1. Redução de Valores Nominais
Valores nominais podem apresentar um número finito, porém muito grande de
valores distintos, sem que haja necessariamente uma ordenação entre eles. Sugerem-se,
portanto, dois métodos para geração de níveis de abstração entre variáveis (hierarquia) e
valores nominais (conceitos):
Identificação de hierarquia entre atributos: Consiste na identificação e
na definição hierárquica entre atributos. Seja, por exemplo, um conjunto de
dados que contenha informações sobre clientes: logradouro, bairro, cidade
e unidade de federação. Como se sabe, toda unidade de federação tem
cidades; as cidades, bairros e, por fim, os bairros, logradouros. Uma vez
definido pelo especialista que apenas as unidades de federação representam
atributo relevante dentro do escopo de sua pesquisa, por exemplo, procede-
se um corte do detalhamento da informação através da exclusão dos níveis
hierárquicos inferiores à unidade de federação. Ou seja, cidade, bairros e
logradouros deixam de pertencer ao conjunto de dados analisados.
Identificação de hierarquia entre valores: Consiste na definição de
possíveis generalizações para os valores de cada atributo. Consideremos o
exemplo de um conjunto de dados que contenha informações sobre
produtos vendidos a cada cliente como, por exemplo: tênis, sapato,
sandália, bermuda, calça, camisa, blusão e paletó. Hierarquicamente, esses
objetos podem ser generalizados apenas como calçados e roupas. Tênis,
sapato, sandália podem ser conceitualmente identificados como calçados e,
por outro lado, bermuda, calça, camisa, blusão e paletó, como roupa.
23
Assim, ao se substituir os valores originais por suas respectivas
generalizações, reduz-se de um domínio igual a oito valores distintos para
outro com apenas dois. Esta técnica também é conhecida como Agregação
Cúbica de Dados. Resumidamente, dados em um nível maior de
detalhamento são concatenados em informações com um nível menor de
detalhamento. A utilização desta técnica sugere a concatenação de dois ou
mais grupos de tuplas ou de atributos em um único através do uso de
consultas em linguagem específica: SQL
10
II.4.3.2. Redução de Valores Contínuos (ou Discretos)
.
Como seu próprio nome define, a redução de valores contínuos ou discretos
propõe reduções somente sobre tais variáveis. Diferentemente da redução de valores
nominais, estas variáveis já possuem uma relação de ordenação entre seus valores.
Portanto, a definição das classes de redução de valores é realizada através de métodos
matemáticos.
Segundo Han & Kamber (2006), considerando-se como exemplo o conjunto de
valores de um dado atributo A = {5, 7, 18, 20, 24, 25, 28, 30, 35}, a operação de
redução de valores contínuos pode ser realizada através dos seguintes métodos:
Particionamento de células (bins) de mesma cardinalidade (método
equidepth): Consiste na definição de intervalo de valores através da
consulta a valores vizinhos. Estes intervalos geralmente apresentam o
mesmo número de elementos em cada um deles, podendo a última célula
conter mais valores que os demais pelo fato do número de valores não ser
múltiplo do número de células. Para o particionamento de células de
mesma cardinalidade para o atributo A exemplificado, define-se:
Célula 1: 5, 7, 18
Célula 2: 20, 24, 25
10
SQL, do inglês Structured Query Language ou linguagem estruturada de consultas é uma linguagem de
pesquisa declarativa para a definição, operação de consulta e manipulação (inserção, exclusão,
recuperação) de informação em bancos de dados relacionais (Wikipédia, 2006). Foi desenvolvida em
1970 pela IBM, mas tornou-se um padrão industrial como linguagem de consulta na maioria dos sistemas
gerenciadores de banco de dados relacionais.
24
Célula 3: 28, 30, 35
Redução de valores pela média das células (bin means): Consiste no
mesmo procedimento acima, substituindo-se o valor de cada célula pelo
valor da média associada a cada uma. Supondo-se a mesma faixa de valores
do atributo A, as células serão definidas da seguinte forma:
Célula 1: 10, 10, 10
Célula 2: 23, 23, 23
Célula 3: 31, 31, 31
Redução de valores pela mediana das células (bin medians): Consiste
em um procedimento semelhante a ambos os descritos acima, substituindo-
se, desta vez, o valor de cada célula pelo valor da mediana associada a cada
uma.
Redução de valores pelos limites das células (bin boundaries): Consiste
em um método com procedimento igual ao primeiro, considerando-se os
valores limites em cada célula. Neste caso, o valor original do campo é
substituído pelo valor limite mais próximo, gerando um novo conjunto de
dados. Tomando-se como exemplo o atributo A acima, o conjunto de
células deverá conter os seguintes valores:
Célula 1: 5, 5, 18
Célula 2: 20, 25, 25
Célula 3: 28, 28, 35
Clusterização: Na etapa de redução, a clusterização consiste na
substituição dos valores ruidosos por representações de clusters. Tanto a
aplicação quanto a eficiência desta técnica depende da natureza dos dados.
Para se determinar qual dos métodos deve ser escolhido dentre os apresentados
acima, Goldschmidt & Passos (2005) citam duas heurísticas interessantes:
1. Se o número de células for de moderado a grande, recomenda-se dar
preferência aos métodos que utilizam a redução de valores através da média
ou mediana.
25
2. Se o número de células for pequeno, recomenda-se dar preferência ao
método que utiliza a redução de valores através de seus limites mínimo e
máximo.
II.4.3.3. Compressão por Análise de Componentes Principais (PCA
11
PCA, também conhecida como Método de Karhunen-Love ou Método K-L,
trata-se de uma técnica computacional de baixo custo que pode ser utilizada em
qualquer conjunto de dados numéricos que contenha mais de duas dimensões como uma
opção de compressão de dados através da redução de sua dimensão.
)
Suponha-se que o conjunto de dados a ser analisado consista de N tuplas ou
vetores de dados com k atributos (dimensões). A PCA procura por c vetores ortogonais
com dimensão k que melhor representem os dados, sendo
kc
. Os dados originais são
então projetados em uma dimensão menor, resultando na compressão de dados. Sendo
assim, a PCA cria um conjunto de variáveis menor e alternativo ao combinar a essência
dos atributos originais.
O procedimento básico do processo de PCA ocorre conforme descrito a seguir:
1. Os dados de entrada são normalizados
12
2. PCA calcula os c vetores ortonormais (vetores unitários, perpendiculares
aos demais) que promovem uma base para os dados de entrada
normalizados. Esses vetores são conhecidos como componentes principais.
Os dados de entrada são interpretados como uma combinação linear destes
componentes principais.
de maneira que cada atributo
pertença à mesma faixa de valores dos demais. Esse procedimento ajuda
evitar que atributos que fazem parte de domínios maiores predominem
sobre atributos de domínios menores.
3. Os componentes principais são organizados em ordem decrescente de
significância ou valor e servem essencialmente como um novo grupo de
11
PCA, do inglês Principal Component Analysis.
12
As principais técnicas de normalização encontram-se descritas na Seção II.4.4.
26
eixos para os dados, provendo informações importantes sobre a variância
dos dados.
4. Uma vez que os dados são organizados em ordem decrescente de variância,
os componentes mais fracos (aqueles que possuem menor variância) podem
ser eliminados promovendo, assim, a redução no tamanho dos dados.
Utilizando-se os componentes principais mais fortes (aqueles que possuem
maior variância), é possível se reconstruir uma boa aproximação dos dados
originais.
II.4.4. Integração e Transformação de Dados
A integração de dados propõe a concatenação de um ou mais atributos do
mesmo ou de vários bancos de dados em um único. Um fator importante para integração
de dados reside na redundância entre atributos. Um atributo pode ser redundante se ele
pode “derivar” de outra tabela. Em alguns casos, a redundância pode ser detectada pela
análise de correlação, ou seja, o quanto um atributo depende da existência do outro. A
correlação entre dois atributos A e B pode ser verificada da seguinte forma:
( )
( )
( )
BA
BA
n
BBAA
σσ
θ
=
1
,
, onde:
(II.1)
BA,
θ
coeficiente de correlação entre os atributos A e B
n
número de tuplas
n
X
X
=
valor da média do atributo X (seja A ou B)
( )
1
2
=
n
XX
X
σ
valor do desvio padrão do atributo X (seja A ou B)
Se o resultado da Equação (II.1) for maior que zero, os atributos A e B
encontram-se correlacionados positivamente, ou seja, o valor do atributo A cresce se o
valor do atributo B crescer. Quanto maior for o fator de correlação, maior o grau de
dependência linear entre os atributos. Desta forma, um valor alto indica sinais de
redundância o que pode acarretar na remoção de um ou outro atributo. Por outro lado,
quanto mais próximo esse valor for de zero, significa que os atributos A e B são
27
linearmente independentes, ou seja, não há correlação entre eles. Por fim, se a
correlação entre os atributos for negativa, implica dizer que se um atributo cresce o
outro decresce, ou seja, a existência de um atributo desestimula a do outro.
Por outro lado, a transformação de dados sugere o ajuste de dados através de
métodos de normalização, de forma que estes passem a pertencer a um intervalo
pequeno, geralmente de -1 a 1 ou de 0 a 1. O objetivo da transformação de dados é
evitar que uma determinada escala de valores mais elevados influencie o resultado dos
métodos de mineração de dados.
É importante saber que alguns dos métodos mencionados no item anterior,
também podem ser interpretados como métodos de transformação de dados, tais como,
o particionamento em células (binning), a clusterização e a regressão. Afinal, estes
valores sofrem uma transformação ao serem reduzidos.
As técnicas de transformação mais utilizadas envolvem métodos de
normalização que podem ser dos seguintes tipos: Linear, por Desvio Padrão, por Soma
de Elementos, pelo Valor Máximo de Elementos ou por Escala Decimal. A
normalização é particularmente útil para algoritmos de classificação que envolvem
métodos que utilizem redes neurais ou medidas de distância (como o método os K-
Vizinhos Mais Próximos ou KNN, por exemplo).
II.4.4.1. Normalização Linear (Min-Max)
Este método consiste em uma interpolação linear considerando os valores
mínimos e máximos dos atributos. Seu uso preserva a relação entre os valores originais
dos dados. Entretanto, sua utilização somente é recomendada quando se tem certeza de
que o atributo encontra-se entre os valores mínimo e máximo considerados. A Equação
que define este método é tal que:
( )
AAA
AA
A
MinnovoMinnovoMaxnovo
MinMax
Minx
x ___ +
=
, onde:
(II.2)
x
valor normalizado
x
valor do atributo a ser normalizado
28
A
Min
valor mínimo do atributo A
A
Max
valor máximo do atributo A
A
Minnovo_
novo valor mínimo do atributo A
A
Maxnovo_
novo valor máximo do atributo A
Uma generalização para este método, quando o intervalo mínimo-máximo for
definido como 0-1, é definida pela Equação:
AA
A
MinMax
Minx
x
=
(II.3)
II.4.4.2. Normalização por Desvio Padrão (ou Normalização Z-Score)
Essa técnica consiste na normalização dos valores de um atributo qualquer
baseado na média e desvio padrão deste, e é indicada para os casos quando os valores
mínimo e máximo são desconhecidos. É também conhecida como Normalização Z-
Score ou Normalização Zero-Mean. Sua Equação é definida por:
A
A
x
x
σ
=
, onde:
(II.4)
x
valor normalizado
x
valor do atributo a ser normalizado
n
A
A
=
valor da média do atributo A
( )
1
2
=
n
AA
A
σ
valor do desvio padrão do atributo A
II.4.4.3. Normalização por Soma de Elementos
Consiste na normalização do valor de cada atributo, dividindo-se o seu valor
original pelo somatório de todos os valores do atributo. A Equação é definida como
sendo:
29
K
x
x =
, onde:
(II.5)
x
valor normalizado
x
valor do atributo a ser normalizado
K
valor total da soma de todos os atributos
Este método apresenta uma desvantagem com relação aos demais, pois alguns
de seus registros podem apresentar valores muito pequenos.
II.4.4.4. Normalização pelo Valor Máximo de Elementos
Nesse caso, normaliza-se o valor do atributo dividindo-o pelo maior valor
dentre eles. Seu cálculo é definido pela razão:
A
Max
x
x =
, onde:
(II.6)
x
valor normalizado
x
valor do atributo a ser normalizado
A
Max
valor máximo do atributo A
II.4.4.5. Normalização por Escala Decimal
Essa normalização é realizada através do deslocamento do ponto decimal dos
valores do atributo a ser normalizado, baseando-se no número de casas decimais do
atributo de maior valor. Esta normalização é definida pela Equação:
j
x
x
10
=
, onde:
(II.7)
x
valor normalizado
x
valor do atributo a ser normalizado
j
menor valor inteiro tal que
( )
1<
xMax
Uma vez esgotadas as técnicas de pré-processamento, pode-se concluir que o
banco de dados encontra-se preparado para a aplicação dos algoritmos de aprendizado.
30
O aprendizado de máquina é a etapa mais importante da mineração. O conceito e alguns
algoritmos de aprendizado são apresentados na seção a seguir.
II.5. Aprendizado de Máquinas
II.5.1. Definições
II.5.1.1. Aprendizado de Máquina
Conforme citado no capítulo I, o aprendizado de máquina é uma das áreas da
inteligência artificial que se baseia no desenvolvimento de técnicas computacionais
sobre o aprendizado através da confecção de sistemas de aquisição automática de
conhecimento. Os sistemas de aprendizado são caracterizados por programas de
computador capazes de tomar decisões a partir das experiências acumuladas por meio
de resultados bem-sucedidos de treinamentos anteriores (Monard & Baranauskas apud
Rezende, 2005).
O principal aspecto do aprendizado de máquinas fundamenta-se na inferência
indutiva. Este é o recurso mais utilizado pelo cérebro humano. Através desse recurso,
Arquimedes pôde descobrir a Primeira Lei da Hidrostática e o Princípio da Alavanca,
Darwin, a Teoria da Evolução Natural das Espécies e Kepler, as Leis do Movimento
Planetário.
A indução pode ser caracterizada pela inferência lógica que possibilita a
obtenção de conclusões genéricas sobre um determinado conjunto de exemplos (Monard
& Baranauskas apud Rezende, 2005). Para o aprendizado de máquina, um conceito é
construído através da inferência indutiva sobre um determinado conjunto de exemplos
devidamente tratados por algoritmos matemáticos confiáveis. A indução deve ser
utilizada com cautela, pois, se os exemplos forem mal escolhidos ou a quantidade,
insuficiente, os modelos podem conduzir a um aprendizado ruim ou inadequado.
O aprendizado indutivo é o resultado da inferência de hipóteses sobre
exemplos fornecidos por um processo externo ao sistema de aprendizado. O
31
aprendizado indutivo pode ser dividido em aprendizado supervisionado ou não-
supervisionado, conforme explicados a seguir (vide também a Figura II.2).
Figura II.2. A hierarquia do aprendizado (Monard & Baranauskas apud Rezende, 2005).
Entende-se por aprendizado supervisionado aquela em que a massa de dados é
treinada a partir da determinação de um indutor baseado nos padrões por ela mesma
delineados para os quais os rótulos de classe já são conhecidos. Assim, novos dados são
treinados a partir deste mesmo indutor.
Por outro lado, no aprendizado não-supervisionado os padrões são
desconhecidos e a determinação do modelo fica a cargo das observações, das medições,
da identificação de clusters e da exploração e interpretação de informações imersas na
massa de dados. Neste caso, o indutor analisa os dados a serem treinados e tenta
determinar se alguns deles podem ser agrupados e de que forma (clusterização
13
O objetivo do algoritmo de indução baseia-se na construção de um modelo que
seja capaz de determinar corretamente a que rótulo de uma dada classe um novo grupo
de dados, ainda não rotulados, deve pertencer. Ou seja, o algoritmo indutor deve ser
capaz de classificar ou predizer novos dados (vide próximo item) com boa acurácia.
).
13
A maior parte da literatura sobre mineração de dados adota “clusterização” como o termo mais comum
para indicar a classificação por aprendizado não-supervisionado. Da mesma forma, adota o termo
“classificação” para indicar a classificação por aprendizado supervisionado.
32
II.5.1.2. Aprendizado Supervisionado
Conforme Goldschmidt & Passos (2005), a classificação pode ser entendida
como um processo que tem por objetivo a busca pela melhor função que permita
descrever corretamente a associação de cada registro X
i
de um banco de dados a um
único rótulo categórico Y
i
, denominado classe (vide a Figura II.3). Uma vez
determinada, esta função passaria a ser aplicada a novos registros de maneira a prever a
classe em que tais registros se enquadrariam.
Figura II.3. Associação entre conjuntos de dados e classes.
Seja considerado um par ordenado da forma (x, f(x)), onde x é definido como
sendo um vetor de entradas de dimensão k (k atributos) e f(x) a saída de uma função f,
desconhecida, aplicada a x. A atividade de inferência indutiva consiste em obter a
função hipotética h (denominada hipótese ou modelo de f) mais próxima da função f,
dada uma coleção de exemplos de f. Se a imagem de f for formada por rótulos de classe,
a atividade de inferência indutiva é denominada classificação e toda hipótese h,
classificador.
O conceito de aprendizado é definido pela identificação de uma função h que
melhor represente a função original f, dentro de um espaço de hipóteses H (Russel e
Norvig, 1995 apud Goldschmidt & Passos, 2005). Uma vez que a identificação da
função h é uma atividade que se baseia na seleção randômica de dados fornecidos pelo
próprio banco a partir da população da amostra, cujas classes são previamente
conhecidas, costuma-se dizer que o processo é supervisionado (Han & Kamber, 2006).
33
Por isso, este método é conhecido como classificação por aprendizado supervisionado,
o que o difere da classificação por aprendizado não-supervisionado (ou clusterização),
onde os rótulos de classe são desconhecidos. Por fim, o algoritmo responsável por este
processo de aprendizado, ou seja, pela determinação da referida função h, é conhecido
como algoritmo de aprendizado supervisionado.
Em Han & Kamber (2006) a classificação é definida como sendo um processo
composto pela identificação de dois conjuntos, a saber: o conjunto de treinamento e o
conjunto de testes. Goldschmidt & Passos (2005) definem claramente estes conjuntos
quando afirmam que o conjunto de treinamento é formado pelos pares (x, f(x))
utilizados na identificação da função h e que o conjunto de testes é composto pelos
pares (x, f(x)) utilizados na avaliação da acurácia da função hipotética h
14
O processo de construção dos classificadores é direcionado por um bias
indutivo presente em cada um dos algoritmos de aprendizado. Urgoff (1986) apud
Goldschmidt & Passos (2005) define o bias indutivo de um algoritmo como sendo “o
conjunto de fatores que coletivamente influenciam na seleção de hipóteses”. Na
verdade, o bias indutivo de um algoritmo de aprendizado pode influenciar o processo de
aprendizagem restringindo o tamanho do espaço de hipóteses e impondo uma ordem de
preferência sobre as hipóteses (Bensusan, 1999 apud Goldschmidt & Passos, 2005).
.
O teorema NFL
15
A identificação do melhor algoritmo de aprendizado depende dos resultados
obtidos quando estes são submetidos à avaliação dos seguintes critérios: acurácia na
predição, velocidade, robustez, escalabilidade, interpretabilidade, overfitting e
(Wolpert, 1996 apud Goldschmidt & Passos, 2005) define
claramente que “não existe um algoritmo de classificação que seja superior a todos os
outros em qualquer problema de classificação”. O melhor algoritmo de aprendizado é
aquele que apresentar melhores resultados de classificação que os demais, ou seja,
devem-se experimentar todos os algoritmos disponíveis a cada nova classificação
aplicada no processo de mineração de dados.
14
Entende-se por acurácia da função hipotética h a qualidade ou precisão de h em mapear corretamente
cada vetor de entradas x na função original f(x).
15
Do inglês No Free Lunch Theorem.
34
underfitting. Esses métodos são discutidos ao final deste capítulo, na seção “Métodos
para Avaliação de Classificadores”.
II.5.1.3. Classificação e Predição
A riqueza de informação escondida em uma massa de dados é fonte de
realização de decisões inteligentes de negócios. A classificação e a predição são duas
formas de análise de dados que podem ser usadas para se extrair modelos que
descrevam classes de dados importantes ou até mesmo predigam os futuros padrões de
conhecimento. Enquanto a classificação prevê atribuições categóricas, a predição
modela funções de valores contínuos.
Em termos gerais, classificação pode ser entendida como sendo um processo de
identificação de padrões concretos ou abstratos em forma de classes ou categorias. Este
processo é realizado pela mente humana diariamente desde os mais remotos tempos. Por
exemplo, quando identificamos sabores em doce, salgado ou amargo; pessoas em
amigos ou inimigos; eventos em excelentes, bons ou péssimos; estamos definindo
categorias para classificar esses atributos (Barreto, 2005). Esta tarefa é realizada quase
imediatamente e praticamente sem esforço algum, pois em algum momento de nossa
vida, adquirimos conhecimento necessário para esta classificação através de algum
processo de aprendizagem (Semolini, 2002).
Em mineração de dados, classificação é interpretada como a atribuição de
classes ou categorias a novos fatos ou objetos, definidas a partir da exploração dos
padrões identificados em uma determinada massa de dados.
Por outro lado, a predição está diretamente relacionada à determinação de um
valor futuro como resposta de uma determinada atividade, baseando-se na composição
de dados históricos inerente a uma massa de dados específica, modelando-se através da
utilização de algoritmos interpoladores, segundo Han & Kamber (2006).
O objetivo desta pesquisa de tese reside justamente no desenvolvimento de um
modelo de predição obtido a partir do aprendizado de máquina cujo treinamento é
35
realizado utilizando-se a mineração de dados e algoritmos interpoladores, citados
adiante, como mecanismo de inferência.
Dentre as várias técnicas de predição desenvolvidas, foram utilizados no
presente trabalho dois tipos básicos de interpoladores: Interpoladores locais que utilizam
apenas os pontos mais próximos do ponto considerado e um Interpolador global que
subdivide o conjunto dos pontos disponíveis num conjunto de pontos de treinamento e
num conjunto de pontos de validação.
Como interpoladores locais, foram disponibilizadas as Técnicas de Superfície
de Resposta Linear e Quadrática e a Interpolação pela média ponderada dos K-Vizinhos
mais Próximos (KNN). Por outro lado, como interpolador global, foi disponibilizado um
baseado em Redes Neurais Artificiais.
II.5.2. Algoritmos de Interpolação
II.5.2.1. Métodos de Interpolação Linear e Interpolação Quadrática
a). Descrição dos Métodos
Uma maneira simples de se obter um valor aproximado de uma função
( )
xf
de n variáveis
( )
n
xxxx ,,
21
=
, definida por um conjunto de m pontos
( )
i
n
iii
xxx ,,
21
=x
,
mi ,,1,0 =
, é gerar uma superfície linear ou quadrática no entorno
do ponto
( )
n
xxxP ,,
21
=
para o qual se deseja obter o valor da função
( )
xf
.
Deste modo, o primeiro passo consiste em selecionar o conjunto dos pontos da
função
( )
xf
que estejam mais próximos do ponto P considerado, como está indicado na
Figura II.4.
A proximidade pode ser medida através de métrica Euclidiana, cuja distância
entre dois pontos X = (x
1
, x
2
, ..., x
n
) e Y = (y
1
, y
2
, ..., y
n
) pode ser definida por:
36
( ) ( )
=
=
n
i
ii
yxd
1
2
,YX
(II.8)
Figura II.4. Seleção dos pontos da função mais próximos do ponto P.
Caso seja escolhida uma superfície linear (ou hiperplano) como superfície
aproximada em torno do ponto considerado, a aproximação da função terá a seguinte
forma:
( )
=
+=
n
i
iio
xaaf
1
x
, onde:
(II.9)
no
aaa ,,
1
são os coeficientes do hiperplano e n é o número de variáveis
envolvidas
Os coeficientes
i
a
são obtidos a partir dos n+1 pontos mais próximos do ponto
onde a
( )
xf
deve ser avaliada, ou seja,
( )
i
n
iii
xxx ,,
21
=x
,
ni ,,1,0 =
pela solução do
seguinte sistema de Equações lineares:
( )
( )
( )
=
nn
n
n
n
n
n
f
f
f
a
a
a
xx
xx
xx
x
x
x
1
0
1
0
1
11
1
00
1
1
1
1
(II.10)
Uma melhor aproximação de
( )
xf
pode ser obtida através do uso de uma
superfície quadrática completa ou incompleta. Uma superfície quadrática incompleta
corresponde ao hiperplano linear acrescido dos termos quadráticos diagonais, i.e.,
37
( )
= =
++=
n
i
n
i
iiiio
xbxaaf
1 1
2
x
, onde:
(II.11)
no
aaa ,,
1
são os coeficientes dos termos lineares
no
bbb ,,
1
são os coeficientes correspondentes aos termos quadráticos
Os coeficientes
i
a
e
i
b
são obtidos a partir de 2n+1 pontos iniciais
( )
i
n
iii
xxx ,,
21
=x
,
ni 2,,1,0 =
e da solução do seguinte sistema de Equações lineares:
( ) ( )
( ) ( )
( ) ( )
( ) ( )
( )
( )
( )
( )
=
+
++++
n
n
n
n
n
nn
n
n
n
n
nn
n
n
nn
nn
f
f
f
f
b
b
a
a
xxxx
xxxx
xxxx
xxxx
2
1
1
0
1
1
0
2
2
2
2
1
22
1
2
1
2
1
1
11
1
2
1
2
1
1
11
1
2
0
2
0
1
00
1
1
1
1
1
x
x
x
x
(II.12)
Uma superfície quadtica completa corresponde à superfície quadrática
incompleta acrescentada dos termos quadráticos cruzados, i.e.,
( )
= +== =
+++=
1
1 11 1
2
n
j
n
jk
kjjk
n
i
n
i
iiiio
xxcxbxaaf x
, onde:
(II.13)
jk
c
são os coeficientes dos termos cruzados
Os coeficientes da Equação (II.13) são obtidos de forma semelhante aos das
superfícies anteriores, porém neste caso o número de pontos iniciais para obter a
superfície completa é
( )( )
2/21 ++ nn
.
No presente trabalho estão disponíveis as aproximações por superfícies lineares
ou quadráticas completas. Ambos os métodos utilizam a decomposição pelo valor
singular (SVD)
16
(II.9 para solução dos sistemas de Equações ) e (II.11).
16
Traduzido do termo em inglês Singular Value Decomposition, a decomposição pelo valor singular é
comumente conhecido pela sigla SVD (iniciais de seu nome original em inglês). Este método encontra-se
descrito na íntegra no Anexo A.
38
II.5.2.2. Método de Interpolação pelos K-Vizinhos Mais Próximos (KNN)
Analogamente ao caso anterior, o método KNN seleciona, inicialmente, um
conjunto de k pontos que estejam mais próximos do ponto P considerado, utilizando a
métrica Euclidiana definida em (I.18), como está indicado na Figura II.4.
O valor estimado da função
( )
xf
no ponto P é obtido pela média ponderada,
utilizando como pesos o inverso do quadrado das distâncias ao ponto considerado (Han
& Kamber, 2006).
=
=
k
i
i
k
i
ii
xf
xf
1
1
)(
)(
ω
ω
, onde:
(II.14)
2
)(
1
i
i
R
=
ω
, sendo R
i
o raio (a distância entre os pontos)
II.5.2.3. Método de Redes Neurais Artificiais
a). Conceito
Similarmente à rede de neurônios biológicos que compõem o sistema nervoso,
as Redes Neurais Artificiais possuem um conjunto de neurônios compostos por modelos
matemáticos que realizam o armazenamento e o processamento da informação de
maneira paralela e distribuída por elementos processadores simples, onde cada um
desses elementos corresponde a um neurônio artificial (Braga et al. apud Rezende,
2005).
O modelo de neurônio artificial, também conhecido como modelo de
McCulloch e Pitts, ou MCP (McCulloch e Pitts apud Braga et al. apud Rezende, 2005),
conforme representado na Figura II.5, tem por base o funcionamento do neurônio
biológico, de acordo com o que foi relatado no parágrafo anterior.
39
Nesta representação, os estímulos correspondem ao vetor de entrada X = [x
1
,
x
2
, ..., x
n
]
T
de dimensão n. Para cada uma dessas entradas existe uma conexão ponderada
por valores reais conhecidos como pesos w
i
. Estas conexões ponderadas são
equivalentes às sinapses encontradas no neurônio biológico. À soma dos vetores de
entrada ponderados pelos respectivos pesos dá-se o nome de saída linear u, onde
=
iii
wxu
. A saída de ativação do neurônio é representada pela saída y obtida a partir
da multiplicação de uma função f(.) à saída linear u, neste caso, representada pela
equação y = f(u). Esta função f(.) corresponde ao neurotransmissor do neurônio
biológico e é conhecida como função de ativação, podendo assumir diversas formas,
geralmente não lineares.
Figura II.5. Representação de um neurônio artificial, segundo o modelo MCP.
A função de ativação tem por objetivo definir o novo valor do estado de
ativação de um neurônio artificial, ou seja, ela determina a saída efetiva do neurônio
artificial. Existem várias formas de funções de ativação, dentre as mais freqüentes cita-
se: a função linear, a função degrau unipolar (ou de limiar, ou ainda de threshold) e as
funções sigmoidais logística unipolar e bipolar (ou tangente hiperbólica). As
características não lineares dos neurônios biológicos são representadas com maior
precisão pelas funções não lineares, neste caso, as funções sigmoidais.
As funções de ativação sigmoidais logística unipolar, bipolar e tangente
hiperbólica são definidas pelas respectivas expressões:
u
e
uf
+
=
1
1
)(
(II.15)
40
u
u
e
e
uf
+
=
1
1
)(
(I.21)
( )
uu
uu
ee
ee
uuf
+
== tanh)(
(II.162)
De uma forma geral, o aprendizado de uma RNA pode ser interpretado como
sendo o melhor dos ajustes dos pesos w de forma que a superfície de decisão atenda aos
requisitos de parada do referido algoritmo.
Kecman (2001) define uma RNA genuína como sendo aquela que apresenta ao
menos duas camadas de neurônios uma camada escondida e uma camada de saída,
desde que a camada escondida contenha funções de ativação não-lineares e
diferenciáveis. A não-linearidade da função de ativação permite que as RNAs sejam
aproximadores universais, resolvendo assim, o problema de representação. A
diferenciabilidade da função de ativação das camadas escondidas resolve funções não-
lineares de aprendizado. Esta característica permite concluir que problemas de
aproximação de funções contínuas podem ser resolvidos com a utilização de RNAs,
independentemente do número de variáveis envolvidas.
Figura II.6. Representação de uma RNA genuína.
A Figura II.6 representa uma RNA genuína do tipo feed-forward, onde cada
elemento processador executa uma função de ativação como a função exemplificada
41
acima. O vetor de entrada é representado por cinco entradas [x
1
, x
2
, x
3,
x
4
, x
5
] e o vetor
de saídas, por duas saídas [y
1
, y
2
]. Sua camada escondida é formada por 3 neurônios,
capaz de resolver problemas de classificação ou predição no espaço R
5
.
A complexidade de uma RNA pode ser medida pela quantidade de neurônios
existentes em suas camadas escondidas. Quanto maior for o número de neurônios
envolvidos, mais complexas serão as funções mapeadas pela RNA. Entretanto, uma
elevada quantidade de neurônios pode conduzir a RNA a resultados indesejáveis. Por
isso, a escolha da RNA influencia diretamente na qualidade e no desempenho do
modelo obtido. O maior desafio no desenvolvimento de um modelo de RNA reside na
seleção da melhor solução dentre as possíveis, ou seja, aquela cujo resultado mais se
aproxime do modelo real em estudo.
b). Aprendizado
Basicamente, as RNAs destacam-se pela capacidade de resolver problemas de
aproximação, classificação, categorização e otimização. Reconhecimento de caracteres,
reconhecimento de voz, predição de séries temporais, modelagem de processos,
controles, suporte à decisão e mineração de dados são alguns dos exemplos de
aplicações de RNAs. Nesta pesquisa, a RNA será utilizada como uma ferramenta de
aprendizado supervisionado para determinação de padrões em mineração de dados e
predição de resultados.
Dentre as várias propriedades das RNAs, a habilidade de aprender é a
característica humana melhor representada. No caso das RNAs, o aprendizado é
adquirido por meio de treinamentos. O algoritmo de aprendizado é responsável pela
adaptação dos parâmetros da rede de tal forma que, em um número finito de iterações,
haja convergência para uma solução. Ou seja, dado um conjunto de entradas o
treinamento da RNA deve ser capaz produzir saídas consistentes.
As RNAs permitem o desenvolvimento de algoritmos que atendam a ambas as
classes de aprendizado, quer seja este supervisionado ou não-supervisionado.
42
O algoritmo de aprendizado supervisionado de RNA caracteriza-se pela
existência de um supervisor externo à rede, cuja principal função é monitorar a acurácia
da classificação dos pares de vetores de entradas x
i
e vetores alvos que se deseja como
saída y
i
d
. O procedimento de treinamento inicia-se pela aplicação da entrada à RNA e
obtém-se uma saída cujo valor é comparado com o vetor alvo. O erro encontrado na
diferença é iterativamente realimentado através dos ajustes dos pesos de acordo com o
algoritmo utilizado até que seja reduzido a limites aceitáveis.
Por outro lado, o algoritmo de aprendizado não-supervisionado de RNA
caracteriza-se pela não existência de um vetor alvo para as saídas. Neste caso, as RNAs
modificam os pesos de forma que as saídas sejam consistentes.
Atualmente existem mais de 50 tipos diferentes de RNAs em uso. Entretanto,
aquela que melhor se aplica ao estudo proposto nesta pesquisa é representada pela RNA
conhecida como Perceptron Multicamadas do tipo feed-forward, modelo proposto por
Rosenblatt (1958), que trata o problema de aprendizado supervisionado como um
problema de otimização numérica.
Entre os métodos de otimização de segunda ordem foi utilizado no presente
trabalho o Método do Gradiente Conjugado.
c). Medida de Erro
O objetivo do processo de aprendizado é a determinação dos pesos w
i
que
permitem a melhor aproximação da função mapeada pela RNA e os dados do conjunto
de pontos de treinamento e do conjunto de pontos de validação.
Foi utilizado como medida do nível de aproximação o erro médio quadrático
calculado pela seguinte Equação:
JN
tz
E
N
i
J
j
jiji
=
= =1 1
2
,,
)(
2
1
, onde:
(II.17)
N
número de elementos do conjunto de treinamento ou de validação
43
J
valor máximo do atributo A
ji
z
,
valor da j-ésima saída da RNA correspondente ao i-ésimo ponto do
conjunto de treinamento ou de validação
ji
t
,
valor da j-ésima saída do i-ésimo ponto do conjunto de treinamento
ou de validação.
O controle de overfitting é feito interrompendo o processo de otimização dos
pesos w
i
, no instante em que o erro médio quadrático do conjunto de validação começa
a crescer.
II.6. Métodos para Avaliação de Classificadores
II.6.1. Métodos Convencionais
A simples aplicação de algoritmos de aprendizado em uma massa de dados não
é suficiente para se determinar se o conhecimento adquirido pelo modelo em estudo
consegue representar fidedignamente o caso real esperado, sem que este seja
devidamente avaliado. Assim, para garantir a confiabilidade dos resultados, é necessário
que os classificadores sejam avaliados de acordo com, ao menos, um dos critérios
definidos nos itens abaixo:
Acurácia de predição: Refere-se à precisão do modelo de prever
corretamente o rótulo da classe de novos dados ou dados ainda não
identificados. Matematicamente, pode-se definir a acurácia de um dado
classificador pela Equação:
)(1)( hErrhAcc =
, onde:
(II.18)
)(hErr
taxa de erro ou taxa de classificação incorreta, sendo:
=
=
n
i
i
ihy
n
hErr
1
)(
1
)(
, onde:
(II.19)
17
n
é o número de exemplos da base de dados
i
y
é a classe original relacionada aos i-ésimo exemplo
17
É importante observar, nesta equação, que o operador ||E|| retorna 1 caso a expressão E seja verdadeira
e 0, caso contrário.
44
)(ih
é a classe indicada pelo classificador para o i-ésimo exemplo
Velocidade: Consiste na avaliação dos custos computacionais envolvidos
tanto no processo de geração do modelo, quanto no processo de uso deste.
Robustez: Refere-se à capacidade do modelo de fazer predições corretas
levando-se em consideração os itens faltantes e os ruídos presentes na
massa de dados.
Escalibilidade: Consiste na capacidade de construção de modelos
eficientes dada uma massa de dados muito grande.
Interpretabilidade: Refere-se ao nível de compreensão e agilidade
providas pelo modelo.
Overfitting X Underfitting (Goldschmidt & Passos, 2005): O fenômeno de
overfitting ocorre quando o classificador ajusta-se em excesso ao modelo
de treinamento, ou seja, caso o modelo de treinamento não seja
suficientemente representativo, o classificador pode ter um bom
desempenho no modelo de treinamento, mas não no modelo de teste.
Analogamente, quando o classificador não se ajusta muito bem ou se ajusta
muito pouco ao modelo de treinamento, ocorre o fenômeno de underfitting.
Dos métodos mencionados acima, a acurácia é o critério mais imediato para
avaliação do desempenho do algoritmo de aprendizado como classificador. Para tanto, o
todo holdout e o método de validação cruzada, ambos baseados na divisão
randômica de amostras dos dados utilizados no treinamento, apresentam-se como as
técnicas mais comuns para se definir a acurácia de classificadores.
No método holdout, a massa de dados é dividida em dois grupos: o grupo de
treinamento e o grupo de teste. Para o grupo de treinamento são alocados dois terços da
massa de dados e o terço remanescente (por isso o termo “holdout”) para o grupo de
teste. Para se obter a classificação, utiliza-se o grupo de treinamento, cuja acurácia é
determinada pelo segundo grupo, o de teste. Para se obter uma estimativa mais otimista,
sugere-se a repetição deste método n vezes utilizando-se grupos de treinamento e de
teste distintos em cada iteração. Han & Kamber (2006) informam que essa variação do
método holdout é conhecida como método de subamostras randômicas.
45
Por outro lado, no método de validação cruzada em k-partes (Han &
Kamber, 2006), os dados são subdivididos em k subgrupos (S
1
, S
2
, ..., S
k
) de tamanhos
semelhantes. O treinamento e o teste são realizados k vezes, de forma que, na i-ésima
iteração, o subgrupo S
i
seja utilizado para teste e os demais subgrupos sejam utilizados
coletivamente para treinamento. Ou seja, na primeira iteração, o classificador será
treinado para o subgrupo composto por (S
2
, S
3
, ..., S
k
) e testado pelo subgrupo S
1
e, na
última iteração, o subgrupo de treinamento (S
1
, S
2
, ..., S
k-1
) será testado pelo subgrupo
S
k
. A estimativa da acurácia resulta da divisão do número total de classificações corretas
das k iterações pelo número total de amostras dos dados iniciais. Em geral, recomenda-
se realizar uma validação cruzada em 10-partes devido às baixas predisposição e
variância.
Outros métodos para estimativa de acurácia de classificadores são conhecidos
como bootstrapping e o leave-one-out, este último assemelha-se ao método de
validação cruzada em k-partes, sendo que apenas uma amostra é “deixada de fora” para
testes de cada vez.
Existem também métodos para se aumentar a acurácia dos classificadores.
Estes métodos são conhecidos como bagging e boosting. Cada um combina uma série
de T classificadores de aprendizado (C
1
, C
2
, ..., C
T
) com o objetivo de criar um
classificador composto C* que represente todos eles.
Os métodos de validação comentados acima são considerados os mais
eficientes e adequados para análise do desempenho e do comportamento de diversos
classificadores. Entretanto, este pesquisa de tese de doutorado utiliza uma ferramenta
específica para avaliação dos resultados obtidos pelos dos algoritmos interpoladores.
II.6.2. Ferramenta de Validação da Tese
Embora utilizados nesta pesquisa, estes métodos supracitados não serão usados
como ferramenta principal de validação dos resultados obtidos pela aplicação dos
algoritmos interpoladores aqui propostos. Na verdade, o programa Anflex (2002)
representará o papel da ferramenta de validação neste trabalho.
46
Conforme definido em seu manual (Petrobras, 2009), o Anflex é um sistema em
constante desenvolvimento composto por um conjunto de outros programas capazes de
realizar análises não lineares estáticas e dinâmicas de linhas de amarração, linhas
flexíveis e risers rígidos fundamentadas por métodos matemáticos concisos em
elementos finitos. Sua estrutura compreende um pré-processador gráfico e um pós-
processador que possibilita a visualização de resultados.
Este sistema tem sido amplamente utilizado por vários setores da
PETROBRAS S/A, sendo a Tecnologia Submarina do CENPES seu maior cliente.
Recentemente, o programa foi citado como destaque tecnogico pela TV CENPES
devido sua importância e a confiança depositada na precisão de seus resultados. Estes
são os principais motivos que o conduzem a ser adotado como ferramenta de validação
desta tese de doutorado.
Para tanto, os exemplos submetidos aos algoritmos interpoladores também
serão submetidos à análise estrutural pelo programa Anflex. Em seguida, seus
respectivos resultados serão comparados entre si, como o intuito de se avaliar a
acurácia, robustez e escalabilidade na predição de resultados dos modelos propostos.
II.7. Banco de Dados
II.7.1. Introdução
O programa DBFlex, utilizado como fonte de dados para aplicação das técnicas
de mineração de dados desta pesquisa, foi desenvolvido à luz das teorias que
determinam a confecção de bancos de dados relacionais orientados a objetos. Sendo
assim, a criação desta seção visa introduzir alguns conceitos básicos sobre a teoria que
envolve a concepção de uma base de dados.
II.7.2. Conceitos
A teoria de banco de dados origina-se da necessidade de se realizar o
armazenamento e a manipulação de uma série de informações cujos dados estejam
47
interrelacionados e apresentem algum significado. Fica claro, portanto, que associações
aleatórias de dados não podem ser definidas como um banco de dados.
Desta forma, o conceito de banco de dados pode ser definido como sendo uma
coleção que represente um conjunto de dados que respeite uma coerência lógica com
determinada significação intrínseca, projetada para um fim específico e sempre
representando algum aspecto do mundo real.
Paralelamente com o conceito de banco de dados, surge também o conceito de
Sistema de Gerenciamento de Banco de Dados (ou SGDB
18
, como é mais comumente
conhecido). O SGDB é definido como sendo um conjunto de programas capaz de
permitir que seus usuários possam definir, criar e manipular
Segundo Takai et al (2005), para se
uma base de dados (Takai
et al, 2005).
definir uma base de dados é necessário
determinar qual a especificação dos tipos de dados que serão armazenados. Por outro
lado, o processo de armazenamento de dados através da utilização um aplicativo
qualquer, desde que este aplicativo possa ser controlado pelo SGDB, caracteriza o ato
de sua construção. Por fim, manipular
II.7.3. Características do SGDB
uma base de dados significa desenvolver
atividades como as de consulta, inserção, remoção, atualização e recuperação de dados,
bem como, permitir a geração de relatórios, sempre utilizando linguagens de
programação específicas (como o SQL, por exemplo).
Um SGDB deve ser capaz de controlar e gerenciar diversas atividades durante
o processo de criação e manipulação de bases de dados. Dentre as mais relevantes,
Takai et al (2005) citam as seguintes:
Controle de Redundância: Muitos usuários possuem seus próprios
arquivos para manipular o processamento de suas aplicações. Esta
18
Este termo é uma tradução literal da expressão original em inglês Database Management System” ou
DBMS. A sigla DBMS também é bastante difundida e adotada por diversas literaturas.
48
facilidade pode gerar o armazenamento de informações redundantes, o que
é evitado pelo SGDB.
Compartilhamento de dados entre multiusuários: Da mesma forma que
no controle de redundância, a facilidade de realização simultânea de
alterações no banco de dados por diversos usuários ao mesmo tempo deve
propiciar modificações corretas, quando gerenciado pelo SGDB.
Restrições de acesso multiusuário: Múltiplos usuários compartilhando
uma mesma base de dados nem sempre possuem autorização de acesso
ilimitado. É possível controlar os acessos de alguns usuários, restringindo-
se a permissão para consulta e manipulação da base de dados através da
distribuição de senhas (palavras-chaves).
Fornecimento de múltiplas interfaces: A possibilidade da existência de
múltiplos usuários implica na variedade de níveis de conhecimento técnico,
o que, por sua vez, acarreta na necessidade do SGDB em fornecer múltiplas
interfaces para suprir esta demanda.
Relacionamento complexo entre dados: Um SGDB deve ser capaz de
gerenciar relacionamentos complexos entre dados e, também, recuperar e
modificar dados de modo fácil e eficiente.
Restrições de integridade: As regras que definem os tipos de dados
pertencentes a uma dada relação devem ser garantidas pelo SGDB durante
sua manipulação, principalmente quando o registro de um arquivo estiver
relacionado a registros de outros arquivos. Ou seja, o formato do tipo de
um dado campo em uma determinada tabela, deve ser respeitado quando
vinculado a outro campo de outra tabela.
Recuperação de dados: No caso de ocorrência de erros de hardware ou
software, o SGDB deve fornecer recursos para backup e restauração de
dados ao estado anterior ao início da execução do programa.
O primeiro SGDB comercial data do final do ano de 1960 e era baseado em
sistemas de arquivos primitivos disponíveis na época, sem haver controle de acesso
concorrente por vários usuários ou processos. Com o passar do tempo e o
desenvolvimento de novas tecnologias, os SGDB’s evoluíram e passaram a utilizar
49
novas formas de representação para descrever a estrutura das informações presente em
seus bancos de dados. Atualmente, os SGDB’s são representados pelos seguintes
modelos de banco de dados: modelo hierárquico, modelo em redes, modelo relacional
(mais difundido) e o modelo orientado a objetos.
Modelo Hierárquico
Segundo Takai et al (2005), este modelo foi o primeiro a ser reconhecido como
um modelo de dados. Os dados encontram-se estruturados em hierarquia
19
A cardinalidade
(árvores),
cujos nós armazenam registros. Cada registro representa uma coleção de campos que,
por sua vez, contém apenas uma informação. Dentro desta hierarquia, denominam-se
“registros-pais” aqueles que precedem os demais (conhecidos como “registros-filhos”).
20
Modelo em Rede
do relacionamento entre um registro-pais e vários registros-
filhos é igual a 1:N. Os dados deste modelo são acessados respeitando-se uma seqüência
hierárquica, navegando-se do topo para as ramificações e da esquerda para direita. Um
registro só pode acessar os demais se este for replicado, o que acarreta duas grandes
desvantagens: o desperdício de espaço e a inconsistência de dados.
Considerado como uma extensão do modelo anterior (hierárquico), este modelo
quebra o conceito de hierarquia ao passar a adotar a estratégia de que um mesmo
registro pode se envolver em várias associações (Takai et al, 2005).
Modelo Relacional
Fundamentado pela teoria dos conjuntos e álgebra relacional, o modelo
relacional resulta de um estudo teórico desenvolvido por Codd
21
19
A representação hierárquica das informações é resultante da consolidação dos discos de
armazenamento endereçáveis que possibilitaram a exploração de sua estrutura de endereçamento físico.
(Takai et al, 2005).
20
A cardinalidade é um número que define o comportamento (número de ocorrências) de um determinado
registro de uma certa tabela associado a uma ocorrência do registro da tabela em questão através do
relacionamento (Alvares, 2004).
21
Edgar Frank Codd foi matemático de Oxford e desenvolveu o modelo de banco de dados relacional
quando era pesquisador em laboratório da IBM. Publicou um artigo entitulado "Modelo de Dados
50
Este modelo surgiu com o objetivo de suprir as necessidades de aumentar a
independência entre dados no SGDB, utilizar a álgebra relacional para administrar
recursos de armazenamento e recuperação de dados e permitir o processamento
dedicado (ad-hoc). O modelo relacional é indicado como sendo o mais adequado e o
mais flexível na solução de problemas relativos à concepção e implementação de base
de dados.
O conceito de modelo de banco de dados relacional traz consigo algumas
nomenclaturas próprias para definição de objetos já conhecidos como tabela, campos e
registros. Assim, a estrutura fundamental deste modelo é a relação (tabela). Uma relação
é composta por um ou mais atributos (campos) elementos que traduzem o tipo de
dados a armazenar. Cada atributo armazena uma informação (registro). O conjunto de
registros dispostos em uma linha de atributos é denominado tupla.
Uma relação é composta por um conjunto de tuplas. Como todos os elementos
de um conjunto são distintos, todas as tuplas de uma relação também são distintas e, por
isso, não podem existir duas tuplas iguais em uma mesma relação. Para se evitar esta
duplicação, geralmente aplica-se o conceito de atributo-chave valor que garante a
propriedade de unicidade.
É possível que uma tabela contenha mais de um atributo-chave e cada atributo
cujo valor pode ser classificado como chave é denominado chave-candidata.
Geralmente uma destas chaves é definida como chave-primária da relação. Uma chave-
primária é aquela cujo valor nunca se repete, considerando-se o conjunto de valores de
uma mesma tabela, nunca pode ser nulo e pode ser utilizado como índice para os demais
campos.
Ao serem utilizadas como índice, as chaves primárias também facilitam o
vínculo de relacionamento entre tabelas. Para que este vínculo seja concretizado, a
tabela a ser relacionada também deve conter um índice que permita sua conexão. Surge,
então, o conceito de chave estrangeira. A chave estrangeira de uma tabela é criada para
receber o valor da chave primária de outra tabela e, portanto, definir um relacionamento.
Relacional para Grandes Bancos de Dados Compartilhados" (originalmente, "Relational Model of Data
for Large Shared Data Banks") em junho de 1970. Porém, seu modelo fora implementado somente nos
anos 80 (Wikipédia, 2009).
51
Porém, diferentemente da chave primária, a chave estrangeira pode conter valores
repetidos, principalmente, se a cardinalidade que define a relação entre as tabelas for
igual a 1:N
22
Para se especificar o relacionamento entre tabelas, é necessário que o projetista
entenda claramente o significado da estrutura de dados que deseja montar, de forma que
a coerência das restrições de integridade dos SGDB’s seja garantida e o fluxo de
transações entre tabelas seja o mais objetivo possível.
.
Modelo Orientado a Objetos
O modelo orientado a objetos origina-se, principalmente, por ocasião da
limitação de armazenamento e representação semântica impostos pelo modelo
relacional. Sendo assim, este modelo aparece como resposta à combinação das idéias
dos modelos de dados tradicionais com a utilização de facilidades disponibilizadas por
um conjunto de linguagens de programação orientada a objetos e sua biblioteca de
classes. Cria-se, desta forma, o embasamento para o desenvolvimento do Sistema de
Gerenciamento de Banco de Dados Orientado a Objetos (ou SGDBOO).
Esta nova tecnologia surgiu como solução às falhas encontradas no modelo
relacional de banco de dados e, por isso, ao ser introduzido, acreditava-se que o modelo
orientado a objetos conseguiria obter a maior fatia do mercado. Entretanto, sua
utilização tem sido aplicada apenas em atividades especializadas, enquanto que o
modelo relacional continua sendo utilizado para sustentar negócios mais tradicionais
(Takai et al, 2005).
II.7.4. Arquiteturas de SGDB's
Takai et al (2005) relatam que o processamento principal e de todas as funções
do sistema (aplicativos, programas de interface e todas as atividades dos SGDB's) eram
executadas através de mainframes nas primeiras arquiteturas. A comunicação entre
22
Uma cardinalidade 1:N indica que a ocorrência de um dado registro de uma determinada tabela implica
também na ocorrência de, ao menos, um outro em outra tabela.
52
usuários e os mainframes eram realizadas remotamente através da utilização de
terminais
23
Entretanto, com a queda dos preços dos hardwares, os usuários trocaram os
terminais por computadores pessoais e estações de trabalho. Mesmo assim, no começo,
o SGDB continuava centralizado, exercendo toda sua funcionalidade em uma máquina e
ainda utilizava os computadores pessoais da mesma forma como usava os terminais.
Gradualmente, os SGBD's começaram a explorar a capacidade de processamento dos
computadores pessoais, passando a realizar suas operações ao lado do usuário. Surge,
então, a arquitetura cliente-servidor.
que possuíam apenas o poder de visualização.
Nesta arquitetura
24
Na arquitetura baseada em plataformas centralizadas, um computador com
emuladores para aplicativos e grande capacidade de processamento, é utilizado como
hospedeiro do SGDB. Esta arquitetura permite que um grande volume de dados sejam
manipulados por vários usuários, o que caracteriza sua principal vantagem. Por
conseguinte, este fator acarreta um alto custo devido a implementação de ambiente
especial para mainframes e soluções centralizadas.
, o cliente(front-end) executa tarefas utilizando uma
interface que fará sua conexão com o servidor (back-end). Este, por sua vez, conecta-se
ao SGDB, realiza consultas e retorna os resultados aos clientes. Porém, esta arquitetura
necessita realizar algumas atividades sofisticadas de software como, por exemplo, tratar,
confirmar (commits) e desfazer (rollbacks) transações e utilizar linguagens de consultas
(stored procedures) e gatilhos (triggers). Mesmo assim, sua viabilidade está garantida
pela vantagem que oferece: a redução do tráfego de dados na rede, pois o
processamento de dados é dividido entre dois sistemas. Ainda que bastante popular, é
importante notar que a arquitetura cliente-servidor não é a única existente.
Os computadores trabalham em sistema stand-alone na arquitetura
fundamentada em sistemas de computador pessoal, realizando os processamentos
23
A conexão entre os terminais de visualização e os mainframes eram realizadas através de redes de
comunicação.
24
O SGDB desta pesquisa de tese de doutorado foi desenvolvido sob a teoria da arquitetura cliente-
servidor.
53
sozinhos através da utilização de um único aplicativo. Esta arquitetura apresenta como
principal vantagem a simplicidade.
Finalmente, na arquitetura de banco de dados distribuída em n camadas, a
informação encontra-se distribuída em vários servidores (ilustrada na Figura II.7).
Nesta, cada servidor atua como cliente-servidor, sendo que, as consultas provenientes
dos aplicativos utilizados, são realizadas para qualquer servidor indistintamente. De
maneira transparente para o aplicativo, o sistema encarrega-se de realizar a busca pela
informação através dos servidores disponíveis na rede.
Figura II.7. Arquitetura de banco de dados distribuída em n camadas (Takai et al, 2005).
54
CAPÍTULO III - DESCRIÇÃO DO DBFLEX
III.1. Diagramas de Offset
O deslocamento de plataformas além dos limites definidos em projeto pode
comprometer seriamente o funcionamento de seu sistema de risers, cuja falha pode
representar riscos à operação e, principalmente, à saúde daqueles que ali trabalham e ao
meio ambiente.
Como medida preventiva, foi proposto o desenvolvimento de uma ferramenta
de monitoramento e suporte para a tomada de decisão e acionamento dos procedimentos
operacionais necessários, por parte dos operadores das plataformas da PETROBRAS. O
sistema é composto por um equipamento de GPS
25
(responsável pelo monitoramento de
deslocamento da plataforma) e um alarme. Este é acionado sempre que verificado um
afastamento perigoso da plataforma com relação à sua posição neutra
26
Os Diagramas de Offset compreendem a representação gráfica da região
operacional de linhas flexíveis. Sua criação fundamenta-se no cruzamento dos
resultados obtidos pela análise dinâmica em condições ambientais específicas para oito
pontos de deslocamento de offset
, tendo por base
as coordenadas emitidas pelo GPS e as configurações obtidas por gráficos específicos,
denominados Diagramas de Offset.
27
(utilizando-se o Anflex) com determinados critérios
de falha globais e locais
28
Considerando-se uma plataforma qualquer denominada P100 composta por
oito linhas flexíveis. Supondo-se que cada uma destas linhas tenha sido instalada na
direção dos quatro pontos cardeais e dos quatro pontos colaterais, a
.
Figura III.1 ilustra
os Diagramas de Offset particulares de cada uma.
25
Do inglês Global Positioning System. É um sistema eletrônico que utiliza um conjunto de satélites para
detectar e informar a localização de um aparelho receptor via rádio utilizando as coordenadas terrestres.
26
Entenda-se por “posição neutra” de uma plataforma o local concebido, em projeto, para sua instalação.
27
Os oito pontos de deslocamento de offset baseiam-se em porcentagens de lâmina d’água, a saber: 0%,
5%, 10%, 15%, 20%, 25%, 30% e 35%.
28
São considerados exemplos de critérios globais de falha: torção, tração e/ou compressão superiores aos
valores admissíveis definidos por normas ou projetos ou a perda da configuração da catenária na condição
near. Como exemplos de critérios locais de falha citam-se: tensões na carcaça, na camada zeta, nas
armaduras de tração e compressão e deformações nas camadas plásticas superiores às admissíveis.
55
Figura III.1. Diagramas de Offset para linhas flexíveis de 1 a 8 da plataforma P100.
56
A superposição destes diagramas gera o Diagrama de Offset da plataforma,
conforme ilustrado pela Figura III.2.
Figura III.2. Superposição dos Diagramas de Offset das linhas da plataforma P100.
Analisando-se estas ilustrações, observa-se que os dados são representados por
quatro cores distintas: verde, amarelo, vermelho e cinza. A cor verde indica que não há
ocorrência de falha naquela região, ou seja, a condição de operação da linha flexível é
segura. Na região amarela, a operação da linha torna-se condicionada à ocorrência da
onda centenária (ao menos um critério de falha foi verificado). Já a cor vermelha
identifica regiões onde a operação não é recomendada, pois um ou mais critérios de
falha ocorreram para a condição de onda anual. A área fora dos domínios de estudo é
representada pela cor cinza.
III.2. Concepção do Banco de Dados de Risers – o DBFlex (2006)
Inicialmente, os dados que geravam os Diagramas de Offset eram descartados.
Entretanto, observou-se que tal informação poderia ser reaproveitada como fonte de
consulta e mecanismo de controle na prevenção de realização de análises redundantes e
57
desnecessárias
29
Figura III.3
. Assim, surge o DBFlex o Banco de Dados de Risers, ilustrado pela
.
Este banco foi desenvolvido com o objetivo principal de elaboração de uma
fonte de armazenamento de dados sobre plataformas, linhas flexíveis e resultados de
análise estrutural produzidos pelo Anflex e como uma ferramenta de suporte aos dados
que originam os Diagramas de Offset.
Figura III.3. O Banco de Dados de Risers DBFlex.
Estas informações incluem desde identificação da linha (nome e tipo de
plataforma onde está localizada, descrição, localização, tipo de operação, instalação,
etc.) até resultados referentes ao seu comportamento (trações máxima/mínima no topo e
no TDP, mínimo raio de curvatura, momentos flexional e de torção, etc.) quando
expostas a determinadas condições ambientais obtidos através de análise dinâmica
realizada pelo Anflex.
29
Engenheiros especializados em análise estrutural de linhas flexíveis observaram que em muitos dos
casos analisados, os valores obtidos se repetiam com certa freqüência.
58
O banco de dados DBFlex foi concebido e desenvolvido sob a teoria de banco
de dados relacional. O modelo relacional estrutura um conjunto de dados de forma
organizada utilizando tantas relações quantas forem necessárias, observando-se
determinadas restrições, tais como repetição de dados, incoerência de informações (não
ser capaz de representar parte da informação ou mesmo a falta de informação). Esta
estrutura é necessária a fim de facilitar a aplicação de operações de consulta (aplicação
de filtros), manutenção, inserção e exclusão de dados realizada por meio de utilização
de linguagem apropriada: o SQL.
Sua estrutura foi baseada na arquitetura cliente-servidor
30
O conjunto de informões que se planejava armazenar exigiu a confecção de
uma série de relações
desenvolvida de
forma a atender as necessidades básicas de gerenciamento. O usuário executa suas
tarefas utilizando a interface como elo de comunicação com o servidor o qual executa
consultas no Sistema de Gerenciamento de Banco de Dados (comumente conhecido
pela sigla SGBD) e retorna os resultados ao cliente através da mesma interface.
31
que deram origem a diversas tabelas. Utilizando-se uma
linguagem de programação orientada a objetos
32
Contudo, para que o estudo de extração de conhecimento deste banco de dados
fosse realizado, fez-se necessário concatenar todas as tabelas em uma única, unindo-as
através de suas chaves primárias e estrangeiras. Esta atividade foi realizada através da
aplicação de uma única instrução SQL a todas as tabelas pertencentes ao banco,
a um banco devidamente relacionado,
é possível desenvolver uma interface gráfica que possibilite um gerenciamento amplo
das informações nele contidas. Com a ajuda da interface, o usuário é capaz de realizar
consultas específicas (utilizando determinados filtros ou combinações destes) e
manipular dados (inserir, remover ou alterar).
30
Além da arquitetura cliente-servidor em que se baseia o banco de dados utilizado nesta pesquisa, os
SGDB’s podem ser desenhados sob outras arquiteturas, conforme disposto no capítulo anterior desta
pesquisa de tese.
31
A capacidade de relacionamento entre duas ou mais tabelas (mais comumente conhecida pelo termo
“cardinalidade”) é quem define a quantidade de tabelas necessárias para compor o banco. A criação de
chaves primárias e chaves estrangeiras é a responsável pelo elo de comunicação entre tabelas. Estas
chaves permitem a execução de diversas transações desde as mais simples até as mais complexas através
da aplicação de instruções em SQL.
32
O banco de dados DBFlex tem interface gráfica gerada em linguagem de programação Delphi.
59
utilizando-se um programa específico. A tabela resultante do processo de aplicação
desta instrução foi transformada em uma planilha Excel
®
.
O programa Excel
®
não é o programa mais indicado para tratamento de bancos
de dados. Entretanto, este disponibiliza alguns recursos simples como a filtragem e o
tratamento de linhas e colunas (ocultar, excluir) e permite que dados sejam salvos em
arquivos em formato de texto
33
Por fim, controlar a presença de erros em dados de um banco pré-existente é
uma atividade bastante desafiadora. Por outro lado, participar da criação deste pode
contribuir em muito para redução de erros e, portanto, promover o desenvolvimento de
uma estrutura mais concisa.
. Estas facilidades permitem aplicar a primeira etapa do
processo de mineração de dados – o pré-processamento de dados.
III.3. Principais Obstáculos
Exatamente como uma estrutura de banco de dados qualquer, o DBFlex
encontra-se suscetível a erros (falta ou inconsistência de dados, outliers, etc.). Por mais
que seus usuários interpretem seus campos de forma bastante semelhante, a
possibilidade de acontecer erros durante a inserção de dados em um determinado campo
não pode ser considerada um fato isolado, principalmente quando os campos possuem
nomes muito parecidos
34
Além dos arquivos comumente gerados pelo programa Anflex como resultado
da análise de linhas flexíveis, este é capaz de gerar um arquivo-resumo
.
35
33
É importante notar que os arquivos Excel salvos como texto encontram-se sempre devidamente
formatados, permitindo, assim, leitura imediata de seu conteúdo em diversas outras linguagens de
programação, sem precisar passar por transformações ou alterações que possam vir a comprometer a
estrutura de seus dados e, por conseguinte, a análise destes.
com os
resultados obtidos pelo processo. Este arquivo contém a informação de todos os dados
necessários para preencher o banco de dados. Com o objetivo de reduzir os possíveis
erros de digitação e facilitar a inserção de dados, desenvolveu-se uma rotina capaz de
34
Durante a fase de inserção de dados, o usuário pode facilmente confundir os valores de “Máxima
Tração no Topo” com os de “Mínima Tração no Topo”, por exemplo, e assim, trocar involuntariamente o
posicionamento de seus respectivos registros.
35
Estes “arquivos-resumos” são arquivos gerados automaticamente por uma rotina desenvolvida em
FORTRAN que exerce as funções de leitura dos arquivos de saída *.DAT, *.ENV e *.HIS do Anflex e
organização de dados em um arquivo de saída *.PRO, a fonte de informação do banco de dados.
60
captar esta informação e transmiti-la ao banco, inserindo-a nos respectivos campos
automaticamente. A quantidade de erros de digitação direta foi reduzida a zero para este
caso, considerando-se que a rotina passou a fazer este papel. Entretanto, a
automatização do processo não imuniza o banco da ocorrência de erros. Outras
variantes podem contribuir (ou de fato contribuíram) para que estes aconteçam.
A rotina desenvolvida executa uma atividade bastante complexa, pois apenas
algumas partes da informação produzida por este arquivo serão transmitidas ao banco.
A primeira etapa desta atividade envolve a busca por esta informação. Em seguida, o
programa posiciona o ponteiro, extrai a respectiva informação, abre o banco de dados e
a insere na devida posição. Esta ação torna o processo lento quando realizado para um
número muito grande de arquivos. A lentidão do processo pode deixá-lo exposto a
fatores externos aleatórios que podem provocar erros. Problemas como, por exemplo,
cortes de energia elétrica
36
Para realização de uma análise de uma linha flexível através do programa
Anflex é necessário informar uma grande quantidade de parâmetros. Dentre eles, citam-
se o tipo de plataforma, a profundidade, a localização, a função da linha flexível,
azimute da análise, ângulo de topo, período de onda e corrente, porcentagem de
deslocamento de offset e sua direção, etc. É muito comum realizar análises alterando-se
apenas um ou outro parâmetro, ou mesmo, um grupo pequeno de parâmetros ao mesmo
tempo para uma mesma linha. Aliado a isso, os dados referentes aos parâmetros de
entrada e seus respectivos (supostos) resultados são armazenados em máquinas ou
momentos distintos, o que também pode ser uma potencial fonte de erros.
podem causar a interrupção indevida do processo e, por
conseguinte, o aparecimento de “vazios” ou valores zerados no banco de dados.
Quanto maior for esta defasagem de tempo, maior a possibilidade de geração
de erros. Uma estrutura analisada para dois ângulos de topo distintos poderia conter
resultados para apenas um deles, ou seja, o ângulo de topo informado no banco como
parâmetro de entrada poderia ser um (5°, por exemplo), enquanto os resultados de
análise inseridos na respectiva tupla seriam referentes a outro ângulo de topo (7,86°, por
exemplo).
36
O tempo de execução do processo pode ser tão extenso a ponto de superar o tempo de autonomia de
operação de no-breaks mais simples.
61
Figura III.4. Relatório de correções para uma plataforma do banco de dados DBFlex.
Não há como automatizar esta correção sem a intervenção de um especialista,
pois o arquivo-resumo não contém informações sobre todos os parâmetros de entrada.
Assim, as correções referentes aos parâmetros de entrada no banco ficaram sob a
responsabilidade de uma equipe especializada que realizou a comparação entre os
resultados obtidos nos arquivos-resumo e os resultados descritos em relatórios (estes, ao
contrário dos arquivos-resumos, contêm ambas as informações, tanto a de entrada,
quanto a de saída).
62
A possibilidade de erros como estes deu margem a outras verificações tais
como, por exemplo, o nome incompleto de linhas, parâmetros de entrada cadastrados e
respectivos resultados inexistentes ou incoerentes e, até mesmo, resultados cadastrados
sem parâmetros de entrada (vide Figura III.4).
Enfim, uma vez identificados os problemas, as respectivas soluções foram
imediatamente providenciadas. O acompanhamento rígido durante a fase inicial de
inserção de dados no banco foi de fundamental relevância, contribuindo, assim, com a
redução da geração de erros de input.
III.4. A Base de Dados
Para criação do programa DBFlex, dois outros programas foram utilizados: um
para desenvolver a interface e outro, para o gerenciamento do banco. A interface foi
desenvolvida em Delphi linguagem de programação orientada a objetos. O SGDB
utilizado foi o Firebird
®
(2007) o qual, como qualquer outro gerenciador, utiliza
linguagem SQL para realização de consultas, inserção, exclusão e manipulação de
dados. O gerenciamento destes eventos é transparente para usuário já que estes são
controlados pela interface Delphi
37
O objetivo da interface baseia-se em oferecer o acesso de usuários às
informações presentes no banco de dados de forma simplificada e permitir a realização
de consultas, alteração, inserção ou exclusão de registros
.
38
37
O programa Delphi possui um aplicativo interno próprio conhecido como “Relacionamento Mestre-
Detalhe”, que permite uma execução mais segura dos processos de consulta, inserção e exclusão de
dados, evitando a programação de instâncias SQL mais complexas. Contudo, a utilização deste aplicativo
não exclui a utilização do programa de gerenciamento de dados (Firebird
®
, neste caso), pois a interface
necessita deste programa para se comunicar com o banco e interpretar e traduzir os processos enviados
pelo aplicativo mencionado.
. A interface não permite,
portanto, um tratamento de dados mais complexo como, por exemplo, concatenação de
várias tabelas ao mesmo tempo ou a exclusão de duas ou mais de tuplas de uma vez só.
Isto significa dizer que, ainda que a interface permita a comunicação com o banco de
dados, ela mesma não pode ser utilizada como ferramenta de pré-processamento de
38
O administrador do banco de dados é o responsável por definir se a conta de um determinado usuário
será restringida apenas para leitura ou se esta lhe permitirá acesso de leitura e escrita irrestrita. Ou seja, o
acesso de usuários ao banco limita-se à restrição de sua conta característica dos SGDB’s. Para maiores
informações vide o segundo capítulo desta pesquisa.
63
dados. Portanto, para acessar o banco e manuseá-lo livremente, sem restrições de acesso
ou atividade, outra ferramenta foi utilizada: Firebird Maestro
®
(2007).
A utilização do programa Firebird Maestro
®
possibilita acesso ao banco de
dados e sua manipulação de forma irrestrita. Com este programa é possível desenhar um
banco de dados; gerenciar dados (visualizar, editar, agrupar, ordenar e filtrar); aplicar,
editar e salvar instâncias SQL desde a mais simples consulta até a mais complexa (a
realização de backup de dados, por exemplo); visualizar consultas SQL em formato de
diagrama e exportar ou importar dados de/para formatos mais conhecidos como, por
exemplo, o Excel
®
.
Quando uma base de dados é desenvolvida em Firebird
®
, seu arquivo é
comumente salvo em formato encriptado de extensão GDB
39
A tabela-matriz utilizada neste estudo é um resultado da concatenação de
algumas tabelas do banco de dados, a saber:
. O programa Firebird
Maestro
®
reconhece arquivos com esta extensão e permite que seu conteúdo seja
manipulado por sua interface. Uma vez acessado o banco, utilizou-se o recurso de
“Criação de novo objeto de dados” para criação da tabela-matriz utilizada no estudo de
mineração de dados desta pesquisa de tese. Este recurso gera uma instrução SQL que
permite concatenar tantas tabelas quantas se julgar necessário.
CONF_RIS: Esta tabela contém os dados referentes à configuração das
linhas flexíveis. Possui apenas dois registros: plaint wave e catenária livre.
DESC_CASO: Aqui se armazenam os dados referentes à descrição dos
casos de carregamento. Os campos desta tabela incluem informações sobre
a entrada de dados e os resultados obtidos, a saber: períodos de recorrência
de corrente e onda (anual, decenária e centenária); direções de corrente e
onda; altura da lâmina d’água; direção e porcentagem de offset; heave no
topo; trações máximas e mínimas no topo e no TDP
40
39
O arquivo que armazena as informações do banco DBFlex denomina-se DBFlex.GDB.
e mínimo raio de
curvatura.
40
TDP é sigla que derivada do inglês Touch Down Point ponto onde a linha flexível toca o solo
submarino.
64
ESTRUTURA: Diâmetros interno (em metros e em polegadas) e externo
(apenas em polegadas); pesos seco e submerso e rigidez axial, flexional e
torsional são os campos pertencentes a esta tabela.
FUNCAO
41
LOCALIZA: Também composta por um único campo, denominado
“localizacao”, esta tabela informa os possíveis locais de instalação das
linhas flexíveis na plataforma: a bombordo, a boreste, na proa, na popa, no
turret ou no meio.
: Linhas flexíveis podem ter diversas funções e esta tabela,
cujo único campo é identificado pelo nome “funcao”, armazena as
seguintes: exportação de gás; anular; exportação ou importação de óleo;s
de alta (pressão); gás de baixa (pressão); gás lift; injeção de água; produção
de óleo; teste de gás lift; teste de produção; óleo e produção de gás.
PLATAFOR_GLOBAL: Os seguintes campos pertencem a esta tabela:
nome (da plataforma); profundidade (da lâmina d’água); azimute (da
plataforma); coord_nor (coordenada norte de localização da plataforma, de
acordo com referencial definido por CENPES/PETROBRAS); coord_leste
(coordenada leste de localização da plataforma, também de acordo com
referencial definido por CENPES/PETROBRAS) e tipo_plataforma (vide
descrição da tabela TIPO_PLAT abaixo).
RISERS: Além do campo cod_ris, que registra um código identificador
para cada linha flexível cadastrada (valor utilizado como chave primária
42
41
A linguagem de programação adotada para o gerenciamento do banco de dados (o SQL), cuja língua-
base é o inglês, não permite que alguns caracteres de acentuação gráfica, usados com freqüência na língua
portuguesa, sejam interpretados exatamente como deveriam, podendo causar erros incompreensíveis se
utilizados. Por isso, os nomes de algumas tabelas ou atributos, eventualmente, podem parecer em
desacordo com o correto uso da língua portuguesa.
),
esta tabela também possui os campos: nome (da plataforma a que
pertence); descrição (código identificador definido por
CENPES/PETROBRAS); localização (na plataforma vide tabela
LOCALIZA); x; y; z (coordenadas de lançamento); estrutura (código
identificador da estrutura); função (de acordo com as funções cadastradas
na tabela FUNCAO); azim_lin (azimute da linha); ang_tp_lin (ângulo de
topo da linha); enrijecedor (código identificador de seu enrijecedor);
42
Para maiores informações sobre chaves primárias e estrangeiras, sugere-se a leitura do capítulo II desta
tese.
65
azim_anal (azimute de análise); ang_tp_anal (ângulo de topo de análise) e
conf_ris (sua configuração, conforme tabela de mesmo nome).
TIPO_PLAT: Dentre os tipos de plataforma existentes, esta tabela
armazena apenas os registros: FPSO; FPSO-TURRET e Semi-Submersível
em seu campo tipo_plataforma.
A tabela resultante da concatenação dos campos supracitados foi salva em
formato Excel
®
, através da interface Firebird Maestro
®
. Como se trata de uma
concatenação de tabelas, a nova tabela é constituída pelos atributos de todas as tabelas
utilizadas e possui 52526 tuplas. Embora muitos atributos sejam irrelevantes para o
processo de mineração de dados, a utilização de todas as tabelas relacionadas se fez
necessária para compor o banco de dados a ser utilizado neste estudo. Finalmente, o pré-
processamento de dados pode ser iniciado.
66
CAPÍTULO IV - MINERAÇÃO DE DADOS NO DBFLEX
IV.1. Introdução
A etapa inicial do processo de mineração de dados é caracterizada pelo pré-
processamento de dados. Esta etapa compreende as atividades de limpeza, redução,
integração e/ou transformação de dados cujo objetivo prioriza a obtenção de uma massa
de dados livre de itens faltantes, irrelevantes ou desconhecidos. A massa de dados
resultante deste processo será submetida à aplicação de algoritmos de mineração para
aquisição de conhecimento. Entretanto, a obtenção de resultados incoerentes ou
indesejáveis pode ser fruto de uma massa de dados pré-processada de maneira incorreta:
“se entra lixo, sai lixo” (garbage in, garbage out). Por isso, o pré-processamento deve
ser realizado com muita cautela e atenção.
O fato de se conhecer detalhes sobre a massa de dados que será submetida à
aplicação das técnicas de mineração de dados não é, geralmente, muito comum
43
A base de dados, utilizada como modelo desta pesquisa de tese, foi obtida a
partir da criação e execução de uma consulta programada em linguagem SQL, conforme
informado na última seção do capítulo anterior. Esta consulta promoveu a concatenação
de diversas tabelas em uma única, originando, assim, uma tabela-matriz. Utilizando-se
um programa específico (Firebird Maestro
®
), esta tabela foi salva em formato de
planilha Excel
®
. Foi justamente nesta tabela-matriz onde se realizou o pré-
processamento dos dados, conforme descrito a seguir.
, mas é
muito importante para a qualidade dos dados obtidos, principalmente nesta etapa inicial.
Poder identificar quais os atributos que podem ser excluídos e saber como funciona o
processo de análise que permitiu o desenvolvimento do banco em questão é
fundamental para se obter uma massa de dados de boa qualidade.
43
O especialista que aplica as técnicas de mineração de dados nem sempre é o mesmo que cria e monta o
banco de dados ou nem mesmo recebe qualquer auxílio durante a etapa de pré-processamento.
67
IV.2. O Pré-Processamento de Dados
IV.2.1. Adequando o Modelo
Além de haver atributos irrelevantes para o processo de mineração de dados no
banco em questão, conforme informado anteriormente, também foi possível verificar a
duplicação de alguns atributos (por exemplo, os atributos “profundidade” e
“lamina_dagua” contêm exatamente os mesmos registros). Utilizando-se a atividade de
limpeza/redução de dados, a remoção destes atributos caracteriza o primeiro passo da
etapa de pré-processamento. É importante notar que a limpeza/redução de atributos deve
ser realizada antes da verificação da coerência dos dados. Esta prática evita que se
promova a correção/exclusão de tuplas sem necessidade, quando observado, por
exemplo, que o não-preenchimento de um registro de um atributo julgado irrelevante
acarreta a exclusão de toda a tupla, reduzindo a quantidade de dados, o que pode
acarretar em redução da qualidade do modelo, por conseqüência.
As colunas que não possuíam expressão alguma para o processo de mineração
ou que apresentassem duplicidade foram removidas. Por isso, alguns dos componentes
referentes exclusivamente à plataforma foram removidos, já que a pesquisa é focada na
linha flexível. Os componentes “azimute de localização da plataforma”, “coordenadas x,
y, e z” e “coordenadas norte” e “coordenadas leste” (todos estes, parâmetros definidos
por CENPES/PETROBRAS) foram excluídos da tabela-matriz. A exclusão do atributo
“lamina_dagua” foi realizada única e exclusivamente porque representa a mesma
quantidade do atributo “profundidade”.
Visando maior confiabilidade nos resultados, a análise estrutural realizada pelo
programa Anflex determina que os estados de mar sejam representados pelos piores
casos possíveis. Em diversos estudos realizados, observou-se que a corrente e a onda
devem ser analisadas aos pares, ou seja, os piores casos são definidos para as seguintes
combinações de períodos: anuais para ambas, corrente centenária e onda decenária ou
corrente decenária e onda centenária. Com isso, percebe-se que uma ou outra coluna
68
pode ser suprimida do banco, pois seus registros encontram-se totalmente
correlacionados entre si. Optou-se, portanto, pela exclusão
44
Da mesma forma que os períodos de recorrência de corrente e onda, suas
direções também se encontram 100% correlacionadas (sempre alinhadas), ainda que
seus valores se oponham conceitualmente
da coluna “onda”.
45
. Quando observado os piores casos,
corrente e onda devem ter suas respectivas direções opostamente alinhadas. Por
exemplo, se a direção de uma for nordeste, a direção da outra será sudoeste. Aliado a
este fator, a coluna que traz o atributo “direcao_offset” corresponde exatamente aos
mesmos registros do atributo “corrente_dire” pois, tal como a direção da onda, as
análises cadastradas neste banco foram realizadas considerando-se o offset deslocando-
se na mesma direção da corrente
46
O comportamento estrutural das linhas flexíveis de plataformas tipo FPSO e
Semi-Submersível é bastante distinto: um reflexo direto das características de suas
estruturas. A primeira, uma estrutura tipicamente retangular, quando submetida a
carregamentos ambientais transversos ou paralelos, responde muito mais intensamente
aos movimentos de roll e pitch
. Por fim, sob a visão do banco de dados e, conclui-se
que estas três colunas (“direcao_offset”, “corrente_dire” e “onda_dire”) podem ser
reduzidas a apenas uma, com o objetivo de evitar redundância de informação. Definiu-
se, então, que a coluna “direcao_offset” seria mantida e as demais, suprimidas do banco.
47
Figura IV.1 (vide ) ao ser comparada com a segunda
(plataformas Semi-Submersíveis são estruturas praticamente quadradas). A significativa
diferença entre os comportamentos estruturais é resultante da transmissão da intensidade
deste movimento diretamente às suas linhas.
44
O termo “exclusão” pode não ser o mais adequado aqui. Na verdade, pode-se dizer que ao invés de ter
acontecido uma exclusão, houve uma redução. Afinal, o registro referente a apenas uma das colunas
indica o valor oculto do registro pertencente à coluna dita “excluída”.
45
Determina-se a direção da corrente identificando-se o sentido para onde ela vai. A direção da onda é
definida de acordo com o sentido de onde ela vem.
46
Casos não alinhados podem ser analisados. Entretanto, estes casos não foram inseridos neste banco.
47
Imagine três linhas interseccionadas entre si por um ângulo de 90° encontrando-se exatamente sobre o
centro de movimento de uma plataforma. Os possíveis movimentos que esta plataforma apresenta como
resposta aos carregamentos ambientais aos quais se encontra submetida são conhecidos por roll, pitch e
yaw. O primeiro (roll) refere-se à rotação da plataforma em torno de um eixo imaginário ao longo de seu
comprimento. O movimento de pitch refere-se àquele que acontece de lado a lado da plataforma. O
último, conhecido por yaw, refere-se à rotação em torno do eixo vertical imaginário. Os movimentos que
ocorrem paralelamente aos eixos imaginários horizontal (ao longo do comprimento), tranversal e vertical
são conhecidos como surge, sway e heave, respectivamente.
69
Saber que o comportamento estrutural de plataformas tipo FPSO e Semi-
Submersível é bastante distinto, caracteriza uma informação suficiente para que seja
aplicado, mais uma vez, a técnica de limpeza/redução de dados: filtragem por tipo de
plataforma. Esta limpeza tem por objetivo homogeneizar o modelo, pois se acredita que
a presença de mais de um tipo de comportamento estrutural poderia causar uma
contaminação no aprendizado da massa de dados e, desta forma, comprometer os
resultados de predição quando aplicados os algoritmos de interpolação. A realização
desta filtragem torna o modelo mais específico, direcionando o estudo para aplicação
exclusiva em casos de plataformas tipo Semi-Submersíveis e com linhas flexíveis
configuradas em catenária livre.
Figura IV.1.Tipos de movimentos possíveis para plataformas
48
No presente estudo, a definição do tipo de plataforma a ser analisada foi feita
observando-se cautelosamente o conteúdo do banco de dados. Ao se aplicar os recursos
de filtragem do Excel
®
na tabela-matriz para plataformas do tipo “Semi-Submersível”
foi possível verificar que, além da sua quantidade de tuplas ser mais do que dois-terços
do total (cerca de 71% dos dados), a diversidade de plataformas (atributo “nome”)
cadastradas é igualmente superior. Quanto maior a quantidade de informação, melhor
pode ser a qualidade do resultado.
.
48
A plataforma representada na figura é do tipo FPSO (Floating Production Storage Offloading).
70
Com a aplicação do filtro citado acima, pode-se observar que o atributo
“conf_ris”, que representa o tipo de configuração da linha flexível, possui o mesmo
valor (catenária livre) para todas as linhas de todas as plataformas Semi-Submersíveis
cadastradas. Dicotomicamente, sob os olhos da mineração de dados, este atributo
tornou-se desnecessário neste caso, acarretando sua exclusão. Por outro lado, vale
lembrar que esta informação é indispensável para análise estrutural de linhas flexíveis,
quando utilizado o programa Anflex.
O pré-processamento não se resume apenas à redução de colunas ou filtragem
de dados. Ainda que todo o processo de inserção de dados tenha sido rigidamente
controlado, é necessário verificar a coerência da informação ali presente (existência de
itens faltantes ou desconhecidos e presença de outliers
49
Observando-se a estrutura de dados obtida ao final desta primeira etapa e
estudando-se detalhadamente a composição de suas tuplas, aliado ao conhecimento
previamente existente sobre a massa de dados em questão, concluiu-se que o modelo
proposto ainda não se encontrava efetivamente preparado para aplicação de algoritmos
de mineração. Por este motivo, entende-se que a massa de dados poderia ser submetida
a pelo menos mais uma redução em busca do modelo adequado
) antes da aplicação das técnicas
de extração de conhecimento, pois nenhuma massa de dados está completamente imune
à existência de erros. Mesmo assim, antes da realização desta tarefa, mais um conjunto
de reduções foram realizadas.
50
Portanto, baseando-se neste conhecimento prévio e visando homogeneizar
ainda mais o modelo, além da filtragem por tipo de plataforma (que acabou por limitar
também a massa de dados por configuração da linha flexível catenária livre), um novo
critério de filtragem foi realizado: diâmetro interno de linha flexível. Contudo, ao se
realizar uma análise cuidadosa dos registros de diâmetro interno surgiu o primeiro
conjunto de dados incoerentes.
.
49
Outliers é a expressão comumente utilizada para valores que se encontram fora do domínio dos demais.
50
Entenda-se por “modelo adequado” aquele cujo aprendizado adquirido após a aplicação de algoritmos
de mineração de dados seja capaz de fornecer um resultado tão próximo quanto possível do resultado
obtido através dos métodos matemáticos convencionais definidos em programa específico como, por
exemplo, o Anflex.
71
Linhas flexíveis de diâmetros internos inferiores a 2,4 polegadas não são
comumente comercializadas. Entretanto, o banco de dados apresentava valores
inferiores a 2,4 polegadas no atributo “diametro_interno_pol”. As informações
presentes no atributo “descricao
51
Após a realização desta correção, diversas combinações de filtragem por
diâmetro interno foram aplicadas. Analisando-se visualmente cada uma destas
combinações (utilizando-se os recursos do Excel
®
), foi possível observar que a linha
flexível com diâmetro interno igual a 4 polegadas apresentava a maior quantidade de
registros, além de conter a maior diversidade de valores para lâmina d’água (variando
de 207 a 990m) e função de linha flexível (gás lift, produção de gás, produção de óleo,
etc.). Assim como o filtro realizado por tipo de plataforma, quando o banco passa a
referenciar linhas flexíveis que apresentam um mesmo valor para determinado atributo
(neste caso, diâmetro interno), este deixa de ser utilizado, podendo ser suprimido do
banco.
e na página do relatório onde se encontram os dados
das respectivas linhas, ratificavam que os diâmetros das linhas 13 e 15 de uma
determinada plataforma deveriam ser 4 polegadas e não 1,17 polegadas, conforme
cadastrados no banco. Procedeu-se, então, a devida correção para estas linhas,
substituindo-se manualmente os valores, utilizando-se os recursos do Excel
®
.
As características inerentes à estrutura das linhas flexíveis diâmetro interno e
externo, peso seco, peso submerso e rigidezas axial, flexional e torcional podem
apresentar valores distintos para um mesmo diâmetro (interno) de linha, de acordo com
os critérios definidos pelo fabricante. Por isso, estes parâmetros são indispensáveis para
análise de seu comportamento estrutural realizada pelo programa Anflex.
Um breve estudo realizado sobre a influência de cada um dos atributos
mencionados acima e consultas com especialistas na área, permitiu definir que apenas
os parâmetros “rigidez_axial” e “rigidez_ flexional” são relevantes para precisão dos
51
O atributo “descricao” é um atributo cujo formato indica, dentre outras coisas, o número da linha, seu
diâmetro interno e sua função.
72
resultados obtidos da aplicação de algoritmos interpoladores. Assim, os seis atributos
52
Além dos atributos citados acima, as colunas que se referem à descrição de
elementos componentes das plataformas ou das linhas flexíveis, também foram
incluídas no processo de limpeza ao serem excluídas do banco de dados. Estes
parâmetros e um breve comentário sob o motivo de sua exclusão do banco encontram-se
relatados abaixo:
referentes às características das linhas flexíveis ficaram limitados a apenas estes dois.
Nome: O nome da plataforma serve apenas como um valor identificador da
plataforma, sem representar nenhuma contribuição, seja para análise
estrutural realizada pelo programa Anflex, seja na aplicação de técnicas de
mineração de dados.
Descricao: Tal como o atributo “nome”, este valor serve apenas como
identificador da linha flexível, sem qualquer expressão para análise.
Enrijecedor: Analogamente aos atributos “nome” e “descrição”, este
atributo não influencia o resultado da análise. Existe apenas para
identificação do enrijecedor acoplado à linha flexível. Não há descrição de
suas propriedades físicas no banco.
Tracao_Topo: Este parâmetro representa a amplitude resultante do cálculo
da média dos valores das trações no topo máxima e mínima. Como estes
valores já são interpolados, este valor pode ser calculado de imediato.
Mx_Max, Mx_Min, My_Max, My_Min, Mz_Max e Mz_Min: Os
momentos de flexão e torção surgem com a adição de enrijecedores que
acoplam as linhas flexíveis às plataformas. A interpolação destes momentos
somente se justificaria se o banco armazenasse informações sobre as
propriedades físicas dos enrijecedores. Como estes dados não constam no
banco, sua interpolação tornou-se inviável.
52
Considerando-se que o filtro por diâmetro interno faz com que este atributo deixe de ser utilizado,
conforme relatado anteriormente, os seis atributos mencionados aqui se referem ao diâmetro externo (1),
aos pesos seco (2) e submerso (3) e às rigidezas axial (4), flexional (5) e torsional (6).
73
O pré-processamento não se resume apenas à limpeza/redução de colunas ou
filtragem de dados. Ainda que todo o processo de inserção de dados tenha sido
rigidamente controlado, é necessário verificar a coerência dos dados (existência de itens
faltantes ou desconhecidos e presença de outliers) antes da aplicação das técnicas de
extração de conhecimento, pois nenhuma massa de dados está completamente imune à
existência de erros. Mesmo assim, antes da realização desta tarefa, observou-se que
mais um conjunto de reduções deveria ser realizado.
IV.2.2. Subconjuntos do Modelo
Como a massa de dados resultante do processo descrito na seção anterior inclui
famílias de superfícies de classes (clusters específicos), torna-se necessário reduzir o
modelo a uma classe única de variáveis numéricas, antes de aplicar os algoritmos
interpoladores definidos no Capítulo II.
Caso houvesse interesse em incluir outra classe no processo de interpolação, a
variável correspondente deveria ser previamente tratada de forma a transformá-la numa
variável numérica consistente.
Portanto, os filtros devem ser aplicados a todas as classes que não serão
interpoladas e que, conseqüentemente, não serão transformadas em variáveis numéricas
consistentes passíveis de interpolação.
Os atributos dessas variáveis são os seguintes:
Localização: Informa onde a linha flexível está localizada na plataforma
bombordo, boreste, meio, proa ou popa. Observa-se que, por motivos do
layout da plataforma, a linha flexível não poderá estar localizada num
ponto entre o meio e a proa, por exemplo.
Função: A linhas flexíveis são classificadas de acordo com o fim a que se
destinam, podendo ser: anular, exportação ou importação de óleo, gás de
alta, gás de baixa, gás lift, injeção de água, óleo, produção de óleo,
produção de gás, teste de gás lift ou teste de produção. Estes são os únicos
registros possíveis para este atributo. Uma linha destinada à produção de
74
gás não pode ser parcialmente destinada à produção de óleo ao mesmo
tempo.
Azimute de Análise: As direções do azimute de análise são pré-fixadas
pelos valores: norte, nordeste, leste, sudeste, sul, sudoeste, oeste, noroeste.
Nenhum outro valor, a exceção dos citados, será admitido mesmo sendo
possível.
Corrente: Como já informado anteriormente, os períodos de recorrência de
corrente e onda tem seus valores definidos como sendo apenas: anual,
decenária ou centenária. Nenhum outro critério de recorrência será
admitido no presente trabalho.
Direção de Offset: Tal como “azimute de análise”, as direções do offset
são definidas como sendo: norte, nordeste, leste, sudeste, sul, sudoeste,
oeste, noroeste. Nenhum outro valor será utilizado nesta pesquisa, mesmo
que isto seja teoricamente possível.
Finalmente, a redução de dados a esta família de classes específica origina o
banco de dados que será empregado no processo de interpolação. A Tabela IV.1 foi
criada para indicar o referido subconjunto.
Tabela IV.1. Exemplo de redução da massa de dados por classes.
Atributo Descrição Critério
LOCALIZACAO Localização da linha na plataforma Popa
FUNCAO Função de operação da linha Produção de Óleo
AZIM_ANAL Direção do azimute de análise Sul
CORRENTE Período de recorrência da corrente Centenária
53
DIRECAO_OFFSET Direção do offset Norte
54
53
Adotar o registro “centenária” para corrente implica em implicitamente indicar que o período de
recorrência de onda para estes casos é decenário, pois os piores casos são analisados para os pares: anual-
anual, centenária-decenária e decenária-centenária de corrente e onda, respectivamente.
54
Vale lembrar também que o registro do atributo “direção do offset” também implica em determinar
implicitamente outros dois registros: direção de corrente e direção de onda. O valor do primeiro é
exatamente o mesmo; o outro, sempre oposto ao primeiro. Ou seja, para o registro selecionado, a direção
de corrente é norte e direção de onda, sul.
75
Qualquer outra composição poderia fazer parte da Tabela IV.1, entretanto, dois
critérios foram definidos para realização do filtro: analisar linhas flexíveis cuja função
seja de produção de óleo e, uma vez dentro deste universo, compor filtros que
apresentassem a maior quantidade de dados
55
e que representasse uma condição de
movimento far
56
Em suma, a composição do modelo a ser analisado pelos algoritmos
interpoladores depende, primordialmente, da identificação dos critérios definidos para
as classes representadas pelos atributos acima. Uma vez determinados, estes serão
utilizados como filtros do modelo principal para compor o subconjunto que servirá
como fonte para interpolação/predição de dados.
.
Tabela IV.2. Atributos resultantes do processo de limpeza/redução de dados.
Status Atributo Descrição
ENTRADA
PROFUNDIDADE Altura da lâmina d’água
ANG_TP_ANAL Ângulo de topo da análise
PERC_LAMINA Porcentagem de offset
HEAVE_TOPO Movimento de heave no topo
RIGIDEZ_AXIAL Rigidez axial da linha
RIGIDEZ_FLEXIONAL Rigidez flexional da linha
SAÍDA
TRACAO_TOPO_MAX Máxima tração no topo
TRACAO_TOPO_MIN Mínima tração no topo
MIN_RAIO_CURV Mínimo raio de curvatura da linha
TRA_TDP_MAX Máxima tração no TDP
TRA_TDP_MIN Mínima tração no TDP
55
Coincidentemente, o filtro realizado por “função” para “produção de óleo” também apresentou a maior
quantidade de dados, embora o critério de seleção considere o grau de importância que esta função possui
para indústria petrolífera.
56
Direções de instalação de linha e movimento de deslocamento de offset diametralmente opostas.
76
Finalmente, na Tabela IV.2 apresenta-se um resumo do resultado do processo
de limpeza/redução de dados após o procedimento de filtragem de classes descrito
anteriormente.
A primeira coluna informa o status do atributo, ou seja, se ele é um parâmetro
de entrada (o valor a ser fornecido para aplicação dos algoritmos interpoladores) ou de
saída (valores que compõem a matriz em que se baseará a interpolação). O nome do
atributo e sua respectiva descrição encontram-se relatados nas duas colunas seguintes
desta tabela.
Durante o processo de análise de linhas flexíveis realizado através do programa
Anflex, as linhas com características iguais são representadas por modelos. Entretanto, o
cadastramento é realizado por linhas e não por modelos, ou seja, é comum encontrar
tuplas de linhas flexíveis repetidas duas ou mais vezes no banco. Para tratar esta
inconsistência, foi desenvolvida uma interface em Delphi para sua identificação e
remoção.
Batizada pelo nome Identificador de Tuplas Duplicadas (vide Figura IV.2),
esta interface é muito simples e possui recursos bastante limitados. Sua utilização
depende da montagem prévia de um arquivo-texto resultante do subconjunto definido
através do programa Excel
®
, conforme descrito na seção anterior. Em sua primeira
linha, este arquivo deve conter o nome dos parâmetros, seguido pelas tuplas contendo
seus respectivos valores, tal como apresentado no Anexo B.
Figura IV.2. Janela da interface Identificador de Tuplas Duplicadas.
77
Além da remoção das tuplas duplicadas, este programa é capaz de criar o
arquivo-texto de entrada que será utilizado pelo programa Neural (detalhado na próxima
seção) desenvolvido para aplicar os algoritmos de interpolação à massa de dados do
subconjunto proposto.
Depois de preenchidos todos os atributos da interface, deve-se acionar o botão
“Executar”. Esta ação realiza uma tarefa que identifica e remove as tuplas duplicadas e
monta um arquivo que será utilizado como entrada pelo Neural, sugerindo um local (o
mesmo endereço do arquivo-texto original) e um nome (de acordo com o valor
preenchido no atributo “Título” (vide figura acima), adicionando a extensão “.txt”
automaticamente).
IV.2.3. O Programa Neural
Os algoritmos interpoladores responsáveis pela extração de conhecimento
utilizados nesta pesquisa foram os seguintes: Interpolação Quadrática, Interpolação
Linear (utilizando SVD
57
), Interpolação pelo Método dos K-Vizinhos Mais Próximos
(KNN
58
O programa desenvolvido recebeu o nome de Neural e é composto por um
arquivo executável de mesmo nome que, ao ser acionado, abre uma janela em DOS
) e Interpolação por Redes Neurais o Capítulo II, onde se relata toda a
metodologia utilizada nesta pesquisa, descreve cada um destes interpoladores
resumidamente e a maneira como funcionam. Todos estes interpoladores foram
programados em um único arquivo executável criado em linguagem procedural
FORTRAN.
59
O arquivo de entrada deve respeitar um formato específico onde devem ser
informados: um título para a análise, o número total de pontos para treinamento (total de
registros do banco de dados), o número total de pontos para validação (redes neurais), o
número de neurônios internos (também para as redes neurais), o número total de
solicitando, primeiramente, o nome do arquivo de entrada e, em seguida, o nome do
arquivo de saída.
57
Sigla em inglês para Singular Value Decomposition.
58
Sigla em inglês para K-Nearest Neighbor.
59
Sigla em inglês para Disk Operating Systemsistema operacional em disco, precursor do Windows.
78
atributos (colunas) que compõem a tupla de entrada, o número total de atributos
(colunas) que compõem a tupla de resultados e o banco de dados (apenas valores),
conforme descrito a seguir:
Título da análise: Define-se aqui um nome para identificar a análise em
questão. Nesta pesquisa, ficou definida a sigla: “SS_4_POPA_PO_S_
21_N”. O primeiro e segundo termos indicam o tipo de plataforma (SS =
semi-submersível) e o diâmetro externo da linha em polegadas (4”). Os
demais termos indicam a localização da linha na plataforma (popa), a
função da linha (PO = produção de óleo), a direção do azimute de análise
(sul), a periodicidade de recorrência de corrente (21
60
NP, NV, ND, NH, NFO, IA e JF: O valor armazenado pelo parâmetro NP
corresponde ao total de registros (linhas) do banco de dados. O número de
registros para validação é representado pela variável NV. O número de
neurônios internos para interpolação por redes neurais é definido pelo
parâmetro NH. Os parâmetros IA e JF foram criados para armazenar o
valor da coluna que corresponde à variável angular e à função que se deseja
interpolar utilizando-se redes neurais, respectivamente. O parâmetro NFO
corresponde ao número de funções resultantes do processo de interpolação
de dados (tupla de saída de dados), ou seja, para que colunas do banco o
algoritmo deve escrever uma função. Por fim, o valor definido para o
parâmetro ND é igual ao total de colunas do banco excetuando-se o número
de funções (NFO): tupla de entrada de dados.
) e a direção do offset
(norte), respectivamente.
Base de Dados: Seguindo os parâmetros citados acima, vem o banco de
dados propriamente dito com a informação a ser interpolada. As tuplas que
compõem esta parte do arquivo são resultantes do arquivo gerado pelo
filtro do Excel
®
, conforme a Tabela IV.2 da seção anterior.
Coordenada dos Pontos: Local onde se definem as coordenadas dos
pontos que serão interpolados.
60
Como os períodos de recorrência de corrente e de onda são múltiplos de 10, convencionou-se que
adicionar o par de expoentes ao nome do arquivo seria uma maneira de informar ao usuário, dentre outras
siglas, a que condição ambiental uma determinada análise está submetida. Por exemplo, o par corrente
centenária (10²) e onda decenária (10¹) é identificado pelo número 21.
79
O arquivo de entrada de dados pode ser gerado manualmente a partir do
subconjunto resultante dos filtros realizados em Excel
®
ou através da utilização da
interface descrita na seção anterior e representada pela Figura IV.2. É possível observar
naquela figura a presença de caixas de edição para quase todos os atributos
mencionados acima
61
O objetivo desta interface não é a montagem do arquivo de entradas do
interpola, mas sim, a remoção de tuplas duplicadas. Sendo assim, observando-se a
, a saber: “Título”, “Entrada”, “Neurônios”, “Funções”, “Variável
Angular”, “Interpolar Função”, “Profundidade”, “Ângulo de Topo”, “Porcentagem de
Offset”, “Heave de Topo”, “Rigidez Axial” e “Rigidez Flexional”. O Anexo C contém
um exemplo de um arquivo de entrada de dados.
Figura IV.2, na caixa de grupo “Parâmetros”, a primeira caixa de edição (“Título”)
refere-se àquela a ser preenchida com o título da análise. As cinco caixas de edição
seguintes (“Entrada”, “Neurônios”, “Funções”, “Variável Angular” e “Interpolar
Função”) correspondem às variáveis ND, NH, NFO, IA e JF
62
, respectivamente. A
variável NP é igual ao total de linhas do arquivo-base menos um (a linha com o
cabeçalho deve ser excluída) valor definido automaticamente pela interface, após a
remoção das tuplas duplicadas. Os demais atributos correspondem à coordenada dos
pontos a serem interpolados
63
Como resposta, o programa fornece um arquivo-texto formatado
automaticamente com o nome que fora definido na tela inicial, contendo, além do título
definido para a análise, a base de dados, o intervalo de cada ponto das coordenadas (ou
seja, os valores limites), as coordenadas e os resultados encontrados pela interpolação
separados por interpolador. Um exemplo para este arquivo de saída pode ser verificado
no Anexo D.
.
61
Os atributos não mencionados são definidos automaticamente pela interface.
62
Quando o valor deste parâmetro for igual a zero (0), o programa não deve interpolar nenhuma função
utilizando redes neurais.
63
Assim como NP, as variáveis ND e NFO podem ser calculadas automaticamente, desenvolvendo-se,
por exemplo, uma tarefa que identifique as coordenadas não preenchidas e promova a exclusão da
respectiva coluna do banco. Na verdade, a utilização desta interface como ferramenta auxiliar do
programa Neural, desde a concepção do arquivo de entrada extraído do Excel
®
à efetiva execução do
programa, pode ser considerada uma atividade para desenvolvimento futuro.
80
IV.2.4. A Ferramenta Weka
O sistema Weka, segundo Witten e Frank (2005), é uma coletânea dos
algoritmos de aprendizado de máquina mais conhecidos e pré-processamento de dados.
O programa foi desenvolvido para realizar testes dos métodos existentes em novos
grupos de dados de modo rápido e flexível.
Este sistema fornece um suporte extensivo para todo o processo de mineração
de dados experimental, incluindo a preparação da entrada de dados, avaliação estatística
dos métodos de treinamento e visualização dos dados de entrada e do resultado do
aprendizado. Sua estrutura dispõe de uma ampla variedade de algoritmos de
aprendizagem, bem como uma vasta quantidade de ferramentas de pré-processamento.
Sua interface permite uma fácil manipulão destas ferramentas, possibilitando
comparações entre os resultados obtidos pela aplicação de diferentes métodos e a
identificação daqueles mais apropriados para o problema em questão.
O Weka foi desenvolvido pela Universidade de Waikato na Nova Zelândia e
seu nome descende do original em inglês, Waikato Environment for Knowledge
Analysis ou Ambiente para Análise de Conhecimento de Waikato. Foi desenvolvido em
Java sob os termos da Licença Pública Geral GNU e pode ser executada em quase todas
as plataformas, tendo sido testado nas três mais conhecidas: Linux, Windows e
Macintosh.
Seu workbench inclui métodos para todos os problemas-padrões de mineração
de dados: regressão, classificação, clusterização, mineração de regras de associação e
seleção de atributos. O conhecimento dos dados é parte integral do processo, bem como
as várias facilidades de visualização de dados e ferramentas de pré-processamento. Para
se utilizar o programa, o conjunto de dados deve ser escrito em um arquivo de formato
específico denominado ARFF. Neste arquivo, além da tabela de dados, deve-se informar
também o tipo de dados que cada tupla contém (numeric, string, date, class, etc.). Este
arquivo pode ser montado tanto pela interface, como por qualquer outro programa capaz
de ler arquivos em formato de texto, desde que respeitado o formato padrão definido
pelo programa.
81
O Weka pode ser utilizado de três maneiras distintas. A primeira forma sugere
aplicar o método de aprendizado à base de dados e analisar a resposta de forma a
aprimorar o conhecimento sobre os dados. O segundo modo indica o uso de modelos
devidamente treinados para predição de novas instâncias. No terceiro caso, propõe a
aplicação de diversos e diferentes classificadores e a comparação de suas performances
para escolha do melhor. Um módulo de avaliação comum é utilizado para medir o
desempenho do todos os classificadores.
Nesta pesquisa, o Weka é utilizado como ferramenta de avaliação de
desempenho de atributos, da base de treinamento e da base de validação. Utiliza-se
também esta interface para verificar o comportamento dos atributos de entrada, através
da análise da disposição destes dados em histogramas e utilizando-se ferramenta
específica. Cada um dos recursos utilizados encontra-se devidamente registrado,
conforme descrito nos estudos de casos a seguir.
82
CAPÍTULO V - ESTUDO DE CASOS
V.1. Seleção de Atributos
V.1.1. Introdução
O Capítulo IV relata de que maneira a tarefa de pré-processamento de dados
foi aplicada à base de dados, ou seja, como este processo inicial deu origem ao banco de
dados que passaria a ser a fonte de estudos desta pesquisa.
Ainda que se entenda que a avaliação da relevância dos atributos seja parte
integrante do pré-processamento de dados, esta será considerada a primeira etapa do
processo de estudo de casos descrito neste capítulo. Para tanto, duas atividades foram
realizadas para o cumprimento desta etapa.
A primeira atividade caracteriza-se pela realização de uma inspeção visual
detalhada do comportamento da massa de dados diante da alteração de valores dos
parâmetros de entrada e a segunda, pela utilização auxiliar de recursos da ferramenta
Weka
64
A descrição detalhada sobre como cada uma destas atividades foi realizada
encontram-se relatadas conforme as seções apresentadas a seguir.
voltados especificamente para tal evento (avaliação da relevância dos atributos).
V.1.2. A Inspeção Visual
A inspeção visual, realizada com objetivo de verificar a relevância de atributos,
implica na análise do comportamento dos valores presentes no banco de dados, ou seja,
tentar compreender como os valores de saída respondem às alterações aplicadas aos
parâmetros de entrada.
Observou-se, portanto, que a massa de dados original apresentava certas
deficiências que impossibilitavam estabelecer de forma eficiente como os parâmetros de
saída se relacionam aos parâmetros de entrada selecionados.
64
A ferramenta Weka encontra-se descrita ao final do capítulo anterior.
83
Como o intuito de se definir códigos de identificação para os atributos do
banco de dados utilizados nas demais tabelas deste Capítulo e informar se o parâmetro é
de entrada ou saída, criou-se a Tabela V.1.
Tabela V.1. Definição de códigos para os parâmetros de entrada e saída
65
.
Status Código Atributo Descrição
ENTRADA
E1
PROFUNDIDADE Altura da lâmina d’água
E2
ANG_TP_ANAL Ângulo de topo da análise
E3
PERC_LAMINA Porcentagem de offset
E4
HEAVE_TOPO Movimento de heave no topo
E5
RIGIDEZ_AXIAL Rigidez axial da linha
E6
RIGIDEZ_FLEXIONAL Rigidez flexional da linha
SAÍDA
S1
TRACAO_TOPO_MAX
66
Máxima tração no topo
S2
TRACAO_TOPO_MIN Mínima tração no topo
S3
MIN_RAIO_CURV Mínimo raio de curvatura da linha
S4
TRA_TDP_MAX Máxima tração no TDP
S5
TRA_TDP_MIN Mínima tração no TDP
Primeiramente, pode ser observado que no banco de dados original os valores
dos parâmetros de saída (S1 a S5) variam com a profundidade (E1). A Tabela V.2
apresenta uma amostra de tuplas do banco de dados pré-processado. Nela é possível
observar a forma como os parâmetros de saída (S1 a S5) variam com o offset (E3).
Entretanto, analisando-se os dados disponíveis no banco original, não é
possível estabelecer como os parâmetros de saída (S1 a S5) variam com o ângulo de
topo, o heave, a rigidez axial e a rigidez flexional, já que os valores destes parâmetros
permanecem fixos para uma mesma profundidade.
65
Esta tabela é uma reprodução da Tabela IV.2 encontrada no capítulo anterior acrescida da coluna
“Código”. A letra “E” designa o parâmetro como sendo de entrada. Analogamente, a letra “S” indica o
parâmetro como sendo de saída. Este código será utilizado em lugar do nome dos atributos em todas as
tabelas desta seção.
66
É importante notar que, para alguns esfoços no TDP, existem valores máximos e/ou mínimos positivos
(compressão). Por esta razão, optou-se por manter o nome original dos atributos conforme fornecido pelo
banco, considerando-se os sinais dos valores (ou seja, os nomes dos atributos não consideram o valor
absoluto). Para efeitos de análise estrutural dos dados, fica claro que a máxima tração é aquela que possui
o maior valor absoluto dentre aqueles ali presentes.
84
Tabela V.2. Seleção de tuplas do banco de dados pré-processado
67
.
E1 E2 E3 E4 E5 E6 S1 S2 S3 S4 S5
910 7 5 3.0427 131600 4.775 -250.980 -381.670 7.5901 -38.265 -133.380
910 7 10 3.0427 131600 4.775 -258.870 -418.340 12.6010 -26.165 -178.060
910 7 15 3.0427 131600 4.775 -268.010 -460.920 6.5719 -23.161 -230.630
910 7 20 3.0427 131600 4.775 -280.530 -509.000 3.6887 -28.616 -301.220
910 7 25 3.0427 131600 4.775 -296.310 -566.030 2.3763 -39.183 -393.360
910 7 30 3.0427 131600 4.775 -320.570 -634.330 1.6472 -66.535 -509.510
910 7 35 3.0427 131600 4.775 -360.840 -712.430 1.1939 -119.680 -719.260
Sendo assim, com objetivo de suprir esta deficiência (quantidade e qualidade
dos dados), novos casos foram introduzidos no banco de dados para permitir uma
melhor definição de como o ângulo de topo, o heave, a rigidez axial e a rigidez
flexional, influenciam no comportamento dos parâmetros de saída (S1 a S5). Para se
obter o máximo de eficiência, os novos casos foram compostos variando-se apenas um
dos parâmetros de entrada de cada vez e mantendo-se os demais constantes. Deste modo
um total de 168 tuplas foi introduzido ao banco de dados original.
A Tabela V.3 e a Tabela V.4 permitem observar como os dados de saída
variam em função dos atributos “ângulo de topo” e “heave no topo” para os novos casos
adicionados. Um comportamento análogo foi observado para “rigidez axial” e “rigidez
flexional”.
Tabela V.3. Exemplo de resultado para alteração de ângulo de topo
68
.
E1 E2 E3 E4 E5 E6 S1 S2 S3 S4 S5
910
5
5 3.0192 131600 4.775 -246.310 -350.010 7.0530 -48.501 -90.814
910
5
10 3.0192 131600 4.775 -253.400 -379.880 11.7720 -39.693 -131.510
910
5
15 3.0192 131600 4.775 -261.270 -415.470 9.3034 -28.317 -175.700
910
5
20 3.0192 131600 4.775 -270.260 -456.800 4.8542 -26.186 -227.700
910
5
25 3.0192 131600 4.775 -284.060 -501.980 3.0329 -33.595 -296.610
910
5
30 3.0192 131600 4.775 -300.160 -556.630 2.0754 -45.838 -387.660
910
5
35 3.0192 131600 4.775 -324.070 -622.650 1.4913 -73.230 -502.710
67
Os códigos dos parâmetros encontrados no cabeçalho desta tabela encontram-se definidos conforme a
tabela anterior.
68
É importante notar que as tabelas apresentam apenas uma pequena parte do banco. Os testes foram
aplicados em diversos conjuntos de profundidade, ângulos de topo e heaves. Em todos os casos, o
comportamento resultante foi sempre semelhante.
85
Tabela V.4. Exemplo de resultado para alteração de heave de topo.
E1 E2 E3 E4 E5 E6 S1 S2 S3 S4 S5
910 7 5
2.6336
131600 4.775 -259.710 -368.880 7.7515 -47.587 -120.210
910 7 10
2.6336
131600 4.775 -269.010 -403.730 13.3850 -38.437 -162.310
910 7 15
2.6336
131600 4.775 -279.900 -444.900 6.6627 -37.231 -212.700
910 7 20
2.6336
131600 4.775 -293.840 -492.080 3.7276 -45.254 -281.130
910 7 25
2.6336
131600 4.775 -312.490 -546.470 2.4010 -58.855 -370.210
910 7 30
2.6336
131600 4.775 -337.780 -613.500 1.6630 -88.106 -483.030
910 7 35
2.6336
131600 4.775 -377.940 -690.870 1.2035 -142.090 -694.330
Portanto, a adição destes novos casos ao banco de dados original se constituiu
numa informação essencial para os algoritmos interpoladores sobre a forma de como o
ângulo de topo, o heave, a rigidez axial e a rigidez flexional afetam os parâmetros de
saída.
Deste modo, pode-se concluir que não apenas a quantidade, mas também a
qualidade da informação contida nas tuplas do banco de dados são requisitos essenciais
para permitir uma utilização eficiente dos interpoladores para fazer previsões sobre os
parâmetros de saída.
A melhoria na qualidade da resposta dos interpoladores pode ser constatada na
seqüência de tabelas demonstradas a seguir. Comparando-se o erro relativo obtido para
os atributos “Tração no Topo Mínima” (Tabela V.5), “Raio Mínimo de Curvatura”
(Tabela V.6) e “Tração no TDP Mínima” (Tabela V.7), observa-se que o banco
composto por 238 tuplas apresenta resultados melhores do que aqueles obtidos para o
banco original (com 70 tuplas apenas).
Os exemplos citados a seguir, utilizam as seguintes coordenadas: Profundidade
= 910m; Ângulo de Topo = 7°; Rigidez Axial = 131.600kN e Rigidez Flexional =
4,775kN.m². Encontram-se ali representados deslocamentos de offset (E3) iguais a 5% e
25% e heaves de topo (E4), 3,0427m e 2,6336m, conforme pode-se observar em todas
as tabelas.
86
Tabela V.5. Comparação entre bancos para o atributo “Tração no Topo Mínima”
69
.
Banco E3 E4 Valor Real Rede Neural Erro Relativo
70 Tuplas
5 3.0427 -381.67 -307.8 19.354%
25 3.0427 -566.03 -581.2 2.680%
5 2.6336 -368.88 -308.0 16.504%
25 2.6336 -546.47 -581.4 6.392%
238 Tuplas
5 3.0427 -381.67 -354.9 7.014%
25 3.0427 -566.03 -578.2 2.150%
5 2.6336 -368.88 -355.1 3.736%
25 2.6336 -546.47 -578.4 5.843%
Tabela V.6. Comparação entre bancos para o atributo “Raio de Curvatura Mínimo”.
Banco E3 E4 Valor Real Rede Neural Erro Relativo
70 Tuplas
5 3.0427 7.5901 12.9500 70.617%
25 3.0427 2.3763 4.3480 82.974%
5 2.6336 7.7515 12.9500 67.064%
25 2.6336 2.4010 4.3440 80.925%
238 Tuplas
5 3.0427 7.5901 11.0200 45.189%
25 3.0427 2.3763 4.1270 73.673%
5 2.6336 7.7515 11.0200 42.166%
25 2.6336 2.4010 4.1240 71.762%
Tabela V.7. Comparação entre bancos para o atributo “Tração no TDP Mínima”
70
.
Banco E3 E4 Valor Real Rede Neural Erro Relativo
70 Tuplas
5 3.0427 -133.38 -57.14 57.160%
25 3.0427 -393.36 -354.1 9.981%
5 2.6336 -120.21 -57.4 52.267%
25 2.6336 -370.21 -354.9 4.135%
238 Tuplas
5 3.0427 -133.38 -62.1 53.456%
25 3.0427 -393.36 -361.9 7.998%
5 2.6336 -120.21 -62.2 48.241%
25 2.6336 -370.21 -362.1 2.191%
Objetivando ratificar a necessidade de adicionar novos dados para compor o
banco e a utilização dos atributos apresentados acima como parâmetros de entrada,
69
Considerando-se o valor absoluto, esta seria a máxima tração.
70
Idem.
87
foram utilizados alguns recursos disponibilizados pelo software Weka para seleção de
atributos, conforme citados na próxima seção.
V.1.3. Recursos do Software Weka
V.1.3.1. Histogramas
Figura V.1. Histogramas dos atributos de entrada e saída do banco de dados original.
O software Weka disponibiliza uma facilidade de visualização da freqüência da
massa de dados presente em cada atributo através de histogramas. Antes da introdução
88
dos novos casos
71
Figura V.1
, o banco de dados original apresentava a seqüencia de histogramas
ilustrados na .
Pode-se observar pela largura da banda de freqüência dos dados representados
por estes histogramas que o banco de dados contém uma quantidade de dados um pouco
limitada, ainda que os dados de saída encontrem-se razoavelmente bem distribuídos.
Figura V.2. Histogramas dos atributos de entrada e saída do banco de dados modificado.
Ao se inserir estes novos casos, a nova seqüencia de histogramas toma a forma
ilustrada pela Figura V.2. Ainda é possível observar a presença de alguns gaps entre as
71
Os novos casos referem-se às novas análises realizadas para entender como os parâmetros de saída (S1
a S5) se comportam com a variação do ângulo de topo, do heave, da rigidez axial e da rigidez flexional,
conforme citado na seção anterior.
89
bandas de alguns dos parâmetros de entrada. Entretanto, os parâmetros de saída
apresentam uma distribuição mais refinada devido ao aumento na quantidade de dados.
Visando a confirmação da informação obtida sobre o comportamento dos
resultados apresentados pelos atributos de saída obtido na inspeção visual da massa de
dados, segundo informado na seção anterior, dois outros recursos do Weka foram
utilizados, conforme relatado no próximo item.
V.1.3.2. Seleção de Atributos
Para seleção de atributos e verificação da possível presença de outliers na
massa de dados, duas ferramentas do Weka foram utilizadas, a saber: o Visualize e o
Select Attributes. A primeira ferramenta permite a visualização gráfica em 2D da
distribuição dos dados de saída para cada atributo de entrada. As figuras ilustradas no
Anexo E representam os gráficos obtidos por esta ferramenta.
Analisando-se estas figuras é possível notar um comportamento regular entre
os atributos de entrada e os de saída. O surgimento de colunas de clusters para os
atributos de entrada sugere a necessidade da existência de combinação entre os
atributos.
A segunda ferramenta disponibiliza a utilização de alguns algoritmos
(classificadores por regras de associação, redes neurais, bagging e boosting, entre
outros) que avaliam a participação de cada atributo de entrada na determinação dos
parâmetros de saída.
No entanto, antes da avaliação dos atributos, foi realizada a verificação da
correlação entre os atributos de entrada a fim de garantir que não existem atributos
redundantes no banco. Para tanto, utilizou-se o avaliador PrincipalComponents.
Este avaliador caracteriza-se pela utilização da técnica de análise de
componentes principais (descrito no capítulo e metodologia). Aqui esta técnica é
utilizada em conjunto com a pesquisa classificatória (conhecida na interface Weka por
Ranker search). A redução de dimensionalidade é acompanhada pela escolha de tantos
90
autovetores quanto necessários para atender uma determinada porcentagem de variância
para os dados originais (95% é o padrão). Como resultado, o PrincipalComponents
descreve funções como parâmetros de entrada. Sua utilização nesta pesquisa es
vinculada apenas a uma parte do resultado que fornece: a matriz de covariância
72
Tabela V.8
. O
resultado desta matriz encontra-se demonstrada na .
Tabela V.8. Matriz de correlação entre os atributos de entrada.
E1 E2 E3 E4 E5 E6
E1
1.00 0.00 0.60 -0.16 0.13 0.53
E2
0.00 1.00 0.00 0.04 0.21 0.00
E3
0.60 0.00 1.00 -0.10 0.08 0.31
E4
-0.16 0.04 -0.10 1.00 -0.34 -0.09
E5
0.13 0.21 0.08 -0.34 1.00 0.03
E6
0.53 0.00 0.31 -0.09 0.03 1.00
Observando-se a matriz de correlação apresentada na tabela acima, é possível
concluir que a correlação entre os atributos de entrada é fraca, o que caracteriza a
independência entre eles e, portanto, a ausência de redundância.
Para verificação da contribuição dos atributos de entrada na resposta, foi
utilizado o recurso weka.attributeSelection.ClassifierSubsetEval que permite a avaliação
de subgrupos de atributos no treinamento de dados ou a utilização de arquivo com um
grupo separado (holdout). Entretanto, este recurso necessita de um classificador para
estimar o “mérito” de um grupo de atributos. Nesta pesquisa, dois classificadores foram
utilizados: um baseado em redes neurais o MultilayerPerceptron e outro
fundamentado em funções de regressão gaussianas (GaussianProcesses
73
O primeiro (MultilayerPerceptron) utiliza a técnica de retropropagação para
classificação de atributos. Este algoritmo cria uma rede que é monitorada e pode ser
alterada durante o processo de treinamento. O modo de seleção de atributos utilizado foi
).
72
O resultado das funções definidas pelo avaliador em questão encontra-se disponível no Anexo E.
73
Para se obter maiores detalhes sobre este processo, sugere-se o livro Introduction to Gaussian
Processes de Mackay, D. J.C. (1998).
91
o de validação cruzada em k-partes
74
Tabela V.9 (para k = 10). Na é possível observar
os resultados obtidos para a seleção de atributos.
Tabela V.9. Resultados da seleção de atributos para o avaliador MultilayerPerceptron
75
.
S1 S2 S3 S4 S5
E1
100% 100% 100% 100% 100%
E2
90% 100% 90% 100% 100%
E3
100% 100% 100% 100% 100%
E4
100% 100% 70% 100% 100%
E5
100% 100% 80% 100% 100%
E6
90% 90% 100% 100% 90%
O outro avaliador realiza a verificação dos atributos através da aplicação de
técnicas de regressão utilizando funções Gaussianas. Também foi utilizado o modo de
validação cruzada em k-partes para análise de validação de atributos. Os resultados
obtidos para este avaliador encontram-se disponíveis na tabela a seguir.
Tabela V.10. Resultados da seleção de atributos para o avaliador GaussianProcesses
76
.
S1 S2 S3 S4 S5
E1
100% 100% 100% 100% 100%
E2
90% 100% 100% 100% 100%
E3
100% 100% 100% 100% 100%
E4
100% 100% 100% 100% 100%
E5
100% 100% 30% 100% 100%
E6
100% 100% 100% 100% 100%
Analisando-se ambas as tabelas, é possível verificar que o atributo que
representa o raio mínimo é o que apresenta maiores problemas com relação aos
74
Este é um método utilizado para avaliação de classificadores. Os dados são subdivididos em k
subgrupos de tamanhos semelhantes, de forma que, na i-ésima iteração, o subgrupo S
i
seja utilizado para
teste e os demais subgrupos sejam utilizados coletivamente para treinamento (Han & Kamber, 2006).
Para maiores detalhes, indica-se a leitura da seção II.6 (Capítulo II).
75
As porcentagens relacionadas nesta tabela indicam a freqüência de ocorrência do respectivo atributo em
cada parte do processo de validação cruzada. O conteúdo completo dos resultados encontra-se disponível
no Anexo F.
76
Idem.
92
atributos de entrada. No primeiro avaliador, ainda que os resultados apresentados sejam
considerados muito bons, o heave de topo e a rigidez axial apontam uma freqüência de
70% e 80%, respectivamente.
Avaliando-se o segundo conjunto de resultados, o atributo que representa a
rigidez axial exigiria a utilização de um terceiro classificador para ratificar a resposta,
que o resultado apresentado apresenta uma baixa freqüência (apenas 30%). Entretanto, o
banco não é composto apenas pelo atributo “raio mínimo” e, como a freqüência de
ocorrência para o atributo “rigidez axial” para os demais atributos (considerando-se
ambos os avaliadores) é igual a 100%, julga-se sua exclusão desnecessária.
Pode-se, portanto, concluir que os atributos de entrada selecionados são
relevantes para o processo de interpolação definidos na pesquisa tendo por base a
resposta obtida pelos avaliadores do software Weka e a inspeção visual realizada.
Porém, antes de dar início ao processo de validação dos interpoladores, vale
ressaltar duas informações importantes. A primeira informação refere-se ao fato de que
as trações mínimas (aqui representadas pelos atributos “tração no topo máxima” e
“tração no TDP máxima”
77
V.2. Validação
), serão removidas do processo de validação por não serem
relevantes para tratamento estrutural. A outra, aplica-se aos atributos “tração no topo
mínima” e “tração no TDP mínima”. Analogamente, à informação anterior, estes dados
representam, na verdade, valores máximos absolutos e passarão a ser tratados como tais
a partir de então. Ou seja, entenda-se por “máxima tração no topo” e “máxima tração no
TDP” o maior valor absoluto para ambos os atributos.
V.2.1. Introdução
Conforme definido anteriormente, o programa Anflex será utilizado como
instrumento de validação desta pesquisa de tese. Para tanto, duas plataformas fictícias
foram criadas: a Plataforma 100 (P100) e a Plataforma 200 (P200). Os resultados
77
Lembre-se que estes atributos foram assim denominados porque o banco de dados possui dados
positivos e negativos.
93
obtidos pela interpolação do banco de dados levando-se em consideração os atributos de
entrada característicos das linhas flexíveis presentes nestas plataformas (conforme
definidos na seção anterior) serão comparados com os resultados da análise dinâmica
realizada utilizando-se o programa Anflex.
Contudo, antes de se definir a estrutura final do banco de dados que será
utilizada para aplicação dos algoritmos de interpolação, dois estudos foram realizados, a
saber: o primeiro, utilizando-se classificadores do software Weka para avaliação da
informação presente no banco de dados e o segundo, aplicando-se o programa Neural a
um subgrupo de dados como base de treinamento, com o intuito de se observar a
acurácia da resposta de seus interpoladores.
V.2.2. Testes Preliminares
V.2.2.1. O MultilayerPerceptron
Antes de se aplicar os algoritmos de interpolação disponível no programa
Neural, alguns testes de classificação foram realizados com o software Weka. O
objetivo da realização destes testes é realizar uma verificação preliminar dos resultados
e promover alterações no banco, antes de utilizá-lo como fonte para interpolação de
dados e ganho de conhecimento.
Da mesma forma que na seleção de atributos, utilizou-se o classificador
baseado em redes neurais (MultilayerPerceptron com validação cruzada em 10-partes)
para verificação da acurácia dos resultados, considerando-se algumas características do
dimensionamento de linhas flexíveis.
Estas características retratam aspectos importantes sobre o comportamento
estrutural de linhas flexíveis instaladas em baixas profundidades (quando respondem à
solicitação dinâmica de forma mais intensa) e deslocamentos com offsets acima dos
15% (quando os esforços de tração podem ser muito grandes).
Com isso, três casos foram analisados. O primeiro caso leva em consideração o
banco de dados completo, sem considerar qualquer alteração. Um segundo caso fora
94
analisado retirando-se as tuplas com profundidades acima de 500m e um terceiro,
excluindo-se apenas as tuplas com offsets superiores a 15% (ou seja, tuplas com offsets
entre 20 e 35%). Um resumo com os erros obtidos nestes casos para cada um dos
atributos de saída e encontram-se dispostos na Tabela V.11.
Tabela V.11. Resultados dos erros de classificação por atributo
78
.
Atributos/Erros Completo Prof. > 500m Offset <= 15%
Tração no Topo
Máxima
ERA
8.9988% 9.8553% 4.5899%
REQR
10.2696% 12.1272% 4.9069%
Mínimo Raio de
Curvatura
ERA
65.1578% 56.0552% 79.2749%
REQR
66.7534% 62.6900% 83.3604%
Tração no TDP
Máxima
ERA
17.8319% 8.3007% 26.9354%
REQR
21.7563% 10.2247% 28.7898%
Analisando-se cautelosamente a tabela acima, pode-se concluir que, para a
quantidade de pontos fornecida pelo banco de dados, a rede neural responde muito bem
para o atributo que representa a tração no topo (curiosamente melhor onde a quantidade
de pontos é menor: offsets entre 5 a 15%). Entretanto, a resposta para os atributos que
representam a tração no TDP e o raio mínimo, a rede neural não apresenta resultados
muito atraentes, muito provavelmente devido à baixa quantidade de pontos.
Na tentativa de entender porque a resposta para o raio mínimo apresentava
valores tão distantes do real, realizou-se uma nova investigação cuidadosa dos dados
presentes no banco. Durante esta inspeção, detectou-se que a plataforma de
profundidade igual a 530m apresentava um comportamento distinto das demais,
apresentando fortes compressões na região do TDP e, com isso, dois novos estudos
foram realizados.
A primeira nova análise considerou apenas os resultados de plataforma entre
620 e 910m e o segundo, todas as plataformas exceto a referida plataforma de 530m. A
Tabela V.12 apresenta estes resultados.
78
As siglas ERA e REQR significam, respectivamente, Erro Relativo Absoluto e Raiz do Erro
Quadrático Relativo.
95
Tabela V.12. Resultados dos erros de classificação para novos casos.
Atributos/Erros Prof. >= 620m s/Prof. 530m
Tração no Topo
Máxima
ERA
3.5557% 4.2695%
REQR
3.4813% 4.9503%
Mínimo Raio de
Curvatura
ERA
51.0785% 62.7054%
REQR
62.8083% 69.2609%
Tração no TDP
Máxima
ERA
4.9981% 7.7034%
REQR
5.5771% 8.9052%
Levando-se em consideração apenas os dados para profundidades superiores a
600m, pode-se observar que os resultados apresentam-se melhores para todos os
atributos quando comparados com os dados para profundidades acima de 500m
observados no segundo caso disposto na tabela anterior. Todavia, o programa Neural
utilizado para interpolação não utiliza apenas as redes neurais como algoritmo de
interpolação.
V.2.2.2. Outliers Estruturais
A presença de valores fora do domínio dos demais (comumente conhecido por
outliers) pode ser provocada por diversos fatores. Nos estudos apresentados
anteriormente, foi possível observar a sensibilidade do banco à presença de outliers
provavelmente decorrente de fatores estruturais, quando a interpolação é realizada
utilizando-se as redes neurais.
Conforme dito anteriormente, quando instaladas em baixas profundidades, as
linhas flexíveis tendem a responder à dinâmica dos carregamentos ambientais com uma
intensidade muito maior. Por teoria, este fator poderia caracterizar a presença de outliers
para profundidades entre 220,7 e 430m (valores presentes no banco), o que poderia ser
considerado normal.
Entretanto, nos últimos dois testes realizados utilizando-se ferramentas do
Weka (demonstrados a final da seção anterior), verificou-se que os resultados
apresentavam erros menores quando os dados da plataforma localizada à profundidade
96
de 530m eram excluídos em conjunto com os valores menores (220,7m e 430m). Ou
seja, para quantidade de dados disponível no banco de dados em questão, estes dados
poderiam ser caracterizados como outliers.
Em uma investigação sobre o comportamento estrutural das referidas
plataformas, pode-se identificar que a mesma apresentava valores de deslocamento de
heave bastante elevado (observe os gráficos de heave para os atributos de saída disposto
no Anexo E) para algumas de suas linhas e a presença de compressão na região do TDP
para todos os offsets, até mesmo para os menores (5% e 10%). Esta característica pode
ser resultante de algum detalhe estrutural presente na referida plataforma (projeto
diferenciado, ancoragem especial), porém, invisível ao banco
79
Entretanto, é importante observar que estes estudos foram realizados levando-
se em conta o aprendizado realizado utilizando-se técnicas de redes neurais artificiais.
Por isso, há grandes chances da quantidade de informação contida no banco ser
inexpressiva para aquisição de conhecimento. Sendo assim, a massa de dados utilizada
foi integralmente utilizada na validação da tese para avaliação do comportamento dos
dados quando utilizados interpoladores locais.
.
V.2.3. O Processo de Validação
Antes de iniciar o processo de validação, o programa Neural foi testado
utilizando-se seus próprios valores como atributos de entrada para avaliação dos
resultados de interpolação do algoritmo de redes neurais. Para tanto, foi empregada a
técnica leave-one-out, onde se utiliza o algoritmo de redes neurais para analisar algumas
tuplas presentes no banco de dados. Observa-se que este teste só tem sentido para
algoritmo de redes neurais, uma vez que os demais algoritmos disponíveis no programa
Neural passam diretamente pelos pontos considerados.
79
Não ser enxergado pelo banco indica que a atual quantidade de dados que apresentam esta mesma
característica não é suficientemente grande para gerar conhecimento, porém é grande o bastante para
interferir no processo de interpolação. Por isso, não tratar esta informação como outlier poderia
comprometer o resultado da pesquisa. Indica-se como sugestão para trabalho futuro uma investigação
mais detalhada sobre tal comportamento.
97
Coordenada 1: Profundidade = 910m; Ângulo de Topo = 5°; Offset =
20%; Heave = 3,0192m; Rigidez Axial = 131.600kN e Rigidez Flexional =
4,775kN.m² (vide a planilha descrita na Tabela V.13).
Tabela V.13. Resultado do treinamento para dados do próprio banco – Coordenada 1.
Atributos Valor Real Rede Neural Erro Relativo
Máxima Tração no Topo
-456.800 -515.800 12.916%
Mínimo Raio de Curvatura
4.854 5.505 13.407%
Máxima Tração no TDP
-227.700 -275.100 20.817%
Coordenada 2: Profundidade = 770m; Ângulo de Topo = 6°; Offset =
10%; Heave = 2,785m; Rigidez Axial = 131.600kN e Rigidez Flexional =
3,951kN.m² (vide os resultados na Tabela V.14).
Tabela V.14. Resultado do treinamento para dados do próprio banco – Coordenada 2.
Atributos Valor Real Rede Neural Erro Relativo
Máxima Tração no Topo
-344.120 -347.300 0.924%
Mínimo Raio de Curvatura
13.537 8.308 38.627%
Máxima Tração no TDP
-124.670 -119.200 4.388%
Coordenada 3: Profundidade = 620m; Ângulo de Topo = 6°; Offset =
25%; Heave = 2,5135m; Rigidez Axial = 131.600kN e Rigidez Flexional =
4,775kN.m² (os resultados encontram-se na Tabela V.15).
Tabela V.15. Resultado do treinamento para dados do próprio banco – Coordenada 3.
Atributos Valor Real Rede Neural Erro Relativo
Máxima Tração no Topo
-374.830 -400.500 6.848%
Mínimo Raio de Curvatura
5.5198 4.158 24.671%
Máxima Tração no TDP
-219.430 -254.700 16.073%
A análise dos resultados dos erros indicados nas tabelas anteriores,
principalmente com relação ao raio mínimo, indica que o número dos novos casos
adicionados ao banco de dados original não foi suficiente. Para melhorar a precisão. o
banco de dados deveria ser ainda enriquecido com novas informações.
98
Figura V.3. Modelo de linha flexível da plataforma P200 a ser analisada.
Para o teste de validação foram consideradas duas plataformas fictícias, do tipo
semi-submersível, denominadas Plataforma-100 (P100) e Plataforma-200 (P200).
Ambas as plataformas foram projetadas para operar na extração de petróleo na Bacia de
Campos, na região definida pela Petrobrás como Intermediate Central, às profundidades
de 870m e 680m, respectivamente. Estas plataformas encontram-se expostas às mesmas
condições ambientais de onda e corrente (segundo as especificações técnicas descritas
em documentação específica Metocean Data) que definiram os filtros da base de
dados utilizada nesta pesquisa.
Suas linhas flexíveis possuem 4” de diâmetro, função de operação de produção
de óleo, encontram-se localizadas à popa da plataforma, com azimute direcionado para
sul e direção do deslocamento de offset para norte (o que caracteriza um movimento far)
e estão submetidas a carregamentos ambientais de períodos de corrente centenária e de
onda decenária.
A linha flexível da plataforma P100 possui rigidez axial igual a 140.000kN e
rigidez flexional igual a 4,05kN.m², diferentemente da linha da outra plataforma (P200),
cuja rigidez axial é igual a 205.000kN e a rigidez flexional, igual a 3,98kN.m². Os
ângulos de topo de instalação destas linhas são 5,5° e 6,1°, respectivamente.
99
Para análise serão considerados deslocamentos de offset de 10%, 15% e 20%
para ambas as plataforma (P100 e P200) e deslocamentos de heave iguais a 3,0192m e
2,9258m, respectivamente. A Figura V.3 ilustra o modelo da linha flexível para a P200.
Estes dados foram analisados pelo programa Anflex, sendo utilizado o
programa Neural para fazer as previsões dos resultados da análise. Os resultados
obtidos para cada uma das linhas supracitadas foram inseridos na Tabela V.16, Tabela
V.17, Tabela V.18, Tabela V.19, Tabela V.20 e Tabela V.21, onde estão indicadas as
respostas de cada um dos algoritmos para os casos analisados.
Tabela V.16. Resultados obtidos para plataforma P100 (Offset = 10%).
Atributos Anflex R. Neurais
Quadrático
Completo
Linear KNN
Máx. Tração no Topo
-370.740 -393.600 -377.900 -377.800 -364.700
Erro Relativo 6.166% 1.931% 1.904% 1.629%
n. Raio de Curvatura
12.0860 7.703 8.964 5.072 10.010
Erro Relativo 36.265% 25.832% 58.034% 17.177%
Máx. Tração no TDP
-138.680 -117.800 -143.100 -150.700 -142.500
Erro Relativo 15.056% 3.187% 8.667% 2.755%
Tabela V.17. Resultados obtidos para plataforma P100 (Offset = 15%).
Atributos Anflex R. Neurais
Quadrático
Completo
Linear KNN
Máx. Tração no Topo
-407.600 -446.100 -418.000 -404.300 -396.200
Erro Relativo 9.446% 2.552% 0.810% 2.797%
n. Raio de Curvatura
9.007 6.036 8.253 8.175 8.084
Erro Relativo 32.987% 8.373% 9.239% 10.250%
Máx. Tração no TDP
-182.840 -184.700 -195.800 -188.300 -187.000
Erro Relativo 1.017% 7.088% 2.986% 2.275%
Tabela V.18. Resultados obtidos para plataforma P100 (Offset = 20%).
Atributos Anflex R. Neurais
Quadrático
Completo
Linear KNN
Máx. Tração no Topo
-452.000 -500.900 -470.000 -449.500 -432.100
Erro Relativo 10.819% 3.982% 0.553% 4.403%
n. Raio de Curvatura
4.6864 4.555 4.523 5.939 5.959
Erro Relativo 2.804% 3.487% 26.728% 27.155%
Máx. Tração no TDP
-242.140 -262.700 -264.900 -251.400 -238.800
Erro Relativo 8.491% 9.400% 3.824% 1.379%
100
Tabela V.19. Resultados obtidos para plataforma P200 (Offset = 10%).
Atributos Anflex R. Neurais
Quadrático
Completo
Linear KNN
Máx. Tração no Topo
-336.200 -338.700 -332.800 -352.300 -365.500
Erro Relativo 0.744% 1.011% 4.789% 8.715%
n. Raio de Curvatura
16.8170 8.840 13.480 14.170 10.770
Erro Relativo 47.434% 19.843% 15.740% 35.958%
Máx. Tração no TDP
-129.400 -112.000 -112.700 -125.800 -149.500
Erro Relativo 13.447% 12.906% 2.782% 15.533%
Tabela V.20. Resultados obtidos para plataforma P200 (Offset = 15%).
Atributos Anflex R. Neurais
Quadrático
Completo
Linear KNN
Máx. Tração no Topo
-370.950 -379.100 -362.800 -385.500 -370.500
Erro Relativo 2.197% 2.197% 3.922% 0.121%
n. Raio de Curvatura
16.5090 7.312 16.610 12.940 10.590
Erro Relativo 55.709% 0.612% 21.619% 35.853%
Máx. Tração no TDP
-172.820 -168.900 -151.900 -167.100 -156.600
Erro Relativo 2.268% 12.105% 3.310% 9.385%
Tabela V.21. Resultados obtidos para plataforma P200 (Offset = 20%).
Atributos Anflex R. Neurais
Quadrático
Completo
Linear KNN
Máx. Tração no Topo
-413.380 -421.700 -399.400 -424.900 -410.500
Erro Relativo 2.013% 3.382% 2.787% 0.697%
n. Raio de Curvatura
8.3352 5.898 8.981 8.535 9.110
Erro Relativo 29.240% 7.748% 2.397% 9.296%
Máx. Tração no TDP
-232.410 -234.400 -197.800 -217.800 -210.300
Erro Relativo 0.856% 14.892% 6.286% 9.513%
Analisando-se os resultados obtidos é possível observar que para a plataforma
P100, todos os interpoladores apresentam um comportamento semelhante com erros
variando entre, aproximadamente, 0,5 e 15% para as trações máximas (no topo e no
TDP), conforme mostrado graficamente na Figura V.4, Figura V.5 e Figura V.6.
Entretanto, os resultados obtidos para o raio de curvatura mínimo continuam
apresentando fortes discrepâncias, conforme previsto nos testes preliminares.
101
Figura V.4. Desempenho dos classificadores para P100 com 10% de offset.
Figura V.5. Desempenho dos classificadores para P100 com 15% de offset.
102
Figura V.6. Desempenho dos classificadores para P100 com 20% de offset.
Figura V.7. Desempenho dos classificadores para P200 com 10% de offset.
103
Figura V.8. Desempenho dos classificadores para P200 com 15% de offset.
Figura V.9. Desempenho dos classificadores para P200 com 20% de offset.
104
Os gráficos ilustrados na Figura V.7, na Figura V.8 e na Figura V.9
(plataforma P200), quando comparados com os da plataforma P100, apresentam um
comportamento bastante semelhante, com erros variando entre, aproximadamente, 1 e
15% para as trações máximas e raios de curvatura mínimos com forte discrepância.
As discrepâncias entre os erros obtidos pelos diversos interpoladores indicam a
necessidade de introdução de uma quantidade maior de pontos (principalmente para
determinação do raio mínimo) e/ou certa sensibilidade à presença de outliers.
Com isso, tanto a quantidade, quanto a qualidade da informação contidas nas
tuplas do banco de dados são insuficientes para fazer previsões dos parâmetros de saída
com um grau adequado de confiabilidade.
105
CAPÍTULO VI - CONCLUSÃO E SUGESTÕES
VI.1. Conclusões
O objetivo desta pesquisa de dados fundamenta-se na demonstração de uma
alternativa para determinação de grandezas físicas relevantes para o dimensionamento
de linhas flexíveis à utilização de métodos matemáticos avançados (discretização por
elementos finitos). Esta alternativa, por sua vez, baseia-se na utilização de técnicas de
mineração de dados aplicadas a um banco de dados específico (alimentado por
resultados gerados a partir do uso destes mesmos métodos matemáticos), como
produção de conhecimento (predição de dados futuros).
A escolha pela técnica de mineração de dados para sua utilização nesta
pesquisa reside nos bons resultados que esta técnica apresenta para diversas áreas da
ciência como a Medicina, Telecomunicações, Administração, Geologia e Engenharia
Civil. Utilizar esta técnica como produção de conhecimento para integridade estrutural
de linhas flexíveis aplicada à Indústria de Petróleo e Gás é, muito além de uma tarefa
inovadora, uma atitude bastante desafiadora.
A função da mineração de dados aqui reside na necessidade de compor uma
massa de dados representativa e devidamente preparada (limpeza/transformação de
dados, detecção e remoção de redundâncias e outliers) para aplicação de técnicas de
extração de conhecimento através de métodos de interpolação para predição de dados
futuros. Entretanto, a quantidade de pontos presente na massa de dados poderia não ser
grande o suficiente para concretização deste objetivo.
É possível observar que há uma forte não-linearidade na determinação do raio
mínimo uma característica típica do comportamento estrutural da linha. A posição em
que o raio mínimo se verifica nunca é a mesma, podendo variar de acordo com diversos
fatores como o heave, direção e deslocamento de offset e carregamentos ambientais, por
exemplo.
106
Deste modo, fica claro que a quantidade e a qualidade da informação dos
pontos presentes no atual banco ainda não são suficientes para prever este tipo de
comportamento de maneira satisfatória.
Os demais atributos apresentam resultados coerentes, mas que ainda podem ser
melhorados à medida que forem sendo acrescentados mais pontos no banco de dados. É
importante lembrar que este banco de dados ainda é bastante jovem, ou seja, necessita
de uma boa quantidade de informação para conseguir responder com maior exatidão às
demandas exigidas. Por isso, a necessidade de tantos professores
80
A utilização de interpoladores locais e globais nesta pesquisa se fez necessária
justamente porque se acreditava que a quantidade de pontos atualmente disponíveis no
banco poderia não ser expressiva o suficiente para representar coerentemente a forte
não-linearidade da função ali escondida.
para poder avaliar,
ensinar e extrair conhecimento.
Sabe-se que a qualidade e a precisão dos resultados encontram-se intimamente
relacionadas à capacidade de interpretação (interpolação) de dados definida por seu
respectivo algoritmo. Porém, citando-se novamente Wolpert (1996) apud Goldschmidt
& Passos (2005), “não existe um algoritmo de classificação que seja superior a todos os
outros em qualquer problema de classificação”
81
Quando a quantidade e a qualidade da informação inserida no banco forem
suficientes e adequadas, espera-se que os resultados obtidos por todos os interpoladores
possam convergir para um valor em comum, definindo assim, um grau de precisão
confiável e admissível.
, ou seja, não há como se definir “o
interpolador dos interpoladores”.
Entretanto, as discrepâncias entre os erros obtidos pelos diversos interpoladores
utilizados nesta pesquisa são sintomas de falta de qualidade ou de quantidade
insuficiente de informações para fazer previsões satisfatórias para o caso analisado.
80
Entenda-se aqui “professores” como “algoritmos de interpolação”.
81
Teorema NFL (No Free Lunch).
107
Finalmente, pode-se concluir que a presente pesquisa conseguiu demonstrar
que a estrutura de dados aqui utilizada apresenta um forte potencial para aplicação de
técnicas de mineração de dados voltada para a integridade estrutural de linhas flexíveis,
podendo ser utilizado como uma poderosa ferramenta auxiliar ao Anflex em um futuro
próximo, conforme proposto no início deste documento.
VI.2. Sugestões para Trabalhos Futuros
VI.2.1. Atualização do Banco de Dados DBFlex
VI.2.1.1. Atualização e Manutenção
Um banco de dados é uma estrutura viva, pois está sempre necessitando de
atualizações constantes, seja através da criação de novas facilidades, seja através da
inserção de novos dados.
Em se tratando do conteúdo desta pesquisa é importante relatar que a qualidade
da resposta do conhecimento obtido está diretamente relacionado com a quantidade de
dados que o banco possui. Por isso, fica como sugestão de trabalho futuro sua
atualização (inserção de novos casos) e manutenção, com o intuito de se obter uma
massa de dados mais concisa para aplicação das técnicas aqui propostas e, por
conseguinte, uma resposta mais precisa na predição de resultados.
VI.2.1.2. Propriedades Físicas dos Enrigecedores
Ainda que o banco contenha informações inerentes aos momentos flexional e
torsional de linhas flexíveis, as tentativas de interpolações destes dados não foram bem-
sucedidas, conforme relatado no decorrer desta pesquisa. A ferramenta de avaliação de
atributos do software Weka demonstrava que os dados de entrada ali presentes não
apresentavam qualquer vínculo com os valores dos momentos.
Contudo, sabe-se que a os enrigecedores (elementos que acoplam as linhas
flexíveis às plataformas) são os responsáveis pelo surgimento dos momentos de flexão e
torção. Esta observação, em conjunto com a ausência de relacionamento entre os
108
atributos de entrada e os valores dos momentos, leva a concluir que estes momentos
encontrariam-se vinculados à existência das propriedades físicas dos enrigecedores,
informação que não está presente no banco de dados atual.
Sendo assim, fica como uma sugestão de trabalho futuro, a inserção das
propriedades físicas dos enrigecedores como atributos do banco de dados DBFlex com o
objetivo de tornar possível a interpolação dos momentos flexionais e torsionais
impostos por estes elementos às linhas flexíveis.
VI.2.2. Interface Identificador de Tuplas Duplicadas
A interface Identificador de Tuplas Duplicadas, inicialmente desenvolvida
apenas para encontrar tuplas duplicadas na base de dados, pode ser amplamente
modificada e, com isso, possibilitar a realização de várias outras funções.
Dentre as diversas atividades que esta interface poderia exercer, encontram-se:
a definição automática dos parâmetros ND e NFO; a exclusão ou inclusão de colunas de
dados de entrada e de saída, conforme a necessidade de seu usuário; executar o
programa Neural através da criação de uma tarefa exclusiva e a disponibilização de
resultados em tela em tempo de execução.
A definição do valor do parâmetro ND e a exclusão ou inclusão de colunas de
dados de entrada podem ser definidas automaticamente desenvolvendo-se uma rotina
que seja capaz de fazer uma varredura nos atributos de entrada “Profundidade”,
“Ângulo de Topo”, “Porcentagem de Offset”, “Heave de Topo”, “Rigidez Axial” e
“Rigidez Flexional” e identificar se foram ou não preenchidos. Numerando-os de zero
a cinco (onde zero corresponde ao campo “Profundidade” e cinco, “Rigidez Flexional”),
o número do campo não preenchido corresponderia ao número da coluna a ser excluída
e ND seria igual à quantidade de campos preenchidos.
Por outro lado, a determinação do valor do parâmetro NFO e a exclusão ou
inclusão de colunas de dados de saída poderia ser controlada através de caixas de
seleção contendo os nomes dos campos de saída (“Tração Máxima no Topo”, “Tração
Mínima no Topo”, “Mínimo Raio de Curvatura”, etc.). O valor de NFO e a exclusão das
109
colunas poderiam ser controlados através de uma rotina que fosse capaz de identificar
quantas (a quantidade definiria o valor de NFO) e quais caixas foram selecionadas
(aquelas não selecionadas seriam excluídas).
Uma técnica muito utilizada para comunicação entre linguagens de
programação distintas é a utilização de DLL’s
82
VI.2.3. Avaliar a Presença de Outlier Estrutural
. Executar o programa Neural,
desenvolvido em Fortran, através da interface em Delphi requer a utilização desta
técnica. Desta forma, as rotinas desenvolvidas para o programa Neural podem ser
executadas como se fossem rotinas do próprio Delphi, possibilitando que os resultados
possam ser calculados em Fortran e impressos na interface em tempo real.
Conforme se pode observar no decorrer desta pesquisa, foi identificada a
presença de um “outlier estrutural” ao se verificar que a presença dos dados referentes à
plataformas abaixo de 600m implicavam na geração de erros maiores na interpolação
dos atributos de saída quando utilizada as redes neurais.
Indica-se, portanto, como sugestão para trabalhos futuros a investigação sobre
como estes dados podem influenciar na obtenção de conhecimento. Inicialmente, deve-
se verificar se este é um fenômeno dedicado e, caso não seja, qual a freqüência de sua
ocorrência. Apenas desta maneira será possível definir se casos como estes devem ou
não ser tratados como outliers ou clusters
83
.
82
Sigla em inglês para dynamic-link library ou DLL (biblioteca de ligação dinâmica). Conforme descrito
em Wikipedia (2009), o sistema operacional Microsoft Windows pode compartilhar bibliotecas de
aplicativos direcionados a todas as suas atividades com o sistema operacional OS/2. Como resultado da
necessidade desta implementação (realizada pela Microsoft), surgiu a DLL. Além desta extensão, essas
bibliotecas também podem conter as extensões OCX (bibliotecas voltadas para controles ActiveX) ou DRV
(drivers de sistema legacy).
83
Subgrupo de dados com características comuns entre eles.
110
REFERÊNCIAS BIBLIOGRÁFICAS
ALVARES, R. V. Tecnologias de Banco de Dados e Modelagem de Dados Parte 2.
[S.l.]: SQL Magazine, 2004. Disponível em: <http://www.sqlmagazine.com.br/
Colunistas/ Reinaldo/ 05_Modelagem_P2.asp>. Acesso em: 28 mar. 2009.
ANFLEX. Versão 5.1.09. [S. l.]: Petrobras S/A, 2002. 1 CD-ROM.
ARAGUAIA, M.. Lev Vygotsky e Alguns de Seus Conceitos. [S.l.]: Canal do Educador,
2008. Disponível em: <http://www.educador.brasilescola.com/pedagogia/lev-
vygotsky-alguns-seus-conceitos.htm>. Acesso em: 13 mar. 2009.
BARRETO, A. S. Considerações Prévias à Utilização Empírica do Data-Mining. [S.l.]:
SQL Magazine, 2005. Disponível em: <http://www.sqlmagazine.com.br/
Colunistas/ AlexandreBarreto/ 02_DataMining.asp>. Acesso em: 24 mai. 2005.
BATISTA, G. E. A. P. A., 2003, Pré-processamento de Dados em Aprendizado de
Máquina Supervisionado. Tese de D.Sc., ICMC-USP, São Carlos, SP, Brasil.
BRAGA, A. P. et al., 2005, “Redes Neurais Artificiais”. In: Rezende, S. O. (org.),
Sistemas Inteligentes: Fundamentos e Aplicações, 1ª ed., capítulo 6, Barueri, SP,
Brasil, Manole.
DBFLEX. Versão 1.03. [S.l.]: Petrobras S/A, 2006. 1 CD-ROM.
FIREBIRD. Version 1.5.5.4926. [S.l.]: Firebird Project, 2007. Disponível em:
<http://prdownloads.sourceforge.net/firebird/Firebird-1.5.5.4926-3-Win32.exe>.
Acesso em: 16 dez. 2007.
FIREBIRD MAESTRO. Free Trial Version 7.12.0.1. [S.l.]: SQL Maestro Group, 2007.
Disponível em: < http://www.sqlmaestro.com/ files/ firebird_maestro_
executable.zip >. Acesso em: 22 fev. 2008.
GOLDSCHMIDT, R.; PASSOS E., 2005, Data Mining: Um Guia Prático. ed., Rio
de Janeiro, Elsevier.
HAN, J.; KAMBER, M., 2006, Data Mining: Concepts and Techniques. 2 ed., San
Francisco, Morgan Kauffman Publishers.
111
INMON, W. H. et al., 2001, Data Warehousing Como transformar informações em
oportunidades de negócios. 1ª ed., São Paulo, Berkeley.
KECMAN, V., 2001, Learning and Soft Computing: Support Vector Machines, Neural
Networks and Fuzzy Logic Models. 1 ed., Massachusetts, MIT Press.
LIMA, C. A. M., 2004, Comitê de Máquinas: Uma Abordagem Unificada Empregando
Máquinas de Vetores-Suporte. Tese de D.Sc., Unicamp, Campinas, SP, Brasil.
MATOS, N. A. F., 2005, Predição de Séries Temporais para Análise Dinâmica de
Estruturas Offshore. Tese de M.Sc., COPPE/UFRJ, Rio de Janeiro, RJ, Brasil.
MEDEIROS, L. F., 2006, Redes Neurais em Delphi. 2ª ed., Florianópolis, Visual
Books.
MICROSOFT
®
Office Excel
®
2003. Versão: 11.8307.8221 (SP3). [S.l.]: Microsoft
Corporation, 2007. 1 CD-ROM.
MONARD, M. C.; BARANAUSKAS, J. A., 2005, “Conceitos sobre Aprendizado de
Máquina”. In: Rezende, S. O. (org.), Sistemas Inteligentes: Fundamentos e
Aplicações, 1ª ed., capítulo 4, Barueri, SP, Brasil, Manole.
PETROBRAS, 2009, Anflex – Manual de Entrada de Dados, Rio de Janeiro, Petrobras.
PUNTAR, S. G., 2003, Métodos e Visualização de Agrupamentos de Dados. Tese de
M.Sc., COPPE/UFRJ, Rio de Janeiro, RJ, Brasil.
SALGADO, R. G., 2005, Ser Criança e Herói no Jogo e na Vida: A Infância
Contemporânea, o Brincar e os Desenhos Animados. Tese de D.Sc., PUC-RJ, Rio
de Janeiro, RJ, Brasil.
SEMOLINI, R., 2002, Support Vector machines, Inferência Transdutiva e o Problema
de Classificação. Tese de M.Sc., Unicamp, Campinas, SP, Brasil.
SOUZA FILHO, H. G., 2004, Extração de Regras de Associação em uma Base de
Dados Relacional. Tese de M.Sc., COPPE/UFRJ, Rio de Janeiro, RJ, Brasil.
TAFNER, M. A.. A Contrução do Conhecimento Segundo Piaget. Cérebro e Mente
Revista Eletrônica de Divulgação Científica em Neurociência, 1998. Disponível
112
em: <http://www.cerebromente.org.br/ n08/ mente/ construtivismo/
construtivismo.htm >. Acesso em: 13 mar. 2009.
TAKAI, O. K. et al., 2005, Introdução a Banco de Dados. DCC/IME/USP, Brasil,
2005. Disponível em: <http://www.scribd.com/doc/6245268/banco-de-dados-
dccimeusp>. Acesso em: 27 mar. 2009.
TWO CROWS CORPORATION. Introduction to Data Mining and Knowledge
Discovery. Maryland, USA, 1999. Disponível em: <http://www.twocrows.com
/intro-dm.pdf>. Acesso em: 04 jun. 2006.
WIKIPÉDIA. DLL. 2008. Disponível em: <http://pt.wikipedia.org/wiki/Dll>. Acesso
em: 24 abr. 2009.
__________. Edgar Frank Codd. 2009. Disponível em: <http://pt.wikipedia.org/ wiki/
Edgar_Frank_Codd>. Acesso em: 27 mar. 2009.
__________. Jean Piaget. 2009. Disponível em: <http://pt.wikipedia.org/wiki/
Jean_Piaget>. Acesso em: 12 mar. 2009.
__________. Lev Vygotsky. 2009. Disponível em: <http://pt.wikipedia.org/wiki/
Lev_Vygotsky>. Acesso em: 12 mar. 2009.
__________. SQL. 2006. Disponível em: <http://pt.wikipedia.org /wiki /SQL>. Acesso
em: 26 jun. 2006.
__________. Zona de Desenvolvimento Proximal. 2009. Disponível em:
<http://pt.wikipedia.org/wiki/Zona_de_desenvolvimento_proximal>. Acesso em:
12 mar. 2009.
WITTEN, I. H.; FRANK, E., 2005, Data Mining: Pratical Machine Learning Tools and
Techiques. 2 ed., San Francisco, Morgan Kauffman Publishers.
__________. Waikato Environment Knowledge Analysis. Version 3.6.1. University of
Waikato, New Zeland, 2009. Disponível em <http://www.cs.waikato.ac.nz/ ml/
weka/>. Acesso em: 10 jun. 2009.
113
ZACHARIAS, V. L. C. Piaget. Centro de Referência Educacional, 2007. Disponível
em: <http://www.centrorefeducacional.com.br/piaget.html>. Acesso em: 12 mar.
2009.
ZAÏANE, O. R. Principles of Knowledge Discovery in Databases. University of
Alberta, Canada, 1999. Disponível em: <http://www.cs.ualberta.ca /~zaiane
/courses /cmput690 /notes /Chapter1 /ch1.pdf>. Acesso em: 03 jun. 2006.
114
ANEXOS
Anexo A. Decomposição pelo Valor Singular (SVD)
84
A decomposição pelo valor singular (SVD) é um método da álgebra linear de
fatoração de uma matriz real ou complexa, com diversas aplicações no processamento
de sinais e na estatística. Pode ser interpretado sob três pontos de vistas mutuamente
compatíveis. O primeiro deles o reconhece como um método de transformação de
variáveis correlacionadas em um grupo de variáveis não-correlacionadas que melhor
representam as várias relações entre os dados originais. Ao mesmo tempo, o SVD
identifica e ordena dimensões ao longo das quais os pontos exibem a maior variação.
Uma vez identificada estas dimensões (e este é o terceiro ponto de vista), é possível
encontrar a melhor aproximação dos pontos originais utilizando-se dimensões menores.
Desta forma, o SVD pode ser interpretado como um método de redução dimensional.
O SVD é baseado em um teorema da álgebra linear que acredita que uma
matriz retangular A qualquer pode ser decomposta pelo produto de outras três matrizes,
a saber: uma matriz quadrada ortogonal U, uma matriz diagonal (singular) S e a
transposta de outra matriz quadrada ortogonal V, assim:
T
nnmn
mmmn
VSUA =
, onde:
(VI.1)
IUU =
T
as colunas de U são autovetores ortonormais de AA
T
IVV =
T
as colunas de V são autovetores ortonormais de A
T
A
I
matriz identidade
S
é uma matriz diagonal contendo a raiz quadrada dos autovalores
de U e V em ordem decrescente
Definidas as características de decomposão da matriz A, inicia-se, então, o
processo de cálculo de seus componentes.
Para se determinar a matriz U, deve-se inicialmente encontrar a matriz
transposta de A e, em seguida, calcular o produto AA
T
. Substituindo-se a matriz M pela
84
Traduzido do termo em inglês Singular Value Decomposition, a decomposição pelo valor singular é
comumente conhecido pela sigla SVD (iniciais de sua denominação original em inglês).
115
matriz resultante de AA
T
na expressão definida pela Equação (VI.2), o passo seguinte
compreende o cálculo de seus autovalores e autovetores.
v
vM
λ=
, onde:
(VI.2)
v
autovetores de M
λ
autovalores de M
Considerando-se os valores absolutos dos autovalores obtidos, o procedimento
seguinte envolve a montagem da matriz de autovetores, respeitando-se o seguinte
critério: a primeira coluna deve conter os autovetores obtidos a partir do maior
autovalor, a segunda coluna, os autovetores resultantes do segundo maior autovalor e
assim por diante, até o menor autovalor calculado pela expressão acima.
Aplicando-se o método de ortonormalização de Gram-Schmidt à matriz
encontrada no procedimento anterior, finalmente, determinam-se os componentes da
matriz U. Tal método é definido pela Equação (VI.3).
ik
k
i
ikk
uvuvw
=
=
1
1
, onde:
(VI.3)
i
i
i
w
w
u
=
, sendo que
11
vw
=
, onde:
i
u
é o vetor da i-ésima coluna de U
O processo de determinação da matriz V é muito semelhante ao processo
anterior. Inicialmente, deve-se calcular a matriz transposta de A e, depois, encontrar o
produto A
T
A. Para se calcular os autovalores e autovetores de A
T
A, utiliza-se a Equação
(VI.2), trocando-se a matriz M por A
T
A. Igualmente ao que fora definido para se
determinar a matriz U, monta-se a matriz de autovetores (respeitando-se os valores
absolutos dos autovalores obtidos no processo anterior) e, em seguida, deve-se aplicar o
método de ortonormalização de Gram-Schmidt (Equação (VI.3)) à esta matriz,
lembrando-se que, neste caso,
i
u
representa o vetor da i-ésima coluna de V.
116
Para se montar a matriz diagonal S, deve-se calcular a raiz quadrada dos
autovalores não-nulos
85
Por fim, para que a matriz S assuma uma dimensão adequada que permita sua
multiplicação entre U e V, é preciso adicionar tantos valores nulos quantos forem
necessários, conforme a Equação definida abaixo:
e adicioná-los à linha diagonal da matriz, da seguinte forma: o
maior deles deve ser inserido na posição
σ
11
, o segundo maior na posição
σ
22
, assim por
diante até que a r-ésima posição (
σ
rr
) receba o menor dos autovalores.
)(
00
00
00
00
00
00
rm
r
mn
=
D
S
, onde:
(VI.4)
=
rr
σ
σ
0
0
11
D
(VI.5)
Observe que o número total de colunas de vetores nulos ao lado direito da
matriz diagonal D deve ser igual ao número de colunas que faltam para completar a
dimensão da matriz S
mn
, ou seja, (n – r) colunas.
O termo decomposição pelo “valor singular” identifica a diagonal da matriz S
como valores singulares da matriz A, as colunas da matriz U são conhecidos por vetores
singulares da esquerda e as colunas da matriz V, vetores singulares da direita.
85
É importante notar que como as matrizes U e V são derivadas de A, seus autovalores serão sempre os
mesmos. Por isso, para montar a matriz diagonal S, não importa saber se os autovalores pertencem a
matriz U ou V.
117
Anexo B. Subconjunto Filtrado por Classes
Este anexo exemplifica um arquivo-texto de subconjunto do modelo filtrado
por classes utilizando-se o programa Excel. O primeiro bloco representa o cabeçalho do
arquivo, os demais blocos (numéricos), as tuplas com os respectivos valores.
PROFUNDIDADE ANG_TP_ANAL PERC_LAMINA HEAVE_TOPO RIGIDEZ_AXIAL
RIGIDEZ_FLEXIONAL TRACAO_TOPO_MAX TRACAO_TOPO_MIN MIN_RAIO_CURV
TRA_TDP_MAX TRA_TDP_MIN
423 7.86 20 1.2769 131600 4.775 -110.53 -142.07
3.9062 -4.045599937 -7.071199894
423 7.86 25 1.2769 131600 4.775 -110.51 -134.24
3.7186 -3.89989996 -6.609700203
423 7.86 30 1.2769 131600 4.775 -110.87 -134.74
3.931 -3.771100044 -6.366700172
423 7.86 35 1.2769 131600 4.775 -111.33 -135.51
4.5207 -3.42930007 -6.213399887
423 5 20 1.2769 131600 4.775 -109.24 -133.55
4.0303 -0.490910 -3.432500
423 5 25 1.2769 131600 4.775 -109.57 -141.59
4.3548 0.225240 -3.262700
423 5 30 1.2769 131600 4.775 -110.17 -135.17
5.0498 -0.076496 -2.433000
423 5 35 1.2769 131600 4.775 -110.64 -136.11
5.7356 0.485000 -2.663100
...
530 7 35 1.0842 125000 4.775 -135.64 -153.42
7.4198 2.199900 -4.638300
530 7 20 1.1122 125000 3.951 -134.09 -150.15
4.9811 2.5641 -3.7697
530 7 25 1.1122 125000 3.951 -133.87 -150.41
5.418 2.3146 -4.082
530 7 30 1.1122 125000 3.951 -133.93 -151.2
5.9687 2.2478 -4.3578
530 7 35 1.1122 125000 3.951 -133.98 -152.17
6.654 2.2414 -4.6555
118
Anexo C. Arquivo de Entrada para o Programa Neural
O arquivo de entrada para o programa Neural deve ser formatado conforme
demonstrado no exemplo definido por este anexo.
$ Titulo da Analise
'SS_4_POPA_PO_S_21_S'
$
$ NP NV ND NH NFO IA JF
180 180 5 1 5 0 0
$
$ PROFUNDIDADE ANG_TP_ANAL PERC_LAMINA HEAVE_TOPO RIGIDEZ_AXIAL
RIGIDEZ_FLEXIONAL TRACAO_TOPO_MAX TRACAO_TOPO_MIN MIN_RAIO_CURV
TRA_TDP_MAX TRA_TDP_MIN
423 7.86 20 1.2769 131600 4.775 -110.53 -142.07
3.9062 -4.045599937 -7.071199894
423 7.86 25 1.2769 131600 4.775 -110.51 -134.24
3.7186 -3.89989996 -6.609700203
423 7.86 30 1.2769 131600 4.775 -110.87 -134.74
3.931 -3.771100044 -6.366700172
423 7.86 35 1.2769 131600 4.775 -111.33 -135.51
4.5207 -3.42930007 -6.213399887
423 5 20 1.2769 131600 4.775 -109.24 -133.55
4.0303 -0.490910 -3.432500
423 5 25 1.2769 131600 4.775 -109.57 -141.59
4.3548 0.225240 -3.262700
423 5 30 1.2769 131600 4.775 -110.17 -135.17
5.0498 -0.076496 -2.433000
423 5 35 1.2769 131600 4.775 -110.64 -136.11
5.7356 0.485000 -2.663100
...
530 7 20 1.1122 125000 3.951 -134.09 -150.15
4.9811 2.5641 -3.7697
530 7 25 1.1122 125000 3.951 -133.87 -150.41
5.418 2.3146 -4.082
530 7 30 1.1122 125000 3.951 -133.93 -151.2
5.9687 2.2478 -4.3578
530 7 35 1.1122 125000 3.951 -133.98 -152.17
6.654 2.2414 -4.6555
$
$ Coordenadas
$ PROFUNDIDADE ANG_TP_ANAL PERC_LAMINA HEAVE_TOPO RIGIDEZ_AXIAL
RIGIDEZ_FLEXIONAL
$
620 6 20 1.0841 131600 3.909
119
Anexo D. Arquivo de Saída do Programa Neural
O arquivo de saída é formatado automaticamente pelo programa Neural
encontra-se exemplificado neste anexo. Em “Pontos para Treinamento”, os parâmetros
X1 a X6 correspondem aos pontos de entrada e os parâmetros PARAM.1 ao PARAM.5,
aos pontos de saída. O item “Valor da Função” presente ao final do arquivo corresponde
ao resultado interpolado para as coordenadas apresentadas em “Coordenadas do Ponto”.
*****************************************************
* N E U R A L (ANGULAR) *
* Neuronal Function Interpolation *
* *
* COPPE/UFRJ - PROGRAMA DE ENGENHARIA CIVIL *
* V01 09/2007 *
*****************************************************
SS_4_POPA_PO_S_21_S
PONTOS PARA TREINAMENTO
X 1 X 2 X 3 X 4 X 5 X 6 PARAM. 1
PARAM. 2 PARAM. 3 PARAM. 4 PARAM. 5
1 423.0 7.860 20.00 1.277 0.1316E+06 4.775 -110.5
-142.1 3.906 -4.046 -7.071
2 423.0 7.860 25.00 1.277 0.1316E+06 4.775 -110.5
-134.2 3.719 -3.900 -6.610
3 423.0 7.860 30.00 1.277 0.1316E+06 4.775 -110.9
-134.7 3.931 -3.771 -6.367
4 423.0 7.860 35.00 1.277 0.1316E+06 4.775 -111.3
-135.5 4.521 -3.429 -6.213
5 423.0 5.000 20.00 1.277 0.1316E+06 4.775 -109.2
-133.6 4.030 -0.4909 -3.433
6 423.0 5.000 25.00 1.277 0.1316E+06 4.775 -109.6
-141.6 4.355 0.2252 -3.263
7 423.0 5.000 30.00 1.277 0.1316E+06 4.775 -110.2
-135.2 5.050 -0.7650E-01 -2.433
8 423.0 5.000 35.00 1.277 0.1316E+06 4.775 -110.6
-136.1 5.736 0.4850 -2.663
...
174 530.0 7.000 20.00 1.084 0.1250E+06 4.775 -135.7
-151.4 5.672 2.535 -3.754
120
175 530.0 7.000 25.00 1.084 0.1250E+06 4.775 -135.5
-151.7 6.152 2.277 -4.068
176 530.0 7.000 30.00 1.084 0.1250E+06 4.775 -135.6
-152.4 6.639 2.206 -4.343
177 530.0 7.000 35.00 1.084 0.1250E+06 4.775 -135.6
-153.4 7.420 2.200 -4.638
178 530.0 7.000 20.00 1.112 0.1250E+06 3.951 -134.1
-150.2 4.981 2.564 -3.770
179 530.0 7.000 25.00 1.112 0.1250E+06 3.951 -133.9
-150.4 5.418 2.315 -4.082
180 530.0 7.000 30.00 1.112 0.1250E+06 3.951 -133.9
-151.2 5.969 2.248 -4.358
181 530.0 7.000 35.00 1.112 0.1250E+06 3.951 -134.0
-152.2 6.654 2.241 -4.655
Variavel A<Intervalo>B
X( 1) 220.70 910.00
X( 2) 5.00 7.86
X( 3) 44.14 318.50
X( 4) 1.06 2.35
X( 5) 125000.00 135000.00
X( 6) 3.18 4.78
NE= 238 NINS= 6 NOUTS= 1 NHIDS= 8 NCON= 238 KTF= 0 KOD= 0
GRADIENTES CONJUGADOS: Num.Max de Iteracoes =10000
0% ERRO = 0.1267E-01 CERRO = 0.1267E-01
10% ERRO = 0.9864E-02 CERRO = 0.9864E-02
20% ERRO = 0.9153E-02 CERRO = 0.9153E-02
30% ERRO = 0.8588E-02 CERRO = 0.8588E-02
40% ERRO = 0.8141E-02 CERRO = 0.8141E-02
50% ERRO = 0.7923E-02 CERRO = 0.7923E-02
60% ERRO = 0.7833E-02 CERRO = 0.7833E-02
70% ERRO = 0.7662E-02 CERRO = 0.7662E-02
80% ERRO = 0.7453E-02 CERRO = 0.7453E-02
90% ERRO = 0.7398E-02 CERRO = 0.7398E-02
100% ERRO = 0.7360E-02 CERRO = 0.7360E-02
121
Numero de Iteracoes =11000
ERRO = 0.7360E-02 CERRO = 0.7360E-02 GG = 0.3299E-02 PPA = 0.1080E-08
PPB = 0.1472E-10
*** GRADIENTES CONJUGADOS : NUM.MAX ITER. >10000
=========================================
=========================================
Coordenadas do Ponto
680.0 6.100 34.00 2.926 0.2050E+06 3.980
Neural Network
VALOR DA FUNCAO (NN) = 6.752
Complete Quadratic Interpolation
VALOR DA FUNCAO = -200.6 -289.1 14.73 -25.54 -60.89
Incomplete Quadratic Interpolation
VALOR DA FUNCAO = -217.5 -300.4 8.705 -32.40 -68.30
Linear Interpolation by SVD
VALOR DA FUNCAO = -228.9 -325.1 8.683 -37.90 -88.95
K-Nearest Interpolation
VALOR DA FUNCAO = -228.9 -350.5 10.88 -34.18 -130.4
122
Anexo E. Resultados do Software Weka
E.1 Distribuição de Pontos
MÁXIMA TRAÇÃO NO TOPO
Profundidade
Ângulo de Topo
Porcentagem de Offset
Heave
Rigidez Axial
Rigidez Flexional
123
MÍNIMA TRAÇÃO NO TOPO
Profundidade
Ângulo de Topo
Porcentagem de Offset
Heave
Rigidez Axial
Rigidez Flexional
124
MÍNIMO RAIO DE CURVATURA
Profundidade
Ângulo de Topo
Porcentagem de Offset
Heave
Rigidez Axial
Rigidez Flexional
125
MÁXIMA TRAÇÃO NO TDP
Profundidade
Ângulo de Topo
Porcentagem de Offset
Heave
Rigidez Axial
Rigidez Flexional
126
MÍNIMA TRAÇÃO NO TDP
Profundidade
Ângulo de Topo
Porcentagem de Offset
Heave
Rigidez Axial
Rigidez Flexional
E.2 Resultado para Avaliador PrincipalComponents
=== Run information ===
Evaluator: weka.attributeSelection.PrincipalComponents -R 0.95 -A 5
Search: weka.attributeSelection.Ranker -T -1.7976931348623157E308 -N -1
Relation: SS_4_POPA_PO_S_21_N_V01-weka.filters.unsupervised.attribute.Remove-R7-
8,10-11
Instances: 238
127
Attributes: 7
PROFUNDIDADE
ANG_TP_ANAL
PERC_LAMINA
HEAVE_TOPO
RIGIDEZ_AXIAL
RIGIDEZ_FLEXIONAL
MIN_RAIO_CURV
Evaluation mode: evaluate on all training data
=== Attribute Selection on all input data ===
Search Method:
Attribute ranking.
Attribute Evaluator (unsupervised):
Principal Components Attribute Transformer
Correlation matrix
1 0 0.6 -0.16 0.13 0.53
0 1 0 0.04 0.21 0
0.6 0 1 -0.1 0.08 0.31
-0.16 0.04 -0.1 1 -0.34 -0.09
0.13 0.21 0.08 -0.34 1 0.03
0.53 0 0.31 -0.09 0.03 1
eigenvalue proportion cumulative
2.0546 0.34243 0.34243 0.609PROFUNDIDADE+0.529PERC_LAMINA+0.49
RIGIDEZ_FLEXIONAL-0.251HEAVE_TOPO+0.212RIGIDEZ_AXIAL...
1.30876 0.21813 0.56056 -0.696RIGIDEZ_AXIAL+0.507HEAVE_TOPO-
0.398ANG_TP_ANAL+0.215RIGIDEZ_FLEXIONAL+0.176PERC_LAMINA...
1.02531 0.17089 0.73145 -0.823ANG_TP_ANAL-0.555HEAVE_TOPO-
0.08RIGIDEZ_FLEXIONAL-0.079PERC_LAMINA-0.049PROFUNDIDADE...
0.69305 0.11551 0.84695 -
0.738RIGIDEZ_FLEXIONAL+0.633PERC_LAMINA+0.16 HEAVE_TOPO+0.121RIGIDEZ_AXIAL-
0.1ANG_TP_ANAL...
0.57964 0.09661 0.94356 -0.671RIGIDEZ_AXIAL-
0.588HEAVE_TOPO+0.391ANG_TP_ANAL-0.167RIGIDEZ_FLEXIONAL+0.147PERC_LAMINA...
0.33864 0.05644 1 0.773PROFUNDIDADE-0.511PERC_LAMINA-
0.367RIGIDEZ_FLEXIONAL-0.066RIGIDEZ_AXIAL+0.028HEAVE_TOPO...
Eigenvectors
V1 V2 V3 V4 V5 V6
0.6087 0.15 -0.049 0.0746 -0.0276 0.7735 PROFUNDIDADE
0.0382 -0.398 -0.8227 -0.0996 0.3912 0.0185 ANG_TP_ANAL
0.5289 0.1762 -0.0787 0.6326 0.1474 -0.5111 PERC_LAMINA
-0.2513 0.5067 -0.5551 0.1597 -0.588 0.028 HEAVE_TOPO
0.2116 -0.6965 0.0113 0.1214 -0.6715 -0.0664 RIGIDEZ_AXIAL
128
0.4903 0.2151 -0.0796 -0.7376 -0.1669 -0.3674 RIGIDEZ_FLEXIONAL
Ranked attributes:
0.657566049505307776 1 0.609PROFUNDIDADE+0.529PERC_LAMINA+0.49 RIGIDEZ_FLEXIONAL-
0.251HEAVE_TOPO+0.212RIGIDEZ_AXIAL...
0.439439391976950784 2 -0.696RIGIDEZ_AXIAL+0.507HEAVE_TOPO-
0.398ANG_TP_ANAL+0.215RIGIDEZ_FLEXIONAL+0.176PERC_LAMINA...
0.268553942787794304 3 -0.823ANG_TP_ANAL-0.555HEAVE_TOPO-0.08RIGIDEZ_FLEXIONAL-
0.079PERC_LAMINA-0.049PROFUNDIDADE...
0.15304505935194768 4 -0.738RIGIDEZ_FLEXIONAL+0.633PERC_LAMINA+0.16
HEAVE_TOPO+0.121RIGIDEZ_AXIAL-0.1ANG_TP_ANAL...
0.056439217064731208 5 -0.671RIGIDEZ_AXIAL-0.588HEAVE_TOPO+0.391ANG_TP_ANAL-
0.167RIGIDEZ_FLEXIONAL+0.147PERC_LAMINA...
0.000000000000000111 6 0.773PROFUNDIDADE-0.511PERC_LAMINA-0.367RIGIDEZ_FLEXIONAL-
0.066RIGIDEZ_AXIAL+0.028HEAVE_TOPO...
Selected attributes: 1,2,3,4,5,6 : 6
E.3 Resultados para Seleção de Atributos – MultilayerPerceptron
Tração no Topo Máxima
=== Run information ===
Evaluator: weka.attributeSelection.ClassifierSubsetEval -B
weka.classifiers.functions.MultilayerPerceptron -T -H "Click to set hold out or test
instances" -- -L 0.3 -M 0.2 -N 10000 -V 0 -S 0 -E 50 -H i
Search: weka.attributeSelection.BestFirst -D 1 -N 5
Relation: SS_4_POPA_PO_S_21_N_V01-weka.filters.unsupervised.attribute.Remove-R8-11
Instances: 238
Attributes: 7
PROFUNDIDADE
ANG_TP_ANAL
PERC_LAMINA
HEAVE_TOPO
RIGIDEZ_AXIAL
RIGIDEZ_FLEXIONAL
TRACAO_TOPO_MAX
Evaluation mode: 10-fold cross-validation
=== Attribute selection 10 fold cross-validation seed: 1 ===
number of folds (%) attribute
10(100 %) 1 PROFUNDIDADE
9( 90 %) 2 ANG_TP_ANAL
10(100 %) 3 PERC_LAMINA
129
10(100 %) 4 HEAVE_TOPO
10(100 %) 5 RIGIDEZ_AXIAL
9( 90 %) 6 RIGIDEZ_FLEXIONAL
Tração no Topo Mínima
=== Run information ===
Evaluator: weka.attributeSelection.ClassifierSubsetEval -B
weka.classifiers.functions.MultilayerPerceptron -T -H "Click to set hold out or test
instances" -- -L 0.3 -M 0.2 -N 10000 -V 0 -S 0 -E 50 -H i -R
Search: weka.attributeSelection.BestFirst -D 1 -N 5
Relation: SS_4_POPA_PO_S_21_N_V01-weka.filters.unsupervised.attribute.Remove-R7,9-11
Instances: 238
Attributes: 7
PROFUNDIDADE
ANG_TP_ANAL
PERC_LAMINA
HEAVE_TOPO
RIGIDEZ_AXIAL
RIGIDEZ_FLEXIONAL
TRACAO_TOPO_MIN
Evaluation mode: 10-fold cross-validation
=== Attribute selection 10 fold cross-validation seed: 1 ===
number of folds (%) attribute
10(100 %) 1 PROFUNDIDADE
10(100 %) 2 ANG_TP_ANAL
10(100 %) 3 PERC_LAMINA
10(100 %) 4 HEAVE_TOPO
10(100 %) 5 RIGIDEZ_AXIAL
9( 90 %) 6 RIGIDEZ_FLEXIONAL
Mínimo Raio de Curvatura
=== Run information ===
Evaluator: weka.attributeSelection.ClassifierSubsetEval -B
weka.classifiers.functions.MultilayerPerceptron -T -H "Click to set hold out or test
instances" -- -L 0.3 -M 0.2 -N 10000 -V 0 -S 0 -E 50 -H i
Search: weka.attributeSelection.BestFirst -D 1 -N 5
Relation: SS_4_POPA_PO_S_21_N_V01-weka.filters.unsupervised.attribute.Remove-R7-
8,10-11
Instances: 238
Attributes: 7
130
PROFUNDIDADE
ANG_TP_ANAL
PERC_LAMINA
HEAVE_TOPO
RIGIDEZ_AXIAL
RIGIDEZ_FLEXIONAL
MIN_RAIO_CURV
Evaluation mode: 10-fold cross-validation
=== Attribute selection 10 fold cross-validation seed: 1 ===
number of folds (%) attribute
10(100 %) 1 PROFUNDIDADE
9( 90 %) 2 ANG_TP_ANAL
10(100 %) 3 PERC_LAMINA
7( 70 %) 4 HEAVE_TOPO
8( 80 %) 5 RIGIDEZ_AXIAL
10(100 %) 6 RIGIDEZ_FLEXIONAL
Tração no TDP Máxima
=== Run information ===
Evaluator: weka.attributeSelection.ClassifierSubsetEval -B
weka.classifiers.functions.MultilayerPerceptron -T -H "Click to set hold out or test
instances" -- -L 0.3 -M 0.2 -N 10000 -V 0 -S 0 -E 50 -H i
Search: weka.attributeSelection.BestFirst -D 1 -N 5
Relation: SS_4_POPA_PO_S_21_N_V01-weka.filters.unsupervised.attribute.Remove-R7-9,11
Instances: 238
Attributes: 7
PROFUNDIDADE
ANG_TP_ANAL
PERC_LAMINA
HEAVE_TOPO
RIGIDEZ_AXIAL
RIGIDEZ_FLEXIONAL
TRA_TDP_MAX
Evaluation mode: 10-fold cross-validation
=== Attribute selection 10 fold cross-validation seed: 1 ===
number of folds (%) attribute
10(100 %) 1 PROFUNDIDADE
10(100 %) 2 ANG_TP_ANAL
10(100 %) 3 PERC_LAMINA
10(100 %) 4 HEAVE_TOPO
131
10(100 %) 5 RIGIDEZ_AXIAL
10(100 %) 6 RIGIDEZ_FLEXIONAL
Tração no TDP Mínima
=== Run information ===
Evaluator: weka.attributeSelection.ClassifierSubsetEval -B
weka.classifiers.functions.MultilayerPerceptron -T -H "Click to set hold out or test
instances" -- -L 0.3 -M 0.2 -N 10000 -V 0 -S 0 -E 50 -H i
Search: weka.attributeSelection.BestFirst -D 1 -N 5
Relation: SS_4_POPA_PO_S_21_N_V01-weka.filters.unsupervised.attribute.Remove-R7-10
Instances: 238
Attributes: 7
PROFUNDIDADE
ANG_TP_ANAL
PERC_LAMINA
HEAVE_TOPO
RIGIDEZ_AXIAL
RIGIDEZ_FLEXIONAL
TRA_TDP_MIN
Evaluation mode: 10-fold cross-validation
=== Attribute selection 10 fold cross-validation seed: 1 ===
number of folds (%) attribute
10(100 %) 1 PROFUNDIDADE
10(100 %) 2 ANG_TP_ANAL
10(100 %) 3 PERC_LAMINA
10(100 %) 4 HEAVE_TOPO
10(100 %) 5 RIGIDEZ_AXIAL
9( 90 %) 6 RIGIDEZ_FLEXIONAL
E.4 Resultados para Seleção de Atributos GaussianProcesses
Tração no Topo Máxima
=== Run information ===
Evaluator: weka.attributeSelection.ClassifierSubsetEval -B
weka.classifiers.functions.GaussianProcesses -T -H "Click to set hold out or test
instances" -- -L 1.0 -N 0 -K "weka.classifiers.functions.supportVector.RBFKernel -C
250007 -G 1.0"
Search: weka.attributeSelection.BestFirst -D 1 -N 5
Relation: SS_4_POPA_PO_S_21_N_V01-weka.filters.unsupervised.attribute.Remove-R8-11
132
Instances: 238
Attributes: 7
PROFUNDIDADE
ANG_TP_ANAL
PERC_LAMINA
HEAVE_TOPO
RIGIDEZ_AXIAL
RIGIDEZ_FLEXIONAL
TRACAO_TOPO_MAX
Evaluation mode: 10-fold cross-validation
=== Attribute selection 10 fold cross-validation seed: 1 ===
number of folds (%) attribute
10(100 %) 1 PROFUNDIDADE
9( 90 %) 2 ANG_TP_ANAL
10(100 %) 3 PERC_LAMINA
10(100 %) 4 HEAVE_TOPO
10(100 %) 5 RIGIDEZ_AXIAL
10(100 %) 6 RIGIDEZ_FLEXIONAL
Tração no Topo Mínima
=== Run information ===
Evaluator: weka.attributeSelection.ClassifierSubsetEval -B
weka.classifiers.functions.GaussianProcesses -T -H "Click to set hold out or test
instances" -- -L 1.0 -N 0 -K "weka.classifiers.functions.supportVector.RBFKernel -C
250007 -G 1.0"
Search: weka.attributeSelection.BestFirst -D 1 -N 5
Relation: SS_4_POPA_PO_S_21_N_V01-weka.filters.unsupervised.attribute.Remove-R7,9-11
Instances: 238
Attributes: 7
PROFUNDIDADE
ANG_TP_ANAL
PERC_LAMINA
HEAVE_TOPO
RIGIDEZ_AXIAL
RIGIDEZ_FLEXIONAL
TRACAO_TOPO_MIN
Evaluation mode: 10-fold cross-validation
=== Attribute selection 10 fold cross-validation seed: 1 ===
number of folds (%) attribute
10(100 %) 1 PROFUNDIDADE
133
10(100 %) 2 ANG_TP_ANAL
10(100 %) 3 PERC_LAMINA
10(100 %) 4 HEAVE_TOPO
10(100 %) 5 RIGIDEZ_AXIAL
10(100 %) 6 RIGIDEZ_FLEXIONAL
Mínimo Raio de Curvatura
=== Run information ===
Evaluator: weka.attributeSelection.ClassifierSubsetEval -B
weka.classifiers.functions.GaussianProcesses -T -H "Click to set hold out or test
instances" -- -L 1.0 -N 0 -K "weka.classifiers.functions.supportVector.RBFKernel -C
250007 -G 1.0"
Search: weka.attributeSelection.BestFirst -D 1 -N 5
Relation: SS_4_POPA_PO_S_21_N_V01-weka.filters.unsupervised.attribute.Remove-R7-
8,10-11
Instances: 238
Attributes: 7
PROFUNDIDADE
ANG_TP_ANAL
PERC_LAMINA
HEAVE_TOPO
RIGIDEZ_AXIAL
RIGIDEZ_FLEXIONAL
MIN_RAIO_CURV
Evaluation mode: 10-fold cross-validation
=== Attribute selection 10 fold cross-validation seed: 1 ===
number of folds (%) attribute
10(100 %) 1 PROFUNDIDADE
10(100 %) 2 ANG_TP_ANAL
10(100 %) 3 PERC_LAMINA
10(100 %) 4 HEAVE_TOPO
3( 30 %) 5 RIGIDEZ_AXIAL
10(100 %) 6 RIGIDEZ_FLEXIONAL
Tração no TDP Máxima
=== Run information ===
Evaluator: weka.attributeSelection.ClassifierSubsetEval -B
weka.classifiers.functions.GaussianProcesses -T -H "Click to set hold out or test
instances" -- -L 1.0 -N 0 -K "weka.classifiers.functions.supportVector.RBFKernel -C
250007 -G 1.0"
134
Search: weka.attributeSelection.BestFirst -D 1 -N 5
Relation: SS_4_POPA_PO_S_21_N_V01-weka.filters.unsupervised.attribute.Remove-R7-9,11
Instances: 238
Attributes: 7
PROFUNDIDADE
ANG_TP_ANAL
PERC_LAMINA
HEAVE_TOPO
RIGIDEZ_AXIAL
RIGIDEZ_FLEXIONAL
TRA_TDP_MAX
Evaluation mode: 10-fold cross-validation
=== Attribute selection 10 fold cross-validation seed: 1 ===
number of folds (%) attribute
10(100 %) 1 PROFUNDIDADE
10(100 %) 2 ANG_TP_ANAL
10(100 %) 3 PERC_LAMINA
10(100 %) 4 HEAVE_TOPO
10(100 %) 5 RIGIDEZ_AXIAL
10(100 %) 6 RIGIDEZ_FLEXIONAL
Tração no TDP Mínima
=== Run information ===
Evaluator: weka.attributeSelection.ClassifierSubsetEval -B
weka.classifiers.functions.GaussianProcesses -T -H "Click to set hold out or test
instances" -- -L 1.0 -N 0 -K "weka.classifiers.functions.supportVector.RBFKernel -C
250007 -G 1.0"
Search: weka.attributeSelection.BestFirst -D 1 -N 5
Relation: SS_4_POPA_PO_S_21_N_V01-weka.filters.unsupervised.attribute.Remove-R7-10
Instances: 238
Attributes: 7
PROFUNDIDADE
ANG_TP_ANAL
PERC_LAMINA
HEAVE_TOPO
RIGIDEZ_AXIAL
RIGIDEZ_FLEXIONAL
TRA_TDP_MIN
Evaluation mode: 10-fold cross-validation
=== Attribute selection 10 fold cross-validation seed: 1 ===
135
number of folds (%) attribute
10(100 %) 1 PROFUNDIDADE
10(100 %) 2 ANG_TP_ANAL
10(100 %) 3 PERC_LAMINA
10(100 %) 4 HEAVE_TOPO
10(100 %) 5 RIGIDEZ_AXIAL
10(100 %) 6 RIGIDEZ_FLEXIONAL
E.5 Testes Preliminares para Banco de Dados Completo
Máxima Tração no Topo
86
=== Run information ===
Scheme: weka.classifiers.functions.MultilayerPerceptron -L 0.3 -M 0.2 -N 10000 -V
0 -S 0 -E 50 -H t
Relation: SS_4_POPA_PO_S_21_N_V01-weka.filters.unsupervised.attribute.Remove-R7,9-11
Instances: 238
Attributes: 7
PROFUNDIDADE
ANG_TP_ANAL
PERC_LAMINA
HEAVE_TOPO
RIGIDEZ_AXIAL
RIGIDEZ_FLEXIONAL
TRACAO_TOPO_MIN
Test mode: 10-fold cross-validation
=== Classifier model (full training set) ===
Linear Node 0
Inputs Weights
Threshold -0.8342139789586421
Node 1 0.8163955355621539
Node 2 -0.9155866555576256
Node 3 0.3990705676573728
Node 4 0.5694613608129112
Node 5 0.7804448043846911
Node 6 -1.9408477414104701
Node 7 -0.8514476553116668
Sigmoid Node 1
Inputs Weights
Threshold 4.018809681690522
Attrib PROFUNDIDADE 6.024030039077759
Attrib ANG_TP_ANAL -0.14426260719253156
Attrib PERC_LAMINA -5.354871696343491
Attrib HEAVE_TOPO -0.6754358835170495
86
Lembre-se que o atributo referente a esta tração denomina-se “TRACAO_TOPO_MIN”.
136
Attrib RIGIDEZ_AXIAL 0.34386566543822134
Attrib RIGIDEZ_FLEXIONAL -0.7297075981699406
Sigmoid Node 2
Inputs Weights
Threshold -2.621266453899838
Attrib PROFUNDIDADE -0.7559367470059563
Attrib ANG_TP_ANAL -0.09635990524465061
Attrib PERC_LAMINA 2.2305464587296226
Attrib HEAVE_TOPO -1.5983166966985467
Attrib RIGIDEZ_AXIAL 0.5355868107291819
Attrib RIGIDEZ_FLEXIONAL 0.37825517726332103
Sigmoid Node 3
Inputs Weights
Threshold -3.746116238029504
Attrib PROFUNDIDADE 0.7848557555165271
Attrib ANG_TP_ANAL 0.8857573776302111
Attrib PERC_LAMINA -2.7980155622628846
Attrib HEAVE_TOPO 1.7066382424307753
Attrib RIGIDEZ_AXIAL -1.5925951750238603
Attrib RIGIDEZ_FLEXIONAL -0.8687991607290949
Sigmoid Node 4
Inputs Weights
Threshold -1.4087740335686334
Attrib PROFUNDIDADE -2.25312827511556
Attrib ANG_TP_ANAL -2.228609341584427
Attrib PERC_LAMINA -0.8718658138738403
Attrib HEAVE_TOPO 0.5996596766728578
Attrib RIGIDEZ_AXIAL 1.134982850072267
Attrib RIGIDEZ_FLEXIONAL 2.475130328843525
Sigmoid Node 5
Inputs Weights
Threshold -0.5436486544797713
Attrib PROFUNDIDADE -0.6008986781000567
Attrib ANG_TP_ANAL 0.9650520742317786
Attrib PERC_LAMINA -0.09906385500324498
Attrib HEAVE_TOPO -1.447523532225425
Attrib RIGIDEZ_AXIAL -0.46990706961126144
Attrib RIGIDEZ_FLEXIONAL -1.2536236389449986
Sigmoid Node 6
Inputs Weights
Threshold -4.543486999512084
Attrib PROFUNDIDADE 0.13663734457384552
Attrib ANG_TP_ANAL 1.2470557692168545
Attrib PERC_LAMINA 1.0577903813270684
Attrib HEAVE_TOPO 0.5493001508800489
Attrib RIGIDEZ_AXIAL 1.2839478472825243
Attrib RIGIDEZ_FLEXIONAL 2.0023605873835804
Sigmoid Node 7
Inputs Weights
Threshold -3.603483033511527
Attrib PROFUNDIDADE 2.607055551553564
137
Attrib ANG_TP_ANAL 0.19303213591631
Attrib PERC_LAMINA 1.4219398259441387
Attrib HEAVE_TOPO 0.27841620739506723
Attrib RIGIDEZ_AXIAL -0.16763701389798544
Attrib RIGIDEZ_FLEXIONAL -3.6211009736423363
Class
Input
Node 0
=== Cross-validation ===
=== Summary ===
Correlation coefficient 0.9947
Mean absolute error 11.4798
Root mean squared error 16.7611
Relative absolute error 8.9988 %
Root relative squared error 10.2696 %
Total Number of Instances 238
Mínimo Raio de Curvatura
=== Run information ===
Scheme: weka.classifiers.functions.MultilayerPerceptron -L 0.3 -M 0.2 -N 10000 -V
0 -S 0 -E 200 -H t
Relation: SS_4_POPA_PO_S_21_N_V01-weka.filters.unsupervised.attribute.Remove-R7-
8,10-11
Instances: 238
Attributes: 7
PROFUNDIDADE
ANG_TP_ANAL
PERC_LAMINA
HEAVE_TOPO
RIGIDEZ_AXIAL
RIGIDEZ_FLEXIONAL
MIN_RAIO_CURV
Test mode: 20-fold cross-validation
=== Classifier model (full training set) ===
Linear Node 0
Inputs Weights
Threshold 1.2658284815303866
Node 1 1.3490307844421665
Node 2 -1.2300449205478619
Node 3 -0.9203552322838143
Node 4 -1.3245557973407707
Node 5 -0.7338827614341705
Node 6 -0.697851870868835
Node 7 -0.974814814228133
138
Sigmoid Node 1
Inputs Weights
Threshold -10.311787474934047
Attrib PROFUNDIDADE 9.644823163678575
Attrib ANG_TP_ANAL 3.8413058824428266
Attrib PERC_LAMINA -5.024999897945163
Attrib HEAVE_TOPO -2.3184185622047915
Attrib RIGIDEZ_AXIAL 1.1980500328820671
Attrib RIGIDEZ_FLEXIONAL -7.824662055993934
Sigmoid Node 2
Inputs Weights
Threshold 19.513911006734283
Attrib PROFUNDIDADE -10.684285336714154
Attrib ANG_TP_ANAL 0.8382460562417876
Attrib PERC_LAMINA 35.013873449651165
Attrib HEAVE_TOPO 0.6677620262304474
Attrib RIGIDEZ_AXIAL 0.6269415474345328
Attrib RIGIDEZ_FLEXIONAL 1.0842796300545527
Sigmoid Node 3
Inputs Weights
Threshold 2.398519542068401
Attrib PROFUNDIDADE -0.07663931461767431
Attrib ANG_TP_ANAL 0.5331476368317617
Attrib PERC_LAMINA 5.98027530821041
Attrib HEAVE_TOPO 0.8179588192861557
Attrib RIGIDEZ_AXIAL 0.7153655230739828
Attrib RIGIDEZ_FLEXIONAL -0.12488469011279263
Sigmoid Node 4
Inputs Weights
Threshold -15.408402618816792
Attrib PROFUNDIDADE 5.305758875294393
Attrib ANG_TP_ANAL -7.939275479287536E-4
Attrib PERC_LAMINA -23.055294759734185
Attrib HEAVE_TOPO -0.17265614453205064
Attrib RIGIDEZ_AXIAL -0.13623067004634026
Attrib RIGIDEZ_FLEXIONAL 0.39696417195480255
Sigmoid Node 5
Inputs Weights
Threshold -2.693198379802477
Attrib PROFUNDIDADE 2.9024619665426714
Attrib ANG_TP_ANAL 2.997388468813703
Attrib PERC_LAMINA -3.938165970048148
Attrib HEAVE_TOPO -1.2351838587526913
Attrib RIGIDEZ_AXIAL 1.182421561555614
Attrib RIGIDEZ_FLEXIONAL -16.476938416497536
Sigmoid Node 6
Inputs Weights
Threshold -10.107806551051665
Attrib PROFUNDIDADE -12.377123193943081
Attrib ANG_TP_ANAL 0.11171652979448501
Attrib PERC_LAMINA 3.3685888896696152
139
Attrib HEAVE_TOPO -4.314838787022544
Attrib RIGIDEZ_AXIAL -2.3169840092598393
Attrib RIGIDEZ_FLEXIONAL 4.107998610507088
Sigmoid Node 7
Inputs Weights
Threshold -4.790654147509321
Attrib PROFUNDIDADE 1.1533725504553718
Attrib ANG_TP_ANAL -0.5165444229494733
Attrib PERC_LAMINA -6.194780387370933
Attrib HEAVE_TOPO 2.9478387606771848
Attrib RIGIDEZ_AXIAL 2.1789916858370297
Attrib RIGIDEZ_FLEXIONAL 2.3849084875437794
Class
Input
Node 0
=== Cross-validation ===
=== Summary ===
Correlation coefficient 0.7734
Mean absolute error 2.0244
Root mean squared error 2.6411
Relative absolute error 65.1578 %
Root relative squared error 66.7534 %
Total Number of Instances 238
Tração no TDP Mínima
87
=== Run information ===
Scheme: weka.classifiers.functions.MultilayerPerceptron -L 0.3 -M 0.2 -N 10000 -V
0 -S 0 -E 500 -H t
Relation: SS_4_POPA_PO_S_21_N_V01-weka.filters.unsupervised.attribute.Remove-R7-10
Instances: 238
Attributes: 7
PROFUNDIDADE
ANG_TP_ANAL
PERC_LAMINA
HEAVE_TOPO
RIGIDEZ_AXIAL
RIGIDEZ_FLEXIONAL
TRA_TDP_MIN
Test mode: 10-fold cross-validation
=== Classifier model (full training set) ===
Linear Node 0
Inputs Weights
87
Lembre-se que o atributo referente a esta tração denomina-se “TRA_TDP_MIN”.
140
Threshold -0.8006112912940216
Node 1 1.7779857833854467
Node 2 -1.4700963698107985
Node 3 0.8813345633607473
Node 4 -2.7171719752370316
Node 5 1.5241762385874817
Node 6 -1.3165827343836929
Node 7 -0.7001041618530714
Sigmoid Node 1
Inputs Weights
Threshold 5.8979932389425
Attrib PROFUNDIDADE 0.15754040693505253
Attrib ANG_TP_ANAL -0.9551683247288139
Attrib PERC_LAMINA -1.8159356463564087
Attrib HEAVE_TOPO 0.09646054163264216
Attrib RIGIDEZ_AXIAL -1.6273310241975936
Attrib RIGIDEZ_FLEXIONAL -6.327753074157086
Sigmoid Node 2
Inputs Weights
Threshold -3.3905970842640394
Attrib PROFUNDIDADE -5.782122946542736
Attrib ANG_TP_ANAL -0.4202794117600119
Attrib PERC_LAMINA 3.382833158271794
Attrib HEAVE_TOPO 6.727101046939756
Attrib RIGIDEZ_AXIAL 6.7206918561805615
Attrib RIGIDEZ_FLEXIONAL 0.4503796642144309
Sigmoid Node 3
Inputs Weights
Threshold -1.3857403783717592
Attrib PROFUNDIDADE 0.1677511228296227
Attrib ANG_TP_ANAL -1.3150006782847592
Attrib PERC_LAMINA 3.467164886101578
Attrib HEAVE_TOPO 0.7213043212508269
Attrib RIGIDEZ_AXIAL -0.2977862188623187
Attrib RIGIDEZ_FLEXIONAL -0.4393947303768714
Sigmoid Node 4
Inputs Weights
Threshold -4.430148415809592
Attrib PROFUNDIDADE 3.372305652693443
Attrib ANG_TP_ANAL -1.420862337693654
Attrib PERC_LAMINA 1.1099948469651222
Attrib HEAVE_TOPO -0.3295490560823099
Attrib RIGIDEZ_AXIAL 0.09064169691571924
Attrib RIGIDEZ_FLEXIONAL -3.1052458107862217
Sigmoid Node 5
Inputs Weights
Threshold -5.696783939796778
Attrib PROFUNDIDADE -2.7269929657527747
Attrib ANG_TP_ANAL -0.1916604921636344
Attrib PERC_LAMINA 0.1476722925658835
Attrib HEAVE_TOPO 1.7994545207646655
141
Attrib RIGIDEZ_AXIAL 3.1259930321069502
Attrib RIGIDEZ_FLEXIONAL -5.760353794941271
Sigmoid Node 6
Inputs Weights
Threshold -0.09253037367880912
Attrib PROFUNDIDADE -1.2526227488580635
Attrib ANG_TP_ANAL -0.10518824605677608
Attrib PERC_LAMINA 3.0803624067255826
Attrib HEAVE_TOPO 2.152893041908109
Attrib RIGIDEZ_AXIAL 0.7936066089112875
Attrib RIGIDEZ_FLEXIONAL -2.6847243912868506
Sigmoid Node 7
Inputs Weights
Threshold -5.6594192128940595
Attrib PROFUNDIDADE 0.11655552144816027
Attrib ANG_TP_ANAL -3.2182873597611383
Attrib PERC_LAMINA 4.932318969767643
Attrib HEAVE_TOPO -1.8065063913794703
Attrib RIGIDEZ_AXIAL -1.0717622606046735
Attrib RIGIDEZ_FLEXIONAL 1.2405221098702421
Class
Input
Node 0
Time taken to build model: 10.61 seconds
=== Cross-validation ===
=== Summary ===
Correlation coefficient 0.9764
Mean absolute error 24.2415
Root mean squared error 39.2964
Relative absolute error 17.8319 %
Root relative squared error 21.7563 %
Total Number of Instances 238
E.6 Testes Preliminares para Banco de Dados com Profundidades Acima de 500m
Máxima Tração no Topo
=== Run information ===
Scheme: weka.classifiers.functions.MultilayerPerceptron -L 0.3 -M 0.2 -N 10000 -V
0 -S 0 -E 50 -H t
Relation: SS_4_POPA_PO_S_21_N_V01-weka.filters.unsupervised.attribute.Remove-R7,9-11
Instances: 154
142
Attributes: 7
PROFUNDIDADE
ANG_TP_ANAL
PERC_LAMINA
HEAVE_TOPO
RIGIDEZ_AXIAL
RIGIDEZ_FLEXIONAL
TRACAO_TOPO_MIN
Test mode: 10-fold cross-validation
=== Classifier model (full training set) ===
Linear Node 0
Inputs Weights
Threshold -0.13962060809936902
Node 1 -0.9986355492033974
Node 2 -0.7022751826472317
Node 3 -0.45453814128968456
Node 4 0.5184400712420884
Node 5 0.817060140555058
Node 6 0.9153246027443614
Node 7 0.62241724573664
Sigmoid Node 1
Inputs Weights
Threshold -1.5278229299600716
Attrib PROFUNDIDADE 0.08963271239925989
Attrib ANG_TP_ANAL 0.26223654710424393
Attrib PERC_LAMINA -0.03765268593803778
Attrib HEAVE_TOPO -0.06655081806303631
Attrib RIGIDEZ_AXIAL 2.325161522089507
Attrib RIGIDEZ_FLEXIONAL -0.26089741921331405
Sigmoid Node 2
Inputs Weights
Threshold -2.517407255662903
Attrib PROFUNDIDADE 0.1850012172414825
Attrib ANG_TP_ANAL 0.45336753594246626
Attrib PERC_LAMINA 2.927703089925765
Attrib HEAVE_TOPO 1.1363349254170747
Attrib RIGIDEZ_AXIAL 0.5201350482903575
Attrib RIGIDEZ_FLEXIONAL -1.2417664870923126
Sigmoid Node 3
Inputs Weights
Threshold -3.2681480477591967
Attrib PROFUNDIDADE -0.16308774870996245
Attrib ANG_TP_ANAL -2.4681368020435612
Attrib PERC_LAMINA 2.673066181185994
Attrib HEAVE_TOPO -0.8002173265641473
Attrib RIGIDEZ_AXIAL 0.9606507299256561
Attrib RIGIDEZ_FLEXIONAL -0.2742476001386893
Sigmoid Node 4
Inputs Weights
143
Threshold 4.262714157957644
Attrib PROFUNDIDADE 1.3530915893142836
Attrib ANG_TP_ANAL -3.7021047383206027
Attrib PERC_LAMINA -3.706337635885515
Attrib HEAVE_TOPO 0.4213939820159194
Attrib RIGIDEZ_AXIAL 0.6888324778257304
Attrib RIGIDEZ_FLEXIONAL -1.5588800364212592
Sigmoid Node 5
Inputs Weights
Threshold -3.4014185557144656
Attrib PROFUNDIDADE -1.5262519967877757
Attrib ANG_TP_ANAL 0.6746751377413011
Attrib PERC_LAMINA 0.4348338357399051
Attrib HEAVE_TOPO -0.013360021252870072
Attrib RIGIDEZ_AXIAL 1.0569698108912404
Attrib RIGIDEZ_FLEXIONAL -1.326238503268454
Sigmoid Node 6
Inputs Weights
Threshold -2.1310192815090425
Attrib PROFUNDIDADE -0.47511485912024237
Attrib ANG_TP_ANAL 0.14955074737920662
Attrib PERC_LAMINA -0.7730775634090844
Attrib HEAVE_TOPO 0.6101468381740689
Attrib RIGIDEZ_AXIAL 1.1322419701945026
Attrib RIGIDEZ_FLEXIONAL 0.6661327692509803
Sigmoid Node 7
Inputs Weights
Threshold -0.8731755877709074
Attrib PROFUNDIDADE -0.7584926254190991
Attrib ANG_TP_ANAL -0.5706272491292227
Attrib PERC_LAMINA -1.6693500943109958
Attrib HEAVE_TOPO -0.5703890425790613
Attrib RIGIDEZ_AXIAL 0.737667055506666
Attrib RIGIDEZ_FLEXIONAL -0.264077923038271
Class
Input
Node 0
Time taken to build model: 7.25 seconds
=== Cross-validation ===
=== Summary ===
Correlation coefficient 0.9925
Mean absolute error 12.0823
Root mean squared error 19.0376
Relative absolute error 9.8553 %
Root relative squared error 12.1272 %
Total Number of Instances 154
144
Mínimo Raio de Curvatura
=== Run information ===
Scheme: weka.classifiers.functions.MultilayerPerceptron -L 0.3 -M 0.2 -N 10000 -V
0 -S 0 -E 200 -H t
Relation: SS_4_POPA_PO_S_21_N_V01-weka.filters.unsupervised.attribute.Remove-R7-
8,10-11
Instances: 154
Attributes: 7
PROFUNDIDADE
ANG_TP_ANAL
PERC_LAMINA
HEAVE_TOPO
RIGIDEZ_AXIAL
RIGIDEZ_FLEXIONAL
MIN_RAIO_CURV
Test mode: 50-fold cross-validation
=== Classifier model (full training set) ===
Linear Node 0
Inputs Weights
Threshold 1.689160311315661
Node 1 -0.6453342484799628
Node 2 -1.254974044996975
Node 3 -1.8702049369526588
Node 4 -1.8710509384778702
Node 5 0.4526090753785325
Node 6 -1.7725804541742645
Node 7 0.3816424425998645
Sigmoid Node 1
Inputs Weights
Threshold -2.639924170061979
Attrib PROFUNDIDADE -2.754172158907446
Attrib ANG_TP_ANAL 4.103879873619702
Attrib PERC_LAMINA 3.1637451912196113
Attrib HEAVE_TOPO -2.24787536301103
Attrib RIGIDEZ_AXIAL -0.41249830438252844
Attrib RIGIDEZ_FLEXIONAL -0.7140361792923472
Sigmoid Node 2
Inputs Weights
Threshold 1.1415724058123415
Attrib PROFUNDIDADE 0.9985150826126943
Attrib ANG_TP_ANAL -0.07625146044809859
Attrib PERC_LAMINA 2.518629536793784
Attrib HEAVE_TOPO 1.0772166175959745
Attrib RIGIDEZ_AXIAL -0.4598749681245814
Attrib RIGIDEZ_FLEXIONAL 0.6868255565710258
Sigmoid Node 3
145
Inputs Weights
Threshold -14.272092612158387
Attrib PROFUNDIDADE 2.247268341713491
Attrib ANG_TP_ANAL -0.5178070047192197
Attrib PERC_LAMINA -20.23689097251395
Attrib HEAVE_TOPO -0.2894040765203121
Attrib RIGIDEZ_AXIAL -0.07780089868463912
Attrib RIGIDEZ_FLEXIONAL -0.050662639052326534
Sigmoid Node 4
Inputs Weights
Threshold -5.244946312057376
Attrib PROFUNDIDADE -0.05403789403160896
Attrib ANG_TP_ANAL -3.040416299484574
Attrib PERC_LAMINA 0.8883309917480638
Attrib HEAVE_TOPO -2.614363989001233
Attrib RIGIDEZ_AXIAL 3.3577167880013086
Attrib RIGIDEZ_FLEXIONAL 1.5560454306092986
Sigmoid Node 5
Inputs Weights
Threshold 2.51114735800901
Attrib PROFUNDIDADE 8.630865821381716
Attrib ANG_TP_ANAL 2.452290703670767
Attrib PERC_LAMINA 4.6879360661981275
Attrib HEAVE_TOPO -3.571087794631282
Attrib RIGIDEZ_AXIAL 1.6193447483395078
Attrib RIGIDEZ_FLEXIONAL 5.736080916959651
Sigmoid Node 6
Inputs Weights
Threshold 6.556755467545409
Attrib PROFUNDIDADE -1.362217238298376
Attrib ANG_TP_ANAL 1.23462552525326
Attrib PERC_LAMINA 10.362023345216725
Attrib HEAVE_TOPO 1.299742389884915
Attrib RIGIDEZ_AXIAL -0.14585439419348187
Attrib RIGIDEZ_FLEXIONAL 0.08309733520698225
Sigmoid Node 7
Inputs Weights
Threshold -0.8896219860439206
Attrib PROFUNDIDADE -7.997758793056472
Attrib ANG_TP_ANAL -0.7911482817851048
Attrib PERC_LAMINA 7.215891023675267
Attrib HEAVE_TOPO 6.232939032321235
Attrib RIGIDEZ_AXIAL 4.967296857419577
Attrib RIGIDEZ_FLEXIONAL -2.3252617880474142
Class
Input
Node 0
Time taken to build model: 7.25 seconds
146
=== Cross-validation ===
=== Summary ===
Correlation coefficient 0.8302
Mean absolute error 1.9558
Root mean squared error 2.7517
Relative absolute error 56.0552 %
Root relative squared error 62.69 %
Total Number of Instances 154
Máxima Tração no TDP
=== Run information ===
Scheme: weka.classifiers.functions.MultilayerPerceptron -L 0.3 -M 0.2 -N 10000 -V
0 -S 0 -E 500 -H t
Relation: SS_4_POPA_PO_S_21_N_V01-weka.filters.unsupervised.attribute.Remove-R7-10
Instances: 154
Attributes: 7
PROFUNDIDADE
ANG_TP_ANAL
PERC_LAMINA
HEAVE_TOPO
RIGIDEZ_AXIAL
RIGIDEZ_FLEXIONAL
TRA_TDP_MIN
Test mode: 10-fold cross-validation
=== Classifier model (full training set) ===
Linear Node 0
Inputs Weights
Threshold -1.6467356992091824
Node 1 -1.0884246353823992
Node 2 -3.052738359371362
Node 3 -1.392787801945583
Node 4 2.471629044022003
Node 5 1.1571035168838584
Node 6 -1.5578332709840712
Node 7 0.9951570843406898
Sigmoid Node 1
Inputs Weights
Threshold -0.30958129226548553
Attrib PROFUNDIDADE -1.3774975006982493
Attrib ANG_TP_ANAL 1.0150806294307924
Attrib PERC_LAMINA -1.1059392213593153
Attrib HEAVE_TOPO 1.5145405437683082
Attrib RIGIDEZ_AXIAL 0.1361418672979897
Attrib RIGIDEZ_FLEXIONAL -1.1137826907098696
147
Sigmoid Node 2
Inputs Weights
Threshold -4.28080728747032
Attrib PROFUNDIDADE -0.31216877637651697
Attrib ANG_TP_ANAL -1.0624220046525694
Attrib PERC_LAMINA 3.0750806636504486
Attrib HEAVE_TOPO 0.35150170670051295
Attrib RIGIDEZ_AXIAL 0.922112893276918
Attrib RIGIDEZ_FLEXIONAL -0.5722879309248844
Sigmoid Node 3
Inputs Weights
Threshold -3.1166387562121245
Attrib PROFUNDIDADE 1.365079684121656
Attrib ANG_TP_ANAL 1.8217869447069999
Attrib PERC_LAMINA 1.5253774259733004
Attrib HEAVE_TOPO 1.7576197761491874
Attrib RIGIDEZ_AXIAL 0.9538042860091365
Attrib RIGIDEZ_FLEXIONAL -0.16608513908985156
Sigmoid Node 4
Inputs Weights
Threshold 6.058120363360856
Attrib PROFUNDIDADE 2.1936083785396088
Attrib ANG_TP_ANAL -2.527896786462319
Attrib PERC_LAMINA -2.4947904103468574
Attrib HEAVE_TOPO 1.2059645480194532
Attrib RIGIDEZ_AXIAL -0.7249727063330326
Attrib RIGIDEZ_FLEXIONAL -2.7372085822631598
Sigmoid Node 5
Inputs Weights
Threshold -2.7071847564093456
Attrib PROFUNDIDADE -1.0280920976276493
Attrib ANG_TP_ANAL 1.5789573240432948
Attrib PERC_LAMINA -1.4143483894040687
Attrib HEAVE_TOPO -1.2970191578572254
Attrib RIGIDEZ_AXIAL -0.4438009289230992
Attrib RIGIDEZ_FLEXIONAL -1.4668340981431944
Sigmoid Node 6
Inputs Weights
Threshold -3.0705890311212016
Attrib PROFUNDIDADE 1.306291796450437
Attrib ANG_TP_ANAL -1.78258913284341
Attrib PERC_LAMINA 0.821725822098001
Attrib HEAVE_TOPO 0.14809005109245002
Attrib RIGIDEZ_AXIAL -1.1126134717122544
Attrib RIGIDEZ_FLEXIONAL 0.09624058910043277
Sigmoid Node 7
Inputs Weights
Threshold -0.2401151159870822
Attrib PROFUNDIDADE 0.7436922621087558
Attrib ANG_TP_ANAL -4.093290920118603
Attrib PERC_LAMINA -0.7730717443819815
148
Attrib HEAVE_TOPO 5.324163697659041
Attrib RIGIDEZ_AXIAL 1.2279945895795823
Attrib RIGIDEZ_FLEXIONAL 1.7201339223862695
Class
Input
Node 0
Time taken to build model: 7.18 seconds
=== Cross-validation ===
=== Summary ===
Correlation coefficient 0.9949
Mean absolute error 12.8847
Root mean squared error 20.76
Relative absolute error 8.3007 %
Root relative squared error 10.2247 %
Total Number of Instances 154
E.7 Testes Preliminares para Banco de Dados com Offsets entre 5 e 15%
Máxima Tração no Topo
=== Run information ===
Scheme: weka.classifiers.functions.MultilayerPerceptron -L 0.3 -M 0.2 -N 10000 -V
0 -S 0 -E 50 -H t
Relation: SS_4_POPA_PO_S_21_N_V01_OFFSET_5_15-
weka.filters.unsupervised.attribute.Remove-R7,9-11
Instances: 102
Attributes: 7
PROFUNDIDADE
ANG_TP_ANAL
PERC_LAMINA
HEAVE_TOPO
RIGIDEZ_AXIAL
RIGIDEZ_FLEXIONAL
TRACAO_TOPO_MIN
Test mode: 10-fold cross-validation
=== Classifier model (full training set) ===
Linear Node 0
Inputs Weights
Threshold -1.7778352782945797
Node 1 1.064908690269627
149
Node 2 0.709268623496143
Node 3 0.8492297065419143
Node 4 -1.124773573213044
Node 5 1.293154009059236
Node 6 0.6765318367394993
Node 7 0.5925030978179745
Sigmoid Node 1
Inputs Weights
Threshold -1.7424354809279863
Attrib PROFUNDIDADE -0.939651841142258
Attrib ANG_TP_ANAL 0.6405087222155389
Attrib PERC_LAMINA -0.35101626153047333
Attrib HEAVE_TOPO 0.060544456275838494
Attrib RIGIDEZ_AXIAL 0.0945720048016697
Attrib RIGIDEZ_FLEXIONAL 0.10961811352308298
Sigmoid Node 2
Inputs Weights
Threshold -1.09982678636959
Attrib PROFUNDIDADE -2.752859405745952
Attrib ANG_TP_ANAL 1.0373448007902917
Attrib PERC_LAMINA -0.10861932397404012
Attrib HEAVE_TOPO -0.5264056353719261
Attrib RIGIDEZ_AXIAL -2.493107581066183
Attrib RIGIDEZ_FLEXIONAL 0.5702881158960403
Sigmoid Node 3
Inputs Weights
Threshold -1.2669525245917066
Attrib PROFUNDIDADE 0.08084699745826704
Attrib ANG_TP_ANAL -0.5200658513107741
Attrib PERC_LAMINA -0.6708988130228639
Attrib HEAVE_TOPO -0.4479837620689316
Attrib RIGIDEZ_AXIAL 0.33717051161910294
Attrib RIGIDEZ_FLEXIONAL -0.6241683840857427
Sigmoid Node 4
Inputs Weights
Threshold -1.5792108060480443
Attrib PROFUNDIDADE 0.30878377297286425
Attrib ANG_TP_ANAL -1.374744031978589
Attrib PERC_LAMINA 0.21604672878040476
Attrib HEAVE_TOPO 2.3139233358601388
Attrib RIGIDEZ_AXIAL 2.7427072991841572
Attrib RIGIDEZ_FLEXIONAL -0.16147180373313907
Sigmoid Node 5
Inputs Weights
Threshold 2.056713786709133
Attrib PROFUNDIDADE -0.05870496743721243
Attrib ANG_TP_ANAL -0.9233628424505181
Attrib PERC_LAMINA -0.6550784607089905
Attrib HEAVE_TOPO -0.6227945622077767
Attrib RIGIDEZ_AXIAL -0.6008261404674861
Attrib RIGIDEZ_FLEXIONAL -0.7410282247116718
150
Sigmoid Node 6
Inputs Weights
Threshold -2.1023605535481025
Attrib PROFUNDIDADE -0.47404815947693935
Attrib ANG_TP_ANAL -0.7004984555386314
Attrib PERC_LAMINA 0.5720104997070685
Attrib HEAVE_TOPO -0.3506056907355455
Attrib RIGIDEZ_AXIAL 1.9099338551145915
Attrib RIGIDEZ_FLEXIONAL -0.322752548117017
Sigmoid Node 7
Inputs Weights
Threshold -0.5198597905268472
Attrib PROFUNDIDADE 0.013448671850108639
Attrib ANG_TP_ANAL -1.8073816192466559
Attrib PERC_LAMINA -0.3078350436271886
Attrib HEAVE_TOPO 1.983483633861977
Attrib RIGIDEZ_AXIAL 1.625956295422228
Attrib RIGIDEZ_FLEXIONAL 0.5541736147345516
Class
Input
Node 0
Time taken to build model: 4.76 seconds
=== Cross-validation ===
=== Summary ===
Correlation coefficient 0.9988
Mean absolute error 3.9449
Root mean squared error 5.3781
Relative absolute error 4.5899 %
Root relative squared error 4.9069 %
Total Number of Instances 102
Mínimo Raio de Curvatura
=== Run information ===
Scheme: weka.classifiers.functions.MultilayerPerceptron -L 0.3 -M 0.2 -N 10000 -V
0 -S 0 -E 200 -H t
Relation: SS_4_POPA_PO_S_21_N_V01_OFFSET_5_15-
weka.filters.unsupervised.attribute.Remove-R7-8,10-11
Instances: 102
Attributes: 7
PROFUNDIDADE
ANG_TP_ANAL
PERC_LAMINA
HEAVE_TOPO
151
RIGIDEZ_AXIAL
RIGIDEZ_FLEXIONAL
MIN_RAIO_CURV
Test mode: 50-fold cross-validation
=== Classifier model (full training set) ===
Linear Node 0
Inputs Weights
Threshold 1.116605915350912
Node 1 -1.5980680424008875
Node 2 -1.4913779312931978
Node 3 -0.9636882929635755
Node 4 -1.866067724506648
Node 5 1.3241211586123132
Node 6 -0.727253066293015
Node 7 -1.3625982653889108
Sigmoid Node 1
Inputs Weights
Threshold -10.740422653632086
Attrib PROFUNDIDADE -10.585067826224872
Attrib ANG_TP_ANAL 1.750753891482085
Attrib PERC_LAMINA 3.4920789075487733
Attrib HEAVE_TOPO -5.872050612141004
Attrib RIGIDEZ_AXIAL 0.5132417117771282
Attrib RIGIDEZ_FLEXIONAL 3.3615312046209334
Sigmoid Node 2
Inputs Weights
Threshold -2.437927405267541
Attrib PROFUNDIDADE 0.6601052229449836
Attrib ANG_TP_ANAL 1.7740025729869042
Attrib PERC_LAMINA 2.009624201253322
Attrib HEAVE_TOPO 1.441660992694715
Attrib RIGIDEZ_AXIAL -1.9925440251729503
Attrib RIGIDEZ_FLEXIONAL 0.1842891177504935
Sigmoid Node 3
Inputs Weights
Threshold -0.4568018992252905
Attrib PROFUNDIDADE 1.8722354843162894
Attrib ANG_TP_ANAL -2.257759661146936
Attrib PERC_LAMINA -5.779089236859479
Attrib HEAVE_TOPO 1.4517279286675606
Attrib RIGIDEZ_AXIAL 0.9877536553017773
Attrib RIGIDEZ_FLEXIONAL 0.5220596529242444
Sigmoid Node 4
Inputs Weights
Threshold -4.6655831886624135
Attrib PROFUNDIDADE 0.4351831781817101
Attrib ANG_TP_ANAL 1.2474530112047961
Attrib PERC_LAMINA 3.52187927351686
Attrib HEAVE_TOPO 3.4134700665176414
152
Attrib RIGIDEZ_AXIAL 2.181011174197031
Attrib RIGIDEZ_FLEXIONAL 3.7253207861420767
Sigmoid Node 5
Inputs Weights
Threshold -5.8306927083608775
Attrib PROFUNDIDADE 2.9955296090607697
Attrib ANG_TP_ANAL 13.032497864928006
Attrib PERC_LAMINA 2.5195513333147055
Attrib HEAVE_TOPO -0.18347179411900802
Attrib RIGIDEZ_AXIAL 0.9649773118408894
Attrib RIGIDEZ_FLEXIONAL -2.6195225627696685
Sigmoid Node 6
Inputs Weights
Threshold -4.540068537518713
Attrib PROFUNDIDADE 1.1521968984149538
Attrib ANG_TP_ANAL -0.9052202635079578
Attrib PERC_LAMINA -6.784889240526238
Attrib HEAVE_TOPO 0.22769030101242207
Attrib RIGIDEZ_AXIAL 0.9215171831869938
Attrib RIGIDEZ_FLEXIONAL 0.15895758589640913
Sigmoid Node 7
Inputs Weights
Threshold -4.341466020291099
Attrib PROFUNDIDADE 1.5604644796676457
Attrib ANG_TP_ANAL 4.830153072889592
Attrib PERC_LAMINA 1.8588798735688215
Attrib HEAVE_TOPO -4.755337136833632
Attrib RIGIDEZ_AXIAL -0.07548024481682608
Attrib RIGIDEZ_FLEXIONAL -4.745862327074341
Class
Input
Node 0
Time taken to build model: 4.86 seconds
=== Cross-validation ===
=== Summary ===
Correlation coefficient 0.6865
Mean absolute error 2.4422
Root mean squared error 3.44
Relative absolute error 79.2749 %
Root relative squared error 83.3604 %
Total Number of Instances 102
153
Máxima Tração no TDP
=== Run information ===
Scheme: weka.classifiers.functions.MultilayerPerceptron -L 0.3 -M 0.2 -N 10000 -V
0 -S 0 -E 500 -H t
Relation: SS_4_POPA_PO_S_21_N_V01_OFFSET_5_15-
weka.filters.unsupervised.attribute.Remove-R7-10
Instances: 102
Attributes: 7
PROFUNDIDADE
ANG_TP_ANAL
PERC_LAMINA
HEAVE_TOPO
RIGIDEZ_AXIAL
RIGIDEZ_FLEXIONAL
TRA_TDP_MIN
Test mode: 10-fold cross-validation
=== Classifier model (full training set) ===
Linear Node 0
Inputs Weights
Threshold 0.1417086453677742
Node 1 1.432231854543769
Node 2 -1.3095154061375989
Node 3 -0.676573176482711
Node 4 -1.3440691393094295
Node 5 0.9681732058496996
Node 6 -1.0742104475849252
Node 7 -2.5499825266284017
Sigmoid Node 1
Inputs Weights
Threshold -1.3557300262478356
Attrib PROFUNDIDADE 0.5903157123724918
Attrib ANG_TP_ANAL 1.6827727956542673
Attrib PERC_LAMINA 0.8334724865113463
Attrib HEAVE_TOPO -7.369121630736986
Attrib RIGIDEZ_AXIAL 4.837200815404363
Attrib RIGIDEZ_FLEXIONAL -3.37161651891547
Sigmoid Node 2
Inputs Weights
Threshold -2.303382109579942
Attrib PROFUNDIDADE -3.6120760773266762
Attrib ANG_TP_ANAL 0.5601827250267365
Attrib PERC_LAMINA 2.502033709771996
Attrib HEAVE_TOPO 0.544102960787799
Attrib RIGIDEZ_AXIAL 0.181494125109819
Attrib RIGIDEZ_FLEXIONAL -0.670910967406354
Sigmoid Node 3
154
Inputs Weights
Threshold -1.9688289591645616
Attrib PROFUNDIDADE -0.6561345422883045
Attrib ANG_TP_ANAL 3.4235494736154224
Attrib PERC_LAMINA 4.470580536746158
Attrib HEAVE_TOPO -0.31348458235153925
Attrib RIGIDEZ_AXIAL 2.0505125610028827
Attrib RIGIDEZ_FLEXIONAL 1.6335485802776661
Sigmoid Node 4
Inputs Weights
Threshold -0.3678208647116148
Attrib PROFUNDIDADE 4.834594519498547
Attrib ANG_TP_ANAL -2.943732976325002
Attrib PERC_LAMINA 1.186516218940359
Attrib HEAVE_TOPO -0.024560123250832313
Attrib RIGIDEZ_AXIAL 3.0304815439648167
Attrib RIGIDEZ_FLEXIONAL -3.951159817949657
Sigmoid Node 5
Inputs Weights
Threshold -0.2632441415722483
Attrib PROFUNDIDADE -2.340546924871434
Attrib ANG_TP_ANAL -10.647661085811203
Attrib PERC_LAMINA -0.7576420990772914
Attrib HEAVE_TOPO 2.6495007329783133
Attrib RIGIDEZ_AXIAL -0.9120177626179703
Attrib RIGIDEZ_FLEXIONAL -1.7140464190525344
Sigmoid Node 6
Inputs Weights
Threshold -4.174682927472761
Attrib PROFUNDIDADE -2.9205103017764085
Attrib ANG_TP_ANAL -2.090595680786359
Attrib PERC_LAMINA 2.046045747715058
Attrib HEAVE_TOPO -4.322896995366408
Attrib RIGIDEZ_AXIAL 2.7314011983663278
Attrib RIGIDEZ_FLEXIONAL 0.9311107356273836
Sigmoid Node 7
Inputs Weights
Threshold -8.446400141891283
Attrib PROFUNDIDADE 1.4929395147512565
Attrib ANG_TP_ANAL -1.5407037363918556
Attrib PERC_LAMINA 0.4012122040856376
Attrib HEAVE_TOPO 8.873267657208475
Attrib RIGIDEZ_AXIAL 3.537698336663732
Attrib RIGIDEZ_FLEXIONAL 1.5575427155608126
Class
Input
Node 0
Time taken to build model: 4.74 seconds
155
=== Cross-validation ===
=== Summary ===
Correlation coefficient 0.9572
Mean absolute error 14.3839
Root mean squared error 19.5693
Relative absolute error 26.9354 %
Root relative squared error 28.7898 %
Total Number of Instances 102
E.8 Testes Preliminares para Banco de Dados com Profundidades Acima de 600m
Máxima Tração no Topo
=== Run information ===
Scheme: weka.classifiers.functions.MultilayerPerceptron -L 0.3 -M 0.2 -N 10000 -V
0 -S 0 -E 50 -H t
Relation: SS_4_POPA_PO_S_21_N_V01-weka.filters.unsupervised.attribute.Remove-R7,9-11
Instances: 105
Attributes: 7
PROFUNDIDADE
ANG_TP_ANAL
PERC_LAMINA
HEAVE_TOPO
RIGIDEZ_AXIAL
RIGIDEZ_FLEXIONAL
TRACAO_TOPO_MIN
Test mode: 10-fold cross-validation
=== Classifier model (full training set) ===
Linear Node 0
Inputs Weights
Threshold -0.01026694660924119
Node 1 -0.34063903075658897
Node 2 -0.778025101461318
Node 3 -2.6877039074404983
Node 4 0.48747700284784795
Node 5 0.8010175852686715
Node 6 0.6616380504386529
Node 7 -0.6803762073129469
Sigmoid Node 1
Inputs Weights
Threshold -0.944015983614471
Attrib PROFUNDIDADE -0.07700099506606059
Attrib ANG_TP_ANAL -0.2221765613532733
156
Attrib PERC_LAMINA 0.06801570979745816
Attrib HEAVE_TOPO 0.21511012888530018
Attrib RIGIDEZ_AXIAL 0.40897166949748676
Attrib RIGIDEZ_FLEXIONAL 0.37215814802116154
Sigmoid Node 2
Inputs Weights
Threshold -1.1406728537765842
Attrib PROFUNDIDADE 0.7691792530151966
Attrib ANG_TP_ANAL 0.23828288933223968
Attrib PERC_LAMINA 1.001062195816627
Attrib HEAVE_TOPO 1.5515477604311105
Attrib RIGIDEZ_AXIAL 1.4262105400729141
Attrib RIGIDEZ_FLEXIONAL 0.3975149981779899
Sigmoid Node 3
Inputs Weights
Threshold -3.3805984905804123
Attrib PROFUNDIDADE -0.7238596451268747
Attrib ANG_TP_ANAL 0.16240457441813072
Attrib PERC_LAMINA 1.9829001158694686
Attrib HEAVE_TOPO -0.25884123660643704
Attrib RIGIDEZ_AXIAL 0.6645049808151584
Attrib RIGIDEZ_FLEXIONAL 0.048971430564962046
Sigmoid Node 4
Inputs Weights
Threshold -1.1492041617549726
Attrib PROFUNDIDADE 0.5788333708586874
Attrib ANG_TP_ANAL -0.05821628619376841
Attrib PERC_LAMINA 0.2477267174612025
Attrib HEAVE_TOPO 0.6476090021514835
Attrib RIGIDEZ_AXIAL 0.08357440442048901
Attrib RIGIDEZ_FLEXIONAL 0.8578263398900579
Sigmoid Node 5
Inputs Weights
Threshold 0.04301236385466928
Attrib PROFUNDIDADE 0.11265829403373916
Attrib ANG_TP_ANAL -0.15073006559330623
Attrib PERC_LAMINA -1.3103772859458964
Attrib HEAVE_TOPO -0.1447482946078682
Attrib RIGIDEZ_AXIAL -0.01730371458555978
Attrib RIGIDEZ_FLEXIONAL 0.29411755231514836
Sigmoid Node 6
Inputs Weights
Threshold 0.9768722910412637
Attrib PROFUNDIDADE -0.5396260853715055
Attrib ANG_TP_ANAL 0.4762925446023227
Attrib PERC_LAMINA -1.2360256386720763
Attrib HEAVE_TOPO -0.43441923755817125
Attrib RIGIDEZ_AXIAL 1.0569029893940527
Attrib RIGIDEZ_FLEXIONAL -0.4770501394724629
Sigmoid Node 7
Inputs Weights
157
Threshold -0.12965197766783168
Attrib PROFUNDIDADE 0.6785671961770481
Attrib ANG_TP_ANAL 0.6773592574357938
Attrib PERC_LAMINA -0.6511262128459723
Attrib HEAVE_TOPO -0.14412539584431933
Attrib RIGIDEZ_AXIAL 0.5492239985370834
Attrib RIGIDEZ_FLEXIONAL -0.005415182877203686
Class
Input
Node 0
Time taken to build model: 4.79 seconds
=== Cross-validation ===
=== Summary ===
Correlation coefficient 0.9994
Mean absolute error 4.3502
Root mean squared error 5.4362
Relative absolute error 3.5557 %
Root relative squared error 3.4813 %
Total Number of Instances 105
Mínimo Raio de Curvatura
=== Run information ===
Scheme: weka.classifiers.functions.MultilayerPerceptron -L 0.3 -M 0.2 -N 10000 -V
0 -S 0 -E 200 -H t
Relation: SS_4_POPA_PO_S_21_N_V01-weka.filters.unsupervised.attribute.Remove-R7-
8,10-11
Instances: 105
Attributes: 7
PROFUNDIDADE
ANG_TP_ANAL
PERC_LAMINA
HEAVE_TOPO
RIGIDEZ_AXIAL
RIGIDEZ_FLEXIONAL
MIN_RAIO_CURV
Test mode: 50-fold cross-validation
=== Classifier model (full training set) ===
Linear Node 0
Inputs Weights
Threshold -0.372492314390595
Node 1 1.5557180476551795
158
Node 2 -2.2857272295563935
Node 3 -1.8482385036938678
Node 4 1.5488865982894755
Node 5 2.2728617300663467
Node 6 1.2190537137427706
Node 7 1.3815094253632887
Sigmoid Node 1
Inputs Weights
Threshold -6.912805057803104
Attrib PROFUNDIDADE 0.8868451168896586
Attrib ANG_TP_ANAL -1.7233187970052428
Attrib PERC_LAMINA 4.250893404612647
Attrib HEAVE_TOPO 7.239323136547868
Attrib RIGIDEZ_AXIAL 1.1786998273892288
Attrib RIGIDEZ_FLEXIONAL -5.143732129756435
Sigmoid Node 2
Inputs Weights
Threshold -2.0100223737745035
Attrib PROFUNDIDADE -2.9046005398596355
Attrib ANG_TP_ANAL 1.0392951737465839
Attrib PERC_LAMINA 6.132227318463614
Attrib HEAVE_TOPO 1.9302451392938988
Attrib RIGIDEZ_AXIAL 1.406952427985854
Attrib RIGIDEZ_FLEXIONAL -1.2092267021342897
Sigmoid Node 3
Inputs Weights
Threshold 8.182977820006286
Attrib PROFUNDIDADE -2.4229251894809045
Attrib ANG_TP_ANAL 0.6720255446171994
Attrib PERC_LAMINA 11.36834474014968
Attrib HEAVE_TOPO 5.015032994715423
Attrib RIGIDEZ_AXIAL 0.2575656889194004
Attrib RIGIDEZ_FLEXIONAL 0.1118339820577892
Sigmoid Node 4
Inputs Weights
Threshold -6.1723866731593935
Attrib PROFUNDIDADE -18.093205915127314
Attrib ANG_TP_ANAL -0.40113977787525873
Attrib PERC_LAMINA 12.600972546466194
Attrib HEAVE_TOPO 3.8733571951748007
Attrib RIGIDEZ_AXIAL -1.3838885186875003
Attrib RIGIDEZ_FLEXIONAL -0.1523933772696042
Sigmoid Node 5
Inputs Weights
Threshold -4.705985245046996
Attrib PROFUNDIDADE -2.0101384050326434
Attrib ANG_TP_ANAL -3.5596079031084007
Attrib PERC_LAMINA 3.9382205473453284
Attrib HEAVE_TOPO 3.225204961950339
Attrib RIGIDEZ_AXIAL 6.520299455517213
Attrib RIGIDEZ_FLEXIONAL -1.4561150186280611
159
Sigmoid Node 6
Inputs Weights
Threshold -0.75088549951145
Attrib PROFUNDIDADE 5.006087736160429
Attrib ANG_TP_ANAL 0.5599873563901754
Attrib PERC_LAMINA 7.966463531327807
Attrib HEAVE_TOPO 7.2939651791305575
Attrib RIGIDEZ_AXIAL 5.259835637582372
Attrib RIGIDEZ_FLEXIONAL 8.135882183750308
Sigmoid Node 7
Inputs Weights
Threshold -12.587279510452916
Attrib PROFUNDIDADE -4.109413872143937
Attrib ANG_TP_ANAL 19.11870303554111
Attrib PERC_LAMINA 5.8914321434009045
Attrib HEAVE_TOPO -7.126702645734309
Attrib RIGIDEZ_AXIAL -6.931158394308759
Attrib RIGIDEZ_FLEXIONAL -11.663941748693727
Class
Input
Node 0
Time taken to build model: 4.93 seconds
=== Cross-validation ===
=== Summary ===
Correlation coefficient 0.8103
Mean absolute error 2.0864
Root mean squared error 3.1014
Relative absolute error 51.0785 %
Root relative squared error 62.8083 %
Total Number of Instances 105
Máxima Tração no TDP
=== Run information ===
Scheme: weka.classifiers.functions.MultilayerPerceptron -L 0.3 -M 0.2 -N 10000 -V
0 -S 0 -E 500 -H t
Relation: SS_4_POPA_PO_S_21_N_V01-weka.filters.unsupervised.attribute.Remove-R7-10
Instances: 105
Attributes: 7
PROFUNDIDADE
ANG_TP_ANAL
PERC_LAMINA
HEAVE_TOPO
RIGIDEZ_AXIAL
RIGIDEZ_FLEXIONAL
160
TRA_TDP_MIN
Test mode: 10-fold cross-validation
=== Classifier model (full training set) ===
Linear Node 0
Inputs Weights
Threshold 0.26796251572660157
Node 1 0.6347008948733934
Node 2 -1.2344265703127661
Node 3 -3.597850285273081
Node 4 -0.3680661217743772
Node 5 0.5260027875911925
Node 6 0.2999702366005787
Node 7 -0.8848703520048653
Sigmoid Node 1
Inputs Weights
Threshold -1.2641457979679729
Attrib PROFUNDIDADE -0.924684119798541
Attrib ANG_TP_ANAL -0.8055523154435086
Attrib PERC_LAMINA -0.8016175903542917
Attrib HEAVE_TOPO 0.6208977497375513
Attrib RIGIDEZ_AXIAL 0.7911205291062988
Attrib RIGIDEZ_FLEXIONAL -0.3394242207159417
Sigmoid Node 2
Inputs Weights
Threshold -2.961975818064581
Attrib PROFUNDIDADE 0.7661578672844496
Attrib ANG_TP_ANAL 1.350418962782612
Attrib PERC_LAMINA 1.7025671871999724
Attrib HEAVE_TOPO 0.4528837734765067
Attrib RIGIDEZ_AXIAL 0.4615798468411571
Attrib RIGIDEZ_FLEXIONAL 0.07662410381928718
Sigmoid Node 3
Inputs Weights
Threshold -4.886766556029
Attrib PROFUNDIDADE -1.3393070454469342
Attrib ANG_TP_ANAL 0.30055493165518044
Attrib PERC_LAMINA 3.97139305620308
Attrib HEAVE_TOPO -0.012602518132395914
Attrib RIGIDEZ_AXIAL 0.5139554591243337
Attrib RIGIDEZ_FLEXIONAL 0.06344896081339675
Sigmoid Node 4
Inputs Weights
Threshold -1.0092900710119201
Attrib PROFUNDIDADE -0.19547216198717324
Attrib ANG_TP_ANAL 0.0861224867254934
Attrib PERC_LAMINA -0.8473785133034324
Attrib HEAVE_TOPO 0.07851770090713213
Attrib RIGIDEZ_AXIAL 0.42798599325561587
Attrib RIGIDEZ_FLEXIONAL -0.3269561655611225
161
Sigmoid Node 5
Inputs Weights
Threshold 0.5068538078284219
Attrib PROFUNDIDADE 0.04377787905400577
Attrib ANG_TP_ANAL -0.2623903145085758
Attrib PERC_LAMINA -1.5129620911067578
Attrib HEAVE_TOPO -0.1904960303073449
Attrib RIGIDEZ_AXIAL 0.7816511828159726
Attrib RIGIDEZ_FLEXIONAL -0.47370676122692845
Sigmoid Node 6
Inputs Weights
Threshold -0.32745372904554537
Attrib PROFUNDIDADE 0.4261426471841407
Attrib ANG_TP_ANAL 0.20898507909974717
Attrib PERC_LAMINA -2.230872663303705
Attrib HEAVE_TOPO 0.30674330466954536
Attrib RIGIDEZ_AXIAL -0.996928109976377
Attrib RIGIDEZ_FLEXIONAL 0.3309825947853276
Sigmoid Node 7
Inputs Weights
Threshold -1.2120859168438123
Attrib PROFUNDIDADE -0.308306957440157
Attrib ANG_TP_ANAL -0.6030177752458377
Attrib PERC_LAMINA 0.18397272882845553
Attrib HEAVE_TOPO 0.7650025427267431
Attrib RIGIDEZ_AXIAL 0.5684730505228289
Attrib RIGIDEZ_FLEXIONAL -0.5059563351799383
Class
Input
Node 0
Time taken to build model: 8.84 seconds
=== Cross-validation ===
=== Summary ===
Correlation coefficient 0.9985
Mean absolute error 7.6282
Root mean squared error 11.1488
Relative absolute error 4.9981 %
Root relative squared error 5.5771 %
Total Number of Instances 105
162
E.9 Testes Preliminares para Banco de Dados sem a Profundidade de 530m
Máxima Tração no Topo
=== Run information ===
Scheme: weka.classifiers.functions.MultilayerPerceptron -L 0.3 -M 0.2 -N 10000 -V
0 -S 0 -E 50 -H t
Relation: SS_4_POPA_PO_S_21_N_V01-weka.filters.unsupervised.attribute.Remove-R7,9-11
Instances: 189
Attributes: 7
PROFUNDIDADE
ANG_TP_ANAL
PERC_LAMINA
HEAVE_TOPO
RIGIDEZ_AXIAL
RIGIDEZ_FLEXIONAL
TRACAO_TOPO_MIN
Test mode: 10-fold cross-validation
=== Classifier model (full training set) ===
Linear Node 0
Inputs Weights
Threshold -0.1662533433440826
Node 1 -1.186043980587807
Node 2 0.8574171972974648
Node 3 0.8778320366556813
Node 4 0.6055103775654402
Node 5 0.31642487048274376
Node 6 -2.3650764845693675
Node 7 -0.8461629089623567
Sigmoid Node 1
Inputs Weights
Threshold -2.4793387744287334
Attrib PROFUNDIDADE 0.2598069782354202
Attrib ANG_TP_ANAL 0.0684137278101259
Attrib PERC_LAMINA 0.9325398256854431
Attrib HEAVE_TOPO -0.8873766388405048
Attrib RIGIDEZ_AXIAL 1.487494013723896
Attrib RIGIDEZ_FLEXIONAL -0.24452514011962037
Sigmoid Node 2
Inputs Weights
Threshold -2.1076675590036564
Attrib PROFUNDIDADE -1.323803039564328
Attrib ANG_TP_ANAL 0.06733399972902403
Attrib PERC_LAMINA -0.26656427640521224
Attrib HEAVE_TOPO 0.16286311463587577
Attrib RIGIDEZ_AXIAL 1.3449320436340038
163
Attrib RIGIDEZ_FLEXIONAL -0.7777923694770495
Sigmoid Node 3
Inputs Weights
Threshold 0.14515779875684565
Attrib PROFUNDIDADE -0.34946493659218236
Attrib ANG_TP_ANAL -0.029318651136399688
Attrib PERC_LAMINA -1.7539291590621704
Attrib HEAVE_TOPO -0.30989582057172776
Attrib RIGIDEZ_AXIAL 0.630718112424163
Attrib RIGIDEZ_FLEXIONAL -0.024349816116914034
Sigmoid Node 4
Inputs Weights
Threshold -1.1929405078200324
Attrib PROFUNDIDADE -0.7086365530355269
Attrib ANG_TP_ANAL 0.8129341835200392
Attrib PERC_LAMINA -0.09960860341127305
Attrib HEAVE_TOPO 0.09423880004778155
Attrib RIGIDEZ_AXIAL -0.10389504298870517
Attrib RIGIDEZ_FLEXIONAL 0.7608201848939947
Sigmoid Node 5
Inputs Weights
Threshold 2.824120850012788
Attrib PROFUNDIDADE -0.7587012291040323
Attrib ANG_TP_ANAL -1.012929980591046
Attrib PERC_LAMINA -3.152316896673599
Attrib HEAVE_TOPO -1.6943160221327296
Attrib RIGIDEZ_AXIAL 0.6263312150962521
Attrib RIGIDEZ_FLEXIONAL 0.15094718728772788
Sigmoid Node 6
Inputs Weights
Threshold -3.0197428763612453
Attrib PROFUNDIDADE -3.111404653525424
Attrib ANG_TP_ANAL 0.3600263110733116
Attrib PERC_LAMINA 3.152542613079251
Attrib HEAVE_TOPO 0.17508249655261948
Attrib RIGIDEZ_AXIAL 0.16418125480642007
Attrib RIGIDEZ_FLEXIONAL 0.32415425793832875
Sigmoid Node 7
Inputs Weights
Threshold -0.6010540051523683
Attrib PROFUNDIDADE 0.39544100628962114
Attrib ANG_TP_ANAL 0.6337115105069405
Attrib PERC_LAMINA -0.7349494276186901
Attrib HEAVE_TOPO 0.030375858155003533
Attrib RIGIDEZ_AXIAL 0.6334665419323086
Attrib RIGIDEZ_FLEXIONAL 0.32508463791252584
Class
Input
Node 0
164
Time taken to build model: 9.29 seconds
=== Cross-validation ===
=== Summary ===
Correlation coefficient 0.9988
Mean absolute error 5.9824
Root mean squared error 8.6947
Relative absolute error 4.2695 %
Root relative squared error 4.9503 %
Total Number of Instances 189
Mínimo Raio de Curvatura
=== Run information ===
Scheme: weka.classifiers.functions.MultilayerPerceptron -L 0.3 -M 0.2 -N 10000 -V
0 -S 0 -E 200 -H t
Relation: SS_4_POPA_PO_S_21_N_V01-weka.filters.unsupervised.attribute.Remove-R7-
8,10-11
Instances: 189
Attributes: 7
PROFUNDIDADE
ANG_TP_ANAL
PERC_LAMINA
HEAVE_TOPO
RIGIDEZ_AXIAL
RIGIDEZ_FLEXIONAL
MIN_RAIO_CURV
Test mode: 50-fold cross-validation
=== Classifier model (full training set) ===
Linear Node 0
Inputs Weights
Threshold 0.15966252511587217
Node 1 -0.6266791162157873
Node 2 -1.3096123341886257
Node 3 1.0215530160160098
Node 4 1.22358304640607
Node 5 0.5012964556310603
Node 6 -1.118265812012399
Node 7 -0.281343185222657
Sigmoid Node 1
Inputs Weights
Threshold -16.225941495309232
Attrib PROFUNDIDADE -8.524686109453198
Attrib ANG_TP_ANAL 1.067170718251211
Attrib PERC_LAMINA -5.726209026282735
Attrib HEAVE_TOPO -6.3890240083356336
165
Attrib RIGIDEZ_AXIAL -3.0241983013890312
Attrib RIGIDEZ_FLEXIONAL 1.6010174118745488
Sigmoid Node 2
Inputs Weights
Threshold -9.598775559217183
Attrib PROFUNDIDADE 3.3834015307101817
Attrib ANG_TP_ANAL -1.065962166340354
Attrib PERC_LAMINA -13.71003816198742
Attrib HEAVE_TOPO 1.757818218867815
Attrib RIGIDEZ_AXIAL 1.4606986712301588
Attrib RIGIDEZ_FLEXIONAL 0.6849394430173029
Sigmoid Node 3
Inputs Weights
Threshold -15.460027752362882
Attrib PROFUNDIDADE 4.106615527267829
Attrib ANG_TP_ANAL -14.542430682766632
Attrib PERC_LAMINA -2.1043973424447286
Attrib HEAVE_TOPO 5.1493349920430465
Attrib RIGIDEZ_AXIAL 2.765233045677249
Attrib RIGIDEZ_FLEXIONAL -1.0884506670169554
Sigmoid Node 4
Inputs Weights
Threshold -8.227709314765226
Attrib PROFUNDIDADE 5.587047947487877
Attrib ANG_TP_ANAL 1.259012557184302
Attrib PERC_LAMINA -7.565347145770339
Attrib HEAVE_TOPO -0.5435701230823167
Attrib RIGIDEZ_AXIAL 1.7922103713629567
Attrib RIGIDEZ_FLEXIONAL -2.6350160277947463
Sigmoid Node 5
Inputs Weights
Threshold -8.687369224668668
Attrib PROFUNDIDADE -1.398618508698079
Attrib ANG_TP_ANAL -3.8064810874424686
Attrib PERC_LAMINA 0.5217713145605588
Attrib HEAVE_TOPO -10.735676285163702
Attrib RIGIDEZ_AXIAL -0.8058565912747606
Attrib RIGIDEZ_FLEXIONAL 0.8788856009667771
Sigmoid Node 6
Inputs Weights
Threshold 10.348535491023869
Attrib PROFUNDIDADE -4.172302009517287
Attrib ANG_TP_ANAL 0.7884301796536878
Attrib PERC_LAMINA 18.979453353008555
Attrib HEAVE_TOPO 1.649201788222328
Attrib RIGIDEZ_AXIAL 0.8585626808788717
Attrib RIGIDEZ_FLEXIONAL -0.5772014068848144
Sigmoid Node 7
Inputs Weights
Threshold -3.066897944149818
Attrib PROFUNDIDADE -16.016392139972545
166
Attrib ANG_TP_ANAL -7.100030808248353
Attrib PERC_LAMINA 19.126828397628223
Attrib HEAVE_TOPO -0.7903470341205728
Attrib RIGIDEZ_AXIAL 1.4331053918285044
Attrib RIGIDEZ_FLEXIONAL 4.042492376687591
Class
Input
Node 0
Time taken to build model: 8.99 seconds
=== Cross-validation ===
=== Summary ===
Correlation coefficient 0.7701
Mean absolute error 2.1172
Root mean squared error 2.9349
Relative absolute error 62.7054 %
Root relative squared error 69.2609 %
Total Number of Instances 189
Máxima Tração no Topo
=== Run information ===
Scheme: weka.classifiers.functions.MultilayerPerceptron -L 0.3 -M 0.2 -N 10000 -V
0 -S 0 -E 50 -H t
Relation: SS_4_POPA_PO_S_21_N_V01-weka.filters.unsupervised.attribute.Remove-R7,9-11
Instances: 189
Attributes: 7
PROFUNDIDADE
ANG_TP_ANAL
PERC_LAMINA
HEAVE_TOPO
RIGIDEZ_AXIAL
RIGIDEZ_FLEXIONAL
TRACAO_TOPO_MIN
Test mode: 10-fold cross-validation
=== Classifier model (full training set) ===
Linear Node 0
Inputs Weights
Threshold -0.1662533433440826
Node 1 -1.186043980587807
Node 2 0.8574171972974648
Node 3 0.8778320366556813
Node 4 0.6055103775654402
Node 5 0.31642487048274376
167
Node 6 -2.3650764845693675
Node 7 -0.8461629089623567
Sigmoid Node 1
Inputs Weights
Threshold -2.4793387744287334
Attrib PROFUNDIDADE 0.2598069782354202
Attrib ANG_TP_ANAL 0.0684137278101259
Attrib PERC_LAMINA 0.9325398256854431
Attrib HEAVE_TOPO -0.8873766388405048
Attrib RIGIDEZ_AXIAL 1.487494013723896
Attrib RIGIDEZ_FLEXIONAL -0.24452514011962037
Sigmoid Node 2
Inputs Weights
Threshold -2.1076675590036564
Attrib PROFUNDIDADE -1.323803039564328
Attrib ANG_TP_ANAL 0.06733399972902403
Attrib PERC_LAMINA -0.26656427640521224
Attrib HEAVE_TOPO 0.16286311463587577
Attrib RIGIDEZ_AXIAL 1.3449320436340038
Attrib RIGIDEZ_FLEXIONAL -0.7777923694770495
Sigmoid Node 3
Inputs Weights
Threshold 0.14515779875684565
Attrib PROFUNDIDADE -0.34946493659218236
Attrib ANG_TP_ANAL -0.029318651136399688
Attrib PERC_LAMINA -1.7539291590621704
Attrib HEAVE_TOPO -0.30989582057172776
Attrib RIGIDEZ_AXIAL 0.630718112424163
Attrib RIGIDEZ_FLEXIONAL -0.024349816116914034
Sigmoid Node 4
Inputs Weights
Threshold -1.1929405078200324
Attrib PROFUNDIDADE -0.7086365530355269
Attrib ANG_TP_ANAL 0.8129341835200392
Attrib PERC_LAMINA -0.09960860341127305
Attrib HEAVE_TOPO 0.09423880004778155
Attrib RIGIDEZ_AXIAL -0.10389504298870517
Attrib RIGIDEZ_FLEXIONAL 0.7608201848939947
Sigmoid Node 5
Inputs Weights
Threshold 2.824120850012788
Attrib PROFUNDIDADE -0.7587012291040323
Attrib ANG_TP_ANAL -1.012929980591046
Attrib PERC_LAMINA -3.152316896673599
Attrib HEAVE_TOPO -1.6943160221327296
Attrib RIGIDEZ_AXIAL 0.6263312150962521
Attrib RIGIDEZ_FLEXIONAL 0.15094718728772788
Sigmoid Node 6
Inputs Weights
Threshold -3.0197428763612453
Attrib PROFUNDIDADE -3.111404653525424
168
Attrib ANG_TP_ANAL 0.3600263110733116
Attrib PERC_LAMINA 3.152542613079251
Attrib HEAVE_TOPO 0.17508249655261948
Attrib RIGIDEZ_AXIAL 0.16418125480642007
Attrib RIGIDEZ_FLEXIONAL 0.32415425793832875
Sigmoid Node 7
Inputs Weights
Threshold -0.6010540051523683
Attrib PROFUNDIDADE 0.39544100628962114
Attrib ANG_TP_ANAL 0.6337115105069405
Attrib PERC_LAMINA -0.7349494276186901
Attrib HEAVE_TOPO 0.030375858155003533
Attrib RIGIDEZ_AXIAL 0.6334665419323086
Attrib RIGIDEZ_FLEXIONAL 0.32508463791252584
Class
Input
Node 0
Time taken to build model: 9.29 seconds
=== Cross-validation ===
=== Summary ===
Correlation coefficient 0.9988
Mean absolute error 5.9824
Root mean squared error 8.6947
Relative absolute error 4.2695 %
Root relative squared error 4.9503 %
Total Number of Instances 189
Livros Grátis
( http://www.livrosgratis.com.br )
Milhares de Livros para Download:
Baixar livros de Administração
Baixar livros de Agronomia
Baixar livros de Arquitetura
Baixar livros de Artes
Baixar livros de Astronomia
Baixar livros de Biologia Geral
Baixar livros de Ciência da Computação
Baixar livros de Ciência da Informação
Baixar livros de Ciência Política
Baixar livros de Ciências da Saúde
Baixar livros de Comunicação
Baixar livros do Conselho Nacional de Educação - CNE
Baixar livros de Defesa civil
Baixar livros de Direito
Baixar livros de Direitos humanos
Baixar livros de Economia
Baixar livros de Economia Doméstica
Baixar livros de Educação
Baixar livros de Educação - Trânsito
Baixar livros de Educação Física
Baixar livros de Engenharia Aeroespacial
Baixar livros de Farmácia
Baixar livros de Filosofia
Baixar livros de Física
Baixar livros de Geociências
Baixar livros de Geografia
Baixar livros de História
Baixar livros de Línguas
Baixar livros de Literatura
Baixar livros de Literatura de Cordel
Baixar livros de Literatura Infantil
Baixar livros de Matemática
Baixar livros de Medicina
Baixar livros de Medicina Veterinária
Baixar livros de Meio Ambiente
Baixar livros de Meteorologia
Baixar Monografias e TCC
Baixar livros Multidisciplinar
Baixar livros de Música
Baixar livros de Psicologia
Baixar livros de Química
Baixar livros de Saúde Coletiva
Baixar livros de Serviço Social
Baixar livros de Sociologia
Baixar livros de Teologia
Baixar livros de Trabalho
Baixar livros de Turismo