Sobre o uso de modelos matemáticos
Modelos matemáticos são conjuntos de ferramentas que permitem representar por meio de equações matemáticas processos reais. Por serem representações matemáticas de processos reais, os modelos matemáticos tem por objetivo uma aproximação da realidade. Logo, o resultado do modelo sempre apresenta incertezas quando comparado ao processo real, por mais reduzida e/ou conhecida que ela seja.
Por serem ferramentas que representam o comportamento real de forma aproximada, os modelos matemáticos precisam de informações. Ter bons dados para alimentar o modelo é um ponto essencial na utilização das ferramentas. Muitos bons profissionais focam em aprender a interface do modelo, saber quais botões apertar e como gerar gráficos e mapas bonitos, mas esquecem que o modelo é tão bom quanto os dados que temos disponíveis para representar o processo que está sob avaliação.
Muitas vezes as aplicações de modelagem consideram dados que não são consistidos, tratados ou validados como condições de contorno ou como parte das condições iniciais. Há um conceito bastante conhecido para os modeladores que representa esta condição: Garbage In = Garbage Out (em português: o lixo que entra é igual ao lixo que sai), ou seja, aquele dado que é dado ao modelo limita a qualidade do resultado final dele. Se os dados forem ruins, o modelo irá apresentar resultados limitados e talvez insatisfatórios. Se os dados forem bons, o modelo terá maior chance de apresentar resultados adequados.
Limitações e incertezas | A Equifinalidade
Como toda aproximação o uso de modelagem matemática, independente da área de conhecimento que esteja aplicando o modelo, apresenta limitações e incertezas nos seus resultados. Buscar um modelo matemático perfeito é uma utopia, uma vez que sua definição é justamente aproximar a realidade, não substituir ela. Portanto o caminho ideal para o bom uso de modelagem é entender quais são as limitações, idealizações, premissas, critérios e principalmente a incerteza associada ao uso do modelo.
Para exemplificar estas condicionantes, imagine a seguinte situação: Um processo real como a dirigir duas quadras em linha reta deve ser representado por um modelo matemático. A aproximação matemática mais simples deste processo é que o caminho seja aproximado por uma linha reta, ou seja, uma equação matemática do tipo y = Ax + B. Nesse caso, A e B são os chamados parâmetros do modelo matemático, e podem ser calibrados. Neste caso, como o processo é dirigir numa linha reta os parâmetros A e B são calibrados de forma rápida e segura.
Agora imagine o mesmo caso, mas com uma rotatória no meio do caminho. O caminho entre o ponto inicial e o início da rotatória continua sendo representado por uma reta. Dentro da rotatória o modelo precisa ser alterado, ele precisa considerar um semicírculo, que matematicamente possui uma expressão diferente de uma reta. Após a rotatória o caminho se torna linear novamente e pode ser novamente representado por uma linha reta. Aqui temos dois pontos importantes a comentar. O primeiro é que o modelo inicial teve como idealização que o caminho é sempre uma linha reta, logo este modelo não pode mais ser utilizado para representar um caminho curvo. O segundo, é que esse primeiro ponto pode ser flexibilizado desde que se entenda o conceito de incerteza!
Ao mudar a forma como o processo se comporta naturalmente (de uma linha reta para um trecho curvo) se alterou as representações matemáticas dentro do modelo. Se quisermos manter o modelo inicial, com as premissas e idealizações feitas, precisamos incorporar aos nossos resultados o conceito de incerteza. Neste exemplo que estamos explorando, a incerteza nos resultados do modelo é que ele ainda consegue representar o caminho por uma reta, desde que não aconteça nada muito interessante no trecho curvo. Há uma limitação na representação do processo, mas ela é conhecida e considerada nos resultados do modelo. Caso a incerteza aumente, como por exemplo se tivermos outras saídas na rotatória ou se formos considerar que acidentes podem acontecer no trajeto, o modelo matemático muitas vezes pode ser tornar inviável para representar este processo.
Aqui temos uma percepção que poucos lembram quando usam modelos matemáticos, mas que devemos sempre ter em mente: O modelo matemático também é uma hipótese a ser testada! E como toda hipótese, ele pode estar errado. Por isso é importante entender as idealizações por trás de todo modelo matemático e confirmar se ele é capaz de simular os processos que estamos avaliando com baixa incerteza, ou pelo menos que a incerteza seja conhecida e incorporada nas análises realizadas.
Por último, mas não menos importante, a calibração do modelo é uma etapa importante e que pode levar a vários resultados diferentes, todos gerando a mesma representação. No caso de uma linha reta, temos duas variáveis e o processo é linear, logo dificilmente teremos mais de um conjunto de parâmetros (A e B, como no exemplo) que gerem resultados satisfatórios. Quando trabalhamos com modelos matemáticos complexos, esta realidade não é a mais observada. As equações matemáticas são mais complexas que uma relação linear (linha reta) e os modelos precisam ser calibrados considerando muitos parâmetros (aqui pode ir de 2 a 100, dependendo do processo sendo representado pelo modelo).
Quando vários parâmetros são calibrados um conceito que se aceita é o da Equifinalidade. É conhecido que há mais de um conjunto de parâmetros que gere o mesmo resultado final. Logo, calibrar um modelo complexo apresenta uma dificuldade grande caso as incertezas e limitações não sejam conhecidas e controladas.
Etapas do uso de modelo
Agora que sabemos o que é um modelo e conhecemos suas principais limitações, podemos detalhar um pouco das informações necessárias para se utilizar um modelo matemático. Estou listando de forma genérica etapas e informações necessárias para o uso de modelos matemáticos, mas mantendo em mente que para cada tipo de modelo há variações e necessidades diferentes.
De forma geral, modelos matemáticos passa pelas seguintes etapas:
- Representação espacial
- Condições de Contorno
- Condições iniciais
- Forçantes externas
- Calibração/Validação
- Simulação/Previsão
Representação espacial
Nesta etapa o modelo recebe as principais informações sobre o local onde ele será aplicado. É necessário compatibilizar a realidade com a forma como o modelo a representa. Geralmente modelos matemáticos trabalham com grades computacionais, unidades geométricas onde as soluções são calculadas, que representam a realidade de forma aproximada. Também conhecido como domínio computacional, a representação espacial do modelo é tão boa quanto os dados que utilizamos para descrever a realidade.
No exemplo que utilizei sobre o carro andando em linha reta, a representação espacial dentro do modelo poderia considerar apenas pontos, ou toda a complexidade da região.
Condições de contorno
Quando representamos de forma aproximada a realidade dentro dos modelos matemáticos é virtualmente impossível conseguir representar toda a área que estamos investigando. Geralmente fazemos um recorte da área e incluímos no modelo as chamadas condições de contorno, que representam o que aconteceria fora da área onde estamos utilizando o modelo.
No exemplo que usei anteriormente, se precisamos simular duas quadras em linha reta não é necessário representar espacialmente no modelo todo um bairro, cidade ou estado. Podemos assumir uma região de interesse e tratar as fronteiras da grade computacional como condições de contorno, inserindo informações a cerca do processo nela. No exemplo do carro, as fronteiras poderiam trazer mais carros (aumentando o trânsito) e alterando o processo avaliado, mas sem a necessidade de simular toda a cidade onde o carro está localizado.
Condições iniciais
Todo processo possui um início, uma condição de inicia os acontecimentos que estamos tentando simular. Estas condições podem alterar completamente os resultados que estamos obtendo ao utilizar os modelos matemáticos. Portanto, é importante avaliar quais condições iniciais estamos considerando quando iniciamos os trabalhos e saber que elas podem impactar diretamente os resultados do modelo.
Retornando ao nosso exemplo anterior, se além de andar na linha reta nós estívessemos interessados em saber quanto tempo demoramos para percorrer o percurso. O tempo necessário para dirigir em linha reta é dependente das condições da estrada. Basta lembrar que um percurso das 10min às 11 horas da manhã pode ser bem mais demorado as 18 horas no final do expediente. Desta forma as condições iniciais representam como o sistema se encontra no início do processo, e influencia os resultados do modelo matemático utilizado.
P.S.: É possível avaliar a incerteza nas condições iniciais e como isso impacta os resultados do modelo.
Forçantes externas
O modelo é preparado para representar um processo específico, que pode ser influenciado por diferentes elementos. Quando temos forças externas ao processo impactando o funcionamento dele, é importante que o modelo seja capaz de considerar isto na sua solução. No exemplo do carro, a chuva pode dificultar a visibilidade do motorista alterando sua capacidade de andar em linha reta e o tempo necessário para realizar o percurso. Contudo, a chuva não é um elemento do processo de dirigir, ela é algo externo a ele (tem outros motivos para acontecer) mas que influencia seus resultados.
Normalmente forçantes externas são relacionadas a variáveis fora do controle ou do domínio dos processos que estão sendo avaliados. Podem ser representadas como condições meteorológicas (se estamos simulando lagos e reservatórios, por exemplo), condições espaciais (se estamos simulando circulações meteorológicas globais, por exemplo) e até mesmo instruções e programas políticos (se estamos simulando crescimento/mortalidade de populações).
Calibração e Validação
Uma das etapas mais importantes do uso de modelos matemáticos é a calibração dos seus parâmetros. Há uma curva de conhecimento x representação de processos que indica que modelos mais simples, ou seja, com menos parâmetros, tendem a ter bons resultados. Em alguns casos isto pode ser verdade, mas não é uma realidade generalizada e muitas vezes nos deparamos com modelos matemáticos com diversos parâmetros para serem calibrados. Nesta etapa, o desafio é identificar o melhor conjunto de parâmetros (lembrando do conceito de equifinalidade) que represente de forma ideal o processo que está sendo avaliado.
Quando há um conjunto grande de dados observados sobre o processo sendo avaliado, também é realizada uma etapa de validação do modelo. Enquanto na etapa de calibração os processos são representados em sua totalidade, dentro das condições e observações existentes, na etapa de validação o modelo é utilizado em situações que também são reais, porém diferentes das consideradas na etapa de calibração. O complemento entre calibração e validação é fundamental para que a incerteza inerente ao uso do modelo seja conhecida e reduzida ao máximo.
Aqui se faz necessário um equilíbrio entre a representação do modelo nas duas etapas. Dificilmente o modelo será capaz de apresentar resultados ótimos nas duas etapas, lembrem do conceito de aproximação da realidade que compõem o fundamento do modelo matemático. Portanto, é necessário encontrar uma solução de melhor compromisso entre os resultados da etapa de calibração e os resultados da etapa de validação.
Simulação e Previsão
Uma vez que o modelo representa a realidade espacial do processo, todos os elementos externos e internos foram identificados e adicionados, e o processo de calibração e validação foi realizado, chega o momento da verdade, a hora de simular o processo de fato. Nesta etapa os resultados do modelo são gerados e, como toda hipótese, o modelo pode dar bons resultados ou falhar miseravelmente. O momento de simular processos reais é uma etapa que consolida tudo aquilo que foi idealizado e utilizado até então, sendo o momento em que o modelo representa de forma consistente a realidade dos processos que se deseja descrever matematicamente.
Há, ainda, aplicações específicas que podem representar processos futuros. Nestes casos os modelos são utilizados em modo de previsão, com incerteza e limitações conhecida para os processos observados até o momento atual e projetadas para um cenário hipotético (pode ser futuro ou passado). Quanto melhor for a representação do processo sob estudo por parte do modelo, melhor será suas previsões.
Qual o melhor modelo que existe?
Esse é um questionamento que tira o sono de todos que começam a trabalhar com modelagem de processos reais considerando modelos matemáticos. Como existem diversos modelos diferentes, e diversas formas diferentes de representar um mesmo processo, a tentação de encontrar o melhor modelo é grande. Contudo, tentar encontrar o melhor modelo dentre todos que existem pode ser uma tarefa ingrata (e desnecessária).
Todos os dias uma tese de doutorado nova cria um modelo matemático novo para representar um processo conhecido. Quando não estão sendo desenvolvidos em meio acadêmico, modelos matemáticos são desenvolvidos a todo momento por empresas e suas linhas de Pesquisa e Desenvolvimento, sempre com o mesmo objetivo: representar de forma mais correta e com menor incerteza um processo conhecido. Portanto, querer encontrar o melhor modelo e aprender a utilizar todos os modelos que são construídos diariamente é uma tarefa contínua e que não possui fim.
O ideal, para todos que querem utilizar modelos com alta representabilidade e baixa incerteza, é entender seu processo no detalhe. O modelo matemático deve ser utilizado para complementar e detalhar o conhecimento já existente sobre o processo, não gerar informações novas sobre ele. No momento que conhecemos nossos processos e fenômenos de interesse de forma completa, a escolha do modelo passa por situações de conforto, como:
- Fórum para tirar dúvidas: É importante ter a quem recorrer para ajudar na aplicação do modelo;
- Rede de usuários extensa: Quanto mais pessoas usaram o modelo maiores são as chances dele ter poucos erros (ou bugs) e maior as chances de alguém ajudar a compartilhar o conhecimento sobre o modelo;
- Reproducibilidade dos resultados: O modelo não pode ter funcionado apenas em um único local, ele deve ser capaz de reproduzir resultados adequados em diferentes regiões e aplicações;
- Confiabilidade nos processos descritos: Não adianta termos um modelo que representa neve e granito se vamos simular a evaporação de água no deserto. É importante que o modelo seja construído com foco nos processos que se deseja simular;
- Interface amigável: Ninguém gosta de usar a tela preta do MS-DOS (ou Prompt de Comando) para executar um modelo. Gostamos de interfaces bonitas, coloridas e acima de tudo intuitivas. Pode parecer bobagem, mas dentre os vários modelos disponíveis para utilização, ter uma interface que ajude seu uso é um peso na decisão sobre qual modelo utilizar;
- Documentação acessível: Tecnicamente os processos são representados por expressões matemáticas. É importante que o modelo permita que os usuários entenda, discuta e analise as expressões utilizadas na sua construção;
- Licença de uso: De preferência, modelos com licença livre serão escolhidos. Mas aqui é importante considerar que pagar uma licença pela utilização de um modelo bem mantido, atualizado e consistente pode sair mais barato que a dor de cabeça de usar um modelo livre que ninguém realiza manutenções;
Devo criar meu próprio modelo?
A resposta a essa pergunta vem dos objetivos por trás da construção do modelo. Aprender técnicas de programação hoje em dia é uma atividade comum, prazerosa e que muitos a realizam como hobby. Logo, a tentação de construir seu próprio modelo é grande, afinal é melhor construir algo do zero do que compartilhar experiências e conhecimento com outros para utiliza ferramentas de terceiros.
Entendo que atualmente existem bons modelos matemáticos disponíveis para praticamente todos os processos existentes. A construção do novos modelos (ou o meu modelo) deve considerar alguma lacuna existente que se deseje contemplar. Criar um modelo apenas para competir com outras ferramentas já consolidadas pode ser um caminho triste e sem esperança para os que estão com o conhecimento e a habilidade de programação em alta.
Aviso aos inexperientes
O uso de modelos matemáticos exige uma curva de conhecimento que nem sempre é exponencial, ou seja, não é rápida. Esta curva de conhecimento é melhorada quanto maior for o conhecimento do modelador sobre a área de análise e o processo sendo representado. Conhecer os principais processos, condicionantes, fenômenos e etc são pontos relevantes para qualquer aplicação de ferramentas de modelagem.
É importante conseguir diferenciar o uso de uma ferramenta a dependência dela. Conhecer os processos reais e usar o modelo como complemento do conhecimento parece simples, mas exige um esforço grande por parte do usuário. O caminho de menor esforço é aquele onde o modelo, como uma grande caixa preta, resolve todos os problemas e passamos a olhar o mundo (ou os processos que estamos estudando) pelos olhos da ferramenta, não das condicionantes. Lembrar que a ferramenta é uma hipótese a ser testada e que o modelo nada mais é que uma aproximação da realidade são mantras que constantemente devem ser relembrados por todos que usam essas ferramentas.
Conheça nossas postagens!
Conheça nosso blog ou navegue pelas postagens.
Como me adaptar as mudanças climáticas?
É possível se adaptar e mitigar prejuízos decorrentes de mudanças climáticas com o planejamento correto.
O controle de cheias no rio Taquari pode ser feito por barragens?
O controle de inundações em bacias hidrográficas pode ser feito com barragens de controle de nível. Contudo, nem sempre esta é a melhor solução.
Estamos errados ao estimar um CN?
Estimar um CN único pode levar a incertezas na geração de vazões máximas, prejudicando a elaboração de alternativas viáveis de segurança hídrica.
Construindo um modelo de qualidade da água para rios em poucas etapas
Síntese das etapas necessárias para o desenvolvimento de um modelo matemático de qualidade da água em rios.
Porque é tão difícil prever o futuro em hidrologia?
O risco hidrológico está em constante alteração e estimar riscos hidrológicos futuros depende de muitos aspectos de difícil gerenciamento.
Participação Social: Porque nossos sistemas de alerta falham?
Sistemas de alertas que falham ao concretizar riscos causam a perda de confiança da população. Alertas posteriores podem não ser respeitados causando prejuízos.