Vou tentar descrever o problema em questão o mais geral possível. Estou modelando observações como uma distribuição categórica com um vetor de probabilidade de parâmetro teta.
Então, assumo que o vetor de parâmetro theta segue uma distribuição anterior do Dirichlet com os parâmetros .
É então possível também impor uma distribuição hyperprior sobre os parâmetros ? Terá que ser uma distribuição multivariada, como as distribuições categóricas e dirichlet? Parece-me que os alfas são sempre positivos, portanto, um hiper-gama gama deve funcionar.
Não tenho certeza se alguém tentou ajustar tais modelos (possivelmente) superparametrizados, mas me parece razoável pensar que os alfas não devem ser corrigidos, mas sim provenientes de uma distribuição gama.
Por favor, tente me fornecer algumas referências, idéias sobre como eu poderia tentar essa abordagem na prática.
fonte
Respostas:
Eu não acho que esse seja um modelo "superparamaterizado". Eu diria que, ao colocar um prior sobre os paramaters de Dirichlet, você está sendo menos comprometido com qualquer resultado específico. Em particular, como você provavelmente sabe, para distribuições de dirichlet simétricas (por exemplo, ), a configuração fornece uma probabilidade mais prévia de distribuições multinomiais esparsas, enquanto fornece uma probabilidade anterior de distribuições multinomiais suaves.α1=α2=...αK α<1 α>1
Nos casos em que não há grandes expectativas de distribuições multinomiais esparsas ou densas, colocar uma hiperiorior à sua distribuição Dirichlet fornece ao seu modelo uma flexibilidade adicional para escolher entre elas.
Originalmente, tive a ideia de fazer isso neste artigo . O hyperprior que eles usam é um pouco diferente do que você sugere. Eles amostram um vetor de probabilidade de um dirichlet e, em seguida, escalam-no por sorteio de um exponencial (ou gama). Portanto, o modelo é
O Dirichlet extra é simplesmente para evitar impor simetria.
Também vi pessoas usando apenas o Hyper Gamma anterior para um Dirichlet no contexto de modelos de markov ocultos com distribuições de emissões multinomiais, mas não consigo encontrar uma referência. Além disso, parece que eu encontrei hypers semelhantes usados em modelos de tópicos.
fonte
Para demonstrar uma solução para esse problema de hiperprioridade, implementei um modelo hierárquico gama-Dirichlet-multinomial no PyMC3. A gama anterior para o Dirichlet é especificada e amostrada de acordo com a postagem do blog de Ted Dunning .
O modelo que eu implementei pode ser encontrado neste Gist, mas também é descrito abaixo:
Este é um modelo hierárquico bayesiano (pool) para classificações de filmes. Cada filme pode ser classificado em uma escala de zero a cinco. Cada filme é classificado várias vezes. Queremos encontrar uma distribuição suave de classificações para cada filme.
Vamos aprender uma distribuição anterior de nível superior (hiperprior) nas classificações de filmes a partir dos dados. Cada filme terá seu próprio prior, que é suavizado por esse prior de nível superior. Outra maneira de pensar sobre isso é que a prévia das classificações para cada filme será reduzida para a distribuição em nível de grupo ou agrupada.
Se um filme tiver uma distribuição de classificação atípica, essa abordagem reduzirá as classificações para algo mais alinhado com o esperado. Além disso, esse aprendizado prévio pode ser útil para inicializar filmes com poucas classificações para permitir uma comparação significativa com filmes com muitas classificações.
O modelo é o seguinte:
Onde:
fonte
Esta é uma modelagem prévia direta do conjugado bayesiano. Uma extensão natural do modelo beta-binomial. Um bom recurso para isso pode ser o livro . E Posterior também é Dirichlet e, portanto, a simulação de dirichlet dará resumos necessários
fonte