Anda di halaman 1dari 19

LAMPIRAN

Lampiran 1

Data yang digunakan dalam penelitian ini adalah data Indeks Pembangunan
Manusia dan Persentase Penduduk Miskin tahun 2016

Persentase Penduduk Indeks Pembangunan


No. Kabupaten/Kota
Miskin Manusia
1 Simeulue 19.93 63.82
2 Aceh Singkil 21.6 66.96
3 Aceh Selatan 13.48 64.13
4 Aceh Tenggara 14.46 67.48
5 Aceh Timur 15.06 65.42
6 Aceh Tengah 16.64 72.04
7 Aceh Barat 20.38 69.26
8 Aceh Besar 15.55 71.75
9 Pidie 21.25 69.06
10 Bireuen 15.95 70.21
11 Aceh Utara 19.46 67.19
12 Aceh Barat Daya 18.03 64.57
… … …. …
504 Memberamo Tengah 38.36 44.15
505 Yalimo 35.80 44.95
506 Puncak 38.58 39.96
507 Dogiyai 31.21 53.32
508 Intan Jaya 43.73 44.82
509 Deiyai 45.11 48.50
510 Kota Jayapura 12.06 78.56
Sumber : Publikasi Badan Pusat Statistika tahun 2016

57
Lampiran 2

Estimasi Model Regresi Kuantil Smoothing Splines

Persentase Penduduk Miskin


Indeks Pembangunan Manusia
𝜏 = 0.2 𝜏 = 0.4 𝜏 = 0.6 𝜏 = 0.8
(1) (2) (3) (4) (5)
40 31.55 38.15 38.55 42.75
41 31.52 37.72 38.52 42.49
42 31.49 37.28 38.49 42.24
43 31.46 36.85 38.46 41.99
44 31.44 36.42 38.43 41.73
45 31.41 35.99 38.41 41.48
46 31.38 35.55 38.38 41.22
47 31.36 35.12 38.35 40.97
48 31.33 34.69 38.32 40.71
49 31.30 34.26 38.29 40.46
50 31.27 33.82 38.26 40.21
51 31.25 33.39 38.23 39.95
52 31.22 32.96 38.20 39.70
53 31.12 32.53 38.17 39.44
54 28.94 30.93 38.14 39.19
55 26.47 28.63 35.63 37.36
56 23.99 26.33 33.12 35.53
57 21.52 24.02 30.60 33.70
58 19.05 21.72 28.09 31.87
59 16.57 19.54 25.58 30.04
60 14.19 17.86 23.06 27.70
61 12.74 16.17 20.55 25.02
62 11.29 14.48 18.04 22.34
63 9.84 12.79 15.63 19.66
64 8.39 11.10 13.95 17.07
65 7.67 10.52 13.35 16.50
66 7.13 10.23 12.81 15.94
67 6.89 9.89 12.27 15.38
68 6.65 9.28 11.73 14.82
69 6.42 8.67 11.19 14.26
70 6.18 8.16 10.66 13.70
71 5.94 7.90 10.12 13.12
72 5.71 7.64 9.58 12.49
73 5.47 7.33 9.04 11.85
74 5.23 6.85 8.50 11.22
75 5.00 6.37 7.88 10.59
76 4.71 5.89 7.20 9.95
77 4.36 5.40 6.53 9.32
78 4.00 4.92 5.86 8.69
79 3.65 4.44 5.19 8.05
80 3.30 4.36 5.11 7.79
81 2.95 4.36 5.11 7.65
82 2.60 4.36 5.11 7.51
83 2.25 4.36 5.11 7.38
84 1.90 4.36 5.11 7.24

58
Lampiran 3

Kabupaten/Kota dengan IPM Rendah Menurut Tingkat Kemiskinan dan

Status IPM

Tingkat Kemiskinan
Kabupaten/Kota Sangat Sangat
Rendah Sedang Tinggi
Rendah Tinggi
(1) (2) (3) (4) (5) (6)
Puncak √
Pegunungan Bintang √
Mamberamo Tengah √
Intan Jaya √
Yalimo √
Lanny Jaya √
Puncak Jaya √
Tolikara √
Yahukimo √
Asmat √
Deiyai √
Mamberamo Raya √
Tambrauw √
Dogiyai √
Sabu Raijua √
Pegunungan Arfak √
Jayawijaya √
Paniai √
Maybrat √
Mappi √
Manokwari Selatan √
Teluk Wondama √
Manggarai Timur √
Kep.Mentawai √
Malaka √
Sumba Tengah √
Pulau Taliabu √
Alor √
Nias Barat √
Sampang √
Nias Selatan √
Sorong Selatan √
Rote Ndao √
Boven Digoel √
Maluku Barat Daya √
Nias √
Pulau Morotai √

59
Lampiran 4

Parameter Model

𝜏 = 0.2 𝜏 = 0.4 𝜏 = 0.6 𝜏 = 0.8


𝛼 31.57 38.58 38.58 43.00
Knot ke-i
1 -0.05 -0.84 -0.06 -0.49
2 -0.11 -1.81 -0.12 -1.07
3 -0.13 -2.10 -0.14 -1.24
4 -0.14 -2.16 -0.15 -1.27
5 -0.14 -2.25 -0.15 -1.32
6 -0.15 -2.39 -0.16 -1.41
7 -0.19 -3.09 -0.21 -1.82
8 -0.19 -3.10 -0.21 -1.82
9 -0.20 -3.18 -0.21 -1.87
10 -0.23 -3.69 -0.25 -2.17
11 -0.25 -3.91 -0.26 -2.30
12 -0.28 -4.49 -0.30 -2.64
13 -0.36 -5.78 -0.39 -3.40
14 -0.38 -6.02 -0.41 -3.54
15 -0.65 -6.14 -0.41 -3.61
16 -1.10 -6.22 -0.42 -3.66
17 -2.63 -7.65 -0.44 -3.81
18 -6.07 -10.85 -3.93 -6.36
19 -6.54 -11.29 -4.41 -6.71
20 -7.98 -12.62 -5.87 -7.77
21 -8.07 -12.71 -5.97 -7.84
22 -8.92 -13.50 -6.82 -8.46
23 -10.82 -15.27 -8.76 -9.87
24 -10.87 -15.32 -8.81 -9.91
25 -11.44 -15.85 -9.38 -10.33
26 -11.79 -16.17 -9.74 -10.58
27 -12.60 -16.93 -10.57 -11.19
28 -12.70 -17.02 -10.67 -11.26
29 -12.85 -17.16 -10.82 -11.37
30 -12.97 -17.28 -10.94 -11.46
31 -13.12 -17.41 -11.09 -11.57
32 -13.32 -17.60 -11.29 -11.72
33 -13.49 -17.76 -11.47 -11.85
34 -13.69 -17.94 -11.67 -11.99
35 -14.48 -18.68 -12.48 -12.58
36 -14.78 -18.88 -12.78 -12.80
37 -15.67 -19.49 -13.68 -13.46
38 -16.02 -19.73 -14.03 -13.72
39 -16.56 -20.10 -14.59 -14.31
40 -16.66 -20.17 -14.69 -14.42
… … … … …
439 -29.80 -34.21 -33.47 -35.80

60
Lampiran 5

Nilai 𝝀 Optimal mengunakan Schwarz Information Criterion (SIC)

𝜏 = 0.2 𝜏 = 0.4

𝜏 = 0.6 𝜏 = 0.8

61
Lampiran 6

Syntax Program R Regresi Kuantil Smoothing Splines

1. Pemodelan Regresi Smoothing Splines

#Mengaktifkan packages

library(quantreg)

library(Metrics)

#Memanggil data dan membuat scatter plot

setwd("C:/Users/Lukman Permadi/Desktop/Lukman Permadi/")

data=read.csv("dataku.csv",sep=";")

data

attach(data)

names(data)

y=data[,1]

x=data[,2]

plot(y=y,x=x,lwd=2,xlab='Indeks Pembagunan Manusia',ylab='Presentase Penduduk


Miskin',col="darkgrey",cex=1)

#Transformasi data

a=x-min(x)

x=a/(max(a)-min(a))

plot(x,y,lwd=2,xlab='x',ylab='y',col="darkgrey",cex=1)

#Membuat fungsi untuk basis x yang ditransformasikan (R(x,z))

rk<-function(x,z) # R(x,z) for cubic spline on [0,1]

{ ((z-0.5)^2-1/12)*((x-0.5)^2-1/12)/4-

((abs(x-z)-0.5)^4-(abs(x-z)-0.5)^2/2+7/240)/24

62
63

Lampiran 6 (lanjutan)

#Membuat fungsi untuk matriks basis B

spl.X<-function(x,xk)

# set up model matrix for cubic penalized regression spline

{ q<-length(xk)+2 # number of parameters

n<-length(x) # number of data

X<-matrix(1,n,q) # initialized model matrix

X[,2]<-x # set second column to x

X[,3:q]<-outer(x,xk,FUN=rk) # and remaining to R(x,xk)

#Fitting kurva regresi splines

xk<-1:4/5 # choose some knots

X<-spl.X(x,xk) # generate model matrix

mod.1<-lm(y~X-1) # fit model

xp<-0:100/100 # x values for prediction

Xp<-spl.X(xp,xk) # prediction matrix

plot(xp,Xp%*%coef(mod.1))

lines(xp,Xp%*%coef(mod.1)) # plot fitted spline

#Membuat matriks pemulus T

spl.S<-function(xk)

# set up the penalized regression spline penalty matrix,

# given knot sequence xk

{ q<-length(xk)+2;S<-matrix(0,q,q) # initialize matrix to 0

S[3:q,3:q]<-outer(xk,xk,FUN=rk) # fill in non-zero part

S}
64

Lampiran 6 (lanjutan)

#Fitting kurva regresi splines dengan smoothing

mat.sqrt<-function(S) # A simple matrix square root

{ d<-eigen(S,symmetric=TRUE)

rS<-d$vectors%*%diag(d$values^0.5)%*%t(d$vectors)

prs.fit<-function(y,x,xk,lambda)

q<-length(xk)+2 # dimension of basis

n<-length(x) # number of data

# create augmented model matrix ....

Xa <- rbind(spl.X(x,xk),mat.sqrt(spl.S(xk))*sqrt(lambda))

y[(n+1):(n+q)]<-0 # augment the data vector

lm(y~Xa-1) # fit and return the penalized regression spline }

xk<-1:4/5 # choose some knots

mod.2<-prs.fit(y,x,xk,0.0001) # fit pen. reg. spline

Xp<-spl.X(xp,xk) # matrix to map params to fitted values at xp

plot(x,y);lines(xp,Xp%*%coef(mod.2)) # plot data & spl. fit

#Pemilihan parameter pemulus (𝝀) optimal menggunakan GCV

lambda<-1e-8;n<-length(y);V<-0

for (i in 1:100) # loop through smoothing parameters

{ mod<-prs.fit(y,x,xk,lambda) # fit model, given lambda

trA<-sum(influence(mod)$hat[1:n]) # find tr(A)

rss<-sum((y-fitted(mod)[1:n])^2)# residual sum of squares

V[i]<-n*rss/(n-trA)^2 # obtain GCV score

lambda<-lambda*1.5 # increase lambda }

plot(1:100,V,type="l",main="GCV score",xlab="Indeks",col="blue",lwd=2)
65

Lampiran 6 (lanjutan)

i<-(1:100)[V==min(V)] # extract index of min(V)

mod.3<-prs.fit(y,x,xk,1.5^(i-1)*1e-8) # fit optimal model

Xp<-spl.X(xp,xk) # .... and plot it

plot(x,y);lines(xp,Xp%*%coef(mod.3))

lambdaopt=1.5^(i-1)*1e-8

lambdaopt

plot(1:100,V,type="l",main="GCV score",xlab="i",ylab="GCV",col="red",lwd=2)

#legend

legend("bottomright",legend=c(eval(substitute(expression(lambda["optimal"]==lambda
opt),list(lambdaopt=lambdaopt)))))

abline(v=i,col="blue", lwd=2,lty=2)

#Fitting kurva regresi smoothing splines dengan 𝝀 optimal

xk<-1:4/5 # choose some knots

mod.4<-prs.fit(y,x,xk,lambdaopt) # fit pen. reg. spline

Xp<-spl.X(xp,xk) # matrix to map params to fitted values at xp

plot(x,y,xlab="Indeks Pembangunan Manusia",ylab="Persentase Penduduk Miskin");

lines(xp,Xp%*%coef(mod.4),col="blue",lwd=2) # plot data & spl. fit

residualsmooth=y-fitted(mod.4)[1:n]

residualsmooth

write.csv(residualsmooth, file="residual.csv")

#Prediksi dan menghitung nilai MSE dan RMSE

fitted(mod.4)[1:n]

rss=sum((y-fitted(mod.4)[1:n])^2)

MSE1=rss/(length(x)) ; MSE1
66

Lampiran 6 (lanjutan)

RMSE1= rmse(y,fitted(mod.4)[1:n])

RMSE1

2. Regresi Kuantil Smoothing Splines (𝝉 = 𝟎. 𝟓)

#Pemilihan Parameter Pemulus (Lambda) Pada Median Dengan SIC untuk 𝝉 = 𝟎. 𝟓 #

tau=0.5

x=data$Indeks.Pembangunan.Manusia

y=data$Persentase.Penduduk.Miskin

fsic = function(lbd,x,y,tau) {

#Prediksi

ifit = rqss(y~qss(x,lambda=lbd),tau=tau)

n = length(x)

dts2 = data.frame(y,x)

dts1 = data.frame(predict(ifit,dts2,interval="confidence"))

yhat = dts1$yhat

#Menghitung error

error = y-yhat ; mserqss = mse(y,yhat)

p_lamb = length(error[which(abs(error)<(10^(-2)))])

sic = log(sum(error*(tau-1*(error<0)))/n)+log(n)*p_lamb/(n*2)

cat("Lambda =",lbd," Nilai SIC =",sic," serta Nilai MSE =", mserqss,"\n")

sic = log(sum(error*(tau-1*(error<0)))/n)+log(n)*p_lamb/(n*2)

}
67

Lampiran 6 (lanjutan)

#Proses Pencarian Lambda Optimum untuk 𝝉 = 𝟎. 𝟓

fdata = c()

lambda = seq(1, 8, 0.1)

for (i in 1:length(lambda)) {

fdata[[i]] = fsic(lambda[[i]],x,y,tau)

#Plot Pencarian Lambda untuk 𝝉 = 𝟎. 𝟓

plot(y=fdata, x=lambda, ylab="Nilai SIC", xlab="Lambda", pch=16, cex=0.5,


col="magenta")

lines(y=fdata, x=lambda, col="red", lwd=2)

z= lambda[which.min(fdata)]

legend("topright",legend=c(paste(expression("Lambda Optimal"),"=",z)))

abline(v=z, col ="blue", lwd=2, lty=2)

#Fit Regresi Kuantil Smoothing Splines Median 𝝉 = 𝟎. 𝟓 #

xx<-data$Indeks.Pembangunan.Manusia-min(data$Indeks.Pembangunan.Manusia);

xxx<-xx/(max(xx)-min(xx)) ; z

#Memasukan nilai lambda optimal yang didapatkan

ifit = rqss(y~qss(x,lambda=z,constraint = "D"),tau=0.5)

df1 = data.frame(y = mean(y), x = seq(min(x) + 0.00001, max(x) - 0.00001))

df2 = data.frame(predict(ifit,df1,interval="confidence"))

yhat1 = df2$yhat

x3 = df1$x-min(df1$x);

x4 = x3/(max(x3)-min(x3))

df3 = data.frame(y = mean(y), x4 = x4)


68

Lampiran 6 (lanjutan)

plot(xxx, y, lwd=2, xlab='IPM', ylab='Persentase Penduduk Miskin', col="darkgrey",


cex=1)

lines(df3[["x4"]],yhat1,col="red",lwd=2, lty=1)

ifit$coef

#Menghitung MSE Regresi Kuantil Smoothing Splines (Median tau=0.5)

df4 = data.frame(y,x)

df5 = data.frame(predict(ifit,df4,interval="confidence"))

yhat2 = df5$yhat

MSE2 = mse(y,yhat2)

MSE2

#Root Mean Square Error rqss median

RMSE2=rmse(y,yhat2)

RMSE2

3. Perbandingan hasil pemodelan smoothing splines dan regresi kuantil smoothing


splines
(𝝉 = 𝟎. 𝟓)
#Perbandingan Regresi Smoothing Splines Pendekatan Mean dan Median

plot(xxx, y, lwd=2, xlab='IPM', ylab='Persentase Penduduk Miskin', col="darkgrey",


cex=1)

#Regresi Kuantil Smoothing Splines (Median)

lines(df3[["x4"]],yhat1,col="red",lwd=2, lty=1)

#Regresi Smoothing Splines (Mean)

lines(xp,Xp%*%coef(mod.1), col="blue", lwd=2,lty=2)


69

Lampiran 6 (lanjutan)

legend("topright", c("Smoothing Splines_Mean","Smoothing Splines_Median"), col =


c("blue","red"),lty=c(2,1), lwd=2, cex=0.8)

legend("bottomleft",legend=c(eval(substitute(expression(RMSE["Mean"]==RMSE1,RMS
E["Median"]==RMSE2),list(RMSE1=RMSE1, RMSE2=RMSE2)))),col = c("blue","red"),

lty=c(2,1),lwd=2, cex=0.8)

4. Regresi Kuantil Smoothing Splines (𝝉 = 𝟎. 𝟐, 𝝉 = 𝟎. 𝟒, 𝝉 = 𝟎. 𝟔, 𝝉 = 𝟎. 𝟖)

#Pemilihan Parameter Pemulus (Lambda) Dengan SIC #

tau=0.2 # running pertama

tau=0.4 # running kedua

tau=0.3 # running ketiga

tau=0.4 # running keempat

x=data$Indeks.Pembangunan.Manusia

y=data$Persentase.Penduduk.Miskin

fsic = function(lbd,x,y,tau) {

#Prediksi

ifit = rqss(y~qss(x,lambda=lbd),tau=tau)

n = length(x)

dts2 = data.frame(y,x)

dts1 = data.frame(predict(ifit,dts2,interval="confidence"))

yhat = dts1$yhat

#Menghitung error

error = y-yhat ; mserqss = mse(y,yhat)

p_lamb = length(error[which(abs(error)<(10^(-2)))])
70

Lampiran 6 (lanjutan)

sic = log(sum(error*(tau-1*(error<0)))/n)+log(n)*p_lamb/(n*2)

cat("Lambda =",lbd," Nilai SIC =",sic," serta Nilai MSE =", mserqss,"\n")

sic = log(sum(error*(tau-1*(error<0)))/n)+log(n)*p_lamb/(n*2)

#Proses Pencarian Lambda Optimum

fdata = c()

lambda = seq(1, 8, 0.1)

for (i in 1:length(lambda)) {

fdata[[i]] = fsic(lambda[[i]],x,y,tau)

#Plot Pencarian Lambda#

plot(y=fdata, x=lambda, ylab="Nilai SIC", xlab="Lambda", pch=16, cex=0.5,


col="magenta")

lines(y=fdata, x=lambda, col="red", lwd=2)

z= lambda[which.min(fdata)]

legend("topright",legend=c(paste(expression("Lambda Optimal"),"=",z)))

abline(v=z, col ="blue", lwd=2, lty=2)

#Fit Regresi Kuantil Smoothing Splines (tau=0.2, tau=0.4, tau=0.6, tau=0.8)#

xx<-data$Indeks.Pembangunan.Manusia-min(data$Indeks.Pembangunan.Manusia);

xxx<-xx/(max(xx)-min(xx))

z # menggunakan z hasil dari sic tiap tau yang telah ditentukan

plot(y=y,x=x, lwd=2, xlab='Indeks Pembangunan Manusia', ylab='Persentase Penduduk


Miskin', col="darkgrey", cex=1)
71

Lampiran 6 (lanjutan)

#Regresi Kuantil Smoothing Splines dengan tau=0.2#

ifit1 = rqss(y~qss(x,lambda=z,constraint="D"),tau=0.2)

df1.1 = data.frame(y = mean(y), x = seq(min(x) + 0.00001, max(x) - 0.00001))

df1.2 = data.frame(predict(ifit1,df1.1,interval="confidence"))

yhat = df1.2$yhat

lines(df1.1[["x"]],yhat,col="green",lwd=3, lty=4)

ifit2 = rqss(y~qss(x,lambda=z,constraint="D"),tau=0.4)

df2.1 = data.frame(y = mean(y), x = seq(min(x) + 0.00001, max(x) - 0.00001))

df2.2 = data.frame(predict(ifit2,df2.1,interval="confidence"))

yhat = df2.2$yhat

lines(df2.1[["x"]],yhat,col="blueviolet",lwd=3, lty=3)

ifit3 = rqss(y~qss(x,lambda=z,constraint="D"),tau=0.6)

df3.1 = data.frame(y = mean(y), x = seq(min(x) + 0.00001, max(x) - 0.00001))

df3.2 = data.frame(predict(ifit3,df3.1,interval="confidence"))

yhat = df3.2$yhat

lines(df3.1[["x"]],yhat,col="black",lwd=3, lty=2)

ifit4 = rqss(y~qss(x,lambda=z,constraint="D"),tau=0.8)

df4.1 = data.frame(y = mean(y), x = seq(min(x) + 0.00001, max(x) - 0.00001))

df4.2 = data.frame(predict(ifit4,df4.1,interval="confidence"))

yhat = df4.2$yhat

lines(df4.1[["x"]],yhat,col="brown1",lwd=3, lty=1)

legend("bottomleft", c(expression(tau==0.2), expression(tau==0.4),


expression(tau==0.6), expression(tau==0.8)), lty = c(4,3,2,1), text.font=3,col =
c("chartreuse3","blueviolet","darkorange","brown1"), lwd=2)
Lampiran 7

Fungsi Objektif Regresi Kuantil dalam


Penyelesaian Program Linier

Suatu model regresi umum:

𝑦𝑖 = 𝑓(𝑋𝑖 , 𝜷) + 𝑒𝑖 , 𝑖 = 1,2, … 𝑛
Residual dapat ditulis menjadi:

𝑒𝑖 = 𝑦𝑖 − 𝑞̂𝜏 (𝑦𝑖 |𝑋𝑖 )


Fungsi objektif regresi kuantil atau 𝐿1 :
𝑛

min ∑ 𝜌𝜏 ( 𝑒𝑖 )
𝑖=1
𝑛

min ∑ 𝜌𝜏 (𝑦𝑖 − 𝑞̂𝜏 (𝑦𝑖 |𝑋𝑖 ))


𝑖=1

Dari persamaan (3.10), fungsi objektif regresi kuantil atau 𝐿1 dapat ditulis:

min ∑[𝜏(𝑢𝑖 ) + (𝜏 − 1)(𝑣𝑖 )]


𝑖=1
𝑛 𝑛

min {𝜏 ∑ 𝑢𝑖 + (1 − 𝜏) ∑ 𝑣𝑖 }
𝑖=1 𝑖=1

Jika diuraikan menjadi matriks:

min{𝜏𝑢1 + ⋯ + 𝜏𝑢𝑛 + (1 − 𝜏)𝑣1 + ⋯ + (1 − 𝜏)𝑣𝑛 }

↔ min{0. 𝛽1 + ⋯ + 0. 𝛽𝑝 + 𝜏𝑢1 + ⋯ + 𝜏𝑢𝑛 + (1 − 𝜏)𝑣1 + ⋯ + (1 − 𝜏)𝑣𝑛 }

𝜷𝑝×1
↔ min {[𝟎1×𝑝 ; 𝜏𝟏1×𝑛 ; (1 − 𝜏)𝟏1×𝑛 ] [𝒖𝑛×1 ]}
𝒗𝑝×1

72
73

Lampiran 7 (lanjutan)

Bentuk primal (adjusting) dalam LP-Problem:

minimum c T x terhadap x
{ kendala 𝐴x ≥ 𝑏
x≥0
Fungsi objektif regresi kuantil atau 𝐿1 dapat dianalogikan dalam primal:

↔ min 𝐜 T 𝐱
𝜷𝑝×1
↔ min {[𝟎1×𝑝 ; 𝜏𝟏1×𝑛 ; (1 − 𝜏)𝟏1×𝑛 ] [𝒖𝑛×1 ]}
𝒗𝑝×1

sehingga diperoleh:

𝒄 = [𝟎𝑝×1 ; 𝜏𝟏𝑛×1 ; (1 − 𝜏)𝟏𝑛×1 ]

𝒙 = [𝜷𝑝×1 ; 𝒖𝑛×1 ; 𝒗𝑛×1 ]

Fungsi kendala regresi kuantil:

𝑋𝑖 𝜷 + 𝑢𝑖 − 𝑣𝑖 = 𝑌𝑖 , 𝑖 = 1,2, … , 𝑛

dengan 𝑢𝑖 adalah residual positif dan 𝑣𝑖 adalah residual negatif. Jika diuraikan
menjadi matriks:
𝜷𝑝×1
{[𝑿𝑛×𝑝 ; 𝟏𝑛×𝑛 ; −𝟏𝑛×𝑛 ] [𝒖𝑛×1 ]}
𝒗𝑝×1

Fungsi kendala dapat dianalogikan dalam primal:

↔ 𝐀𝐱 = 𝐛
𝜷𝑝×1
↔ {[𝑿𝑛×𝑝 ; 𝟏𝑛×𝑛 ; −𝟏𝑛×𝑛 ] [𝒖𝑛×1 ]}
𝒗𝑝×1

Maka diperoleh:

𝑨 = [𝑿𝑛×𝑝 ; 𝟏𝑛×𝑛 ; −𝟏𝑛×𝑛 ]

𝐛 = [𝐘𝑛×1 ]
74

Lampiran 7 (lanjutan)

Dalam model regresi kuantil smoothing splines diperoleh bentuk persamaan linier
(3.9) sebagai berikut:

̃𝛉 = 𝐮 − 𝐯, (𝐮, 𝐯 ∈ ℝ2𝑛−2
min {∑𝐰(𝐮 + 𝐯)|𝐲̃ − 𝐗 + )}
𝛉 ∈ℝ𝑛

Fungsi objektif regresi kuantil smoothing splines atau 𝐿1 dapat dianalogikan dalam
primal, diperoleh:
𝟎(𝑛×1)
𝐜(5𝑛−4)×1 𝒘
= [ (2𝑛−2)×1 ]
𝒘(2𝑛−2)×1

𝛉(𝑛×1)
𝐱 (5𝑛−4)×1 = [𝒖(2𝑛−2)×1 ]
𝒗(2𝑛−2)×1

dan matriks penyusun fungsi kendala sebagai berikut:


̃ (2n−2)×n
𝐀 (2𝑛−2)×(5𝑛−4) = (𝐗 𝟏(2n−2)×(2n−2) −𝟏(2n−2)×(2n−2) ),

̃(2𝑛−2)×1
𝐛=𝒚
Lampiran 8

Estimator Smoothing Splines

Estimator smoothing splines dapat diperoleh dari meminimumkan Persamaan (3.4)

sebagai berikut:

𝑆(𝑓) = ‖𝐲 − 𝐁𝛂‖2 + 𝜆𝜶T 𝐓𝜶

= (𝐲 − 𝐁𝛂)𝐓 (𝐲 − 𝐁𝛂) + 𝜆𝜶T 𝐓𝜶

= 𝒚𝐓 𝒚 − 𝛂𝐓 𝐁 𝐓 𝒚 − 𝒚𝐓 𝐁𝛂 + 𝛂𝐓 𝐁 𝐓 𝐁𝛂 + 𝜆𝜶T 𝐓𝜶

= 𝒚𝐓 𝒚 − 𝛂𝐓 𝐁 𝐓 𝒚 − 𝛂𝐓 𝐁 𝐓 𝒚 + 𝛂𝐓 𝐁 𝐓 𝐁𝛂 + 𝜆𝜶T 𝐓𝜶

= 𝒚𝐓 𝒚 − 𝟐𝛂𝐓 𝐁 𝐓 𝒚 + 𝛂𝐓 𝐁 𝐓 𝐁𝛂 + 𝜆𝜶T 𝐓𝜶

= 𝒚𝐓 𝒚 − 𝟐𝛂𝐓 𝐁 𝐓 𝒚 + 𝛂𝐓 (𝐁 𝐓 𝐁 + 𝜆𝐓)𝜶

Selanjutnya persamaan di atas diminimumkan terhadap 𝜶:

𝜕𝑆(𝑓) 𝒚𝐓 𝒚−𝟐𝛂𝐓 𝐁𝐓 𝒚+𝛂𝐓 (𝐁𝐓 𝐁+𝜆𝐓)𝜶


=
𝜕𝛂 𝜕𝛂

𝜕𝑆(𝑓)
= −2𝐁 T 𝐲 + 2(𝐁 T 𝐁 + 𝜆𝐓)𝜶
𝜕𝛂

Sehingga diperoleh solusi persamaan di atas:

−2𝐁 T 𝐲 + 2(𝐁 T 𝐁 + 𝜆𝐓)𝜶 = 𝟎

(𝐁 T 𝐁 + 𝜆T)𝜶 = 𝐁 T 𝐲

Maka dengan OLS diperoleh estimator smoothing splines:

̂ = (𝐁 T 𝐁 + 𝜆𝐓)−1 𝐁T 𝐲
𝜶 (3.5)

Dan fitting fungsi smoothing splines adalah 𝑓̂(𝑥) = 𝜶


̂ 𝐁, dan matriks Hat, 𝐀(λ),
yang didefinisikan:

𝐀(λ) = 𝐁(𝐁 T 𝐁 + 𝜆𝐓)−1 𝐁 T

75

Anda mungkin juga menyukai