{"id":477,"date":"2023-07-29T19:05:27","date_gmt":"2023-07-29T19:05:27","guid":{"rendered":"https:\/\/statorials.org\/id\/regresi-polinomial-r\/"},"modified":"2023-07-29T19:05:27","modified_gmt":"2023-07-29T19:05:27","slug":"regresi-polinomial-r","status":"publish","type":"post","link":"https:\/\/statorials.org\/id\/regresi-polinomial-r\/","title":{"rendered":"Regresi polinomial di r (langkah demi langkah)"},"content":{"rendered":"<p><\/p>\n<hr>\n<p><span style=\"color: #000000;\"><a href=\"https:\/\/statorials.org\/id\/regresi-polinomial-1\/\" target=\"_blank\" rel=\"noopener noreferrer\">Regresi polinomial<\/a> adalah teknik yang dapat kita gunakan ketika hubungan antara variabel prediktor dan <a href=\"https:\/\/statorials.org\/id\/variabel-tanggapan-penjelas\/\" target=\"_blank\" rel=\"noopener noreferrer\">variabel respon<\/a> bersifat nonlinier.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Jenis regresi ini berbentuk:<\/span><\/p>\n<p> <span style=\"color: #000000;\">Y = \u03b2 <sub>0<\/sub> <sup>+<\/sup> \u03b2 <sub>1<\/sub> X + \u03b2 <sub>2<\/sub> X <sup>2<\/sup> + \u2026 + \u03b2 <sub>h<\/sub><\/span><\/p>\n<p> <span style=\"color: #000000;\">di mana <em>h<\/em> adalah \u201cderajat\u201d polinomial.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Tutorial ini memberikan contoh langkah demi langkah tentang cara melakukan regresi polinomial di R.<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Langkah 1: Buat datanya<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Untuk contoh ini, kita akan membuat dataset yang berisi jumlah jam belajar dan nilai ujian akhir untuk kelas yang terdiri dari 50 siswa:<\/span><\/p>\n<pre style=\"background-color: #e5e5e5; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#make this example reproducible<\/span>\nset.seed(1)\n\n<span style=\"color: #008080;\">#create dataset\n<\/span>df &lt;- data.frame(hours = <span style=\"color: #3366ff;\">runif<\/span> (50, 5, 15), score=50)\ndf$score = df$score + df$hours^3\/150 + df$hours* <span style=\"color: #3366ff;\">runif<\/span> (50, 1, 2)\n\n<span style=\"color: #008080;\">#view first six rows of data\n<\/span>head(data)\n\n      hours score\n1 7.655087 64.30191\n2 8.721239 70.65430\n3 10.728534 73.66114\n4 14.082078 86.14630\n5 7.016819 59.81595\n6 13.983897 83.60510\n<\/strong><\/pre>\n<h3> <span style=\"color: #000000;\"><strong>Langkah 2: Visualisasikan datanya<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Sebelum memasang model regresi ke data, pertama-tama mari buat diagram sebar untuk memvisualisasikan hubungan antara jam belajar dan nilai ujian:<\/span> <\/p>\n<pre style=\"background-color: #e5e5e5; font-size: 15px;\"> <strong><span style=\"color: #993300;\">library<\/span> (ggplot2)\n\nggplot(df, <span style=\"color: #3366ff;\">aes<\/span> (x=hours, y=score)) +\n  geom_point()<\/strong> <\/pre>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-12001 \" src=\"https:\/\/statorials.org\/wp-content\/uploads\/2023\/08\/poly1-1.png\" alt=\"\" width=\"457\" height=\"450\" srcset=\"\" sizes=\"\"><\/p>\n<p> <span style=\"color: #000000;\">Kita dapat melihat bahwa data memiliki hubungan yang sedikit kuadrat, yang menunjukkan bahwa regresi polinomial mungkin lebih cocok dengan data dibandingkan regresi linier sederhana.<\/span><\/p>\n<h3> <strong><span style=\"color: #000000;\">Langkah 3: Sesuaikan model regresi polinomial<\/span><\/strong><\/h3>\n<p> <span style=\"color: #000000;\">Selanjutnya, kita akan memasang lima model regresi polinomial berbeda dengan derajat <em>h<\/em> = 1\u20265 dan menggunakan validasi silang k-fold dengan k = 10 kali untuk menghitung uji MSE untuk setiap model:<\/span><\/p>\n<pre style=\"background-color: #e5e5e5; font-size: 15px;\"> <span style=\"color: #000000;\"><strong><span style=\"color: #008080;\">#randomly shuffle data\n<\/span>df.shuffled &lt;- df[ <span style=\"color: #3366ff;\">sample<\/span> ( <span style=\"color: #3366ff;\">nrow<\/span> (df)),]\n\n<span style=\"color: #008080;\">#define number of folds to use for k-fold cross-validation\n<\/span>K &lt;- 10 \n\n<span style=\"color: #008080;\">#define degree of polynomials to fit\n<\/span>degree &lt;- 5\n\n<span style=\"color: #008080;\">#create k equal-sized folds\n<\/span>folds &lt;- cut( <span style=\"color: #3366ff;\">seq<\/span> (1, <span style=\"color: #3366ff;\">nrow<\/span> (df.shuffled)), breaks=K, labels= <span style=\"color: #008000;\">FALSE<\/span> )\n\n<span style=\"color: #008080;\">#create object to hold MSE's of models\n<\/span>mse = matrix(data=NA,nrow=K,ncol=degree)\n\n<span style=\"color: #008080;\">#Perform K-fold cross validation\n<\/span><span style=\"color: #008000;\">for<\/span> (i <span style=\"color: #008000;\">in<\/span> 1:K){\n    \n<span style=\"color: #008080;\">#define training and testing data\n<\/span>testIndexes &lt;- <span style=\"color: #3366ff;\">which<\/span> (folds==i,arr.ind= <span style=\"color: #008000;\">TRUE<\/span> )\n    testData &lt;- df.shuffled[testIndexes, ]\n    trainData &lt;- df.shuffled[-testIndexes, ]\n    \n<span style=\"color: #008080;\">#use k-fold cv to evaluate models\n<\/span>for (j in 1:degree){\n        fit.train = <span style=\"color: #3366ff;\">lm<\/span> (score ~ <span style=\"color: #3366ff;\">poly<\/span> (hours,d), data=trainData)\n        fit.test = <span style=\"color: #3366ff;\">predict<\/span> (fit.train, newdata=testData)\n        mse[i,j] = <span style=\"color: #3366ff;\">mean<\/span> ((fit.test-testData$score)^2) \n    }\n}\n\n<span style=\"color: #008080;\">#find MSE for each degree \n<\/span>colMeans(mse)\n\n[1] 9.802397 8.748666 9.601865 10.592569 13.545547\n<\/strong><\/span><\/pre>\n<p> <span style=\"color: #000000;\">Dari hasilnya kita dapat melihat pengujian MSE untuk masing-masing model:<\/span><\/p>\n<ul>\n<li> <span style=\"color: #000000;\">Uji MSE dengan derajat h = 1 : <strong>9,80<\/strong><\/span><\/li>\n<li> <span style=\"color: #000000;\">Uji MSE dengan derajat h = 2 : <strong>8,75<\/strong><\/span><\/li>\n<li> <span style=\"color: #000000;\">Uji MSE dengan derajat h = 3 : <strong>9,60<\/strong><\/span><\/li>\n<li> <span style=\"color: #000000;\">Uji MSE dengan derajat h = 4 : <strong>10,59<\/strong><\/span><\/li>\n<li> <span style=\"color: #000000;\">Tes MSE dengan derajat h = 5 : <strong>13,55<\/strong><\/span><\/li>\n<\/ul>\n<p> <span style=\"color: #000000;\">Model dengan uji MSE terendah ternyata adalah model regresi polinomial dengan derajat <em>h<\/em> = 2.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Ini cocok dengan intuisi kita dari diagram sebar asli: model regresi kuadratik paling sesuai dengan data.<\/span><\/p>\n<h3> <strong><span style=\"color: #000000;\">Langkah 4: Analisis model akhir<\/span><\/strong><\/h3>\n<p> <span style=\"color: #000000;\">Terakhir, kita dapat memperoleh koefisien model dengan kinerja terbaik:<\/span><\/p>\n<pre style=\"background-color: #e5e5e5; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#fit best model<\/span>\nbest = <span style=\"color: #3366ff;\">lm<\/span> (score ~ <span style=\"color: #3366ff;\">poly<\/span> (hours,2, raw= <span style=\"color: #008000;\">T<\/span> ), data=df)\n\n<span style=\"color: #008080;\">#view summary of best model<\/span>\nsummary(best)\n\nCall:\nlm(formula = score ~ poly(hours, 2, raw = T), data = df)\n\nResiduals:\n    Min 1Q Median 3Q Max \n-5.6589 -2.0770 -0.4599 2.5923 4.5122 \n\nCoefficients:\n                         Estimate Std. Error t value Pr(&gt;|t|)    \n(Intercept) 54.00526 5.52855 9.768 6.78e-13 ***\npoly(hours, 2, raw = T)1 -0.07904 1.15413 -0.068 0.94569    \npoly(hours, 2, raw = T)2 0.18596 0.05724 3.249 0.00214 ** \n---\nSignificant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1<\/strong><\/pre>\n<p> <span style=\"color: #000000;\">Dari hasilnya, kita dapat melihat bahwa model akhir yang dipasang adalah:<\/span><\/p>\n<p> <span style=\"color: #000000;\">Skor = 54,00526 \u2013 0,07904*(jam) + 0,18596*(jam) <sup>2<\/sup><\/span><\/p>\n<p> <span style=\"color: #000000;\">Kita dapat menggunakan persamaan ini untuk memperkirakan skor yang akan diterima siswa berdasarkan jumlah jam belajar.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Misalnya, seorang siswa yang belajar 10 jam seharusnya mendapat nilai <strong>71,81<\/strong> :<\/span><\/p>\n<p> <span style=\"color: #000000;\">Skor = 54,00526 \u2013 0,07904*(10) + 0,18596*(10) <sup>2<\/sup> = 71,81<\/span><\/p>\n<p> <span style=\"color: #000000;\">Kita juga dapat memplot model yang dipasang untuk melihat seberapa cocok model tersebut dengan data mentah:<\/span> <\/p>\n<pre style=\"background-color: #e5e5e5; font-size: 15px;\"> <strong>ggplot(df, <span style=\"color: #3366ff;\">aes<\/span> (x=hours, y=score)) + \n          geom_point() +\n          stat_smooth(method=' <span style=\"color: #008000;\">lm<\/span> ', formula = y ~ <span style=\"color: #3366ff;\">poly<\/span> (x,2), size = 1) + \n          xlab(' <span style=\"color: #008000;\">Hours Studied<\/span> ') +\n          ylab(' <span style=\"color: #008000;\">Score<\/span> ')<\/strong> <\/pre>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-12002 \" src=\"https:\/\/statorials.org\/wp-content\/uploads\/2023\/08\/poly2.png\" alt=\"Regresi polinomial di R\" width=\"446\" height=\"449\" srcset=\"\" sizes=\"\"><\/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\/polynomial_regression.R\" target=\"_blank\" rel=\"noopener noreferrer\">di sini<\/a> .<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Regresi polinomial adalah teknik yang dapat kita gunakan ketika hubungan antara variabel prediktor dan variabel respon bersifat nonlinier. Jenis regresi ini berbentuk: Y = \u03b2 0 + \u03b2 1 X + \u03b2 2 X 2 + \u2026 + \u03b2 h di mana h adalah \u201cderajat\u201d polinomial. Tutorial ini memberikan contoh langkah demi langkah tentang cara [&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 polinomial di R (langkah demi langkah) - Statologi<\/title>\n<meta name=\"description\" content=\"Tutorial ini memberikan panduan sederhana untuk memahami dan mengimplementasikan regresi polinomial di R, termasuk contohnya.\" \/>\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-polinomial-r\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Regresi polinomial di R (langkah demi langkah) - Statologi\" \/>\n<meta property=\"og:description\" content=\"Tutorial ini memberikan panduan sederhana untuk memahami dan mengimplementasikan regresi polinomial di R, termasuk contohnya.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/statorials.org\/id\/regresi-polinomial-r\/\" \/>\n<meta property=\"og:site_name\" content=\"Statorials\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-29T19:05:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/statorials.org\/wp-content\/uploads\/2023\/08\/poly1-1.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-polinomial-r\/\",\"url\":\"https:\/\/statorials.org\/id\/regresi-polinomial-r\/\",\"name\":\"Regresi polinomial di R (langkah demi langkah) - Statologi\",\"isPartOf\":{\"@id\":\"https:\/\/statorials.org\/id\/#website\"},\"datePublished\":\"2023-07-29T19:05:27+00:00\",\"dateModified\":\"2023-07-29T19:05:27+00:00\",\"author\":{\"@id\":\"https:\/\/statorials.org\/id\/#\/schema\/person\/3d17a1160dd2d052b7c78e502cb9ec81\"},\"description\":\"Tutorial ini memberikan panduan sederhana untuk memahami dan mengimplementasikan regresi polinomial di R, termasuk contohnya.\",\"breadcrumb\":{\"@id\":\"https:\/\/statorials.org\/id\/regresi-polinomial-r\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/statorials.org\/id\/regresi-polinomial-r\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/statorials.org\/id\/regresi-polinomial-r\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/statorials.org\/id\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Regresi polinomial 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 polinomial di R (langkah demi langkah) - Statologi","description":"Tutorial ini memberikan panduan sederhana untuk memahami dan mengimplementasikan regresi polinomial di R, termasuk contohnya.","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-polinomial-r\/","og_locale":"id_ID","og_type":"article","og_title":"Regresi polinomial di R (langkah demi langkah) - Statologi","og_description":"Tutorial ini memberikan panduan sederhana untuk memahami dan mengimplementasikan regresi polinomial di R, termasuk contohnya.","og_url":"https:\/\/statorials.org\/id\/regresi-polinomial-r\/","og_site_name":"Statorials","article_published_time":"2023-07-29T19:05:27+00:00","og_image":[{"url":"https:\/\/statorials.org\/wp-content\/uploads\/2023\/08\/poly1-1.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-polinomial-r\/","url":"https:\/\/statorials.org\/id\/regresi-polinomial-r\/","name":"Regresi polinomial di R (langkah demi langkah) - Statologi","isPartOf":{"@id":"https:\/\/statorials.org\/id\/#website"},"datePublished":"2023-07-29T19:05:27+00:00","dateModified":"2023-07-29T19:05:27+00:00","author":{"@id":"https:\/\/statorials.org\/id\/#\/schema\/person\/3d17a1160dd2d052b7c78e502cb9ec81"},"description":"Tutorial ini memberikan panduan sederhana untuk memahami dan mengimplementasikan regresi polinomial di R, termasuk contohnya.","breadcrumb":{"@id":"https:\/\/statorials.org\/id\/regresi-polinomial-r\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/statorials.org\/id\/regresi-polinomial-r\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/statorials.org\/id\/regresi-polinomial-r\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/statorials.org\/id\/"},{"@type":"ListItem","position":2,"name":"Regresi polinomial 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\/477"}],"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=477"}],"version-history":[{"count":0,"href":"https:\/\/statorials.org\/id\/wp-json\/wp\/v2\/posts\/477\/revisions"}],"wp:attachment":[{"href":"https:\/\/statorials.org\/id\/wp-json\/wp\/v2\/media?parent=477"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/statorials.org\/id\/wp-json\/wp\/v2\/categories?post=477"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/statorials.org\/id\/wp-json\/wp\/v2\/tags?post=477"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}