• Tidak ada hasil yang ditemukan

Institutional Repository | Satya Wacana Christian University: Uji Normalitas Menggunakan Statistik Jarque-Bera berdasarkan Metode Bootstrap

N/A
N/A
Protected

Academic year: 2017

Membagikan "Institutional Repository | Satya Wacana Christian University: Uji Normalitas Menggunakan Statistik Jarque-Bera berdasarkan Metode Bootstrap"

Copied!
19
0
0

Teks penuh

(1)

5

Lampiran 1 : Data kandungan Kapsul Herbal Glucoser

(2)

6

Lampiran 1 (Lanjutan)

(3)

7

Lampiran 1 (Lanjutan)

(4)

8

Lampiran 1 (Lanjutan)

(5)

9

Lampiran 2: Program R untuk Uji normalitas dengan menggunakan statistik Jarque-Bera pada data multivariat diperoleh dari data pada Tabel 4.3 (Applied Multivariate Statistical Analysis, Johnson and Wichern, 2002 , contoh 4.13, hal.143)

# Uji normalitas untuk 1 variabel

ubah.matrix <- function(y) #fungsi untuk mengubah data yang berbentuk vektor ke bentuk matriks

{

has <- matrix(0,30,1) p <- dim(has)[2] for (i in 1:p) {

has[1:30,i] <- y[1:30,i] }

return(has) }

x <- read.table('data.txt') #membaca data y <- x[1:30,]

X <- ubah.matrix(y) B <- t(X)

m <- mean(x) #menghitung rata-rata data pada kolom 1 M <- matrix(m,1,30)

A <- (B-M)%*%t(B-M)

sigma <- A/29 #menghitung matriks kovariansi C <- B-M

C[,1] t(C[,1])

t(C[,1])%*%solve(sigma)

t(C[,1])%*%solve(sigma)%*%C[,1]

hitungA <- function(C,sigma) #fungsi untuk menghitung skewness sampel {

has <- matrix(0,30,1) n <- dim(has)[1]

bantu <- bantu + ((t(C[,i])%*%solve(sigma)%*%C[,j])^3)/(n^2) }

}

return(bantu[1,1]) }

bM1 <- hitungA(C,sigma)

====================================== has <- matrix(0,30,1)

n <- dim(has)[1] p <- dim(has)[2] ZM1 <- n*bM1/6

ZM1B <- ZM1*(p+1)*(n+1)*(n+3)/(n*(n+1)*(p+1)-6) #menghitung skewness multivariat

======================================

hitungB <- function(C,sigma) # fungsi untuk menghitung kurtosis sampel {

(6)

10

p <- dim(has)[2]

n <- dim(has)[1] bantu <- 0 for (i in 1:n) {

bantu <- (((t(C[,i])%*%solve(sigma)%*%C[,i])^2)/n) }

return(bantu[1,1]) }

bM2 <- hitungB(C,sigma)

=============================================================== ===

ZM2 <- (bM2-p*(p+1))*(sqrt(n/(8*p*(p+2)))) L <- sqrt((n+3)*(n+5))

ZM2B <- (L*((n+1)*bM2-p*(p+2)*(n-1)))/(sqrt(8*p*(p+2)*(n-3)*(n-p-1)*(n-p+1))) #menghitung kurtosis

multivariate

ZM1B + ZM2B^2 #menghitung Jarque-Bera multivariate f <- p*(p+1)*(p+2)/6

(7)

11

Lampiran 3 : Program R untuk uji normalitas univariat dengan menggunakan statistik Jarque-Bera pada data simulasi untuk 1 variabel dengan ukuran sampel n

= 10

x <- rnorm(10) #untuk membangkitkan data acak dari distribusi normal dengan n = 10

m <- mean(x) n <- length(x) sum((x-m)^3)/n

sum(((x-m)^2)/n)^(3/2)

S <- (sum((x-m)^3)/n)/(sum(((x-m)^2)/n)^(3/2)) p <- 1

sum((x-m)^4)/n sum(((x-m)^2)/n)^2

K <- (sum((x-m)^4)/n)/(sum(((x-m)^2)/n)^2)

hitungJB <- function(x) #fungsi untuk menghitung Jarque-Bera {

n <- length(x) m <- mean(x)

S <- (sum((x-m)^3)/n)/(sum(((x-m)^2)/n)^(3/2)) K <- (sum((x-m)^4)/n)/(sum(((x-m)^2)/n)^2) JB <- ((S^2)+((K-3)^2)/4)*(n/6)

return(JB) }

(8)

12

Lampiran 4 : Program R untuk uji normalitas univariat dengan menggunakan statistik Jarque-Bera pada data simulasi untuk 1 variabel dengan ukuran sampel n

= 10

x <- rexp(10) # untuk membangkitkan data acak dari distribusi eksponen dengan n = 10

m <- mean(x)

hitungJB <- function(x) #fungsi untuk menghitung Jarque-Bera {

n <- length(x) m <- mean(x)

S <- (sum((x-m)^3)/n)/(sum(((x-m)^2)/n)^(3/2)) K <- (sum((x-m)^4)/n)/(sum(((x-m)^2)/n)^2) JB <- ((S^2)+((K-3)^2)/4)*(n/6)

return(JB) }

(9)

13

Lampiran 5 : Program R untuk uji normalitas multivariat dengan menggunakan statistik Jarque-Bera pada data simulasi untuk 4 variabel dengan ukuran sampel n

= 30

rmvnorm(30,m,sigma)

data <- rmvnorm(30,m,sigma) #untuk membangkitkan data acak multivariat dengan n = 30

X <- data

m <- apply(X,2,mean) M <- t(matrix(m,4,30)) S <- var(X)

S1 <- matrix(S,4,4) C <- (X-M)

hitungA <- function(C,S1) #fungsi untuk menghitung skewness sampel {

bantu <- bantu + ((t(C[,i])%*%solve(S1)%*%C[,j])^3)/(n^2) }

}

return(bantu[1,1]) }

bM11 <- hitungA(t(C),S1)

===================================================== hitung.skewness <- function(X) #fungsi untuk menghitung skewness {

n <- dim(X)[1] p <- dim(X)[2] m <- apply(X,2,mean) M <- t(matrix(m,p,n)) S <- var(X)

S1 <- matrix(S,p,p) C <- (X-M)

bM11 <- hitungA(t(C),S1) ZM1 <- n*bM11/6

ZM11B <- ZM1*(p+1)*(n+1)*(n+3)/(n*(n+1)*(p+1)-6) return(c(bM11,ZM1,ZM11B))

}

hitung.skewness(X)

================================================== #kurtosis

hitungB <- function(C,S1) #fungsi untuk menghitung skewness sampel {

(10)

14

}

return(bantu[1,1]) }

bM22 <- hitungB(t(C),S1)

============================================== hitung.kurtosis <- function(X) #fungsi untuk menghitung skewness {

X <- data

m <- apply(X,2,mean) M <- t(matrix(m,4,30)) S <- var(X)

S1 <- matrix(S,4,4) C <- (X-M)

bM11 <- hitungA(t(C),S1) bM22 <- hitungB(t(C),S1) n <- dim(X)[1]

ZM1 <- n*bM11/6 p <- dim(X)[2]

ZM22B <-

(L*((n+1)*bM22-p*(p+2)*(n-1)))/(sqrt(8*p*(p+2)*(n-3)*(n-p-1)*(n-p+1)))

return(c(bM22,ZM2,ZM22B)) }

hitung.kurtosis(X)

=================================================== ZM11B + ZM22B^2 #Hitung MJB bintang

(11)

15

Lampiran 6 : Program R untuk Uji normalitas multivariat dengan menggunakan statistik Jarque-Bera pada data kandungan Kapsul Herbal Glucoser

#Uji normalitas untuk 1 variabel

ubah.matrix <- function(y) # fungsi untuk mengubah data yang berbentuk vektor ke bentuk matriks

{

has <- matrix(0,288,1) p <- dim(has)[2] for (i in 1:p) {

has[1:288,i] <- y[1:288,i] }

return(has) }

x <- read.table('herbal.txt') #membaca data y <- x[1:288,]

X <- ubah.matrix(y) B <- t(X)

m <- mean(x) #menghitung rata-rata data pada kolom 1 M <- matrix(m,1,288)

A <- (B-M)%*%t(B-M) hitungA <- function(C,sigma) {

has <- matrix(0,288,1) n <- dim(has)[1]

bantu <- bantu + ((t(C[,i])%*%solve(sigma)%*%C[,j])^3)/(n^2) }

}

return(bantu[1,1]) }

bM1 <- hitungA(C,sigma)

hitungA <- function(C,sigma) #fungsi untuk menghitung skewness sampel {

has <- matrix(0,288,1) n <- dim(has)[1]

bantu <- bantu + ((t(C[,i])%*%solve(sigma)%*%C[,j])^3)/(n^2) }

(12)

16

return(bantu[1,1])

}

bM1 <- hitungA(C,sigma)

====================================== has <- matrix(0,288,1)

n <- dim(has)[1] p <- dim(has)[2] ZM1 <- n*bM1/6

ZM1B <- ZM1*(p+1)*(n+1)*(n+3)/(n*(n+1)*(p+1)-6) #menghitung skewness multivariat

======================================

hitungB <- function(C,sigma) # fungsi untuk menghitung kurtosis sampel {

has <- matrix(0,288,1) p <- dim(has)[2] n <- dim(has)[1] bantu <- 0 for (i in 1:n) {

bantu <- (((t(C[,i])%*%solve(sigma)%*%C[,i])^2)/n) }

return(bantu[1,1]) }

bM2 <- hitungB(C,sigma)

=============================================================== ===

ZM2 <- (bM2-p*(p+1))*(sqrt(n/(8*p*(p+2)))) L <- sqrt((n+3)*(n+5))

ZM2B <- (L*((n+1)*bM2-p*(p+2)*(n-1)))/(sqrt(8*p*(p+2)*(n-3)*(n-p-1)*(n-p+1))) #menghitung kurtosis

multivariate

ZM1B + ZM2B^2 #menghitung Jarque-Bera multivariate f <- p*(p+1)*(p+2)/6

(13)

17

Lampiran 7 : Program R untuk Uji normalitas univariat dengan menggunakan statistik Jarque-Bera berdasarkan metode bootstrap pada data kandungan Kapsul Herbal Glucoser

#Uji normalitas untuk variabel ke-1 (tinospora caulis)

ubah.matrix <- function(y) #fungsi untuk mengubah data yang berbentuk vektor ke bentuk matriks

{

has <- matrix(0,288,1) p <- dim(has)[2] for (i in 1:p) {

has[1:288,i] <- y[1:288,i] }

return(has) }

x <- read.table('herball.txt') #membaca data Kapsul Herbal Glucoser pada kolom ke-1 has <- matrix(0,288,1)

n <- dim(x)[1] m <- mean(x)

M <- matrix(m,1,288)

S <- (sum((x-M)^3)/n)/(sum(((x-M)^2)/n)^(3/2)) #menghitung skewness K <- (sum((x-M)^4)/n)/(sum(((x-M)^2)/n)^2) #menghitung kurtosis =================================================== hitungJB <- function(x) #fungsi untuk menghitung Jarque-Bera

{

has <- matrix(0,288,1) n <- dim(x)[1]

M <- matrix(m,1,288)

S <- (sum((x-M)^3)/n)/(sum(((x-M)^2)/n)^(3/2)) K <- (sum((x-M)^4)/n)/(sum(((x-M)^2)/n)^2) JB <- ((S^2)+((K-3)^2)/4)*(n/6)

return(JB)

a <- hitungJB(x) S

K A

================================================== B <- 5000

JB.boot <- function(x,B) #fungsi untuk menghitung Jarque-Bera berdasarkan metode bootstrap

{

hasil <- numeric(B) for (i in 1:B) {

#z <- sample(x,replace=T)

z <- rnorm(length(x),mean(x),sd(x)) hasil[i] <- hitungJB(z)

}

return(hasil) }

U <- JB.boot(x,B) hist(U)

(14)

18

nilai.p <- sum(U>a)/B

(15)

19

Lampiran 8 : Program R untuk Uji normalitas univariat dengan menggunakan statistik Jarque-Bera berdasarkan metode bootstrap pada pada data simulasi untuk 1 variabel dengan ukuran sampel n = 10, pengulangan B = 5000 kali

x <- rnorm(10) #untuk membangkitkan data acak dari distribusi normal dengan n = 10

B <- 5000

hitungJB <- function(x) #fungsi untuk menghitung Jarque-Bera {

length(x) m <- mean(x)

S <- (sum((x-m)^3)/n)/(sum(((x-m)^2)/n)^(3/2)) K <- (sum((x-m)^4)/n)/(sum(((x-m)^2)/n)^2) JB <- ((S^2)+((K-3)^2)/4)*(n/6)

return(JB) }

a <- hitungJB(x)

JB.boot <- function(x,B) #fungsi untuk menghitung Jarque-Bera berdasarkan metode bootstrap

{

hasil <- numeric(B) for (i in 1:B) {

#z <- sample(x,replace=T)

z <- rnorm(length(x),mean(x),sd(x)) hasil[i] <- hitungJB(z)

}

return(hasil) }

U <- JB.boot(x,B) hist(U)

a <- hitungJB(x) nilai.p <- sum(U>a)/B nilai.p

m <- mean(x) m

(16)

20

Lampiran 9 : Program R untuk Uji normalitas univariat dengan menggunakan statistik Jarque-Bera berdasarkan metode bootstrap pada pada data simulasi untuk 1 variabel dengan ukuran sampel n = 10, pengulangan B = 5000 kali

x <- rexp(10) #untuk membangkitkan data acak dari distribusi eksponen dengan n = 10

B <- 5000

hitungJB <- function(x) #fungsi untuk menghitung Jarque-Bera {

n <- length(x) m <- mean(x)

S <- (sum((x-m)^3)/n)/(sum(((x-m)^2)/n)^(3/2)) K <- (sum((x-m)^4)/n)/(sum(((x-m)^2)/n)^2) JB <- ((S^2)+((K-3)^2)/4)*(n/6)

return(JB) }

a <- hitungJB(x)

B <- 5000

JB.boot <- function(x,B) #fungsi untuk menghitung Jarque-Bera berdasarkan metode bootstrap

{

hasil <- numeric(B) for (i in 1:B) {

#z <- sample(x,replace=T)

z <- rnorm(length(x),mean(x),sd(x)) hasil[i] <- hitungJB(z)

}

return(hasil) }

U <- JB.boot(x,B) hist(U)

a <- hitungJB(x) nilai.p <- sum(U>a)/B nilai.p

m <- mean(x) m

(17)

21

Lampiran 10 : Program R untuk Uji normalitas multivariat dengan menggunakan statistik Jarque-Bera berdasarkan metode bootstrap pada pada data simulasi untuk 1 variabel dengan ukuran sampel n = 10, pengulangan B = 500 kali

x <- read.table('herbal.txt') #membaca data Kapsul Herbal Glucoser m<-apply(x,2,mean)

sigma <- var(x)

X <- rmvnorm(10,m,sigma) #untuk membangkitkan data acak dari distribusi multivariat dengan n = 10

n <- dim(X)[1] p <- dim(X)[2] m <- apply(X,2,mean) M <- t(matrix(m,p,n)) S <- var(X)

S1 <- matrix(S,p,p) C <- (X-M)

hitungA <- function(C,S1) #fungsi untuk menghitung skewness sampel {

bantu <- bantu + ((t(C[,i])%*%solve(S1)%*%C[,j])^3)/(n^2) }

}

return(bantu[1,1]) }

bM1 <- hitungA(t(C),S1)

hitung.skewness <- function(X) #fungsi untuk menghitung skewness {

n <- dim(X)[1] p <- dim(X)[2] m <- apply(X,2,mean) M <- t(matrix(m,p,n)) S <- var(X)

S1 <- matrix(S,p,p) C <- (X-M)

bM1 <- hitungA(t(C),S1) ZM1 <- n*bM1/6

ZM1B <- ZM1*(p+1)*(n+1)*(n+3)/(n*(n+1)*(p+1)-6) return(c(bM1,ZM1,ZM1B))

}

hitung.skewness(X)

============================================================= ======

hitungB <- function(C,S1) #fungsi untuk menghitung kurtosis sampel {

(18)

22

for (i in 1:n)

{

for (j in 1:n) {

bantu <- bantu <- (((t(C[,i])%*%solve(sigma)%*%C[,i])^2)/n) }

}

return(bantu[1,1]) }

bM2 <- hitungB(t(C),S1)

hitung.kurtosis <- function(X) #fungsi untuk menghitung kurtosis {

n <- dim(X)[1] p <- dim(X)[2] m <- apply(X,2,mean) M <- t(matrix(m,p,n)) S <- var(X)

S1 <- matrix(S,p,p) C <- (X-M)

bM2 <- hitungA(t(C),S1)

ZM2 <- (bM2-p*(p+1))*(sqrt(n/(8*p*(p+2)))) L <- sqrt((n+3)*(n+5))

ZM2B <- (L*((n+1)*bM2-p*(p+2)*(n-1)))/(sqrt(8*p*(p+2)*(n-3)*(n-p-1)*(n-p+1))) return(c(bM2,ZM2,ZM2B))

}

hitung.kurtosis(X)

============================================================= ==

hitungJBM <- function(X) #fungsi untuk menghitung Jarque-Bera {

n <- dim(X)[1] p <- dim(X)[2] m <- apply(X,2,mean) M <- t(matrix(m,p,n)) S <- var(X)

S1 <- matrix(S,p,p) C <- (X-M)

bM1 <- hitungA(t(C),S1) ZM1 <- n*bM1/6

ZM1B <- ZM1*(p+1)*(n+1)*(n+3)/(n*(n+1)*(p+1)-6) bM2 <- hitungB(t(C),S1)

ZM2 <- (bM2-p*(p+1))*(sqrt(n/(8*p*(p+2)))) L <- sqrt((n+3)*(n+5))

ZM2B <- (L*((n+1)*bM2-p*(p+2)*(n-1)))/(sqrt(8*p*(p+2)*(n-3)*(n-p-1)*(n-p+1))) JBM <- ZM1B + ZM2B^2

return(JBM) }

hitungJBM(X) B <-500

JBM.boot <- function(X,B) #fungsi untuk menghitung Jarque-Bera berdasarkan bootstrap

(19)

23

hasil <- numeric(B)

for (i in 1:B) {

#z <- sample(X,replace=T)

z <- rmvnorm(dim(X)[1],apply(X,2,mean),cov(X)) hasil[i] <- hitungJBM(z)

}

return(hasil) }

U <- JBM.boot(X,B) hist(U)

a <- hitungJBM(X)

Referensi

Dokumen terkait

Pf,MENANC LELANG!. Nt6a

pada prinsipnya cara menghidupkan sama dengan mesin MARO. 2) Menentukan kecepatan putar spindle dan kecepatan

Attention-grabbing phenomenon lift in people in concern of Muallaf (people/person that convert his/her religion into Moslem) that could do the commandments more than born

Pertama kita membutuhkan file excel yang ada di web progres, karena file tersebut yang akan menjadi sumber data dari Aplikasi ini.. Silahkan

Puji syukur kehadirat Allah Yang Maha Esa yang telah melimpahkan rahmat, berkah, dan hidayah-Nya kepada penulis, sehingga penulis dapat menyelesaikan tesis ini dengan judul :

Mata bor helix kecil ( Low helix drills ) : mata bor dengan sudut helix lebih kecil dari ukuran normal berguna untuk mencegah pahat bor terangkat ke atas

Disemprotkan ( Jet Application of Fluid ), pada proses pendinginan dengan cara ini cairan pendingin disemprotkan langsung ke daerah pemotongan (pertemuan antara

Direktur Program Pascasarjana Universitas Negeri Yogyakarta dengan ini menyatakan bahwa mahasiswa program pascasarjana berikut ini adalah mahasiswa yang sedang aktif