Tugas Regspasp 10
Data Meuse
## Warning: package 'sp' was built under R version 4.5.3
## Warning: package 'sf' was built under R version 4.5.3
## Linking to GEOS 3.14.1, GDAL 3.12.1, PROJ 9.7.1; sf_use_s2() is TRUE
## Warning: package 'gstat' was built under R version 4.5.3
## Warning: package 'ggplot2' was built under R version 4.5.2
## Warning: package 'dplyr' was built under R version 4.5.2
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
## Warning: package 'FNN' was built under R version 4.5.3
## Warning: package 'fields' was built under R version 4.5.3
## Loading required package: spam
## Warning: package 'spam' was built under R version 4.5.3
## Spam version 2.11-4 (2026-05-28) is loaded.
## Type 'help( Spam)' or 'demo( spam)' for a short introduction
## and overview of this package.
## Help for individual functions is also obtained by adding the
## suffix '.spam' to the function name, e.g. 'help( chol.spam)'.
##
## Attaching package: 'spam'
## The following objects are masked from 'package:base':
##
## backsolve, forwardsolve
## Loading required package: viridisLite
## Warning: package 'viridisLite' was built under R version 4.5.2
## Loading required package: RColorBrewer
## Warning: package 'RColorBrewer' was built under R version 4.5.2
##
## Try help(fields) to get started.
## Warning: package 'automap' was built under R version 4.5.3
## Registered S3 method overwritten by 'stars':
## method from
## st_interpolate_aw.stars sf
## 'data.frame': 155 obs. of 14 variables:
## $ x : num 181072 181025 181165 181298 181307 ...
## $ y : num 333611 333558 333537 333484 333330 ...
## $ cadmium: num 11.7 8.6 6.5 2.6 2.8 3 3.2 2.8 2.4 1.6 ...
## $ copper : num 85 81 68 81 48 61 31 29 37 24 ...
## $ lead : num 299 277 199 116 117 137 132 150 133 80 ...
## $ zinc : num 1022 1141 640 257 269 ...
## $ elev : num 7.91 6.98 7.8 7.66 7.48 ...
## $ dist : num 0.00136 0.01222 0.10303 0.19009 0.27709 ...
## $ om : num 13.6 14 13 8 8.7 7.8 9.2 9.5 10.6 6.3 ...
## $ ffreq : Factor w/ 3 levels "1","2","3": 1 1 1 1 1 1 1 1 1 1 ...
## $ soil : Factor w/ 3 levels "1","2","3": 1 1 1 2 2 2 2 1 1 2 ...
## $ lime : Factor w/ 2 levels "0","1": 2 2 2 1 1 1 1 1 1 1 ...
## $ landuse: Factor w/ 15 levels "Aa","Ab","Ag",..: 4 4 4 11 4 11 4 2 2 15 ...
## $ dist.m : num 50 30 150 270 380 470 240 120 240 420 ...
## x y cadmium copper lead zinc elev dist om ffreq soil lime
## 1 181072 333611 11.7 85 299 1022 7.909 0.00135803 13.6 1 1 1
## 2 181025 333558 8.6 81 277 1141 6.983 0.01222430 14.0 1 1 1
## 3 181165 333537 6.5 68 199 640 7.800 0.10302900 13.0 1 1 1
## 4 181298 333484 2.6 81 116 257 7.655 0.19009400 8.0 1 2 0
## 5 181307 333330 2.8 48 117 269 7.480 0.27709000 8.7 1 2 0
## 6 181390 333260 3.0 61 137 281 7.791 0.36406700 7.8 1 2 0
## landuse dist.m
## 1 Ah 50
## 2 Ah 30
## 3 Ah 150
## 4 Ga 270
## 5 Ah 380
## 6 Ga 470
## x y cadmium copper
## Min. :178605 Min. :329714 Min. : 0.200 Min. : 14.00
## 1st Qu.:179371 1st Qu.:330762 1st Qu.: 0.800 1st Qu.: 23.00
## Median :179991 Median :331633 Median : 2.100 Median : 31.00
## Mean :180005 Mean :331635 Mean : 3.246 Mean : 40.32
## 3rd Qu.:180630 3rd Qu.:332463 3rd Qu.: 3.850 3rd Qu.: 49.50
## Max. :181390 Max. :333611 Max. :18.100 Max. :128.00
##
## lead zinc elev dist
## Min. : 37.0 Min. : 113.0 Min. : 5.180 Min. :0.00000
## 1st Qu.: 72.5 1st Qu.: 198.0 1st Qu.: 7.546 1st Qu.:0.07569
## Median :123.0 Median : 326.0 Median : 8.180 Median :0.21184
## Mean :153.4 Mean : 469.7 Mean : 8.165 Mean :0.24002
## 3rd Qu.:207.0 3rd Qu.: 674.5 3rd Qu.: 8.955 3rd Qu.:0.36407
## Max. :654.0 Max. :1839.0 Max. :10.520 Max. :0.88039
##
## om ffreq soil lime landuse dist.m
## Min. : 1.000 1:84 1:97 0:111 W :50 Min. : 10.0
## 1st Qu.: 5.300 2:48 2:46 1: 44 Ah :39 1st Qu.: 80.0
## Median : 6.900 3:23 3:12 Am :22 Median : 270.0
## Mean : 7.478 Fw :10 Mean : 290.3
## 3rd Qu.: 9.000 Ab : 8 3rd Qu.: 450.0
## Max. :17.000 (Other):25 Max. :1000.0
## NA's :2 NA's : 1
## [1] "x" "y" "cadmium" "copper" "lead" "zinc" "elev"
## [8] "dist" "om" "ffreq" "soil" "lime" "landuse" "dist.m"
## [1] 155
## x y
## 1 181072 333611
## 2 181025 333558
## 3 181165 333537
## 4 181298 333484
## 5 181307 333330
## 6 181390 333260
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 113.0 198.0 326.0 469.7 674.5 1839.0
ggplot(meuse, aes(x = x, y = y)) +
geom_point(
aes(color = zinc),
size = 2.5
) +
scale_color_viridis_c() +
labs(
title = "Sebaran Kandungan Zinc pada Dataset Meuse",
x = "Koordinat X",
y = "Koordinat Y",
color = "Zinc"
) +
theme_minimal()# Membuat salinan data
meuse_sp <- meuse
# Mengubah menjadi objek spasial
coordinates(meuse_sp) <- ~x+y
# Menentukan sistem koordinat
proj4string(meuse_sp) <- CRS("+init=epsg:28992")## Warning in CPL_crs_from_input(x): GDAL Message 1: +init=epsg:XXXX syntax is
## deprecated. It might return a CRS with a non-EPSG compliant axis order. Further
## messages of this type will be suppressed.
## coordinates cadmium copper lead zinc elev dist om ffreq soil
## 1 (181072, 333611) 11.7 85 299 1022 7.909 0.00135803 13.6 1 1
## 2 (181025, 333558) 8.6 81 277 1141 6.983 0.01222430 14.0 1 1
## 3 (181165, 333537) 6.5 68 199 640 7.800 0.10302900 13.0 1 1
## 4 (181298, 333484) 2.6 81 116 257 7.655 0.19009400 8.0 1 2
## 5 (181307, 333330) 2.8 48 117 269 7.480 0.27709000 8.7 1 2
## 6 (181390, 333260) 3.0 61 137 281 7.791 0.36406700 7.8 1 2
## 7 (181165, 333370) 3.2 31 132 346 8.217 0.19009400 9.2 1 2
## 8 (181027, 333363) 2.8 29 150 406 8.490 0.09215160 9.5 1 1
## 9 (181060, 333231) 2.4 37 133 347 8.668 0.18461400 10.6 1 1
## 10 (181232, 333168) 1.6 24 80 183 9.049 0.30970200 6.3 1 2
## 11 (181191, 333115) 1.4 25 86 189 9.015 0.31511600 6.4 1 2
## 12 (181032, 333031) 1.8 25 97 251 9.073 0.22812300 9.0 1 1
## 13 (180874, 333339) 11.2 93 285 1096 7.320 0.00000000 15.4 1 1
## 14 (180969, 333252) 2.5 31 183 504 8.815 0.11393200 8.4 1 1
## 15 (181011, 333161) 2.0 27 130 326 8.937 0.16833600 9.1 1 1
## 16 (180830, 333246) 9.5 86 240 1032 7.702 0.00000000 16.2 1 1
## 17 (180763, 333104) 7.0 74 133 606 7.160 0.01222430 16.0 1 1
## 18 (180694, 332972) 7.1 69 148 711 7.100 0.01222430 16.0 1 1
## 19 (180625, 332847) 8.7 69 207 735 7.020 0.00000000 13.7 1 1
## 20 (180555, 332707) 12.9 95 284 1052 6.860 0.00000000 14.8 1 1
## 21 (180642, 332708) 5.5 53 194 673 8.908 0.07034680 10.2 1 1
## 22 (180704, 332717) 2.8 35 123 402 8.990 0.09751360 7.2 1 1
## 23 (180704, 332664) 2.9 35 110 343 8.830 0.11393200 7.2 1 1
## 24 (181153, 332925) 1.7 24 85 218 9.020 0.34232100 7.0 1 2
## 25 (181147, 332823) 1.4 26 75 200 8.976 0.38580400 6.9 1 2
## 26 (181167, 332778) 1.5 22 76 194 8.973 0.42928900 6.3 1 2
## 27 (181008, 332777) 1.3 27 73 207 8.507 0.31511600 5.6 1 2
## 28 (180973, 332687) 1.3 24 67 180 8.743 0.32057400 4.4 1 2
## 29 (180916, 332753) 1.8 22 87 240 8.973 0.24986300 5.3 1 2
## 30 (181352, 332946) 1.5 21 65 180 9.043 0.48906400 4.8 1 2
## 31 (181133, 332570) 1.3 29 78 208 8.688 0.47277800 2.6 1 2
## 32 (180878, 332489) 1.3 21 64 198 8.727 0.28795700 1.0 1 2
## 33 (180829, 332450) 2.1 27 77 250 8.328 0.27162200 2.4 1 2
## 34 (180954, 332399) 1.2 26 80 192 7.971 0.38580700 1.9 1 2
## 35 (180956, 332318) 1.6 27 82 213 7.809 0.41841700 3.1 1 2
## 37 (180710, 332330) 3.0 32 97 321 6.986 0.24447400 1.6 1 2
## 38 (180632, 332445) 5.8 50 166 569 7.756 0.13570900 3.5 1 2
## 39 (180530, 332538) 7.9 67 217 833 7.784 0.04849650 8.1 1 1
## 40 (180478, 332578) 8.1 77 219 906 7.000 0.00000000 7.9 1 1
## 41 (180383, 332476) 14.1 108 405 1454 6.920 0.00135803 9.5 1 1
## 42 (180494, 332330) 2.4 32 102 298 7.516 0.13570900 1.4 1 2
## 43 (180561, 332193) 1.2 21 48 167 8.180 0.26622000 NA 1 2
## 44 (180451, 332175) 1.7 22 65 176 8.694 0.21184300 NA 1 2
## 45 (180410, 332031) 1.3 21 62 258 9.280 0.32057200 2.0 1 2
## 46 (180355, 332299) 4.2 51 281 746 7.940 0.08122200 5.1 1 2
## 47 (180292, 332157) 4.3 50 294 746 6.360 0.19008600 5.3 1 2
## 48 (180283, 332014) 3.1 38 211 464 7.780 0.28794100 4.5 1 2
## 49 (180282, 331861) 1.7 26 135 365 8.180 0.42382600 4.9 1 2
## 50 (180270, 331707) 1.7 24 112 282 9.420 0.55428900 4.5 1 2
## 51 (180199, 331591) 2.1 32 162 375 8.867 0.60322500 5.5 1 2
## 52 (180135, 331552) 1.7 24 94 222 8.292 0.61407100 3.4 1 2
## 53 (180237, 332351) 8.2 47 191 812 8.060 0.00135803 11.1 1 1
## 54 (180103, 332297) 17.0 128 405 1548 7.980 0.00000000 12.3 1 1
## 55 (179973, 332255) 12.0 117 654 1839 7.900 0.00543210 16.5 1 1
## 56 (179826, 332217) 9.4 104 482 1528 7.740 0.00543210 13.9 1 1
## 57 (179687, 332161) 8.2 76 276 933 7.552 0.00543210 8.1 1 1
## 58 (179792, 332035) 2.6 36 180 432 7.760 0.14657800 3.1 1 1
## 59 (179902, 332113) 3.5 34 207 550 6.740 0.13568400 5.8 1 1
## 60 (180100, 332213) 10.9 90 541 1571 6.680 0.07033330 10.2 1 1
## 61 (179604, 332059) 7.3 80 310 1190 7.400 0.04848310 12.0 1 1
## 62 (179526, 331936) 9.4 78 210 907 7.440 0.00543210 14.1 1 1
## 63 (179495, 331770) 8.3 77 158 761 7.360 0.00543210 14.5 1 1
## 64 (179489, 331633) 7.0 65 141 659 7.200 0.03166630 14.8 1 1
## 65 (179414, 331494) 6.8 66 144 643 7.220 0.01222430 13.3 1 1
## 66 (179334, 331366) 7.4 72 181 801 7.360 0.01222430 15.2 1 1
## 67 (179255, 331264) 6.6 75 173 784 5.180 0.03733950 11.4 1 1
## 69 (179470, 331125) 7.8 75 399 1060 5.800 0.21184600 9.0 1 1
## 75 (179692, 330933) 0.7 22 45 119 7.640 0.45103700 3.6 1 1
## 76 (179852, 330801) 3.4 55 325 778 6.320 0.57587700 6.9 1 1
## 79 (179140, 330955) 3.9 47 268 703 5.760 0.07568690 7.0 1 1
## 80 (179128, 330867) 3.5 46 252 676 6.480 0.12481000 6.2 1 1
## 81 (179065, 330864) 4.7 55 315 793 6.480 0.10302400 6.5 1 1
## 82 (179007, 330727) 3.9 49 260 685 6.320 0.15746900 5.7 1 1
## 83 (179110, 330758) 3.1 39 237 593 6.320 0.20097600 7.0 1 1
## 84 (179032, 330645) 2.9 45 228 549 6.160 0.20097600 7.3 1 1
## 85 (179095, 330636) 3.9 48 241 680 6.560 0.26622000 8.2 1 1
## 86 (179058, 330510) 2.7 36 201 539 6.900 0.29883500 4.3 1 1
## 87 (178810, 330666) 2.5 36 204 560 7.540 0.08122470 4.4 1 1
## 88 (178912, 330779) 5.6 68 429 1136 6.420 0.07035500 8.2 1 1
## 89 (178981, 330924) 9.4 88 462 1383 6.280 0.01222430 8.5 1 1
## 90 (179076, 331005) 10.8 85 333 1161 6.340 0.00000000 9.6 1 1
## 123 (180151, 330353) 18.1 76 464 1672 7.307 0.05377230 17.0 1 1
## 160 (179211, 331175) 6.3 63 159 765 5.700 0.05936620 12.8 1 1
## 163 (181118, 333214) 2.1 32 116 279 7.720 0.21184300 5.9 1 2
## 70 (179474, 331304) 1.8 25 81 241 7.932 0.12481000 2.9 2 2
## 71 (179559, 331423) 2.2 27 131 317 7.820 0.12481000 4.5 2 1
## 91 (179022, 330873) 2.8 36 216 545 8.575 0.09215160 10.7 2 1
## 92 (178953, 330742) 2.4 41 145 505 8.536 0.11394100 9.4 2 1
## 93 (178875, 330516) 2.6 33 163 420 8.504 0.17921600 9.0 2 1
## 94 (178803, 330349) 1.8 27 129 332 8.659 0.23359600 7.0 2 1
## 95 (179029, 330394) 2.0 38 148 400 7.633 0.33686100 6.5 2 1
## 96 (178605, 330406) 2.7 37 214 553 8.538 0.07035500 9.4 2 1
## 97 (178701, 330557) 2.7 34 226 577 7.680 0.05936620 10.2 2 1
## 98 (179547, 330245) 0.9 19 54 155 7.564 0.25534100 6.4 2 1
## 99 (179301, 330179) 0.9 22 70 224 7.760 0.36406700 7.6 2 1
## 100 (179405, 330567) 0.4 26 73 180 7.653 0.42929500 7.0 2 1
## 101 (179462, 330766) 0.8 25 87 226 7.951 0.38032800 5.6 2 1
## 102 (179293, 330797) 0.4 22 76 186 8.176 0.24987400 6.5 2 1
## 103 (179180, 330710) 0.4 24 81 198 8.468 0.26621200 6.6 2 1
## 104 (179206, 330398) 0.4 18 68 187 8.410 0.45103700 5.9 2 1
## 105 (179618, 330458) 0.8 23 66 199 7.610 0.30971000 6.5 2 1
## 106 (179782, 330540) 0.4 22 49 157 7.792 0.29335900 6.4 2 1
## 108 (179980, 330773) 0.4 23 63 203 8.760 0.53235100 7.2 2 2
## 109 (180067, 331185) 0.4 23 48 143 9.879 0.61951300 6.6 2 3
## 110 (180162, 331387) 0.2 23 51 136 9.097 0.68472500 4.3 2 2
## 111 (180451, 331473) 0.2 18 50 117 9.095 0.80974200 5.3 2 3
## 112 (180328, 331158) 0.4 20 39 113 9.717 0.88038900 4.1 2 3
## 113 (180276, 330963) 0.2 22 48 130 9.924 0.74959100 6.1 2 3
## 114 (180114, 330803) 0.2 27 64 192 9.404 0.57575200 7.5 2 3
## 115 (179881, 330912) 0.4 25 84 240 10.520 0.58148400 8.8 2 3
## 116 (179774, 330921) 0.2 30 67 221 8.840 0.49452000 5.7 2 3
## 117 (179657, 331150) 0.2 23 49 140 8.472 0.32058000 6.1 2 3
## 118 (179731, 331245) 0.2 24 48 128 9.634 0.33685100 7.1 2 3
## 119 (179717, 331441) 0.2 21 56 166 9.206 0.24985200 4.1 2 2
## 120 (179446, 331422) 0.2 24 65 191 8.470 0.07568690 6.0 2 1
## 121 (179524, 331565) 0.2 21 84 232 8.463 0.07568690 6.6 2 1
## 122 (179644, 331730) 0.2 23 75 203 9.691 0.16285300 6.8 2 1
## 124 (180321, 330366) 3.7 53 250 722 8.704 0.09749160 9.1 2 2
## 125 (180162, 331837) 0.2 33 81 210 9.420 0.44014200 5.9 2 2
## 126 (180029, 331720) 0.2 22 72 198 9.573 0.46190000 4.9 2 2
## 127 (179797, 331919) 0.2 23 86 139 9.555 0.22270100 7.1 2 1
## 128 (179642, 331955) 0.2 25 94 253 8.779 0.10302400 8.1 2 1
## 129 (179849, 332142) 1.2 30 244 703 8.540 0.09213530 8.3 2 1
## 130 (180265, 332297) 2.4 47 297 832 8.809 0.04848840 10.0 2 1
## 131 (180107, 332101) 0.2 31 96 262 9.523 0.16833100 5.9 2 1
## 132 (180462, 331947) 0.2 20 56 142 9.811 0.38581000 5.0 2 2
## 133 (180478, 331822) 0.2 16 49 119 9.604 0.48906400 4.5 2 2
## 134 (180347, 331700) 0.2 17 50 152 9.732 0.57602000 5.4 2 2
## 135 (180862, 333116) 0.4 26 148 415 9.518 0.08121940 2.3 2 1
## 136 (180700, 332882) 1.6 34 162 474 9.720 0.03733690 7.5 2 1
## 161 (180201, 331160) 0.8 18 37 126 9.036 0.77169800 4.6 2 3
## 162 (180173, 331923) 1.2 23 80 210 9.528 0.33682900 5.8 2 2
## 137 (180923, 332874) 0.2 20 80 220 9.155 0.22812300 4.4 3 1
## 138 (180467, 331694) 0.2 14 49 133 10.080 0.59776100 4.4 3 2
## 140 (179917, 331325) 0.8 46 42 141 9.970 0.44558000 4.5 3 2
## 141 (179822, 331242) 1.0 29 48 158 10.136 0.39667500 5.2 3 2
## 142 (179991, 331069) 0.8 19 41 129 10.320 0.58147800 4.6 3 3
## 143 (179120, 330578) 1.2 31 73 206 9.041 0.28796600 6.9 3 1
## 144 (179034, 330561) 2.0 27 146 451 7.860 0.23359600 7.0 3 1
## 145 (179085, 330433) 1.5 29 95 296 8.741 0.36406700 5.4 3 1
## 146 (179236, 330046) 1.1 22 72 189 7.822 0.33145400 6.2 3 1
## 147 (179456, 330072) 0.8 20 51 154 7.780 0.21184600 5.0 3 1
## 148 (179550, 329940) 0.8 20 54 169 8.121 0.10302900 5.1 3 1
## 149 (179445, 329807) 2.1 29 136 403 8.231 0.07035500 8.1 3 1
## 150 (179337, 329870) 2.5 38 170 471 8.351 0.14657600 8.0 3 1
## 151 (179245, 329714) 3.8 39 179 612 7.300 0.05377230 8.8 3 1
## 152 (179024, 329733) 3.2 35 200 601 7.536 0.11928600 9.3 3 1
## 153 (178786, 329822) 3.1 42 258 783 7.706 0.09214350 8.4 3 1
## 154 (179135, 329890) 1.5 24 93 258 8.070 0.24986300 7.7 3 1
## 155 (179030, 330082) 1.2 20 68 214 8.226 0.37494000 5.7 3 1
## 156 (179184, 330182) 0.8 20 49 166 8.128 0.42383700 4.7 3 1
## 157 (179085, 330292) 3.1 39 173 496 8.577 0.42383700 9.1 3 1
## 158 (178875, 330311) 2.1 31 119 342 8.429 0.27709000 6.5 3 1
## 159 (179466, 330381) 0.8 21 51 162 9.406 0.35860600 5.7 3 1
## 164 (180627, 330190) 2.7 27 124 375 8.261 0.01222430 5.5 3 3
## lime landuse dist.m
## 1 1 Ah 50
## 2 1 Ah 30
## 3 1 Ah 150
## 4 0 Ga 270
## 5 0 Ah 380
## 6 0 Ga 470
## 7 0 Ah 240
## 8 0 Ab 120
## 9 0 Ab 240
## 10 0 W 420
## 11 0 Fh 400
## 12 0 Ag 300
## 13 1 W 20
## 14 0 Ah 130
## 15 0 Ah 220
## 16 1 W 10
## 17 1 W 10
## 18 1 W 10
## 19 1 W 10
## 20 1 <NA> 10
## 21 1 Am 80
## 22 1 Am 140
## 23 1 Ag 160
## 24 0 Ah 440
## 25 0 W 490
## 26 0 W 530
## 27 0 Ab 400
## 28 0 Ag 400
## 29 0 Ah 330
## 30 0 Ag 630
## 31 0 B 570
## 32 0 Ag 390
## 33 0 Ah 360
## 34 0 B 500
## 35 0 B 550
## 37 0 Ab 340
## 38 0 Ab 210
## 39 1 Am 60
## 40 1 W 10
## 41 1 W 20
## 42 0 Am 170
## 43 0 Ga 320
## 44 0 W 260
## 45 0 Ah 360
## 46 0 Ah 100
## 47 0 Am 200
## 48 0 Ah 320
## 49 0 Ah 480
## 50 0 Bw 660
## 51 0 Bw 690
## 52 0 Ab 710
## 53 1 Ah 10
## 54 1 W 10
## 55 1 W 10
## 56 1 W 10
## 57 1 W 20
## 58 0 Fw 200
## 59 0 Fw 140
## 60 1 Fw 70
## 61 1 W 20
## 62 1 W 10
## 63 1 Fw 10
## 64 1 W 20
## 65 1 Ah 10
## 66 1 W 20
## 67 1 W 20
## 69 0 Ah 270
## 75 1 Fw 560
## 76 0 Bw 750
## 79 1 Ab 80
## 80 1 Ab 130
## 81 0 W 110
## 82 0 W 200
## 83 1 Ah 260
## 84 0 W 270
## 85 0 W 320
## 86 0 Ah 360
## 87 1 Am 80
## 88 1 W 100
## 89 1 W 70
## 90 1 W 20
## 123 1 W 50
## 160 1 W 80
## 163 0 W 290
## 70 1 Ah 160
## 71 0 W 160
## 91 0 W 140
## 92 0 W 150
## 93 0 Ah 220
## 94 0 Am 280
## 95 1 Am 450
## 96 1 Am 70
## 97 0 Am 70
## 98 0 W 340
## 99 0 W 470
## 100 0 Am 630
## 101 0 Am 460
## 102 0 Am 320
## 103 0 Ah 320
## 104 0 W 540
## 105 0 W 420
## 106 0 SPO 380
## 108 0 W 500
## 109 0 Am 760
## 110 0 Ah 750
## 111 0 Fw 1000
## 112 0 Ah 860
## 113 0 Ah 680
## 114 0 Fw 500
## 115 0 STA 650
## 116 0 DEN 630
## 117 0 Fw 410
## 118 0 Ah 390
## 119 0 Ah 310
## 120 0 Ah 70
## 121 0 W 70
## 122 1 STA 150
## 124 0 Bw 80
## 125 0 Ah 450
## 126 0 Aa 530
## 127 0 W 240
## 128 1 Tv 70
## 129 0 Fw 70
## 130 0 Ah 60
## 131 0 Ah 190
## 132 0 Ah 450
## 133 0 Am 550
## 134 0 Am 650
## 135 0 Am 100
## 136 0 W 170
## 161 1 Ah 860
## 162 0 W 410
## 137 0 Aa 290
## 138 0 Am 680
## 140 0 Am 540
## 141 0 Am 480
## 142 0 W 720
## 143 0 W 380
## 144 0 W 310
## 145 0 Ah 430
## 146 0 Ah 370
## 147 0 Fw 290
## 148 0 W 150
## 149 0 Bw 70
## 150 0 Bw 220
## 151 0 W 80
## 152 0 W 120
## 153 0 Ah 120
## 154 0 Am 260
## 155 0 Ah 440
## 156 0 Am 540
## 157 0 Ah 520
## 158 0 Ah 350
## 159 0 W 460
## 164 0 W 40
Closet Observation
# Menyiapkan koordinat dan nilai
koordinat <- as.matrix(meuse[, c("x", "y")])
nilai <- meuse$zinc
# Cross Validation Closest Observation
pred_closest <- numeric(nrow(meuse))
for (i in 1:nrow(meuse)) {
data_train <- koordinat[-i, ]
data_test <- koordinat[i, , drop = FALSE]
jarak <- spDistsN1(
data_train,
data_test,
longlat = FALSE
)
indeks <- which.min(jarak)
pred_closest[i] <- nilai[-i][indeks]
}
# Menghitung RMSE
rmse_closest <- sqrt(
mean((nilai - pred_closest)^2)
)
rmse_closest## [1] 309.9685
Nearest Neighbor (NN)
# Cross Validation Nearest Neighbor
pred_nn <- numeric(nrow(meuse))
for (i in 1:nrow(meuse)) {
data_train <- koordinat[-i, ]
data_test <- koordinat[i, , drop = FALSE]
hasil_nn <- get.knnx(
data = data_train,
query = data_test,
k = 1
)
pred_nn[i] <- nilai[-i][hasil_nn$nn.index[1]]
}
# Menghitung RMSE
rmse_nn <- sqrt(
mean((nilai - pred_nn)^2)
)
rmse_nn## [1] 309.9685
Inverse Distance Weighting (IDW)
# Cross Validation IDW
cv_idw <- krige.cv(
zinc ~ 1,
locations = meuse_sp,
nfold = nrow(meuse_sp),
set = list(idp = 2)
)
# Mengambil hasil prediksi
pred_idw <- cv_idw$var1.pred
# Menghitung RMSE
rmse_idw <- sqrt(
mean((cv_idw$observed - pred_idw)^2)
)
rmse_idw## [1] 278.2734
Ensemble (CO + IDW + TPS)
TPS
# TPS - Leave One Out Cross Validation
pred_tps <- numeric(n)
for (i in 1:n) {
data_train <- meuse[-i, ]
data_test <- meuse[i, ]
model_tps <- Tps(
x = as.matrix(data_train[, c("x", "y")]),
Y = data_train$zinc
)
pred_tps[i] <- predict(
model_tps,
as.matrix(data_test[, c("x", "y")])
)
}
rmse_tps <- sqrt(mean((nilai - pred_tps)^2))
rmse_tps## [1] 219.5513
Kriging
variogram empiris
# Variogram empiris
variogram_emp <- variogram(zinc ~ 1, meuse_sp)
# Menampilkan variogram
plot(variogram_emp, main = "Variogram Empiris Zinc")Model variogram teoretis
# Fitting variogram spherical
variogram_model <- fit.variogram(
variogram_emp,
model = vgm(
psill = var(meuse$zinc) * 0.8,
model = "Sph",
range = 1000,
nugget = var(meuse$zinc) * 0.2
)
)
# Melihat parameter variogram
variogram_model## model psill range
## 1 Nug 24802.25 0.0000
## 2 Sph 134746.19 831.0006
Ordinary Kriging
# Membuat grid prediksi
grid <- spsample(
meuse_sp,
type = "regular",
n = 5000
)
gridded(grid) <- TRUE
# Ordinary Kriging
hasil_kriging <- krige(
zinc ~ 1,
locations = meuse_sp,
newdata = grid,
model = variogram_model
)## [using ordinary kriging]
# Visualisasi hasil
spplot(
hasil_kriging["var1.pred"],
main = "Hasil Interpolasi Ordinary Kriging"
)Cros validation
# Cross Validation Ordinary Kriging
cv_kriging <- krige.cv(
zinc ~ 1,
locations = meuse_sp,
model = variogram_model,
nfold = nrow(meuse_sp)
)
# Melihat hasil cross validation
head(cv_kriging)## coordinates var1.pred var1.var observed residual zscore fold
## 1 (181072, 333611) 890.6839 61750.57 1022 131.31609515 0.5284421708 1
## 2 (181025, 333558) 868.8741 59924.83 1141 272.12588996 1.1116458205 2
## 3 (181165, 333537) 661.2549 60458.08 640 -21.25486700 -0.0864432753 3
## 4 (181298, 333484) 465.7935 72132.18 257 -208.79351443 -0.7774142328 4
## 5 (181307, 333330) 268.9063 58751.45 269 0.09372075 0.0003866575 5
## 6 (181390, 333260) 235.0768 73390.71 281 45.92324761 0.1695165304 6
RMSE KRINGING
# Menghitung RMSE
pred_kriging <- cv_kriging$var1.pred
rmse_kriging <- sqrt(
mean((cv_kriging$observed - pred_kriging)^2)
)
rmse_kriging## [1] 224.7897
Visualisasi hasil Cross Validation
# Data aktual dan prediksi
data_cv <- data.frame(
Aktual = cv_kriging$observed,
Prediksi = cv_kriging$var1.pred
)
# Scatter plot
ggplot(data_cv, aes(x = Aktual, y = Prediksi)) +
geom_point() +
geom_abline(slope = 1, intercept = 0, linetype = "dashed") +
labs(
title = "Aktual vs Prediksi Ordinary Kriging",
x = "Nilai Aktual Zinc",
y = "Nilai Prediksi Zinc"
) +
theme_minimal()Perbandingan RMSE
# Tabel perbandingan RMSE
hasil_rmse <- data.frame(
Metode = c(
"Closest Observation",
"Nearest Neighbor",
"IDW",
"Ensemble (CO + IDW + TPS)",
"Ordinary Kriging"
),
RMSE = c(
rmse_closest,
rmse_nn,
rmse_idw,
rmse_ensemble,
rmse_kriging
)
)
# Mengurutkan dari RMSE terkecil
hasil_rmse <- hasil_rmse[order(hasil_rmse$RMSE), ]
# Menampilkan hasil
print(hasil_rmse)## Metode RMSE
## 5 Ordinary Kriging 224.7897
## 4 Ensemble (CO + IDW + TPS) 243.2628
## 3 IDW 278.2734
## 1 Closest Observation 309.9685
## 2 Nearest Neighbor 309.9685
Kesimpulan
Hasil perbandingan RMSE menggunakan Leave-One-Out Cross Validation (LOOCV), Ordinary Kriging merupakan metode interpolasi terbaik dengan nilai RMSE terkecil sebesar 224,7897. Selanjutnya, Ensemble (CO + IDW + TPS) memperoleh RMSE sebesar 243,2628, IDW sebesar 278,2734, serta Closest Observation dan Nearest Neighbor masing-masing sebesar 309,9685.
Ordinary Kriging menghasilkan prediksi paling akurat dibandingkan metode lainnya. Hal ini menunjukkan bahwa pemanfaatan struktur ketergantungan spasial melalui variogram mampu memberikan hasil interpolasi yang lebih baik pada meuse