{"id":1326,"date":"2023-07-26T21:04:15","date_gmt":"2023-07-26T21:04:15","guid":{"rendered":"https:\/\/statorials.org\/it\/regressione-quantile-in-python\/"},"modified":"2023-07-26T21:04:15","modified_gmt":"2023-07-26T21:04:15","slug":"regressione-quantile-in-python","status":"publish","type":"post","link":"https:\/\/statorials.org\/it\/regressione-quantile-in-python\/","title":{"rendered":"Come eseguire la regressione quantile in python"},"content":{"rendered":"<p><\/p>\n<hr>\n<p><span style=\"color: #000000;\">La regressione lineare \u00e8 un metodo che possiamo utilizzare per comprendere la relazione tra una o pi\u00f9 variabili predittive e una <a href=\"https:\/\/statorials.org\/it\/variabili-risposte-esplicative\/\" target=\"_blank\" rel=\"noopener\">variabile di risposta<\/a> .<\/span><\/p>\n<p> <span style=\"color: #000000;\">In genere, quando eseguiamo una regressione lineare, vogliamo stimare il valore medio della variabile di risposta.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Tuttavia, potremmo invece utilizzare un metodo noto come <strong>regressione quantilica<\/strong> per stimare <em>qualsiasi<\/em> valore quantile o percentile del valore di risposta, come il 70\u00b0 percentile, il 90\u00b0 percentile, il 98\u00b0 percentile, ecc.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Questo tutorial fornisce un esempio passo passo di come utilizzare questa funzione per eseguire la regressione quantile in Python.<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Passaggio 1: caricare i pacchetti necessari<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Innanzitutto, caricheremo i pacchetti e le funzioni necessari:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008000;\">import<\/span> numpy <span style=\"color: #008000;\">as<\/span> np\n<span style=\"color: #008000;\">import<\/span> pandas <span style=\"color: #008000;\">as<\/span> pd\n<span style=\"color: #008000;\">import<\/span> statsmodels. <span style=\"color: #3366ff;\">api<\/span> <span style=\"color: #008000;\">as<\/span> sm\n<span style=\"color: #008000;\">import<\/span> statsmodels. <span style=\"color: #3366ff;\">formula<\/span> . <span style=\"color: #3366ff;\">api<\/span> <span style=\"color: #008000;\">as<\/span> smf\n<span style=\"color: #008000;\">import<\/span> matplotlib. <span style=\"color: #3366ff;\">pyplot<\/span> <span style=\"color: #008000;\">as<\/span> plt\n<\/strong><\/pre>\n<h3> <span style=\"color: #000000;\"><strong>Passaggio 2: creare i dati<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Per questo esempio, creeremo un set di dati contenente le ore studiate e i risultati degli esami ottenuti per 100 studenti di un&#8217;universit\u00e0:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#make this example reproducible\n<\/span>n.p. <span style=\"color: #3366ff;\">random<\/span> . <span style=\"color: #3366ff;\">seeds<\/span> (0)\n\n<span style=\"color: #008080;\">#create dataset\n<\/span>obs = 100\n\nhours = np. <span style=\"color: #3366ff;\">random<\/span> . <span style=\"color: #3366ff;\">uniform<\/span> (1, 10, obs)\nscore = 60 + 2*hours + np. <span style=\"color: #3366ff;\">random<\/span> . <span style=\"color: #3366ff;\">normal<\/span> (loc=0, scale=.45*hours, size=100)\n\ndf = pd. <span style=\"color: #3366ff;\">DataFrame<\/span> ({' <span style=\"color: #008000;\">hours<\/span> ':hours, ' <span style=\"color: #008000;\">score<\/span> ':score})\n\n<span style=\"color: #008080;\">#view first five rows\n<\/span>df. <span style=\"color: #3366ff;\">head<\/span> ()\n\nhours score\n0 5.939322 68.764553\n1 7.436704 77.888040\n2 6.424870 74.196060\n3 5.903949 67.726441\n4 4.812893 72.849046<\/strong><\/pre>\n<h3> <span style=\"color: #000000;\"><strong>Passaggio 3: eseguire la regressione quantilica<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Successivamente, adatteremo un modello di regressione quantile utilizzando le ore studiate come variabile predittiva e i punteggi degli esami come variabile di risposta.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Utilizzeremo il modello per prevedere il 90\u00b0 percentile previsto dei punteggi degli esami in base al numero di ore studiate:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <span style=\"color: #000000;\"><strong><span style=\"color: #008080;\">#fit the model<\/span>\nmodel = smf. <span style=\"color: #3366ff;\">quantreg<\/span> ('score~hours', df). <span style=\"color: #3366ff;\">fit<\/span> (q= <span style=\"color: #008000;\">0.9<\/span> )\n\n<span style=\"color: #008080;\">#view model summary\n<\/span><span style=\"color: #993300;\">print<\/span> ( <span style=\"color: #3366ff;\">model.summary<\/span> ())\n\n                         QuantReg Regression Results                          \n==================================================== ============================\nDept. Variable: Pseudo R-squared score: 0.6057\nModel: QuantReg Bandwidth: 3.822\nMethod: Least Squares Sparsity: 10.85\nDate: Tue, 29 Dec 2020 No. Observations: 100\nTime: 15:41:44 Df Residuals: 98\n                                        Model: 1\n==================================================== ============================\n                 coef std err t P&gt;|t| [0.025 0.975]\n-------------------------------------------------- ----------------------------\nIntercept 59.6104 0.748 79.702 0.000 58.126 61.095\nhours 2.8495 0.128 22.303 0.000 2.596 3.103\n==================================================== ============================<\/strong><\/span><\/pre>\n<p> <span style=\"color: #000000;\">Dal risultato possiamo vedere l\u2019equazione di regressione stimata:<\/span><\/p>\n<p> <span style=\"color: #000000;\">90\u00b0 percentile del punteggio dell&#8217;esame = 59,6104 + 2,8495*(ore)<\/span><\/p>\n<p> <span style=\"color: #000000;\">Ad esempio, il punteggio del 90\u00b0 percentile di tutti gli studenti che studiano 8 ore dovrebbe essere 82,4:<\/span><\/p>\n<p> <span style=\"color: #000000;\">90\u00b0 percentile del punteggio dell&#8217;esame = 59,6104 + 2,8495*(8) = <strong>82,4<\/strong> .<\/span><\/p>\n<p> <span style=\"color: #000000;\">L&#8217;output visualizza inoltre i limiti di confidenza superiore e inferiore per l&#8217;intercetta e i tempi della variabile predittiva.<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Passaggio 4: visualizzare i risultati<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Possiamo anche visualizzare i risultati della regressione creando un grafico a dispersione con l&#8217;equazione di regressione quantilica adattata sovrapposta al grafico:<\/span> <\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <span style=\"color: #000000;\"><strong><span style=\"color: #008080;\">#define figure and axis\n<\/span>fig, ax = plt.subplots(figsize=(8, 6))\n\n<span style=\"color: #008080;\">#get y values\n<\/span>get_y = <span style=\"color: #008000;\">lambda<\/span> a, b: a + b * hours\ny = get_y( <span style=\"color: #3366ff;\">model.params<\/span> [' <span style=\"color: #008000;\">Intercept<\/span> '], <span style=\"color: #3366ff;\">model.params<\/span> [' <span style=\"color: #008000;\">hours<\/span> '])\n\n<span style=\"color: #008080;\">#plot data points with quantile regression equation overlaid\n<\/span>ax. <span style=\"color: #3366ff;\">plot<\/span> (hours, y, color=' <span style=\"color: #008000;\">black<\/span> ')\nax. <span style=\"color: #3366ff;\">scatter<\/span> (hours, score, alpha=.3)\nax. <span style=\"color: #3366ff;\">set_xlabel<\/span> (' <span style=\"color: #008000;\">Hours Studied<\/span> ', fontsize=14)\nax. <span style=\"color: #3366ff;\">set_ylabel<\/span> (' <span style=\"color: #008000;\">Exam Score<\/span> ', fontsize=14)\n<\/strong><\/span><\/pre>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-12957 \" src=\"https:\/\/statorials.org\/wp-content\/uploads\/2023\/08\/quantregpython1.png\" alt=\"Regressione quantilica in Python\" width=\"446\" height=\"335\" srcset=\"\" sizes=\"\"><\/p>\n<p> <span style=\"color: #000000;\">A differenza di una semplice linea di regressione lineare, si noti che questa linea adattata non rappresenta la &#8220;linea di migliore adattamento&#8221; per i dati. Passa invece attraverso il 90\u00b0 percentile stimato a ciascun livello della variabile predittrice.<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Risorse addizionali<\/strong><\/span><\/h3>\n<p> <a href=\"https:\/\/statorials.org\/it\/regressione-lineare-semplice-in-python\/\" target=\"_blank\" rel=\"noopener\">Come eseguire una semplice regressione lineare in Python<\/a><br \/> <a href=\"https:\/\/statorials.org\/it\/python-di-regressione-quadratica\/\" target=\"_blank\" rel=\"noopener\">Come eseguire la regressione quadratica in Python<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>La regressione lineare \u00e8 un metodo che possiamo utilizzare per comprendere la relazione tra una o pi\u00f9 variabili predittive e una variabile di risposta . In genere, quando eseguiamo una regressione lineare, vogliamo stimare il valore medio della variabile di risposta. Tuttavia, potremmo invece utilizzare un metodo noto come regressione quantilica per stimare qualsiasi valore [&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>Come eseguire la regressione quantilica in Python - Statorials<\/title>\n<meta name=\"description\" content=\"Questo tutorial spiega come eseguire la regressione quantile in Python, incluso un esempio passo passo.\" \/>\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\/regressione-quantile-in-python\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Come eseguire la regressione quantilica in Python - Statorials\" \/>\n<meta property=\"og:description\" content=\"Questo tutorial spiega come eseguire la regressione quantile in Python, incluso un esempio passo passo.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/statorials.org\/it\/regressione-quantile-in-python\/\" \/>\n<meta property=\"og:site_name\" content=\"Statorials\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-26T21:04:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/statorials.org\/wp-content\/uploads\/2023\/08\/quantregpython1.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=\"2 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/statorials.org\/it\/regressione-quantile-in-python\/\",\"url\":\"https:\/\/statorials.org\/it\/regressione-quantile-in-python\/\",\"name\":\"Come eseguire la regressione quantilica in Python - Statorials\",\"isPartOf\":{\"@id\":\"https:\/\/statorials.org\/it\/#website\"},\"datePublished\":\"2023-07-26T21:04:15+00:00\",\"dateModified\":\"2023-07-26T21:04:15+00:00\",\"author\":{\"@id\":\"https:\/\/statorials.org\/it\/#\/schema\/person\/0896f191fb9fb019f2cd8623112cb3ae\"},\"description\":\"Questo tutorial spiega come eseguire la regressione quantile in Python, incluso un esempio passo passo.\",\"breadcrumb\":{\"@id\":\"https:\/\/statorials.org\/it\/regressione-quantile-in-python\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/statorials.org\/it\/regressione-quantile-in-python\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/statorials.org\/it\/regressione-quantile-in-python\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Casa\",\"item\":\"https:\/\/statorials.org\/it\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Come eseguire la regressione quantile in python\"}]},{\"@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":"Come eseguire la regressione quantilica in Python - Statorials","description":"Questo tutorial spiega come eseguire la regressione quantile in Python, incluso un esempio passo passo.","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\/regressione-quantile-in-python\/","og_locale":"it_IT","og_type":"article","og_title":"Come eseguire la regressione quantilica in Python - Statorials","og_description":"Questo tutorial spiega come eseguire la regressione quantile in Python, incluso un esempio passo passo.","og_url":"https:\/\/statorials.org\/it\/regressione-quantile-in-python\/","og_site_name":"Statorials","article_published_time":"2023-07-26T21:04:15+00:00","og_image":[{"url":"https:\/\/statorials.org\/wp-content\/uploads\/2023\/08\/quantregpython1.png"}],"author":"Benjamin anderson","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Benjamin anderson","Est. reading time":"2 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/statorials.org\/it\/regressione-quantile-in-python\/","url":"https:\/\/statorials.org\/it\/regressione-quantile-in-python\/","name":"Come eseguire la regressione quantilica in Python - Statorials","isPartOf":{"@id":"https:\/\/statorials.org\/it\/#website"},"datePublished":"2023-07-26T21:04:15+00:00","dateModified":"2023-07-26T21:04:15+00:00","author":{"@id":"https:\/\/statorials.org\/it\/#\/schema\/person\/0896f191fb9fb019f2cd8623112cb3ae"},"description":"Questo tutorial spiega come eseguire la regressione quantile in Python, incluso un esempio passo passo.","breadcrumb":{"@id":"https:\/\/statorials.org\/it\/regressione-quantile-in-python\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/statorials.org\/it\/regressione-quantile-in-python\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/statorials.org\/it\/regressione-quantile-in-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Casa","item":"https:\/\/statorials.org\/it\/"},{"@type":"ListItem","position":2,"name":"Come eseguire la regressione quantile in python"}]},{"@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\/1326"}],"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=1326"}],"version-history":[{"count":0,"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/posts\/1326\/revisions"}],"wp:attachment":[{"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/media?parent=1326"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/categories?post=1326"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/statorials.org\/it\/wp-json\/wp\/v2\/tags?post=1326"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}