{"id":831,"date":"2023-07-28T14:53:35","date_gmt":"2023-07-28T14:53:35","guid":{"rendered":"https:\/\/statorials.org\/nl\/mahalanobis-afgelegen-python\/"},"modified":"2023-07-28T14:53:35","modified_gmt":"2023-07-28T14:53:35","slug":"mahalanobis-afgelegen-python","status":"publish","type":"post","link":"https:\/\/statorials.org\/nl\/mahalanobis-afgelegen-python\/","title":{"rendered":"Hoe mahalanobis-afstand in python te berekenen"},"content":{"rendered":"<p><\/p>\n<hr>\n<p><span style=\"color: #000000;\">De <strong>Mahalanobis-afstand<\/strong> is de afstand tussen twee punten in een multivariate ruimte. Het wordt vaak gebruikt om uitschieters te detecteren in statistische analyses waarbij meerdere variabelen betrokken zijn.<\/span><\/p>\n<p> <span style=\"color: #000000;\">In deze tutorial wordt uitgelegd hoe u de Mahalanobis-afstand in Python kunt berekenen.<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Voorbeeld: Mahalanobis-afstand in Python<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Gebruik de volgende stappen om de Mahalanobis-afstand voor elke waarneming in een dataset in Python te berekenen.<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>Stap 1: Maak de gegevensset.<\/strong><\/span><\/p>\n<p> <span style=\"color: #000000;\">Eerst gaan we een dataset maken die de examenscores van 20 studenten weergeeft, samen met het aantal uren dat ze hebben gestudeerd, het aantal oefenexamens dat ze hebben afgelegd en hun huidige cijfer voor de cursus:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #107d3f;\">import<\/span> numpy <span style=\"color: #107d3f;\">as<\/span> np\n<span style=\"color: #107d3f;\">import<\/span> pandas <span style=\"color: #107d3f;\">as<\/span> pd<span style=\"color: #107d3f;\">\nimport<\/span> scipy <span style=\"color: #107d3f;\">as<\/span> stats\n\ndata = {'score': [91, 93, 72, 87, 86, 73, 68, 87, 78, 99, 95, 76, 84, 96, 76, 80, 83, 84, 73, 74],\n        'hours': [16, 6, 3, 1, 2, 3, 2, 5, 2, 5, 2, 3, 4, 3, 3, 3, 4, 3, 4, 4],\n        'prep': [3, 4, 0, 3, 4, 0, 1, 2, 1, 2, 3, 3, 3, 2, 2, 2, 3, 3, 2, 2],\n        'grade': [70, 88, 80, 83, 88, 84, 78, 94, 90, 93, 89, 82, 95, 94, 81, 93, 93, 90, 89, 89]\n        }\n\ndf = pd.DataFrame(data,columns=['score', 'hours', 'prep','grade'])\ndf.head()\n\n score hours prep grade\n0 91 16 3 70\n1 93 6 4 88\n2 72 3 0 80\n3 87 1 3 83\n4 86 2 4 88\n<\/strong><\/pre>\n<p> <span style=\"color: #000000;\"><strong>Stap 2: Bereken de Mahalanobis-afstand voor elke waarneming.<\/strong><\/span><\/p>\n<p> <span style=\"color: #000000;\">Vervolgens zullen we een korte functie schrijven om de Mahalanobis-afstand te berekenen.<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #107d3f;\"><span style=\"color: #008080;\">#create function to calculate Mahalanobis distance<\/span>\ndef<\/span> mahalanobis(x= <span style=\"color: #107d3f;\">None<\/span> , data= <span style=\"color: #107d3f;\">None<\/span> , cov= <span style=\"color: #107d3f;\">None<\/span> ):\n\n    x_mu = x - np.mean(data)\n    if not cov:\n        cov = np.cov(data.values.T)\n    inv_covmat = np.linalg.inv(cov)\n    left = np.dot(x_mu, inv_covmat)\n    mahal = np.dot(left, x_mu.T)\n    return mahal.diagonal()\n\n<span style=\"color: #107d3f;\"><span style=\"color: #008080;\">#create new column in dataframe that contains Mahalanobis distance for each row<\/span><\/span>\ndf['mahalanobis'] = mahalanobis(x=df, data=df[['score', 'hours', 'prep', 'grade']])\n\n<span style=\"color: #008080;\">#display first five rows of dataframe\n<\/span>df.head()\n\n score hours prep grade mahalanobis\n0 91 16 3 70 16.501963\n1 93 6 4 88 2.639286\n2 72 3 0 80 4.850797\n3 87 1 3 83 5.201261\n4 86 2 4 88 3.828734\n<\/strong><\/pre>\n<p> <span style=\"color: #000000;\"><strong>Stap 3: Bereken de p-waarde voor elke Mahalanobis-afstand.<\/strong><\/span><\/p>\n<p> <span style=\"color: #000000;\">We kunnen zien dat sommige Mahalanobis-afstanden veel groter zijn dan andere. Om te bepalen of een van de afstanden statistisch significant is, moeten we hun p-waarden berekenen.<\/span><\/p>\n<p> <span style=\"color: #000000;\">De p-waarde voor elke afstand wordt berekend als de p-waarde die overeenkomt met de chi-kwadraatstatistiek van de Mahalanobis-afstand met k-1 vrijheidsgraden, waarbij k = aantal variabelen. In dit geval gebruiken we dus vrijheidsgraden van 4-1 = 3.<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #107d3f;\">from<\/span> scipy.stats <span style=\"color: #107d3f;\">import<\/span> chi2\n\n<span style=\"color: #008080;\">#calculate p-value for each mahalanobis distance<\/span> \ndf['p'] = 1 - chi2.cdf(df['mahalanobis'], 3)\n\n<span style=\"color: #008080;\">#display p-values for first five rows in dataframe<\/span>\ndf.head()\n\n score hours prep grade mahalanobis p\n0 91 16 3 70 16.501963 0.000895\n1 93 6 4 88 2.639286 0.450644\n2 72 3 0 80 4.850797 0.183054\n3 87 1 3 83 5.201261 0.157639\n4 86 2 4 88 3.828734 0.280562\n<\/strong><\/pre>\n<p> <span style=\"color: #000000;\">Over het algemeen wordt een p-waarde <strong>kleiner dan 0,001<\/strong> als een uitbijter beschouwd.<\/span> <span style=\"color: #000000;\">We kunnen zien dat de eerste waarneming een uitbijter in de dataset is, omdat deze een p-waarde van minder dan 0,001 heeft.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Afhankelijk van de context van het probleem kunt u besluiten deze waarneming uit de dataset te verwijderen, omdat deze een uitschieter is en de analyseresultaten zou kunnen be\u00efnvloeden.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>De Mahalanobis-afstand is de afstand tussen twee punten in een multivariate ruimte. Het wordt vaak gebruikt om uitschieters te detecteren in statistische analyses waarbij meerdere variabelen betrokken zijn. In deze tutorial wordt uitgelegd hoe u de Mahalanobis-afstand in Python kunt berekenen. Voorbeeld: Mahalanobis-afstand in Python Gebruik de volgende stappen om de Mahalanobis-afstand voor elke waarneming [&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-831","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 de Mahalanobis-afstand te berekenen in Python \u2013 Statorials<\/title>\n<meta name=\"description\" content=\"Een eenvoudige uitleg over het berekenen van de Mahalanobis-afstand in Python.\" \/>\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\/mahalanobis-afgelegen-python\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Hoe de Mahalanobis-afstand te berekenen in Python \u2013 Statorials\" \/>\n<meta property=\"og:description\" content=\"Een eenvoudige uitleg over het berekenen van de Mahalanobis-afstand in Python.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/statorials.org\/nl\/mahalanobis-afgelegen-python\/\" \/>\n<meta property=\"og:site_name\" content=\"Statorials\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-28T14:53:35+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\/mahalanobis-afgelegen-python\/\",\"url\":\"https:\/\/statorials.org\/nl\/mahalanobis-afgelegen-python\/\",\"name\":\"Hoe de Mahalanobis-afstand te berekenen in Python \u2013 Statorials\",\"isPartOf\":{\"@id\":\"https:\/\/statorials.org\/nl\/#website\"},\"datePublished\":\"2023-07-28T14:53:35+00:00\",\"dateModified\":\"2023-07-28T14:53:35+00:00\",\"author\":{\"@id\":\"https:\/\/statorials.org\/nl\/#\/schema\/person\/d4b8842173cca1bb62cdec41860e4219\"},\"description\":\"Een eenvoudige uitleg over het berekenen van de Mahalanobis-afstand in Python.\",\"breadcrumb\":{\"@id\":\"https:\/\/statorials.org\/nl\/mahalanobis-afgelegen-python\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/statorials.org\/nl\/mahalanobis-afgelegen-python\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/statorials.org\/nl\/mahalanobis-afgelegen-python\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Thuis\",\"item\":\"https:\/\/statorials.org\/nl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Hoe mahalanobis-afstand in python te berekenen\"}]},{\"@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 de Mahalanobis-afstand te berekenen in Python \u2013 Statorials","description":"Een eenvoudige uitleg over het berekenen van de Mahalanobis-afstand in Python.","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\/mahalanobis-afgelegen-python\/","og_locale":"de_DE","og_type":"article","og_title":"Hoe de Mahalanobis-afstand te berekenen in Python \u2013 Statorials","og_description":"Een eenvoudige uitleg over het berekenen van de Mahalanobis-afstand in Python.","og_url":"https:\/\/statorials.org\/nl\/mahalanobis-afgelegen-python\/","og_site_name":"Statorials","article_published_time":"2023-07-28T14:53:35+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\/mahalanobis-afgelegen-python\/","url":"https:\/\/statorials.org\/nl\/mahalanobis-afgelegen-python\/","name":"Hoe de Mahalanobis-afstand te berekenen in Python \u2013 Statorials","isPartOf":{"@id":"https:\/\/statorials.org\/nl\/#website"},"datePublished":"2023-07-28T14:53:35+00:00","dateModified":"2023-07-28T14:53:35+00:00","author":{"@id":"https:\/\/statorials.org\/nl\/#\/schema\/person\/d4b8842173cca1bb62cdec41860e4219"},"description":"Een eenvoudige uitleg over het berekenen van de Mahalanobis-afstand in Python.","breadcrumb":{"@id":"https:\/\/statorials.org\/nl\/mahalanobis-afgelegen-python\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/statorials.org\/nl\/mahalanobis-afgelegen-python\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/statorials.org\/nl\/mahalanobis-afgelegen-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Thuis","item":"https:\/\/statorials.org\/nl\/"},{"@type":"ListItem","position":2,"name":"Hoe mahalanobis-afstand in python te berekenen"}]},{"@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\/831","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=831"}],"version-history":[{"count":0,"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/posts\/831\/revisions"}],"wp:attachment":[{"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/media?parent=831"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/categories?post=831"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/tags?post=831"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}