O que exatamente é o alfa na distribuição Dirichlet?


26

Sou bastante novo nas estatísticas bayesianas e me deparei com uma medida de correlação corrigida, SparCC , que usa o processo Dirichlet no backend de seu algoritmo. Eu tenho tentado percorrer o algoritmo passo a passo para realmente entender o que está acontecendo, mas não sei exatamente o que o alphaparâmetro vetorial faz em uma distribuição Dirichlet e como ele normaliza o alphaparâmetro vetorial.

A implementação está em Pythonuso NumPy: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.dirichlet.html

Os documentos dizem:

alpha: array Parâmetro da distribuição (dimensão k para amostra da dimensão k).

Minhas perguntas:

  1. Como isso alphasafeta a distribuição ?;

  2. Como estão alphassendo normalizados ?; e

  3. O que acontece quando alphasnão são números inteiros?

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

# Reproducibility
np.random.seed(0)

# Integer values for alphas
alphas = np.arange(10)
# array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

# Dirichlet Distribution
dd = np.random.dirichlet(alphas) 
# array([ 0.        ,  0.0175113 ,  0.00224837,  0.1041491 ,  0.1264133 ,
#         0.06936311,  0.13086698,  0.15698674,  0.13608845,  0.25637266])

# Plot
ax = pd.Series(dd).plot()
ax.set_xlabel("alpha")
ax.set_ylabel("Dirichlet Draw")

insira a descrição da imagem aqui


6
Você tem problemas com a entrada da Wikipedia nesta distribuição ?
Xi'an

2
Desculpas, acho que não escrevi corretamente. Entendo o que é uma distribuição de probabilidade / pdf / pmf, mas fiquei confuso sobre como a normalização estava acontecendo. Na wikipedia, parece que a normalização está ocorrendo através das funções gama após o . Ouvi dizer que é uma distribuição sobre distribuições e é difícil ver isso nos eqns da wikipedia. xiα1
O.rka

11
Se você normalizar os alfa, obtém a média da distribuição. Se você normalizar a distribuição, assegura que sua integral sobre seu suporte é igual a 1 e, portanto, é uma distribuição de probabilidade válida.
Eskapp

11
A distribuição Dirichlet é uma distribuição sobre o simplex, portanto, uma distribuição sobre distribuições de suporte finito. Se você pretende uma distribuição em distribuições contínuas, deve analisar o processo Dirichlet.
Xian

Respostas:


67

A distribuição de Dirichlet é uma distribuição de probabilidade multivariada que descreve variáveis X 1 , , X k , de modo que cada x i( 0 , 1 ) e N i = 1 x i = 1 , que é parametrizado por um vetor de parâmetros com valor positivo α = ( α 1 , , α k ) . Os parâmetros nãok2X1,,Xkxi(0,1)i=1Nxi=1α=(α1,,αk)tem que ser números inteiros, eles só precisam ser números reais positivos. Eles não são "normalizados" de forma alguma, são parâmetros dessa distribuição.

A distribuição Dirichlet é uma generalização da distribuição beta em várias dimensões, para que você possa começar aprendendo sobre a distribuição beta. Beta é uma distribuição univariada de uma variável aleatória parametrizada pelos parâmetros α e β . A boa intuição sobre isso ocorre se você se lembrar de que é um conjugado anterior para a distribuição binomial e se assumirmos um beta anterior parametrizado por α e β para o parâmetro de probabilidade p da distribuição binomial , a distribuição posterior deX(0,1)αβαβpptambém é uma distribuição beta parametrizada por e β = β + número de falhas . Portanto, você pode pensar em α e β como em pseudocontagens (eles não precisam ser inteiros) de sucessos e falhas (verifique também este encadeamento ).α=α+number of successesβ=β+number of failuresαβ

No caso da distribuição Dirichlet, é um conjugado anterior para a distribuição multinomial . Se, no caso da distribuição binomial, podemos pensar em termos de desenhar bolas brancas e pretas com substituição da urna, então, no caso da distribuição multinomial, estamos desenhando com bolas substituição que aparecem em k cores, onde cada uma das cores das bolas podem ser sacadas com probabilidades p 1 , , p k . A distribuição de Dirichlet é um conjugado anterior para p 1 , , p k probabilidades e α 1Nkp1,,pkp1,,pk parâmetros α k podem ser considerados comopseudocontagensde bolas de cada cor assumidasa priori(mas você deve ler também sobre asarmadilhas desse raciocínio). No modelo Dirichlet-multinomial α 1 , , α k é atualizado somando-os com as contagens observadas em cada categoria: α 1 + n 1 , , α k + n k de maneira semelhante à do modelo beta-binomial.α1,,αkα1,,αkα1+n1,,αk+nk

O valor mais alto de , o maior "peso" de X i e a maior quantidade de "massa" total são atribuídos a ele (lembre-se de que no total ele deve ser x 1 + + x k = 1 ). Se todos os α i são iguais, a distribuição é simétrica. Se α i < 1 , pode ser pensado como anti-peso que empurra x i para extremos, enquanto quando é alto, atrai x i para algum valor central (central no sentido de que todos os pontos estão concentrados em torno dele, nãoαiXix1++xk=1αiαi<1xixino sentido em que é simetricamente central). Se , então os pontos são distribuídos uniformemente.α1==αk=1

Isso pode ser visto nas plotagens abaixo, onde é possível ver distribuições triviais de Dirichlet (infelizmente, podemos produzir plotagens razoáveis ​​apenas até três dimensões) parametrizadas por (a) , (b) α 1 = α 2 = α 3 = 10 , (c) α 1 = 1 , α 2 = 10 , α 3 = 5 , (d) α 1 = α 2 = α 3α1=α2=α3=1α1=α2=α3=10α1=1,α2=10,α3=5 .α1=α2=α3=0.2

Four different samples from Dirichlet distributions

A distribuição de Dirichlet às vezes é chamada de "distribuição sobre distribuições" , pois pode ser pensada como uma distribuição de probabilidades. Observe que, uma vez que cada e k i = 1 x i = 1 , x i são consistentes com o primeiro e o segundo axiomas de probabilidade . Portanto, você pode usar a distribuição Dirichlet como uma distribuição de probabilidades para eventos discretos descritos por distribuições como categorias categóricas e nãoxi(0,1)i=1kxi=1xi ou multinomial . Isto éverdade que é uma distribuição sobre quaisquer distribuições, por exemplo, não está relacionada a probabilidades de variáveis ​​aleatórias contínuas ou mesmo a algumas discretas (por exemplo, uma variável aleatória distribuída de Poisson descreve probabilidades de observar valores que são números naturais, portanto, use Para distribuir diretórios por suas probabilidades, você precisará de um número infinito de variáveis ​​aleatórias ).k


2
Explicação incrível
O.rka

14

Disclaimer: Eu nunca trabalhei com esta distribuição antes. Esta resposta é baseada neste artigo da Wikipedia e na minha interpretação.


A distribuição Dirichlet é uma distribuição de probabilidade multivariada com propriedades semelhantes à distribuição Beta.

O PDF é definido da seguinte forma:

{x1,,xK}1B(α)i=1Kxiαi1

com , x i( 0 , 1 ) e K i = 1 x i = 1 .K2xi(0,1)i=1Kxi=1

Se olharmos para a distribuição Beta intimamente relacionada:

{x1,x2(=1x1)}1B(α,β)x1α1x2β1

podemos ver que essas duas distribuições são iguais se . Então, vamos basear nossa interpretação nisso primeiro e depois generalizar para K > 2 .K=2K>2


Nas estatísticas bayesianas, a distribuição Beta é usada como um conjugado antes dos parâmetros binomiais (consulte Distribuição Beta ). O prior pode ser definido como algum conhecimento prévio sobre e β (ou de acordo com a distribuição de Dirichlet α 1 e α 2 ). Se algum teste binomial tiver sucessos A e falhas B , a distribuição posterior será a seguinte: α 1 , p o s = α 1 + A e α 2 , p o s = ααβα1α2ABα1,pos=α1+A . (Não vou resolver isso, pois essa é provavelmente uma das primeiras coisas que você aprende com as estatísticas bayesianas).α2,pos=α2+B

Portanto, a distribuição Beta representa alguma distribuição posterior em e x 2 ( = 1 - x 1 ) , que pode ser interpretada como a probabilidade de sucessos e falhas, respectivamente, em uma distribuição binomial. E quanto mais dados ( A e B ) você tiver, mais estreita será a distribuição posterior.x1x2(=1x1)AB


Agora que sabemos como a distribuição funciona para , podemos generalizá-la para trabalhar para uma distribuição multinomial em vez de um binomial. O que significa que, em vez de dois resultados possíveis (sucesso ou fracasso), permitiremos resultados K (veja por que ele se generaliza para Beta / Binom se K = 2 ?). Cada um destes K resultados terá uma probabilidade x i , que resume a 1 como probabilidades fazer.K=2KK=2Kxi

, em seguida, assume um papel semelhante ao α 1 e α 2 na distribuição Beta como uma prévia para x i e é atualizado de forma semelhante.αiα1α2xi

Então agora, para responder às suas perguntas:

Como isso alphasafeta a distribuição?

xi(0,1)i=1Kxi=1αiKi=1Kαixiou as probabilidades para cada um dos resultados. Isso significa que a densidade será mais concentrada.

Como estão alphassendo normalizados?

B(α)

B(α)=i=1KΓ(αi)Γ(i=1Kαi)

K=2

B(α1,α2)=Γ(α1)Γ(α2)Γ(α1+α2)

Isso se estende a

B(α)=Γ(α1)Γ(α2)Γ(αK)Γ(α1+α2++αK)

What happens when the alphas are not integers?

The interpretation doesn't change for αi>1, but as you can see in the image I linked before, if αi<1 the mass of the distribution accumulates at the edges of the range for xi. K on the other hand has to be an integer and K2.


1
Thanks for this. Your explanation was super useful. I wish I could have marked both of them as correct.
O.rka
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.