Comment calculer la divergence / distance Kullback-Leibler?


10

J'ai trois ensembles de données X, Y et Z. Chaque ensemble de données définit la fréquence d'un événement. Par exemple:

Ensemble de données X: E1: 4, E2: 0, E3: 10, E4: 5, E5: 0, E6: 0 et ainsi de suite ..
Ensemble de données Y: E1: 2, E2: 3, E3: 7, E4: 6, E5: 0, E6: 0 et ainsi de suite ..
Jeu de données Z: E1: 0, E2: 4, E3: 8, E4: 4, E5: 1, E6: 0 et ainsi de suite ..

Je dois trouver KL-divergence entre X et Y; et entre X et Z. Comme vous pouvez le voir pour certains des événements, il y aura des valeurs 0 et non nulles. Pour certains des événements, les trois ensembles de données sont à 0.

J'apprécierais que quelqu'un puisse m'aider à trouver la divergence KL pour cela. Je ne suis pas vraiment un statisticien, donc je n'ai pas beaucoup d'idée. Les tutoriels que je regardais en ligne étaient un peu trop complexes pour ma compréhension.

Réponses:


11

Pour répondre à votre question, rappelons la définition de la divergence KL :

DKL(Y||X)=i=1Nln(YiXi)Yi

Tout d'abord, vous devez passer de ce que vous avez aux distributions de probabilités. Pour cela, vous devez normaliser vos données de manière à ce qu'elles soient égales à un:

Xi:=Xii=1NXi ; ; Yi:=Yii=1NYiZi:=Zii=1NZi

Ensuite, pour les valeurs discrètes, nous avons une hypothèse très importante qui est nécessaire pour évaluer la divergence KL et qui est souvent violée:

Xi=0 devrait impliquer .Yi=0

Dans le cas où et égaux à zéro, est supposé être zéro (comme valeur limite).XiYiln(Yi/Xi)Yi

Dans votre jeu de données, cela signifie que vous pouvez trouver , mais pas par exemple (en raison de la deuxième entrée).DKL(X||Y)DKL(Y||X)

Ce que je pourrais conseiller d'un point de vue pratique, c'est:

soit agrandissez vos événements de manière à avoir moins de zéros

ou obtenir plus de données, de sorte que vous couvrirez même des événements rares avec au moins une entrée.

Si vous ne pouvez utiliser aucun des conseils ci-dessus, vous devrez probablement trouver une autre métrique entre les distributions. Par exemple,

Informations mutuelles , définies comme . Où est une probabilité conjointe de deux événements.p(Xi,Yi)I(X,Y)=i=1Nj=1Np(Xi,Yj)ln(p(Xi,Yj)p(Xi)p(Yj))p(Xi,Yi)

J'espère que cela vous aidera.


0

entrez la description de l'image ici

Vous voudrez peut-être définir \ epsilon à une très petite valeur 0,00001 (par exemple) et continuer avec des valeurs non nulles pour toutes les probabilités et calculer les scores KL.

Veuillez me faire savoir si cela fonctionne.


2
Pourriez-vous s'il vous plaît ajouter une citation appropriée pour l'image ci-jointe, si ce n'est pas la vôtre (sinon, vous pouvez utiliser pour la composer), et également indiquer comment elle s'applique au problème spécifique en question? (L'OP a clairement déclaré qu'il n'était pas trop versé dans les statistiques mathématiques.)LATEX
chl
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.