• Nenhum resultado encontrado

Apontamentos M3

N/A
N/A
Protected

Academic year: 2021

Share "Apontamentos M3"

Copied!
36
0
0

Texto

(1)

Professor Doutor Fernando Lucas Bação

U

NIDADE DE

(2)

1

Introdução

2

Preparação de Dados.

3

Pré-processamento dos Dados.

4

Bibliografia.

TÓPICOS

(3)

1 INTRODUÇÃO

Neste módulo iremos completar o ciclo de temas iniciado no módulo anterior, representado na Figura 1, e que antecede a aplicação das ferramentas para a criação de modelos. Por preparação de dados entendemos a “limpeza” dos dados originais. Inclui os procedimentos inerentes a qualquer tarefa de análise de dados, como a remoção (ou não) de dados inconsistentes, muitas vezes designado por outliers, o tratamento de valores omissos e a conversão de inputs não numéricos em formato numérico. Por vezes estas tarefas são dispensáveis na medida em que os dados disponíveis já se encontram devidamente tratados. Infelizmente esta tende a ser a excepção. Normalmente o tempo dispendido nesta fase é bastante significativo, em muitos casos, bastante superior ao utilizado nas tarefas de análise. Os dados armazenados nas bases de dados operacionais, e mesmo nos data warehouses, raramente se encontram em condições que permitam evitar despender muito tempo nas tarefas de preparação.

Definir o

Problema

Recolher

Dados

Preparar

Dados

Pré-processemanto

Dados

Definir o

Problema

Recolher

Dados

Preparar

Dados

Pré-processemanto

Dados

Figura 1: fases que antecedem a aplicação das ferramentas de criação de modelos

O estádio de pré-processamento dos dados constitui um dos mais importantes em todo o processo. Neste estádio, transformamos os dados na sua forma final ou seja exactamente como serão apresentados às ferramentas de modelação que utilizaremos. É aqui que temos a oportunidade de incorporar conhecimento específico do domínio de aplicação por forma a simplificar a modelação do problema. Podemos considerar que o pré-processamento dos dados constitui normalmente o aspecto chave para o sucesso de todo o processo. Tarefas como a normalização e redução do espaço de input são algumas das que normalmente estão envolvidas nesta fase. O pré-processamento dos dados, apesar de ser apresentado como uma etapa específica, não pode ser encarada como independente do processo de modelação uma vez que as interdependências existentes são muitas.

(4)

2 PREPARAÇÃO DOS DADOS

Este estágio do processo exige bom senso e algum conhecimento do problema em causa, por forma a permitir uma correcta limpeza dos dados. Durante esta secção iremos tratar os seguintes tópicos:

ƒ Tratamento de valores omissos

ƒ Codificação numérica para dados categóricos

ƒ Eliminação de dados incorrectos e detecção de outliers

Aspectos mais intimamente relacionados com pré-processamento para o desenvolvimento dos modelos serão tratados na próxima secção.

2.1 Valores omissos

É frequente encontrar-mos, nas bases de dados que utilizamos, observações/registos incompletos, ou seja, que não possuem valores para todas as variáveis de input. Por exemplo, digamos que estamos a tratar um problema relacionado com o diagnóstico médico de uma determinada patologia. Os inputs para o nosso problema consistem nos resultados de 5 exames médicos executados aos pacientes. No entanto, é relativamente raro que todos os pacientes se tenham submetido a todos os exames. Uma grande parte das vezes o paciente foi submetido a apenas 3 ou 4 exames. São as possíveis estratégias para a resolução desta questão ocupará este sub-tema.

Os valores omissos são campos para os quais determinados registos não contêm qualquer valor. Apesar de existirem ferramentas que afirmam resolver o problema automaticamente, é indispensável ter uma noção sobre as estratégias utilizadas para mitigar este tipo problema. Antes de mais é importante ter a noção de que existem diversas forma de lidar com o problema, não havendo uma que seja nitidamente superior a todas as outras.

Nalguns casos a opção pode passar pela não utilização da informação em causa. Neste caso, poderemos subdividir a solução em duas vertentes:

(5)

• Não utilização dos registos que apresentam valores omissos; • Não utilização dos campos que apresentam valores omissos.

No segundo caso o risco que corremos é relativamente óbvio e traduz-se na não utilização de variáveis importantes para a formulação do modelo explicativo. Poderemos estar a prescindir de variáveis que na realidade são importantes para modelar o fenómeno e sendo este o caso, o modelo provavelmente nunca produzirá resultados tão precisos quanto estariam ao seu alcance, caso as referidas variáveis de input fossem utilizadas.

A primeira opção pode ser mais “perigosa” por ser mais insidiosa, na medida em que o facto de determinados registos não apresentarem valores pode, em si mesmo, traduzir um facto importante. Ao excluir estes registos corremos o risco de estar a enviesar a amostra, isto caso haja um motivo específico para que estes registos não possuam valores para a variável em causa.

Por exemplo, sabemos que indivíduos com rendimentos mais elevados tendem a ser mais relutantes em fornecer informação relativa aos seus rendimentos. Suponhamos agora que estamos a tentar modelar um problema, em que os dados provêm de um inquérito feito a indivíduos e uma das nossas variáveis de input é o rendimento anual do indivíduo. Como existe uma percentagem de indivíduos que não responderam à pergunta relativa ao rendimento, decidimos retirá-los do nosso conjunto de dados. Qual o risco que corremos? Corremos o risco de estar a enviesar a nossa amostra. Se é certo que os indivíduos com rendimentos mais elevados tendem a não responder à pergunta, isto quer dizer que se eliminarmos os registos que não apresentam valores para a variável rendimento, estaremos também a retirar da amostra uma grande parte dos entrevistados com rendimentos mais elevados. Como consequência o nosso modelo produzirá sempre estimativas pouco precisas, senão mesmo aleatórias, para os indivíduos de mais elevados rendimentos.

Uma segunda opção para o problema consiste em manualmente examinar os exemplos com valores omissos e introduzir um valor provável ou que se considere razoável tendo em conta o perfil do registo. Este método pode resultar caso o número de registos com valores omissos não seja muito grande. No entanto, há que ter em atenção que caso não haja um valor óbvio e plausível para cada registo, podemos correr o risco de estar a introduzir “ruído” no nosso conjunto de dados.

(6)

Outra opção para a resolução do problema traduz-se no preenchimento automático dos campos com uma estimativa do seu valor. Existem diversas formas de produzir esta estimativa sendo que a mais óbvia e simples consiste em adoptar uma medida de tendência central, como a média, a moda ou a mediana. Assim, a medida de tendência central é calculada para a variável em falta e todos os registos com valores omissos para essa variável são preenchidos com esse valor. Esta estratégia pode ser um pouco mais sofisticada se, em vez de calcular a medida para todos os registos, esta medida for calculada apenas para registos que partilham determinadas características, como por exemplo pertencem à mesma classe da variável de output que estamos a tentar modelar.

Existem situações onde o facto de não haver valores em determinados campos pode ser um indicador importante, como já referimos no exemplo dos indivíduos com elevados rendimentos. Por isso, por vezes, interessa desenvolver uma codificação específica para que o modelo possa captar esta característica do conjunto de dados. Neste caso os valores omissos serão codificados como uma nova categoria da variável. Digamos que na variável original temos 5 categorias: A, B, C, D e E. Todos os valores omissos serão substituídos pela categoria F, a nova categoria utilizada para codificar os valores omissos.

Outra forma, mais sofisticada mas também mais trabalhosa, consiste em desenvolver um modelo preditivo que, com base nos registos completos e nas variáveis disponíveis, nos dê uma estimativa para os valores omissos. Assim, suponhamos que o nosso modelo possui 3 variáveis de input: A, B e C. Para todas elas existem registos com valores omissos. Uma abordagem interessante para a resolução do problema consiste na especificação do mesmo como um problema regressivo (Figura 2). Assim, utilizamos todos os registos completos no que respeita às variáveis A e B para estimar os valores omissos de C; todos os registos completos de A e C para estimar os valores omissos de B; e finalmente todos os registos completos de B e C pare estimar os valores omissos de A. Se existir correlação entre as variáveis, então esta é provavelmente a melhor forma de resolver o problema, sendo no entanto bastante mais exigente em termos de tempo e trabalho.

(7)

Model

A

B

Model

C

A

B

C

Figura 2: Através das variáveis A e B produzimos estimativas para os valores omissos da variável C. O mesmo mecanismo pode ser utilizado para as variáveis A e B.

Existe um aspecto importante a ter em conta aquando da utilização deste procedimento. Se o valor da correlação for muito elevado, então devemos tomá-lo como uma indicação de que a informação presente na variável dependente já se encontra codificada nas duas variáveis independentes. Digamos que se com A e B como variáveis independentes e C como variável dependente o valor da correlação se situa, por exemplo, em 0.95, então isto significa que não existe necessidade de utilizar a variável C como variável de input no nosso modelo, uma vez que a informação nela contida já se encontra representada pelas variáveis A e B. Neste contexto, a utilização correcta desta metodologia, implica sempre a existência de uma correlação imperfeita entre as variáveis.

Em resumo, a abordagem mais prática ao problema dos valores omissos consiste em utilizar inicialmente a opção mais simples e rápida. Depois de gerar alguns resultados preliminares poderemos analisar comparativamente a performance do modelo quer nos padrões de exemplo completos quer naqueles onde houve necessidade de estimar valores omissos, quer ainda no conjunto de treino ou no conjunto de validação. Caso se verifique que o erro, nos casos com valores omissos, é significativamente mais elevado do que nos outros dados, então procuraremos utilizar outro método de forma a tentar melhorar os resultados.

2.2 Codificação numérica para dados categóricos

Em muitas circunstâncias os dados que temos disponíveis não se coadunam com as ferramentas de análise que nos parecem ser as mais adequadas para os nossos objectivos. Por vezes, possuímos variáveis intervalares e queremos utilizar métodos que se baseiam em variáveis categóricas. Noutras circunstâncias, talvez com maior frequência, temos variáveis categóricas e os métodos que planeamos utilizar funcionam com base em processos de optimização em distâncias pelo que preferivelmente utilizam variáveis de input intervalares. As variáveis categóricas podem ser subdivididas em 3 grupos: variáveis nominais, variáveis ordinais e variáveis binárias. As variáveis nominais contêm valores que representam um

(8)

número finito de grupos distintos, não possuindo qualquer ordenamento entre categorias (p.e. branco, amarelo, azul, vermelho). Caso possuam um ordenamento sequencial lógico dos valores (p.e. categorias “baixo”, “médio” e “elevado”) são designadas variáveis ordinais. Finalmente, as variáveis binárias caracterizam-se por assumirem apenas dois valores, e aparecem com frequência como variáveis de output nos modelos de classificação. Quando existe uma ordenação nas categorias (variáveis ordinais) a sua conversão para valores numéricos é mais simples, no entanto, muitas vezes isto não acontece (por exemplo, variáveis como o sexo ou o código postal). Nestes casos, existem algumas técnicas que permitem a sua conversão para valores numéricos.

Se o número (n) de categorias distintas for relativamente pequeno, podemos codificar as n categorias que a variável assume como variáveis de input binárias. Este método é conhecido como representação “one of n”. Assim, cada nova variável representa uma única categoria assumida pela variável original com 1, sendo 0 em caso contrário. Esta forma de codificação preserva a natureza independente de cada valor que a variável assume, ou seja, não assume qualquer ordenação dos valores. No entanto, este tipo de representação é proibitiva com o aumento de n. A Tabela 1 mostra esta técnica de codificação para a variável Cidade.

Tabela 1: Representação “one-of-n” para variáveis categóricas.

Indivíduo Cidade Var 1 Var 2

1 Coimbra 0 0 2 Porto 0 1 3 Lisboa 1 0 4 Porto 0 1 5 Porto 0 1 6 Lisboa 1 0 7 Coimbra 0 0 8 Lisboa 1 0 9 Lisboa 1 0 10 Lisboa 1 0 11 Coimbra 0 0 12 Coimbra 0 0 13 Lisboa 1 0 14 Porto 0 1 15 Porto 0 1 16 Porto 0 1

(9)

Se o número de categorias distintas que a variável assume (n) for demasiado grande existe a possibilidade de reduzir o número de variáveis através de alguma forma de agrupamento. Uma vez reduzido o número de valores, podemos utilizar a técnica “one of n” já apresentada. A redução do número de valores categóricos pode ser feita por um processo manual, normalmente designado “m of n”. Neste caso a ideia consiste em utilizar conhecimento específico do domínio de aplicação para proceder ao agrupamento manual das categorias. Por exemplo, digamos que queremos codificar os municípios portugueses, uma forma de o fazer consiste em criar uma nova variável com as categorias norte, centro e sul. Claramente, este tipo de codificação depende muito dos objectivos e conhecimento do analista, no entanto, é uma das melhores formas de reduzir o número de categorias e permitir a aplicação da representação “one of n”. Um outro exemplo, pode ser dados no caso de produtos de supermercado, poderíamos, em vez de utilizar um código que identifica o produto, agrupar por grandes categorias de produtos.

Uma outra forma de reduzir o número de variáveis criadas consiste na redução baseada nos valores próprios. Neste caso utilizamos a análise de componentes principais na representação “one of n” das categorias. Depois, de forma a reduzir o espaço de inputs, escolhemos apenas os m valores próprios mais elevados e associamos a cada categoria na variável original o valor do vector próprio para o qual a categoria tem o mais elevado peso. Cada vector próprio, que poderá representar uma ou mais categorias, será assim utilizado como variável para a categoria. Tendo em conta que nem todos os vectores próprios serão representados, é de esperar uma redução no número de categorias de input.

2.3 Eliminação de dados incorrectos e detecção de outliers

A preparação dos dados deve incluir uma rápida análise dos dados de forma a identificar e retirar registos incorrectos ou resolver eventuais inconsistências que possam existir. Estes registos podem ter diversas origens, normalmente ligadas às fases de recolha e registo dos dados, podendo resultar de problemas na digitalização dos dados, problemas de medição, erros humanos, etc. Este tipo de registos aumenta o grau de dificuldade da modelação, pelo que devemos remover estas observações do nosso conjunto de dados. Os métodos baseados na aprendizagem, que utilizamos no Data Mining, tendem a apresentar alguma robustez no tratamento deste tipo de erros. Isto significa que se o número de erros for pequeno,

(10)

relativamente ao conjunto total dos dados, o modelo provavelmente “aprenderá” a ignorar, ou a atribuir muito pouco peso às observações erradas.

É importante introduzir aqui a noção de “outlier”, que definiremos como dados que se encontram fora da região de interesse do espaço de input. De acordo com esta definição, os outliers não têm forçosamente que representar dados incorrectos. Os outliers são dados que se encontram particularmente distantes dos restantes, são casos extremos em uma ou várias dimensões e que, por isso, podem ter grande impacto na modelação. Na origem dos outliers podem estar erros da base de dados mas também podem estar relacionadas com a existência de registos que, sendo verdadeiros, possuem características fora do comum

A dificuldade na detecção de outliers varia de forma significativa dependendo dos casos. Se os registos são considerados outliers por via de possuírem um valor particularmente diferente numa única variável, então é relativamente simples identificá-los, sendo que ferramentas gráficas são de enorme valia nestes casos. No entanto, se o seu status de outlier resulta de possuir uma combinação particular de valores em várias variáveis então podem ser bastante mais difíceis de identificar. Assim, à medida que a dimensionalidade aumenta, maior é a dificuldade em identificar um registos como sendo um outlier.

A primeira tarefa consiste em verificar se existem outliers para as diferentes variáveis que planeamos utilizar. Aqui os métodos gráficos como o “box plot” (ver

http://www.shodor.org/interactivate/activities/BoxPlot/ ou http://en.wikipedia.org/wiki/Box_plot) e os

histogramas (ver http://www.shodor.org/interactivate/activities/histogram/ ou

http://en.wikipedia.org/wiki/Histogram) podem ser preciosos auxiliares, permitindo a fácil

identificação de outliers.

As ferramentas de Data Mining, como o SAS Enterprise Miner, têm algumas funcionalidades que permitem tratar este tipo de outlier (1D) de forma muito rápida. Estas consistem essencialmente naquilo que normalmente se designa por threshoulding (limitação). A técnica de limitação consiste em impor valores máximos e mínimos para as variáveis. Por exemplo, digamos que estamos a analisar um conjunto de variáveis do qual faz parte a idade, a utilização da técnica de limitação consistiria em impor como limite mínimo o valor 0 e valor máximo 105, na medida em que ninguém tem menos de 0 anos nem mais de 105 (infelizmente). Assim, caso existam registos com valores superiores a 105 ou inferiores a 0 serão removidos da amostra.

(11)

A Figura 3 ilustra o exemplo de uma empresa que vende vinhos pela Internet e que está a analisar a sua base de dados, neste caso a variável analisada é a idade. Como podemos observar, existem consumidores com mais de 120 anos e consumidores com menos de 18 o que nos leva a admitir que constituem erros e por isso serão eliminados da base de dados. Existe ainda a hipótese de proceder ao “enquadramento” (winzorize) dos outliers. Esta técnica consiste em definir limites inferiores e superiores para uma determinada variável. Todos os valores superiores ao limite máximo assumem o valor do limite máximo e todos os valores inferiores ao limite mínimo assumem o valor do limite mínimo. Isto permite manter os outliers sem contudo afectar o modelo com valores extremos. Existe, no entanto, algum risco nesta utilização, na medida em que estamos a atribuir valores artificiais às observações.

Figura 3: Os histogramas de frequências permitam identificar com facilidade outliers, no caso da figura é um pouco estranho ter clientes com mais de 100 anos, ou clientes com menos de 18 anos.

Outra forma de identificar outliers consiste em assumir que a variável em causa segue uma distribuição normal (nota: no âmbito do DM e devido à quantidade de dados utilizados, a hipótese de a distribuição ser aproximadamente normal é perfeitamente plausível). Procedemos ao cálculo da média e desvio-padrão para cada variável de input, definindo como outliers todos os valores que se encontrarem fora do intervalo de 3 desvio-padrão a partir da média.

(12)

A identificação de outliers a duas (ou três) dimensões não sendo tão simples pode ainda ser feita recorrendo a ferramentas gráficas como os gráficos de dispersão (Figura 4). No gráfico de dispersão apresentado na Figura 4, podemos ver que facilmente se detectam registos com uma “combinação anormal” de valores para as duas variáveis apresentadas (os dois pontos pretos do canto superior esquerdo da figura). Estes outliers passariam despercebidos na análise unidimensional baseada nos box plots e histogramas, no entanto são facilmente detectados com o gráfico de dispersão.

Figura 4: O gráfico de dispersão permite, com facilidade, a identificação de outliers a 2 dimensões, como é o caso dos dois pontos negros localizados na zona superior esquerda do gráfico.

Por forma a aumentar a velocidade de análise muitos dos softwares disponíveis produzem matrizes de gráficos de dispersão entre conjuntos de variáveis (Figura 5). Tipicamente, a diagonal é ocupada com o histograma de cada uma das variáveis. Com este tipo matrizes a análise torna-se mais rápida e precisa, já que na mesma figura temos os gráficos correspondentes a todos os pares de variáveis.

(13)

Figura 5: A utilização de matrizes de gráficos de dispersão agiliza e torna mais completa a análise das distribuição dos pares de variáveis.

Existe ainda a possibilidade de fazer a análise anterior mas adicionando uma terceira variável, normalmente representada pela cor. Por exemplo, se estamos perante um problema de classificação onde a variável de output é binária, podemos fazer um gráfico com cada um dos dois inputs e apresentar com uma cor diferente cada uma das classes de output (Figura 6). Com este tipo de gráfico facilmente identificamos pontos (indivíduos) que estando classificados numa determinada classe se encontram no espaço da outra classe, tal como acontece na figura com os dois pontos que se encontram no topo direito do gráfico.

500 600 700 800 900 1000 1100 1200 1300 10 20 30 40 50 60 70 80 Series1 Series2

Figura 6: Perante problemas com pequena dimensionalidade os métodos gráficos podem ser muito úteis na identificação de valores “estranhos”. Neste caso podemos observar, canto superior direito do gráfico, dois casos da série

(14)

Da conjunção dos dois conceitos anteriores, a matriz de gráficos de dispersão e a utilização da cor para identificar a variável de output, nasce a matriz da Figura 7 onde podemos observar a distribuição cruzada das quatro variáveis de input bem como a distribuição das três classes que a variável de output assume.

Figura 7: Com a utilização da cor para identificar as classes da variável de ouput a que cada registo pertence a matriz de gráficos de dispersão ganha uma nova dimensão. No caso específico deste gráfico temos 4 variáveis de input e cada

registo pode pertencer a uma das 3 classes da variável de output (fonte: Tan,Steinbach, Kumar: Exploratory Data Analysis (with modifications by Ch. Eick).

Mais complexa é a identificação de outliers em n dimensões uma vez que a inspecção visual deixa de ser uma opção. Uma forma particularmente eficaz de efectuar a detecção de outliers em conjuntos de dados multivariados, consiste na utilização dos métodos hierárquicos e k-means de análise de clusters. De facto, devido à sensibilidade destes algoritmos à presença de outliers, o que nem sempre é vantajoso quando queremos agrupar os dados em segmentos homogéneos, a sua utilização na detecção de outliers é muito eficaz.

(15)

Sobre a análise de clusters falaremos no módulo 4, de qualquer forma podemos adiantar que se trata de uma forma de agrupar em segmentos homogéneos (ou mais homogéneos) um conjunto de observações. Este processo é normalmente levado a cabo baseado na utilização da métrica Euclidiana. Dependendo do algoritmo utilizado, este pode ser mais ou menos sensível à presença de outliers. No caso específico do algoritmo k-means, este é particularmente sensível à presença de outliers, o que normalmente leva a que observações com valores pouco usuais sejam separadas das restantes num cluster único. É comum, aquando da análise de bases de dados, proceder à análise de clusters como forma de identificar outliers. A grande vantagem desta abordagem relaciona-se com a facilidade de identificação de outliers em espaços multidimensionais o que dificulta a tarefa da maior parte das técnicas que apresentámos, na medida em que se baseiam na análise visual dos dados.

Uma vez identificados os outliers, é necessário decidir se os iremos ou não incluir na nossa análise. Caso sejam removidos, estamos a partir do princípio de que o espaço de input onde se encontram os outliers não nos interessa. No caso de os outliers serem importantes para a análise e serem incluídos no conjunto de dados, então necessitamos de um números de exemplos suficiente por forma a poder proceder à sua modelação com algum rigor. No caso de os outliers não serem determinantes no problema, normalmente, começa-se por modelar o problema retirando os outliers, de forma a simplificar o problema. Uma vez satisfeitos com os resultados proporcionados pelos modelos sem outliers poderemos sempre proceder à sua introdução e à análise do seu impacto no modelo.

(16)

3 PRÉ-PROCESSAMENTO DE DADOS

Um dos estágios mais importantes em qualquer projecto de Data Mining relaciona-se com o pré-processamento dos dados. Apesar de extremamente importante para o resultado final do projecto, esta é uma etapa frequentemente negligenciada. O objectivo fundamental da fase de pré-processamento dos dados consiste em facilitar e simplificar o problema a tratar, sem excluir ou danificar, informação importante para a modelação e para o entendimento do problema. Neste tema iremos abordar os seguintes tópicos:

• Redução do espaço de input • Transformação das variáveis

Facilmente se compreende que o que está em causa no pré-processamento de dados é algo paradoxal. Por um lado, desejamos simplificar o problema, o que em regra passa pela redução da informação a utilizar; por outro lado, pretendemos fazê-lo sem excluir ou danificar informação importante para o entendimento do problema. Se a redução de informação for óbvia então nem faz sentido falar em pré-processamento. Por exemplo, se necessitamos de desenvolver um modelo de scoring de crédito, é óbvio que a utilização do nome próprio dos nossos clientes está posta de parte, uma vez que não esperamos que possua qualquer utilidade para a modelação do problema. Neste caso, o bom senso é suficiente para chegar à conclusão que determinadas variáveis não terão qualquer interesse na resolução do problema

A questão complica-se quando desconhecemos à partida quais as variáveis com melhores capacidades discriminativas. Tipicamente, no início do processo de desenvolvimento de um modelo, possuímos duas linhas orientadoras na selecção de variáveis: as variáveis disponíveis no sistema de informação da empresa; as variáveis que pelo conhecimento que possuímos do fenómeno consideramos importantes para a sua modelação.

Um conceito muito importante para o pré-processamento de dados é o conceito de “espaço de input” que já abordámos no módulo 2 do curso. A dimensão do espaço de input aumenta exponencialmente com respeito à dimensionalidade do problema (número de variáveis de input). Também no módulo 2 já foi abordado o problema da “maldição da dimensionalidade” que nos diz que à medida que o número de variáveis de input aumenta torna-se cada vez mais

(17)

difícil encontrar grupos de registos com características semelhantes, o que obviamente dificulta a criação de modelos robustos. Acrescente-se que se o espaço de input for grande e o número de registos disponíveis para proceder à modelação pequeno, a quantidade de registos disponível em qualquer zona do espaço será insuficiente para modelar com precisão. Assim, ao aumento da dimensionalidade deverá também corresponder um aumento do número de registos.

A existência de um grande número de variáveis de input combinada com a escassez de registos aumenta a probabilidade de se produzirem correlações espúrias entre variáveis de input com a variável de output, induzindo o modelo a atribuir-lhes importância que de facto não têm. A disponibilidade de grandes quantidades de dados permite reduzir a probabilidade de ocorrência destas correlações.

Como também vimos no módulo 2, os modelos que utilizamos no Data Mining abordam a tarefa de modelação essencialmente como uma tarefa de busca, o que enfatiza a necessidade de que o espaço de input não seja muito grande. Quanto maior o espaço de input, maior a complexidade da busca do modelo mais adequado, o que se traduz numa maior probabilidade na obtenção de modelos não globalmente óptimos. O pré-processamento pode ajudar a reduzir o espaço de input, melhorando potencialmente a performance dos modelos através da simplificação da tarefa de busca. Através da identificação das variáveis de input mais importantes e da eliminação de variáveis irrelevantes ou correlacionadas, que proporcionam pouca informação adicional, podemos reduzir significativamente o número de variáveis de input.

Por forma a compreender a importância que estes procedimentos podem ter, vale a pena exemplificar a natureza exponencial do crescimento do espaço de input à medida que o número de inputs aumenta. Se definirmos um problema de classificação que possui 10 variáveis de input, todas elas binárias (só assumem os valores 0 ou 1) indicando a presença ou ausência de determinada característica, existe um total de 210 = 1024 inputs possíveis. Um aumento de 50% no número de variáveis de input (15) produz um aumento de 32 vezes no espaço de input 215 = 32768. Obviamente, a dimensão do espaço é directamente proporcional à complexidade do problema, quanto maior o espaço de input mais difícil é para os algoritmos a obtenção de bons resultados.

(18)

A redução do espaço de input pode traduzir-se numa grande melhoria dos resultados, especialmente se a quantidade de registos disponível for limitada. A quantidade de registos disponível condiciona a performance dos modelos de forma drástica. Tendo em conta que estes modelos “aprendem” com a experiência, é indispensável, de forma a garantir bons resultados, proporcionar um conjunto de dados (experiência) suficientemente grande. Quanto maior a dimensionalidade ou complexidade maior a necessidade de experiência, ou seja, maior a necessidade de dados.

Finalmente, em muitas circunstâncias pode ser útil utilizar transformações das variáveis originais. Estas transformações permitem construir variáveis com um comportamento mais bem comportadas e com distribuições mais adequadas à modelação. A normalização dos dados de input é outras das actividades que normalmente se encontra sub o âmbito do pré-processamento. A normalização é crítica em muitos dos algoritmos que estudaremos, por isso mesmo muitas vezes estes procedimentos já se encontram incluídos nos próprios algoritmos. Os inputs com valores numéricos muito elevados tendem a adquirir demasiada importância no funcionamento do modelo, degradando a sua performance. Neste contexto, é essencial proceder à normalização dos inputs por forma a que se apresentem na mesma amplitude de valores. A forma como os dados são normalizados depende da distribuição dos dados.

Apesar da importância do pré-processamento no sucesso ou insucesso da modelação, há que ser parcimonioso na sua aplicação. O pré-processamento pode ajudar de diversas formas, no entanto, retirar demasiado dados na tentativa de simplificar o problema pode conduzir à eliminação de informação importante. Por vezes é preferível não “sobre-processar” e permitir que as próprias ferramentas distingam e avaliem a importância dos diferentes inputs.

Uma boa abordagem ao pré-processamento consiste em começar com um pré-processamento limitado e progressivamente aumentar à medida que os resultados são avaliados. Na medida em que a metodologia que temos vindo a apresentar se baseia numa filosofia iterativa, com melhorias progressivas e um cariz eminentemente experimental, não devemos esperar um processamento perfeito à primeira tentativa. O mais provável é voltar à fase do pré-processamento e experimentar novas ideias avaliando os seus resultados.

(19)

3.1 Redução do Espaço de Input

Na tarefa de redução do espaço de input é, por excelência, a tarefa onde o analista pode fazer uso do seu conhecimento específico do domínio. O conhecimento apriorístico que o analista possui é determinante para o sucesso da tarefa. No entanto, existem um conjunto de ferramentas que podem ser de extrema utilidade mesmo para o analista experiente, e que permitem compreender quais as variáveis de input mais importantes para o problema em causa. Finalmente, é importante não esquecer a natureza eminentemente iterativa do processo de pré-processamento. É normal que diversos modelos sejam desenvolvidos e que após a avaliação da sua qualidade se volte à fase do pré-processamento para retirar ou introduzir variáveis. Tipicamente, no fim de todo o processo existirão diversos modelos “concorrentes” que possuem particularidades, entre elas, o conjunto específico de variáveis de input que utilizaram.

Existem dois conceitos centrais para a tarefa de redução do espaço de input e que o analista deve ter presentes durante a escolha das variáveis a utilizar na modelação: o conceito de redundância e o conceito de irrelevância. O conceito de redundância é facilmente compreendido pela análise da Figura 8, onde se apresenta um gráfico de dispersão para duas variáveis. A ideia subjacente é a e que variáveis que se encontram correlacionadas codificam informação semelhante pelo que é desnecessária a utilização de ambas. Esta é uma das indicações importantes que deve guiar o analista quando procura reduzir o espaço de input. Na Figura 8 é facilmente perceptível que as duas variáveis tendem a variar de forma semelhante, e apesar de não serem completamente redundantes o ganho de informação pela utilização de ambas é marginal.

(20)

Figura 8: A redundância é uma caracteristica que pode ser facilmente identificada recorrendo a gráficos de dispersão. Neste caso é claro que grande parte da informação codificada pelas variáveis de input é semelhante.

O conceito de irrelevância é apresentado na Figura 9, onde se representam 3 variáveis, as

variáveis de input Input1 e Input2 e a variável de output, designada E(Target). Neste caso

podemos observar que independentemente das variações na variável Input2 a variável

E(Target) se mantém inalterada. O conceito de irrelevância traduz a ideia de que se alterações

de valor numa variável de input (p.e. Input2) não produzem qualquer alteração nos valores da

variável de output (variável E(Target)) então essa variável de input será irrelevante para o processo que pretendemos modelar.

Figura 9: Qualquer alteração no valor da variável Input2 não produz qualquer alteração na variável de output

(21)

Apesar de ambos os conceitos (redundância e irrelevância) serem bastante úteis quando procuramos reduzir o espaço de input, é importante ter a noção que não constituem uma regra aplicável em qualquer circunstância. Por exemplo, o facto de duas variáveis se encontrarem altamente correlacionadas não significa que a sua utilização conjunta não possa beneficiar a performance do modelo. Basta que a variabilidade não partilhada seja determinante para o problema em causa. Do mesmo modo, o facto de uma variável de input aparentemente não produzir alterações na variável de output não garante que a sua utilização em conjunto com outra variáveis não possa ser importante, isto porque existem efeitos multivariados que não são directamente observáveis.

3.1.1 Identificação de Variáveis Correlacionadas (Redundância)

Como acabámos de ver uma boa forma de tentar reduzir o espaço de input consiste em remover variáveis altamente correlacionadas. Existem diversas formas de identificar variáveis correlacionadas, algumas das quais já discutimos durante este módulo. A mais simples consiste na utilização de matrizes de gráficos de dispersão como os apresentados na Figura 5, atreves da análise destas matrizes é muito simples identificar variáveis que se encontram altamente correlacionadas. Uma outra hipótese consiste na utilização de matrizes de correlação, que são em tudo semelhantes, no entanto, em vez do gráfico de dispersão temos o valor do coeficiente de correlação.

3.1.2 Impacto das Variáveis de Input na Variável de Output (Irrelevância)

A forma mais simples de detectar variáveis irrelevantes consiste na utilização de um simples gráfico de dispersão, se as alterações na variável de input não produzem quaisquer alterações

na variável de output (como acontece com o Input2 na Figura 9) então existem boas razões

para não utilizar essa variável.

Outra forma passa pela utilização de histogramas como o apresentado na Figura 10 onde se pode analisar, para cada variável, a densidade relativa de indivíduos das diferentes classes de output para cada intervalo de valores da variável de input. Uma variável de input irrelevante tende a apresentar uma proporção semelhante de indivíduos para as diferentes classes de output, independentemente do intervalo de valores da variável de input.

(22)

Figura 10: O histograma pode ser utilizado para compreender as diferenças na distribuição dos valores de uma variável de input da variável de output.

Uma forma particularmente simples de proceder à escolha das variáveis a introduzir numa primeira fase da modelação, consiste na comparação das médias das diferentes variáveis para as duas sub-populações de interesse. Digamos que estamos a tentar desenvolver um modelo preditivo que nos permita antever quais as secções estatísticas que crescerão em termos populacionais no próximo decénio.

De acordo com as nossas hipóteses, existem uma série de indicadores geográficos que nos permitem proceder à estimação, a saber: distância ao centro urbano mais próximo, compacidade da forma da sub-secção (dada pelo rácio entre área ao quadrado e o perímetro), distância aos principais eixos viários, evolução da população entre 1991 e 2001, evolução da população entre 1991 e 2001 na vizinhança imediata, complexidade do polígono que define a sub-secção dada pelo número de pontos de digitalização.

Com base nestas variáveis de input iremos treinar o modelo, utilizando como variável de output (ou target) uma variável binária onde 1 representará sub-secções que entre 1991 e 2001 cresceram em termos populacionais e 0 as sub-secções que entre 1991 e 2001 não

(23)

cresceram. O pressuposto é o de que se as variáveis de input permitirem construir um modelo fiável com base nos dados entre 1991 e 2001, então poderemos utilizar o modelo para prever o que virá a acontecer entre 2001 e 2011.

Como gostaríamos de perceber quais as variáveis que parecem mais importantes e utilizá-las numa primeira fase para o desenvolvimento do modelo. Assim, começamos por dividir as nossas observações em dois sub-conjuntos, um com todas as sub-secções que entre 1991 e 2001 cresceram populacionalmente; o outro com as sub-secções que não cresceram. De seguida, procedemos ao cálculo das médias para cada variável e cada sub-conjunto, produzindo um gráfico semelhante ao da Figura 11.

Com base neste gráfico podemos concluir que as maiores diferenças entre os dois sub-conjuntos, se encontram nas 4 primeiras variáveis, por outras palavras, poderemos dizer que os dois sub-conjuntos são mais diferentes nestas 4 primeiras variáveis. Assim sendo, é de esperar que estas 4 variáveis possuam maior capacidade de descriminação entre os dois sub-conjuntos. Esta pode ser uma boa forma de abordar o problema da redução do espaço de input numa primeira fase, caso os resultados não sejam os desejados, poderemos recorrer aos métodos já mencionados anteriormente.

Figura 11: As diferenças entre as médias das duas sub-populações constitui um bom indicador para compreender quais as variáveis com maior capacidade de discriminação.

(24)

3.1.3 Conhecimento Específico do Domínio

Uma das formas mais eficazes de redução do espaço de input consiste na aplicação de conhecimento específico do domínio de aplicação. Neste contexto o analista faz uso do seu conhecimento pericial sobre o domínio de aplicação por forma a fazer uma pré-selecção das variáveis relevantes para a modelação. O conhecimento do analista sobre o domínio de aplicação é um aspecto fundamental para o sucesso de todo o exercício. A sensibilidade à importância das diferentes variáveis e o modelo lógico que suporta o entendimento que existe sobre o fenómeno de interesse dificilmente pode ser completamente substituído por meios automáticos.

Uma forma de potenciar o conhecimento apriorístico do analista, consiste na construção de indicadores/índices significativos para o fenómeno a estudar. A construção de indicadores constitui uma forma eficiente de proporcionar conhecimento facilmente acessível à ferramenta de modelação e pode também permitir a redução do espaço de input. Obviamente, o tipo específico de indicadores a utilizar é largamente dependente do domínio de aplicação. Por exemplo, a taxa de esforço consiste na proporção do rendimento de um agregado familiar afecto ao pagamento de um empréstimo, sendo particularmente relevante para a análise de crédito. Existe mesmo a regra empírica de que não deverá ultrapassar 50% do rendimento médio mensal do agregado familiar. Este é um indicador muito importante na atribuição de crédito e resulta de uma enorme experiência na concessão de crédito. Em muitas actividades este tipo de conhecimento empírico existe e pode ser determinante para a criação de indicadores particularmente informativos e relevantes para a tarefa em causa. A capacidade de criação deste tipo de indicadores pode significar a diferença entre o sucesso ou insucesso do modelo.

Um outro exemplo, da criação de indicadores, mais simples e óbvio, consiste na utilização da variável população e área para obter a densidade populacional, utilizando esta em vez de uma ou mesmo das duas variáveis originais. Não é, no entanto, obrigatório deixar de utilizar as variáveis originais, de facto, em muitas circunstâncias é necessário utilizar o indicador construído bem como as variáveis que serviram de base à sua construção. Assim, a estratégia de criação de indicadores pode, potencialmente, contribuir para a redução do número de variáveis de input. No entanto, é importante ter em atenção que isso nem sempre acontece. Em qualquer caso esta é uma excelente oportunidade para incorporar conhecimento

(25)

apriorístico sobre o problema e que em geral facilita e simplifica a tarefa dos algoritmos de criação de modelos.

3.1.4 Busca Automática

Uma opção que existe na maior parte dos software de Data Mining é a busca automática de variáveis relevantes para incluir no modelo. Os procedimentos específicos para levar a cabo estas buscas variam de software para software, no entanto, existem algumas ideias mais ou menos consensuais. Uma das formas mais simples, para a selecção de variáveis de input, consiste na utilização da regressão linear para proceder à ordenação das variáveis de input, de acordo com a sua importância, sugerindo a utilização de apenas as n melhores variáveis de input.

Uma forma mais exaustiva de busca é a estratégia “step-wise” baseada na regressão. Esta busca pode ser feita “para trás” (backwards) ou “para a frente” (forward). Neste último caso, se temos n variáveis de input, iniciamos o processo criando n modelos com uma única variável de input e seleccionamos o melhor. A seguir criamos n-1 modelos de dois inputs, utilizando o melhor input (seleccionado na fase anterior) combinado com cada uma dos restantes n-1 inputs e seleccionamos o melhor modelo. O processo continua assim, através da adição de variáveis de input até que o número desejado de variáveis de input tenha sido alcançado. O caso da busca ser “backwards” é em tudo semelhante, apenas o processo é invertido, ou seja, iniciamos a busca com n modelos, cada um dos quais com n-1 inputs. Apesar deste método usualmente obter bons resultados práticos, existem alguns problemas na sua utilização. O principal relaciona-se com o facto de acontecer, com alguma frequência, que cada uma das variáveis, em si mesmo, não apresentar qualquer valor preditivo, mas quando usadas em conjunto gerarem excelentes resultados.

Uma outra estratégia bastante comum consiste na utilização de uma árvore de decisão (que estudaremos no módulo 6) para a selecção das variáveis mais importantes. Assim, inicia-se o processo de redução do espaço de input com a aplicação de árvore de decisão que indicará quais as variáveis mais importantes para discriminar/prever a variável de output. Após esta identificação pode proceder-se à remoção das variáveis escolhidas e a uma nova aplicação da árvore de decisão às variáveis que não foram escolhidas. Com este método constrói-se uma hierarquia de relevância entre as variáveis de input, sendo que as mais importantes serão as que forem escolhidas em primeiro lugar pela árvore.

(26)

Finalmente, existe ainda a possibilidade de proceder a uma análise de clusters e identificar semelhanças na estrutura das variáveis. Caso sejamos capazes de agrupar as nossas variáveis de input em grupos homogéneos resta-nos seleccionar uma única variável de cada um desses grupos. A particularidade desta análise de clusters consiste no facto de o ficheiro utilizado ser diferente do habitual, no sentido em que as linhas corresponderão a variáveis e as colunas a registos.

Em qualquer caso, e independentemente da valia destes procedimentos automáticos, continua a ser fundamental que o analista, embora levando em consideração as indicações proporcionadas pelas técnicas apresentadas, aborde a tarefa de modelação de uma forma experimental. A única boa estratégia consiste em experimentar com diferentes subconjuntos das variáveis de input e comparar a qualidade dos resultados obtidos para cada subconjunto.

3.1.5 Análise de Componentes Principais

A Análise de Componentes Principais (ACP) constitui um método de análise factorial particularmente adequado à redução do número de variáveis de input. Em termos intuitivos (a explicação da ACP não faz parte dos objectivos deste curso, pelo que tentaremos apresentar apenas uma explicação sucinta da técnica), a ACP tenta identificar um sub-espaço de m-dimensões, a partir do espaço inicial de input de n-m-dimensões, o mais “significativo” possível para depois proceder à projecção os dados iniciais neste sub-espaço. Neste processo o número de variáveis é reduzido de n para m.

A ACP começa por calcular n vectores ortonormados, designados componentes principais, que constituem a base do novo espaço de input. Estas componentes principais são ordenadas numa sequência das mais significativas para as menos significativas. Tendo em conta que cada um destes vectores é perpendicular aos restantes, podem ser vistos como um novo conjunto de eixos para o espaço de input. Devido às transformações produzidas pela ACP, este novo conjunto de eixos possui um conjunto de características que não estão presentes nos eixos iniciais (as variáveis originais de input). Especialmente relevante, é o facto de quando as novas variáveis são visualizadas no novo conjunto de eixos, a variância é maximizada no primeiro eixo, o segundo eixo com maior variância é o segundo e assim sucessivamente. A Figura 12

ilustra o procedimento, assim, partindo das variáveis x1 e x2, construímos duas novas

(27)

x

2

x

1

u

2

u

1

X

x

2

x

1

u

2

u

1

X

Figura 12: Na ACP as variáveis iniciais são substituídas por novas variáveis ortogonais que maximizam a variância explicada.

Tendo em conta a forma como a ACP funciona, é essencial que todas as variáveis de input sejam normalizadas antes do procedimento. Caso contrário, uma variável caracterizada por elevados valores numéricos apresentaria um valor de variância muito grande o que levaria o método a considerá-la como a primeira componente principal, o que eventualmente não seria correcto.

Figura 13: As novas variáveis produzidas pela ACP são ordenadas, sendo que a primeira componente principal é a que mais variância explica e assim sucessivamente. No caso da figura a primeira componente principal é responsável por

(28)

Sendo a ACP realizada após a normalização das variáveis de input, é razoável esperar que as primeiras componentes principais (aquelas ao longo das quais os dados apresentam maior variância) sejam as mais significativas. Desta forma o espaço de input pode ser reduzido de uma forma inteligente e sistemática, eliminando as componentes principais que possuem pequenas quantidades de variância, o que leva a crer que o seu poder explicativo seja pouco importante. Aquando da realização deste tipo de redução, é extremamente importante analisar as diferenças de variância entre variáveis. Apenas as variáveis com baixa variância devem ser eliminadas. Para mais pormenores consultar Hair et all. (1995) e StatSoft (http://www.statsoft.com/textbook/stathome.html).

É importante ter em atenção alguns inconvenientes que a ACP pode ter. Em primeiro lugar ao criar um “novo” conjunto de variáveis a interpretação dos resultados torna-se bastante mais complexa e difícil. É bastante mais simples analisar um modelo onde as variáveis de input são por exemplo o peso, a altura, a idade e a tensão arterial do que um modelo onde as variáveis de input são as 4 primeiras componentes principais. Estas componentes têm certamente uma interpretação, no entanto, esta interpretação é sempre subjectiva e não traduz qualquer variável observável. Por outro lado, um dos pressupostos básicos da ACP é a de que as pequenas variações entre as variáveis são irrelevantes para o processo subsequente. É com base neste pressuposto que se utiliza apenas as p componentes principais e se reduz o espaço de input. No entanto, este pressuposto pode ser desadequado e, dependendo dos casos específicos, produzir maus resultados. A Figura 14 apresenta um exemplo muito simples dos eventuais perigos da utilização da ACP como forma de redução do espaço de input. No gráfico apresentado no lado esquerdo a redução das duas variáveis originais para a 1ª componente principal não produz efeitos negativos na medida em que a distinção entre as duas classes presentes é preservada. Já no caso do gráfico apresentado do lado direito o mesmo não acontece. Dada a distribuição dos pontos é ao longo do eixo com menos variância que a diferenciação é possível. Assim, ao preservar apenas a 1ª componente principal deixa de ser possível diferenciar os pontos de acordo com os grupos originais.

(29)

Figura 14: O gráfico do lado esquerdo apresenta uma redução do espaço de input baseada na ACP bem conseguida. O gráfico do lado esquerdo representa os perigos da redução baseada na preservação de apenas um subconjunto das

componentes principais.

3.2 Transformação das Variáveis

A transformação das variáveis traduz um conjunto de tarefas que antecede a aplicação das ferramentas de modelação. A mais importante consiste na normalização as variáveis a utilizar na modelação e que veremos na subsecção seguinte. Falaremos ainda da utilização das médias móveis como forma de reduzir o ruído associado a séries temporais.

A normalização dos dados constitui um dos procedimentos mais usuais no pré-processamento dos dados. A razão para isto reside no facto de que a maioria dos modelos que utilizaremos assumem, implicitamente, que as distâncias nas diferentes direcções do espaço de input possuem o mesmo peso ou importância. Por exemplo, na análise de clusters, nomeadamente no algoritmo conhecido por k-means, que utiliza a distância Euclidiana depende do facto dos inputs se encontrarem em escalas idênticas. Neste caso é fundamental normalizar todas as variáveis de input, por forma a que tenham contribuição idêntica no processo de optimização. De outra forma, um único input (com grandes variações de amplitude nos seus valores) poderia dominar todo o processo.

Antes de descrever as principais opções na normalização dos dados importa alertar o aluno para o facto de em geral as variáveis de input produzirem melhores resultados quando apresentam histogramas com formas Uniformes ou Normais (Figura 15). As distribuições uniformes caracterizam-se por apresentar um número mais ou menos semelhante de exemplos ao longo de toda a amplitude de valores da variável. Uma distribuição normal (também

(30)

designada Gaussiana) caracteriza-se por apresentar maior densidade nos valores médios da variável e menor densidade ao longo das caudas da distribuição.

Figura 15: Gráficos da função de densidade da distribuição normal (esquerda) e uniforme (direita). Adaptado de http://www.itl.nist.gov/div898/handbook/index.htm

Antes de iniciar a normalização das variáveis importa analisar a distribuições das variáveis de input. A forma mais simples de proceder a esta análise consiste na produção um histograma para cada uma das variáveis de input. Caso a distribuição evidencie grandes distorções relativamente às duas distribuições de referência (uniforme e normal) então pode ser útil procurar alterar a distribuição. Existem diversas transformações (por exemplo logaritmo, exponencial, 1/x, potencia) que permitem produzir alterações na distribuição da variável aproximando-a das distribuições uniforme ou normal.

3.2.1 Normalização das Variáveis

A normalização dos dados constitui um dos procedimentos mais usuais no pré-processamento dos dados. A razão para isto reside no facto de que a maioria dos modelos normalmente utilizados assumem, implicitamente, que as distâncias nas diferentes direcções do espaço de input possuem o mesmo peso ou importância. Por exemplo, na análise de clusters, nomeadamente no algoritmo conhecido por k-means, que utiliza a distância Euclidiana depende do facto dos inputs se encontrarem em escalas idênticas. Neste caso é fundamental normalizar

(31)

todas as variáveis de input, por forma a que tenham contribuição idêntica no processo de optimização. De outra forma, um único input (com grandes variações de amplitude nos seus valores) poderia dominar todo o processo.

Também o algoritmo de treino por retro-propagação (RP), utilizado nas redes neuronais perceptrão multi-camada, funciona de forma mais eficiente caso os inputs se encontrem devidamente normalizados. Tendo em conta que o algoritmo RP recorre a um procedimento de busca pelo gradiente para minimizar os erros, a normalização dos dados evita a criação e atravessamento de grandes vales no espaço de input, provocados unicamente pela magnitude dos valores das variáveis. Tendo em conta que valores elevados afectam significativamente as alterações das ponderações, os valores não normalizados tornam todo o processo de minimização do erro mais lento. A normalização pode também evitar alguns problemas numéricos, nomeadamente de precisão, que decorrem da complicação aritmética do processamento de valores muito grandes. Existem diversas formas de proceder à normalização dos dados. Nesta subsecção tentaremos apresentar as principais, destacando as suas vantagens e desvantagens.

A normalização Min-Max opera uma transformação linear da amplitude original dos valores de input, para uma amplitude pré-determinada (tipicamente entre 0-1). O valor mínimo da distribuição inicial min1, é transformado para um novo mínimo min2, o mesmo acontecendo com o valor máximo max1 que passa a max2. Todos os pontos entre estes dois valores são transformados linearmente para a nova escala. Por exemplo, os valores 100, 110, 150 e 200, numa nova escala entre 0 e 1 seriam transformados para 0, 0.1, 0.5 e 1.

A fórmula matemática do procedimento Min-Max de normalização é a seguinte:

(

max

2

min

2

)

min

2

1

min

1

max

1

min

'

+

=

y

y

onde y é o valor original, y’ o novo valor, min1 e max1 o mínimo e máximo da distribuição inicial e min2 e max2 o mínimo e o máximo da nova escala.

Uma das vantagens deste procedimento tem que ver com o facto de preservar intactas todas as relações entre os valores, não introduzindo qualquer enviesamento nos dados (a forma dos histograma é preservada). Este método de normalização é muito usado e constitui um bom padrão de comparação para outros métodos.

(32)

A normalização pelo zscore transforma os valores da variável de input, por forma a que a sua média seja 0 e a variância 1. O primeiro passo consiste no cálculo da média e desvio-padrão dos dados de input. A seguir subtrai-se a cada input o valor da média e divide-se pelo desvio-padrão. A fórmula é a seguinte:

DP

média

y

y

'

=

onde y é o valor original, y’ o novo valor.

A normalização pelo zscore funciona particularmente bem quando desconhecemos os mínimos e máximos das variáveis de input, ou quando existem outliers que inviabilizam a normalização pelo Min-Max.

A normalização sigmoidal transforma os dados de input de forma não-linear para uma escala entre -1 e 1, utilizando a função sigmoidal. Começa por calcular a média e o desvio-padrão dos dados de input. Valores que se encontram a menos de um desvio-padrão da média são transformados de forma quase linear (caem na região linear da função sigmoide). Os outliers são comprimidos nas caudas da distribuição. A fórmula é a seguinte:

α α − −

+

=

e

e

y

1

1

'

onde α corresponde ao zscore.

A normalização pela função sigmoidal é particularmente apropriada quando existem outliers que desejamos incluir no conjunto de dados. Evita que os valores na amplitude média da distribuição sejam comprimidos para valores muito idênticos, sem perder a capacidade de representar outliers com valores muito elevados. Os gráficos da Figura 16 permitem observar a diferença que existe entre os três tipos de normalização que apresentamos. Neste caso, existe uma observação com um valor muito superior às restantes (também designado o efeito Bill Gates), o que obriga a uma “esmagamento” entre valores muito parecidos de todos as outras observações. No entanto, este efeito é muito mais severo nos métodos do Zscore e Min-Max d que no caso da normalização sigmoidal.

(33)

Min-Max -10 0 10 20 30 40 50 60 Z-Score 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Sigmoide -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 1.2

Figura 16: Tal como podemos observar na figura perante a existência de valores numéricos muito elevados, a normalização sigmoidal permite manter uma boa diferenciação nos valores mais baixos, ao contrário do que acontece

com os outros métodos.

3.2.2 Utilização de Médias Móveis

Se o o problema a tratar consiste numa série temporal (ou seja, dados para uma única variável de input recolhida ao longo do tempo) com ruído, um procedimento muito utilizado como forma de reduzir esse ruído consiste em utilizar médias. A utilização das médias móveis funciona bastante bem no caso das séries temporais, produzindo novos padrões exemplo menos sensíveis a pequenas flutuações dos valores.

A utilização de médias como forma de reduzir o ruído tem boas bases teóricas. O seu efeito na redução do ruído fica bem patente na Figura 17 e Figura 18. Os dados iniciais constam do primeiro gráfico, o segundo gráfico foi obtido através de uma média móvel de 5 dias. Isto significa que cada valor inicial foi substituído pela média dos 4 valores anteriores e o seu próprio valor.

(34)

10 20 30 40 50 60

Figura 17: representação dos valores diários de uma variável ao longo de um período.

10 20 30 40 50 60

Figura 18: A utilização de médias móveis pode ser muito importante na redução de “ruído”. Na figura podemos compreender o efeito deste tipo de processamento.

(35)

4 BIBLIOGRAFIA

• Berry, M., Linoff, G., 1997, “Data Mining Techniques, for sales, and customer support”, John Wiley and Sons.

• Hand, D., Manila H., Smyth, P., 2001, “Principles of Data Mining”, MIT Press, Cambridge.

• Han, J., Kamber, M., 2001, “Data Mining – Concepts and Techniques”, Morgan Kaufmann, San Francisco, California.

• Pyle, D., 1999 “Data Preparation for Data Mining”, Morgan Kaufmann Publishers, Inc. San Francisco, CA, ISBN 1558605290.

(36)

Referências

Documentos relacionados

O primeiro passo para introduzir o MTT como procedimento para mudança do comportamento alimentar consiste no profissional psicoeducar o paciente a todo o processo,

Excluindo as operações de Santos, os demais terminais da Ultracargo apresentaram EBITDA de R$ 15 milhões, redução de 30% e 40% em relação ao 4T14 e ao 3T15,

O objetivo do curso foi oportunizar aos participantes, um contato direto com as plantas nativas do Cerrado para identificação de espécies com potencial

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

 Exercícios Não Específicos Representativos (NER) – tarefas de treino que não contemplam princípios de jogo específicos do modelo de jogo, independentemente do nível

6 Num regime monárquico e de desigualdade social, sem partidos políticos, uma carta outor- gada pelo rei nada tinha realmente com o povo, considerado como o conjunto de

da quem praticasse tais assaltos às igrejas e mosteiros ou outros bens da Igreja, 29 medida que foi igualmente ineficaz, como decorre das deliberações tomadas por D. João I, quan-

Para se buscar mais subsídios sobre esse tema, em termos de direito constitucional alemão, ver as lições trazidas na doutrina de Konrad Hesse (1998). Para ele, a garantia