Download PDF
ads:
MINERAÇÃO DE DADOS EM COMÉRCIO VAREJISTA PARA DIMINUIÇÃO DOS
NÍVEIS DE ESTOQUE
DANIEL JOSÉ VENTORIM NUNES
UNIVERSIDADE ESTADUAL DO NORTE FLUMINENSE
CAMPOS DOS GOYTACAZES – RJ
FEVEREIRO DE 2009
ads:
Livros Grátis
http://www.livrosgratis.com.br
Milhares de livros grátis para download.
ii
MINERAÇÃO DE DADOS EM COMÉRCIO VAREJISTA PARA DIMINUIÇÃO DOS
NÍVEIS DE ESTOQUE
DANIEL JOSÉ VENTORIM NUNES
”Dissertação apresentada ao Centro de
Ciências e Tecnologia da Universidade
Estadual do Norte Fluminense, como parte
das exigências para obtenção do titulo de
Mestre em Engenharia de Produção”
ORIENTADOR: Prof. Geraldo Galdino De Paula Junior, D. Sc.
CAMPOS DOS GOYTACAZES - RJ
FEVEREIRO DE 2009
ads:
iii
FICHA CATALOGRÁFICA
Preparada pela Biblioteca do CCT / UENF 18/2009
Nunes, Daniel José Ventorim
Mineração de dados em comércio varejista para diminuão dos veis
de estoque / Daniel José Ventorim Nunes. Campos dos Goytacazes,
2008.
xi, 67 f. : il.
Dissertação (Mestrado em Engenharia de Produção) --
Universidade Estadual do Norte Fluminense Darcy Ribeiro. Centro de
Ciência e Tecnologia. Laboratório de Engenharia de Produção.
Campos dos Goytacazes, 2008.
Orientador: Geraldo Galdino de Paula Junior.
Área de concentração: Pesquisa operacional.
Bibliografia: f. 61-62.
1. Mineração de dados 2. Políticas de estoque 3. KDD l.
Universidade Estadual do Norte Fluminense Darcy Ribeiro. Centro de
Ciência e Tecnologia. Laboratório de Engenharia de Produção lI.
Título
CDD 658.787
iv
MINERAÇÃO DE DADOS EM COMÉRCIO VAREJISTA PARA DIMINUIÇÃO DOS
NÍVEIS DE ESTOQUE
DANIEL JOSÉ VENTORIM NUNES
”Dissertação apresentada ao Centro de
Ciências e Tecnologia da Universidade
Estadual do Norte Fluminense, como parte
das exigências para obtenção do titulo de
Mestre em Engenharia de Produção”
Aprovado em.. ...................
Comissão examinadora
Dsc. Jacqueline Magalhães Rangel Cortes
Dsc Carlos Leonardo Ramos Póvoa
Dsc. Romeu e Silva Neto
Dsc. Geraldo Galdino de Paula Junior
v
A minha mãe (†) que sempre me
incentivou nos estudos e no trabalho, e a
minha família Regilane, Ramon e Gustavo.
vi
We stand on the brink of great new answers, but even more, of great new questions
Matt Ridley
vii
Agradecimentos
Agradeço a Deus por me dar força e discernimento para realização deste
trabalho.
A minha mãe, principal incentivadora aos meus estudos principalmente aos
estudos do mestrado.
Ao meu professor e orientador Geraldo Galdino de Paula Junior, pela
orientação, incentivo e paciência.
Aos colegas de mestrado especialmente aos companheiros de estrada
Ângelo, Denise, Gilberto e Emanuelle, que fizeram das longas horas de estrada um
verdadeiro passeio.
Aos funcionários da UENF sempre prestativos e companheiros.
Enfim, a todos que de alguma forma contribuíram, incentivaram deixo aqui
meu sincero agradecimento.
viii
Sumário
LISTA DE TABELAS........................................................................................xii
LISTA DE FIGURAS....................................................................................... xiii
Lista de Abreviaturas.......................................................................................xv
Resumo ..........................................................................................................xvi
Abstract.......................................................................................................... xvii
Introdução......................................................................................................... 1
1.1 Motivação.......................................................................................................... 2
1.2 Metodologia....................................................................................................... 4
1.3 Estrutura do trabalho......................................................................................... 5
Capítulo 2 ......................................................................................................... 6
Gerenciamento de Estoques ............................................................................ 6
2.1 Pontos a favor dos estoques............................................................................. 6
2.2 Razões contrárias à manutenção de estoques................................................. 7
2.3 Tipos de estoque............................................................................................... 9
2.3 Problemas de incertezas na demanda............................................................ 10
2.4 Filosofia de gerenciamento............................................................................. 11
2.5 Objetivos do controle de estoque.................................................................... 12
2.6 Controles de estoque empurrado x controle de estoque puxado.................... 14
ix
2.7 CONTROLES DE ETOQUE PUXADOS ......................................................... 14
2.8 CONTROLE AVANÇADO DE ESTOQUE PUXADO....................................... 16
2.8.1 Modelo do ponto de pedido com demanda incerta ...................................... 16
2.8.2 Modelo de revisões contínuas e periódica com demanda incerta................ 17
Métodos Práticos de Controle de Estoque Puxado............................................... 19
Capítulo 3 ....................................................................................................... 21
Descoberta de Conhecimento em Bases de Dados ....................................... 21
3.1 Descoberta de conhecimento em base de dados e mineração de dados (KDD)
............................................................................................................................... 21
3.2 Fases do processo de mineração de dados.................................................... 24
3.3 Entendimento organizacional.......................................................................... 24
3.4 Entendimento dos dados................................................................................. 25
3.5 Preparação dos Dados ................................................................................... 27
3.5.1 Limpeza e transformação de dados............................................................. 28
a) Limpeza do conjunto de dados......................................................................... 28
3.5.2 Transformações: .......................................................................................... 32
3.5.3 Suavização dos dados................................................................................. 33
3.5.4 Alterações e relacionamentos...................................................................... 34
3.5.5 Redução e derivação de dados.................................................................... 34
3.5.6 Diminuição de dimensão de grandes massas de dados.............................. 34
3.6 Modelagem ..................................................................................................... 36
x
3.6.1 Aprendizagem e treinamento de modelos.................................................... 36
3.6.1 Métodos estatísticos .................................................................................... 36
3.6.2 Inferência Estatística.................................................................................... 37
3.6.3 Avaliando diferenças em conjuntos de dados.............................................. 37
3.6.4 Inferência bayesiana.................................................................................... 38
3.6.5 Regressão Linear......................................................................................... 40
3.6.6 Regressão logística...................................................................................... 40
3.6.7 Análise de variância..................................................................................... 42
3.6.8 Árvore de decisão ........................................................................................ 42
3.6.9 Redes neurais artificiais............................................................................... 43
3.6.10 Auto-regressão........................................................................................... 46
3.7 Avaliação......................................................................................................... 47
3.8 Fase de desenvolvimento ............................................................................... 47
Capítulo 4. ...................................................................................................... 49
Aplicação da mineração de dados para redução dos níveis de estoque........ 49
4.1 Entendimento do problema organizacional..................................................... 49
4.2 Entendimento dos dados disponíveis para análise......................................... 50
4.3 Preparação dos dados.................................................................................... 52
4.4 Modelagem ..................................................................................................... 55
4.5 Avaliação......................................................................................................... 57
xi
4.6 Fase de implementação.................................................................................. 58
Capítulo 5 ....................................................................................................... 60
Conclusão............................................................................................................. 60
Referências Bibliográficas .............................................................................. 64
Apêndice A ..................................................................................................... 66
Exemplo de um modelo de PMML para regressão......................................... 66
Apêndice B ..................................................................................................... 68
Sentença SQL usadas para coletade dados................................................... 68
Sentença SQL para classificação dos produtos.................................................... 68
Sentensa SQL para buscar os trinta produtos de maior giro ................................ 69
Sentensa SQL para buscar os ítens classificando pelo lucro................................ 69
xii
LISTA DE TABELAS
Tabela 1 Tabela ANOVA para regressão linear simples 42
xiii
LISTA DE FIGURAS
Figura 1 Representação do lote econômico de compra (BALLOU, 2006)................... 9
Figura 2 - Curva projetada para o planejamento de estoque (BALLOU, 2006)......... 13
Figura 3 - Um modelo de controle básico de estoque puxado para uma peça de
reposição (BALLOU, 2006) ....................................................................................... 16
Figura 4 - Controle de estoque do ponto de compra com itens incertos (BALLOU,
2008)......................................................................................................................... 17
Figura 5: Controle de revisão periódica com incerteza para os itens (BALLOU, 2006)
.................................................................................................................................. 19
Figura 6: um sistema mín-máx de controle de estoque (BALLOU, 2006) ................. 20
Figura 7: Etapas Operacionais do Processo KDD. (Goldschmidt et al., 2005).......... 22
Figura 8 CRISP-DM processo interativo e adaptativo (LAROSE 2005).................... 23
Figura 9: Esquema clássico de um Data Warehouse (CODY, 2008)........................ 27
Figura 10 - árvore de decisão implementada no SQL server.................................... 43
Figura 11: Modelo de um neurônio artificial .............................................................. 45
Figura 12: Rede neural simples................................................................................. 45
Figura 13: Modelos de redes neurais........................................................................ 46
Figura 14: Estrutura da data mart com dados parciais das tabelas........................... 51
Figura 15 - Modelo relacional dos dados .................................................................. 53
Figura 16: Estrutura de dados no modelo estrela...................................................... 55
Figura 17: Gráfico mostrando as curvas relativas com o resultado do modelo para os
produtos 3738 e 4511 ............................................................................................... 56
xiv
Figura 18 - Resultado da aplicação da função de predição gerada pelo modelo...... 57
Figura 19: Controle do fluxo de dados ...................................................................... 58
xv
Lista de Abreviaturas
Sigla Inglês
KDD Knowledge Discovery in Database
OLAP On-Line Analytical Processing
MOLAP OLAP Multidimensional
SGBD Sistemas Gerenciadores de Banco de Dados
MRP Manufacturing Resource Planning
ERP Enterprise Resource Planning
CRM Customer relationship management
SQL Structured Query Language
BI Business Intelligence
DMX Data Mining eXtensions
PPML Predictive Model Markup Language
Q* Quantidade ótima de pedido
D Demanda
RNA Redes Neurais Artificiais
LT Lead Time
ROP Ponto de Reposição
DBA Administrador de Base de Dados
OLPT On-Line Transacional Processing
XML Extensible Markup Language
DMG Data Mining Group
WEKA Waikato Environment for Knowledge Analysis
xvi
Resumo
Gerenciar estoques e minimizar custos vem sendo a cada dia mais necessário
e vem motivando uma série de estudos em relação à análise do perfil de inventários.
Estoques estão quase sempre relacionados à qualidade de serviço ao cliente e, a
custos de manutenção, uma atividade aparentemente simples pode estar relacionada
a 20% dos custos de uma empresa. Quando se trata de controlar poucos itens, com
demanda previsível, a tarefa é relativamente fácil, e vai se tornando cada vez mais
difícil com o aumento da variedade de itens, assim como a natureza da demanda. As
empresas usam hoje políticas de estoque baseadas no histórico das vendas de
produtos, podendo analisar estatisticamente o comportamento das vendas de cada
produto. Adotar políticas de estoque é o mínimo a se fazer para mantê-los em níveis
aceitáveis, quanto a custos e manutenção da qualidade do serviço ao cliente. Com a
grande expansão do uso de computadores e de banco de dados nas empresas,
surgem também novos métodos e ferramentas que podem e devem ser usadas para
fornecer suporte, e, até mesmo respostas que permitam aos gerentes tomarem as
decisões com base em informações fundamentadas. As empresas hoje não podem
se dar ao luxo de estar cheias de dados e pobres de informação. Este trabalho
desenvolve um modelo de apoio às decisões de compra baseado em predição de
vendas em estoque, para isto, usaremos uma base de dados SQL de uma empresa
varejista. Este modelo funciona tanto para empresas varejistas quanto para
empresas distribuidoras. Para o desenvolvimento deste modelo, foi usado mineração
de dados. Com os passos do padrão CRISP-DM foi desenvolvido, após passar por
vários testes, um modelo híbrido de árvore de decisão e séries temporais que
permite aos gerentes consultarem os resultados através de sentenças DMX ou
relatórios com estas sentenças embutidas.
xvii
Abstract
Manage inventory and minimizing costs has been more necessary every day
and is motivating a series of studies on the inventories profile analysis. Inventories
are almost always related to customer service quality, and the maintenance cost, a
seemingly simple activity may be related to 20% of a company costs. When it comes
to controlling a few items, with demand expected, the task becomes relatively easy,
and will become increasingly as the items variety and the demand kind, increases.
Companies today use policies for stock-based on products sales history, and, can
statistically analyze the each product sales behavior. Adopt policies for stock is the
least thing to do to keep inventories levels acceptable, and costs related to
maintaining the customer service quality. With the vast expansion of the computers
use and business database, there are also new methods and tools that can and
should be used to provide support and even answers that allow managers to make
information based decisions. Companies today can’t afford to be full of poor data and
information. This work is developed as a new model supports the definition of
purchase based on the prediction of stock sales, for this we are using a SQL
database on a retail business model that works for both companies as retailers to
utilities. for the development of this model was used data mining. With the steps of
the CRISP-DM standard was developed after going through several tests of a hybrid
model of decision tree and time series that allows managers to consult the results
through queries DMX or reports with these embedded queries.
Capítulo 1
Introdução
Mesmo em plena era da informação é comum encontrar empresas de
pequeno e médio porte que ainda usam métodos arcaicos de controle em livros e
fichas como se usava antes do advento dos computadores. Existem também aquelas
empresas que usam computadores com sistemas informatizados apenas para
cumprir exigências burocráticas sem se preocupar em extrair informações de seus
bancos de dados que podem ajudar nas tomadas de decisões e permitir conhecer
melhor a situação da empresa no tempo e no espaço.
Este trabalho considera o problema de gerenciamento de inventários ajudando
na diminuição de custos desnecessários, além de conhecer melhor o comportamento
das movimentações de itens e grupos de itens.
O custo de manutenção de estoque pode representar de 20 a 40% do seu
valor anual. Por isso, administrar cuidadosamente o nível dos estoques é
economicamente sensato. Há, ainda, muito a aprender e a desenvolver sobre
gerenciamento de estoque, principalmente no que diz respeito a determinar a política
adequada para cada item ou grupo de itens (BALLOU, 2006). Daí a necessidade de
gerenciar melhor o estoque.
Segundo Bowersox (2007), o gerenciamento de estoques é o processo
integrado pelo qual são obedecidas as políticas da empresa e das cadeias de valor
em relação aos estoques. Cada vez mais a manutenção de níveis elevados de
estoque vem sendo criticada devido ao custo. É importante lembrar que existem
razões favoráveis e contrárias à manutenção de estoques físicos, que devem ser
levadas em conta antes de adotar qualquer tipo de política para diminuir níveis de
estoque. A questão principal é diminuir custos e tornar o processo operacional mais
eficaz e mais eficiente e, em empresas que têm seus sistemas informatizados e
automatizados, poder usar estas informações para fazer as análises com mais
precisão e velocidade.
2
1.1 Motivação
As empresas de hoje sabem que todo erro de gerenciamento se reflete no
estoque, por isso, é importante uma administração cuidadosa do seu nível. Embora
muitas empresas contem com recursos humanos especializados, é necessária uma
política que defina com clareza o processo de reposição de estoque de forma
dinâmica usando recursos baseados em novas tecnologias que tem apresentado
custos cada vez menores.
Ao longo dos anos muitos pressupostos e práticas de negócios antes tomadas
como ideais foram se tornando obsoletos, dando lugar a novos conceitos utilizados
mais e mais a cada dia. O mundo e os mercados em ritmo de rápida mudança
obrigam as empresas a evoluírem sempre, caso desejem garantir sua prosperidade,
ou até mesmo sua sobrevivência. O foco deixou de estar no produto e passou para o
mercado e o cliente. Deixou de ser doméstico para ser global. Com a mudança de
hábito e de comportamento dos consumidores, produtos padronizados deram lugar a
produtos personalizados com alto grau de inovação e com tempo de vida cada vez
menor. O marketing de massa se transformou em marketing direcionado,
caminhando para um marketing individualizado para cada cliente ou classe de
clientes, o que vem aumentando a complexidade dos controles.
Na busca por vantagem competitiva e melhor compreensão de seu grande
tesouro - os clientes, as empresas atuais se voltam para a imensa quantidade de
dados gerados a cada bip do leitor de código de barras. A explosão da quantidade de
dados disponíveis e a rápida evolução da tecnologia da informação, permitindo sua
organização, armazenamento e utilização, criaram uma verdadeira fonte de
conhecimento a ser explorada na batalha pela competitividade e sobrevivência em
mercados cada vez mais exigentes. Em sua maior parte tais dados são coletados
sem a intenção inicial de serem analisados e utilizados em alguma modelagem
preditiva ou associativa; eles são simplesmente adquiridos num esforço de aumentar
a eficiência dos processos de algum negócio. Entretanto, uma vez coletada, essa
grande massa de dados representa uma valiosa fonte de informação que pode ser
3
utilizada na melhoria do processo de tomada de decisões empresariais em
praticamente todos os níveis da organização.
Transformar imensas quantidades de dados de movimentação e inventários
de estoque em um modelo fiel que mostre as inconformidades dos níveis dos itens é
uma tarefa muito árdua que exige arte e ciência, matemática e intuição. É nesse
contexto que surge o conceito de mineração de dados. Minerar dados não é nada
mais do que a combinação de grande poder computacional, algoritmos inteligentes,
conhecimento do negócio e intuição humana aplicada a grandes massas de dados,
objetivando a descoberta do conhecimento útil para o negócio, mas oculto em
milhares de terabytes de dados
.
Por ser um assunto relativamente novo, muitos mitos surgiram sobre o
conceito e aplicação de mineração de dados (LAROSE, 2005). Como exemplo
citamos:
Mineração de dados é intuitivo e simples de usar;
O processo de mineração de dados é autônomo, ele acontece com pouca ou
nenhuma intervenção do homem;
Existem ferramentas de mineração de dados que podemos aplicar diretamente
nos repositórios de dados e encontrar respostas para os nossos problemas;
A mineração de dados irá identificar a causa dos problemas do seu negócio.
É muito importante ter sempre em mente que mineração de dados não é
somente a aplicação de algoritmos sofisticados como redes neurais (PRINCIPE
2000, JAIN 1996), árvores de decisão (GAROFALAKIS 2003), algoritmos genéticos,
sistemas neuro-fuzzy (ZHOU 2002; MENDEL 1995), modelos de auto-regressão ou
máquinas de vetor de suporte em qualquer tipo de dado e esperar a obtenção de
modelos que são a solução ideal para todos os problemas de uma empresa. É
necessário unir profundo conhecimento do negócio ao uso coerente de métodos e
algoritmos computacionais, através de um sistema que englobe e leve em
4
consideração todas as peculiaridades do problema a ser resolvido. Desta maneira o
conhecimento será realmente descoberto em meio às grandes quantidades de dados
disponíveis. Somente desta forma será gerada inteligência real sobre o problema.
Esta inteligência serve de base no processo decisório.
Este trabalho apresenta uma proposta de solução para o problema de
controle de níveis de estoque e da qualidade do serviço prestado ao cliente através
do uso de ferramentas de mineração de dados sobre uma base de dados real de
venda ao varejo. Através de um processo cuidadoso, seguindo as fases padrão
sugeridas para descoberta de conhecimento em base de dados, desde o
entendimento do problema organizacional, passando pelo trabalho massivo de
preparação dos dados, fecha-se na busca e otimização de um modelo mais
adequado para a tarefa, que será utilizada no combate ao desnível de estoque. Visa-
se, também, demonstrar o grande valor e vantagem competitiva que podem ser
gerados com a utilização de tais processos em estratégias que melhorem o controle
diminuindo o desperdício, através da análise dos níveis adequados de estoque a
partir da mineração de dados desenvolvida.
1.2 Metodologia
A metodologia deste trabalho foi baseada em três etapas. Na primeira
etapa foi feito o levantamento e análise da aplicação de políticas de estoque e
conformidade dos níveis de estoque mantidos pela empresa. Esta avaliação levou
em consideração os dados históricos de inventário, demanda e movimentação dos
itens de estoque em um período de 5 anos.
A segunda etapa foi feita com base num trabalho de pesquisa bibliográfica
e levantamento de softwares e algoritmos disponíveis na área de descoberta de
conhecimento em bases de dados e gerenciamento da cadeia de suprimento.
A terceira e última etapa foi a análise e preparação de dados e
implementação do modelo de predição baseada na avaliação de ferramentas de
mineração que melhor respondeu ao problema organizacional.
5
1.3 Estrutura do trabalho
O trabalho a ser apresentado segue a seguinte disposição:
Capítulo 1 – Introdução: apresentará os principais aspectos do trabalho
incluindo a motivação e os objetivos.
Capítulo 2 Gerenciamento de estoques: apresentará os principais
conceitos envolvidos no contexto do trabalho quanto à forma de controlar estoques e
prever demanda.
Capítulo 3 Descoberta de conhecimento em bases de dados:
Apresentará os fundamentos da tecnologia usada para garimpar informações em
grandes volumes de dados.
Capítulo 4 Aplicação da mineração de dados para redução dos níveis
de estoque: apresentará a resolução do problema de gerenciamento de estoque
com base em informações obtidas através da mineração de dados.
Capítulo 5 Conclusão: Mostrará detalhes dos objetivos pretendidos e os
alcançados com este trabalho.
Apêndice A Exemplo de um modelo de PMML para regressão: Mostra o
padrão usado para codificar um modelo baseado em mineração de dados.
Apêndice B Sentença SQL usadas para coleta de dados: Mostra as
sentenças SQL usadas para separação dos dados.
6
Capítulo 2
Gerenciamento de Estoques
Chopra e Meinl (2003) definem estoques como sendo acumulações de
matérias-primas, suprimentos, componentes, matéria em processo e produtos
acabados que surgem em numerosos pontos do canal de produção e logística das
empresas.
Estoques figuram normalmente em lugares como armazéns, pátios, chão de
fábrica, equipamentos de transporte e em armazéns das redes de varejo. O custo de
manutenção destes estoques pode representar de 20 a 40% do seu valor por ano.
Embora existam muitas políticas para controlar os níveis de estoque, muito ainda
a aprender sobre gerenciamento dos mesmos.
O gerenciamento de estoques pode ser feito direcionado a itens isolados,
onde é considerado cada produto de maneira independente. Outra forma de
gerenciar estoques é controlar de forma agregada o investimento total em estoques.
Além disto, o estoque pode ser controlado nos múltiplos elos da cadeia de
suprimento. Antes de qualquer decisão sobre as políticas de estoque a serem
adotadas é muito importante conhecer a natureza da demanda. Não se trata
simplesmente de reduzir os estoques indiscriminadamente. Existem alguns casos
onde é muito mais vantajoso manter níveis mais altos de estoque. Cada tipo de
estoque tem características particulares de movimentação, portanto não existe uma
solução generalizada que resolva todos os problemas de gerenciamento de todos os
tipos de estoque.
2.1 Pontos a favor dos estoques
7
a) Melhorar o serviço ao cliente proporcionando um nível de oferta de produtos
e serviços em quantidade e diversidade que acabam satisfazendo as expectativas
dos consumidores em relação à disponibilidade, sobretudo quando próxima a eles
(BALLOU, 2006).
b) Redução de custos em compras e transporte com base em descontos
obtidos na compra de lotes maiores, em fretes e outras despesas de compra
rateadas por um volume maior de produtos. Comprar antecipadamente representa
adquirir quantidades adicionais de mercadorias pelos preços atuais, mais baixos,
deixando de comprar no futuro por preços certamente mais altos. Além de permitir
operações mais alongadas e equilibradas desvinculando a produção da demanda
resultando em uma melhor economia de escala.
c) Inconstância nos prazos necessários à produção e transporte de
mercadorias ao longo do canal de suprimentos, pode provocar incertezas, com
provável impacto, sobre os custos operacionais e níveis do serviço ao cliente. É o
caso de produtos que dependem de safra ou de condições climáticas específicas
para serem produzidos.
d) Choques não planejados e não antecipados, afetam o sistema logístico.
Greves, desastres naturais, aumento imprevisto da demanda, são alguns tipos de
contingências contra as quais os estoques apresentam algum grau de proteção e
segurança.
2.2 Razões contrárias à manutenção de estoques
A manutenção de estoques pode ser considerada, em algumas situações, um
desperdício, por absorver um capital que poderia estar sendo utilizado de maneira
mais rentável, incrementando a produtividade e a competitividade. Níveis elevados
de estoque podem mascarar os problemas relativos à qualidade, provocar perda de
produtos por obsolescência ou por prazo de validade, além dos custos adicionais em
que eles incorrem. Uma diminuição de alguns pontos percentuais nos investimentos
em estoque pode resultar em um aumento substancial de lucratividade. Quando os
8
recursos para manutenção de estoques o obtidos através de financiamento os
riscos referentes aos altos custos se tornam muito maiores devido às despesas
financeiras envolvidas (BALLOU, 2006).
Os riscos variam de acordo com o ramo de atividade de cada empresa e
também com a posição da empresa no canal de distribuição.
Para o fabricante, o risco relativo ao estoque tem uma dimensão a longo
prazo. O investimento do fabricante em estoque começa com matérias primas e
componentes, inclui estoques de produção em processo e termina em produtos
acabados. Além disso, antes da venda, os produtos acabados são freqüentemente
transferidos para depósitos próximos a atacadistas e varejistas. Embora os
fabricantes tenham linhas de produtos menores que os atacadistas e varejistas seu
estoque, normalmente, tem maior profundidade e maior duração. O caso dos
atacadistas que compram, de cada fabricante, pouca variedade e grandes
quantidades e vendem em pequenas quantidades aos varejistas, possui um estoque
com menor profundidade. O atacadista tem o papel de prover aos varejistas uma
grande variedade de produtos de diversos fabricantes em pequenas quantidades.
Um grande problema dos atacadistas, hoje, é a rápida expansão das linhas de
produtos, principalmente em produtos de tecnologia. Com as novas regras de
manutenção de estoques baixos, os varejistas acabam repassando esta
responsabilidade para os atacadistas, que são obrigados a manterem estoques mais
duráveis e mais sortidos.
no caso do comércio varejista, embora o risco individual para cada produto
geralmente não seja substancial, existe o risco sobre a totalidade dos produtos,
que este é obrigado a manter uma grande variedade de itens. Hoje os varejistas,
com suas exigências de diversidade e inovação, forçam os atacadistas a entregarem
pedidos menores e com mais freqüência em cargas com grande diversidade de
produtos.
As gerências das empresas precisam trabalhar para diminuir os riscos
melhorando a produtividade e baixando os custos. Para que esta administração seja
9
efetiva é necessário conhecer bem todos os custos envolvidos na manutenção de
estoque e aquisição de produtos. O ideal é encontrar uma quantidade de pedido
mínimo sem perder em custos de manutenção nem em faltas ou queda no nível de
atendimento ao cliente. A curva de custos referente aos estoques é representada na
Figura 1
Figura 1 Representação do lote econômico de compra (BALLOU, 2006)
2.3 Tipos de estoque
Ballou (2006) classificou os estoques em cinco categorias distintas. Na
primeira o estoque pode estar no canal ou em trânsito, muito comum quando a
movimentação é lenta e/ou as distâncias são longas e/ou existem muitos elos no
canal de suprimento. Refere-se ao estoque que esta em trânsito ou aguardando
para ser transportado que em muitas vezes esta ligado a um alto grau de incerteza,
pois este estoque está sujeito aos riscos inerentes a cada meio de transporte e cada
ponto de armazenagem.
O segundo tipo são os estoques mantidos para fins especulativos, e que
continuam fazendo parte da base a ser administrada. Matérias-prima como ouro,
10
prata e cobre, são compradas tanto para especulação quanto para suprimento das
necessidades operacionais. Em regiões agrícolas, como a região serrana do Espírito
Santo, é muito comum o estoque especulativo do café que chega a ser usado como
moeda de troca. Normalmente, a especulação com os preços, ocorre quando a
disponibilidade excede as necessidades operacionais, neste caso a preocupação
deixa de ser logística e passa a ser financeira. A especulação também pode ocorrer
em casos de monopólio ou oligopólio do mercado.
O terceiro caso inclui estoques de natureza regular ou cíclica. Estes estoques
são mantidos para garantir o suprimento das demandas médias durante os períodos
de reabastecimento. Nesta fase o estoque cíclico é altamente dependente do
tamanho de lotes de produção, espaços de armazém e transporte.
Em quarto lugar estão os estoques de segurança que são considerados
pulmões contra a variabilidade de demanda e dos prazos de reposição. O estoque de
segurança é determinado por procedimentos estatísticos que lidam com a natureza
aleatória da variabilidade. Quanto mais precisa for à previsão de demanda, melhor
será a determinação do estoque de segurança. O objetivo é manter um estoque de
segurança menor possível sem deixar cair o nível de serviço ao cliente.
E, o estoque obsoleto, morto ou evaporado, é a parte perdida por ficar
ultrapassado, deteriorado ou simplesmente roubado devido a um armazenamento
prolongado. É recomendado um cuidado especial com estes estoques buscando
minimizar seu volume.
2.3 Problemas de incertezas na demanda
Mesmo quando bem elaborada, a demanda excede ou não atinge as
quantidades previstas para o ciclo de ressuprimento, o que torna necessária a
manutenção de estoques de segurança. A demanda tem papel significativo na
determinação de como controlamos os níveis de estoque. O padrão mais simples de
demanda é batizado de perpétuo, que prevê uma continuação no infinito. Embora
11
sua demanda cresça ou diminua no seu ciclo de vida, estes produtos tem um tempo
de venda alongado, podendo ser considerada infinita quanto ao planejamento.
ainda produtos sazonais com surtos de demanda em um determinado
período, nestes casos um pedido único é colocado com pouca ou nenhuma chance
de pedir novamente. Embora normalmente este período seja anual acontecem casos
onde os períodos seguem outros intervalos de tempo.
A demanda pode se apresentar de forma irregular, com alto desvio padrão.
Neste caso existem períodos de demanda escassa ou inexistente, seguido por picos
repentinos, com uma alta variância em torno do seu nível médio.
Outro tipo de demanda é o terminal, onde se esgota em algum momento
previsível no futuro, que em geral não se estende por mais de um ano.
Finalmente a demanda derivada diretamente de outro produto que, neste
caso, é muito bem manejada com alguma forma de planejamento Just-in-time, como
MRP ou DRP.
2.4 Filosofia de gerenciamento
De modo geral, duas filosofias podem ser adotadas para gerenciar os
estoques.
Puxar: prever a demanda e determinar as quantidades de reposição levando
em conta apenas as condições locais. É um método normalmente utilizado nos níveis
de varejo do canal, exercendo um controle preciso sobre os níveis de estoque de
cada local. Muitas empresas chegam a trabalhar com estoques virtuais com um forte
investimento em seu sistema de distribuição e aquisição de produtos exigindo
também um sistema de informação que forneça um maior controle sobre as
movimentações.
12
Empurrar: Alocar suprimentos aos armazéns com base na previsão da
demanda de cada um deles, os níveis de estoque são estabelecidos coletivamente
ao longo do conjunto do sistema de armazenagem.
Reabastecimento colaborativo: usado como um método híbrido dos dois
métodos apresentados acima.
Grau de agregação de produtos
Gerenciamento de cima para baixo dos estoques, embora o controle diário dos
estoques possa exigir controle a nível de itens, o planejamento estratégico dos níveis
de estoque pode ser concretizado pela agregação substancial de produtos em
grupos. Esta é uma abordagem satisfatória quando está em questão o
gerenciamento do investimento em estoque do conjunto dos artigos, e quando o
esforço exigido por uma análise item a item em várias localizações não é garantida.
Estoques de múltiplos estágios
Em lugar de planejar estoques em cada local separadamente, planejar seus
níveis em conjunto pode produzir uma redução das quantidades no conjunto dos
estoques.
Estoques virtuais
Sistemas de informação aperfeiçoados tornam possível para as empresas o
conhecimento permanente dos níveis de estocagem em cada ponto de estocagem
da rede logística, criando um estoque virtual de produtos. Este tipo de abastecimento
tem como um dos resultados a diminuição do nível de estoque global.
2.5 Objetivos do controle de estoque
Os principais objetivos de controlar estoques são: Monitorar a disponibilidade
do produto, custos relevantes, custos de aquisição, custos de manutenção e custos
de falta de estoque. Como é possível que exista mais de uma maneira de atingir a
meta de serviço ao cliente, é necessário minimizar os custos para cada nível de
13
serviço ao cliente (BALLOU, 2006). Cada organização deve definir qual o nível de
controle que melhor se enquadra em suas características, tanto a nível de item
quanto a nível de grupo de produtos conforme mostra a Figura 2.
Figura 2 - Curva projetada para o planejamento de estoque (BALLOU, 2006)
Entre as medidas recomendadas para redução dos custos em estoques,
podemos citar: monitorar, estabelecer metas e melhorar os processos por tipo de
atividade; equilibrar as horas extras e o uso de mão de obra temporária mesmo em
períodos sazonais; uso de equipamento automatizado quando apropriado; identificar
e avaliar as capacidades e limitações dos equipamentos de manipulação de material,
principalmente no caso das indústrias; realocação de inventários de movimentação
lenta para mais próximo e concentrar sua movimentação em uma área pequena;
medir custos e volume das operações não rotineiras do estoque e buscar melhorias;
monitorar e substituir equipamentos em mal estado de conservação, evitando
interrupção de trabalho e altos custos de manutenção; ajustar as despesas de
acordo com a realidade regional e com base nas dimensões da empresa e do
mercado.
14
2.6 Controles de estoque empurrado x controle de estoque puxado
Todos os processos de uma cadeia de suprimento recaem em uma das duas
categorias, dependendo do tempo de sua execução compatível com a demanda do
cliente. Os sistemas empurrados são aqueles que se antecipam ao pedido do cliente.
No período de execução de um processo empurrado, a demanda não é conhecida e
deve ser prevista. Os processos puxados também podem ser definidos como
processos reativos porque reagem à demanda do cliente. Os processos empurrados
também podem ser vistos como processo especulativo, porque respondem a uma
especulação (ou previsão) e não sobre uma demanda real. Uma visão sobre controle
puxado e controle empurrado da cadeia de suprimento é muito útil ao considerarmos
decisões estratégicas relacionadas ao projeto da cadeia de suprimento (CHOPRA;
MEINL, 2003).
2.7 CONTROLES DE ETOQUE PUXADOS
Para o controle de estoque puxado, podemos citar a quantidade de pedido
único onde se encaixam os produtos com demanda única como panfletos para uma
campanha eleitoral ou alimentos para uma festa. Outros produtos como jornais,
revistas e produtos perecíveis de modo geral, não têm como ser aproveitados em
períodos subseqüentes sem perda de valor. E as quantidades de pedidos repetitivos
onde a demanda pode ser perpétua e os períodos de reposição se repetem ao longo
do tempo, podendo ter reposição instantânea ou periódica.
Para o caso da reposição instantânea, o controle é obtido estabelecendo a
quantidade a ser pedida. A freqüência dos pedidos nos casos mais simples é
necessária para comparar custos de aquisição com custos de manutenção como
mostra a figura 3, onde Q* representa o lote econômico de compra (LEQ). O lote
econômico de compra é a quantidade do pedido de ressuprimento que minimiza a
soma do custo de manutenção de estoques e de emissão e colocação de pedidos
(BOWERSOX, 2006). A apuração do lote econômico de compra considera que a
demanda e os custos são relativamente estáveis durante todo o ano. A fórmula
15
desenvolvida para o cálculo do lote econômico de compra é conhecida desde 1913,
e, na sua forma tradicional ou com adaptações, funciona como base para grande
parte das políticas de estoque puxado da atualidade.
Q* = lote econômico de compra
D = volume anual de vendas em unidade
S = custo de emitir e colocar um pedido
I = custo por unidade
C = Valor da manutenção do item no estoque
A fórmula de lote econômico de compra apura a quantidade ótima de
ressuprimento, mas considera algumas hipóteses que restringem sua aplicação na
maioria dos casos. Estas hipóteses são: atendimento de toda a demanda, taxa de
demanda conhecida constante e contínua; períodos de ciclo de atividades e de
ressuprimento constante e conhecido; preço constante do produto independente da
época e da quantidade do pedido; horizonte de planejamento infinito; ausência de
interação com outros itens em estoque; inexistência de estoque em transito;
disponibilidade ilimitada de capital (BOWERSOX, 2006).
No caso mais comum para os pedidos repetitivos como mostra a Figura 3 é
considerado o prazo de entrega, mesmo que este seja teoricamente constante,
podendo assim introduzir a idéia de ponto de reposição. Como normalmente ocorre
um lapso de tempo (Lead Time) entre o momento do pedido e a entrega, a demanda
durante este tempo pode ser suprida.
16
Quantidade disponível
Figura 3 - Um modelo de controle básico de estoque puxado para uma peça de
reposição (BALLOU, 2006)
2.8 CONTROLE AVAADO DE ESTOQUE PUXADO
A decisão de puxar estoques é tomada quando não temos condições de
determinar com exatidão a demanda e os prazos de entrega. Neste caso é
necessário planejar uma situação onde não estoque suficiente para atender aos
pedidos dos clientes.
2.8.1 Modelo do ponto de pedido com demanda incerta
No controle de estoque do ponto de pedido presume-se que a demanda é
perpétua e age continuamente para diminuir seu nível. Quando o estoque atinge um
nível igual ou menor que um nível chamado de ponto de pedido, um lote econômico
de compra é lançado para suprir a necessidade de produtos. Entre o momento
que se faz o pedido e o momento da reposição, existe o risco de falta de estoque, o
que exige um ajuste do
17
A operação do processo de ponto de pedido é ilustrada na
Figura
4
em relação a um item único em que a demanda durante o prazo de
entrega é conhecida como uma probabilidade de distribuição normal. Esta
distribuição de demanda durante o prazo de entrega (DDL) tem uma média de e
um desvio padrão de os valores de e de normalmente não são conhecidos,
sendo, porém facilmente calculados para um período de demanda (BALLOU, 2006).
LT
Falta de
estoque
LT
Recepção
do pedido
Colocação
do Pedido
Q
Q
Quantidade disponível
Tempo
DDLT
P
Figura 4 - Controle de estoque do ponto de compra com itens incertos (BALLOU, 2008)
2.8.2 Modelo de revisões contínuas e periódica com demanda
incerta
De acordo com Slack et at. (1997) é um método alternativo ao controle do
ponto de pedido, também chamado de abordagem de revisão contínua. Isso porque,
para tomar decisões desta forma, os gerentes de produção precisam continuamente
rever os níveis de estoque de cada item e então colocar o pedido. Checar o estoque
continuamente pode ser uma tarefa desgastante principalmente quando muitos
18
itens em estoque e muitas retiradas. Uma abordagem muito mais simples é chamada
de abordagem de revisões periódicas. Aqui ao invés de pedir em um nível de
ressuprimento, a abordagem periódica pede em intervalos de tempo fixos e regulares
. Assim, estoque pode ser checado, por exemplo, no final de cada mês e colocado
um pedido de reabastecimento para cumprir a demanda do período.
O controle usando revisões periódicas é ilustrado na Figura 5, onde o
nível de estoque é examinado e é realizado um pedido de uma quantidade para
elevar estoque ao nível . Todavia, o pedido não chegará até que um período de
tempo tenha passado durante o qual a demanda continua a consumir os
estoques, tanto a demanda quanto o lead time são insertos. Quando o pedido chegar
à quantidade disponível não atingirá o nível máximo , a não ser que não tenha
havido demanda no período, para suprir esta demanda durante o lead time precisa
ser calculado um estoque de segurança.
19
Figura 5: Controle de revisão periódica com incerteza para os itens (BALLOU, 2006)
Métodos Práticos de Controle de Estoque Puxado
Dos métodos práticos para controlar estoques puxados, o sistema mín-máx é
amplamente conhecido, simples e muito utilizado nas empresas. No principio sua
utilização era feita através de cartões com anotações manuais da movimentação de
cada item. Ainda hoje, muitos sistemas informatizados ainda usam este processo
para controlar estoques. Este modelo ilustrado na Figura 6 nada mais é que uma
variação do modelo de ponto de pedido.
Existem hoje modelos mais avançados para controle que podem ser
usados juntos com o ERP ou sistema legado da empresa.
20
Figura 6: um sistema mín-máx de controle de estoque (BALLOU, 2006)
21
Capítulo 3
Descoberta de Conhecimento em Bases de Dados
3.1 Descoberta de conhecimento em base de dados e mineração de
dados (KDD)
Diversos autores descrevem de diferentes maneiras o processo KDD, o
que mostra certa distância de uma definição única e universal, ou mesmo suas
dimensões. A principal questão é se a mineração de dados é simplesmente um
enriquecimento da estatística ou realmente um conceito revolucionário. O que
provoca esta dúvida é principalmente o fato de que muitos problemas de mineração
de dados e suas soluções, terem como raiz análises de dados clássicas.
Mineração de dados tem sua origem em várias disciplinas, sendo
estatística e aprendizagem de quinas as duas principais. A estatística com raízes
na matemática ajuda a estabelecer uma imagem mais sensata diante de uma
situação teórica. o aprendizado de máquina tem sua origem na prática
computacional que normalmente executa testes para analise de desempenho, sem
se preocupar com uma prova formal (KANTARDZIC, 2003).
Nos últimos 10 anos, o campo de KDD e mineração de dados passaram
por uma grande transformação influenciada, principalmente, por forças externas
como o enorme crescimento da web e do comércio eletrônico, além da forte
penetração em outras áreas como análise de rede social, mineração na web e
multimídia.
Um fator que vem contribuindo para o crescimento do uso de mineração
de dados é o surgimento dos softwares open-source, como é o caso do conjunto de
22
ferramentas implementadas no software WEKA com base de pesquisa na
Universidade de Waikato Nova Zelândia. Um forte indicador de crescimento é que
em 1996 houve uma única conferência (KDD 96) com apenas100 artigos enquanto
em 2005, houve 20 conferências com centenas de artigos (SHAPIRO 2006).
Segundo Larose (2005), mineração de dados é um campo interdisciplinar
que agrupa técnicas de aprendizado de máquina, reconhecimento de padrões,
estatísticas, banco de dados, recursos de visualização para resolver problemas de
extração de informação em grandes bases de dados ou, ainda, segundo Hand
(2001), mineração de dados é a análise de conjuntos de dados (freqüentemente
grande) observados para encontrar relacionamentos insuspeitos entre eles, que
sejam usáveis e compreensíveis ao administrador de dados. Ou ainda “um processo
não trivial de identificação de padrão válido, novo, potencialmente usável e
compreensível em dados” (FAYYAD et al. 1996).
Existem numerosas ferramentas para o desenvolvimento de modelos
preditivos e descritivos. Algumas usam métodos estatísticos como regressão linear e
regressão logística. Outras usam métodos não estatísticos ou métodos combinados
com redes neurais, algoritmos genéticos, árvore de classificação e árvore de
regressão (RUD, 2001).
Figura 7:
Etapas Operacionais do Processo KDD. (GOLDSCHMIDT ET AL., 2005)
23
Segundo Larose (2005), um processo padrão particular usado é o CRISP-
DM (CROSS-INDUSTRY STANDARD PROCESS), definido em 1996 por analistas
das empresas Daimler Chrysler, SPSS, e NCR que define mineração de dados como
um processo completo, partindo do conhecimento da organização através da coleta
de dados, administração e processamento de dados, montagem do modelo,
avaliação do modelo e, finalmente, a implementação do modelo. Mais
especificamente um projeto de mineração de dados tem um ciclo de vida que
consiste em seis fases, ilustradas na
Figura 8
.
Figura 8 CRISP-DM processo interativo e adaptativo (LAROSE, 2005)
O grupo DMG é um grupo que reúne os maiores vendedores
independentes que desenvolvem padrões de mineração de dados. Como o PMML
24
(Predictive Model Markup Language), que é uma linguagem de markup para modelos
estatísticos e de mineração de dados. Entre os vendedores membros estão: IBM
Corp, KXEN, Microsoft, MicroStrategy Inc., National Center for Data Mining,
University of Illinois at Chicago, Open Data, Oracle Corporation, prudsys AG, Salford
Systems, SAS Inc., SPSS Inc. StatSoft. No apêndice B é mostrado um caso descrito
usando PMML.
Através do PMML é possível exportar e importar modelos de mineração de
dados entre os diversos fabricantes. Sem o PMML, os modelos de mineração de
dados seriam dependentes de sistemas, de arquitetura e de aplicação. PMML
padroniza o modelo para algoritmos de mineração de dados comuns.
PMML define a representação XML para um conjunto de algoritmos
populares para mineração de dados: regressão polinomial, regressão logística,
regressão geral, cluster baseados em centro k-means, cluster baseado em
densidade, árvores, associações, redes neurais, naïve bayes, seqüencias, modelos
textuais e máquina vetorial. PMML não é uma interface de programa para mineração
de dados, é baseado no conteúdo do modelo. A possibilidade de troca de
informações entre os fabricantes é uma das grandes vantagens do PMML. Outra
vantagem do PMML é a facilidade de desenvolvimento além da portabilidade que
tem os documentos XML.
3.2 Fases do processo de mineração de dados
3.3 Entendimento organizacional
Nesta primeira fase são enunciados claramente os objetivos e requisitos
da organização ou unidade de pesquisa. Em seguida os objetivos e restrições são
formulados em uma definição de problema de mineração de dados. Nesse ponto é
preparada uma estratégia preliminar para atingir estes objetivos levando em
consideração as restrições do problema. Nesta fase é muito importante a
participação das pessoas envolvidas diretamente com o problema organizacional a
ser tratado. É importante lembrar que o CRISP-DM sugere um processo cíclico
25
podendo voltar a qualquer fase sempre que for necessário. Nesta fase é importante
uma análise sistêmica da organização para melhorar a definição do problema e
proporcionar uma direção ao trabalho. Nesta fase deve ser feito o levantamento dos
processos de aquisição dos dados para avaliar a confiabilidade das informações que
serão trabalhadas no projeto.
3.4 Entendimento dos dados
Os dados da empresa podem estar distribuídos por vários sistemas em
diferentes padrões. É importante fazer uma análise cautelosa de como estão sendo
gerados estes dados, assim como a integridade da fonte geradora. É comum o uso
de dados que se encontram fora do escopo empresarial para complementar as
informações. Estes dados podem estar disponíveis em sites governamentais, ou
empresariais ou ainda importados de bases de dados que complementam as
informações disponíveis, sempre visando o enriquecimento dos dados. É importante
lembrar que a complexidade do modelo é diretamente proporcional a quantidade de
atributos envolvida.
Nesta fase é feita a coleta de dados. Usam-se ferramentas de análise para
buscar as primeiras considerações sobre os dados. Avalia-se a qualidade dos dados,
e, se for apropriado, usa-se um subconjunto de dados que permite a identificação de
padrões que representam fielmente a natureza do conjunto.
Um trabalho de padronização é recomendado e, caso seja necessário o
retorno a esta fase, ele se torne menos dispendioso possível.
A Coleta de dados Consiste na separação dos dados que podem estar em
vários sistemas distribuídos através da empresa. Primeiro é necessário separar os
dados relevantes em um banco de dados, onde será executada a análise dos dados.
Após a coleta de dados pode-se resumi-los para reduzir o volume do conjunto de
dados de treinamento. O padrão encontrado em 50.000 clientes é o mesmo em
26
1.000.000 de clientes (LAROSE, 2005). Para este caso foi usado um banco de dados
relacional implementado através do SQL que permite verificar a integridade tanto
local quanto referencial dos dados. Permite ainda descartar os resíduos gerados por
falhas de definição ou de erros em operações transacionais.
Analisando o modelo da Base de dados é importante avaliar a característica
do mesmo para um possível rearranjo na forma de Data Warehouse.
Como a maioria dos sistemas opera sobre bancos de dados chamados
transacionais, as empresas tem informações sobre os processos operacionais. Estes
sistemas vêm funcionando muito bem no atendimento as questões burocráticas das
empresas. Com a rapidez dos mercados e das tecnologias, os executivos
necessitam cada vez mais de subsídios que permitam uma tomada de decisão mais
fundamentada, principalmente nos níveis estratégicos e gerenciais. Os modelos
usados para analise de dados buscam as informações em estruturas de dados
conhecidas como Data Warehouse.
Embora existam vários livros sobre Data warehouse a definição varia muito de
autor para autor. Ultimamente as raízes de data warehouse podem ser encontradas
nas disciplinas de banco de dados e de gerenciamento de dados. Conceitualmente,
Data Warehouse, ilustrado na Figura 9, é um conjunto de dados baseado em temas,
integrado e não volátil. As características centrais ditadas pelos DBAs e analistas de
sistema que eram baseadas em entidade relacionamento e normalizações já não
valem mais.
Em um DW, uma vez que o conjunto de dados é carregado, este não é mais
alterado com as modificações que estão sendo feitas a nível transacional. Cada
conjunto de dados, uma vez carregado, fica vinculado a um rótulo temporal que o
identifica dentre os demais. Cada tulo por sua vez fica vinculado a uma visão
instantânea e sumarizado dos dados operacionais que corresponde ao momento da
carga dos dados. Lembrando que banco de dados operacional é o banco de dados
clássico que contém as informações a respeito do negócio a nível transacional
27
Diferente das bases de dados transacionais que trazem todos os detalhes das
informações e atributos das tabelas, o DW traz as informações sumarizadas e,
dependendo da situação, transformada. Os sistemas que utilizam bases de dados
transacionais são denominados de OLPT (On-Line Transacional Processing), a partir
do momento que eles passam a acessar um DW e disponibilizam recursos para
navegação e visualização dos dados em diversas perspectivas, passam a se chamar
aplicações OLAP (On-Line analytical Processing).
Figura 9: Esquema clássico de um Data Warehouse (CODY, 2008)
3.5 Preparação dos Dados
A partir do conjunto inicial de dados, prepara-se o conjunto final de dados, ou
amostra, para a análise. Cada linha da tabela de dados usada corresponde a uma
amostra, e cada coluna corresponde a uma característica, que será usada por todas
as fases subseqüentes (LAROSE, 2005). Os procedimentos para preparação dos
dados são essenciais para garantir a consistência dos dados e uma representação
dos mesmos que facilite sua compreensão pelos modelos onde serão aplicados.
28
DORIAN PYLE
, em seu livro sobre preparação de dados para mineração, diz que o
tempo de preparação de dados equivale a pelo menos 60% do tempo total gasto no
projeto. As técnicas aqui apresentadas são somente alguns exemplos das ações que
podem ser tomadas para uma melhoria da qualidade dos dados. Vários outros
procedimentos disponíveis na literatura podem e devem ser aplicados, dependendo
da natureza dos dados e do problema a ser solucionado. Os métodos nesta seção
são utilizados em maior detalhe no sistema usado de definição de políticas
adequadas de estoque, por se encaixarem na natureza das bases de dados do
problema: dados empresariais com grande chance de apresentar imperfeições ou
necessitar de uma representação mais adequada para um melhor desempenho do
modelo.
Dada a complexidade do processo de limpeza e transformações de dados
muitas empresas se especializaram no desenvolvimento de softwares voltados
exclusivamente para desempenhar esta tarefa. Estes softwares prometem encontrar
anomalias nas bases de dados. Alguns trazem um conjunto de dados como CEP,
nome de cidades, estados e países para ajudar na detecção de falhas. Muitos destes
softwares usam técnicas de mineração para encontrar os possíveis defeitos nos
dados.
Entre os desenvolvedores de software para a limpeza dos dados, podemos
citar grandes fabricantes como IBM e SPSS.
3.5.1 Limpeza e transformação de dados
a) Limpeza do conjunto de dados
Segundo Veaux e Hand (2005), dados ruins podem arruinar uma análise.
Distorções nos dados de entrada provocam distorções nas conclusões tornando os
resultados completamente inválidos e sem uso. E ainda que a maior parte do tempo
gasto na análise de dados reais é com limpeza e preparação dos dados podendo
atingir de 60 95% do esforço total do projeto. As distorções nos dados podem ser
causadas por falha humana como erro de leitura de escalas, erro na transposição de
29
dígitos e pontos decimais. Também quando os dados são buscados em diferentes
fontes, muitas vezes com diferentes tipos de dados descrevendo a mesma
característica. A maior fonte de erro vem das mudanças de medida ou procedimento
de coleta. Acontecem também muitos problemas com dados científicos que
chegam pré-processados para a análise e o analista não conhece a natureza dos
dados de origem.
A limpeza de dados visa detectar e remover anomalias presentes nos dados
com o objetivo de aumentar e melhorar a sua qualidade. Tipicamente o processo de
limpeza de dados não pode ser executado sem o envolvimento de um perito no
negócio ao qual correspondem os dados, uma vez que a detecção e correção de
anomalias requerem conhecimento especializado.
A limpeza dos dados envolve uma verificação da consistência das
informações, a correção de possíveis erros e o tratamento ou a eliminação de
valores nulos e redundantes. Nessa fase são identificados e removidos os dados
duplicados e corrompidos. A execução desta fase corrige a base de dados
eliminando consultas desnecessárias que seriam executadas pelos modelos e que
afetariam o seu desempenho.
Algumas operações básicas devem ser usadas de acordo com as
características dos dados. No caso de limpeza de campos, tipo caracteres, existe
casos que devem assumir apenas valores específicos, como por exemplo, o campo
sexo em um cadastro de clientes que só pode assumir os valores ‘M’ e ‘F’, ou ainda
uma faixa de valores que segue um determinado padrão, como por exemplo, o caso
do CPF que possui 9 dígitos sendo os 2 últimos usados como dígito verificador para
validação de consistência. Muito destes erros encontrados na maioria das fontes
pode ser evitado ou, no mínimo, reduzido se no momento da modelagem for criado
um dicionário de dados definindo as restrições para cada atributo.
A limpeza para o tipo numérico recomenda técnicas diferentes das usadas
para o tipo caracteres. Normalmente existe um número muito grande de
possibilidades de valores para este tipo, e também muitas técnicas que ajudam a
30
encontrar erros em campos numéricos. Uma das técnicas mais básicas é examinar a
distribuição de cada variável, usando possivelmente uma representação gráfica
como histograma ou galho e folha. Outra opção muito usada é o uso de limites
mínimo e máximo para cada variável, estabelecendo uma faixa de valores válidos.
Uma maneira de resolver o problema de valores numéricos inválidos é a eliminação
de valores do topo e da base do conjunto de dados quando estes ficam muito
distantes do centro da distribuição. Conhecer o comportamento da distribuição dos
dados ajuda a definir melhor o modelo além de facilitar o trabalho de eliminação de
ruídos.
Outra situação muito comum é a presença de dados nulos. Existem várias
situações que levam a ocorrência de nulos em uma base de dados podendo ser
acidentais ou intencionais. É importante lembrar que, em muitas situações, os
valores nulos são permitidos, como é o caso dos campos de observações
complementos de endereços ou outras informações, data de pagamento de um título,
entre outros. Neste caso os valores nulos devem ter um tratamento adequado, eles
não podem ser descartados. É muito comum, no caso de valores numéricos, o não
preenchimento de campos que deveriam ter o valor zerado mantendo o seu
conteúdo nulo. O campo com valor nulo deve ter tratamento diferenciado de campo
com valor zero. É diferente dizer que um título esta pago com valor zero e o título
não esta pago. O valor nulo corresponde a um valor indeterminado que pode ser
considerado, mas não pode ser tratado.
No caso de campos do tipo data, é comum o preenchimento de campos com
valores válidos, porém impossíveis de acontecerem. Estes problemas que podem ser
resolvidos com facilidade criando a restrição para o preenchimento dos campos
direto no dicionário de dados. Boas ilustrações disso são bases de dados que
possuem idades de clientes. Por vezes encontram-se clientes que possuem mais de
120 anos de vida, ou até mesmo clientes com menos de 2 anos de idade. Um
exemplo comum na limpeza de dados é a procura por valores absurdos que não
deveriam existir na base simplesmente por serem impossíveis na prática. Através do
uso de histogramas estes valores aparecem em destaque.
31
No esforço para limpeza e consistência dos dados, tais campos, mesmo
sendo raros, devem ser preenchidos com valores possíveis, utilizando-se, por
exemplo, médias ou medianas das variáveis. Outra opção seria a eliminação do
registro que contém tal valor. A atitude por trás dessas ações é a de evitar que tal
valor atrapalhe a compreensão dos dados pelos modelos, induzindo-os a
interpretações errôneas.
De acordo com
Cody (2008), se o número de observações nulas for
significativo, o desempenho de grande parte dos modelos de análise de dados pode
ser comprometido. Para lidar com valores ausentes, em geral utiliza-se uma das
seguintes abordagens:
Ignorar a descrição do indivíduo ou mesmo eliminar o descritor;
Preencher os valores ausentes manualmente;
Usar uma constante global para representar os valores ausentes (não
recomendado, pois o sistema pode identificar esse valor como alguma
característica importante da variável se for muito freqüente);
Usar a média (ou a moda);
Usar a média (ou a moda) por classe;
Ou se for o caso de necessidade de uma solução mais sofisticada usar o valor
mais provável segundo um modelo (regressão, regra de Bayes, árvores de
decisão).
Cada um destes métodos possui vantagens e desvantagens ao ser aplicado.
Simplesmente ignorar o padrão que possui valores ausentes é indicado quando os
dados são abundantes, o que é normal em mineração de dados, mas pode ser
impraticável se os dados são escassos ou contra-indicados se o padrão possui mais
informação importante, além das variáveis com valor ausente.
32
Preencher o campo com algum valor (manualmente ou com uma constante,
média, moda ou valor mais provável segundo algum modelo) salva o padrão da
eliminação e aproveita todo o resto da sua informação, mas pode causar
desempenho tendencioso na modelagem, principalmente se os valores ausentes
forem muitos, ao criar uma realidade sobre os padrões que pode estar distante da
realidade. Isso poderia levar algum modelo a considerar certas estruturas de
comportamento nos dados que não deveriam existir.
3.5.2 Transformações:
Raramente é encontrada uma base de dados onde as variáveis se encaixam
perfeitamente ao modelo que estamos pesquisando. As características dos atributos
em uma base de dados o definidas de forma a garantirem um melhor
funcionamento do sistema e também a facilidade de visualização dos casos
armazenados.
Em geral uma transformação nos dados envolve a aplicação de alguma
fórmula matemática aos valores de uma variável, buscando obter os dados em uma
forma mais apropriada para a posterior modelagem, maximizando a informação,
satisfazendo premissas de modelos ou simplesmente prevenindo erros. Entre as
transformações mais realizadas e importantes, está a normalização ou padronização
dos dados, feita com o objetivo de homogeneizar a variabilidade das variáveis de
uma base de dados, criando um intervalo de amplitude similar onde todas as
variáveis irão residir. Em geral a normalização é necessária no caso de variáveis
com unidades diferentes ou dispersões muito heterogêneas. Entre as formas mais
comuns de normalização estão:
Normalização por escala decimal: move o ponto decimal mantendo os
dígitos originais, ajustando tipicamente os valores entre -1 e 1, a seguinte equação
descreve a normalização decimal para uma característica onde
( )
v i
é o valor do
caso da característica .
33
'( ) ( )/10
k
v i v i= para o menor onde
max(| '( ) |) 1
v i
<
.
Normalização mini-max: obtém uma melhor distribuição de valores em
um intervalo além de apresentar facilidade de implementação. Para obter valor
normalizado usamos
'( ) ( ( ) min( ( ))) / (max( ( )) min( ( )))
v i v i v i v i v i
=
.
Normalização pela faixa de variação: trabalha melhor com medidas
distantes, embora transforme os dados em um formato irreconhecível e pode ser
representado pela seguinte equação
'( ) ( ( ) ( ( ))) / ( ( ))
v i v i dia v i v i
σ
=
.
A normalização por escala decimal é a que exige o menor esforço
computacional, basta aplicar uma operação matemática simples através de um único
comando. A normalização mini-max embora exija um maior esforço computacional
ainda é de execução mais leve que a normalização pelo faixa de variação que tem
que calcular a média e o desvio padrão do atributo.
3.5.3 Suavização dos dados
Um valor numérico pode ter muitos valores distintos com pequena diferença
entre eles. Para muitas técnicas de mineração de dados, estas pequenas diferenças
são insignificantes e podem degradar a desempenho do método. Elas podem ser
consideradas variações aleatórias de um mesmo valor. Muitos modelos são
sensíveis a estas pequenas mudanças.
Um exemplo típico é o caso de números reais com muitas casas decimais.
Arredondar os valores para uma dada precisão pode ser um algoritmo simples e
eficaz. A suavização de dados pode ser aplicada diretamente nas consultas através
de funções matemáticas disponíveis na maioria dos gerenciadores de banco de
dados.
A aplicação da suavização dos dados é uma das tarefas mais simples de ser
aplicada. Basta executar uma sentença SQL aplicando uma função de
arredondamento ou exclusão de casas decimais.
34
3.5.4 Alterações e relacionamentos
Normalmente pequenas mudanças nas características dos dados podem
produzir uma melhoria significante no desempenho da mineração de dados, embora
o efeito seja menor que as transformações.
3.5.5 Redução e derivação de dados
A principal tarefa desta etapa é a redução de dimensão e, o principal desafio,
é saber qual destes dados preparados e pré-processados pode ser descartado ou
modificado sem sacrificar os resultados. Este trabalho normalmente é exaustivo e
necessário que um dos objetivos da mineração de dados é encontrar relações
desconhecidas entre os atributos de um conjunto de dados e usar futuramente como
parâmetro para as funções de predição.
3.5.6 Diminuição de dimensão de grandes massas de dados
Ao fazermos a operação de redução tem que ser levado em conta o que se
perde e o que se ganha. Os seguintes itens podem ser considerados na hora desta
análise:
Tempo de computação
Ocorrência preditiva ou descritiva
Representação do modelo de mineração de dados
Redução de características
Medidas de entropia rara ranquear características
Redução de valores
35
Discretização de valores
Redução de casos
36
3.6 Modelagem
3.6.1 Aprendizagem e treinamento de modelos
Com os dados limpos e as variáveis devidamente transformadas, podemos
iniciar a modelagem. Esta fase é considerada o núcleo da mineração de dados, que
consiste em selecionar e aplicar as técnicas apropriadas, e fazer os primeiros testes
com os resultados obtidos.
Um mesmo modelo deve ser testado com diferentes conjuntos de parâmetros
obtidos de diferentes transformações, pois a eficácia do modelo depende da
natureza dos dados. Vários modelos, com diferentes algoritmos, devem ser testados
para o mesmo problema. Somente após a avaliação do modelo através do uso de
ferramentas apropriadas é que se decide qual o modelo adequado. Muitas vezes é
necessário voltar à fase de preparação de dados para buscar uma transformação de
dados que atenda melhor ao modelo específico de mineração, garantindo, assim,
uma melhor adaptação dos dados aos requisitos do problema.
Muitos modelos são derivados com base na aprendizagem de organismos
biológicos especialmente humanos, como é o caso das redes neurais e do algoritmo
genético. Além destes existem outros modelos heurísticos usados isoladamente que
ainda não foram testados com mineração de dados. Cada fabricante define o seu
conjunto de ferramentas de acordo com as aplicações onde seus softwares são
usados. Ferramentas open source como o WEKA, trazem um conjunto maior de
ferramentas. Alguns grandes fabricantes de softwares estatísticos e de bando de
dados incorporaram empresas que eram exclusivamente desenvolvedoras de
ferramentas de análise. Alguns Algoritmos usados na mineração de dados são
tradicionais como veremos a seguir.
3.6.1 Métodos estatísticos
37
Os métodos de análise estatística de dados são os métodos mais bem
estabelecidos para mineração de dados, tanto na parte descritiva mostrando
características gerais dos conjuntos de dados, quanto nas conclusões baseadas em
inferência estatística. A modelagem usando os métodos estatísticos, trás a
mineração de dados uma base mais sólida, e ao mesmo tempo uma maior exigência
quanto à especialização dos usuários. Estes métodos muitas vezes são
implementados em conjunto com métodos heurísticos formando um conjunto de
ferramentas híbridas, como é o caso do algoritmo para tratamento de séries
temporais é um modelo hibrido de árvore de decisão e auto-regressão.
3.6.2 Inferência Estatística
A inferência estatística é usada para tirar conclusões sobre uma população
grande que pode ser finita ou infinita. Neste caso não é necessário a observação de
toda a população. A inferência estatística trabalha com amostras que na mineração
de dados são, normalmente, chamadas simplesmente de conjunto de dados. A
relação entre o conjunto de dados e o sistema que ele representa pode ser
considerada de forma indutiva usando o conjunto de dados para conhecer um
sistema parcialmente desconhecido (KANTARDZIC, 2003). A teoria de inferência
estatística consiste de métodos que fazem inferência ou generalizações sobre uma
população. Estes métodos podem ser categorizados em duas áreas: estimação e
testes de hipótese.
3.6.3 Avaliando diferenças em conjuntos de dados
Na maioria das análises é muito útil conhecer as características gerais dos
conjuntos de dados como totais, medidas de tendências centrais e dispersão. Estes
parâmetros são descritores óbvios para avaliar a diferença entre os conjuntos de
dados. Tipicamente as medidas de tendência central, incluem média, mediana e
moda, enquanto as medidas de dispersão incluem variância e desvio padrão. A
média é a mais comum das medidas estatísticas, e vem implementada como uma
função na maioria dos softwares modernos de análise e de banco de dados.
38
3.6.4 Inferência bayesiana
O método matemático proposto por Bayes usa combinação de probabilidade
condicional e incondicional. É muito usado para encontrar o relacionamento entre os
vários atributos em um modelo.
Supondo que exista um conjunto M de amostras (conjunto
dados para treinamento) onde toda amostras é representada por um vetor n-
dimensional Os valores de correspondem aos atributos
, respectivamente. Também, existem k classes , e todas as
amostras pertencem a uma destas classes. Dada uma amostra adicional X (Classe
desconhecida), é possível predizer a classe para X usando probabilidade condicional
mais alta , onde , que é a idéia sica do classificador Naïve-
Bayesiano. Esta probabilidade é computada usando o teorema de Baye.
é constante somente precisa ser maximizado.
39
Onde
é o valor dos atributos para uma amostra X a probabilidade
pode ser estimada através do conjunto de treinamento.
O algoritmo de Naïve Bayes permite a criação de modelos com
habilidades preditivas, e também provê método para entendimento do
comportamento dos dados. O modelo é montado através da correlação entre os
atributos alvo e todos os outros atributos do modelo.
40
3.6.5 Regressão Linear
Análise de regressão linear simples é uma técnica estatística que quantifica a
relação entre duas variáveis contínuas: a variável dependente e a variável
independente. O algoritmo trabalha na busca de uma linha que represente o
comportamento dos dados diminuindo o erro quadrado médio. Às vezes a relação
entre as variáveis dependentes e independentes não é linear, neste caso é
necessário fazer uma transformação nas variáveis independentes permitindo uma
melhor aproximação.
Em trabalhos envolvendo modelos de risco de mercado e CRM
(gerenciamento do relacionamento com o cliente). É comum ter muitas variáveis
preditivas, em alguns casos o trabalho é iniciado com centenas delas, quando
usamos múltiplas variáveis preditivas ou independentes para predizer uma única
variável, chamamos de regressão linear múltipla (RUD, 2001).
Onde são coeficientes que serão encontrados.
O principal esforço, por parte dos usuários, em aplicar o modelo de regressão
múltipla, está em encontrar as variáveis independentes relevantes no conjunto de
dados inicial, e selecionar o modelo de regressão apenas com variáveis relevantes.
3.6.6 Regressão logística
A regressão linear é usada apenas para encontrar a relação entre variáveis
continuas. Existem casos onde as variáveis apresentam características discretas ou
categóricas, neste caso a regressão linear não é apropriada, mas o analista pode
41
recorrer ao uso de um método análogo. A Regressão logística, que descreve a
relação entre uma resposta categórica ou discreta, é um conjunto de variáveis
preditoras. A regressão logística modela a probabilidade de um evento linear ocorrer
como função linear de um conjunto de variáveis preditoras. Diferente da regressão
linear, que tenta predizer um valor de uma variável dependente, a regressão logística
tenta predizer a probabilidade
que a variável terá um dado valor (Larose 2005).
1. Para cada valor de entrada, a probabilidade é calculada pela média dos
valores de resposta.
2. Para cada valor de entrada, as vantagens são calculadas usando a fórmula
onde é a probabilidade.
3. A transformação final calcula o log das vantagens: .
O modelo é derivado pela busca de relação entre a entrada e o log das
vantagens usando a equação:
onde são coeficientes e são as variáveis preditivas.
A probabilidade final é calculada usando a seguinte fórmula:
42
Similar a regressão linear a regressão logística é baseada em distribuição
estatística, trazendo o benefício de ser uma robusta ferramenta de mineração.
3.6.7 Análise de variância
As variáveis, ao final da regressão, são avaliadas através da análise de
variância. Neste procedimento a variação total nas variáveis dependentes é
subdividida em componentes significantes que são observados e então tratados de
maneira sistemática. A análise de variância é uma poderosa ferramenta usada na
mineração de dados. A análise de variância ou A NOVA é primariamente um método
que avalia se os índices em um sistema de regressão linear são diferentes de zero.
Tabela 1 Tabela ANOVA para regressão linear simples
Fonte de variação Soma dos quadrados df Quadrado médio F
Regressão SSR
Erro ou resíduo SSE
Total SST = SSR + SSE
Outros modelos estatísticos como log-linear e análise linear discriminante
também são implementados para minerar dados.
3.6.8 Árvore de decisão
Segundo Han e Kamber (1999), uma árvore de decisão é uma estrutura tipo um
gráfico de fluxo em forma de árvore, onde cada nodo interno denota um teste em um
atributo, e cada galho um resultado do teste. Os nodos folha representam as classes
ou distribuição de classes. É um método heurístico que envolve a construção de uma
árvore de decisão que cresce para baixo, a partir de um nodo raiz, com os nodos
ligados através de galhos. Os nodos das extremidades da árvore são chamados de
nodos folha. Começando pelo nodo raiz que é o ponto de partida para o diagrama de
43
decisão. As árvores de decisão são usadas para dividir um grande conjunto de dados
heterogêneo em pequenos conjuntos mais homogêneos
Algoritmo para treinamento de uma árvore de decisão a partir de um dado
conjunto de treinamento.
Entrada: Amostra de treinamento, amostras representadas por atributos
discretos; conjunto de atributos candidatos, lista de atributos.
Saída: Árvore de decisão.
Método:
1) criar o nodo N;
2) Se as amostras estão todas na mesma classe, C então
3) Retorne N como um nodo folha etiquetado com classe C;
4) Se Lista de Atributo vazia então
5) retorne N como nodo folha etiquetado com a classe mais comum na amostra//maioria
6) selecione atributo-teste, o atributo da lista de atributo com maior ganho de informação
7) etiquete o nodo N com atributo-teste;
8) Para cada valor conhecido a
i
dos atributos-teste // particionamento da amostra
9) acrescente um galho a partir do nodo N para a condição atributo-teste = a
i
10) atribua si o conjunto de amostras nas amostras para cada atributo-test = a
i
// uma partição
11) Se si é vazio então
12) atribua a etiqueta de folha com a classe mais comum da amostra
13) senão atribua a etiqueta do nodo retornado pela árvore de decisão formada.(s
i
, lista de
atributo, atributo-teste)
else attach the node returned by Generate decision tree(si, attribute-list -
test-
attribute);
Figura 10 - árvore de decisão implementada no SQL server.
3.6.9 Redes neurais artificiais
Embora ainda tratada como uma novidade, por muitos analistas, as redes
neurais passaram por três períodos de extensiva atividade. O primeiro foi ainda
nos anos de 1940 com o trabalho pioneiro de McColloch e Pitt na tentativa de criar
um modelo que simulasse o trabalho dos neurônios. O segundo, já vivendo os
44
avanços das tecnologias computacionais, foi nos anos de 1960 com o teorema do
perceptron convergente de Rosenblatt, e, o trabalho de Minsky e Papert mostrando
as limitações de um perceptron simples. O trabalho de Minsky e Papert entusiasmou
os pesquisadores, principalmente da área de ciência da computação. Em 1982 com
o desenvolvimento do algoritmo de Hopfield e o algoritmo para perceptron de
múltiplas camadas back-propagation. A partir dos anos de 1980 as redes neurais têm
amadurecido constantemente. Devido ao aumento do poder computacional, grandes
redes podem ser processadas em pequeno espaço de tempo (JAIN 1996).
As redes neurais apresentam grande eficácia no tratamento de dados
ruidosos, embora seja sensível a valores de atributos desproporcionais e ao
problema de overfiting, o que pode ser resolvido com normalização dos dados e
redução de casos ou discretização de atributos. As tarefas de mineração de dados,
onde as redes neurais têm sido usadas com maior freqüência, são as de regressão,
reconhecimento de padrões e de classificação, encontrando, inclusive, relações não
lineares entre os atributos de entrada e os de predição.
Cada neurônio em uma RNA é uma unidade básica de processamento. Um
neurônio tem um número de entradas e uma única saída. Ele combina todos os
valores de entrada, executa cálculos com eles, e dispara uma um valor de saída de
maneira similar aos neurônios biológicos. A Figura 11 mostra a estrutura de um
neurônio ele possui uma função que combina as entradas e uma função que calcula
a saída, a função de combinação combina as entradas em um valor único. Existem
vários modos de combinar as entradas, o mais comum é a soma de pesos onde é
feito um somatório do produto das entradas pelo seu peso. Outras combinações
usadas podem ser média, máximo, OU lógico, E lógico, entre outras. Similar ao
neurônio humano, pequenas alterações nas entradas podem resultar em grandes
alterações na saída da mesma forma que grandes alterações nas entradas podem
resultar em pequeno impacto na saída.
45
Figura 11: Modelo de um neurônio artificial
Figura 12: Rede neural simples
O trabalho com as Redes Neurais Artificiais (RNA) parte do princípio que o
cérebro humano computa de maneira completamente diferente dos computadores
convencionais, de maneira paralela enquanto os computadores computam de
maneira seqüencial.
46
Figura 13: Modelos de redes neurais
3.6.10 Auto-regressão
Auto-regressão é uma técnica popular para lidar com modelos baseados em
séries temporais, onde o termo corrente é obtido em função de uma combinação
linear dos termos de períodos anteriores da série.
Muitas séries temporais têm padrões sazonais. Por exemplo, as vendas de
certos artigos vão ser maiores no natal ou no inverno ou nos meses de verão.
Existem várias maneiras de lidar com a sazonalidade. Muitos algoritmos decompõem
a série e trata a sazonalidade independentemente.
Uma série temporal pode ter várias sazonalidades embutidas. Por exemplo,
um comportamento de vendas que teria como padrão uma sazonalidade de 12
meses, pode ter uma sazonalidade trimestral embutida. Uma solução encontrada
para este tipo de problema é a adição de mais uma coluna da tabela de caso
considerando este tipo de comportamento.
A maioria das implementações permite a informação sobre a sazonalidade
através da passagem de parâmetro. Quando o usuário não informa o parâmetro ele é
obtido, normalmente, através de transformação de Fourier, que é um método
conhecido e eficaz para análise de freqüências.
Em termos de DMX as séries podem ser um caso simples. As vendas
semanais do cimento durante o ano formam uma série temporal simples.
Normalmente os modelos de séries temporais são criados sobre séries temporais
47
múltiplas. A idéia principal de usar séries temporais múltiplas em mineração de
dados é considerar a venda de produtos correlacionados para montar o modelo. O
modelo implementado pela Microsoft usando árvore de auto-regressão detecta a
correlação entre os atributos caso ela exista.
3.7 Avaliação
Após a fase de modelagem normalmente obtemos um ou mais modelos
candidatos. É de suma importância que estes modelos sejam avaliados em
qualidade e eficácia antes de serem desenvolvidos para uso no mercado. Um
modelo inválido causa desperdício de tempo e dinheiro da empresa (Larose, 2005).
Para decidir qual é o melhor candidato, existem ferramentas que avaliam a qualidade
do modelo.
Na avaliação do modelo, além do uso de ferramentas, também é necessário
discutir a solução encontrada com analistas ou pessoas envolvidas diretamente com
o problema organizacional em questão. Podem ocorrer situações onde o modelo não
apresenta nenhum padrão útil. Isto ocorre devido a uma série de fatores. Um é o
conjunto de dados que apresenta características completamente randômicas, o que
não é muito freqüente, uma vez que, normalmente, informações em bases de dados
reais são ricas. Outro pode ser que o conjunto de variáveis escolhido não seja o mais
adequado a ser usado, neste caso é necessário executar novamente a limpeza e
transformação dos dados e selecionar variáveis mais adequadas ao modelo. É
importante lembrar que o processo de mineração de dados é cíclico. Neste caso é
necessário voltar às fases anteriores em busca de novos atributos ou fazer novas
transformações nos dados para adequar melhor ao modelo.
Cada modelo se adapta melhor a um tipo de atributos, por isto é importante
conhecer as características do modelo para aproveitar o melhor que ele tem a
oferecer.
3.8 Fase de desenvolvimento
48
Nos projetos de mineração de dados, encontrar o modelo é apenas parte do
trabalho. O objetivo final é usar este modelo para predição. Para isto é necessário
um modelo devidamente treinado e um conjunto de dados para testes. As funções de
predição devem fornecer uma base de conhecimento que facilite as tomadas de
decisão.
O uso de relatórios é um importante meio para visualização dos resultados da
mineração. A maioria das ferramentas de mineração de dados possui relatórios
predefinidos com saídas em formulários, texto ou em gráficos. Em seguida o projeto
de mineração de dados é embutido na aplicação empresarial fechando o ciclo da
mineração.
Os softwares para mineração mais modernos trazem mecanismos de consulta
tridimensional, permitindo uma visão mais detalhada e mais ilustrativa dos dados.
Softwares livres, como o caso do WEKA, disponibilizam além do resultado o
código fonte do modelo gerado que permite a incorporação deste código aos dados
obtidos no treinamento.
49
Capítulo 4.
Aplicação da mineração de dados para redução dos
níveis de estoque
4.1 Entendimento do problema organizacional
A empresa analisada mantém estoques altos buscando melhorar o nível de
atendimento ao cliente no que diz respeito a resposta a demanda, e, pela dificuldade
de controlar a grande variedade de ítens. Esta política, além de muito cara, nem
sempre consegue garantir um bom resultado. Com este tipo de controle, são
mantidos estoques altos para alguns ítens e quantidades muito baixas para outros. É
comum encontrar produtos com níveis altos mesmo sem movimentação longos
períodos. Um outro problema comum é a montagem de um pedido que possa trazer
um melhor custo benefício diminuindo os custos de pedido. Como algumas linhas de
produtos têm demanda dependente de moda ou mesmo de sazonalidade, um
controle mais gido evita perdas ou mesmo desvalorização dos ítens. Outro
problema é o tratamento da mesma forma para produtos com diferente importância
em relação ao giro e valor desviando recursos tanto de tempo quanto financeiros
para ítens menos importantes.
Falta ao gerente uma ferramenta que mostre o que poderá estar acontecento
no próximo mês ou até mesmo nos próximos meses. Esta estimação de demanda
normalmente é tomada de forma intuítiva e baseada em experiência e informação de
períodos anteriores. Esta prática pode até funcionar bem quando o número de ítens
a ser controlado é pequeno e as demandas apresentam um comportamento bem
definido.
Com base em levantamento da situação atual dos processos usados na
empresa para controle de movimentação de produtos foram detectados os seguintes
50
problemas a serem tratados:
Definir melhor os lotes de compra, atendendo o cliente sem comprometer
outros investimentos.
Definir a melhor maneira de agrupar os produtos para fazer menos pedidos
com maior variedade, no lugar de pedidos com pouca variedade e muita
quantidade, proporcionando um pedido mais econômico.
Manter ou melhorar o nível de atendimento ao cliente sem aumentar
investimentos em estoques.
A empresa não pode perder os descontos obtidos com a compra de
quantidades maiores, a não ser que a perda dos descontos seja
recompensada de outra forma.
Saber quais os itens que estão sendo comprados além do necessário de
acordo com a importância para a empresa em relação aos seus valores,e, os
itens que não estão tendo disponibilidade suficiente para atender a demanda.
4.2 Entendimento dos dados disponíveis para análise
A empresa utiliza um sistema legado integrado que armazena as operações
de nível transacional trabalhando sobre uma base de dados de 1,3 milhões de
registros de movimentação de itens. Além do registro de 1,2 milhões de títulos a
pagar e a receber, possui um total de 16.000 itens no estoque físico distribuídos em
400 grupos e 5.200 clientes. Algumas não serão tratadas neste trabalho por não
terem ligação direta com o problema.
Todas as operações de compra e venda de mercadorias passam pelo sistema.
Estas informações são relativas às movimentações dos últimos cinco anos. Os dados
estão disponíveis em uma base de dados no modelo relacional em tabelas e visões
de um DBMS, conforme mostra Figura 14. O uso de integridade referencial no banco
de dados melhora a qualidade dos dados analisados. A validação para campos do
51
tipo numéricos e de data também ajudam na integridade melhorando o resultado
gerado pelo modelo. É importante lembrar que nem todos os problemas podem ser
resolvidos implementando integridade referencial ou restringindo faixas ou tipo de
valores para os atributos.
Figura 14: Estrutura da data mart com dados parciais das tabelas
A base de dados usada trata informações de todos os processos transacionais
referentes à movimentação de produtos e serviços, finanças e pessoal. Para este
estudo foi selecionado apenas um data mart com tabelas que afetam diretamente a
movimentação e demanda de produtos em um período de cinco anos.
Tabela filial: define os dados das filiais. As vendas, assim como os pedidos de
produtos, estão vinculadas as filiais, podendo ser analisadas junto ou
separadamente.
Tabela de Produtos: dados de especificação dos produtos, dados sobre tributação e
classificação dos itens.
Tabela de Pedidos: tabela com dados de pedidos.
52
Tabela de Itens de pedidos: relação de itens que fazem parte dos detalhes de
pedidos com os preços praticados, quantidade comprada, descontos e impostos
Tabela de vendas: dados de vendas e campos de relacionamento dos faturamentos
Tabela de Itens de vendas: detalhes dos itens das notas de venda
Tabela de tributação: Tabela com as tributações das entradas e saídas de produtos
Tabela de Grupos: Tabela com o agrupamento de produtos
Outras tabelas complementares foram usadas para testar os primeiros
modelos e foram descartadas por não serem necessárias ou não apresentarem
relevância para o problema em questão. Além das tabelas selecionadas ainda foram
criadas visões para melhorar o desempenho das buscas.
4.3 Preparação dos dados.
Por apresentar uma grande quantidade de dados disponíveis, as amostras
contendo características com valor nulo, assim como valores absurdos, foram
descartadas sem prejudicar as respostas do processo de mineração. As
características referentes a valores foram normalizadas usando o método mini-max e
suavizados através de funções de arredondamento reduzindo a quantidade de casos
para as características, o que normalmente melhorou a resposta do modelo.
Algumas características como a classificação ABC dos produtos, foram
obtidas através da transformação de uma característica contínua em característica
discreta, neste caso a quantidade valorizada transformada em um atributo que pode
assumir os valores A, B ou C de acordo com o comportamento das vendas de cada
item. Esta transformação ou redução de características é provavelmente um dos
fatores mais importantes para determinar a qualidade da solução de mineração de
dados. No caso de dados obtidos através de totalização, foi aproveitada somente a
parte inteira para evitar problemas de Overfiting, e é uma maneira de suavizar os
dados, já que a maioria dos modelos é sensível a este tipo de característica. A
53
sentença SQL abaixo mostra o comando de dados para obter os totais convertidos
para o tipo inteiro.
SELECT cast(sum (quant) as integer) venda FROM item pedido
Com os dados preparados e transformados, foram criadas as consultas para
distribuir os dados em estrutura Estrela mostrada na Figura 15. Ao mesmo tempo
foram acionados os primeiros procedimentos de limpeza e seleção de dados. Esta é
a fase mais exaustiva e acabou levando mais tempo que o esperado. É nesta fase
que aparecem as anomalias e inconsistências presentes no banco de dados.
Figura 15 - Modelo relacional dos dados
54
Esquema Estrela de banco de dados
O modelo de banco chamado Esquema Estrela, apresenta uma série de vantagens
sobre o relacional em relação ao Data Warehouse sobre os modelos relacionais
convencionais. Podem ser descritas como:
Permite resposta mais rápida apesar de um menor número de índices;
Simplificação do projeto produzindo melhores planos de execução;
Possui uma estrutura mais intuitiva, assemelhando o projeto do banco de dados
com a forma com que o usuário final pensa e utiliza os dados;
Simplifica o entendimento e a navegação dos usuários e desenvolvedores.
O Esquema Estrela é composto basicamente por dois tipos de tabelas: as
tabelas de fato e as de Dimensão. A tabela de fato é o núcleo do esquema,
registrando detalhes de cada transação. Por exemplo, vendas, pagamentos e
serviços executados, enquanto que as tabelas de Dimensão armazenam
basicamente as descrições do negócio, como dados sobre o produto (fabricante,
custo), tempo (dia, hora) e cliente (nome, endereço, classe social). As tabelas de
Dimensão são compostas por uma única chave primária que, por sua vez, formará a
chave composta da tabela de Fatos. Este modelo também é conhecido como modelo
Dimensional. Cada negócio ou assunto possui sua tabela de Fatos e as respectivas
tabelas de Dimensões. Um Data Warehouse corporativo, normalmente, é composto
por diversos assuntos ou negócios.
55
Figura 16: Estrutura de dados no modelo estrela
4.4 Modelagem
Para este trabalho foram testados diferentes modelos. Os modelos
implementados usam 10% dos dados obtidos das fontes de dados, devidamente
preparadas para treinamento, ficando o restante disponível para teste como mostra a
figura 12. Foram desenvolvidos modelos usando cluster, árvores de decisão e redes
neurais com diferentes conjuntos de parâmetros, focando a predição de demanda,
custo e classificação dos itens. Mesmo sendo a fase central do processo de
mineração, ela foi bem menos dispendiosa em relação a fase de preparação de
dados, porém quanto mais bruto estiver o conjunto de dados disponível para
modelagem, menor a chance de convergência.
56
A
Figura 17
mostra o resultado da predição do modelo comparada com os
dados amostrais, além da predição para o próximo período.
Os valores previstos podem ser obtidos através de comandos DMX (Data
Mining eXtensions) descrevendo o ítem que se quer fazer a predição e o número de
período que se pretende analisar. O comando abaixo mostra uma consulta que
busca a venda prevista para os próximos três períodos dos produtos 3661 e 3708.
Usando a função Predict Time Séries aplicada ao modelo TSVENDAS.
SELECT CODIGO, PredictTimeSeries(VENDA, 3) As VENDAS
FROM TSVENDAS WHERE CODIGO = 3661 OR CODIGO = 3708
Figura 17: Gráfico mostrando as curvas relativas com o resultado do modelo para os
produtos 3738 e 4511
Os valores gerados a partir da consulta realizada sobre o modelo de predição
podem ser observados na Figura 18 onde cada produto é mostrado como uma tabela
de detalhe ligada ao produto que ela pertence. Estes resultados também podem ser
apresentados em forma de relatórios, que ficam disponíveis para acesso a nível
gerencial nas empresas, podendo ser consultados usando o parâmetro que for mais
57
conviniente, além de poder linkar os dados com os dados das tabelas do banco de
dados relacional.
Figura 18 - Resultado da aplicação da função de predição gerada pelo modelo
4.5 Avaliação
A avaliação da qualidade de cada modelo foi feita usando o modelo real
comparado com a previsão para aquele período que aconteceu, onde o modelo
treinado foi usado para fazer a predição de valores do conjunto de dados separados
para teste. Baseado nos valores obtidos na predição e em probabilidade, o modelo é
representado em um gráfico.
Para avaliar a aplicação dos modelos, toma-se como base o resultado
histórico das movimentações de 5 (cinco) anos considerando o período mensal de
movimentação para medidas de desempenho de compras dos principais ítens
segundo a classificação ABC, levando em consideração a demanda para o período e
a compra realizada para suprir esta demanda. Foi visto que, mesmo seguindo um
critério de compras baseado em políticas de estoque, muitas vezes os produtos são
58
adquirídos em quantidades inadequadas. Esta aquisição inadequada, leva os
estoques a um nível pelo menos 20% acima do que ele poderia estar sem afetar o
nível de atendimento ao cliente. Estes 20% de economia podem de forma eficaz
melhorar o serviço ao cliente através de crédito próprio ou ainda obter preços
melhores na aquisição de produtos à vista.
Figura 19: Controle do fluxo de dados
4.6 Fase de implementação
Aplicada com os modelos candidatos preparados e avaliados usando o
conjunto de dados separados para testes. Estes modelos são aplicados em períodos
anteriores onde o comportamento da movimentação de produtos é conhecido.
Na implementação do modelo foi gerada uma estrutura de mineração de
dados que permite fazer predição de demanda ou de classe de produtos com base
nas variáveis de entrada passadas como parâmetro para a função de predição
gerada em cada modelo. A partir das funções de predição, também foram criados
relatórios de predição de demanda e custo de aquisição de produtos em tempo real,
além de saber quais os grupos de produtos estão com quantidades mais
inadequadas.
59
Para recuperação de informações dos modelos, usam-se comandos DMX que
podem ser usados diretamente no prompt de comando como uma consulta ou
através de assistente de consultas. Para buscar as vendas dos produtos com código
500 para os próximos 5 períodos, por exemplo, basta aplicar a função:
SELECT código, PredictTimeSeries(vendas, 5) As Vendas500
FROM VendasTS WHERE CODIGO = 500
60
Capítulo 5
Conclusão
O uso de ferramentas de mineração de dados para resolução de problemas
empresariais tem atraído muitos pesquisadores em diversas áreas, como a ciência
da computação, estatística, engenharias e gerência. Muita iniciativa por parte dos
fabricantes de softwares e universidades vem tornando a técnica cada dia mais
popular. Também impulsionado pelo espírito de novidade, é muito comum
desenvolvedores divulgarem a presença de ferramentas de mineração de dados ou
mesmo de BI em seus softwares, porém, a maioria, usa esta estratégia apenas para
atrair os holofotes do mercado para os seus produtos. No caso especial de
gerenciamento de estoques, o método baseado fornece recursos que permitem
decidir sobre itens com diferentes comportamentos de demanda. A situação dos
níveis para o próximo, ou próximos meses, é mostrada através de tabelas aninhadas
que permitem avaliar mais que um período posterior.
Com as instituições a cada dia mais informatizadas e automatizadas, e com
bancos de dados cada vez mais impulsionados pela alta disponibilidade de recursos
de software, hardware e conectividade, é possível ter todas as informações sobre
itens de estoque e o comportamento das transações relacionadas a eles em uma
base de dados de rápido acesso. A popularização do ERP, assim como o CRM, é
uma realidade acessível às empresas de pequeno e médio porte. Trabalhar com
ferramentas que permitem predizer as próximas etapas das instituições pode ser
uma próxima etapa da evolução do uso de sistemas.
Com o crescimento dos dados cresce também a necessidade de se realizar
uma análise mais aprimorada melhorando compreensão dos dados dentro do
contexto onde estes estão inseridos. Na era do terabyte e da computação distribuída,
61
é importante ter recursos que permitam cada vez mais uma tomada de decisão
baseada em dados. Surge também a demanda de profissionais multidisciplinares, ou
seja, com conhecimento nas áreas de banco de dados, estatística e aprendizado de
máquina, além do conhecimento da área específica onde vai ser aplicado o modelo
de busca de conhecimento.
Este trabalho buscou mostrar um modelo e sua implementação, baseado em
mineração de dados, para o tratamento de uma grande massa de dados em empresa
de material de construção, podendo ser aplicado também em empresas de outros
ramos de atividade, considerando os devidos cuidados em relação à preparação dos
dados que é a etapa mais dispendiosa do processo, e a característica do banco de
dados a ser trabalhado. Para aplicação do modelo gerado para este caso é
necessário um estudo para verificar a periodicidade das compras e o nível de
estoque de segurança.
Este modelo facilita a tarefa de análise de dados permitindo ao setor de
compras uma melhor visão da situação, e embora exija um esforço de adaptação ao
uso da tecnologia, depois de modelado e devidamente disponibilizado para consulta,
o uso do modelo já treinado passa a ser uma questão de abrir relatórios, escolhendo
os parâmetros desejados.
É de primordial importância o envolvimento dos executivos da empresa no
projeto como um todo. assim a mineração de dados será inserida nas empresas,
pois mesmo havendo um grande interesse sobre o assunto, ainda são poucas as
empresas que tomam decisões com base em informações geradas a partir de
modelos baseados em mineração de dados.
Mineração de dados não é uma ferramenta automática e infalível onde as
coisas acontecem como em passe de mágica. Sem uma base de dados consistente
ou devidamente preparada, se torna praticamente impossível a implementação de
modelos convergentes. Mesmo conseguindo um modelo adequado, é necessário um
plano de reavaliação do modelo, prevenindo, assim, as mudanças de comportamento
de mercado que passam os resultados esperados.
62
Para que o modelo possa ser usado nos períodos seguintes, foram usadas
consultas ao banco de dados de forma dinâmica que sempre que quiser treinar o
modelo com dados atualizados, basta fazer uma recompilação. Nesta recompilação o
modelo busca os dados atualizados gerados pelas sentenças das consultas
transacionais da empresa. No caso de mudança de estrutura ou características de
dados envolvidos é recomendado rever a modelagem criando um modelo mais
apropriado a esta nova situação.
A contribuição deste trabalho foi o desenvolvimento de uma metodologia que
permite aos gerentes de estoque uma tomada de decisão mais fundamentada e
rápida. Além de apresentar uma ferramenta muito pesquisada, mas raramente usada
na prática. Imagine que, na maioria das vezes, os executivos têm dificuldade em
definir, até mesmo, as necessidades dos sistemas transacionais que lidam com os
processos rotineiros da empresa
Por ser um campo relativamente novo, muito ainda pode ser feito em relação
ao uso de mineração de dados para resolução de problemas de análise de dados
nas empresas. Hoje, com o envolvimento de grandes empresas no projeto, podemos
dizer que um consenso quando a definição de um protocolo geral para a
mineração de dados.
Embora as pesquisas nas áreas de mineração de dados tenham crescido mais
nas empresas que no meio acadêmico, pode-se dizer que o crescimento vertical da
tecnologia se primeiro nas universidades para depois ser implementado em
softwares voltados para o mercado.
O desenvolvimento de ferramentas, assim como algoritmos de treinamento,
ainda é um campo aberto. Os pacotes de mineração de dados ainda são
relativamente pobres em relação a isto. Como é o caso do modelo de redes neurais
do SQL Server, que apresenta a rede Backpropagation usando o método do
gradiente conjugado para treinamento do modelo com as funções de ativação
tangente hiperbólica nas camadas escondidas e sigmoid nos nodos de saída.
63
Com o crescimento das aplicações na web, um grande desafio de hoje é
transformar o conteúdo distribuído nos sites formulários e até mesmo imagens em
conhecimento. E usar este conhecimento para descobrir padrões de uso de internet
como o uso de documentos indexados e conteúdos textuais das páginas, assim
como as características de navegação. Na literatura já existe muito material sobre o
assunto.
Para desenvolver aplicações voltadas à descoberta de conhecimento e em
banco de dados, as empresas, assim como os usuários, precisam passar por um
período de adaptação e comprovação de resultados.
64
Referências Bibliográficas
BALLOU, R. H. Gerenciamento da cadeia de suprimentos: planejamento,
organização e logística empresarial. Porto Alegre: 5. ed. Bookman, 2006
BOWERSOX, D.J. e CLOSS, D.J. Logística Empresarial: O Processo de
Integração da Cadeia de Suprimentos. São Paulo: Atlas, 2007.
CHOPRA, SUNIL; MEINL, PETER. Gerenciamento da Cadeia de Suprimento:
Estratégia, Planejamento e Operação. São Paulo: Prentice Hall, 2003
CODY, RON. Cody’s Data Cleaning Techniques Using SAS. 2. ed. Cary, Nc: Sas
Institute Inc, 2008.
GOLDSCHMIDT, R. & PASSOS, E. Data Mining – Um Guia Prático. Rio de Janeiro:
Campus, 2005
FAYYAD U, PIATETSKY-SHAPIRO G, SMYTH P (1996) Knowledge discovery and
data mining: Towards a unifying framework. In: Proceedings of the 2nd
ACMinternational conference on knowledge discovery and data mining (KDD),
Portland, OR, pp 82–88
GAROFALAKIS, MINUS, Building decision tree with constraints, Kluwer
Academic Publishers, 2003.
HAN, JIAWEI KAMBER, MICHELINE. Data Mining: Concepts &Techniques,New
York, Morgan Kaufmann (1999).
HAND, DAVID; MANNILA, HEIKKI; SMYTH, PADHRAIC. Principles of Data Mining,
Cambridge, The Mit Press, 2001
JAIN, ANIL K., MICHIGAN State University, IEEE Transactions on Evolutionary
Computation 1996.
65
KANTARDZIC, MEHMED. Data Mining: Concepts, Models, Methods, and
Algorithms, NJ, Wiley-Interscience, 2003.
LAROSE, D. T. Discovering knowledge in data : an introduction to data mining.
EUA: Wiley Computer Publishing, 2005
MENDEU, JERRY M., Fuzzy Logic Systems for Engeneering: A tutorial, 1995
PRINCIPE JOSE C., Artificial Neural NetWorks, The Electrical Engineering
Handbook, Ed. Richard C. Dorf, Boca Raton, 2000.
RUD, OLIVIA PARR, Data Mining Cookbook Modeling Data for Marketing, Risk
and Customer Relationship Management. EUA: Wiley Computer Publishing, 2001.
SHAPIRO, GREGORY PIATETSKY, Data mining and knowledge discovery 1996
to 2005:overcoming the hype and moving from “university”to “business” and
“analytics”,
SLACK NIGEL, CHAMBERS STUART, HARLAND CHRISTINE, HARRISON
ALAN,JOOHNSTON ROBERT. Administração da produção. São Paulo:Editora
Atlas. 1999.
VEAUX, RICHARD D. DE; HAND, DAVID J.. How to Lie with Bad Data.
Statistical Science, Durham, v. 20, n. 3, p.231-238, 2005.
ZHOU, YUNFEI, A new fuzzy neural network with fast learning algorithm and
guaranteed stability for manufacturing process control, 2002
66
Apêndice A
Exemplo de um modelo de PMML para regressão
The XML Schema for RegressionModel
<xs:element name="RegressionModel">
<xs:complexType>
<xs:sequence>
<xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="MiningSchema" />
<xs:element ref="Output" minOccurs="0" />
<xs:element ref="ModelStats" minOccurs="0" />
<xs:element ref="Targets" minOccurs="0" />
<xs:element ref="LocalTransformations" minOccurs="0" />
<xs:element ref="RegressionTable" maxOccurs="unbounded" />
<!-- optionally, specification of the decision logic -->
<xs:element ref="ModelVerification" minOccurs="0" />
<xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="modelName" type="xs:string" />
<xs:attribute name="functionName" type="MINING-FUNCTION" use="required" />
<xs:attribute name="algorithmName" type="xs:string" />
<xs:attribute name="modelType" use="optional">
<xs:simpleType>
67
<xs:restriction base="xs:string">
<xs:enumeration value="linearRegression" />
<xs:enumeration value="stepwisePolynomialRegression" />
<xs:enumeration value="logisticRegression" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="targetFieldName" type="FIELD-NAME" use="optional" />
<xs:attribute name="normalizationMethod"
type="REGRESSIONNORMALIZATIONMETHOD" default="none"/>
</xs:complexType>
</xs:element>
<xs:simpleType name="REGRESSIONNORMALIZATIONMETHOD">
<xs:restriction base="xs:string">
<xs:enumeration value="none" />
<xs:enumeration value="simplemax" />
<xs:enumeration value="softmax" />
<xs:enumeration value="logit" />
<xs:enumeration value="probit" />
<xs:enumeration value="cloglog" />
<xs:enumeration value="exp" />
<xs:enumeration value="loglog" />
<xs:enumeration value="cauchit" />
</xs:restriction>
</xs:simpleType>
68
Apêndice B
Sentença SQL usadas para coletade dados
Sentença SQL para classificação dos produtos
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [dbo].[CLUSTERABC] AS
SELECT P.CODIGO, P.NOME, P.CUSTOMED/10000 CUSTO, Q.QUANTIDADE
ESTOQUE, P.UNIDADE,
(SELECT avg(I.quant)
FROM ITEMPEDIDONF I
WHERE I.CODIGO = P.CODIGO)/10000 MEDIA,
(SELECT
case When sum(i.quant*i.preco_uni) >12000 then 'A'
When sum(i.quant*i.preco_uni) > 4500 then 'B'
else 'C'
end
FROM ITEMPEDIDONF I WHERE I.CODIGO = P.CODIGO AND I.TIPO = -1)
ABC,
(SELECT SUM(quant) from itempedidonf i, pedidonf n
where i.codpednf = n.codpednf and
i.codigo = p.codigo and n.tipomov < 6 and
n.dataemissao <= '2008/07/11' and n.dataemissao >= '2008/06/11')/100000
Demanda,
q.quantidade/100000 - (SELECT SUM(quant) from itempedidonf i, pedidonf n
where i.codpednf = n.codpednf and
i.codigo = p.codigo and n.tipomov < 6 and
n.dataemissao <= '2008/07/11' and n.dataemissao >= '2008/06/11')/100000
DIF,
CASE WHEN q.quantidade/100000 - (SELECT SUM(quant) from itempedidonf i,
pedidonf n
where i.codpednf = n.codpednf and
i.codigo = p.codigo and n.tipomov < 6 and
n.dataemissao <= '2008/07/11' and n.dataemissao >= '2008/06/11')/100000
< 0 THEN -1
WHEN q.quantidade/100000 - (SELECT SUM(quant) from itempedidonf i,
pedidonf n
69
where i.codpednf = n.codpednf and
i.codigo = p.codigo and n.tipomov < 6 and
n.dataemissao <= '2008/07/11' and n.dataemissao >= '2008/06/11')/100000
= 0 THEN 0
ELSE 1
END STATUS
FROM PRODUTOS P, ESTOQUECALC Q
WHERE P.CODIGO = Q.CODIGO AND P.CODIGO IN (SELECT I.CODIGO FROM
ITEMPEDIDONF I, PEDIDONF N
WHERE I.CODPEDNF = N.CODPEDNF AND
N.DATAEMISSAO >= '2003/01/01' AND
N.TIPOMOV=6)
Sentensa SQL para buscar os trinta produtos de maior giro
CREATE VIEW [dbo].[DM_PRODUTOSTOP]
AS
SELECT TOP (30) CODIGO, NOME, PRECOVENDA, CUSTOMED, DEPART,
(SELECT COUNT(*) AS Expr1
FROM dbo.ITEMPEDIDONF AS I
WHERE (P.CODIGO = CODIGO)) AS PEDIDOS
FROM dbo.PRODUTOS AS P
ORDER BY PEDIDOS DESC
Sentensa SQL para buscar os ítens classificando pelo lucro
CREATE VIEW [dbo].[CLASSILUCRO] AS
SELECT P.CODIGO, P.NOME,
(SELECT SUM(I.QUANT*I.PRECO_UNI)
FROM ITEMPEDIDONF I, PEDIDONF N
WHERE I.CODPEDNF = N.CODPEDNF AND I.CODIGO = P.CODIGO AND I.TIPO
= 1
AND YEAR(N.DATAEMISSAO)= 2007) COMPRA,
(SELECT SUM(I.QUANT*I.PRECO_UNI)
70
FROM ITEMPEDIDONF I, PEDIDONF N
WHERE I.CODPEDNF = N.CODPEDNF AND I.CODIGO = P.CODIGO AND I.TIPO
= -1
AND YEAR(N.DATAEMISSAO)> 2007) VENDAS,
(SELECT SUM(I.QUANT*(I.PRECO_UNI*G.LUCROD/100))
FROM ITEMPEDIDONF I, PEDIDONF N, PRODUTOS G
WHERE G.CODIGO = I.CODIGO AND I.CODPEDNF = N.CODPEDNF AND
I.CODIGO = P.CODIGO AND I.TIPO = -1
AND YEAR(N.DATAEMISSAO)> 2007) LUCRO
FROM PRODUTOS P
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