Um Sistema de Data Warehousing para a Área da Qualidade da Água

Propaganda
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
Download