{"id":1215,"date":"2023-07-27T06:34:51","date_gmt":"2023-07-27T06:34:51","guid":{"rendered":"https:\/\/statorials.org\/it\/spline-di-regressione-adattativa-multivariata-in-r\/"},"modified":"2023-07-27T06:34:51","modified_gmt":"2023-07-27T06:34:51","slug":"spline-di-regressione-adattativa-multivariata-in-r","status":"publish","type":"post","link":"https:\/\/statorials.org\/it\/spline-di-regressione-adattativa-multivariata-in-r\/","title":{"rendered":"Spline di regressione adattiva multivariata in r"},"content":{"rendered":"<p><\/p>\n<hr>\n<p><span style=\"color: #000000;\"><a href=\"https:\/\/statorials.org\/it\/spline-di-regressione-adattativa-multivariata\/\" target=\"_blank\" rel=\"noopener noreferrer\">Le spline di regressione adattativa multivariata<\/a> (MARS) possono essere utilizzate per modellare relazioni non lineari tra un insieme di variabili predittive e una <a href=\"https:\/\/statorials.org\/it\/variabili-risposte-esplicative\/\" target=\"_blank\" rel=\"noopener noreferrer\">variabile di risposta<\/a> .<\/span><\/p>\n<p> <span style=\"color: #000000;\">Questo metodo funziona come segue:<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>1.<\/strong> Dividere un set di dati in <em>k<\/em> parti.<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>2.<\/strong> Adattare un modello di regressione a ciascuna parte.<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>3.<\/strong> Utilizzare la convalida incrociata k-fold per scegliere un valore per <em>k<\/em> .<\/span><\/p>\n<p> <span style=\"color: #000000;\">Questo tutorial fornisce un esempio passo passo di come adattare un modello MARS a un set di dati in R.<\/span><\/p>\n<h3> <strong>Passaggio 1: caricare i pacchetti necessari<\/strong><\/h3>\n<p> <span style=\"color: #000000;\">Per questo esempio, utilizzeremo il set di dati ISLR <strong>Wage<\/strong> <strong>. <em>&nbsp;<\/em><\/strong> pacchetto, che contiene gli stipendi annuali di 3.000 persone insieme a una variet\u00e0 di variabili predittive come et\u00e0, istruzione, razza e altro.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Prima di adattare un modello MARS ai dati, caricheremo i pacchetti necessari:<\/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>Passaggio 2: visualizzare i dati<\/strong><\/h3>\n<p> <span style=\"color: #000000;\">Successivamente, visualizzeremo le prime sei righe del set di dati con cui stiamo lavorando:<\/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>Passaggio 3: crea e ottimizza il modello MARS<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Successivamente, creeremo il modello MARS per questo set di dati ed eseguiremo <a href=\"https:\/\/statorials.org\/it\/k-piega-convalida-incrociata\/\" target=\"_blank\" rel=\"noopener noreferrer\">la convalida incrociata k-fold<\/a> per determinare quale modello produce il test RMSE (errore quadratico medio) pi\u00f9 basso.<\/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;\">Dai risultati, possiamo vedere che il modello che ha prodotto il test MSE pi\u00f9 basso era un modello con solo effetti del primo ordine (cio\u00e8 senza termini di interazione) e 12 termini. Questo modello ha prodotto un errore quadratico medio (RMSE) di <strong>33,8164<\/strong> .<\/span><\/p>\n<p> <em><span style=\"color: #000000;\"><strong>Nota:<\/strong> abbiamo utilizzato il metodo = &#8220;terra&#8221; per specificare un modello MARTE. Puoi trovare la documentazione per questo metodo <a href=\"https:\/\/rdrr.io\/cran\/earth\/\" target=\"_blank\" rel=\"noopener noreferrer\">qui<\/a> .<\/span><\/em><\/p>\n<p> <span style=\"color: #000000;\">Possiamo anche creare un grafico per visualizzare il test RMSE in base al grado e al numero di termini:<\/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=\"Modello MARTE in R\" width=\"431\" height=\"439\" srcset=\"\" sizes=\"\"><\/p>\n<p> <span style=\"color: #000000;\">In pratica, adatteremmo un modello MARS con diversi altri tipi di modelli come:<\/span><\/p>\n<ul>\n<li> <a href=\"https:\/\/statorials.org\/it\/regressione-lineare-multipla-r\/\" target=\"_blank\" rel=\"noopener noreferrer\">Regressione lineare multipla<\/a><\/li>\n<li> <a href=\"https:\/\/statorials.org\/it\/regressione-polinomiale-r\/\" target=\"_blank\" rel=\"noopener noreferrer\">Regressione polinomiale<\/a><\/li>\n<li> <a href=\"https:\/\/statorials.org\/it\/regressione-della-cresta-in-r\/\" target=\"_blank\" rel=\"noopener noreferrer\">Regressione di picco<\/a><\/li>\n<li> <a href=\"https:\/\/statorials.org\/it\/regressione-al-lazo-in-r\/\" target=\"_blank\" rel=\"noopener noreferrer\">Regressione al lazo<\/a><\/li>\n<li> <a href=\"https:\/\/statorials.org\/it\/regressione-delle-componenti-principali-in-r\/\" target=\"_blank\" rel=\"noopener noreferrer\">Regressione delle componenti principali<\/a><\/li>\n<li> <a href=\"https:\/\/statorials.org\/it\/minimi-quadrati-parziali-in-r\/\" target=\"_blank\" rel=\"noopener noreferrer\">Minimi quadrati parziali<\/a><\/li>\n<\/ul>\n<p> <span style=\"color: #000000;\">Confronteremo quindi ciascun modello per determinare quale porta all&#8217;errore di test pi\u00f9 basso e sceglieremo quel modello come modello ottimale da utilizzare.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Il codice R completo utilizzato in questo esempio pu\u00f2 essere trovato <a href=\"https:\/\/github.com\/Statorials\/R-Guides\/blob\/main\/multivariate_adaptive_regression_splines.R\" target=\"_blank\" rel=\"noopener noreferrer\">qui<\/a> .<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Le spline di regressione adattativa multivariata (MARS) possono essere utilizzate per modellare relazioni non lineari tra un insieme di variabili predittive e una variabile di risposta . Questo metodo funziona come segue: 1. Dividere un set di dati in k parti. 2. Adattare un modello di regressione a ciascuna parte. 3. Utilizzare la convalida incrociata [&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>Spline di regressione adattativa multivariata in R - Statorials<\/title>\n<meta name=\"description\" content=\"Questo tutorial spiega come adattare spline di regressione adattiva multivariata a un set di dati in R, con un esempio.\" \/>\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\/it\/spline-di-regressione-adattativa-multivariata-in-r\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Spline di regressione adattativa multivariata in R - Statorials\" \/>\n<meta property=\"og:description\" content=\"Questo tutorial spiega come adattare spline di regressione adattiva multivariata a un set di dati in R, con un esempio.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/statorials.org\/it\/spline-di-regressione-adattativa-multivariata-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=\"Benjamin anderson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Benjamin anderson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/statorials.org\/it\/spline-di-regressione-adattativa-multivariata-in-r\/\",\"url\":\"https:\/\/statorials.org\/it\/spline-di-regressione-adattativa-multivariata-in-r\/\",\"name\":\"Spline di regressione adattativa multivariata in R - Statorials\",\"isPartOf\":{\"@id\":\"https:\/\/statorials.org\/it\/#website\"},\"datePublished\":\"2023-07-27T06:34:51+00:00\",\"dateModified\":\"2023-07-27T06:34:51+00:00\",\"author\":{\"@id\":\"https:\/\/statorials.org\/it\/#\/schema\/person\/0896f191fb9fb019f2cd8623112cb3ae\"},\"description\":\"Questo tutorial spiega come adattare spline di regressione adattiva multivariata a un set di dati in R, con un esempio.\",\"breadcrumb\":{\"@id\":\"https:\/\/statorials.org\/it\/spline-di-regressione-adattativa-multivariata-in-r\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/statorials.org\/it\/spline-di-regressione-adattativa-multivariata-in-r\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/statorials.org\/it\/spline-di-regressione-adattativa-multivariata-in-r\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Casa\",\"item\":\"https:\/\/statorials.org\/it\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Spline di regressione adattiva multivariata in r\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/statorials.org\/it\/#website\",\"url\":\"https:\/\/statorials.org\/it\/\",\"name\":\"Statorials\",\"description\":\"La tua guida all&#039;alfabetizzazione statistica!\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/statorials.org\/it\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/statorials.org\/it\/#\/schema\/person\/0896f191fb9fb019f2cd8623112cb3ae\",\"name\":\"Benjamin anderson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/statorials.org\/it\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/statorials.org\/it\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg\",\"contentUrl\":\"https:\/\/statorials.org\/it\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg\",\"caption\":\"Benjamin anderson\"},\"description\":\"Ciao, sono Benjamin, un professore di statistica in pensione diventato insegnante dedicato di Statorials. Con una vasta esperienza e competenza nel campo della statistica, sono ansioso di condividere le mie conoscenze per potenziare gli studenti attraverso Statorials. Scopri di pi\u00f9\",\"sameAs\":[\"https:\/\/statorials.org\/it\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Spline di regressione adattativa multivariata in R - Statorials","description":"Questo tutorial spiega come adattare spline di regressione adattiva multivariata a un set di dati in R, con un esempio.","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\/it\/spline-di-regressione-adattativa-multivariata-in-r\/","og_locale":"it_IT","og_type":"article","og_title":"Spline di regressione adattativa multivariata in R - Statorials","og_description":"Questo tutorial spiega come adattare spline di regressione adattiva multivariata a un set di dati in R, con un esempio.","og_url":"https:\/\/statorials.org\/it\/spline-di-regressione-adattativa-multivariata-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":"Benjamin anderson","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Benjamin anderson","Est. reading time":"3 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/statorials.org\/it\/spline-di-regressione-adattativa-multivariata-in-r\/","url":"https:\/\/statorials.org\/it\/spline-di-regressione-adattativa-multivariata-in-r\/","name":"Spline di regressione adattativa multivariata in R - Statorials","isPartOf":{"@id":"https:\/\/statorials.org\/it\/#website"},"datePublished":"2023-07-27T06:34:51+00:00","dateModified":"2023-07-27T06:34:51+00:00","author":{"@id":"https:\/\/statorials.org\/it\/#\/schema\/person\/0896f191fb9fb019f2cd8623112cb3ae"},"description":"Questo tutorial spiega come adattare spline di regressione adattiva multivariata a un set di dati in R, con un esempio.","breadcrumb":{"@id":"https:\/\/statorials.org\/it\/spline-di-regressione-adattativa-multivariata-in-r\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/statorials.org\/it\/spline-di-regressione-adattativa-multivariata-in-r\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/statorials.org\/it\/spline-di-regressione-adattativa-multivariata-in-r\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Casa","item":"https:\/\/statorials.org\/it\/"},{"@type":"ListItem","position":2,"name":"Spline di regressione adattiva multivariata in r"}]},{"@type":"WebSite","@id":"https:\/\/statorials.org\/it\/#website","url":"https:\/\/statorials.org\/it\/","name":"Statorials","description":"La tua guida all&#039;alfabetizzazione statistica!","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/statorials.org\/it\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"it-IT"},{"@type":"Person","@id":"https:\/\/statorials.org\/it\/#\/schema\/person\/0896f191fb9fb019f2cd8623112cb3ae","name":"Benjamin anderson","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/statorials.org\/it\/#\/schema\/person\/image\/","url":"https:\/\/statorials.org\/it\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg","contentUrl":"https:\/\/statorials.org\/it\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg","caption":"Benjamin anderson"},"description":"Ciao, sono Benjamin, un professore di statistica in pensione diventato insegnante dedicato di Statorials. Con una vasta esperienza e competenza nel campo della statistica, sono ansioso di condividere le mie conoscenze per potenziare gli studenti attraverso Statorials. Scopri di pi\u00f9","sameAs":["https:\/\/statorials.org\/it"]}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"_links":{"self":[{"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/posts\/1215"}],"collection":[{"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/comments?post=1215"}],"version-history":[{"count":0,"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/posts\/1215\/revisions"}],"wp:attachment":[{"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/media?parent=1215"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/categories?post=1215"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/tags?post=1215"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}