Walter A Renwarin Regnonpar
Walter A Renwarin Regnonpar
Walter A Renwarin
201950014
Software yang akan kita gunakan yaitu Software R sehingga kita perlu mendowndloadnya di Chrome untuk bisa
menjalankan software R
Langkah-langkah penentuan bandwidth optimum dengan metode CV (Cross Validation), GCV
(Generalized Cross Validation), dan MSE (Mean Square Error):
Langkah Pertama kita perlu memanggil data yang akan dianalisis dengan menggunakan R-Commander.
Sebelum itu kita perlu menginstal packages yang akan digunakan yaitu Packages Rcmdr dan PLRModels
R Concole
1. Install Packages Rcmdr (R-Commander): Buka Aplikasi R → Packages → Install packages (s)
→ (muncul kotak dialog untuk memilih negara) pilih Indonesia → (Muncul kotak dialog
“Packages”) pilih “Rcmdr” → Ok.
Tunggu sebentar untuk sedang dilakukan proses install packages.
2. Selanjutnya install Packages PLRModels: Packages → Install packages (s)... → (muncul kotak
dialog untuk memilih negara) pilih Indonesia → (Muncul kotak dialog “Packages”) pilih
“PLRModels” → Ok.
Tunggu sebentar untuk sedang dilakukan proses install packages.
Setelah kedua Packages tersebut terinstal, maka selanjutnya kita panggil packages tersebut untuk
dijalankan. Dengan cara mengetik pada R Concole:
library(Rcmdr)
Tampilan R Concole
Akan muncul kotak dialog baru yaitu kotak R Comander. Kemudian lakukan pemanggilan data di R
Commander seperti berikut:
R Commander → Data → Import data → from Excel file → (pemberian nama data) beri nama
Dataset1 → OK → pilih data yang akan digunakan → open.
R Commander
Untuk melihat data yang sudah dipanggil, klik View Data set
R Concole
library(PLRModels)
Tampilan R Concole
Sebelum masuk pada syntax CV, GCV, dan MSE. Terlebih dahulu kita lakukan pendefenisian fungsi
kernel karena yang kita lakukan adalah pemilihan bandwidth optimum Regresi Kernel. Untuk setiap
metode diperlukan pendefenisian fungsi Kernel, namun pada kesempatan kali ini hanya akan dilakukan
sekali pendefenisian fungsi kernel karena syntax akan dijalankan untuk tiga metode sekaligus.
Syntax:
ker<-function(X)
{
kergauss <- (1/sqrt(2*pi))*exp((-1/2)*X^2)
return(kergauss)
}
Tampilan R Concole
R Concole
Maka Output yang akan keluar/dihasilkan adalah:
Pada output tersebut terlihat bahwa nilai h optimal = 34 dengan CV minimal = 3473,916.
Selanjutnya untuk melihat hasil estimasi dan grafiknya sebagai berikut:
Syntax:
gh1=function(hopt)
{#hopt: nilai bandwidth optimal
g <- length(X)
Ghat <- rep(0, g)
n <- length(Y)
for(j in 1:g) {
ghat <- 0
faktor <- 0
for(i in 1:n) {
faktor <- faktor + ker((X[j]-X[i])/hopt)
ghat <- ghat + Y[i] * ker((X[j]-X[i])/hopt)
}
if(faktor==0)Ghat[j]=0
else Ghat[j] <- ghat/faktor
}
Gh=matrix(Ghat,ncol=1)
plot(X,Y,xlim=c(min(X),max(X)),ylim=c(4900,5300),xlab = "KURS", ylab
= "IHSG")
par(new = T)
gh1 yang digunakan adalah 34 karena sebelumnya didapatkan nilai bandwidth optimum CV adalah 34
R Concole
Output hasil estimasi beserta grafiknya:
Tampilan R Concole
B. Menentukan Bandwidth Optimum dengan Metode Generalized Cross Validation (GCV)
Untuk menentukan Bandwidth optimum, plot, dan estimasi sama seperti metode CV dengan metode
GCV, ketik syntax berikut ini:
Syntax:
gcv=function(X,Y,a, b, c)
{
h <- seq(a, b, by = c)
s <- length(h)
GCV=matrix(nrow=s,ncol=1)
Gcv=matrix(nrow=s,ncol=1)
MSE=matrix(nrow=s,ncol=1)
n=length(X)
e2=matrix(nrow=n,ncol=1)
e1=matrix(nrow=n,ncol=1)
hi=matrix(ncol=1)
for(m in 1:s) {
g <- length(X)
Ghat <- rep(0, g)
n <- length(Y)
gcv.h=0
mse=0
gcv=0
for(i in 1:g) {
e22=0
e11=0
ghat <- 0
faktor <- 0
for(j in 1:n) {
faktor <- faktor + ker((X[i] - X[j])/h[m])
ghat <- ghat + Y[j] * ker((X[i] - X[j])/h[m])
}
if(faktor== 0)
Ghat [i]<- 0
#else Ghat[i] <- (ghat-ker(0)*Y[i])
else Ghat[i] <- (ghat/faktor)
hi[i]=ker(0)/faktor
hii=hi[i]^2
#e22=(Y[i]-Ghat[i])^2/(n*(1-hi[i])^2)
#e2[i]=e22
e11=(Y[i]-Ghat[i])^2
e1[i]=e11
gcv.h=gcv.h+e11
}
mse=(sum(e1))/n
GCV[m]=(n*gcv.h)/(n-sum(hi))^2
MSE[m]=mse
}
R<-matrix(c(h,GCV,MSE),ncol=3)
sort.R1<-R[order(R[,2]),]
S<-sort.R1[1:10,]
cat("\nh opt=",S[1,1],"dengan GCV minimal=",S[1,2],"dan MSE=",S[1,3],"\nBerikut 10
nilai GCV terkecil dan MSE beserta nilai bandwidh h:\n")
cat("\n============================")
cat("\n No h GCV MSE ")
cat("\n============================\n")
S
}
gcv(Dataset1$KURS,Dataset1$IHSG,1,100,1)
Setiap syntax kali harus dilakukan pendefenisian Fungsi Kernel dan pendefenisian Variabel pada akhir
syntax. apabila tidak didefenisikan sebelumnya, maka perlu ddefenisikan hal ini juga berlaku pada
syntax GCV begitupun juga metode MSE.
R Concole
Output yang dihasilkan:
R Concole
Pada output tersebut terlihat bahwa nilai h optimal = 53 dengan GCV minimal = 3621,77 dan MSE =
3089,218. Selanjutnya untuk melihat hasil estimasi dan grafiknya sebagai berikut:
Syntax yang digunakan sama dengan syntax untuk plot dan estimasi CV, hanya saja gh1 yang semula
34 diganti dengan 53 sesuai dengan h optimal yang didapat
Syntax:
gh1=function(hopt)
{#hopt: nilai bandwidth optimal g <-
length(X)
Ghat <- rep(0, g) n <- length(Y) for(j in
1:g) { ghat <- 0
faktor <- 0 for(i in 1:n) {
faktor <- faktor + ker((X[j]-X[i])/hopt)
ghat <- ghat + Y[i] * ker((X[j]-X[i])/hopt)
}
if(faktor==0)Ghat[j]=0
else Ghat[j] <- ghat/faktor
}
Gh=matrix(Ghat,ncol=1)
R Concole
Output yang dihasilkan:
R Concole
Pada output tersebut terlihat bahwa nilai h optimal = 0,1 dengan GCV minimal = 25083,62 dan MSE Minimum
=. 199,9651. Selanjutnya untuk melihat hasil estimasi dan grafiknya sebagai berikut:
Syntax:
gh1=function(hopt)
{#hopt: nilai bandwidth optimal g <-
length(X)
Ghat <- rep(0, g) n <- length(Y) for(j in
1:g) { ghat <- 0
faktor <- 0 for(i in 1:n) {
faktor <- faktor + ker((X[j]-X[i])/hopt)
ghat <- ghat + Y[i] * ker((X[j]-X[i])/hopt)
}
if(faktor==0)Ghat[j]=0
else Ghat[j] <- ghat/faktor
}
Gh=matrix(Ghat,ncol=1)
R concele
Kesimpulan
Kita bisa membandingkan perbedaan regresi parametrik dan juga non parametrik
Untuk estimasi fungsi regresi non parametric bisa kita lakukan dengan pengamatan teknik
smoothing seperti CV,GCV dan MSE
Nilai bandiwith (Nilai h optimum) adalah parameter penghalus yang berfungsi mengontrol
kemulusan dan kurva yang kita estimasi
Pada pola atau sebaran data bisa kita lihat bahwa nilai bandwitd yang terlalu kecil akan
menghasilkan kurva yang under-smoothing ( sangat kasar / fluktuatif ), sedangkan untuk bandwith
yang terlalu besar akan menghasilkan kurva yang over-smoothing ( sangat halus ) sehingga dari
ketiga metode pemilihan bandwidth optimal yaitu CV,GCV dan MSE dapat kita buktikan bahwa
metode CV adalah metode terbaik untuk menentukan nilai bandwith optimum