"FAMP", Framework de Auditoria Matemática de Modelos Preditivos
Atualizado: 6 de ago.
FAMP (Framework de Auditoria Matemática de Modelos Preditivos) é a metodologia que desenvolvi para avaliar a confiabilidade matemática e estatística de modelos preditivos, sem necessidade de analisar uma única linha de código. O foco da auditoria não é verificar como o modelo foi programado, mas se os resultados que ele produz podem ser considerados confiáveis para apoiar decisões de negócio.
O framework pode ser aplicado a modelos utilizados em diferentes áreas, como precificação de imóveis, concessão de crédito, previsão de demanda, detecção de fraudes, manutenção preditiva, saúde, seguros e muitas outras aplicações de Inteligência Artificial.
Neste artigo, utilizarei um modelo de precificação de imóveis apenas como exemplo de aplicação do processo de auditoria. A escolha desse caso deve-se ao fato de existir um conjunto de dados público, amplamente conhecido e reproduzível, permitindo demonstrar cada etapa do método com dados reais e resultados verificáveis.
O protocolo é demonstrado utilizando o dataset Ames Housing, que reúne informações de imóveis vendidos no condado de Ames, Iowa.
Toda imobiliária que utiliza um modelo para estimar o preço de venda enfrenta a mesma pergunta, silenciosa e raramente feita em voz alta:
Esse número em que confio é realmente confiável ou apenas parece confiável?
A mesma pergunta, entretanto, vale para qualquer organização que utilize modelos preditivos:
· um banco que concede crédito;
· uma seguradora que calcula prêmios;
· uma indústria que prevê falhas em equipamentos;
· um hospital que utiliza IA para apoiar diagnósticos;
· uma empresa de varejo que estima demanda.
A resposta não está em olhar o código. Está em verificar, de forma sistemática, se o modelo atende aos critérios matemáticos e estatísticos que justificam confiar em suas previsões.
O dataset usado nesta demonstração
O "Ames Housing", um conjunto de dados público, com quase três mil imóveis vendidos no condado de Ames, no estado americano de Iowa, entre 2006 e 2010. Cada linha é um imóvel real, com informação de área, qualidade de construção, bairro, ano de venda, e o preço final pelo qual foi vendido, entre outras dezenas de características. O Objetivo é, dado um imóvel, determinar qual é o preço de venda sugerido.
Escolhi esse dataset por três motivos, específicos para o objetivo desta demonstração. Primeiro, é público, qualquer pessoa pode conferir os números que vou apresentar, sem precisar confiar na minha palavra. Segundo, é rico o suficiente, com variáveis numéricas, categóricas, dado ausente, e casos reais de outlier, para ilustrar os sete passos do protocolo com problema genuíno, não hipotético. Terceiro, é o mesmo dataset que uso no meu ebook "Cinco Algoritmos, Uma Pergunta", então cada número aqui já foi verificado, com o mesmo rigor, em outro contexto.
Reduzi o conjunto original, de 82 colunas, para quinze variáveis, escolhidas para representar os principais tipos de situação matemática que aparecem em qualquer modelo de regressão, variável numérica fortemente correlacionada ao preço, variável com ausência real, variável categórica com muitas classes, entre outras. Treinei quatro algoritmos diferentes sobre essas mesmas quinze variáveis, Regressão Linear, Árvore de Decisão, Random Forest e Gradient Boosting, para que a comparação entre eles fosse justa, mesma base, mesmo critério.
Por que não incluí rede neural nem "XGBoost" nesta demonstração
Rede neural
Com quase três mil imóveis, o dataset de Ames não tem volume suficiente para uma rede neural mostrar sua vantagem característica, capturar padrões complexos a partir de muitos dados. Nesse tamanho de amostra, é bem provável que uma rede performe pior que "Gradient Boosting" ou "Random Forest", não por limitação real da técnica, mas por falta de dado para justificar sua própria complexidade. Incluir rede neural aqui correria o risco de produzir uma comparação injusta, exatamente o tipo de comparação que este protocolo existe para evitar em qualquer modelo que eu audite.
"XGBoost"
Esse caso é diferente. "XGBoost" e "Gradient Boosting", o algoritmo que já está na comparação, compartilham a mesma família matemática, um modelo aditivo, onde cada árvore nova corrige o resíduo da soma das árvores anteriores. "XGBoost" refina essa mesma ideia, com uma aproximação de segunda ordem da função de perda, e um termo de regularização explícito sobre os pesos das folhas da árvore, mas não introduz um princípio matemático novo. Para os quatro algoritmos que já comparei, isso seria uma quinta variação da mesma família de árvore, não um contraste conceitual novo, então deixei de fora desta demonstração específica, sem prejuízo ao protocolo, que já cobre a matemática por trás dessa família toda.
Ambas as ausências, aliás, ilustram um princípio do próprio protocolo. Escolher qual algoritmo comparar não é neutro, e merece justificativa explícita, o mesmo padrão de transparência que exijo de qualquer modelo que audito para terceiros.
Protocolo de Auditoria Matemática de Modelos Preditivos
Um modelo de precificação errado não é um problema técnico isolado, é um problema financeiro, com consequência direta em quatro frentes.
Risco financeiro direto. Cada erro sistemático de precificação, para cima ou para baixo, se traduz em dinheiro perdido, imóvel encalhado, venda abaixo do valor de mercado, ou negociação perdida por proposta fora da realidade. Multiplicado pelo volume de transações de uma empresa, um viés pequeno e não detectado vira um custo recorrente, silencioso, difícil de rastrear até a causa, porque ninguém está olhando para o modelo com esse tipo de pergunta.
Governança. Quem, dentro da empresa, é capaz de responder, hoje, se o modelo que orienta decisão de precificação está funcionando corretamente? Na maioria das empresas de porte médio ou pequeno, a resposta é ninguém, porque quem construiu o modelo não tem interesse em auditar o próprio trabalho, e quem toma a decisão de negócio não tem ferramenta para questionar o número que recebe. Uma auditoria externa e independente resolve exatamente essa lacuna, sem exigir que a empresa monte uma estrutura interna cara para isso.
Conformidade. Setores regulados, crédito, seguro, e cada vez mais imobiliário em algumas jurisdições, já exigem, ou vão exigir, demonstração de que modelos usados em decisão relevante foram validados de forma independente, e que existe registro documentado dessa validação. Um relatório de auditoria formal, no formato de parecer, é exatamente esse registro, útil não só para decisão interna, mas para demonstrar diligência perante regulador, auditor externo, ou parceiro comercial que exigir essa evidência.
Decisão estratégica. Decisão de expansão, de precificação de portfólio inteiro, de avaliação para venda de carteira de imóveis, tudo isso se apoia, direta ou indiretamente, no número que o modelo produz. Se esse número é sistematicamente enviesado, sem ninguém saber, a decisão estratégica inteira herda esse erro, silenciosamente, sem que o erro apareça em nenhum lugar até o resultado real divergir do esperado, quando já é tarde para corrigir a rota.
Responsabilidade. Se um modelo gera decisão que causa prejuízo, e depois se descobre que ele tinha um problema estrutural identificável, tipo vazamento de dado ou heterocedasticidade não tratada, a pergunta que se segue é, quem sabia, e quando. Uma auditoria documentada, com data e critério explícito, é o que permite à empresa demonstrar que agiu com diligência razoável, revisando o modelo antes de confiar nele para decisão relevante, em vez de descobrir o problema só depois do dano feito.
Bloco 1 — Auditoria dos Dados
1.1 Valores Ausentes
Antes de qualquer conta, a pergunta é qualitativa, por que esse dado está ausente. Existem três mecanismos distintos, cada um exigindo tratamento diferente.
"MCAR" (missing completely at random), ausência que não depende de nada, ruído puro de coleta.
"MAR" (missing at random), ausência que depende de outra variável já observada.
"MNAR" (missing not at random), o caso mais difícil, ausência que depende do próprio valor faltando.
No mercado imobiliário, é comum que algumas informações dos imóveis estejam ausentes. Imagine, por exemplo, a largura da testada do lote (No dataset de Ames, "Testada do lote" é um exemplo real de "MAR")
Essa ausência pode não ser aleatória: imóveis localizados em ruas sem saída ou em determinados bairros podem ter esse dado registrado com menos frequência do que imóveis de outras regiões. Nesse caso, a ausência depende de características já conhecidas do imóvel, como o bairro e a configuração do lote, caracterizando um caso de MAR.
Nessa situação, substituir todos os valores ausentes pela mediana geral da base pode introduzir distorções. O procedimento mais adequado é calcular a mediana dentro de grupos de imóveis com características semelhantes — por exemplo, combinando bairro e tipo de lote — utilizando apenas os dados do conjunto de treinamento. Dessa forma, a imputação preserva melhor as diferenças reais entre regiões e reduz o risco de introduzir viés no modelo.
Peça para rodarem um teste qui-quadrado (Teste de Little (MCAR)) comparando a distribuição das variáveis observadas entre os grupos com dado ausente e presente. Se o p-value for < 0,05, o dado não é MCAR. Se o desenvolvedor imputou como MCAR e o teste de Little rejeita MCAR, você tem uma reprovação automática por má especificação de imputação.
Parecer: pergunte qual mecanismo de ausência foi identificado, e como isso foi verificado, não presumido. Pergunte se a imputação foi calculada antes ou depois de separar treino e teste.
1.2 Outliers
No dataset de Ames, cinco imóveis têm mais de 4.000 pés quadrados de área útil habitável. Dois deles venderam por 160.000 e 183.850 dólares, valores baixos demais para o tamanho, quebrando a relação forte que essa variável normalmente tem com o preço.
Parecer: peça a lista de imóveis com maior resíduo absoluto, e verifique se existe explicação de negócio para cada um, ou se são ruído de coleta.
1.3 Vazamento De Dados
"Condição da venda" tem uma categoria, "Parcial", venda de imóvel ainda em construção, com preço médio de 273.374 dólares, bem acima da categoria "Normal", 175.568. Essa variável só é conhecida no momento da venda, ou depois dela.
Parecer: para cada variável do modelo, pergunte se essa informação estaria disponível no momento real em que a previsão precisa ser feita.
Problemas nesse bloco atacam a raiz, se o dado de entrada está comprometido, nenhuma sofisticação de algoritmo, depois, corrige isso. É o bloco de maior risco financeiro direto, porque afeta todas as previsões subsequentes, não uma parte isolada do modelo.
Bloco 2 — Auditoria Estatística
2.1 Multicolinearidade, Via VIF
Correlação pareada só enxerga a relação entre duas variáveis de cada vez. VIF, Fator de Inflação da Variância, enxerga a relação de uma variável contra todas as outras juntas.
No dataset de Ames, "Ano de construção", "Ano de venda" e "Idade do imóvel na venda" produziram VIF infinito, porque "Idade" é definida exatamente como a subtração das outras duas, uma redundância matemática exata. Já "Vagas de garagem" e "Área da garagem", com correlação pareada de 0,89, deram VIF de 5,48 e 5,24, moderado, abaixo do limiar de alerta.
Parecer: peça o VIF de cada variável numérica. Acima de 10, o coeficiente daquela variável está instável demais para interpretação individual confiável. Entre 5 e 10, merece atenção.
2.2 Heterocedasticidade, Por Dois Caminhos
Um bom modelo não deve errar muito pouco para alguns imóveis e muito para outros de forma sistemática. Quando a variabilidade do erro muda conforme o tipo de imóvel, o bairro ou a faixa de preço, ocorre a heterocedasticidade. Nessa situação, o modelo pode parecer preciso quando analisado apenas pelo erro médio, mas sua confiabilidade não é a mesma para todos os casos.
No exemplo deste artigo, utilizando o dataset Ames Housing, a heterocedasticidade foi investigada por dois testes complementares.
O primeiro foi o teste de Breusch-Pagan, tomando o bairro como variável explicativa. A ideia é verificar se a dispersão dos erros muda de um bairro para outro. O resultado (estatística LM = 91,49; p-value praticamente zero) mostrou que o erro do modelo realmente varia conforme o bairro.
O segundo foi o gráfico Scale-Location, complementado pela correlação de Spearman entre o valor absoluto dos resíduos e o preço previsto. Esse teste responde a outra pergunta: à medida que o preço estimado aumenta, os erros também tendem a aumentar? No exemplo de Ames, a correlação foi 0,267, com p-value praticamente zero, indicando que imóveis mais caros apresentam, em média, erros maiores.
Os dois testes não são redundantes. O primeiro verifica se a variabilidade dos erros depende de um grupo específico, como o bairro. O segundo verifica se ela cresce ao longo da própria escala de preços. Um modelo pode falhar em apenas um desses aspectos ou em ambos.
Parecer: execute os dois testes. Se qualquer um indicar heterocedasticidade, um único intervalo de confiança para todas as previsões deixa de ser adequado, pois a incerteza do modelo passa a depender do grupo de imóveis ou da faixa de preço considerada.
2.3 Análise De Resíduos
Além dos dois testes acima, três verificações complementares. Normalidade do resíduo, via "QQ Plot" e teste de "Shapiro-Wilk". Resíduo contra valor previsto, para inspeção visual de padrão não capturado pelo modelo.
Parecer: confirme normalidade aproximada do resíduo, e teste autocorrelação espacial, não temporal, a menos que o modelo trate explicitamente uma dimensão de tempo.
2.4 Estabilidade da População, "PSI"
"Population Stability Index" mede se a distribuição de uma variável de entrada mudou entre o período de treino e o período atual de uso.
Testado no dataset de Ames, comparando pré-crise, 2006-2007, contra pós-crise, 2008-2010, "Área útil habitável" teve PSI de 0,029, abaixo do limiar de 0,1, usado por bancos como "sem mudança relevante".
Parecer: PSI acima de 0,25 indica mudança populacional significativa, o modelo pode estar operando sobre uma base diferente daquela para a qual foi treinado. Entre 0,1 e 0,25, mudança moderada, atenção recomendada.
Os problemas descritos neste bloco raramente aparecem em relatório de desempenho comum, RMSE ou acurácia agregada escondem exatamente esse tipo de falha. É o bloco de maior risco de governança, porque a empresa pode estar operando com falsa sensação de segurança, acreditando que o modelo é bom, sem saber que a variância do erro não é a mesma para todo cliente ou toda região.
Bloco 3 — Auditoria Preditiva
3.1 Erro de Treino Contra Erro de Teste
Um modelo avaliado só contra os próprios dados de treino não mede capacidade de prever, mede quanto decorou aquele conjunto.
Algoritmo | Erro no treino | Erro no teste | Diferença |
Regressão Linear | 31.035 | 33.067 | +6,5% |
Árvore de Decisão, sem limite de profundidade | 567 | 41.279 | +7.174,5% |
Random Forest | 10.153 | 26.421 | +160,2% |
Gradient Boosting | 20.041 | 25.080 | +25,1% |
A Árvore de Decisão parece, olhando só o treino, disparada a melhor. No teste, é a pior das quatro.
Parecer: se o desenvolvedor não consegue apresentar erro de teste separado do erro de treino, isso já é motivo para reprovar a validação.
3.2 Estabilidade Temporal do Erro
Treinar só com dado de um período, e testar contra outro, verifica se a relação aprendida se mantém, o oposto de assumir deriva de conceito sem testar.
Treinando só com vendas de 2006-2007, e testando contra 2008-2010, RMSE no treino, 31.446, RMSE no teste, 32.051, gap de apenas 1,9%, menor até do que o gap de uma divisão aleatória comum, 6,5%. Nesse caso específico, a hipótese de que a crise de 2008 quebrou a relação não se confirmou, e essa ausência de deriva é, em si, um resultado válido a reportar.
Parecer: não assuma deriva de conceito só porque um evento macroeconômico relevante aconteceu no meio do período de dados, teste diretamente, comparando um período contra outro.
3.3 Sensibilidade e Robustez
Quanto a previsão muda quando uma variável de entrada muda pouco?
Variando "Área útil habitável" de 1.000 a 2.000 pés quadrados, mantendo tudo mais fixo, a Regressão Linear varia de forma suave, 105.912 até 150.279. A Árvore de Decisão sobe até 1.600 pés quadrados, chega a 150.000, e trava exatamente nesse valor para 1.800 e 2.000 pés quadrados, sem nenhuma mudança adicional, o comportamento em degrau característico de árvores de decisão sem limite de profundidade.
Parecer: varie uma variável relevante em pequenos incrementos, mantendo as demais fixas, e observe se a previsão responde de forma proporcional, ou se "trava" em patamares, o que indica região da árvore onde a variável deixou de importar para aquele caso específico.
3.4 Importância da Variável
O modelo pode estar decidindo com base em variáveis inesperadas, um sinal de possível problema estrutural.
"Permutation Importance", aplicada ao modelo de Regressão Linear do Ames, mostra "Área útil habitável" liderando, seguida por "Qualidade geral", "Bairro" e "Qualidade do porão", todas plausíveis, nenhuma variável estranha dominando o resultado.
Parecer: peça a importância de cada variável, via "Permutation Importance" ou "SHAP". Se uma única variável de baixa relevância aparente, tipo código postal, dominar desproporcionalmente, investigue se ela está funcionando como proxy de outra característica, incluindo característica sensível, o que levanta questão de discriminação indireta, não só de qualidade estatística.
Os testes descritos neste bloco revelam se o modelo generaliza de verdade, ou só parece funcionar no ambiente controlado onde foi construído. É o bloco de maior risco estratégico, porque decisão de expansão ou de mudança de mercado depende diretamente de o modelo continuar confiável fora do contexto onde foi validado originalmente.
Bloco 4 — Auditoria de Negócio
4.1 Consistência Lógica
Dois imóveis quase idênticos, mesma localização, mesmo padrão, área diferente, se o modelo prevê preço menor para o imóvel maior, isso viola uma regra lógica de negócio, mesmo que a matemática por trás pareça correta.
Para garantir consistência lógica em algoritmos baseados em árvores (como Random Forest e Gradient Boosting), vale mencionar explicitamente o uso de Restrições de Monotonicidade (monotonic constraints). Isso impede que o modelo preveja um valor menor para uma casa maior no mesmo bairro.
Tecnicamente, é o mesmo teste do item 3.3, a diferença é a linguagem, aqui formulado sem estatística, direto em termos que qualquer gestor entende sem formação técnica.
Parecer: monte pares de comparação controlada, mesma localização, mesmo padrão, uma variável diferente por vez, e verifique se a direção da mudança no preço previsto faz sentido de negócio.
4.2 Métrica Alinhada ao Custo do Negócio
Errar para cima e errar para baixo não custam a mesma coisa. Para uma imobiliária, superestimar gera imóvel encalhado, subestimar gera venda abaixo do valor de mercado.
Parecer: peça o erro separado por direção. Se um lado for sistematicamente maior, o modelo carrega viés direcional que o erro médio sozinho esconde.
4.3 Intervalo de Confiança na Previsão
Um modelo que devolve só "preço, 2.350.000" está escondendo a incerteza real da estimativa. O correto é devolver também uma faixa, "2.200.000 a 2.500.000", intervalo de 95%.
Para a avaliação de um imóvel individual, o conceito correto a ser utilizado é o Intervalo de Predição, e não apenas o Intervalo de Confiança. Enquanto o intervalo de confiança estima onde está a média dos preços de imóveis com aquelas características, o intervalo de predição incorpora tanto a incerteza da estimativa dos parâmetros quanto a variabilidade individual do imóvel (o erro aleatório $\epsilon$), fornecendo a verdadeira margem de risco para aquela transação específica.
Parecer: exija que o modelo reporte intervalo de predição individualizado para cada estimativa, e não apenas o ponto central ou um intervalo de confiança da média. A ausência do intervalo de predição é, em si, uma falha na comunicação do risco de negócio.
4.4 Reprodutibilidade
Rodar o mesmo modelo de novo produz o mesmo resultado? Esse item já é mais próximo de processo do que de matemática pura, mas continua condição de confiança no relatório inteiro.
Parecer: peça ao desenvolvedor para rodar de novo, na sua frente, e confira se o resultado se repete, dentro de margem razoável.
4.5 Parecer Final
Critério | Situação |
Qualidade dos dados | |
Multicolinearidade | |
Heterocedasticidade | |
Estabilidade populacional | |
Overfitting | |
Estabilidade temporal | |
Robustez | |
Consistência lógica | |
Intervalo de confiança | |
Confiabilidade global |
Cada linha recebe um veredito, "adequado", "necessita atenção" ou "reprovado", seguido de um parecer geral, "aprovado", "aprovado com ressalvas" ou "reprovado", no mesmo formato que auditoria financeira já usa, familiar a qualquer executivo ou conselho.
Esses testes traduzem o resultado técnico em linguagem que sustenta decisão executiva, e formam a base documental de conformidade e responsabilidade. É o bloco que transforma os três anteriores, técnicos, em algo que um conselho, um regulador, ou um comprador de carteira de imóveis, consegue exigir e entender, sem precisar de formação estatística para isso.
Modelos de Inteligência Artificial já influenciam decisões que movimentam milhões de reais todos os dias. A pergunta não é mais se devemos utilizá-los, mas se podemos confiar neles. Assim como demonstrações financeiras são auditadas antes de orientar decisões estratégicas, modelos preditivos também podem — e deveriam — ser submetidos a uma auditoria matemática independente.
Em um artigo futuro vou mostrar como o FAMP lida com problemas de classificação (ex: matriz de confusão sob assimetria de custos de Falsos Positivos vs. Falsos Negativos, curvas ROC/PR e calibração de probabilidades,etc.)



Comentários