{"id":2497,"date":"2023-07-22T00:42:48","date_gmt":"2023-07-22T00:42:48","guid":{"rendered":"https:\/\/statorials.org\/nl\/kl-divergentie-python\/"},"modified":"2023-07-22T00:42:48","modified_gmt":"2023-07-22T00:42:48","slug":"kl-divergentie-python","status":"publish","type":"post","link":"https:\/\/statorials.org\/nl\/kl-divergentie-python\/","title":{"rendered":"Hoe kl-divergentie in python te berekenen (met voorbeeld)"},"content":{"rendered":"<p><\/p>\n<hr>\n<p><span style=\"color: #000000;\">In de statistiek is de <strong>Kullback-Leibler (KL)-divergentie<\/strong> een afstandsmetriek die het verschil tussen twee waarschijnlijkheidsverdelingen kwantificeert.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Als we twee kansverdelingen hebben, P en Q, schrijven we de KL-divergentie doorgaans met de notatie KL(P || Q), wat &#8222;divergentie van P van Q&#8220; betekent.<\/span><\/p>\n<p> <span style=\"color: #000000;\">We berekenen het met de volgende formule:<\/span><\/p>\n<p> <span style=\"color: #000000;\">KL(P || Q) = \u03a3P(x) <em>ln<\/em> (P(x) \/ Q(x))<\/span><\/p>\n<p> <span style=\"color: #000000;\">Als de KL-divergentie tussen twee verdelingen nul is, geeft dit aan dat de verdelingen identiek zijn.<\/span><\/p>\n<p> <span style=\"color: #000000;\">We kunnen de functie <a href=\"https:\/\/docs.scipy.org\/doc\/scipy\/reference\/generated\/scipy.special.rel_entr.html\" target=\"_blank\" rel=\"noopener\">scipy.special.rel_entr()<\/a> gebruiken om de KL-divergentie tussen twee waarschijnlijkheidsverdelingen in Python te berekenen.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Het volgende voorbeeld laat zien hoe u deze functie in de praktijk kunt gebruiken.<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Voorbeeld: berekening van de KL-divergentie in Python<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Stel dat we in Python de volgende twee kansverdelingen hebben:<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>Opmerking<\/strong> : Het is belangrijk dat de kansen van elke verdeling opgeteld \u00e9\u00e9n zijn.<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#define two probability distributions\n<span style=\"color: #000000;\">P = [.05, .1, .2, .05, .15, .25, .08, .12]\nQ = [.3, .1, .2, .1, .1, .02, .08, .1]\n<\/span><\/span><\/strong><\/pre>\n<p> <span style=\"color: #000000;\">We kunnen de volgende code gebruiken om de KL-divergentie tussen de twee distributies te berekenen:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008080;\"><span style=\"color: #000000;\"><span style=\"color: #008000;\">from<\/span> scipy. <span style=\"color: #3366ff;\">special<\/span> <span style=\"color: #008000;\">import<\/span> rel_entr\n\n<span style=\"color: #008080;\">#calculate (P || Q)\n<\/span>sum(rel_entr(P, Q))\n\n0.589885181619163<\/span><\/span><\/strong><\/pre>\n<p> <span style=\"color: #000000;\">De KL-divergentie van de P-verdeling ten opzichte van de Q-verdeling bedraagt ongeveer <strong>0,589<\/strong> .<\/span><\/p>\n<p> <span style=\"color: #000000;\">Merk op dat de eenheden die bij deze berekening worden gebruikt, bekend staan als <a href=\"https:\/\/en.wikipedia.org\/wiki\/Nat_(unit)\" target=\"_blank\" rel=\"noopener\">nats<\/a> , wat een afkorting is van <em>Natural Unit of Information<\/em> .<\/span><\/p>\n<p> <span style=\"color: #000000;\">We zouden dus zeggen dat de KL-divergentie <strong>0,589 nats<\/strong> is.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Merk ook op dat KL-divergentie geen symmetrische metriek is. Dit betekent dat als we de KL-divergentie van de Q-verdeling berekenen ten opzichte van de P-verdeling, we waarschijnlijk een andere waarde zullen krijgen:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008080;\"><span style=\"color: #000000;\"><span style=\"color: #008000;\">from<\/span> scipy. <span style=\"color: #3366ff;\">special<\/span> <span style=\"color: #008000;\">import<\/span> rel_entr\n\n<span style=\"color: #008080;\">#calculate (Q || P)\n<\/span>sum(rel_entr(Q, P))\n\n0.497549319448034<\/span><\/span><\/strong><\/pre>\n<p> <span style=\"color: #000000;\">De KL-divergentie van de Q-verdeling ten opzichte van de P-verdeling bedraagt ongeveer <strong>0,497 nats<\/strong> .<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>Opmerking<\/strong> : sommige formules gebruiken logbasis-2 om KL-divergentie te berekenen. In dit geval hebben we het over divergentie in termen van <a href=\"https:\/\/en.wikipedia.org\/wiki\/Bit\" target=\"_blank\" rel=\"noopener\">bits<\/a> in plaats van nats.<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Aanvullende bronnen<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in Python uitvoert:<\/span><\/p>\n<p> <a href=\"https:\/\/statorials.org\/nl\/python-correlatiematrix\/\" target=\"_blank\" rel=\"noopener\">Hoe u een correlatiematrix in Python maakt<\/a><br \/> <a href=\"https:\/\/statorials.org\/nl\/python-covariantiematrix\/\" target=\"_blank\" rel=\"noopener\">Hoe u een covariantiematrix in Python maakt<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In de statistiek is de Kullback-Leibler (KL)-divergentie een afstandsmetriek die het verschil tussen twee waarschijnlijkheidsverdelingen kwantificeert. Als we twee kansverdelingen hebben, P en Q, schrijven we de KL-divergentie doorgaans met de notatie KL(P || Q), wat &#8222;divergentie van P van Q&#8220; betekent. We berekenen het met de volgende formule: KL(P || Q) = \u03a3P(x) ln [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[],"class_list":["post-2497","post","type-post","status-publish","format-standard","hentry","category-gids"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Hoe KL-divergentie in Python te berekenen (met voorbeeld) - Statorials<\/title>\n<meta name=\"description\" content=\"In deze tutorial wordt aan de hand van een voorbeeld uitgelegd hoe je de KL-divergentie tussen twee kansverdelingen in Python kunt berekenen.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/statorials.org\/nl\/kl-divergentie-python\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Hoe KL-divergentie in Python te berekenen (met voorbeeld) - Statorials\" \/>\n<meta property=\"og:description\" content=\"In deze tutorial wordt aan de hand van een voorbeeld uitgelegd hoe je de KL-divergentie tussen twee kansverdelingen in Python kunt berekenen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/statorials.org\/nl\/kl-divergentie-python\/\" \/>\n<meta property=\"og:site_name\" content=\"Statorials\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-22T00:42:48+00:00\" \/>\n<meta name=\"author\" content=\"Dr.benjamin anderson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Dr.benjamin anderson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"2\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/statorials.org\/nl\/kl-divergentie-python\/\",\"url\":\"https:\/\/statorials.org\/nl\/kl-divergentie-python\/\",\"name\":\"Hoe KL-divergentie in Python te berekenen (met voorbeeld) - Statorials\",\"isPartOf\":{\"@id\":\"https:\/\/statorials.org\/nl\/#website\"},\"datePublished\":\"2023-07-22T00:42:48+00:00\",\"dateModified\":\"2023-07-22T00:42:48+00:00\",\"author\":{\"@id\":\"https:\/\/statorials.org\/nl\/#\/schema\/person\/d4b8842173cca1bb62cdec41860e4219\"},\"description\":\"In deze tutorial wordt aan de hand van een voorbeeld uitgelegd hoe je de KL-divergentie tussen twee kansverdelingen in Python kunt berekenen.\",\"breadcrumb\":{\"@id\":\"https:\/\/statorials.org\/nl\/kl-divergentie-python\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/statorials.org\/nl\/kl-divergentie-python\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/statorials.org\/nl\/kl-divergentie-python\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Thuis\",\"item\":\"https:\/\/statorials.org\/nl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Hoe kl-divergentie in python te berekenen (met voorbeeld)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/statorials.org\/nl\/#website\",\"url\":\"https:\/\/statorials.org\/nl\/\",\"name\":\"Statorials\",\"description\":\"Uw gids voor statistische competentie\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/statorials.org\/nl\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"de\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/statorials.org\/nl\/#\/schema\/person\/d4b8842173cca1bb62cdec41860e4219\",\"name\":\"Dr.benjamin anderson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/statorials.org\/nl\/#\/schema\/person\/image\/\",\"url\":\"http:\/\/statorials.org\/nl\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg\",\"contentUrl\":\"http:\/\/statorials.org\/nl\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg\",\"caption\":\"Dr.benjamin anderson\"},\"description\":\"Ik ben Benjamin, een gepensioneerde hoogleraar statistiek die nu een toegewijde Statorials-lesgever is. Ik heb uitgebreide ervaring en expertise op het gebied van statistiek en ik ben vastbesloten om mijn kennis te delen met studenten via Statorials. Lees verder\",\"sameAs\":[\"http:\/\/statorials.org\/nl\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Hoe KL-divergentie in Python te berekenen (met voorbeeld) - Statorials","description":"In deze tutorial wordt aan de hand van een voorbeeld uitgelegd hoe je de KL-divergentie tussen twee kansverdelingen in Python kunt berekenen.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/statorials.org\/nl\/kl-divergentie-python\/","og_locale":"de_DE","og_type":"article","og_title":"Hoe KL-divergentie in Python te berekenen (met voorbeeld) - Statorials","og_description":"In deze tutorial wordt aan de hand van een voorbeeld uitgelegd hoe je de KL-divergentie tussen twee kansverdelingen in Python kunt berekenen.","og_url":"https:\/\/statorials.org\/nl\/kl-divergentie-python\/","og_site_name":"Statorials","article_published_time":"2023-07-22T00:42:48+00:00","author":"Dr.benjamin anderson","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Dr.benjamin anderson","Gesch\u00e4tzte Lesezeit":"2\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/statorials.org\/nl\/kl-divergentie-python\/","url":"https:\/\/statorials.org\/nl\/kl-divergentie-python\/","name":"Hoe KL-divergentie in Python te berekenen (met voorbeeld) - Statorials","isPartOf":{"@id":"https:\/\/statorials.org\/nl\/#website"},"datePublished":"2023-07-22T00:42:48+00:00","dateModified":"2023-07-22T00:42:48+00:00","author":{"@id":"https:\/\/statorials.org\/nl\/#\/schema\/person\/d4b8842173cca1bb62cdec41860e4219"},"description":"In deze tutorial wordt aan de hand van een voorbeeld uitgelegd hoe je de KL-divergentie tussen twee kansverdelingen in Python kunt berekenen.","breadcrumb":{"@id":"https:\/\/statorials.org\/nl\/kl-divergentie-python\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/statorials.org\/nl\/kl-divergentie-python\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/statorials.org\/nl\/kl-divergentie-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Thuis","item":"https:\/\/statorials.org\/nl\/"},{"@type":"ListItem","position":2,"name":"Hoe kl-divergentie in python te berekenen (met voorbeeld)"}]},{"@type":"WebSite","@id":"https:\/\/statorials.org\/nl\/#website","url":"https:\/\/statorials.org\/nl\/","name":"Statorials","description":"Uw gids voor statistische competentie","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/statorials.org\/nl\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"de"},{"@type":"Person","@id":"https:\/\/statorials.org\/nl\/#\/schema\/person\/d4b8842173cca1bb62cdec41860e4219","name":"Dr.benjamin anderson","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/statorials.org\/nl\/#\/schema\/person\/image\/","url":"http:\/\/statorials.org\/nl\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg","contentUrl":"http:\/\/statorials.org\/nl\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg","caption":"Dr.benjamin anderson"},"description":"Ik ben Benjamin, een gepensioneerde hoogleraar statistiek die nu een toegewijde Statorials-lesgever is. Ik heb uitgebreide ervaring en expertise op het gebied van statistiek en ik ben vastbesloten om mijn kennis te delen met studenten via Statorials. Lees verder","sameAs":["http:\/\/statorials.org\/nl"]}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"_links":{"self":[{"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/posts\/2497","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/comments?post=2497"}],"version-history":[{"count":0,"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/posts\/2497\/revisions"}],"wp:attachment":[{"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/media?parent=2497"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/categories?post=2497"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/tags?post=2497"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}