You are on page 1of 71

Minerao de Dados

Anlise e Seleo de Variveis

Anlise e Seleo de Variveis

Parte da uma rea chamada de Reduo de Dados

Obteno de uma representao reduzida em volume mas que produz resultados de anlise idnticos ou similares Melhora o desempenho dos modelos de aprendizado Objetivo: Eliminar atributos redundantes ou irrelevantes

Mtodos de Seleo de Atributos

Manual

Melhor mtodo se for baseado em um entendimento profundo sobre : O problema de aprendizado O significado de cada atributo
Filtros: mtodo usado antes do processo de aprendizado para selecionar o subconjunto de atributos Wrappers: o processo de escolha do subconjunto de atributos est empacotado junto com o algoritmo de aprendizado sendo utilizado
3

Automtico

Mtodos Independentes do Modelo (Filter)

Tipo do Atributo de Sada (Tipo de Aplicao)

Sada Contnua (Ex.: Previso, Inferncia, etc) Sada Discreta (Ex.: Classificao)

Tipo do Atributo de Entrada

Entrada Contnua Entrada Discreta


4

Mtodos Independentes do Modelo (Filter)

Entrada Contnua / Sada Contnua

Correlao Cruzada PCA modificado Least Squares Estimator (LSE) Single Input Effectiveness (SIE)

Entrada Contnua / Sada Discreta Teste de Student (A)


5

Mtodos Independentes do Modelo (Filter)

Entrada Discreta / Sada Contnua

Teste de Student (B)

Testes para Entrada Contnua / Sada Contnua, aps se transformar o atributo de entrada discreto em contnuo

Entrada Discreta / Sada Discreta

Teste do 2
6

Correlao Cruzada

Mtodo aplicvel a entradas contnuas/sada contnua

Mede relao linear entre varivel de entrada e varivel de sada


Caso haja relao fortemente no-linear, no dar bons resultados

Pode indicar tambm o atraso (dead-time,delay) entre as variveis


7

Correlao Cruzada

Definies:

Matriz de dados de entrada: X [m x k] j-sima varivel de entrada: xj [m x 1] Varivel de sada: y [m x 1] Funo de correlao cruzada: cj [2m-1 x 1]

Correlao Cruzada

Exemplo

Correlao Cruzada

No Matlab (1):

load count.dat
[c,lags] = xcorr(count(:,1),count(:,1),5,`coeff `); stem(-5:5,c)

xlim([-10 10])

10

Correlao Cruzada

Para todas as variveis:

11

PCA modificado

Mtodo aplicvel a entradas contnuas/sada contnua

PCA tradicional uma transformao de coordenadas, que pode ser usado para reduo de dados Um modificao no algoritmo permite utilizlo como mtodo de seleo de variveis

12

PCA modificado

PCA original:

Matriz de dados de entrada: X [n x k] Decompe-se como:

X = v1 p1T + v2 p2T + ... + vk pkT


X = v1 p1T + v2 p2T + ... + vL pLT +E

Define-se uma quantidade L k

13

PCA modificado
X = v1 p1T + v2 p2T + ... + vk pkT

Vetores de loading: pj [k x 1], j = 1...L

Vetores de score: vj [n x 1], j = 1...L Matriz de loadings: P [k x L] Matriz de scores: V [m x L] vj = X pj


14

V=XP

PCA modificado

PCA original:

A matriz X[m x k] substituda pela matriz V[m x L] Problema: perde-se o sentido fsico com as novas variveis vj [n x 1], j = 1...L
Isto porque o PCA tradicional um mtodo de reduo de dimensionalidade, e no de seleo de variveis PCA modificado: implica em um seleo sobre as variveis originais

PCA modificado:

PCA modificado:

Primeiro componente principal: p1 [k x 1] Cada elemento de p1 indica o peso da varivel original xj na combinao linear que define a varivel modificada v1.

Maior valor absoluto em p1: maior importncia

16

PCA modificado:

Mantm as variveis originais

Menor compactao que o PCA original Possvel colinearidade entre as variveis originais

17

Least Squares Estimator (LSE)

Mtodo aplicvel a entradas contnuas/sada contnua

No supe relao linear entre entrada e sada Lineariza possveis relaes no-lineares
Busca expressar o comportamento da variao y da varivel de sada y em funo das variaes x das diversas variveis de entrada x

18

LSE

Descrio resumida:

Seja um sistema com n entradas xi (i=1..n) e uma sada y y: vetor que contm as variaes da varivel y xi: vetor que contm as variaes da varivel xi

Seja a funo F abaixo:


Os coeficientes bi indicam a importncia, ou relevncia, da

varivel xi em relao sada y, no sentido estatstico Os coeficientes bi so calculados pelo mtodo dos mnimos quadrados
19

LSE

Na prtica:

Considerando dois ndices, j e k, pode-se definir um vetor variao como: Base de dados contm p pares de dados Existe portanto uma quantidade de vetores variao dada por Essa quantidade pode ser muito grande!

20

LSE

Na prtica:

Somente q (<<m) vetores variao so selecionados aleatoriamente


Pode-se ento reescrever a expresso anterior de forma matricial:
y [q x 1] X [q x n] b [n x 1]
21

y [q x 1] xi [q x 1], i = 1...n

bi [1 x 1], i = 1...n

LSE

Na prtica:

Soluo do sistema: Problema: se q > n, no existe soluo exata ou nica para b (sistema sobredeterminado) Soluo: estimador por Mnimos Quadrados, utilizando a pseudo-inversa

22

LSE

Seleo de variveis:

Cada coeficiente bi indica o grau de importncia da varivel correspondente xi Os valores bi podem ser positivos ou negativos Define-se ento:

23

Single Input Effectiveness (SIE)

Mtodo aplicvel a entradas contnuas/sada contnua

Traduo: Efetividade de uma Entrada Isolada


Calcula o grau de efetividade de cada entrada em relao sada Estes graus definem um ranking das entradas

24

SIE

Contudo, o mtodo pressupe uma relao linear entre as entradas e a sada, e ento aplica mtodos da lgebra linear

Assim, inicialmente necessrio estimar uma matriz de transferncia G, de modo que


Caso haja uma relao no-linear (como na maioria dos casos), o mtodo no aplicvel, e/ou seus resultados no so confiveis

25

Teste de Student

Mtodo aplicvel para entradas contnuas/sada discreta, ou para entradas discretas/sada contnua um Teste de Hiptese, oriundo da rea de Inferncia Estatstica

No caso de variveis discretas com mais categorias, deve-se utilizar o mtodo ANOVA (Analysis of Variance)

26

Teste de Student

Pressupe que a varivel discreta (entrada ou sada) divide os valores disponveis da varivel contnua (sada ou entrada) em dois grupos Cada grupo contm os valores contnuos que esto associados a um dos valores discretos

27

Teste de Student

Exemplo: Base de Dados Meteorolgicos

28

Teste de Student

No exemplo: Base de Dados Meteorolgicos

Varivel de entrada Temperatura:


Sada No: 85, 80, 65, 72, 71 (mdia 74,6) Sada Sim: 83, 70, 68, 64, 69, 75, 75, 72, 81 (mdia 73,0) Sada No: 85, 90, 70, 95, 91 (mdia 86,2) Sada Sim: 86, 96, 80, 65, 70, 80, 70, 90, 75 (mdia 79,1)

Varivel de entrada Umidade:

As diferenas entre as mdias so significativas??

Teste de Student

A diferena entre as mdias significativa?

30

Teste de Student

Premissas:

Separa-se os valores da varivel contnua que so correspondentes s duas categorias da varivel discreta, formando assim duas variveis contnuas distintas, x1 e x2 Existem n1amostras da varivel x1 , e n2 amostras da varivel x2 Essas variveis tm mdias 1 e 2 e varincias 12 e 22 As variveis tm distribuio normal As varincias so iguais (12 = 22)
Caso no sejam, deve-se aplicar o teste de Welch

31

Teste de Student

Hipteses:

H0: 1 = 2 (1 - 2 = 0) Hiptese Nula H1: 1 2 (1 - 2 0) Hiptese Alternativa Objetivo do Teste de Hiptese: rejeitar a hiptese nula!
Estatstica de Teste (Welch):

32

Teste de Student

Hipteses:

H0: 1 = 2 (1 - 2 = 0) Hiptese Nula H1: 1 2 (1 - 2 0) Hiptese Alternativa Objetivo do Teste de Hiptese: rejeitar a hiptese nula!
Estatstica de Teste (Student):

33

Teste de Student

Distribuio de Student:

Famlia de distribuies, definidas pelo nmero de graus de liberdade, N Matlab: p = tpdf(x,N)


x = -10:0.01:10; p = tpdf(x,1); plot(x,p)

34

Teste de Student

Distribuio de Student:

35

Teste de Student

Distribuio de Student:

36

Teste de Student

Distribuio de Student:

37

Teste de Student

Distribuio de Student:

38

Teste de Student

Valor p:
Nmero de graus de liberdade: N = n1 + n2 2 p = tpdf(t, N);

Valor p

39

Teste de Student

Interpretao do Valor p:

O valor p indica a probabilidade de que a diferena observada entre as mdias tenha ocorrido por acaso Quanto menor o valor p, maior a probabilidade de que as mdias das variveis sejam realmente diferentes Normalmente trabalha-se com um limiar em 5%, ou seja, valores p menores que 5% (0,05) indicam significncia estatstica na diferena observada
40

Teste de Student

No exemplo: Base de Dados Meteorolgicos

Varivel de entrada Temperatura: Sada No: x1 = {85, 80, 65, 72, 71}

n1 = 5 1 = 74,6 12 = 62,3

Sada Sim: x2 = {83, 70, 68, 64, 69, 75, 75, 72, 81}

n2 = 9 2 = 73,0 22 = 38,0

41

Teste de Student

No exemplo: Base de Dados Meteorolgicos

Varivel de entrada Temperatura: Sada No: x1 = {85, 80, 65, 72, 71}

n1 = 5 1 = 74,6 12 = 62,3

Sada Sim: x2 = {83, 70, 68, 64, 69, 75, 75, 72, 81}

n2 = 9 2 = 73,0 22 = 38,0

42

Teste de Student

Varivel de entrada Temperatura:

43

Teste de Student

No exemplo: Base de Dados Meteorolgicos

Varivel de entrada Umidade:

Sada No: x1 = {85, 90, 70, 95, 91}


n1 = 5 1 = 86,2 12 = 94,7

Sada Sim: x2 = {86, 96, 80, 65, 70, 80, 70, 90, 75}
n2 = 9 2 = 79,1 22 = 104,4
44

Teste de Student

No exemplo: Base de Dados Meteorolgicos

Varivel de entrada Umidade:

Sada No: x1 = {85, 90, 70, 95, 91}


n1 = 5 1 = 86,2 12 = 94,7

Sada Sim: x2 = {86, 96, 80, 65, 70, 80, 70, 90, 75}
n2 = 9 2 = 79,1 22 = 104,4

45 45

Teste de Student

No exemplo: Base de Dados Meteorolgicos:


Temperatura

Umidade

46

Teste de Student

No exemplo: Base de Dados Meteorolgicos:

Temperatura: Umidade:

p = 0,3598 = 35,98% p = 0,1691 = 16,91%

Em relao ao limiar de 5%, nenhuma das variveis de entrada significativa (ou relevante)

Contudo, pode-se dizer que a varivel umidade provavelmente mais significativa que a varivel temperatura
47

Teste do 2

Mtodo aplicvel a entradas discretas/sada discreta

Tambm um Teste de Hiptese Baseado na construo de Tabelas de Contingncia (tambm chamadas de Matrizes de Confuso)
Aplicvel a qualquer nmero de categorias para cada varivel discreta

48

Teste do 2

Exemplo: Base de Dados Meteorolgicos

49

Teste do 2

Exemplo: Base de Dados Meteorolgicos

Valores da Varivel Vento para cada Classe da Varivel Jogar: No Jogar (5 casos): No, Sim, Sim, No, No
Vento No: 3 casos Vento Sim: 2 casos

Jogar (9 casos): No, No, No, Sim, No, No, Sim, Sim, No
Vento No: 6 casos Vento Sim: 3 casos
50

Teste do 2

Tabela de Contingncia para a varivel Vento:

51

Teste do 2

Hipteses:

H0: As freqncias das linhas e colunas so independentes H1: As freqncias das linhas e colunas so dependentes Objetivo do Teste de Hiptese: rejeitar a hiptese nula! Calcula-se inicialmente qual seria a tabela de contingncia no caso da hiptese nula ser verdadeira
52

Teste do 2

Tabela de Contingncia Observada para o caso geral com duas categorias:

53

Teste do 2

Tabela de Contingncia Esperada para o caso geral com duas categorias:

54

Teste do 2

Tabela de Contingncia Esperada para o caso geral com duas categorias:

55

Teste do 2

Tabela de Contingncia Observada para a varivel Vento:

56

Teste do 2

Tabela de Contingncia Observada para a varivel Vento:

57

Teste do 2

Tabela de Contingncia Esperada para a varivel Vento:

58

Teste do 2

Tabela de Contingncia Observada para a varivel Vento:

59

Teste do 2

Tabela de Contingncia Esperada para a varivel Vento:

60

Teste do 2

Hipteses:

H0: As freqncias das L linhas e C colunas so independentes H1: As freqncias das L linhas e C colunas so dependentes
Estatstica de Teste (2):

61

Teste do 2

Tabela de Contingncia Esperada para a varivel Vento:

62

Teste do 2

Distribuio de 2:

Famlia de distribuies, definidas pelo nmero de graus de liberdade, N Matlab: p = chi2pdf(x,N)


x = 0:0.01:5; p = chi2pdf(x,1); plot(x,p)

63

Teste do 2

Valor p:

Nmero de graus de liberdade: N = (L-1)x(C-1) p = chi2pdf(chi2, N);

Valor p
64

Teste de Student

Interpretao do Valor p:

O valor p indica a probabilidade de que a dependncia observada entre as freqncias tenha ocorrido por acaso Quanto menor o valor p, maior a probabilidade de que as freqncias das variveis sejam realmente dependentes Normalmente trabalha-se com um limiar em 5%, ou seja, valores p menores que 5% (0,05) indicam significncia estatstica na dependncia observada

65

Teste do 2

No exemplo:

Nmero de graus de liberdade: N = (2-1)x(2-1) = 1 2 = 0,0541 p = chi2pdf(0,0541, 1); p = 1,67 = 167% Ou seja, a varivel Vento NO relevante

66

Teste do 2

Exemplo alterado:

Valores da Varivel Vento para cada Classe da Varivel Jogar: No Jogar (5 casos): Sim, Sim, Sim, Sim, No
Vento No: 1 caso Vento Sim: 4 casos

Jogar (9 casos): No, No, No, No, No, No, Sim, Sim, No
Vento No: 7 casos Vento Sim: 2 casos
67

Teste do 2

Tabela de Contingncia Observada para a varivel Vento:

68

Teste do 2

Tabela de Contingncia Observada para a varivel Vento:

69

Teste do 2

Tabela de Contingncia Esperada para a varivel Vento:

70

Teste do 2

Tabela de Contingncia Esperada para a varivel Vento:

71

You might also like