Czym dokładnie jest alfa w rozkładzie Dirichleta?


26

Jestem całkiem nowy w statystyce bayesowskiej i natrafiłem na poprawioną miarę korelacji, SparCC , która wykorzystuje proces Dirichleta w backendie tego algorytmu. Próbowałem przejść przez algorytm krok po kroku, aby naprawdę zrozumieć, co się dzieje, ale nie jestem pewien, co dokładnie alpharobi parametr wektorowy w rozkładzie Dirichleta i jak normalizuje alphaparametr wektorowy?

Implementacja Pythonkorzysta z NumPy: https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.dirichlet.html

Dokumenty mówią:

alpha: array Parametr rozkładu (wymiar k dla próbki wymiaru k).

Moje pytania:

  1. Jak alphaswpływają na dystrybucję ?;

  2. W jaki sposób alphasnormalizuje się ?; i

  3. Co się dzieje, gdy alphasnie są liczbami całkowitymi?

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")

wprowadź opis zdjęcia tutaj


6
Czy masz problemy z wpisem Wikipedii w tej dystrybucji ?
Xi'an

2
Przepraszam, nie sądzę, że sformułowałem to poprawnie. Rozumiem, czym jest rozkład prawdopodobieństwa / pdf / pmf, ale byłem zdezorientowany, jak przebiegała normalizacja. Z wikipedii wydaje się, że normalizacja zachodzi poprzez funkcje gamma po . Słyszałem, że nazywa się to dystrybucją między dystrybucjami i ciężko to dostrzec w eqns na wikipedii. xiα1
O.rka

1
Jeśli znormalizujesz alfa, otrzymasz średnią z rozkładu. Jeśli znormalizujesz rozkład, zapewnisz, że jego całka ponad jego podporą jest równa 1, a zatem jest to prawidłowy rozkład prawdopodobieństwa.
Eskapp,

1
Rozkład Dirichleta jest rozkładem na simpleks, stąd rozkład na skończone rozkłady wsparcia. Jeśli dążysz do podziału na ciągłe, powinieneś przyjrzeć się procesowi Dirichleta.
Xi'an,

Odpowiedzi:


67

Rozkład Dirichleta jest wielowymiarowym rozkładem prawdopodobieństwa, który opisuje zmienne , tak że każdy i , parametryzowany przez wektor parametrów o dodatniej wartości . Parametry nie muszą być liczbami całkowitymi, muszą być tylko dodatnimi liczbami rzeczywistymi. Nie są w żaden sposób „znormalizowane”, są parametrami tego rozkładu.X 1 , , X k x i( 0 , 1 ) N i = 1 x i = 1k2X1,,Xkxi(0,1)i=1Nxi=1α=(α1,,αk)

Rozkład Dirichleta jest uogólnieniem rozkładu beta na wiele wymiarów, więc możesz zacząć od poznania rozkładu beta. Beta jest jednoczynnikowym rozkładem zmiennej losowej sparametryzowanej parametrami i . Miłą intuicja o nią chodzi, jeśli przypomnieć, że jest to sprzężone przed dla rozkładu dwumianowego i jeśli zakładamy beta przed parametryzowane przez i dla rozkładu dwumianowego jest parametrem prawdopodobieństwo , wtedy posterior dystrybucja jest również rozkład beta sparametryzowany przezα β α β p p α = α + liczba sukcesów β = β + liczba awarii α βX(0,1)αβαβppα=α+number of successes i . Możesz więc pomyśleć o i jak o pseudocountach (nie muszą być liczbami całkowitymi) sukcesów i porażek (sprawdź także ten wątek ).β=β+number of failuresαβ

W przypadku rozkładu Dirichleta jest to koniugat wcześniejszy dla rozkładu wielomianowego . Jeśli w przypadku rozkładu dwumianowego możemy myśleć o tym w kategoriach rysowania białych i czarnych kulek z wymianą z urny, to w przypadku rozkładu wielomianowego rysujemy z zastępczymi kulkami pojawiającymi się w kolorach, gdzie każdy z kolorów kulek można narysować z prawdopodobieństwem . Rozkład Dirichleta jest sprzężony przed parametrami prawdopodobieństwa i parametry można traktować jako liczby pseudo -kulkowe każdego koloru przyjmowane z góryk p 1 , , p k p 1 , , p k α 1 , , α k α 1 , , α k α 1 + n 1 , , α k + n kNkp1,,pkp1,,pkα1,,αk(ale powinieneś także przeczytać o pułapkach takiego rozumowania ). W modelu wielomianowym Dirichleta aktualizujemy, sumując je z zaobserwowanymi liczbami w każdej kategorii: w podobny sposób jak w przypadku modelu beta-dwumianowego.α1,,αkα1+n1,,αk+nk

Im wyższa wartość , tym większa „waga” i większa ilość całkowitej „masy” jest mu przypisana (pamiętaj, że w sumie musi to być ). Jeśli wszystkie są równe, rozkład jest symetryczny. Jeśli , można go uznać za anty-wagę, która popycha kierunku skrajności, a gdy jest wysoka, przyciąga do jakiejś centralnej wartości (centralnej w tym sensie, że wszystkie punkty są wokół niej skoncentrowane, a nie w poczucie, że jest symetrycznie centralny). Jeśli , punkty są równomiernie rozmieszczone.X i x 1 + + x k = 1 α i α i < 1 x i x i α 1 = = α k = 1αiXix1++xk=1αiαi<1xixiα1==αk=1

Można to zobaczyć na poniższych wykresach, na których można zobaczyć trzykrotne rozkłady Dirichleta (niestety możemy wyprodukować rozsądne wykresy tylko do trzech wymiarów) sparametryzowane przez (a) , (b) , (c) , (d) .α 1 = α 2 = α 3 = 10 α 1 = 1 , α 2 = 10 , α 3 = 5 α 1 = α 2 = α 3 = 0,2α1=α2=α3=1α1=α2=α3=10α1=1,α2=10,α3=5α1=α2=α3=0.2

Cztery różne próbki z rozkładów Dirichleta

Rozkład Dirichleta jest czasem nazywany „rozkładem między rozkładami” , ponieważ można go uważać za rozkład samych prawdopodobieństw. Zauważ, że ponieważ każdy i , to są zgodne z pierwszym i drugim aksjomatem prawdopodobieństwa . Możesz więc użyć rozkładu Dirichleta jako rozkładu prawdopodobieństwa dla dyskretnych zdarzeń opisanych przez rozkłady takie jak kategoryczne lub wielomianowe . To niek i = 1 x i = 1 x ixi(0,1)i=1kxi=1xiprawda, że ​​jest to rozkład między dowolnymi rozkładami, na przykład nie jest związany z prawdopodobieństwami ciągłych zmiennych losowych, a nawet niektórych dyskretnych (np. rozkład losowy zmiennej Poissona opisuje prawdopodobieństwa zaobserwowania wartości, które są dowolnymi liczbami naturalnymi, więc aby użyć Rozkład Dirichleta według ich prawdopodobieństw, potrzebujesz nieskończonej liczby zmiennych losowych ).k


2
Niesamowite wyjaśnienie
O.rka

14

Oświadczenie: Nigdy wcześniej nie pracowałem z tą dystrybucją. Ta odpowiedź oparta jest na tym artykule w Wikipedii i mojej interpretacji.


Rozkład Dirichleta jest wielowymiarowym rozkładem prawdopodobieństwa o właściwościach podobnych do rozkładu Beta.

Plik PDF jest zdefiniowany w następujący sposób:

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

z , i .K2xi(0,1)i=1Kxi=1

Jeśli spojrzymy na ściśle powiązaną dystrybucję Beta:

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

widzimy, że te dwa rozkłady są takie same, jeśli . Oprzyjmy więc naszą interpretację najpierw na tym, a następnie uogólnij na .K=2K>2


W statystykach bayesowskich rozkład Beta jest stosowany jako koniugat wcześniej dla parametrów dwumianowych (patrz rozkład Beta ). Przeor można zdefiniować jako pewną wcześniejszą wiedzę na temat i (lub zgodnie z rozkładem Dirichleta i ). Jeżeli niektóre dwumianowego proces ma wówczas osiągnięcia i awarii rozkład tylnej jest następujące: i . (Nie rozwiążę tego, ponieważ jest to prawdopodobnie jedna z pierwszych rzeczy, których uczysz się dzięki statystykom bayesowskim).αβα1α2ABα1,pos=α1+Aα2,pos=α2+B

Zatem rozkład Beta reprezentuje następnie rozkład tylny na i , który można interpretować jako prawdopodobieństwo odpowiednio sukcesów i niepowodzeń w rozkładzie dwumianowym. Im więcej masz danych ( i ), tym węższy będzie ten tylny rozkład.x1x2(=1x1)AB


Teraz wiemy, jak działa rozkład dla , możemy go uogólnić, aby działał dla rozkładu wielomianowego zamiast dwumianowego. Co oznacza, że ​​zamiast dwóch możliwych wyników (sukces lub porażka), pozwolimy na wyniki (zobacz dlaczego uogólnia się na Beta / Binom, jeśli ?). Każdy z tych wyników będzie miał prawdopodobieństwo , które sumuje się z prawdopodobieństwem 1.K=2KK=2Kxi

αi następnie przyjmuje podobną rolę do i w dystrybucji Beta jak wcześniej dla i jest aktualizowany w podobny sposób.α1α2xi

A teraz przejdźmy do twoich pytań:

Jak alphaswpływa na dystrybucję?

Rozkład jest ograniczony ograniczeniami i . określić, które części -wymiarowej przestrzeni uzyskać największą masę. Możesz to zobaczyć na tym obrazie (nie osadzając go tutaj, ponieważ nie mam tego obrazu). Im więcej danych znajduje się w tylnej części (przy użyciu tej interpretacji), tym wyższa jest wartość , więc tym bardziej jesteś pewny wartości lub prawdopodobieństwa dla każdego z wyników. Oznacza to, że gęstość będzie bardziej skoncentrowana.xi(0,1)i=1Kxi=1αiKi=1Kαixi

Jak się alphasnormalizuje?

Normalizacja rozkładu (upewnienie się, że całka równa się 1) przechodzi przez termin :B(α)

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

Ponownie, jeśli spojrzymy na przypadek , zobaczymy, że czynnik normalizujący jest taki sam jak w rozkładzie Beta, w którym zastosowano:K=2

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

Rozciąga się to na

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

Co się stanie, gdy alfy nie będą liczbami całkowitymi?

Interpretacja nie zmienia się dla , ale jak widać na obrazku, który wcześniej , jeśli masa rozkładu gromadzi się na krawędziach zakresu dla . Z drugiej strony musi być liczbą całkowitą, a .α i < 1 x i Kαi>1αi<1xiKK2


1
Dzięki za to. Twoje wyjaśnienie było bardzo przydatne. Chciałbym móc oznaczyć oba jako prawidłowe.
O.rka
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.