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 alpha
robi parametr wektorowy w rozkładzie Dirichleta i jak normalizuje alpha
parametr wektorowy?
Implementacja Python
korzysta 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:
Jak
alphas
wpływają na dystrybucję ?;W jaki sposób
alphas
normalizuje się ?; iCo się dzieje, gdy
alphas
nie 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")
Odpowiedzi:
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 = 1k≥2 X1,…,Xk xi∈(0,1) ∑Ni=1xi=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) α β α β p p α′=α+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 kN k p1,…,pk p1,…,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αi Xi x1+⋯+xk=1 αi αi<1 xi xi α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
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 nie∑ k i = 1 x i = 1 x ixi∈(0,1) ∑ki=1xi=1 xi prawda, ż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
źródło
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:
z , i .K≥2 xi∈(0,1) ∑Ki=1xi=1
Jeśli spojrzymy na ściśle powiązaną dystrybucję Beta:
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=2 K>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 α2 A B α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.x1 x2(=1−x1) A B
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=2 K K=2 K xi
A teraz przejdźmy do twoich pytań:
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) ∑Ki=1xi=1 αi K ∑Ki=1αi xi
Normalizacja rozkładu (upewnienie się, że całka równa się 1) przechodzi przez termin :B(α)
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
Rozciąga się to na
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<1 xi K K≥2
źródło