Um Sistema de Data Warehousing para a Área da Qualidade da Água Joana Fernandes1, Ana Sofia Duarte1 1 Universidade do Minho, {pg10911, pg11061}@alunos.uminho.pt Resumo. A água é um bem essencial à vida humana, de tal forma que devemos preservá-la e prevenir a sua contaminação. De acordo com esta ideia, cada vez se tornou mais óbvio a necessidade de preservação da sua qualidade, através do controlo rigoroso de todos os parâmetros que poderão levar à sua degradação. A construção de um sistema de data warehousing para a qualidade da água tem como objectivo o armazenamento dos dados correspondentes, auxiliando no controle da qualidade e na descoberta do conhecimento através da aplicação das técnicas de mineração de dados. Com o intuito de preservar e prever a qualidade da água num futuro próximo, centramos este trabalho na criação de um sistema de data warehousing para a qualidade da água, e posteriormente foi realizado um estudo com base em técnicas de mineração de dados, como a classificação e a regressão linear. Palavras Chave: Qualidade da água, consumo humano, práctica balnear, base de dados, data warehouse, mineração de dados, classificação, regressão. 1 Introdução A água é o elemento químico mais abundante na Terra chegando a cobrir ¾ da sua superfície, contudo, 97% desta é salgada e a restante divide-se na sua maioria entre o gelo nas calotas polares, glaciares, rios e lagos (superficiais) e ainda outras subterrâneas. É destes três últimos que podemos extrair a pequena percentagem de 6% (aproximadamente) que pode servir para as variadas actividades tais como abastecimento público e industrial, irrigação agrícola, produção de energia, actividades de lazer, preservação da vida aquática entre outras [1]. Desta percentagem de 6%, apenas 6% é usada para consumo humano (Figura 1). Mas para que todas estas actividades sejam possíveis o Homem deve preservar este bem evitando os inúmeros “ataques” à natureza como a poluição [2]. Apesar de todas as possíveis situações de poluição, o conceito de água poluída (ou não) depende do seu uso e também do seu equilíbrio entre o meio aquático e a sua fauna e flora. Isto quer dizer que uma água imprópria para consumo não é necessariamente uma água poluída, desde que se encontre em equilíbrio com o seu meio, disto é exemplo a água dos oceanos que não é consumível pelos humanos, mas quando dentro dos respectivos padrões, é saudável para o seu meio. No seguimento desta ideia constatamos que a água tem inúmeras funcionalidades, e cada vez mais se sente a necessidade de criação de estruturas [3] que possam ajudar na importante tarefa de gestão da qualidade dos recursos hídricos de acordo com o seu determinado uso. Uma estrutura adequada seria um sistema de data warehousing, que possibilitasse armazenar os diversos dados sobre a qualidade da água, independentemente das fontes [4], assim como numa fase posterior iria permitir uma melhor análise dos parâmetros que ditam a qualidade da água relativamente ao seu uso. Fig. 1 Percentagem da água total usada para consumo doméstico Este trabalho centra-se na construção de um sistema de data warehousing para a área da qualidade da água para consumo humano e para a prática balnear. Posteriormente foi feito um estudo acerca da previsão da qualidade da água nestas duas situações, para os anos seguintes, através de técnicas de mineração de dados. Toda a componente prática deste trabalho, foi realizada com base na ferramenta Microsoft SQL Server 2008 [5]. Apesar de já estarmos familiarizadas com as ferramentas da Microsoft, trabalhar com esta ferramenta foi algo novo para nós, pois só estávamos habituadas a versões anteriores. Logo, a exploração de uma nova ferramenta pareceu-nos interessante, e além disso, esta ferramenta apresenta-se bastante completa em comparação com outras no mercado. Para a criação da base de dados e do sistema de data warehousing, foi usada a ferramenta base do SQL Server 2008. Para o processo de ETL (Extracção, Transformação e Carregamento) foi utilizada uma extensão da ferramenta, com capacidades específicas para o processo ETL, o SQL Server Integration Services. Por fim, para a aplicação das técnicas de mineração de dados utilizamos o SQL Server Analysis Services, que também é outra extensão da ferramenta SQL Server 2008. Este artigo será constituído por três secções principais. Na secção dois será abordado o pré-tratamento efectuado às duas fontes de informação. Numa fase seguinte, foi estruturado os data marts para cada fonte de dados sobre a qualidade da água, e a respectiva criação do sistema de data warehouse [6]. Também nesta secção foi explicado ao pormenor o processo ETL [7]. Ambos os processos foram baseados na metodologia de Kimball, respectivamente. Na secção quatro, foi abordado o estudo de previsão da qualidade da água, feito com base na aplicação de técnicas de mineração de dados aos dois data marts existentes. 3 Fontes de Informação O primeiro passo em todos os estudos, é a análise dos dados existentes. Neste caso, isso não foi excepção, como tal, o primeiro grande passo foi o pré tratamento dos dados (existência de nulos e outliers). Esse tratamento foi executado manualmente num documento .xls e só depois foi feita a inserção dos dados na base de dados, que posteriormente foram integrados no sistema de data warehousing através do processo ETL. 3.1 Água para Consumo Humano A água pode ser utilizada para consumo directo ou indirecto (utilização na industria alimentar, por exemplo) do Homem. Para tal deve obedecer a um conjunto de regras que assegurem que as suas características não sejam prejudiciais à saúde pública. A recolha da água destinada ao consumo humano, é feita através das águas superficiais e subterrâneas, que posteriormente são submetidas a um tratamento adequado e rigoroso de maneira a não pôr em risco a saúde dos consumidores [8]. Consequentemente a água deve ser analisada e as variáveis em estudo devem obedecer a um conjunto de valores [8]. Com o intuito de abranger um maior número de pessoas, este estudo foi focalizado numa das maiores albufeiras do país, que possibilita o abastecimento para uma população superior a 1400000 habitantes [9]. A albufeira escolhida foi a albufeira de Crestuma-Lever [9] e todos os dados recolhidos tiveram como fonte o Sistema Nacional de Informação de Recursos Hídricos (SNIRH) [10]. Fig. 2. Localização da ETA de Lever, responsável pelo tratamento da água da albufeira de Crestuma-Lever [9] Os parâmetros foram escolhidos de acordo com o Decreto de Lei n.º 236/98 de 1 de Agosto [8], mas como nem todos constavam da base de dados do SNIRH, este estudo é apenas feito com os parâmetros existentes, desde o ano 2000 até ao ano 2008 (96 registos). Os dados recolhido na base de dados do SNIRH, apresentavam uma qualidade bastante abaixo do esperada. Quase 80% dos valores estavam em falta e em alguns casos apercebemo-nos da existência de outliers, que foram tratados numa fase mais avançada para a mineração de dados. Em relação aos valores em falta, procedemos a um tratamento imediato. Nesses casos, maioritariamente dos valores foram inseridos manualmente de acordo com os valores já existentes para cada parâmetro e de acordo com uma sequência temporal. Para efeito do sistema de data warehousing, isto não representa um grande problema, pois o mecanismo de criação e posteriormente o de povoamento seria igual. Mas para o estudo realizado através da aplicação de técnicas de mineração de dados os resultados poderão encontrar-se distorcidos em relação à realidade, mas sempre permitem a visualização de um possível estudo sobre a qualidade da água. Na Tabela 2 é apresentado apenas alguns parâmetros utilizados neste estudo. Apenas os que foram considerados como consequentes na avaliação final da qualidade da água para consumo humano. Os outros parâmetros poderão ser consultados no anexo I do decreto-lei 236/98 [8]. Esta escolha teve como suporte o anexo I do decreto-lei 236/98 [8], pois consideramos que qualquer parâmetro que não apresente um valor máximo recomendado para o tipo de tratamento 3, facilmente será regularizado com algum tratamento directo. Na Tabela 1 o acrónimo SP significa sem poluição, o FP significa fracamente poluído, o P significa poluído, o MP significa muito poluído e o EP significa extremamente poluído. Tabela 1. Parâmetros relativos à qualidade da água para consumo humano [8] Parâmetros SP FP Parâmetros Organolépticos Cor <=10 11-50 Parâmetros Físico-Químicos Temperatura (ºC) <=20 21-25 Sulfatos (mg/l) <=25 26-100 Parâmetros relativos a Substâncias Indesejáveis Nitratos (mg/l) <=5 5-25 Azoto Amoniacal (mg/l) <=0,1 0,11-1,00 Fenóis (mg/l) <=0,001 0,0011-0,005 Bário (mg/l) <=0,1 Parâmetros relativos a substâncias tóxicas Arsénio (mg/l) <=0,010 0,011-0,05 Cádmio (mg/l) <=0,0010 Cianetos (mg/l) <=0,010 Crómio (mg/l) <=0,05 <=0,0005 Mercúrio (mg/l) 0 Chumbo (mg/l) <=0,05 Selénio (mg/l) <=0,01 Pesticidas (mg/l) <=0,1 Hidro. Aromáticos (mg/l) <=0,2 Outros Parâmetros Baixa Precipitação <=5 Temperatura Ar (ºC) <=15 P MP EP 51-100 101-200 200 26-28 101-150 29-30 151-250 30 250 25,1-50,0 1,10-2 0,0051-0,01 0,11-1,0 50,1-80,0 2,1-5,0 0,011-0,1 - 80,0 5,00 0,1 1,0 0,0011-0,005 0,011-0,050 0,00051-0,001 0,051-0,1 0,11-2,5 - 0,051-0,10 2,51-5,0 0,2 0,100 0,005 0,050 0,05 0,001 0,1 0,01 5,0 - Média 6-20 15-20 Alta 21 21 3.2 Água para a Prática Balnear A qualidade das águas balneares constitui uma grande preocupação a nível ambiental, de saúde pública e económico. Com a finalidade de proteger o meio aquático, o ambiente e a saúde pública está em vigor o Decreto-Lei 236/98 de 1 de Agosto [8] que estabelece normas, critérios e objectivos rigorosos que servem de guia para a classificação da qualidade das águas balneares. Neste estudo, optamos por utilizar uma praia fluvial, pois cada vez mais este tipo de praias ganha pessoas em relação às praias do litoral. A praia escolhida foi a praia fluvial Olhos de Água, do concelho de Alcanena, distrito de Santarém, pois é uma praia fluvial que tem vindo a crescer bastante, e apresenta já inúmeras infra-estruturas de lazer e apoio à higiene humana [11]. A qualidade da água é monitorizada pelo respectivo órgão da sua área de jurisdição, a Comissão de Coordenação e Desenvolvimento Regional de Lisboa e Vale do Tejo (CCDR-LVT) [12]. Consequentemente foi através da CCDR-LVT que foram recolhidos os dados utilizados neste estudo. Os parâmetros escolhidos coincidiram com os existentes nos registos da CCDR-LVT, e os anos de estudo foram desde 2006 até 2008 (51 registos). O tratamento dos dados neste caso de estudo foi o mesmo no da água de consumo humano, mas menos intrusivo, pois os dados extraídos apresentavam uma boa qualidade. Tal como no estudo da água de consumo humano, o número de parâmetros utilizados neste estudo, foi superior aos considerados como consequentes na avaliação final da qualidade da água, de acordo com o a entidade reguladora da praia fluvial de Olhos de Água [12]. Esses parâmetros são apresentados na Tabela 3, todos os outros podem ser consultados no decreto-lei 236/98 [8]. Tabela 2. Parâmetros relativos à qualidade da água para a prática balnear Parâmetros Parâmetros Microbiológicos Coliformes Totais (/100ml) Coliformes Fecais (/100ml) Estreptococos Fecais (/100ml) Parâmetros Físico-Químicos Óleos e Minerais (mg/l) Subs. Tensioactivas(mg/l) Fenóis (mg/l) Outros Parâmetros Temperatura do Ar (ºC) Bom Aceitávell Mau <=500 <=100 <=100 501-10000 101-2000 101-400 10000 2000 400 Ausente Ausente Ausente - Presente Presente Presente Baixa <=15 Média 16-20 Alta 20 4 Implementação do Sistema de Data Warehousing Um sistema de data warehousing serve de suporte informacional para os sistemas de apoio à decisão, isto é, serve de base para a aplicação de técnicas direccionadas à extracção estratégica da informação que posteriormente servirá de base para a tomada de decisões no mundo organizacional [4]. Este tipo de sistema garante-nos uma organização da informação orientada ao assunto permitindo integrar os dados provenientes de diversas fontes. Além disto este sistema garante informação histórica e não volátil [13]. 4.1 Fontes de Dados Tal como na secção 3 é explicado, os dados foram primariamente extraídos do SNIRH e do CCDR-LVT e armazenados em ficheiros .xls onde foram sujeitos a um primeiro tratamento manual. De seguida foram armazenados numa base de dados que, por sua vez, alimenta o sistema de data warehousing (Figura 3). Fig. 3. Esquema de progressão do estudo. 4.2 Modelação Dimensional A modelação dimensional é uma técnica de concepção lógica que tem por objectivo estruturar os dados de uma forma intuitiva e que permite um acesso com boa performance. Esta modelação tem por base uma organização com uma tabela multichave e possíveis medidas, a tabela de factos, e outras tabelas chamadas dimensões, que são eixos de análise da informação. Ao conjunto tabela de factos e às dimensões, que a ela estejam ligadas pelas respectivas chaves, é usualmente chamado um esquema estrela [14]. Nesta fase foi necessário determinar o nível de detalhe da informação (grão) que seria possível extrair das tabelas de factos em cada um dos data marts. Assim sendo um registo na tabela de factos correspondente ao data mart sobre a qualidade da água para consumo humano tem informação dos valores avaliados (medidas) por mês numa estação de uma dada rede com uma determinada classificação. Por sua vez, quanto à água balnear cada registo detem informação sobre os valores avaliados de quinze em quinze dias com uma determinada classificação, para um dado tipo, numa estação. 4.3 Desenho Físico do Data Warehouse Aqui será apresentada a modelação física dos dois data marts desenvolvidos, um correspondente à qualidade da água para consumo humano e outro sobre a qualidade da água balnear. 4.3.1 Data Mart Correspondente à Qualidade da Água para Consumo Humano Este data mart foi estruturado segundo o esquema já referido acima, esquema estrela, com quarto dimensões ligadas a uma tabela de factos (Figura 1 - esquerda). Assim sendo está definida a dimensão Tempo, dimTempo, composta pelos atributos Data, MesAno, Mes, Ano, sendo a Data a chave primária, que é definida seguinte hierarquia Data >> Mes >> Ano e é uma dimensão sem variação. A informação aqui guardada é corresponte às datas. A dimensão Estação, dimEstação, composta pelos atributos NomeEstacao, CursoAgua, Bacia, CodigoEstacao, sendo o CodigoEstacao a chave primária, tem a hierarquia NomeEstacao >> CursoAgua >> Bacia e é uma dimensão de variação lenta. Esta dimensão tem informação sobre a estação e o curso de água, assim como a bacia, a que pertence (ex: ('Alb. Crestuma Lever','Rio Douro','Douro(BH)','07G/04')). A dimensão Classificação, dimClassificacao, tem como atributos idClassi, NomeClassificacao, Designacao, sendo a idClassi a chave primária e é considerada uma dimensão de varição lenta. Esta dimensão regista informação sobre as possíveis classificações para a qualidade da água de consumo humano (ex: (1,'Sem Poluicao','Aguas consider…’)). A dimensão Rede, dimRede, composta pelos atributos Rede, TipoRede, Designação, em que Rede é a chave primária, tem como hierarquia Rede >> TipoRede e também é uma dimensão de variação lenta. Esta dimensão regista os vários tipos de rede em estudo (ex: ('Rede Meteorológica','Sao redes que incluem estacoes…’)). Por fim, temos a tabela de factos, TF_QuaAgua, com a chave composta {Data, Rede, CodigoEstacao, IdClassi} que são ao mesmo tempo chaves estrangeiras para as respectivas dimensões, e com trinta e cinco medidas. Sendo elas: AzotoAmoniacal, Arsenio, AzotoKjeldahl, Bario, Boro, Cadmio, CQO, CBO5, Chumbo, Cianeto, Cloreto, Cobre, ColiformesFecais, ColiformesTotais, Condutividade, Cor, Cromio, EstreptococosFecais, Fenois, FerroDissolvido, Fluoreto, Fosfato, HidrocarbonetosAromaticosPolinucleares, Manganes, Mercurio, Nitrato, SatOxigenioDissolvido, Pesticidas, pH, Salmonela, Selenio, SST, SubstanciasExtractiveisCloroformio, Sulfato, TempAmostra, Precipitacao, TempAr. 4.3.2 Data Mart Correspondente à Qualidade da Água para a Prática Balnear A modelação deste data mart é semelhante à anteriormente descrita. Foi também estruturado segundo o esquema estrela, com quarto dimensões ligadas a uma tabela de factos (Figura 1 - direita). Assim sendo a dimensão Tempo teve a mesma modelação mas teve por nome, dimTempo_AB. A dimensão Classificação, também com o mesmo tipo de modelação que a dimenção dimClassificação, neste data mart é dimClassificação_AB. A dimensão Estação, dimEstacao_AB, é composta pelos atributos CodigoEstacao, NomeEstacao, Bacia, Zona, sendo o CodigoEstacao a chave primária, é definida pela seguinte hierarquia NomeEstacao >> Bacia >> Zona e é uma dimensão de variação lenta. Esta dimensão tem informação sobre a estação, a bacia e a zona do estudo em causa (ex: ('Olhos de Agua','Albufeira','Costeira','17E/01','1')). Por sua vez a dimensão Tipo, dimTipo, tem como atributos IdTipo, NomeTipo, Designacao, sendo IdTipo a chave primária e sendo também uma dimensão de variação lenta. Esta indica a que tipo de parâmetros é feito o estudo (ex: ('Agua Balnear','São águas de superfície....’)). Quanto à tabela de factos, TF_AguaBalnear, tem também uma chave composta {Data, IdTipo, CodigoEstacao, IdClassi}, que são também chaves estrangeiras para as respectivas dimensões. As medidas definidas são as seguintes quatorze: pH, OxigenioDissolvido, Condutividade, Aspecto, Transparencia, SubsTensioactivas, OleosGorduras, Fenois, ResiduosAlcatrao, ColiformesTotais, ColiformesFecais, EstreptococosFecais, TempAmostra, TempAr. Fig. 4. Esquema Físico para a Água de Consumo Humano (esquerda) e para a Água Balnear (direita). 4.4 Processo de Manipulação de Dados Relativos ao Processo de Povoamento do Data Warehouse. O processo de ETL de um sistema de data warehousing, é um processo que normalmente é subdividido em três fases [7]. A primeira fase, a extracção dos dados, consiste na passagem dos dados dos sistemas operacionais para a área de retenção. A segunda fase, na área de retenção, consiste na transformação dos dados, como por exemplo a conciliações entre fontes, definições de chaves novas, entre outros. Depois do tratamento dos dados, só falta a última fase, a integração dos dados no data warehouse. 4.4.1 Extracção dos dados A extracção dos dados do sistema operacional para a área de retenção foi praticamente directa para os dois casos em estudo. As tabelas na área de retenção apresentavam praticamente os mesmos campos com o mesmo tipo de dados. Este processo foi trivial devido aos dados serem todos provenientes de uma única fonte, logo não era necessário conciliar, nem atribuir uma nova chave para a integração.. As tabelas da área de retenção ganham mais utilidade com os povoamentos diários, pois nessa altura é necessário saber quais os dados novos no sistema operacional. Este problema foi contornado com a inserção de triggers nas tabelas que poderiam ser actualizadas. Isto significava que cada vez que era feito um povoamento, as tabelas da área de retenção eram imediatamente limpas e quando fosse inserido um novo registo o trigger era accionado sendo os novos registos automaticamente inseridos nas respectivas tabelas da área de retenção. Este mecanismo foi aplicado às tabelas Estacão e RedeEstação (tabela que liga a tabela Estação à tabela Rede, e que faz a associação entre a rede e a estação) nas tabelas correspondentes à água para consumo humano, pois eram as únicas tabelas que permitiam a inserção de novos valores. Por sua vez nas correspondentes à água balnear, apenas foi inserido triggers na tabela Estação. Este foi o método mais eficaz encontrado para as tabelas em causa. Contudo para a tabela Parâmetros, nos dois casos em estudo, optamos por aplicar uma técnica menos intrusiva, que consistia em guardar, numa tabela da área de retenção, o último registo da tabela de factos. Isto significa que na área de retenção existe uma tabela que guarda a data do último registo inserido no data warehouse. Esta é a única tabela que nunca é limpa, mas é feito uma actualização do seu registo sempre que se procede a um povoamento. Quando se fizer o povoamento seguinte, basta ver o registo dessa tabela e fazer uma comparação de datas com os registos existentes na área de retenção para depois inserir apenas os registos que apresentarem um data superior. Este processo foi implementado para os dois casos em estudo. 4.4.2 Transformação dos Dados A transformação dos dados para os dois casos foi nula, pois para ambos os casos os dados eram provenientes de uma única fonte, logo não foi necessário conciliar as duas fontes e fazer atribuições de novas chaves. As chaves que vinham do sistema operacional foram mantidas no data warehouse. Como os dados tinham sofrido um pré tratamento, a sua qualidade era boa e não apresentava incoerências, logo também não foi necessário proceder-se a correcção de eventuais erros de escrita. 4.4.3 Integração dos Dados A integração também foi praticamente directa, tirando para a dimensão tempo e para a tabela de factos. Para a primeira, no caso da água para consumo, foi feito um povoamento com um registo por mês, desde o mês de Janeiro de 2000, até ao mês de Dezembro de 2010, logo este data mart tem um tempo de vida previsto de 10 anos. Para o caso de estudo da água balnear, o povoamento foi feito com alguns registos entre o mês de Maio e o de Setembro. Tendo sido considerados para o mês de Maio 2 registos, para Junho 3 registos, e 4 registos para os meses de Julho, Agosto e Setembro. Este data mart foi criado com um tempo de vida de 5 anos, desde o ano de 2006 até ao ano de 2010. Para estes povoamentos foram criadas as respectivas funções que permitiram o povoamento mencionado acima. Para ambas as dimensões Tempo dos dois data marts, a função criada para o povoamento, apenas foi executada no 1º povoamento. Para o povoamento da tabela de factos, tiveram que ser feitas algumas mudanças, por exemplo, a data na tabela AuParametros estava por extenso (‘2008-12-24’), mas na tabela de factos a data está definida como um inteiro, que representa a chave estrangeira da tabela dimClassificação. Para solucionar este problema foi criado um cursor que percorre registo a registo da tabela AuParametros e para cada registo pesquisa o valor inteiro referente à data por extenso na dimensão tempo, e faz a inserção na tabela de factos já com o valor da data como um inteiro. 5 Mineração de Dados O principal objectivo deste estudo era a criação de um sistema de data warehousing para a área da qualidade de água. Mas achamos que seria interessante complementar o trabalho com o estudo da aplicação de técnicas de mineração de dados ao data warehouse criado, de maneira a conseguirmos retirar informação útil, como a previsão da qualidade da água, com base em técnicas de classificação e regressão. A mineração de dados, muitas vezes referenciada como sendo a “descoberta do conhecimento em bases de dados” (Knowledge Discovery in Databases (KDD)) [15], consiste na descoberta de tendências, padrões e possíveis irregularidades existentes nos dados. Esse conhecimento é feito através da extracção de informação útil dos dados existentes no sistema de dados, que com a aplicação de técnicas convencionais não seriam visíveis [16]. A classificação consiste em atribuir a novos casos um grupo ou classe, através de regras descobertas na aprendizagem do algoritmo [17]. Isso significa que para se conseguir definir a classe de uma nova instância, é necessário que exista um conjunto de treino de maneira a que seja possível decidir como as novas instâncias deverão ser classificadas [17]. A regressão é uma técnica de mineração de dados utilizada para ajustar uma equação a um conjunto de dados. O tipo de regressão utilizada neste trabalho é a regressão linear que usa a equação de uma recta (y = mx + b) e calcula os valores apropriados das variáveis m e b, para calcular o valor de previsão y, qualidade da água, com base num valor de entrada x [18]. 5.1 Tratamento de Dados As duas técnicas mencionadas acima foram ambas utilizadas sobre os dados provenientes do sistema de data warehousing criado, relativamente a cada data mart. Mas apesar dos dados no data warehouse apresentarem uma boa qualidade em termos de valores em falta, existia ainda o problema de diferentes gamas de valores dentro dos registos de cada atributo. Isto é, no exemplo da temperatura do ar, os valores poderiam estar definidos num intervalo que ia desde valores negativos, até valores por volta dos 40 positivos. Isso significa que poderiam existir por volta de 50 valores diferentes. Esta possibilidade iria dar aos resultados finais um grau de confiança bastante reduzido. Para evitar este problema tivemos que descretizar os valores de cada parâmetro, para cada um dos data marts criados, isto é, diminuímos a gama de valores possíveis para todos os atributos existentes. Então, através dos dados existentes no sistema de data warehousing, criamos diferentes vistas referentes a cada data mart e a cada técnica aplicada. A razão das diferentes vistas, relativamente a cada técnica utilizada, prende-se com o facto de a regressão só permitir valores contínuos de entrada e de previsão, e por sua vez a classificação trabalhar melhor com valores discretos de entrada e de previsão. Logo, com base na Tabela 1 e 2, fizemos quatro parsers que iriam restringir a gama de valores para cada atributo. Por exemplo, para o caso da regressão, na temperatura do ar, a todos os valores abaixo ou igual a 15 foi atribuído o valor 15, a todos os valores entre 15 e 20 foi atribuído o valor 20, e a todos os superiores a 20 foi atribuído um valor acima, neste caso foi o 25. Para o caso da classificação, na temperatura do ar, todos os valores inferiores ou iguais a 15 foram designados como “Baixo”, todos os valores entre 15 e 20 foram designados como “Médio”, e os maiores que 20 foram designados como “Alto”. 5.2 Previsão da Qualidade da Água usando a Classificação A Previsão através da técnica da classificação, foi feita com base no algoritmo Decision Tree. Este algoritmo constrói um modelo de mineração de dados através da criação de um conjunto de ramos numa árvore, em que cada ramo é adicionado sempre que a coluna de entrada estiver correlacionada com a coluna de previsão (neste caso a previsão da qualidade da água). As folhas são os possíveis valores da classe [19]. Todos os valores dos parâmetros dos algoritmos utilizados serão mencionados, acompanhado de uma breve descrição do seu significado. 5.2.1 Previsão da Qualidade da Água para Consumo Humano usando a Classificação Para ambas as técnicas escolhidas (regressão e classificação) é necessário definir dois parâmetros referentes às preferências dos algoritmos. Um dos parâmetros denomina-se de HoldoutMaxPercent, e especifica a percentagem, do número de casos da fonte de dados, que será utilizada como conjunto de testes, sendo os restantes de treino [16]. Para este caso foi escolhido um valor de 40%. O outro parâmetro é o HoldoutSeed, que especifica a semente que assegura que o conteúdo do modelo permaneça o mesmo durante o próximo processamento [20]. Para este caso o valor mais adequado foi o 12. Relativamente aos parâmetros do próprio algoritmo, apenas mudamos dois deles, deixando os outros com o valor default. Atribuímos o valor de 0.5 ao parâmetro Complexity_Penalty que controla o crescimento da árvore. O seu valor pode ir de 0 a 1 [20]. Ao segundo parâmetro, Minimum_Suport atribuímos o valor 5, pois como tínhamos um número limitado de registos, decidimos diminuir o número de casos mínimos necessários para gerar um corte na árvore [20]. Para ambas as técnicas aplicadas ao data mart para a área da qualidade da água para consumo humano, não foram usados todos os atributos, mas apenas os que apresentavam uma relação considerada com a previsão final. Fig. 4. Gráfico de comparação de precisão para a água de consumo humano. 5.2.2 Previsão da Qualidade da Água para a Prática Balnear usando a Classificação Para este caso atribuímos ao parâmetro HoldoutMaxPercent uma percentagem de 50% e mesmo assim conseguimos obter um resultado bastante bom. Ao HoldoutSeed atribuímos o valor 13. Para os parâmetros relativos ao próprio algoritmo, atribuímos o valor 0.5 ao Complexity_Penalty, e ao Minimum_Suport atribuímos-lhe o valor 3, pois mais uma vez tínhamos um número limitado de registos. Tabela 2. Matriz da classificação para a água balnear em que as colunas representam os valores actuais e as linhas representam os valores previstos. Boa Aceitável Má Boa 7 0 0 Aceitável 0 17 0 Má 0 0 1 5.2.3 Comparação entre os diferentes estudos Decidimos apresentar diferentes perspectivas de análise dos resultados, com o intuito de mostrar duas das diferentes possibilidades de análise existentes nesta ferramenta. Em ambas constata-se que é possível tirar informação suficiente sobre a qualidade dos resultados previstos. Como se pode constatar pela Figura 4 e pela Tabela 3, os resultados da previsão da qualidade da água para a prática balnear são melhores. Sendo possível constatar na Tabela 3, que obtivemos uma pontuação máxima de 1, pois todos os valores do conjunto de teste foram previstos correctamente. Esta maior pontuação é originária principalmente da qualidade dos dados iniciais. Como foi referido para a água de consumo humano muitos dados foram inseridos manualmente, e provavelmente não mostram as verdadeiras ou possíveis relações entre os diversos atributos e a previsão final. Apesar disso obtemos uma pontuação de 0,94 o que consideramos um bom resultado. 5.3 Previsão da Qualidade da Água usando a Regressão Linear A previsão através da técnica de regressão linear, consiste na construção da equação: y = α + β * (x – ). (1) Em que o y, a variável dependente, representa o valor da previsão, neste caso a qualidade da água. O α é a média dos valores existentes no conjunto de treino para a qualidade. O β é designado por coeficiente e o seu objectivo é maximizar a linearidade. Isto é, um aumento na variável independente x, significa um aumento de β na variável dependente y. A variável independente, o x, é o valor que o parâmetro em estudo toma naquela altura. Por fim o é a média dos valores que o parâmetros em estudo podem tomar dentro do conjunto de teste [18]. 5.3.1 Previsão da Qualidade da Água para Consumo Humano usando a Regressão Linear Tal como foi referido na secção 5.2.1, existem parâmetros comuns entre os diferentes tipos de algoritmos. No algoritmo da Microsoft da Regressão Linear também é necessário a definição dos parâmetros HoldoutMaxPercent e HoldoutSeed. Os valores definidos foram 30 e 12, respectivamente. Id Classi = 2.399 + 0.331 * (AzotoAmoniacal - 0.823) + 178.298 * (Cadmio 0.001) + 12.572 * (Cianeto - 0.014) + 1,438.631 * (Mercurio - 0.001) + 0.059 * (TempAmostra - 22.103) . (2) Como é possível constatar, o número de parâmetros existentes na Equação 2 é muito menor do que os existentes no data mart para a água de consumo humano. Mas o que acontece, é que a fórmula de regressão é calculada apenas através dos regressores (parâmetros) que mais se ajustam aos dados. Isso diminui bastante o número de parâmetros em estudo, mas aumenta a probabilidade de uma previsão correcta [20]. Neste caso temos um α de 2.399, e para cada parâmetro especificado na Equação 2 temos os respectivos valores de β e . Por exemplo para x igual a Azoto Amoniacal, temos β igual a 0.331 e igual a 0.823. 5.3.2 Previsão da Qualidade da Água para a Prática Balnear usando a Regressão Linear Id Classi = 1.818 + 0.00005 * (ColiformesTotais - 7,111.111) + 0.794 * (Aspecto - 1.028) + 0.0003 * (ColiformesFecais - 1,408.333) . (3) Também neste caso, os parâmetros que apresentam uma relação entre o seu valor e a previsão final são menores dos que existentes na fonte de dados. Como seria de esperar, os Coliformes Fecais e Totais encontram-se bastante relacionados com o resultado final (um β baixo, o que significa que o valor final sofrerá um pequeno desvio em relação à média), pois a classificação final depende bastante da qualidade destes dois parâmetros. Na mesma linha, constatamos que os valores do parâmetro Aspecto também apresentam uma relação com a previsão final, o que para nós foi uma nova informação adquirida. Para este caso de estudo obtemos um α de 1.818, e para o caso do x igual a Coliformes Totais, obtivemos um β igual a 0.00005 e um igual a 7111.111. 5.3.3 Comparação entre os diferentes estudos Para ambos os modelos foi calculado o erro padrão que é o desvio padrão da distribuição de pontos em torno da recta de regressão [18]. Em suma é a diferença entre o valor previsto e o real. O desvio padrão foi calculado através da raiz quadrada da variância, cujo valor é dado pela ferramenta usada para cada equação de regressão calculada. O resultado do erro padrão, para a água de consumo humano, em que a variância é 0.3364, foi 0.58. Para a água balnear, a variância é 0.3418 e o erro padrão associado também foi de 0.58. Para ambos os casos obtivemos um desvio padrão de 0.58, o que consideramos um erro um bocado alto. O mais adequado seria um erro inferior a 0.5, tendo em conta a gama dos valores previstos. 6 Conclusões e Trabalho Futuro Este artigo centrou-se na implementação de um sistema de data warehousing para a qualidade da água. Este sistema foi implementado com base na criação de dois data marts. Um para a área da qualidade da água para consumo humano, com dados referentes à albufeira de Crestuma-Lever, e o outro para a área da qualidade da água para a prática balnear com dados referentes à praia fluvial de Olhos de Água. Posteriormente foi elaborado um estudo de previsão da qualidade da água relativamente aos dois data marts, através da aplicação de técnicas de mineração de dados, com o objectivo de informar as pessoas sobre a possível qualidade da água nos próximos anos. Um aspecto que poderá ser explorado será acrescentar informação climatérica, proveniente de um site ou de uma entidade que disponibilize essa informação, para enrriquecer a informação e assim posteriomente serem tiradas mais conclusões como por exmplo que influencia tem a chuva em determinados parametros avaliados. Mas mesmo assim em ambos os data marts, é apresentado a temperatura média do ar, mas o seu registo tem de ser feito directamente na base de dados aquando a inserção dos valores dos parâmetros no caso de um novo registo. Provavelmente com mais tempo na pesquisa seria possível apresentar esta ideia, mas achamos melhor na altura focar o nosso estudo e pesquisa em assuntos directamente relacionados com o trabalho. Um problema encontrado neste trabalho foi o completo desconhecimento na área da qualidade da água, que nos levou a um maior tempo de pesquisa dos conceitos relevantes para a qualidade da água. Todo este tempo poderia ser encurtado com a ajuda de um profissional na área para explicar os conceitos básicos. Apesar de os resultados obtidos na aplicação das técnicas de mineração de dados terem sido considerados bons, sentimos que teríamos uma maior probabilidade de acerto, quando aplicado este estudo a um caso real, se o acesso aos dados tivesse sido mais facultativo. Isso iria permitir um estudo de maior dimensão e com mais confiança, principalmente no caso da qualidade da água para consumo humano, pois assim os dados não teriam de ser adulterados em relação à realidade, devido à necessidade de preenchimento de valores em falta. Em suma, num trabalho futuro, iríamos tentar obter uma maior ajuda profissional, através de algum protocolo com uma entidade relacionada com a qualidade da água, de maneira a que nos fosse possibilitado um número de registos de dados considerado aceitável, associado a uma boa qualidade. Pois achamos que este trabalho pode ser uma primeira abordagem para um estudo de maior dimensão, que tendo a vantagem de um sistema de data warehousing enriquecido, será possível retirar novas conclusões, e mais suportadas, sobre o comportamento da qualidade da água, e até descobrir possíveis associações entre parâmetros que podem não estar relacionados. 7 Bibliografia 1. Companhia de Tecnologia de Saneamento Ambiental, http://cetesb.sp.gov.br 2. Wikipedia, a enciclopédia livre, http://pt.wikipedia.org/wiki/Página_principal3. Belo, O., Lourenço, A., Sarmento, P., Magriço, A., Pinho, J.L.P., Lima, M.M.C.L, Vieira, J.M.P.: AQUA – Um sistema de informação para análise e validação de parâmetros de qualidade da água em Alqueva. 8º Congresso da água: actas, Lisboa: Associação Portuguesa de Recursos Hídricos (2006) 4. Connolly, T. & Begg, C.: Database Systems: A Practical Approach to Design, Implementation and Management 2nd Ed. Addison-Wesley Longman, (1998) 5. Microsoft SQL Server 2008, http://www.microsoft.com/sqlserver/2008/en/us/default.aspx 6. Kimball, R., Ross, M.: The Data Warehouse Toolkit: The Complete Guide to Dimensional Modelling (2nd Ed.). John Wiley & Sons, New York (2002) 7. Kimball, R., Caserta, J.: The Data Warehouse ETL Toolkit: Practical Techniques for Extracting, Cleaning, Conforming, and Delivering Data. John Wiley & Sons, New York (2004) 8. Decreto-Lei nº236/98, de 1 de Agosto: Normas de qualidade da água. In: Diário da República, I-A série nº176/98, pp. 3676—3722. (1998) 9. Águas do Douro e Paiva, http://www.addp.pt 10.Serviço Nacional de Informação de Recursos Hídricos, http://www.snirh.pt 11.Praia Fluvial dos Olhos de Água, http://www.lifecooler.com/Portugal/natureza/PraiaFluvialdosOlhosdAgua 12.Comissão de Coordenação e Desenvolvimento Regional de Lisboa e Vale do Tejo, http://www.ccdr-lvt.pt/ 13.Han, J., Kamber, M.: Data Mining Concepts and Techniques. Morgan Kaufmann, San Francisco (2005) 14.Kimball, R., Reeves, L., Ross, M., Thornthwait, W., The Data Warehouse Lifecycle Toolkit ExpertMethods for Designing, Developing, and Deploying Data Warehouses, John Wiley & Sons,1998. 15.Piatetsky-Shapiro, G.: Knowledge Discovery in Real Databases: A Report on the IJCAI-89 Workshop. AI Mag., 11, 68--70 (1991) 16.Data Mining: Exploiting the Hidden Trends in Your Data, http://www.ibmdatabasemag.com/db_area/archives/1997/q1/9701edel.shtml 17.Clustering and Classification: Data Mining Approaches, http://www.taborcommunications.com/dsstar/00/0704/101861.html 18.Fernandes, E.M.G.P.: Estatística Aplicada. Universidade do Minho (1999) 19.Aggarwal, C.,Yu P.: Data Mining Techniques for Associations, Clustering and Classification. In: Webb G. (Eds.) Methodologies for Knowledge Discovery and Data Mining. LNCS, vol. 1574, pp.13—23. Springer, Heidelberg (1999) 20. Data Mining Algorithms (Analysis Services – Data Mining), http://msdn.microsoft.com/enus/library/ms175595.aspx