TUGAS AKHIR – SS 141501 FAKTOR-FAKTOR YANG MEMPENGARUHI UNMET NEED KB DI INDONESIA DENGAN PENDEKATAN REGRESI SEMIPARAMETRIK SPLINE ANINDIA YURIDIANI NRP 1313 105 010 DOSEN PEMBIMBING Prof. Dr. Drs I Nyoman Budiantara, M.Si Program Studi S-1 Statistika Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Teknologi Sepuluh Nopember Surabaya 2015
94
Embed
FAKTOR-FAKTOR YANG MEMPENGARUHI UNMET NEED KB DI …
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
TUGAS AKHIR – SS 141501
FAKTOR-FAKTOR YANG MEMPENGARUHI UNMET NEED KB DI INDONESIA DENGAN PENDEKATAN REGRESI SEMIPARAMETRIK SPLINE ANINDIA YURIDIANI NRP 1313 105 010 DOSEN PEMBIMBING Prof. Dr. Drs I Nyoman Budiantara, M.Si Program Studi S-1 Statistika Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Teknologi Sepuluh Nopember Surabaya 2015
FINAL PROJECT – SS 141501
AFFECTING FACTORS OF UNMET NEED NUMBERS IN INDONESIA USING SPLINE SEMIPARAMETRIC REGRESSION ANINDIA YURIDIANI NRP 1313 105 010 SUPERVISOR Prof. Dr. Drs I Nyoman Budiantara, M.Si Undergraduate Programme of Statistics Faculty Of Mathematics And Natural Sciences Sepuluh Nopember Institute Of Technology Surabaya 2015
LEMBAR PENGESAHAN
FAKTOR.F'AIilOR YAI\IG MEMPENGARUHIUNMET NEED I(B DI INDOFIESIA DENGAN
PENDEKATAI\I REGRESISEMIPARAMETRIK SPLINE
TUGAS AKHIRDiajukan Untuk Menrenuhi Salah Satu Syarat
MemPeroleh Gelar Sarjanapada
Program Studi S-1 Jurusan StatistikaFakultas Matematika dan Ilmu Pengetahuan Alam
Institut Teknologi Sepuluh Nopember
O leh :AI\INDIA YURIDIANI
NRP. 1313 105 010
Disetujui oleh Pembimbing Tugas Akhir , (-tr/j//-
Prof. Dr. Drs I Nvoman Budiantara 1V!; /' )NIP. 196s0603 198903 I 003
SURABAYA, JUIi 2015
vl l
ix
FAKTOR-FAKTOR YANG MEMPENGARUHI
UNMET NEED KB DI INDONESIA DENGAN
PENDEKATAN REGRESI
SEMIPARAMETRIK SPLINE
Nama Mahasiswa : Anindia Yuridiani
NRP : 1313105010
Program Studi : Sarjana
Jurusan : Statistika FMIPA-ITS
Dosen Pembimbing : Prof. Dr. Drs I Nyoman Budiantara
Abstrak
Unmet need didefenisikan sebagai suatu keadaan dimana
seorang wanita berharap untuk mencegah dan menunda
kehamilannya tetapi disaat yang sama tidak menggunakan alat
kontrasepsi apapun. Salah satu masalah dalam pengelolaan
program KB yaitu masih tingginya angka unmet need KB di
Indonesia. Perumusan masalah yang dapat diambil adalah
pemodelan regresi semiparametrik spline pada faktor-faktor yang
mempengaruhi unmet need KB di Indonesia. Tujuan penelitian ini
adalah memodelkan faktor-faktor yang mempengaruhi terjadinya
unmet need KB di Indonesia dengan regresi semiparametrik
spline. Berdasarkan analisis dan pembahasan, terdapat 4
variabel yang signifikan, yaitu variabel median lamanya tahun
sekolah wanita, persentase wanita/pria kawin yang mengetahui
setidaknya satu jenis alat/cara KB modern, persentase wanita
bekerja, dan jumlah tempat pelayanan KB. Model terbaik yang
dihasilkan dengan R-Square 82,81% adalah sebagai berikut.
369)0,03(t344,3)0,021(t0,007t2335)0,16(t
2184)0,151(t7,6)0,61(t7,4) 0 ,64(t
7,1)0,67(t0,746t62,2)17,89(t61,6)4(t - 2,7
61)9,476(t0,054t0,58x1,521x52,42y
4341433
312322
2121312
11121ˆ
Kata Kunci : Keluarga Berencana, Unmet Need, Regresi
Semiparametrik, Regresi Spline.
x
(Halaman ini sengaja dikosongkan)
xi
AFFECTING FACTORS OF UNMET NEED
NUMBERS IN INDONESIA USING
SEMIPARAMETRIC REGRESSION SPLINE
Name of Student : Anindia Yuridiani
NRP : 1313105010
Department : Statistics FMIPA-ITS
Supervisor : Prof. Dr. Drs I Nyoman Budiantara
Abstract
Unmet need is defined as a situation where a woman hoping to
prevent or delay pregnancy but at the same time she is not using
any contraception. One of the problem of family planning
programs in Indonesia is the high number of unmet need. The
main problem of this study is how is the model of influence
factors of the occurrence of unmet need in Indonesia using
semiparametric regression spline. The purpose of this study is for
modelling the factors that influence the occurrence of unmet need
in Indonesia using semiparametric regression spline. Based on
the analysis, the significant predictor variables are women’s
length of the school year, the percentage of married women or
married men who know at least one type of modern
contraception, the percentage of working women, and the number
of family planning services. The best model with R-Square
82.81% as follows.
369)0,03(t344,3)0,021(t0,007t2335)0,16(t
2184)0,151(t7,6)0,61(t7,4) 0 ,64(t
7,1)0,67(t0,746t62,2)17,89(t61,6)4(t - 2,7
61)9,476(t0,054t0,58x1,521x52,42y
4341433
312322
2121312
11121ˆ
Keywords : Family Planning, Unmet Need, Semiparametric
Regression, Spline Regression.
xii
(Halaman ini sengaja dikosongkan)
xiii
KATA PENGANTAR
Puji syukur kehadirat Allah SWT yang telah melimpahkan
rahmat, hidayah dan kekuatan-Nya serta shalawat dan salam
penulis panjatkan kepada Nabi Besar Muhammad SAW atas suri
tauladannya dalam kehidupan ini. Sehingga penulis dapat
menyelesaikanl aporan Tugas Akhir yang berjudul ”FAKTOR-
FAKTOR YANG MEMPENGARUHI UNMET NEED KB DI
INDONESIA DENGAN PENDEKATAN REGRESI
SEMIPARAMETRIK SPLINE”.
Dalam penyusunan Laporan Tugas Akhir ini, banyak pihak
yang telah membantu, sehingga dengan segala hormat penulis
mengucapkan terima kasih kepada :
1. Orang tua dan saudara tercinta yang senantiasa memberikan
doa, semangat, kasih sayang serta dukungan moral yang luar
biasa. Terima kasih atas segala pengorbanan yang diberikan.
2. Bapak Prof. Dr. Drs. I Nyoman Budiantara, M.Si selaku
dosen pembimbing yang telah banyak meluangkan waktunya
untuk memberikan ilmu dan arahan demi terselesainya Tugas
Akhir ini.
3. Ibu Dr. Vita Ratnasari dan Bapak Dr. Wahyu Wibowo selaku
tim penguji atas saran-saran yang membangun untuk
kesempurnaan Tugas Akhir ini
4. Ibu Dra. Lucia Aridinanti, MT selaku Dosen Wali atas
bimbingannya yang bermanfaat.
5. Bapak Dr. Muhammad Mashuri, MT selaku Ketua Jurusan
Lampiran 1. Data Faktor-Faktor yang Mempengaruhi Unmet
Need KB di Indonesia tahun 2012
Provinsi Y X1 X2 t1 t2 t3 t4
Aceh 14,0 9,7 95,2 53,7 4,5 778 85
Sumatera
Utara 13,2 9,7 95,2 56,7 2 1.456 169
Sumatera
Barat 13,7 9,6 99,05 59,2 4,7 774 133
Riau 11,8 8,7 98,45 57,4 2,4 445 119
Jambi 7,9 8,2 99,05 59,9 1,8 771 39
Sumatera
Selatan 8,1 8,3 98,75 58 1,9 1.116 32
Bengkulu 9,1 8,8 98,85 62,2 4,7 334 46
Kep. Riau 14,5 11,1 99,75 51,2 3,7 202 25
DKI
Jakarta 13,2 11,2 99,5 54,2 2,4 513 71
Jawa Barat 11,0 8,4 98,7 48,9 2,6 3.476 528
Jawa
Tengah 10,4 8,3 98 55,4 5,4 1.747 602
DI.
Yogyakarta 11,5 11,2 99,9 67,6 1,2 289 114
Jawa
Timur 10,1 8,3 98,05 59,8 6,2 3.765 567
... ... ... ... ... ... ... ...
Papua
Barat 20,6 9 89,95 45,6 2,5 163 0
Papua 23,8 5,3 61,05 71,8 3,1 363 26
56
Lampiran 2 Program Regresi Spline Linier dengan R
a. Menentukan GCV Minimum dengan Satu Titik Knot untuk
4 Variabel Nonparametrik
GCV1=function(para) { data=read.csv("C://Users//us//My Documents//DATA.csv",sep=";",header=TRUE) data=as.matrix(data) p=length(data[,1]) q=length(data[1,]) m=ncol(data)-para-1 dataA=data[,(para+2):q] F=matrix(0,nrow=p,ncol=p) diag(F)=1 nk= length(seq(min(data[,2]),max(data[,2]),length.out=50)) knot1=matrix(ncol=m,nrow=nk) for (i in (1:m)) { for (j in (1:nk)) { a=seq(min(dataA[,i]),max(dataA[,i]),length.out=50) knot1[j,i]=a[j] } } a1=length(knot1[,1]) knot1=knot1[2:(a1-1),] aa=rep(1,p) data1=matrix(ncol=m,nrow=p) data2=data[,2:q] a2=nrow(knot1) GCV=rep(NA,a2) Rsq=rep(NA,a2) for (i in 1:a2) { for (j in 1:m) { for (k in 1:p) { if (data[k,(j+para+1)]<knot1[i,j]) data1[k,j]=0 else data1[k,j]=data[k,(j+para+1)]-knot1[i,j] } mx=cbind(aa,data2,data1) mx=as.matrix(mx) C=pinv(t(mx)%*%mx) B=C%*%(t(mx)%*%data[,1])
57
} mx=cbind(aa,data2,data1) mx=as.matrix(mx) C=pinv(t(mx)%*%mx) B=C%*%(t(mx)%*%data[,1]) yhat=mx%*%B SSE=0 SSR=0 for (r in (1:p)) { sum=(data[r,1]-yhat[r,])^2 sum1=(yhat[r,]-mean(data[,1]))^2 SSE=SSE+sum SSR=SSR+sum1 } Rsq[i]=(SSR/(SSE+SSR))*100 MSE=SSE/p A=mx%*%C%*%t(mx) A1=(F-A) A2=(sum(diag(A1))/p)^2 GCV[i]=MSE/A2 } GCV=as.matrix(GCV) Rsq=as.matrix(Rsq) cat("======================================","\n") cat("Nilai Knot dengan Spline linear 1 knot","\n") cat("======================================","\n") print (knot1) cat("=======================================","\n") cat("Rsq dengan Spline linear 1 knot","\n") cat("=======================================","\n") print (Rsq) cat("=======================================","\n") cat("HASIL GCV dengan Spline linear 1 knot","\n") cat("=======================================","\n") print (GCV) s1=min(GCV) cat("======================================","\n") cat("HASIL GCV terkecil dengan Spline linear 1 knot","\n") cat("======================================","\n") cat(" GCV =",s1,"\n") write.csv(GCV,file="C://Users//us//My Documents//GCV1.csv") write.csv(Rsq,file="C://Users//us//My Documents//Rsq1fix.csv") write.csv(knot1,file="C://Users//us//My Documents//knot1fix.csv") }
58
b. Menentukan GCV Minimum dengan Dua Knot untuk 4
Variabel Nonparametrik
c.
d.
GCV2=function(para) { data=read.csv("C://Users//us//My Documents//DATA.csv",sep=";",header=TRUE) data=as.matrix(data) p=length(data[,1]) q=length(data[1,]) m=ncol(data)-para-1 dataA=data[,(para+2):q] F=matrix(0,nrow=p,ncol=p) diag(F)=1 nk= length(seq(min(data[,2]),max(data[,2]),length.out=50)) knot=matrix(ncol=m,nrow=nk) for (i in (1:m)) { for (j in (1:nk)) { a=seq(min(dataA[,i]),max(dataA[,i]),length.out=50) knot[j,i]=a[j] } } a1=nrow(knot) knot=knot[2:(a1-1),] a2=nrow(knot) z=(a2*(a2-1)/2) knot2=cbind(rep(NA,(z+1))) for (i in (1:m)) { knot1=rbind(rep(NA,2)) for ( j in 1:(a2-1)) { for (k in (j+1):a2) { xx=cbind(knot[j,i],knot[k,i]) knot1=rbind(knot1,xx) } }
59
knot2=cbind(knot2,knot1) } knot2=knot2[2:(z+1),2:(2*m+1)] aa=rep(1,p) data2=matrix(ncol=(2*m),nrow=p) data1=data[,(para+2):q] data3=data[,2:q] a3=length(knot2[,1]) GCV=rep(NA,a3) Rsq=rep(NA,a3) for (i in 1:a3) { for (j in 1:(2*m)) { if (mod(j,2)==1) b=floor(j/2)+1 else b=j/2 for (k in 1:p) { if (data1[k,b]<knot2[i,j]) data2[k,j]=0 else data2[k,j]=data1[k,b]-knot2[i,j] } } mx=cbind(aa,data3,data2) mx=as.matrix(mx) C=pinv(t(mx)%*%mx) B=C%*%(t(mx)%*%data[,1]) yhat=mx%*%B SSE=0 SSR=0 for (r in (1:p)) { sum=(data[r,1]-yhat[r,])^2 sum1=(yhat[r,]-mean(data[,1]))^2 SSE=SSE+sum SSR=SSR+sum1 } Rsq[i]=(SSR/(SSE+SSR))*100 MSE=SSE/p A=mx%*%C%*%t(mx) A1=(F-A) A2=(sum(diag(A1))/p)^2 GCV[i]=MSE/A2 } GCV=as.matrix(GCV) Rsq=as.matrix(Rsq) cat("======================================","\n") cat("Nilai Knot dengan Spline linear 2 knot","\n") cat("======================================","\n") print(knot1) print (knot2)
60
c. Menentukan GCV Minimum dengan Tiga Knot untuk 4
Variabel Nonparametrik
GCV=as.matrix(GCV) Rsq=as.matrix(Rsq) cat("======================================","\n") cat("Nilai Knot dengan Spline linear 2 knot","\n") cat("======================================","\n") print(knot1) print (knot2) cat("======================================","\n") cat("Rsq dengan Spline linear 2 knot","\n") cat("======================================","\n") print (Rsq) cat("======================================","\n") cat("HASIL GCV dengan Spline linear 2 knot","\n") cat("======================================","\n") print (GCV) s1=min(GCV) cat("======================================","\n") cat("HASIL GCV terkecil dengan Spline linear 2 knot","\n") cat("======================================","\n") cat("GCV=",s1,"\n") write.csv(GCV,file="C://Users//us//My Documents//GCV2.csv") write.csv(Rsq,file="C://Users//us//My Documents//Rsq2.csv") write.csv(knot2,file="C://Users//us//My Documents//knot2.csv") }
GCV3=function(para) { data=read.csv("C://Users//us//My Documents//DATA.csv",sep=";",header=TRUE) data=as.matrix(data) p=length(data[,1]) q=length(data[1,]) m=ncol(data)-para-1 F=matrix(0,nrow=p,ncol=p) dataA=data[,(para+2):q] diag(F)=1 nk= length(seq(min(data[,2]),max(data[,2]),length.out=50)) knot=matrix(ncol=m,nrow=nk) for (i in (1:m)) { for (j in (1:nk)) { a=seq(min(dataA[,i]),max(dataA[,i]),length.out=50) knot[j,i]=a[j] } }
61
{ for (j in (1:nk)) { { a=seq(min(dataA[,i]),max(dataA[,i]),length.out=50) knot[j,i]=a[j] } } knot=knot[2:(nk-1),] a2=nrow(knot) z=(a2*(a2-1)*(a2-2)/6) knot1=cbind(rep(NA,(z+1))) for (i in (1:m)) { knot2=rbind(rep(NA,3)) for ( j in 1:(a2-2)) { for (k in (j+1):(a2-1)) { for (g in (k+1):a2) { xx=cbind(knot[j,i],knot[k,i],knot[g,i]) knot2=rbind(knot2,xx) } } } knot1=cbind(knot1,knot2) } knot1=knot1[2:(z+1),2:(3*m+1)] aa=rep(1,p) data1=matrix(ncol=(3*m),nrow=p) data2=data[,(para+2):q] a1=length(knot1[,1]) GCV=rep(NA,a1) Rsq=rep(NA,a1) for (i in 1:a1) { for (j in 1:ncol(knot1)) { b=ceiling(j/3) for (k in 1:p) { if (data2[k,b]<knot1[i,j]) data1[k,j]=0 else data1[k,j]=data2[k,b]-knot1[i,j] } } mx=cbind(aa,data[,2:q],data1) mx=as.matrix(mx) C=pinv(t(mx)%*%mx)
62
data1[k,j]=data2[k,b]-knot1[i,j] } } mx=cbind(aa,data[,2:q],data1) mx=as.matrix(mx) C=pinv(t(mx)%*%mx) B=C%*%(t(mx)%*%data[,1]) yhat=mx%*%B SSE=0 SSR=0 for (r in (1:p)) { sum=(data[r,1]-yhat[r,])^2 sum1=(yhat[r,]-mean(data[,1]))^2 SSE=SSE+sum SSR=SSR+sum1 } Rsq[i]=(SSR/(SSE+SSR))*100 MSE=SSE/p A=mx%*%C%*%t(mx) A1=(F-A) A2=(sum(diag(A1))/p)^2 GCV[i]=MSE/A2 } GCV=as.matrix(GCV) Rsq=as.matrix(Rsq) cat("======================================","\n") cat("Nilai Knot dengan Spline linear 3 knot","\n") cat("======================================","\n") print (knot1) cat("======================================","\n") cat("Rsq dengan Spline linear 3 knot","\n") cat("======================================","\n") cat("======================================","\n") cat("HASIL GCV dengan Spline linear 3 knot","\n") cat("======================================","\n") print (GCV) s1=min(GCV) cat("======================================","\n") cat("HASIL GCV terkecil dengan Spline linear 3 knot","\n") cat("======================================","\n") cat(" GCV =",s1,"\n") write.csv(GCV,file="C://Users//us//My Documents//GCV3.csv") write.csv(Rsq,file="C://Users//us//My Documents//Rsq3.csv") write.csv(knot1,file="C://Users//us//My Documents//knot3.csv") }
63
d. Menentukan GCV Minimum dengan Kombinasi Knot
GCVkom=function(para) { data=read.table("C://Users//us//My Documents//DATA.txt",header=TRUE) data=as.matrix(data) p1=length(data[,1]) q1=length(data[1,]) v=para+2 F=matrix(0,nrow=p1,ncol=p1) diag(F)=1 x1=read.table("C://Users//us//MyDocuments//X1.txt",header=FALSE) x3=read.table("C://Users//us//MyDocuments//X3.txt",header=FALSE) x5=read.table("C://Users//us//MyDocuments//X5.txt",header=FALSE) x6=read.table("C://Users//us//MyDocuments//X6.txt",header=FALSE) n2=nrow(x1) a=matrix(nrow=4,ncol=3^4) m=0 for (i in 1:3) for (k in 1:3) for (s in 1:3) for (q in 1:3) { m=m+1 a[,m]=c(i,k,s,q) } a=t(a) GCV=matrix(nrow=nrow(x1),ncol=3^4) for (i in 1:3^4) { for (h in 1:nrow(x1)) { if (a[i,1]==1) { gab=as.matrix(x1[,1]) gen=as.matrix(data[,v]) aa=matrix(nrow=nrow(x1)*nrow(data),ncol=1) for (k in 1:1) for (w in 1:nrow(data)) { if (gen[w,k]<gab[h,k]) aa[w,k]=0 else aa[w,k]=gen[w,k]-gab[h,k] } } else if (a[i,1]==2) { gab=as.matrix(x1[,2:3]) gen=as.matrix(cbind(data[,v],data[,v]))
64
} } else if (a[i,1]==2) { gab=as.matrix(x1[,2:3]) gen=as.matrix(cbind(data[,v],data[,v])) aa=matrix(nrow=nrow(x1)*nrow(data),ncol=2) for (k in 1:2) for (w in 1:nrow(data)) { if (gen[w,k]<gab[h,k]) aa[w,k]=0 else aa[w,k]=gen[w,k]-gab[h,k] } } else { gab=as.matrix(x1[,4:6]) gen=as.matrix(cbind(data[,v],data[,v],data[,v])) aa=matrix(nrow=nrow(x1)*nrow(data),ncol=3) for (k in 1:3) for (w in 1:nrow(data)) { if (gen[w,k]<gab[h,k]) aa[w,k]=0 else aa[w,k]=gen[w,k]-gab[h,k] } } if (a[i,2]==1) { gab=as.matrix(x3[,1] ) gen=as.matrix(data[,(v+1)]) cc=matrix(nrow=nrow(x1)*nrow(data),ncol=1) for (k in 1:1) for (w in 1:nrow(data)) { if (gen[w,k]<gab[h,k]) cc[w,k]=0 else cc[w,k]=gen[w,k]-gab[h,k] } } else if (a[i,2]==2) { gab=as.matrix(x3[,2:3] ) gen=as.matrix(cbind(data[,(v+1)],data[,(v+1)])) cc=matrix(nrow=nrow(x1)*nrow(data),ncol=2) for (k in 1:2) for (w in 1:nrow(data)) { if (gen[w,k]<gab[h,k]) cc[w,k]=0 else cc[w,k]=gen[w,k]-gab[h,k] } } else
65
} else { gab=as.matrix(x3[,4:6]) gen=as.matrix(cbind(data[,(v+1)],data[,(v+1)],data[,(v+1)])) cc=matrix(nrow=nrow(x1)*nrow(data),ncol=3) for (k in 1:3) for (w in 1:nrow(data)) { if (gen[w,k]<gab[h,k]) cc[w,k]=0 else cc[w,k]=gen[w,k]-gab[h,k] } } if (a[i,3]==1) { gab=as.matrix(x5[,1] ) gen=as.matrix(data[,(v+2)]) dd=matrix(nrow=nrow(x1)*nrow(data),ncol=1) for (k in 1:1) for (w in 1:nrow(data)) { if (gen[w,k]<gab[h,k]) dd[w,k]=0 else dd[w,k]=gen[w,k]-gab[h,k] } } else if (a[i,3]==2) { gab=as.matrix(x5[,2:3] ) gen=as.matrix(cbind(data[,(v+2)],data[,(v+2)])) dd=matrix(nrow=nrow(x1)*nrow(data),ncol=2) for (k in 1:2) for (w in 1:nrow(data)) { if (gen[w,k]<gab[h,k]) dd[w,k]=0 else dd[w,k]=gen[w,k]-gab[h,k] } } else { gab=as.matrix(x5[,4:6]) gen=as.matrix(cbind(data[,(v+2)],data[,(v+2)],data[,(v+2)])) dd=matrix(nrow=nrow(x1)*nrow(data),ncol=3) for (k in 1:3) for (w in 1:nrow(data)) { if (gen[w,k]<gab[h,k]) dd[w,k]=0 else dd[w,k]=gen[w,k]-gab[h,k] } } if (a[i,4]==1) { gab=as.matrix(x6[,1] )
66
} } if (a[i,4]==1) { gab=as.matrix(x6[,1] ) gen=as.matrix(data[,(v+3)]) ff=matrix(nrow=nrow(x1)*nrow(data),ncol=1) for (k in 1:1) for (w in 1:nrow(data)) { if (gen[w,k]<gab[h,k]) ff[w,k]=0 else ff[w,k]=gen[w,k]-gab[h,k] } } else if (a[i,4]==2) { gab=as.matrix(x6[,2:3] ) gen=as.matrix(cbind(data[,(v+3)],data[,(v+3)])) ff=matrix(nrow=nrow(x1)*nrow(data),ncol=2) for (k in 1:2) for (w in 1:nrow(data)) { if (gen[w,k]<gab[h,k]) ff[w,k]=0 else ff[w,k]=gen[w,k]-gab[h,k] } } else { gab=as.matrix(x6[,4:6]) gen=as.matrix(cbind(data[,(v+3)],data[,(v+3)],data[,(v+3)])) ff=matrix(nrow=nrow(x1)*nrow(data),ncol=3) for (k in 1:3) for (w in 1:nrow(data)) { if (gen[w,k]<gab[h,k]) ff[w,k]=0 else ff[w,k]=gen[w,k]-gab[h,k] } } ma=as.matrix(cbind(aa,cc,dd,ff)) mx=cbind(rep(1,nrow(data)),data[,2:q1],na.omit(ma)) mx=as.matrix(mx) C=pinv(t(mx)%*%mx) B=C%*%(t(mx)%*%data[,1]) yhat=mx%*%B SSE=0 SSR=0 for (r in 1:nrow(data)) { sum=(data[r,1]-yhat[r,])^2 sum1=(yhat[r,]-mean(data[,1]))^2 SSE=SSE+sum
67
for (r in 1:nrow(data)) { sum=(data[r,1]-yhat[r,])^2 sum1=(yhat[r,]-mean(data[,1]))^2 SSE=SSE+sum SSR=SSR+sum1 } Rsq=(SSR/(SSE+SSR))*100 MSE=SSE/p1 A=mx%*%C%*%t(mx) A1=(F-A) A2=(sum(diag(A1))/p1)^2 GCV[h,i]=MSE/A2 } if (a[i,1]==1) sp=x1[,1] else if (a[i,1]==2) sp=x1[,2:3] else sp=x1[,4:6] if (a[i,2]==1) spl=x3[,1] else if (a[i,2]==2) spl=x3[,2:3] else spl=x3[,4:6] if (a[i,3]==1) spline=x5[,1] else if (a[i,3]==2) spline=x5[,2:3] else spline=x5[,4:6] if (a[i,4]==1) spliness=x6[,1] else if (a[i,4]==2) spliness=x6[,2:3] else spliness=x6[,4:6] kkk=cbind(sp,spl,spline,spliness) cat("=====================","\n") print(i) print(kkk) print(Rsq) } write.csv(GCV,file="C://Users//us//My Documents//output GCV kombinasi.csv") write.csv(Rsq,file="C://Users//us//My Documents//output Rsq kombinasi.csv") }
68
e. Uji Parameter dengan Menggunakan Tiga Titik Knot
uji=function(alpha,para) { data=read.csv("C://Users//us//My Documents//DATA.csv",sep=";",header=TRUE) knot=read.table("C://Users//us//My Documents//knot.txt",header=FALSE) data=as.matrix(data) knot=as.matrix(knot) ybar=mean(data[,1]) m=para+2 p=nrow(data) q=ncol(data) dataA=cbind(data[,m],data[,m],data[,m],data[,m+1],data[,m+1],data[,m+1],data[,m+2],data[,m+2],data[,m+2],data[,m+3],data[,m+3],data[,m+3]) dataA=as.matrix(dataA) satu=rep(1,p) n1=ncol(knot) data.knot=matrix(ncol=n1,nrow=p) for (i in 1:n1) { for(j in 1:p) { if (dataA[j,i]<knot[1,i]) data.knot[j,i]=0 else data.knot[j,i]=dataA[j,i]-knot[1,i] } } mx=cbind(satu, data[,2:m],data.knot[,1:3],data[,m+1],data.knot[,4:6],data[,m+2],data.knot[,7:9],data[,m+3],data.knot[,10:12]) mx=as.matrix(mx) B=(pinv(t(mx)%*%mx))%*%t(mx)%*%data[,1] cat("=======================================","\n") cat("Estimasi Parameter","\n") cat("=======================================","\n") print (B) n1=nrow(B) yhat=mx%*%B res=data[,1]-yhat SSE=sum((data[,1]-yhat)^2) SSR=sum((yhat-ybar)^2) SST=SSR+SSE MSE=SSE/(p-n1) MSR=SSR/(n1-1) Rsq=(SSR/(SSR+SSE))*100 #uji F (uji serentak)
69
MSR=SSR/(n1-1) Rsq=(SSR/(SSR+SSE))*100 #uji F (uji serentak) Fhit=MSR/MSE pvalue=pf(Fhit,(n1-1),(p-n1),lower.tail=FALSE) if (pvalue<=alpha) { cat("------------------------------------","\n") cat("Kesimpulan hasil uji serentak","\n") cat("------------------------------------","\n") cat("Tolak Ho yakni minimal terdapat 1 prediktor yang signifikan","\n") cat("","\n") } else { cat("------------------------------------","\n") cat("Kesimpulan hasil uji serentak","\n") cat("------------------------------------","\n") cat("Gagal Tolak Ho yakni semua prediktor tidak berpengaruh signifikan","\n") cat("","\n") } #uji t (uji individu) thit=rep(NA,n1) pval=rep(NA,n1) SE=sqrt(diag(MSE*(pinv(t(mx)%*%mx)))) cat("------------------------------------","\n") cat("Kesimpulan hasil uji individu","\n") cat("------------------------------------","\n") thit=rep(NA,n1) pval=rep(NA,n1) for (i in 1:n1) { thit[i]=B[i,1]/SE[i] pval[i]=2*(pt(abs(thit[i]),(p-n1),lower.tail=FALSE)) if (pval[i]<=alpha) cat("Tolak Ho yakni prediktor signifikan dengan pvalue",pval[i],"\n") else cat("Gagal tolak Ho yakni prediktor tidak signifikan dengan pvalue",pval[i],"\n") } thit=as.matrix(thit) cat("=======================================","\n") cat("nilai t hitung","\n") cat("=======================================","\n") print (thit) cat("Analysis of Variance","\n")
MSE=SSE/(p-n1) MSR=SSR/(n1-1) Fhit=MSR/MSE pvalue=pf(Fhit,(n1-1),(p-n1),lower.tail=FALSE) if (pvalue<=alpha) { cat("------------------------------------","\n") cat("Kesimpulan hasil uji serentak","\n") cat("------------------------------------","\n") cat("Tolak Ho yakni minimal terdapat 1 prediktor yang signifikan","\n") cat("","\n") } else { cat("------------------------------------","\n") cat("Kesimpulan hasil uji serentak","\n") cat("------------------------------------","\n") cat("Gagal Tolak Ho yakni semua prediktor tidak berpengaruh signifikan","\n") cat("","\n") } cat("Analysis of Variance","\n") cat("=======================================","\n") cat("Sumber df SS MS Fhit","\n") cat("Regresi ",n1-1," ",SSR," ",MSR,"",Fhit,"\n") cat("Error ",p-n1," ",SSE,"",MSE,"\n") cat("Total ",p-1," ",SST,"\n") cat("=======================================","\n") cat("Fhit","\n") print(Fhit) cat("pvalue","\n") print(pvalue) }
[4,] 0.054013918 [5,] 9.476310559 [6,] -27.365174828 [7,] 17.889484507 [8,] 0.746298680 [9,] -0.669761158 [10,] -0.637867769 [11,] -0.605974381 [12,] -0.004202079 [13,] 0.151443525 [14,] -0.003554536 [15,] -0.158553621 [16,] 0.007443954 [17,] 0.021001509 [18,] -0.003373324 [19,] -0.027748286 ------------------------------------ Kesimpulan hasil uji serentak ------------------------------------ Tolak Ho yakni minimal terdapat 1 prediktor yang signifikan ------------------------------------ Kesimpulan hasil uji individu ------------------------------------ Tolak Ho yakni prediktor signifikan dengan pvalue 6.315547e-05 Tolak Ho yakni prediktor signifikan dengan pvalue 0.004539012 Tolak Ho yakni prediktor signifikan dengan pvalue 2.563262e-05 Gagal tolak Ho yakni prediktor tidak signifikan dengan pvalue 0.6612169 Tolak Ho yakni prediktor signifikan dengan pvalue 0.04992687 Tolak Ho yakni prediktor signifikan dengan pvalue 0.01664473 Tolak Ho yakni prediktor signifikan dengan pvalue 0.01690426 Gagal tolak Ho yakni prediktor tidak signifikan dengan pvalue 0.07792956 Gagal tolak Ho yakni prediktor tidak signifikan dengan pvalue 0.07397819 Gagal tolak Ho yakni prediktor tidak signifikan dengan pvalue 0.07397819 Gagal tolak Ho yakni prediktor tidak signifikan dengan pvalue 0.07397819 Tolak Ho yakni prediktor signifikan dengan pvalue 0.04505911 Gagal tolak Ho yakni prediktor tidak signifikan dengan pvalue 0.2204541 Gagal tolak Ho yakni prediktor tidak signifikan dengan pvalue 0.438481 Gagal tolak Ho yakni prediktor tidak signifikan dengan pvalue 0.2313041 Gagal tolak Ho yakni prediktor tidak signifikan dengan pvalue 0.4034271
73
Gagal tolak Ho yakni prediktor tidak signifikan dengan pvalue 0.438481 Gagal tolak Ho yakni prediktor tidak signifikan dengan pvalue 0.2313041 Gagal tolak Ho yakni prediktor tidak signifikan dengan pvalue 0.4034271 Gagal tolak Ho yakni prediktor tidak signifikan dengan pvalue 0.3280379 Gagal tolak Ho yakni prediktor tidak signifikan dengan pvalue 0.5999638 Gagal tolak Ho yakni prediktor tidak signifikan dengan pvalue 0.188368 ======================================= nilai t hitung ======================================= [,1] [1,] 5.6202518 [2,] 3.3743126 [3,] -6.1397046 [4,] 0.4477032 [5,] 2.1455730 [6,] -2.7184271 [7,] 2.7105326 [8,] 1.9021333 [9,] -1.9310706 [10,] -1.9310706 [11,] -1.9310706 [12,] -2.2004874 [13,] 1.2826230 [14,] -0.7974953 [15,] -1.2513761 [16,] 0.8615945 [17,] 1.0134564 [18,] -0.5366059 [19,] -1.3828591 Analysis of Variance ====================================== Sumber df SS MS Fhit Regresi 18 412.0122 22.88956 3.747336 Error 14 85.51512 6.108223 Total 32 497.5273 ====================================== s= 2.471482 Rsq= 82.81197 pvalue(F)= 0.007857306 >
74
h. Hasil Uji Identik
------------------------------------ Kesimpulan hasil uji serentak ------------------------------------ Gagal Tolak Ho yakni semua prediktor tidak berpengaruh signifikan Analysis of Variance ======================================= Sumber df SS MS Fhit Regresi 18 18,06287 1,003493 0,7020757 Error 14 20,01052 1,429323 Total 32 38,0734 ======================================= Fhit [1] 0,7020757 pvalue [1] 0,7628267
75
BIODATA PENULIS
Penulis dilahirkan pada
tanggal 31 Oktober
1992 di kota Surabaya
dengan nama lengkap
Anindia Yuridiani.
Penulis yang sudah
akrab dipanggil Anin
ini merupakan anak
pertama dari dua
bersaudara dengan
mempunyai satu adik
laki-laki. Penulis telah
menempuh pendididkan formal yaitu di TK Puspa Kencana
Semarang, SDN Babat Jerawat 1 Surabaya, SMP Negeri 26
Surabaya dan SMA Negeri 11 Surabaya. Setelah lulus dari
SMA Negeri 11 Surabaya pada tahun 2010, penulis
mengikuti seleksi penerimaan mahasiswa baru ITS dan
diterima di jurusan Diploma III Statistika ITS sekaligus
menjadi keluarga sigma 21. Kemudian penulis melanjutkan
ke jenjang Sarjana di Jurusan Statistika ITS pada tahun
2013. Selama berkuliah di Statistika-ITS, penulis sempat
menjadi staff Departemen Kewirausahaan HIMASTA-ITS
2011/2012 dan Ketua Departemen Kewirausahaan
HIMASTA-ITS 2012/2013. Jika terdapat kritik dan saran
terkait penelitian ini, dapat dikirim melalui e-mail penulis