Jak obliczyć dywergencję / odległość Kullbacka-Leiblera?

10

Mam trzy zestawy danych X, Y i Z. Każdy zestaw danych określa częstotliwość wystąpienia zdarzenia. Na przykład:

Zestaw danych X: E1: 4, E2: 0, E3: 10, E4: 5, E5: 0, E6: 0 itd.
Zestaw danych Y: E1: 2, E2: 3, E3: 7, E4: 6, E5: 0, E6: 0 itd.
Zestaw danych Z: E1: 0, E2: 4, E3: 8, E4: 4, E5: 1, E6: 0 i tak dalej ..

Muszę znaleźć rozbieżność KL między X i Y; oraz między X i Z. Jak widać dla niektórych zdarzeń, będą wartości 0 i niezerowe. W przypadku niektórych zdarzeń wszystkie trzy zestawy danych mają wartość 0.

Byłbym wdzięczny, gdyby ktoś mógł mi pomóc w znalezieniu dywergencji KL dla tego. Nie jestem statystyką, więc nie mam pojęcia. Samouczki, na które patrzyłem online, były dla mnie zbyt skomplikowane.

PS1
źródło

Odpowiedzi:

11

Aby odpowiedzieć na twoje pytanie, powinniśmy przypomnieć definicję dywergencji KL :

reK.L.(Y||X)=ja=1N.ln(YjaXja)Yja

Przede wszystkim musisz przejść od tego, co masz, do rozkładów prawdopodobieństwa. W tym celu należy znormalizować swoje dane, tak aby sumowały się do jednego:

; Yi:=YiXja: =Xjaja=1N.Xja ; Zi:=ZiYja: =Yjaja=1N.YjaZja: =Zjaja=1N.Zja

Następnie w przypadku wartości dyskretnych mamy jedno bardzo ważne założenie, które jest potrzebne do oceny rozbieżności KL i które jest często naruszane:

powinno oznaczać Y i = 0 .Xja=0Yja=0

XjaYjaln(Yja/Xja)Yja

reK.L.(X||Y)reK.L.(Y||X)

Z praktycznego punktu widzenia mogę doradzić:

albo zwiększ swoje wydarzenia, aby mieć mniej zer

lub uzyskaj więcej danych, dzięki czemu obejrzysz nawet rzadkie zdarzenia za pomocą co najmniej jednego wpisu.

Jeśli nie możesz użyć żadnej z powyższych porad, prawdopodobnie będziesz musiał znaleźć inną metrykę między dystrybucjami. Na przykład,

ja(X,Y)=ja=1N.jot=1N.p(Xja,Yjot)ln(p(Xja,Yjot)p(Xja)p(Yjot))p(Xja,Yja)

Mam nadzieję, że to pomoże.

Dmitrij Łaptiew
źródło
0

wprowadź opis zdjęcia tutaj

Możesz ustawić \ epsilon na bardzo małą wartość 0,00001 (powiedzmy) i przejść do niezerowych wartości dla wszystkich prawdopodobieństw i obliczyć wyniki KL.

Daj mi znać, jeśli to zadziała.

Kalidas Y
źródło
2
L.ZAT.miX