Path: blob/master/site/pt-br/probability/examples/Multilevel_Modeling_Primer.ipynb
25118 views
Copyright 2019 The TensorFlow Probability Authors.
Licensed under the Apache License, Version 2.0 (the "License");
Cartilha sobre modelagem multinível no TensorFlow Probability
Para este exemplo, foi feita uma portabilidade do notebook de exemplo do PyMC3 Cartilha sobre métodos bayesianos para modelagem multinível.
Dependências e pré-requisitos
1 – Introdução
Neste Colab, faremos o ajuste de modelos lineares hierárquicos (HLMs, na sigla em inglês) com vários níveis de complexidade do modelo usando o dataset popular Radon. Usaremos primitivos do TFP e seu conjunto de ferramentas de Monte Carlo via Cadeias de Markov.
Para ajustar melhor os dados, nosso objetivo é usar a estrutura hierárquica natural presente no dataset. Começamos com estratégias convencionais: modelos com pooling completo e sem pooling. Continuaremos com modelos multiníveis: exploração de modelos com pooling parcial, preditores em nível de grupo e efeitos contextuais.
Para ver um notebook de ajuste de HLMs usando TFP no dataset Radon relacionado a este assunto, confira Regressão linear com efeitos mistos no {TF Probability, R, Stan}.
Se você tiver alguma dúvida sobre este material, fique à vontade para entrar em contato ou participar da lista de e-mails do TensorFlow Probability. Será um grande prazer ajudar.
2 – Visão geral da modelagem multinível
Cartilha sobre métodos bayesianos para modelagem multinível
A modelagem hierárquica ou multinível é uma generalização da modelagem de regressão.
Os modelos multiníveis são modelos de regressão em que os parâmetros do modelo constituintes são distribuições de probabilidade fornecidas, o que implica que os parâmetros do modelo podem variar por grupo. As unidades observacionais costumam ser naturalmente agrupadas. O agrupamento induz a dependência entre as observações, apesar da amostragem aleatória de agrupamentos (clusters) e da amostragem aleatória dentro dos agrupamentos.
Um modelo hierárquico é um modelo multinível específico em que os parâmetros são aninhados um dentro do outro. Algumas estruturas multiníveis não são hierárquicas.
Por exemplo: "país" e "ano" não estão aninhados, mas podem representar agrupamentos separados, porém sobrepostos, de parâmetros. Vamos fornecer a motivação para este tópico usando um exemplo de epidemiologia ambiental.
Exemplo: contaminação por radônio (Gelman and Hill 2006)
O radônio é um gás radioativo que entra nas residências por meio de pontos de contato com o chão. É um carcinogênico, a principal causa de câncer no pulmão em não fumantes. Os níveis de radônio variam consideravelmente entre as residências.
O Departamento de Proteção Ambiental dos Estados Unidos (EPA, na sigla em inglês) fez um estudo sobre os níveis de radônio em 80 mil casas. Dois importantes preditores são: 1. Medição no porão ou térreo (radônio maior em porões); 2. Nível de urânio no condado (possível correlação com os níveis de radônio).
Vamos nos concentrar na modelagem dos níveis de radônio em Minnesota. A hierarquia neste exemplo são residências em cada condado.
3 – Transformação dos dados
Nesta seção, vamos obter o dataset radon
e fazer um pré-processamento mínimo.
Distribuição dos níveis de radônio (escala logarítmica):
4 – Estratégias convencionais
As duas alternativas convencionais para modelar a exposição ao radônio representam os dois extremos da contrapartida bias-variância:
Pooling completo:
Trate todos os condados como o mesmo e estime um único nível de radônio.
Sem pooling:
Modele o radônio em cada condado de forma independente.
Os erros podem representar o erro de medição, a variação temporal dentro das casas ou a variação entre as casas.
Abaixo, ajustamos o modelo com pooling completo usando Monte Carlo Hamiltoniano.
Plote as estimativas de pontos do declive e intercepto para o modelo com pooling completo.
Agora, estimamos os níveis de radônio para cada condado no modelo sem pooling.
Aqui estão os valores esperados de condados sem pooling para o intercepto junto com os 95% intervalos de credibilidade para cada cadeia. Também indicamos o valor R-hat para a estimativa de cada condado.
Podemos plotar as estimativas ordenadas para identificar os condados com níveis altos de radônio:
Aqui estão os comparativos visuais entre as estimativas com pooling e sem pooling para um subconjunto de condados que representa um intervalo de tamanhos da amostra.
Nenhum desses modelos é satisfatório:
Se estamos tentando identificar condados com altos níveis de radônio, o pooling não é útil.
Não confiamos em estimativas extremas sem pooling geradas por modelos usando poucas observações.
5 – Modelos multiníveis e hierárquicos
Quando fazemos o pool dos dados, perdemos as informações de que diferentes pontos de dados vêm de diferentes condados. Portanto, cada observação do nível de radon
é amostrada a partir da mesma distribuição de probabilidades. Um modelo como esse não consegue aprender qualquer variação na unidade de amostragem que é inerente em um grupo (por exemplo: um condado); ele só leva em conta a variância da amostragem.
Quando analisamos os dados sem pooling, sugerimos que eles são amostrados de forma independente a partir de modelos separados. No extremo oposto do caso com pooling, essa estratégia alega que as diferenças entre as unidades de amostragem são grandes demais para combiná-las:
Em um modelo hierárquico, os parâmetros são vistos como uma amostra de uma distribuição de população de parâmetros. Portanto, nós os enxergamos como nem sendo totalmente diferentes nem sendo exatamente iguais. Isso é conhecido como pooling parcial.
5.1 – Pooling parcial
O modelo mais simples com pooling parcial para o dataset de radônio em residências é um que simplesmente estima os níveis de radônio, sem qualquer preditor no nível de grupo ou individual. Um exemplo de preditor em nível individual é se o ponto de dados vem do porão ou do térreo. Um preditor em nível de grupo pode ser os níveis médios de urânio em todo o condado.
Um modelo com pooling parcial representa uma contrapartida entre os extremos com e sem pooling, aproximadamente uma média ponderada (baseada no tamanho da amostra) das estimativas de condado sem pooling e das estimativas com pooling.
Seja o nível logarítmico de radônio estimado no condado . É apenas um intercepto; ignoramos os declives por ora. é o número de observações do condado . e são a variância do parâmetro e a variância de amostragem, respectivamente. Então, um modelo com pooling parcial poderia postular:
Esperamos o seguinte ao usar pooling parcial:
As estimativas para condados com tamanhos menores de amostra vão tender para a média geral do estado.
As estimativas para condados com tamanhos maiores de amostras serão mais próximas das estimativas de condados sem pooling.
Observe a diferença entre as estimativas sem pooling e com pooling parcial, especialmente com tamanhos menores de amostra. As estimativas sem pooling são mais extremas e mais imprecisas.
5.2 – Variação dos interceptos
Agora vamos considerar um modelo mais complexo que permite a variação dos interceptos entre os condados segundo um efeito aleatório.
O declive , que permite que a observação varie de acordo com o local da medição (porão ou térreo), ainda é um efeito fixo compartilhado entre diferentes condados.
Assim como no modelo sem pooling, definimos um intercepto separado para cada condado, mas, em vez de ajustar modelos de regressão de mínimos quadrados para cada condado, a modelagem multinível compartilha a força entre os condados, permitindo uma inferência mais razoável em condados com poucos dados.
A estimativa para o coeficiente de andar é aproximadamente -0,69, o que pode ser interpretado como casas sem porão tendo cerca de metade () dos níveis de radônio do que as que têm porão, após levar em conta o condado.
5.3 – Variação dos declives
Alternativamente, podemos postular um modelo que permita que os condados variem dependendo de como o local da medição (porão ou térreo) influencia na medição de radônio. Neste caso, o intercepto é compartilhado entre os condados.
5.4 – Variação dos interceptos e declives
O modelo mais geral permite que tanto o intercepto quanto o declive variem por condado:
6 – Inclusão de preditores em nível de grupo
A força principal dos modelos multiníveis é a capacidade de tratar os preditores em múltiplos níveis simultaneamente. Se considerarmos o modelo com variação de interceptos acima:
\sigma_{\alpha}^2)$$. Portanto, agora estamos incorporando um preditor no nível de casa (andares ou porão), bem como um preditor no nível de condado (urânio).
Observe que o modelo tem as duas variáveis indicadoras para cada condado, além de uma covariável no nível de condado. Na regressão clássica, isso resultaria em colinearidade. Em um modelo multinível, o pooling parcial dos interceptos em direção ao valor esperado do modelo linear no nível de grupo evita isso.
Os preditores no nível de grupo também servem para reduzir a variação no nível de grupo . Uma implicação importante é que a estimativa em nível de grupo induz um pooling mais forte.
Os erros padrão dos interceptos são mais estreitos do que para o modelo com pooling parcial sem uma covariável no nível de condado.
6.2 – Correlações entre níveis
Em alguns casos, ter preditores em diversos níveis pode revelar a correlação entre as variáveis em nível individual e os residuais de grupos. Podemos levar isso em conta incluindo a média dos preditores individuais como uma covariável no modelo para o intercepto do grupo.
Portanto, poderíamos inferir disso que os condados com proporções maiores de casas sem porão costumam ter níveis maiores de referência de radônio. Talvez isso esteja relacionado ao tipo de solo, que, por sua vez, pode influenciar que tipo de estruturas são construídas.
6.3 – Previsão
Gelman (2006) usou testes de validação cruzada para verificar o erro de previsão dos modelos sem pooling, com pooling total e com pooling parcial.
Raiz quadrada média dos erros de previsão com validação cruzada:
Sem pooling = 0,86
Com pooling = 0,84
Multinível = 0,79
É possível fazer dois tipos de previsão em um modelo multinível:
Um novo indivíduo de um grupo existente.
Um novo indivíduo de um novo grupo.
Por exemplo: se quiséssemos fazer uma previsão para uma nova casa sem porão no condado de St. Louis, precisaríamos apenas amostrar a partir do modelo de radônio com o intercepto apropriado.
Ou seja:
7 – Conclusões
Benefícios dos modelos multiníveis:
Levam em conta a estrutura hierárquica natural de dados observacionais.
Estimam os coeficientes para grupos subrepresentados.
Incorporam informações no nível individual e de grupo ao estimar os coeficientes em nível de grupo.
Permitem a variação de coeficientes em nível individual entre os grupos.
Referências
Gelman, A., & Hill, J. (2006). Data Analysis Using Regression and Multilevel/Hierarchical Models (Análise de dados usando modelos de regressão e hierárquicos/multiníveis) (1ª edição). Cambridge University Press.
Gelman, A. (2006). Multilevel (Hierarchical) modeling: what it can and cannot do [Modelagem (hierárquica) multinível: o que é possível e não é possível fazer]. Technometrics, 48(3), 432–435.