{"id":1213,"date":"2023-07-27T06:34:51","date_gmt":"2023-07-27T06:34:51","guid":{"rendered":"https:\/\/statorials.org\/de\/multivariate-adaptive-regressionssplines-in-r\/"},"modified":"2023-07-27T06:34:51","modified_gmt":"2023-07-27T06:34:51","slug":"multivariate-adaptive-regressionssplines-in-r","status":"publish","type":"post","link":"https:\/\/statorials.org\/de\/multivariate-adaptive-regressionssplines-in-r\/","title":{"rendered":"Multivariate adaptive regressions-splines in r"},"content":{"rendered":"<p><\/p>\n<hr>\n<p><span style=\"color: #000000;\"><a href=\"https:\/\/statorials.org\/de\/multivariate-adaptive-regressionssplines\/\" target=\"_blank\" rel=\"noopener noreferrer\">Multivariate adaptive Regressionssplines<\/a> (MARS) k\u00f6nnen verwendet werden, um nichtlineare Beziehungen zwischen einer Reihe von Pr\u00e4diktorvariablen und einer <a href=\"https:\/\/statorials.org\/de\/variablen-erklarende-antworten\/\" target=\"_blank\" rel=\"noopener noreferrer\">Antwortvariablen<\/a> zu modellieren.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Diese Methode funktioniert wie folgt:<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>1.<\/strong> Teilen Sie einen Datensatz in <em>k<\/em> Teile.<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>2.<\/strong> Passen Sie jedem Teil ein Regressionsmodell an.<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>3.<\/strong> Verwenden Sie die k-fache Kreuzvalidierung, um einen Wert f\u00fcr <em>k<\/em> auszuw\u00e4hlen.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Dieses Tutorial bietet ein schrittweises Beispiel f\u00fcr die Anpassung eines MARS-Modells an einen Datensatz in R.<\/span><\/p>\n<h3> <strong>Schritt 1: Laden Sie die erforderlichen Pakete<\/strong><\/h3>\n<p> <span style=\"color: #000000;\">F\u00fcr dieses Beispiel verwenden wir den ISLR- <strong>Lohndatensatz<\/strong> <strong>. <em>&nbsp;<\/em><\/strong> Paket, das die Jahresgeh\u00e4lter von 3.000 Personen zusammen mit einer Vielzahl von Pr\u00e4diktorvariablen wie Alter, Bildung, Rasse und mehr enth\u00e4lt.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Bevor wir ein MARS-Modell an die Daten anpassen, laden wir die erforderlichen Pakete:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #993300;\">library<\/span> (ISLR) <span style=\"color: #008080;\">#contains Wage dataset<\/span>\n<span style=\"color: #993300;\">library<\/span> (dplyr) <span style=\"color: #008080;\">#data wrangling<\/span>\n<span style=\"color: #993300;\">library<\/span> (ggplot2) <span style=\"color: #008080;\">#plotting<\/span>\n<span style=\"color: #993300;\">library<\/span> (earth) <span style=\"color: #008080;\">#fitting MARS models<\/span>\n<span style=\"color: #993300;\">library<\/span> (caret) <span style=\"color: #008080;\">#tuning model parameters<\/span>\n<\/strong><\/pre>\n<h3> <strong>Schritt 2: Daten anzeigen<\/strong><\/h3>\n<p> <span style=\"color: #000000;\">Als N\u00e4chstes zeigen wir die ersten sechs Zeilen des Datensatzes an, mit dem wir arbeiten:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #000000;\"><span style=\"color: #008080;\">#view first six rows of data<\/span>\nhead<\/span> (Wage)\n\n       year age maritl race education region\n231655 2006 18 1. Never Married 1. White 1. &lt; HS Grad 2. Middle Atlantic\n86582 2004 24 1. Never Married 1. White 4. College Grad 2. Middle Atlantic\n161300 2003 45 2. Married 1. White 3. Some College 2. Middle Atlantic\n155159 2003 43 2. Married 3. Asian 4. College Grad 2. Middle Atlantic\n11443 2005 50 4. Divorced 1. White 2. HS Grad 2. Middle Atlantic\n376662 2008 54 2. Married 1. White 4. College Grad 2. Middle Atlantic\n             jobclass health health_ins logwage wage\n231655 1. Industrial 1. &lt;=Good 2. No 4.318063 75.04315\n86582 2. Information 2. &gt;=Very Good 2. No 4.255273 70.47602\n161300 1. Industrial 1. &lt;=Good 1. Yes 4.875061 130.98218\n155159 2. Information 2. &gt;=Very Good 1. Yes 5.041393 154.68529\n11443 2. Information 1. &lt;=Good 1. Yes 4.318063 75.04315\n376662 2. Information 2. &gt;=Very Good 1. Yes 4.845098 127.11574\n<\/strong><\/pre>\n<h3> <span style=\"color: #000000;\"><strong>Schritt 3: Erstellen und optimieren Sie das MARS-Modell<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Als N\u00e4chstes erstellen wir das MARS-Modell f\u00fcr diesen Datensatz und f\u00fchren <a href=\"https:\/\/statorials.org\/de\/k-fache-kreuzvalidierung\/\" target=\"_blank\" rel=\"noopener noreferrer\">eine k-fache Kreuzvalidierung<\/a> durch, um zu bestimmen, welches Modell den niedrigsten Test-RMSE (mittlerer quadratischer Fehler) erzeugt.<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #000000;\"><span style=\"color: #008080;\">#create a tuning grid\n<\/span>hyper_grid &lt;- expand. <span style=\"color: #3366ff;\">grid<\/span> (degree = 1:3,\n                          nprune = <span style=\"color: #3366ff;\">seq<\/span> (2, 50, length.out = 10) <span style=\"color: #3366ff;\">%&gt;%<\/span>\n<span style=\"color: #3366ff;\">floor<\/span> ())\n\n<span style=\"color: #008080;\">#make this example reproducible\n<\/span>set.seed(1)\n\n<span style=\"color: #008080;\">#fit MARS model using k-fold cross-validation\n<\/span>cv_mars &lt;- train(\n  x = subset(Wage, select = -c(wage, logwage)),\n  y = Wage$wage,\n  method = \" <span style=\"color: #008000;\">earth<\/span> \",\n  metric = \" <span style=\"color: #008000;\">RMSE<\/span> \",\n  trControl = trainControl(method = \" <span style=\"color: #008000;\">cv<\/span> \", number = 10),\n  tuneGrid = hyper_grid)\n\n<span style=\"color: #008080;\">#display model with lowest test RMSE<\/span>\ncv_mars$results <span style=\"color: #3366ff;\">%&gt;%<\/span>\n  <span style=\"color: #3366ff;\">filter<\/span> (nprune==cv_mars$bestTune$nprune, degree =cv_mars$bestTune$degree)    \ndegree nprune RMSE Rsquared MAE RMSESD RsquaredSD MAESD\t\t\n1 12 33.8164 0.3431804 22.97108 2.240394 0.03064269 1.4554\n<\/span><\/strong><\/pre>\n<p> <span style=\"color: #000000;\">Aus den Ergebnissen k\u00f6nnen wir ersehen, dass das Modell, das den niedrigsten Test-MSE erzeugte, ein Modell mit ausschlie\u00dflich Effekten erster Ordnung (d. h. ohne Interaktionsterme) und 12 Termen war. Dieses Modell ergab einen quadratischen Mittelfehler (RMSE) von <strong>33,8164<\/strong> .<\/span><\/p>\n<p> <em><span style=\"color: #000000;\"><strong>Hinweis:<\/strong> Wir haben method=\u201cearth\u201c verwendet, um ein MARS-Modell anzugeben. Die Dokumentation zu dieser Methode finden Sie <a href=\"https:\/\/rdrr.io\/cran\/earth\/\" target=\"_blank\" rel=\"noopener noreferrer\">hier<\/a> .<\/span><\/em><\/p>\n<p> <span style=\"color: #000000;\">Wir k\u00f6nnen auch ein Diagramm erstellen, um den RMSE-Test basierend auf Grad und Anzahl der Begriffe zu visualisieren:<\/span> <\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #000000;\"><span style=\"color: #008080;\">#display test RMSE by terms and degree<\/span>\nggplot(cv_mars)\n<\/span><\/strong><\/pre>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-12023 \" src=\"https:\/\/statorials.org\/wp-content\/uploads\/2023\/08\/mars1.png\" alt=\"MARS-Modell in R\" width=\"431\" height=\"439\" srcset=\"\" sizes=\"\"><\/p>\n<p> <span style=\"color: #000000;\">In der Praxis w\u00fcrden wir ein MARS-Modell mit mehreren anderen Modelltypen anpassen, wie zum Beispiel:<\/span><\/p>\n<ul>\n<li> <a href=\"https:\/\/statorials.org\/de\/multiple-lineare-regression-r\/\" target=\"_blank\" rel=\"noopener noreferrer\">Multiple lineare Regression<\/a><\/li>\n<li> <a href=\"https:\/\/statorials.org\/de\/polynomregression-r\/\" target=\"_blank\" rel=\"noopener noreferrer\">Polynomielle Regression<\/a><\/li>\n<li> <a href=\"https:\/\/statorials.org\/de\/kammregression-in-r\/\" target=\"_blank\" rel=\"noopener noreferrer\">Peak-Regression<\/a><\/li>\n<li> <a href=\"https:\/\/statorials.org\/de\/lasso-regression-in-r\/\" target=\"_blank\" rel=\"noopener noreferrer\">Lasso-Regression<\/a><\/li>\n<li> <a href=\"https:\/\/statorials.org\/de\/hauptkomponentenregression-in-r\/\" target=\"_blank\" rel=\"noopener noreferrer\">Hauptkomponenten-Regression<\/a><\/li>\n<li> <a href=\"https:\/\/statorials.org\/de\/partielle-kleinste-quadrate-in-r\/\" target=\"_blank\" rel=\"noopener noreferrer\">Teilweise kleinste Quadrate<\/a><\/li>\n<\/ul>\n<p> <span style=\"color: #000000;\">Anschlie\u00dfend w\u00fcrden wir jedes Modell vergleichen, um zu bestimmen, welches zum geringsten Testfehler f\u00fchrt, und dieses Modell als das optimale zu verwendende Modell ausw\u00e4hlen.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Den vollst\u00e4ndigen R-Code, der in diesem Beispiel verwendet wird, finden Sie <a href=\"https:\/\/github.com\/Statorials\/R-Guides\/blob\/main\/multivariate_adaptive_regression_splines.R\" target=\"_blank\" rel=\"noopener noreferrer\">hier<\/a> .<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Multivariate adaptive Regressionssplines (MARS) k\u00f6nnen verwendet werden, um nichtlineare Beziehungen zwischen einer Reihe von Pr\u00e4diktorvariablen und einer Antwortvariablen zu modellieren. Diese Methode funktioniert wie folgt: 1. Teilen Sie einen Datensatz in k Teile. 2. Passen Sie jedem Teil ein Regressionsmodell an. 3. Verwenden Sie die k-fache Kreuzvalidierung, um einen Wert f\u00fcr k auszuw\u00e4hlen. Dieses Tutorial [&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":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Multivariate adaptive Regressionssplines in R \u2013 Statorials<\/title>\n<meta name=\"description\" content=\"In diesem Tutorial wird anhand eines Beispiels erl\u00e4utert, wie multivariate adaptive Regressionssplines an einen Datensatz in R angepasst werden.\" \/>\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\/de\/multivariate-adaptive-regressionssplines-in-r\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Multivariate adaptive Regressionssplines in R \u2013 Statorials\" \/>\n<meta property=\"og:description\" content=\"In diesem Tutorial wird anhand eines Beispiels erl\u00e4utert, wie multivariate adaptive Regressionssplines an einen Datensatz in R angepasst werden.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/statorials.org\/de\/multivariate-adaptive-regressionssplines-in-r\/\" \/>\n<meta property=\"og:site_name\" content=\"Statorials\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-27T06:34:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/statorials.org\/wp-content\/uploads\/2023\/08\/mars1.png\" \/>\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=\"3 Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/statorials.org\/de\/multivariate-adaptive-regressionssplines-in-r\/\",\"url\":\"https:\/\/statorials.org\/de\/multivariate-adaptive-regressionssplines-in-r\/\",\"name\":\"Multivariate adaptive Regressionssplines in R \u2013 Statorials\",\"isPartOf\":{\"@id\":\"https:\/\/statorials.org\/de\/#website\"},\"datePublished\":\"2023-07-27T06:34:51+00:00\",\"dateModified\":\"2023-07-27T06:34:51+00:00\",\"author\":{\"@id\":\"https:\/\/statorials.org\/de\/#\/schema\/person\/ec75c4d6365f2708f8a0ad3a42121aa0\"},\"description\":\"In diesem Tutorial wird anhand eines Beispiels erl\u00e4utert, wie multivariate adaptive Regressionssplines an einen Datensatz in R angepasst werden.\",\"breadcrumb\":{\"@id\":\"https:\/\/statorials.org\/de\/multivariate-adaptive-regressionssplines-in-r\/#breadcrumb\"},\"inLanguage\":\"de-DE\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/statorials.org\/de\/multivariate-adaptive-regressionssplines-in-r\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/statorials.org\/de\/multivariate-adaptive-regressionssplines-in-r\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Heim\",\"item\":\"https:\/\/statorials.org\/de\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Multivariate adaptive regressions-splines in r\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/statorials.org\/de\/#website\",\"url\":\"https:\/\/statorials.org\/de\/\",\"name\":\"Statorials\",\"description\":\"Ihr Leitfaden f\u00fcr statistische Kompetenz !\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/statorials.org\/de\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"de-DE\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/statorials.org\/de\/#\/schema\/person\/ec75c4d6365f2708f8a0ad3a42121aa0\",\"name\":\"Dr. Benjamin Anderson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de-DE\",\"@id\":\"https:\/\/statorials.org\/de\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/statorials.org\/de\/wp-content\/uploads\/2023\/11\/Benjamin-Anderson-96x96.jpg\",\"contentUrl\":\"https:\/\/statorials.org\/de\/wp-content\/uploads\/2023\/11\/Benjamin-Anderson-96x96.jpg\",\"caption\":\"Dr. Benjamin Anderson\"},\"description\":\"Hallo, ich bin Benjamin, ein pensionierter Statistikprofessor, der sich zum engagierten Statorials-Lehrer entwickelt hat. Mit umfassender Erfahrung und Fachwissen auf dem Gebiet der Statistik bin ich bestrebt, mein Wissen zu teilen, um Studenten durch Statorials zu bef\u00e4higen. Mehr wissen\",\"sameAs\":[\"https:\/\/statorials.org\/de\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Multivariate adaptive Regressionssplines in R \u2013 Statorials","description":"In diesem Tutorial wird anhand eines Beispiels erl\u00e4utert, wie multivariate adaptive Regressionssplines an einen Datensatz in R angepasst werden.","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\/de\/multivariate-adaptive-regressionssplines-in-r\/","og_locale":"de_DE","og_type":"article","og_title":"Multivariate adaptive Regressionssplines in R \u2013 Statorials","og_description":"In diesem Tutorial wird anhand eines Beispiels erl\u00e4utert, wie multivariate adaptive Regressionssplines an einen Datensatz in R angepasst werden.","og_url":"https:\/\/statorials.org\/de\/multivariate-adaptive-regressionssplines-in-r\/","og_site_name":"Statorials","article_published_time":"2023-07-27T06:34:51+00:00","og_image":[{"url":"https:\/\/statorials.org\/wp-content\/uploads\/2023\/08\/mars1.png"}],"author":"Dr. Benjamin Anderson","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Dr. Benjamin Anderson","Gesch\u00e4tzte Lesezeit":"3 Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/statorials.org\/de\/multivariate-adaptive-regressionssplines-in-r\/","url":"https:\/\/statorials.org\/de\/multivariate-adaptive-regressionssplines-in-r\/","name":"Multivariate adaptive Regressionssplines in R \u2013 Statorials","isPartOf":{"@id":"https:\/\/statorials.org\/de\/#website"},"datePublished":"2023-07-27T06:34:51+00:00","dateModified":"2023-07-27T06:34:51+00:00","author":{"@id":"https:\/\/statorials.org\/de\/#\/schema\/person\/ec75c4d6365f2708f8a0ad3a42121aa0"},"description":"In diesem Tutorial wird anhand eines Beispiels erl\u00e4utert, wie multivariate adaptive Regressionssplines an einen Datensatz in R angepasst werden.","breadcrumb":{"@id":"https:\/\/statorials.org\/de\/multivariate-adaptive-regressionssplines-in-r\/#breadcrumb"},"inLanguage":"de-DE","potentialAction":[{"@type":"ReadAction","target":["https:\/\/statorials.org\/de\/multivariate-adaptive-regressionssplines-in-r\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/statorials.org\/de\/multivariate-adaptive-regressionssplines-in-r\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Heim","item":"https:\/\/statorials.org\/de\/"},{"@type":"ListItem","position":2,"name":"Multivariate adaptive regressions-splines in r"}]},{"@type":"WebSite","@id":"https:\/\/statorials.org\/de\/#website","url":"https:\/\/statorials.org\/de\/","name":"Statorials","description":"Ihr Leitfaden f\u00fcr statistische Kompetenz !","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/statorials.org\/de\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"de-DE"},{"@type":"Person","@id":"https:\/\/statorials.org\/de\/#\/schema\/person\/ec75c4d6365f2708f8a0ad3a42121aa0","name":"Dr. Benjamin Anderson","image":{"@type":"ImageObject","inLanguage":"de-DE","@id":"https:\/\/statorials.org\/de\/#\/schema\/person\/image\/","url":"https:\/\/statorials.org\/de\/wp-content\/uploads\/2023\/11\/Benjamin-Anderson-96x96.jpg","contentUrl":"https:\/\/statorials.org\/de\/wp-content\/uploads\/2023\/11\/Benjamin-Anderson-96x96.jpg","caption":"Dr. Benjamin Anderson"},"description":"Hallo, ich bin Benjamin, ein pensionierter Statistikprofessor, der sich zum engagierten Statorials-Lehrer entwickelt hat. Mit umfassender Erfahrung und Fachwissen auf dem Gebiet der Statistik bin ich bestrebt, mein Wissen zu teilen, um Studenten durch Statorials zu bef\u00e4higen. Mehr wissen","sameAs":["https:\/\/statorials.org\/de"]}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"_links":{"self":[{"href":"https:\/\/statorials.org\/de\/wp-json\/wp\/v2\/posts\/1213"}],"collection":[{"href":"https:\/\/statorials.org\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/statorials.org\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/statorials.org\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/statorials.org\/de\/wp-json\/wp\/v2\/comments?post=1213"}],"version-history":[{"count":0,"href":"https:\/\/statorials.org\/de\/wp-json\/wp\/v2\/posts\/1213\/revisions"}],"wp:attachment":[{"href":"https:\/\/statorials.org\/de\/wp-json\/wp\/v2\/media?parent=1213"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/statorials.org\/de\/wp-json\/wp\/v2\/categories?post=1213"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/statorials.org\/de\/wp-json\/wp\/v2\/tags?post=1213"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}