Data Mining
Alexandre G. Evsukoff
evsukoff@coc.ufrj.br
http://www.ntt.ufrj.br
http://www.cs.sfu.ca/~han/dmbook
Sistemas Inteligentes: Fundamentos e Aplicações
Programa:
• Segunda-feira 31/01
9 Introdução
9 Caracterização e Pré-Processamento
9 Classificação Supervisionada
• Terça-feira 01/02
9 Classificação Não Supervisionada
9 Modelos de Regressão Linear
Increasing potential
to support
business decisions End User
Making
Decisions
Data Exploration
Statistical Analysis, Querying and Reporting
Data Sources
Paper, Files, Information Providers, Database Systems, OLTP
Data Mining e Business Intelligence
Aplicações
Dados espaciais:
Agrupamento de pontos geograficos de acordo com a utilização do terreno
Integração com Sistemas de Informação Geográfica (GIS)
Imagens:
Classificaçãi de imagens através de contexto
Utiliza o tamanho, cor, forma, textura e posições relativas na imagem como atributos
para os algoritmos de classificação
Bioinformática:
Identificação e classificação de gens e proteinas
Classificação de sequencias de DNA: Projeto Genoma
Weka
Weka é um software de domínio público, desenvolvido em Java pela universidade de Waikato, que
implementa uma série de algoritmos de Data Mining.
Intelligent Miner
O Intelligent Miner, desenvolvido pela IBM, é uma ferramenta de Mineração de Dados que possui
interligação direta com o banco de dados DB2, também da IBM.
Sistema de mineração de dados desenvolvido pela Oracle que permite interligação direta com o Banco de
Dados Oracle Enterprise 9i.
Enterprise Miner
A nova versão do SAS Enterprise Miner, para Data Mining tradicionalmente utilizado na área de negócios,
marketing e inteligência competitiva
Data Mining é uma atividade multidisciplinar que envolve diversas áreas. Fornece as ferramentas
para a descoberta de conhecimento em grandes massas de dados. Data Mining não é uma
tecnologia nova, mas um campo de pesquisa multidisciplinar, envolvendo estatística, aprendizado
de máquinas, banco de dados, sistemas especialistas, técnicas de visualização de dados e
computação de alto desempenho de forma fortemente acoplada.
Banco de Dados
Data Warehouse
Métodos Estatísticos Arquiteturas Paralelas
Análise Multivariada Grid Computing
Data Mining
Lógica Fuzzy
Visualização de Dados
Redes Neurais
Métodos Qualitativos
Algoritmos Genéticos
Aprendizado de Máquina
Sistemas Especialistas
DATA MINING
ATIVIDADES ATIVIDADES
PREDITIVAS DESCRITIVAS
REGRAS DE
CLASSIFICAÇÃO PREDIÇÃO CLUSTERING SUMARIZAÇÃO
ASSOCIAÇÃO
Visualização de Dados: OLAP
14
12
50
10
100
150
200
4
250
2
60 60
50 50
40 40
30 30
20 20
10 10
0 0
5 10 15 20 25 30 35 40 10 15 20 25 30 35 40
Um gráfico de distribuição permite verificar visualmente se uma determinada amostra foi gerada
com uma determinada distribuição de probabilidades. O gráfico de distribuição realiza uma
mudança de coordenadas de forma que se os pontos da amostras aparecerem dispostos numa
linha, indica que a amostra foi gerada pela distribuição de probabilidades associada ao gráfico. O
gráfico de distribuição normal (abaixo) permite verificar se uma amostra foi gerada por uma
distribuição de probabilidades normal
0.95
0.90
0.75
Probability
0.50
0.25
0.10
0.05
0.02
0.01
8.5 9 9.5 10 10.5 11 11.5 12
Data
Caracterização e Pre-processamento: Gráficos de distribuição
O gráfico de distribuição quantil-quantil permite verificar se duas amostras foram geradas com a
mesma distribuição (normal ou não).
12 7
10 6
5
8
4
Y Quantiles
Y Quantiles
6
3
4
2
2
1
0 0
-2 -1
2 4 6 8 10 12 14 16 18 20 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7
X Quantiles X Quantiles
Amostras geradas com a mesma distribuição Amostras geradas com distribuição diferentes
Box Plots
Caracterização e Pre-processamento: Box Plots
WOIL Treino
0.9
0.8
0.7
0.6
Values
0.5
0.4
0.3
0.2
0.1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
Column Number
Detecção de valores aberrantes (outliers)
Valores aberrantes (outliers) são valores de registros muito distantes da média de uma variável
aleatória. Esta distância normalmente é medida em relação ao desvio padrão da amostra.
Supondo a distribuição normal, 95% dos valores estão distantes da média de duas vezes o desvio
padrão, enquanto três vezes o desvio padrão cobrem que 99% dos valores
0.4
0.35
0.3
0.25
0.2
0.15
99%
0.1
95%
0.05
0
-4 -3 -2 -1 0 1 2 3 4
Cov( X , Y )
Corr ( X , Y ) =
σ ( X )σ (Y )
4 3
3
2
1
1
0 0
-1
-1
-2
-2
-3
-4 -3
-3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3
A Análise dos Componentes Principais (ACP) é um método quantitativo para obter essa redução
de dimensionalidade. O método gera uma transformação linear da base de dados original, cujas
componentes são chamadas componentes principais. Cada componente principal é uma
combinação linear das variáveis originais. Todos os componentes principais são ortogonais entre
si, formando uma base de um outro espaço vetorial, geralmente de menor dimensão, na qual a
projeção da base de dados original neste espaço não contém nenhuma informação redundante.
Y = XP
e2
X1
Análise de Componentes Principais
Em problemas de classificação, a redução de dimensionalidade realizada pela ACP pode não ser
necessariamente interessante. Observe que a projeção dos dados na direção da máxima
variância (componente principal e1 ) faz as duas classes quase coincidirem, enquanto que a
projeção na outra direção (componente principal e 2 ) tem melhor efeito para separação das
classes. X2
e1
e2
X1
Classificação Supervisionada
classe 1 classe 2 2
classe 1 classe 2
2 1.5
1
0.5
0
0
-0.5
-1
-1
-1.5
-2
-2
-3 -2.5
-5 -4 -3 -2 -1 0 1 2 3 4 5 -5 -4 -3 -2 -1 0 1 2 3 4
Classificação Supervisionada
{ }
representadas pelo conjunto de classes Ω = ω j , j = 1...m . O problema consiste em identificar a
p( x | ωi )
p( x | ω 2 )
p( x | ω1 )
x0
R1 R2
20 20
15 15
10 10
5 5
x2
x2
0 0
-5 -5
-10 -10
-15 -15
-20 -20
-80 -60 -40 -20 0 20 40 60 80 -80 -60 -40 -20 0 20 40 60 80
x1 x1
Árvores de Decisão:
Uma Árvore de Decisão (AD) é uma estrutura de dados definida recursivamente como:
• Um nó decisão que contém um teste sobre algum atributo. Para cada resultado do teste existe
uma aresta para uma subárvore. Cada subárvore tem a mesma estrutura que a árvore.
Aparência
Árvores de Decisão:
Uma AD pode ser representada como um conjunto de regras. Cada regra tem seu início na raiz da
árvore e caminha até suas folhas:
Aparência
se Aparência = Sol então
se Umidade ≤ 78
Viajar = SIM Sol Nublado Chuva
Dado um conjunto de treinamento T , o algoritmo para um gerar uma AD para separar um conjunto
de classes Ω = {ω1 , ω2 , K , ωm } é constituído dos seguintes passos:
2. O conjunto T contém exemplos pertencentes a várias classes. Neste caso, o conjunto T deve
ser particionado em subconjuntos que são (ou aparentam ser) conjunto de exemplos da
mesma classe.
{
denotados Ai1 , Ai 2 , K , Aini } , para selecionar subconjuntos {T1 , T2 , K , Tn } , onde cada
i
Interpretação Geométrica
No caso em que os atributos têm valores contínuos, cada registro do conjunto de treinamento
como um ponto em um espaço n-multidimensional dos atributos. Neste caso, o classificador obtido
por uma AD deverá particionar o o espaço dos atributos em regiões e associar cada região a uma
classe.
http://www.kdnuggets.com/software/classification.html
Comerciais
C5.0/See5 (http://www.rulequest.com/)
CART 5.0 (http://www.salford-systems.com/)
DTREG (http://www.dtreg.com/)
KnowledgeSEEKER (http://www.angoss.com/) .
PolyAnalyst (http://www.megaputer.com/)
SPSS AnswerTree (http://www.spss.com/)
XpertRule Miner (http://www.attar.com/)
Free ware
C4.5 (http://www.cse.unsw.edu.au/~quinlan/)
Classification Tree in Excel (http://www.geocities.com/adotsaha/CTree/CtreeinExcel.html)
IND (http://ic.arc.nasa.gov/projects/bayes-group/ind/IND-program.html).
ODBCMINE (http://www.intsysr.com/odbcmine.htm)
PC4.5 (http://cs1.cs.nyu.edu/~binli/pc4.5/)
SMILES (http://www.dsic.upv.es/~flip/smiles/)
Estudo de Caso: A Base Iris
•150 exemplos
•4(quatro) atributos contínuos
•3(três) classes
•50 exemplos pertencentes a cada classe
50 50
Classe 1 Classe 1
Classe 2 Classe 2
40 40
Classe 3 Classe 3
Frequencia (%)
Frequencia (%)
30 30
20 20
10 10
0 0
-0.5 0 0.5 -0.5 0 0.5 1
x1 x2
50 50
Classe 1 Classe 1
Classe 2 Classe 2
40 40
Classe 3 Classe 3
Frequencia (%)
Frequencia (%)
30 30
20 20
10 10
0 0
-0.5 0 0.5 -0.4 -0.2 0 0.2 0.4
x3 x4
Estudo de Caso: A Base Iris
2 1
0.5
1
x2
x3
0
0
-0.5
-1 -1
-1 -0.5 0 0.5 1 -1 -0.5 0 0.5 1
x1 x1
1 1
0.5
0.5
x4
x3
0
0
-0.5
-0.5 -1
-1 -0.5 0 0.5 1 -1 -0.5 0 0.5 1 1.5
x1 Graficos de projeçao:
x2 variaveis originais
1 1
0.5 0.5
x4
x4
0 0
-0.5 -0.5
-1 -0.5 0 0.5 1 1.5 -1 -0.5 0 0.5 1
x2 x3
Classificação Não-Supervisionada
2.5 2.5
2 2
1.5 1.5
1 1
0.5 0.5
0 0
-0.5 -0 .5
-1 -1
-1.5 -1 .5
-2 -2
-2.5 -2 .5
-5 -4 -3 -2 -1 0 1 2 3 4 -5 -4 -3 -2 -1 0 1 2 3 4
Métodos de Particionamento:
1
J (W) = ∑ ∑ d (x(t ), w i )
2
N t =1.. N x (t )∈ωi
Os métodos baseados em distância são afetados pela diferença de escala entre os valores dos
atributos, sendo necessário normalizar os atributos.
Uma expresão de normalização de atributos no intervalo [− 1,1] e que é menos sensível aos
outliers pode ser calculada como:
onde med(x) é o vetor com as médias dos atributos; sdv (x) representa os desvios-padrão e α
uma constante que reflete a percentagem de dados no interior do intervalo [− 1,1] . Geralmente
O Algoritmo K-means:
1
algoritmo calcula a distância
de cada ponto do conjunto
de treinamento às
x2
0.5
coordenadas das
0 estimativas de centro de
agrupamento
-0.5
-1
-1.5 -1 -0.5 0 0.5 1 1.5
x1
O Algoritmo K-means:
A seguir, o algoritmo aloca cada registro do conjunto de treinamento em um grupo, de acordo com
a menor distância ao centro correspondente.
kmeans
2
1.5
1
x2
0.5
-0.5
-1
-1.5 -1 -0.5 0 0.5 1 1.5
x1
O Algoritmo K-means:
A nova estimativa das coordenadas dos centros dos agrupamentos é calculada pela média
aritimética das coordenadas dos pontos associados a cada grupo.
kmeans
2
1.5
1
x2
0.5
-0.5
-1
-1.5 -1 -0.5 0 0.5 1 1.5
x1
O Algoritmo K-means:
3) Atualizar a matriz dos centros de agrupamentos pela média das coordenadas dos pontos em
cada agrupamento:
∑ χ i (x(t )).x(t )
w i = t =1.. N
∑ χ i (x(t ))
t =1.. N
4) FIM
O Algoritmo K-means:
⎧1, se x(t ) ∈ ωi
χ i (x(t )) = ⎨
⎩0, se x(t ) ∉ ωi
ε = Wκ − Wκ −1 < δ
Nesta análise existe o conhecimento prévio sobre a estrutura nos dados de treinamento de que
existem, na verdade, 3 agrupamentos. O problema tem n = 4 atributos, mas para permitir a
visualização da posição dos centros de agrupamento, os pontos serão apresentados no espaço
2D formado pelas variáveis transformadas pela Análise de Componentes Principais.
kmeans kmeans
1 1
0.8 0.8
0.6 0.6
0.4 0.4
0.2 0.2
x2
x2
0 0
-0.2 -0.2
-0.4 -0.4
-0.6 -0.6
-0.8 -0.8
-1 -1
-1 -0.5 0 0.5 1 1.5 -1 -0.5 0 0.5 1 1.5
x1 x1
1 1
0.8 0.8
0.6 0.6
0.4 0.4
0.2 0.2
0 0
1 1
0.5 0.5
1.5 1.5
0 0
1 1
0.5 0.5
-0.5 -0.5
0 0
-0.5 -0.5
-1 -1 -1
-1
O particionamento realizado pelo classificador FCM também sofre a influência do fator de forma
m . A figura abaixo mostra o particionamento fuzzy para os dois valores estudados de m . As
cores primárias representam a região de pertinência total do registro à classe, enquanto que as
cores secundárias representam pertinências parciais.
0.6 0.6
0.8 0.8
0.4 0.4
0.7 0.7
0.2 0.2
0.6 0.6
0 0.5 0 0.5
0.3 0.3
0.4 -0.4
0.2 0.2
0.6 -0.6
0.1 0.1
0.8 -0.8
0 0
-0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
x2 x2
Nos últimos anos, diversas métricas de validação de clusters têm sido propostas na literatura
(Xie e Beni, 1991; Bezdek e Pal, 1998; Pakhira et al., 2004). O objetivo dos índices de
validação é, em geral, obter respostas para duas questões:
A idéia geral presente na maioria dos índices de validação de clusters é baseada em uma
visão geométrica da partição, de forma que uma boa partição dos dados apresenta grupos
compactos e clusters diferentes devem estar separados. No caso da análise de clusters fuzzy,
em que um valor de pertinência é associado a cada registro, o grau de superposição entre os
grupos também deve ser levada em conta, de forma que a melhor partição é aquela que
apresentar menor superposição.
Recentemente (Pakhira et al., 2004) o índice de validação de clusters PBM (devido ao nome
dos autores) tem obtido um bom resultado em um grande número de aplicações. O índice PBM
é definido como o produto de três fatores, cuja maximização garante uma partição formada por
um número pequeno de clusters compactos e separados.
O índice PBM:
E0 = ∑ d (x(t ), w 0 ).
t =1.. N
E K é a soma das distancias “intra-cluster” K clusters, ou seja, para cada cluster, a soma das
distâncias dos registros ao centro do cluster correspondente, ponderada pelo valor de
pertinência do registro ao cluster (no caso de análise de clusters fuzzy):
EK = ∑ ∑ ui (t )d (x(t ), w i ) 2
t =1.. N i =1.. K
DK = max
i , j =1.. K
( d (w i , w j ) ) .
O índice PBM:
Quanto maior o índice PBM, melhor a partição. Assim como outros índices, o índice PBM é um
índice de otimização, de forma que para se obter a melhor partição, deve-se executar o
algoritmo de agrupamento para diversos valores de K e escolher aquele que resultar no maior
valor de índice PBM.
0.05
0.35
0.045
0.3
0.04
0.035
0.25
PBM
PBM
0.03
0.2
0.025
0.02 0.15
0.015
0.1
0.01
0.05
0.005 2 4 6 8 10 12 14 16
2 4 6 8 10 12 14 16
no. of clusters
no. of clusters
Variáveis utilizadas
Qtd de débitos
Qtd de dias em atraso
Valor médio da fatura
Qtd média de pulsos
Qtd de acessos
Tempo de instalação
Valor de inadimplência
Qtd minutos de tráfego
Local
Intra Setor
Intra Região
Inter Região
Internacional
VC1
VC2
VC3
6,50
10,27
29,18% 30,32%
11,56
Grupo 0
3,49%
15,83 Grupo 1
21,33%
24,82% Grupo 2
20,73 Grupo 4
14,79%
Grupo 3
6,66% Grupo 5
30,46%
15,63%
35,10
12,41% 4,94%
5,97%
• O grupo 5 possui a maior taxa populacional com uma das menores faixa de inadimplência.
• O grupo 3 possui alta taxa populacional com faturamento médio e baixa inadimplência.
• O grupo 4 possui a menor faixa de fatura com a maior faixa de inadimplência.
• O grupo 2 possui média taxa populacional com médio faturamento e alta inadimplência.
• O grupo 1 possui média taxa populacional, alta faixa de fatura e a menor de inadimplência.
• O grupo 0 possui a menor população com as maiores faixas de fatura e inadimplência.
Outros Algoritmos de Agrupamento: Algoritmo Incremental
Parâmetros de entrada:
0) Inicio
1) Atribui o primeiro registro ao primeiro cluster
2) Para cada registro t
3) Para cada cluster i
4) Calcula o índice de similaridade entre o registro t e os
elementos do cluster i.
5) Calcula o índice de confiabilidade entre o registro t e os
elementos do cluster i.
6) Se o critério de agrupamento é satisfeito:
7) Inclui o registro t no cluster i
8) Senão
9) Cria novo cluster
10) Fim
Métodos Hierárquicos:
1.2 1.2
1.1
1
0.8
0.9
0.8
0.6
0.7
0.4
0.6
0.2 0.5
0.4
0
10
35
38
3113
446
22648
330
36
4314
93941
118
2821
544
32
37725
812
50
27
29
40
24
2317
619
11
22
49
45
20
47
15
34
33
16
42
51
111
53
116
138
78
117
148
125
137
149
101
121
144
126
145
105
113
146
130
140
142
141
103
108
131
106
136
123
119
110
118
132
52
66
71
87
57
86
127
55
134
104
77
139
59
150
128
76
62
67
64
79
98
75
92
72
74
65
85
97
89
96
120
6988
114
73
147
122
84
102
143
135
109
112
115
124
129
133
54
107
6381
82
100
5668
83
95
60
80
70
90
91
93
58
94
99
61 6 8 7 5 9 10 1 2 3 4
Sowtware CLUTO: (http://www-users.cs.umn.edu/~karypis/cluto/)
Aproximação de Funções
Entradas Saídas
Sistema
Supondo que a saída do sistema real pode se representada por uma função matemática das
entradas, na forma y = f (u) , o objetivo da regressão é a construção de um modelo yˆ = fˆ (u) que
corresponda à melhor aproximação do sistema real.
Taxonomia de Modelos
Existem várias representações de sistemas reais de acordo com algumas características do modelo.
Algumas categorizações de modelos são apresentadas a seguir.
SISO (Single Input Single Output): modelos com entrada e saída simples (monvariável).
MISO (Mutiple Input Single Output): modelos com entrada múltipla e saída simples.
SIMO (Single Input Multiple Output): modelos com entrada simples e saída múltipla.
MIMO (Mltiple Input Multiple Output): modelos com entrada múltipla e saída múltipla.
Taxonomia de Modelos
modelos de conhecimento (ou analíticos) nos quais as relações que descrevem o comportamento
do sistema são escritas a partir das leis fundamentais da física;
Segundo a natureza da informação tratada pelo modelo, podemos classificar os modelos em:
modelos determinísticos nos quais a saída correspondente a uma determinada entrada pode ser
reproduzida;
modelos estáticos nos quais a saída depende apenas do valor de entrada num
determinado instante;
modelos dinâmicos nos quais a saída num determinado instante depende de relações
temporais entre as variáveis do sistema. Em equilíbrio (regime permanente) um
sistema dinâmico pode ser descrito por um modelo estático.
Taxonomia de Modelos
modelos lineares nos quais as relações presentes no modelo são lineares. Os modelos
lineares permitem que seja aplicado o princípio da superposição, de forma que dada uma
entrada u (t ) formada pela combinação u (t ) = u1 (t ) + u2 (t ) , a saída y (t ) do sistema pode ser
escrita como y (t ) = y1 (t ) + y2 (t ) , onde y1 (t ) é a resposta do sistema à entrada u1 (t ) e y2 (t ) é
a resposta à entrada u1 (t ) .
Escolha do tamanho do modelo, pela seleção das variáveis de entrada e saída, além
da ordem e eventualmente do retardo do sistema,
No modelo linear com parâmetros lineares, a saída predita pelo modelo é calculada como:
yˆ (t ) = θ 0 + θ1u1 (t ) + θ 2u2 (t ) + K + θ M uM (t )
yˆ (t ) = xˆ (t )θ
Existem uma série de modelos, com estruturas diferentes, que podem ser escritos sob a forma da
equação vetorial acima.
O modelo linear generalizado pode ser escrito para o caso monovariável como:
M
yˆ (t ) = ∑θ i f i (u (t ) )
i =0
O Modelo Linear Generalizado
Seja qual for a estrutura do modelo, a saída real do sistema pode ser escrita em função da
predição do modelo como:
y ( k ) = yˆ (k ) + e(k )
J (θ) =
1
N N
[ ][
[y − yˆ ]T [y − yˆ ] = 1 y − Xˆ θ T y − Xˆ θ ]
onde y = [ y (1),K, y ( N )] T
é a saída real do sistema para as amostras do conjunto de
60
50
Adiabatic Temperature Rise (ºC)
40
30
20
10
0
0 5 10 15 20 25 30
t (days)
Redes neurais para modelagem da elevação de temperatura concreto:
50 50
40 40
30 30
20 20
10 10
Ensaio E-4809 Ensaio E-2081
0 Modelo 0 Modelo
0 5 10 15 20 25 30 0 5 10 15 20 25 30
t (dias) t (dias)
Elevação Adiabática de Temperatura (ºC)
50 50
40 40
30 30
20 20
10 10
Ensaio E-4995R
Ensaio E-2057
0 Modelo
0 Modelo
0 5 10 15 20 25 30
0 5 10 15 20 25 30
t (dias) t (dias)
Sistemas Dinâmicos
-5
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
5
-5
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
5
-5
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
5
-5
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Sistemas Dinâmicos
Dado uma realização X K (t ) do processo estocástico {X (t )} , o valor médio da variável é calculado por:
1 T /2
µ X k = lim ∫ X k (τ )dτ
T → ∞ T −T / 2
1 T /2
RX k (∆t ) = lim ∫ X k (τ ) X k (τ + ∆t )dτ
T →∞ T −T / 2
Num dado processo estocástico, se o valor médio e a função de autocorrelação forem constantes e
independentes da realização do processo estocástico o processo é dito estacionário e ergótico
Num processo ergótico, as propriedades estatísticas podem ser levantadas a partir de uma única
realização da variável aleatória.
yˆ (t ) = θ 0 + θ1 y (t − 1) + L + θ M y (t − M )
A equação acima pode ser escrita na forma do modelo linear generalizado yˆ (t ) = xˆ (t ) θ , onde o
Este modelo considera apenas os valores das saídas nos instantes anteriores e uma estimativa
da saída é calculada como a figura abaixo:
u(t) y(t)
Processo
ε(t)
y(t-1) ^y(t)
Modelo
Modelos de Sistemas Dinâmicos
No modelo Auto Regressivo com entrada eXógena (ARX) monovariável de ordem M para saída
e K para a entrada (ARX M : K ), a saída do modelo é escrita como:
yˆ (t ) = θ 0 + θ1 y (t − 1) + L + θ M y (t − M ) + θ M +1u (t − 1) + L + θ M + K u (t − K )
u(t) y(t)
Processo
y(t-1) ε(t)
u(t) ^y(t)
Modelo
yˆ (t ) = θ 0 + θ1 yˆ (t − 1) + L + θ M yˆ (t − M ) + θ M +1u (t − 1) + L + θ M + K u (t − K )
Nos modelos de simulação, os parâmetros ocorrem não linearmente e o modelo não pode ser
escrito na forma geral yˆ (t ) = x(t ) θ . Desta forma o ajuste de parametros de um modelo de
simulação deve ser feito a partir de um algoritmo de otimização não linear.
u(t) y(t)
Processo
ε(t)
u(t) ^y(t)
Modelo
^y(t-1)
O Método dos Mínimos Quadrados
Os parâmetros θi que definem o modelo podem ser obtidos pela minimização de um critério de
erro entre a saída desejada, imposta pelo conjunto de treinamento, e a saída calculada pela
função discriminante linear. O critério mais utilizado é o critério de Erro Médio Quadrático
(EMQ), definido como:
1 N
J (Θ) = ∑ [y (t ) − xˆ (t )Θ][y (t ) − xˆ (t )Θ]
T
N t =1
O critério EMQ é uma função quadrática dos parâmetros Θ e a solução ótima pode ser obtida
analiticamente igualando o seu gradiente a zero:
1 N
∇J (Θ) = ∑ 2xˆ (t )T (y (t ) − xˆ (t )Θ ) = 0
N t =1
N N
ˆ = ∑ xˆ (t )T xˆ (t ) e X
ˆ TX
Escrevendo X ˆ T Y = ∑ xˆ (t )T y (t ) onde:
t =1 t =1
X ˆΘ=X
ˆ TX ˆ TY
Θ∗ = X [
ˆ −1 X
ˆ TX ˆ TY ]
O Método dos Mínimos Quadrados Recursivo
Em certas aplicações, é interessante que o modelo seja recalculado a cada instante. Desta
forma, o sistema de equações deve ser calculado recursivamente, pela versão recursiva do
algoritmo de mínimos quadrados, como:
( )
θˆ (t ) = θˆ (t − 1) + K y (t ) − xˆ (t )θˆ (t − 1) .
Q(t − 1)xˆ (t )
K=
λ + xˆ (t )Q(t − 1)xˆ (t )T
Aproximaçao Erro
62 6
ARX 0:1
60 5 ARX 1:1
ARX 1:3
4
58
3
56
2
54
1
52
0
50
-1
48 dados -2
ARX 0:1
46 ARX 1:1 -3
ARX 1:3
44 -4
0 50 100 150 200 250 300 0 50 100 150 200 250 300
Monitoração ambiental
-1
0 50 100 150 200 250 300 350
3000
2800
2600
2400
Nivel (m)
2200
2000
1800
1600
1400
1900 1910 1920 1930 1940 1950 1960 1970 1980 1990 2000
Anos
Estudo de Caso: Série Histórica do Rio Solimões
Inicialmente, os dados foram analizados por colunas, ou seja, os mesem ao longo dos
anos. Pode ser observado que há uma maior dispersão entre os meses de março e julho
que os demais meses.
3000
Medias
2800 Minimos
Maximos
2600
2400
Nivel (m)
2200
2000
1800
1600
1400
0 2 4 6 8 10 12
Meses
Medias, Máximos e Mínimos Mensais
A figura mostra mostra a distribuição dos meses de ocorrência dos níveis mínimo e
máximo. Pode-se observar que na maioria dos anos, o mínimo ocorre nos meses de junho
e julho, enquanto que o máximo ocorre entre os meses de outubro e janeiro.
60
%
40
20
0
1 2 3 4 5 6 7 8 9 10 11 12
Meses
Box-Plot
Box-Plot
3000
2800
2600
2400
Nivel (m)
2200
2000
1800
1600
1400
1 2 3 4 5 6 7 8 9 10 11 12
Meses
Histogramas dos Dados por Mês
50 50 50 50
0 0 0 0
1500 2000 2500 3000 1500 2000 2500 3000 1500 2000 2500 3000 1500 2000 2500 3000
Maio Junho Julho Agosto
100 100 100 100
50 50 50 50
0 0 0 0
1500 2000 2500 3000 1500 2000 2500 3000 1500 2000 2500 3000 1500 2000 2500 3000
Setembro Outubro Novembro Dezembro
100 100 100 100
50 50 50 50
0 0 0 0
1500 2000 2500 3000 1500 2000 2500 3000 1500 2000 2500 3000 1500 2000 2500 3000
Matriz de Correlação
Jan Fev Mar Abr Mai Jun Jul Ago Set Out Nov Dez
Jan 1.0000 0.7496 0.4637 0.3267 0.2914 0.3011 0.3048 0.2541 0.2522 0.2610 0.2490 0.1545
Fev 0.7496 1.0000 0.8448 0.6818 0.6049 0.5981 0.5899 0.5283 0.4401 0.3430 0.2643 0.1171
Mar 0.4637 0.8448 1.0000 0.9012 0.7936 0.7745 0.7444 0.6673 0.5379 0.3417 0.2211 0.1086
Abr 0.3267 0.6818 0.9012 1.0000 0.9579 0.9218 0.8521 0.7434 0.5715 0.3314 0.1515 0.0659
Mai 0.2914 0.6049 0.7936 0.9579 1.0000 0.9662 0.8769 0.7534 0.5642 0.3241 0.1364 0.0661
Jun 0.3011 0.5981 0.7745 0.9218 0.9662 1.0000 0.9558 0.8458 0.6482 0.3902 0.1898 0.1223
Jul 0.3048 0.5899 0.7444 0.8521 0.8769 0.9558 1.0000 0.9479 0.7502 0.4885 0.3076 0.2224
Ago 0.2541 0.5283 0.6673 0.7434 0.7534 0.8458 0.9479 1.0000 0.8778 0.6311 0.4306 0.3246
Set 0.2522 0.4401 0.5379 0.5715 0.5642 0.6482 0.7502 0.8778 1.0000 0.8610 0.6202 0.4774
Out 0.2610 0.3430 0.3417 0.3314 0.3241 0.3902 0.4885 0.6311 0.8610 1.0000 0.8363 0.6172
Nov 0.2490 0.2643 0.2211 0.1515 0.1364 0.1898 0.3076 0.4306 0.6202 0.8363 1.0000 0.8042
Dez 0.1545 0.1171 0.1086 0.0659 0.0661 0.1223 0.2224 0.3246 0.4774 0.6172 0.8042 1.0000
Gráficos de Projeção (Mês de Junho)
Fevereiro
Janeiro
2500 2500 2500
Março
2000 2000 2000
Junho
Maio
Abril
Setembro
2500 2500 2500
Agosto
Julho
Dezembro
Outubro
Análise de Autocorrelação
A série foi transformada em um único vetor de 1152 elementos e foi calculada a sua
autocorrelação. O resultado é apresentado na figura abaixo.
0.8
0.6
Sample Autocorrelation
0.4
0.2
-0.2
-0.4
-0.6
-0.8
0 2 4 6 8 10 12 14 16 18 20
Lag
Modelos AutoRegressivos: Resultados
M=6
3000
2500
EMQ = 1.6978
2000
Real
Modelo
1500
1970 1975 1980 1985 1990 1995
M=8
3000
2500
EMQ = 1.6195
2000
Real
Modelo
1500
1970 1975 1980 1985 1990 1995
M = 12
3000
2500
EMQ = 1.4193
2000
Real
Modelo
1500
1970 1975 1980 1985 1990 1995
Text Mining
Recuperação da informação
Um campo desenvolvido em paralelo com os sistemas de banco de dados
O objetivo da recuperação da informação é a localização de documentos em
uma base de documentos a partir de entradas como palavras-chave,
assunto, titulo, autor, etc.
Pré-processamento
Indexação de documentos
Redução de dimensionalidade
Aplicação do algoritmo
Avaliação do modelo
Categoria 1
Categoria 2
...
Categoria n
Web Mining
Particularidades
Web Mining