{"id":3997,"date":"2023-07-14T06:42:43","date_gmt":"2023-07-14T06:42:43","guid":{"rendered":"https:\/\/statorials.org\/id\/regresi-spline-di-r\/"},"modified":"2023-07-14T06:42:43","modified_gmt":"2023-07-14T06:42:43","slug":"regresi-spline-di-r","status":"publish","type":"post","link":"https:\/\/statorials.org\/id\/regresi-spline-di-r\/","title":{"rendered":"Cara melakukan regresi spline di r (dengan contoh)"},"content":{"rendered":"<p><\/p>\n<hr>\n<p><span style=\"color: #000000;\"><strong>Regresi spline<\/strong> adalah jenis regresi yang digunakan jika terdapat titik atau &#8220;simpul&#8221; yang pola datanya berubah secara tiba-tiba dan <a href=\"https:\/\/statorials.org\/id\/regresi-linier-sederhana-di-r\/\" target=\"_blank\" rel=\"noopener\">regresi linier<\/a> serta <a href=\"https:\/\/statorials.org\/id\/regresi-polinomial-r\/\" target=\"_blank\" rel=\"noopener\">regresi polinomial<\/a> tidak cukup fleksibel untuk menyesuaikan data.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Contoh langkah demi langkah berikut menunjukkan cara melakukan regresi spline di R.<\/span><\/p>\n<h2> <span style=\"color: #000000;\"><strong>Langkah 1: Buat datanya<\/strong><\/span><\/h2>\n<p> <span style=\"color: #000000;\">Pertama, mari kita buat kumpulan data di R dengan dua variabel dan buat plot sebar untuk memvisualisasikan hubungan antar variabel:<\/span> <\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#create data frame\n<\/span>df &lt;- data. <span style=\"color: #3366ff;\">frame<\/span> (x=1:20,\n                 y=c(2, 4, 7, 9, 13, 15, 19, 16, 13, 10,\n                     11, 14, 15, 15, 16, 15, 17, 19, 18, 20))\n\n<span style=\"color: #008080;\">#view head of data frame\n<\/span>head(df)\n\n  xy\n1 1 2\n2 2 4\n3 3 7\n4 4 9\n5 5 13\n6 6 15\n\n<span style=\"color: #008080;\">#create scatterplot\n<\/span>plot(df$x, df$y, cex= <span style=\"color: #008000;\">1.5<\/span> , pch= <span style=\"color: #008000;\">19<\/span> )\n<\/strong><\/pre>\n<p><img decoding=\"async\" loading=\"lazy\" class=\" wp-image-31978 aligncenter\" src=\"https:\/\/statorials.org\/wp-content\/uploads\/2023\/08\/spline1.jpg\" alt=\"\" width=\"455\" height=\"417\" srcset=\"\" sizes=\"\"><\/p>\n<p> <span style=\"color: #000000;\">Jelas sekali hubungan antara x dan y adalah non-linier dan tampak ada dua titik atau &#8220;simpul&#8221; yang pola datanya berubah secara tiba-tiba pada x=7 dan x=10.<\/span><\/p>\n<h2> <span style=\"color: #000000;\"><strong>Langkah 2: Sesuaikan model regresi linier sederhana<\/strong><\/span><\/h2>\n<p> <span style=\"color: #000000;\">Mari kita gunakan <a href=\"https:\/\/statorials.org\/id\/fungsi-lm-di-r\/\" target=\"_blank\" rel=\"noopener\">fungsi lm()<\/a> untuk menyesuaikan model regresi linier sederhana dengan kumpulan data ini dan membuat plot yang sesuai dengan garis regresi pada plot sebar:<\/span> <\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#fit simple linear regression model\n<\/span>linear_fit &lt;- lm(df$y ~ df$x)\n\n<span style=\"color: #008080;\">#view model summary\n<\/span>summary(linear_fit)\n\nCall:\nlm(formula = df$y ~ df$x)\n\nResiduals:\n    Min 1Q Median 3Q Max \n-5.2143 -1.6327 -0.3534 0.6117 7.8789 \n\nCoefficients:\n            Estimate Std. Error t value Pr(&gt;|t|)    \n(Intercept) 6.5632 1.4643 4.482 0.000288 ***\ndf$x 0.6511 0.1222 5.327 4.6e-05 ***\n---\nSignificant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n\nResidual standard error: 3.152 on 18 degrees of freedom\nMultiple R-squared: 0.6118, Adjusted R-squared: 0.5903 \nF-statistic: 28.37 on 1 and 18 DF, p-value: 4.603e-05\n\n<span style=\"color: #008080;\">#create scatterplot\n<\/span>plot(df$x, df$y, cex= <span style=\"color: #008000;\">1.5<\/span> , pch= <span style=\"color: #008000;\">19<\/span> )\n\n<span style=\"color: #008080;\">#add regression line to scatterplot\n<\/span>abline(linear_fit)<\/strong> <\/pre>\n<p><img decoding=\"async\" loading=\"lazy\" class=\" wp-image-31979 aligncenter\" src=\"https:\/\/statorials.org\/wp-content\/uploads\/2023\/08\/spline2.jpg\" alt=\"\" width=\"461\" height=\"420\" srcset=\"\" sizes=\"\"><\/p>\n<p> <span style=\"color: #000000;\">Dari scatterplot terlihat bahwa garis regresi linier sederhana tidak sesuai dengan data.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Dari hasil model juga terlihat <a href=\"https:\/\/statorials.org\/id\/interpretasi-r-persegi-yang-disesuaikan\/\" target=\"_blank\" rel=\"noopener\">nilai customized R-squared<\/a> sebesar <strong>0.5903<\/strong> .<\/span><\/p>\n<p> <span style=\"color: #000000;\">Kami akan membandingkannya dengan nilai R-kuadrat yang disesuaikan dari model spline.<\/span><\/p>\n<h2> <span style=\"color: #000000;\"><strong>Langkah 3: Sesuaikan model regresi spline<\/strong><\/span><\/h2>\n<p> <span style=\"color: #000000;\">Selanjutnya, mari kita gunakan fungsi <strong>bs()<\/strong> dari paket <strong>splines<\/strong> untuk menyesuaikan model regresi spline dengan dua node, lalu plot model yang dipasang pada scatterplot:<\/span> <\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008000;\">library<\/span> (splines)\n\n<span style=\"color: #008080;\">#fit spline regression model\n<\/span>spline_fit &lt;- lm(df$y ~ bs(df$x, knots=c( <span style=\"color: #008000;\">7<\/span> , <span style=\"color: #008000;\">10<\/span> )))\n\n<span style=\"color: #008080;\">#view summary of spline regression model\n<\/span>summary(spline_fit)\n\nCall:\nlm(formula = df$y ~ bs(df$x, knots = c(7, 10)))\n\nResiduals:\n     Min 1Q Median 3Q Max \n-2.84883 -0.94928 0.08675 0.78069 2.61073 \n\nCoefficients:\n                            Estimate Std. Error t value Pr(&gt;|t|)    \n(Intercept) 2.073 1.451 1.429 0.175    \nbs(df$x, knots = c(7, 10))1 2.173 3.247 0.669 0.514    \nbs(df$x, knots = c(7, 10))2 19.737 2.205 8.949 3.63e-07 ***\nbs(df$x, knots = c(7, 10))3 3.256 2.861 1.138 0.274    \nbs(df$x, knots = c(7, 10))4 19.157 2.690 7.121 5.16e-06 ***\nbs(df$x, knots = c(7, 10))5 16.771 1.999 8.391 7.83e-07 ***\n---\nSignificant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n\nResidual standard error: 1.568 on 14 degrees of freedom\nMultiple R-squared: 0.9253, Adjusted R-squared: 0.8987 \nF-statistic: 34.7 on 5 and 14 DF, p-value: 2.081e-07\n\n<span style=\"color: #008080;\">#calculate predictions using spline regression model\n<\/span>x_lim &lt;- range(df$x)\nx_grid &lt;- seq(x_lim[ <span style=\"color: #008000;\">1<\/span> ], x_lim[ <span style=\"color: #008000;\">2<\/span> ])\npreds &lt;- predict(spline_fit, newdata=list(x=x_grid))\n\n<span style=\"color: #008080;\">#create scatter plot with spline regression predictions\n<\/span>plot(df$x, df$y, cex= <span style=\"color: #008000;\">1.5<\/span> , pch= <span style=\"color: #008000;\">19<\/span> )\nlines(x_grid, preds)<\/strong> <\/pre>\n<p><img decoding=\"async\" loading=\"lazy\" class=\" wp-image-31980 aligncenter\" src=\"https:\/\/statorials.org\/wp-content\/uploads\/2023\/08\/spline3.jpg\" alt=\"\" width=\"469\" height=\"426\" srcset=\"\" sizes=\"\"><\/p>\n<p> <span style=\"color: #000000;\">Dari scatterplot terlihat bahwa model regresi spline mampu menyesuaikan data dengan cukup baik.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Dari hasil model juga terlihat nilai customized R-squared sebesar <strong>0.8987<\/strong> .<\/span><\/p>\n<p> <span style=\"color: #000000;\">Nilai R-kuadrat yang disesuaikan untuk model ini jauh lebih tinggi dibandingkan model regresi linier sederhana, yang menunjukkan bahwa model regresi spline mampu menyesuaikan data dengan lebih baik.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Perhatikan bahwa untuk contoh ini kita telah memilih bahwa node terletak di x=7 dan x=10.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Dalam praktiknya, Anda harus memilih sendiri lokasi node berdasarkan pola perubahan pada data dan berdasarkan keahlian domain Anda.<\/span><\/p>\n<h2> <span style=\"color: #000000;\"><strong>Sumber daya tambahan<\/strong><\/span><\/h2>\n<p> <span style=\"color: #000000;\">Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di R:<\/span><\/p>\n<p> <a href=\"https:\/\/statorials.org\/id\/regresi-linier-berganda-r\/\" target=\"_blank\" rel=\"noopener\">Cara melakukan regresi linier berganda di R<\/a><br \/> <a href=\"https:\/\/statorials.org\/id\/regresi-eksponensial-di-r\/\" target=\"_blank\" rel=\"noopener\">Bagaimana melakukan regresi eksponensial di R<\/a><br \/> <a href=\"https:\/\/statorials.org\/id\/kuadrat-terkecil-tertimbang-di-r\/\" target=\"_blank\" rel=\"noopener\">Bagaimana melakukan regresi kuadrat terkecil tertimbang di R<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Regresi spline adalah jenis regresi yang digunakan jika terdapat titik atau &#8220;simpul&#8221; yang pola datanya berubah secara tiba-tiba dan regresi linier serta regresi polinomial tidak cukup fleksibel untuk menyesuaikan data. Contoh langkah demi langkah berikut menunjukkan cara melakukan regresi spline di R. Langkah 1: Buat datanya Pertama, mari kita buat kumpulan data di R dengan [&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>Cara Melakukan Regresi Spline di R (dengan Contoh) - Statologi<\/title>\n<meta name=\"description\" content=\"Tutorial ini menjelaskan cara melakukan regresi spline 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-spline-di-r\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cara Melakukan Regresi Spline di R (dengan Contoh) - Statologi\" \/>\n<meta property=\"og:description\" content=\"Tutorial ini menjelaskan cara melakukan regresi spline di R, termasuk contoh langkah demi langkah.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/statorials.org\/id\/regresi-spline-di-r\/\" \/>\n<meta property=\"og:site_name\" content=\"Statorials\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-14T06:42:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/statorials.org\/wp-content\/uploads\/2023\/08\/spline1.jpg\" \/>\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-spline-di-r\/\",\"url\":\"https:\/\/statorials.org\/id\/regresi-spline-di-r\/\",\"name\":\"Cara Melakukan Regresi Spline di R (dengan Contoh) - Statologi\",\"isPartOf\":{\"@id\":\"https:\/\/statorials.org\/id\/#website\"},\"datePublished\":\"2023-07-14T06:42:43+00:00\",\"dateModified\":\"2023-07-14T06:42:43+00:00\",\"author\":{\"@id\":\"https:\/\/statorials.org\/id\/#\/schema\/person\/3d17a1160dd2d052b7c78e502cb9ec81\"},\"description\":\"Tutorial ini menjelaskan cara melakukan regresi spline di R, termasuk contoh langkah demi langkah.\",\"breadcrumb\":{\"@id\":\"https:\/\/statorials.org\/id\/regresi-spline-di-r\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/statorials.org\/id\/regresi-spline-di-r\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/statorials.org\/id\/regresi-spline-di-r\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/statorials.org\/id\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cara melakukan regresi spline di r (dengan contoh)\"}]},{\"@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":"Cara Melakukan Regresi Spline di R (dengan Contoh) - Statologi","description":"Tutorial ini menjelaskan cara melakukan regresi spline 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-spline-di-r\/","og_locale":"id_ID","og_type":"article","og_title":"Cara Melakukan Regresi Spline di R (dengan Contoh) - Statologi","og_description":"Tutorial ini menjelaskan cara melakukan regresi spline di R, termasuk contoh langkah demi langkah.","og_url":"https:\/\/statorials.org\/id\/regresi-spline-di-r\/","og_site_name":"Statorials","article_published_time":"2023-07-14T06:42:43+00:00","og_image":[{"url":"https:\/\/statorials.org\/wp-content\/uploads\/2023\/08\/spline1.jpg"}],"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-spline-di-r\/","url":"https:\/\/statorials.org\/id\/regresi-spline-di-r\/","name":"Cara Melakukan Regresi Spline di R (dengan Contoh) - Statologi","isPartOf":{"@id":"https:\/\/statorials.org\/id\/#website"},"datePublished":"2023-07-14T06:42:43+00:00","dateModified":"2023-07-14T06:42:43+00:00","author":{"@id":"https:\/\/statorials.org\/id\/#\/schema\/person\/3d17a1160dd2d052b7c78e502cb9ec81"},"description":"Tutorial ini menjelaskan cara melakukan regresi spline di R, termasuk contoh langkah demi langkah.","breadcrumb":{"@id":"https:\/\/statorials.org\/id\/regresi-spline-di-r\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/statorials.org\/id\/regresi-spline-di-r\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/statorials.org\/id\/regresi-spline-di-r\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/statorials.org\/id\/"},{"@type":"ListItem","position":2,"name":"Cara melakukan regresi spline di r (dengan contoh)"}]},{"@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\/3997"}],"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=3997"}],"version-history":[{"count":0,"href":"https:\/\/statorials.org\/id\/wp-json\/wp\/v2\/posts\/3997\/revisions"}],"wp:attachment":[{"href":"https:\/\/statorials.org\/id\/wp-json\/wp\/v2\/media?parent=3997"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/statorials.org\/id\/wp-json\/wp\/v2\/categories?post=3997"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/statorials.org\/id\/wp-json\/wp\/v2\/tags?post=3997"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}