{"id":1195,"date":"2023-07-27T08:19:55","date_gmt":"2023-07-27T08:19:55","guid":{"rendered":"https:\/\/statorials.org\/id\/regresi-puncak-di-r\/"},"modified":"2023-07-27T08:19:55","modified_gmt":"2023-07-27T08:19:55","slug":"regresi-puncak-di-r","status":"publish","type":"post","link":"https:\/\/statorials.org\/id\/regresi-puncak-di-r\/","title":{"rendered":"Regresi ridge di r (langkah demi langkah)"},"content":{"rendered":"<p><\/p>\n<hr>\n<p><span style=\"color: #000000;\"><a href=\"https:\/\/statorials.org\/id\/regresi-punggungan\/\" target=\"_blank\" rel=\"noopener noreferrer\">Regresi ridge<\/a> adalah metode yang dapat kita gunakan untuk menyesuaikan model regresi ketika terdapat <a href=\"https:\/\/statorials.org\/id\/regresi-multikolinearitas\/\" target=\"_blank\" rel=\"noopener noreferrer\">multikolinearitas<\/a> dalam data.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Singkatnya, regresi kuadrat terkecil berupaya menemukan estimasi koefisien yang meminimalkan jumlah sisa kuadrat (RSS):<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>RSS = \u03a3(y <sub>saya<\/sub> \u2013 \u0177 <sub>saya<\/sub> )2<\/strong><\/span><\/p>\n<p> <span style=\"color: #000000;\">Emas:<\/span><\/p>\n<ul>\n<li> <span style=\"color: #000000;\"><strong>\u03a3<\/strong> : Simbol Yunani yang berarti <em>jumlah<\/em><\/span><\/li>\n<li> <span style=\"color: #000000;\"><strong>y <sub>i<\/sub><\/strong> : nilai respon sebenarnya untuk observasi <sup>ke-i<\/sup><\/span><\/li>\n<li> <span style=\"color: #000000;\"><strong>\u0177 <sub>i<\/sub><\/strong> : Nilai respons yang diprediksi berdasarkan model regresi linier berganda<\/span><\/li>\n<\/ul>\n<p> <span style=\"color: #000000;\">Sebaliknya, regresi ridge berupaya meminimalkan hal-hal berikut:<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>RSS + \u03bb\u03a3\u03b2 <sub>j<\/sub> <sup>2<\/sup><\/strong><\/span><\/p>\n<p> <span style=\"color: #000000;\">dimana <em>j<\/em> beralih dari 1 ke <em>p<\/em> variabel prediktor dan \u03bb \u2265 0.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Suku kedua dalam persamaan ini dikenal sebagai <em>penalti penarikan<\/em> . Dalam regresi ridge, kami memilih nilai \u03bb yang menghasilkan uji MSE (mean square error) serendah mungkin.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Tutorial ini memberikan contoh langkah demi langkah tentang cara melakukan regresi ridge di R.<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Langkah 1: Muat data<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Untuk contoh ini, kita akan menggunakan kumpulan data bawaan R yang disebut <strong>mtcars<\/strong> . Kita akan menggunakan <strong>hp<\/strong> sebagai variabel respon dan variabel berikut sebagai prediktor:<\/span><\/p>\n<ul>\n<li> <span style=\"color: #000000;\">mpg<\/span><\/li>\n<li> <span style=\"color: #000000;\">berat<\/span><\/li>\n<li> <span style=\"color: #000000;\">kotoran<\/span><\/li>\n<li> <span style=\"color: #000000;\">qdetik<\/span><\/li>\n<\/ul>\n<p> <span style=\"color: #000000;\">Untuk melakukan regresi ridge, kita akan menggunakan fungsi dari paket <strong>glmnet<\/strong> . Paket ini mengharuskan <a href=\"https:\/\/statorials.org\/id\/variabel-tanggapan-penjelas\/\" target=\"_blank\" rel=\"noopener noreferrer\">variabel respon<\/a> berupa vektor dan himpunan variabel prediktor berasal dari kelas <strong>data.matrix<\/strong> .<\/span><\/p>\n<p> <span style=\"color: #000000;\">Kode berikut menunjukkan cara mendefinisikan data kita:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <span style=\"color: #000000;\"><strong><span style=\"color: #008080;\">#define response variable<\/span>\ny &lt;- mtcars$hp\n\n<span style=\"color: #008080;\">#define matrix of predictor variables\n<\/span>x &lt;- data.matrix(mtcars[, c('mpg', 'wt', 'drat', 'qsec')])\n<\/strong><\/span><\/pre>\n<h3> <span style=\"color: #000000;\"><strong>Langkah 2: Sesuaikan Model Regresi Ridge<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Selanjutnya, kita akan menggunakan fungsi <strong>glmnet()<\/strong> agar sesuai dengan model regresi Ridge dan menentukan <strong>alpha=0<\/strong> .<\/span><\/p>\n<p> <span style=\"color: #000000;\">Perhatikan bahwa menetapkan alpha sama dengan 1 setara dengan menggunakan regresi Lasso dan menetapkan alpha ke nilai antara 0 dan 1 setara dengan menggunakan jaring elastis.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Perhatikan juga bahwa regresi ridge memerlukan data yang distandarisasi sedemikian rupa sehingga setiap variabel prediktor memiliki rata-rata 0 dan deviasi standar 1.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Untungnya, <strong>glmnet()<\/strong> secara otomatis melakukan standardisasi ini untuk Anda. Jika Anda sudah membakukan variabel, Anda dapat menentukan <strong>standardize=False<\/strong> .<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <span style=\"color: #000000;\"><strong><span style=\"color: #008080;\"><span style=\"color: #000000;\"><span style=\"color: #993300;\">library<\/span> (glmnet)<\/span>\n\n#fit ridge regression model\n<\/span>model &lt;- glmnet(x, y, alpha = <span style=\"color: #008000;\">0<\/span> )\n\n<span style=\"color: #008080;\">#view summary of model\n<\/span>summary(model)\n\n          Length Class Mode   \na0 100 -none- numeric\nbeta 400 dgCMatrix S4     \ndf 100 -none- numeric\ndim 2 -none- numeric\nlambda 100 -none- numeric\ndev.ratio 100 -none- numeric\nnulldev 1 -none- numeric\nnpasses 1 -none- numeric\njerr 1 -none- numeric\noffset 1 -none- logical\ncall 4 -none- call   \nnobs 1 -none- numeric\n<\/strong><\/span><\/pre>\n<h3> <span style=\"color: #000000;\"><strong>Langkah 3: Pilih nilai optimal untuk Lambda<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Selanjutnya kita akan mengidentifikasi nilai lambda yang menghasilkan test mean squared error (MSE) terendah menggunakan <a href=\"https:\/\/statorials.org\/id\/k-lipat-validasi-silang\/\" target=\"_blank\" rel=\"noopener noreferrer\">k-fold cross-validation<\/a> .<\/span><\/p>\n<p> <span style=\"color: #000000;\">Untungnya, <strong>glmnet<\/strong> memiliki fungsi <strong>cv.glmnet()<\/strong> yang secara otomatis melakukan validasi silang k-fold menggunakan k = 10 kali.<\/span> <\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <span style=\"color: #000000;\"><strong><span style=\"color: #008080;\">#perform k-fold cross-validation to find optimal lambda value\n<\/span>cv_model &lt;- cv. <span style=\"color: #3366ff;\">glmnet<\/span> (x, y, alpha = <span style=\"color: #008000;\">0<\/span> )\n\n<span style=\"color: #008080;\">#find optimal lambda value that minimizes test MSE\n<\/span>best_lambda &lt;- cv_model$ <span style=\"color: #3366ff;\">lambda<\/span> . <span style=\"color: #3366ff;\">min<\/span>\nbest_lambda\n\n[1] 10.04567\n\n<span style=\"color: #008080;\">#produce plot of test MSE by lambda value<\/span>\nplot(cv_model) \n<\/strong><\/span><\/pre>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-11860 \" src=\"https:\/\/statorials.org\/wp-content\/uploads\/2023\/08\/faiter1.png\" alt=\"validasi silang untuk regresi ridge di R\" width=\"443\" height=\"426\" srcset=\"\" sizes=\"\"><\/p>\n<p> <span style=\"color: #000000;\">Nilai lambda yang meminimalkan uji MSE ternyata adalah <strong>10.04567<\/strong> .<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Langkah 4: Analisis model akhir<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Terakhir, kita dapat menganalisis model akhir yang dihasilkan dengan nilai lambda optimal.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Kita dapat menggunakan kode berikut untuk mendapatkan estimasi koefisien untuk model ini:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <span style=\"color: #000000;\"><strong><span style=\"color: #008080;\">#find coefficients of best model\n<\/span>best_model &lt;- glmnet(x, y, alpha = <span style=\"color: #008000;\">0<\/span> , lambda = best_lambda)\ncoef(best_model)\n\n5 x 1 sparse Matrix of class \"dgCMatrix\"\n                    s0\n(Intercept) 475.242646\nmpg -3.299732\nwt 19.431238\ndrat -1.222429\nqsec -17.949721<\/strong><\/span><\/pre>\n<p> <span style=\"color: #000000;\">Kami juga dapat membuat plot Trace untuk memvisualisasikan bagaimana estimasi koefisien berubah karena peningkatan lambda:<\/span> <\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <span style=\"color: #000000;\"><strong><span style=\"color: #008080;\">#produce Ridge trace plot<\/span>\nplot(model, xvar = \" <span style=\"color: #008000;\">lambda<\/span> \")<\/strong><\/span> <\/pre>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-11861 \" src=\"https:\/\/statorials.org\/wp-content\/uploads\/2023\/08\/creter2.png\" alt=\"Jejak punggung bukit di R\" width=\"419\" height=\"411\" srcset=\"\" sizes=\"\"><\/p>\n<p> <span style=\"color: #000000;\">Terakhir, kita dapat menghitung <a href=\"https:\/\/statorials.org\/id\/nilai-r-kuadrat-yang-bagus\/\" target=\"_blank\" rel=\"noopener noreferrer\">R-kuadrat model<\/a> pada data pelatihan:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <span style=\"color: #000000;\"><strong><span style=\"color: #008080;\">#use fitted best model to make predictions\n<\/span>y_predicted &lt;- <span style=\"color: #3366ff;\">predict<\/span> (model, s = best_lambda, newx = x)\n\n<span style=\"color: #008080;\">#find OHS and SSE<\/span>\nsst &lt;- <span style=\"color: #3366ff;\">sum<\/span> ((y - <span style=\"color: #3366ff;\">mean<\/span> (y))^2)\nsse &lt;- <span style=\"color: #3366ff;\">sum<\/span> ((y_predicted - y)^2)\n\n<span style=\"color: #008080;\">#find R-Squared\n<\/span>rsq &lt;- 1 - sse\/sst\nrsq\n\n[1] 0.7999513\n<\/strong><\/span><\/pre>\n<p> <span style=\"color: #000000;\">R kuadratnya ternyata <strong>0,7999513<\/strong> . Artinya, model terbaik mampu menjelaskan <strong>79,99%<\/strong> variasi nilai respon data pelatihan.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Anda dapat menemukan kode R lengkap yang digunakan dalam contoh ini <a href=\"https:\/\/github.com\/Statorials\/R-Guides\/blob\/main\/ridge_regression.R\" target=\"_blank\" rel=\"noopener noreferrer\">di sini<\/a> .<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Regresi ridge adalah metode yang dapat kita gunakan untuk menyesuaikan model regresi ketika terdapat multikolinearitas dalam data. Singkatnya, regresi kuadrat terkecil berupaya menemukan estimasi koefisien yang meminimalkan jumlah sisa kuadrat (RSS): RSS = \u03a3(y saya \u2013 \u0177 saya )2 Emas: \u03a3 : Simbol Yunani yang berarti jumlah y i : nilai respon sebenarnya untuk observasi [&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>Regresi Ridge di R (Langkah demi Langkah)<\/title>\n<meta name=\"description\" content=\"Tutorial ini menjelaskan cara melakukan regresi ridge di R, termasuk contoh langkah demi langkah.\" \/>\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\/id\/regresi-puncak-di-r\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Regresi Ridge di R (Langkah demi Langkah)\" \/>\n<meta property=\"og:description\" content=\"Tutorial ini menjelaskan cara melakukan regresi ridge di R, termasuk contoh langkah demi langkah.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/statorials.org\/id\/regresi-puncak-di-r\/\" \/>\n<meta property=\"og:site_name\" content=\"Statorials\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-27T08:19:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/statorials.org\/wp-content\/uploads\/2023\/08\/faiter1.png\" \/>\n<meta name=\"author\" content=\"Benjamin anderson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Ditulis oleh\" \/>\n\t<meta name=\"twitter:data1\" content=\"Benjamin anderson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimasi waktu membaca\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 menit\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/statorials.org\/id\/regresi-puncak-di-r\/\",\"url\":\"https:\/\/statorials.org\/id\/regresi-puncak-di-r\/\",\"name\":\"Regresi Ridge di R (Langkah demi Langkah)\",\"isPartOf\":{\"@id\":\"https:\/\/statorials.org\/id\/#website\"},\"datePublished\":\"2023-07-27T08:19:55+00:00\",\"dateModified\":\"2023-07-27T08:19:55+00:00\",\"author\":{\"@id\":\"https:\/\/statorials.org\/id\/#\/schema\/person\/3d17a1160dd2d052b7c78e502cb9ec81\"},\"description\":\"Tutorial ini menjelaskan cara melakukan regresi ridge di R, termasuk contoh langkah demi langkah.\",\"breadcrumb\":{\"@id\":\"https:\/\/statorials.org\/id\/regresi-puncak-di-r\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/statorials.org\/id\/regresi-puncak-di-r\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/statorials.org\/id\/regresi-puncak-di-r\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/statorials.org\/id\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Regresi ridge di r (langkah demi langkah)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/statorials.org\/id\/#website\",\"url\":\"https:\/\/statorials.org\/id\/\",\"name\":\"Statorials\",\"description\":\"Panduan anda untuk kompetensi statistik!\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/statorials.org\/id\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"id\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/statorials.org\/id\/#\/schema\/person\/3d17a1160dd2d052b7c78e502cb9ec81\",\"name\":\"Benjamin anderson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/statorials.org\/id\/#\/schema\/person\/image\/\",\"url\":\"http:\/\/statorials.org\/id\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg\",\"contentUrl\":\"http:\/\/statorials.org\/id\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg\",\"caption\":\"Benjamin anderson\"},\"description\":\"Halo, saya Benjamin, pensiunan profesor statistika yang menjadi guru Statorial yang berdedikasi. Dengan pengalaman dan keahlian yang luas di bidang statistika, saya ingin berbagi ilmu untuk memberdayakan mahasiswa melalui Statorials. Baca selengkapnya\",\"sameAs\":[\"http:\/\/statorials.org\/id\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Regresi Ridge di R (Langkah demi Langkah)","description":"Tutorial ini menjelaskan cara melakukan regresi ridge di R, termasuk contoh langkah demi langkah.","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\/id\/regresi-puncak-di-r\/","og_locale":"id_ID","og_type":"article","og_title":"Regresi Ridge di R (Langkah demi Langkah)","og_description":"Tutorial ini menjelaskan cara melakukan regresi ridge di R, termasuk contoh langkah demi langkah.","og_url":"https:\/\/statorials.org\/id\/regresi-puncak-di-r\/","og_site_name":"Statorials","article_published_time":"2023-07-27T08:19:55+00:00","og_image":[{"url":"https:\/\/statorials.org\/wp-content\/uploads\/2023\/08\/faiter1.png"}],"author":"Benjamin anderson","twitter_card":"summary_large_image","twitter_misc":{"Ditulis oleh":"Benjamin anderson","Estimasi waktu membaca":"3 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/statorials.org\/id\/regresi-puncak-di-r\/","url":"https:\/\/statorials.org\/id\/regresi-puncak-di-r\/","name":"Regresi Ridge di R (Langkah demi Langkah)","isPartOf":{"@id":"https:\/\/statorials.org\/id\/#website"},"datePublished":"2023-07-27T08:19:55+00:00","dateModified":"2023-07-27T08:19:55+00:00","author":{"@id":"https:\/\/statorials.org\/id\/#\/schema\/person\/3d17a1160dd2d052b7c78e502cb9ec81"},"description":"Tutorial ini menjelaskan cara melakukan regresi ridge di R, termasuk contoh langkah demi langkah.","breadcrumb":{"@id":"https:\/\/statorials.org\/id\/regresi-puncak-di-r\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/statorials.org\/id\/regresi-puncak-di-r\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/statorials.org\/id\/regresi-puncak-di-r\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/statorials.org\/id\/"},{"@type":"ListItem","position":2,"name":"Regresi ridge di r (langkah demi langkah)"}]},{"@type":"WebSite","@id":"https:\/\/statorials.org\/id\/#website","url":"https:\/\/statorials.org\/id\/","name":"Statorials","description":"Panduan anda untuk kompetensi statistik!","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/statorials.org\/id\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"id"},{"@type":"Person","@id":"https:\/\/statorials.org\/id\/#\/schema\/person\/3d17a1160dd2d052b7c78e502cb9ec81","name":"Benjamin anderson","image":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/statorials.org\/id\/#\/schema\/person\/image\/","url":"http:\/\/statorials.org\/id\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg","contentUrl":"http:\/\/statorials.org\/id\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg","caption":"Benjamin anderson"},"description":"Halo, saya Benjamin, pensiunan profesor statistika yang menjadi guru Statorial yang berdedikasi. Dengan pengalaman dan keahlian yang luas di bidang statistika, saya ingin berbagi ilmu untuk memberdayakan mahasiswa melalui Statorials. Baca selengkapnya","sameAs":["http:\/\/statorials.org\/id"]}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"_links":{"self":[{"href":"https:\/\/statorials.org\/id\/wp-json\/wp\/v2\/posts\/1195"}],"collection":[{"href":"https:\/\/statorials.org\/id\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/statorials.org\/id\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/statorials.org\/id\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/statorials.org\/id\/wp-json\/wp\/v2\/comments?post=1195"}],"version-history":[{"count":0,"href":"https:\/\/statorials.org\/id\/wp-json\/wp\/v2\/posts\/1195\/revisions"}],"wp:attachment":[{"href":"https:\/\/statorials.org\/id\/wp-json\/wp\/v2\/media?parent=1195"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/statorials.org\/id\/wp-json\/wp\/v2\/categories?post=1195"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/statorials.org\/id\/wp-json\/wp\/v2\/tags?post=1195"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}