Anda di halaman 1dari 49

V.1. Statistika deskriptif

BAB

V

BAB V

R untuk Pengolahan & Analisis Statistik

V.1.1. Rerata (Mean) Rerata merupakan deskripsi statistika yang menggambarkan tentang nilai rata-rata dari suatu sample. Perhitungan rerata secara matematis adalah sebagai berikut:

mean

=

1/ n *

n

i

x

i

Dalam R terdapat fungsi untuk menghitung nilai rerata sampel. Fungsi yang digunakan adalah mean(x) ataupun dengan menggunakan fungsi summary(x). Sebagai contoh, digunakan data dari datapackage yang sudah tersedia di R, pilih salah satu data (misalkan Nile). Kemudian hitung nilai rerata sampel, dengan menuliskan

> data()

> data(Nile)

> Nile

Time Series:

Start = 1871 End = 1970

Frequency = 1

[1]

1120 1160 963

1210 1160 1160 813

1230 1370 1140 995

935

1110

[14] 994

1020 960

1180 799

958

1140 1100 1210 1150 1250 1260 1220

[28] 1030 1100 774

840

874

694

940

833

701

916

692

1020 1050

[41] 969

831

726

456

824

702

1120 1100 832

764

821

768

845

[54] 864

862

698

845

744

796

1040 759

781

865

845

944

984

[67] 897

822

1010 771

676

649

846

812

742

801

1040 860

874

[80] 848

890

744

749

838

1050 918

986

797

923

975

815

1020

[94] 906

901

1170 912

746

919

718

714

740

> mean(Nile)

[1] 919.35

> summary(Nile)

Min.

1st Qu.

Median

Mean

3rd Qu.

Max.

456.0 798.5

893.5

919.4

1033.0

1370.0

Hasil tersebut di atas adalah menunjukkan tentang data Nile yang terdiri dari 100 data dengan nilai rerata 919.35. Selain rerata ada pula nilai statistik lainnya, yaitu minimum, kuartil pertama, nilai tengah (median), kuartil ke tiga dan maksimum. Nilai-nilai tersebut ditampilkan dengan menjalankan fungsi summary().

V.1.2. Nilai Tengah (median)

Seperti halnya dengan rerata, R juga menyediakan fungsi untuk mencari nilai tengah (median) sampel dengan menuliskan fungsi median(). Sebagai contoh, dapat digunakan data seperti mencari nilai rerata sebelumnya untuk menghitung nilai tengah (median):

> median(Nile)

[1] 893.5

V.1.3. Nilai minimum dan maksimum

R menyediakan fasilitas untuk mencari nilai minimum dan maksimum suatu data,

yaitu dengan digunakan perintah min() dan max()

> # untuk nilai minimum, dan

> # untuk nilai maksimum

min(x)

max(x)

V. 2. Grafik

R dilengkapi dengan fasilitas untuk visualisasi statistik dalam bentuk grafik, baik

statistik, kontur, map, dll. Sistem grafik di R terdiri dari dua sistem: sistem (dasar/default) yang terdapat dalam paket graphics dan sistem trellis yang terdapat dalam paket lattice. Grafik di R dapat diatur sesuai keperluan. Untuk melihat lebih detil mengenai fitur grafik dalam R, pilih menu Help di menu R kemudian pilih Manual (dalam format pdf) atau HTML help. Untuk mendapatkan gambaran langsung tentang grafik dalam R, dapat dilihat dalam fungsi demo(), dengan menuliskan

> demo()

# untuk melihat jenis-jenis demo

> demo(graphics)

# atau

> demo(image)

# atau

> demo(persp)

# atau

> demo(lattice)

# sebelumnya diperlukan load package dan pilih

lattice pada menu di windows R anda; atau

> demo(package = .packages(all.available = TRUE)) # untuk melihat semua jenis demo yang tersedia

Ket: untuk R versi 2.1.1, penulisan demo()

Return dituliskan setelah penulisan fungsi

Grafik Dasar (Base)

Pengantar tentang prosedur grafik dapat dilihat di dokumen “Introduction to R” pada menu Help ->Manual (dalam format pdf).

Berikut akan disajikan contoh pembuatan plot secara bertahap diawali dengan model standar hingga pengaturan sesuai dengan yang diinginkan (customize). Contoh berikut adalah pembuatan scatterplot untuk petal.length yang dibandingkan dengan petal.width dari dataset iris. Default scatterplot dari dua variabel dihasilkan oleh metod plot.default, yang secara otomatis digunakan oleh perintah plot generik dimana argumennya merupakan dua vektor dengan panjang yang sama seperti berikut ini:

> data(iris)

> str(iris)

‘data.frame’: 150 obs. of 5 variables:

$ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 …

$ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 …

$ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 …

$ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 …

$ Species : Factor w/ 3 levels "setosa","versicolor", :

1

1

1

1

1

1

Data tersebut di atas menyatakan bahwa data iris terdiri dari 5 variabel dimana setiap variable terdiri dari 150 data observasi. Lima variable tersebut adalah: Sepal.Length, Sepal.Width, Petal.Length, Petal.Width dan Species.

> attach(iris)

> plot(Petal.Length, Petal.Width)

Hasil dari perintah tersebut terlihat pada Grafik 5.1 (merupakan bentuk grafik secara default). Dalam grafik tersebut, sumbu x dan sumbu y berasal dari argumen pertama (Petal.Length) dan argumen kedua (Petal.Width), dari pernyataan plot(argument_1, argument_2).

Gambar 5.1: Scatter plot data variabel Petal Grafik 5.1 di atas dapat dilengkapi unt uk

Gambar 5.1: Scatter plot data variabel Petal

Grafik 5.1 di atas dapat dilengkapi untuk menunjukan dependensi argumen dimana sumbu y sebagai variabel dependen. Hal tersebut dilakukan dengan menuliskan perintah seperti berikut, dimana variable terikat terletak sebelah kiri:

> plot(Petal.Width ~ Petal.Length,)

Pada Gambar 5.1 bentuk grafik sangat standart, sehingga perlu dilengkapi dengan beberapa keterangan tambahan untuk memperjelas dan mempermudah dalam melakukan interpretasi grafik. Hal ini dapat dilakukan dengan menambahkan fitur warna atau simbol dalam tampilan grafik. Untuk hal tersebut, R mempunyai fasilitas pewarnaan (yaitu dengan argumen col), simbol (dengan argumen pch), ukuran (dengan argumen cex), label/nama sumbu kordinat (dengan argumen xlab dan ylab), judul grafik (dengan argumen main). Beberapa jenis warna yang disediakan dalam R dapat diketahui dengan menggunakan perintah colours(), dimana akan ditampilan daftar warna-warna tersebut.

> colours()

[1]

[4]

"white"

"antiquewhite1"

[655] "yellow3"

"aliceblue"

"antiquewhite2

"yellow4"

"antiquewhite" " antiquewhite3"

"yellowgreen"

sedangkan fungsi palette() dapat digunakan untuk menampilkan daftar warna dalam bilangan numeric:

> palette()

[1] "black" "red" "green3" "blue" "cyan" "magenta" "yellow" [8] "gray"

50

Selain warna, simbol juga dapat digunakan untuk menampilkan tanda plot. Spesifikasi simbol dapat dilakukan dengan menentukan karakter yang akan digunakan (misalkan asterik ”*”) atau kode integer dari simbol tersebut. Gambar 5.2 menunjukkan simbol dan kodenya. Simbol dengan kode 21-26 memiliki fill (warna latar) yang dispesifikasikan pada argumen bg, spesifikasi warna utama dengan argumen col menspesifikasikan garis border.

utama dengan argumen col menspesifikasikan garis border. Gambar 5.2: Simbol dan kode dalam R Berikut ini

Gambar 5.2: Simbol dan kode dalam R

Berikut ini merupakan contoh yang menampilkan grafik plot yang dilengkapi dengan pewarnaan, modifikasi ukuran dan pemilihan simbol plotting. Penulisannya adalah sebagai berikut:

> plot(1, 1, xlim=c(1, 7.5), ylim=c(0,5), type="n")

> points(1:7, rep(4.5, 7), cex=1:7, col=1:7, pch=0:6)

> text(1:7,rep(3.5, 7), labels=paste(0:6), cex=1:7, col=1:7)

> points(1:7,rep(2,7), pch=(0:6)+7) # Plot simbol 7 hingga 13

> text((1:7)+0.25, rep(2,7), paste((0:6)+7)) # Label dengan bilangan simbol

> points(1:7,rep(1,7), pch=(0:6)+14) # Plot symbols 14 hingga 20

> text((1:7)+0.25, rep(1,7), paste((0:6)+14)) # Labels dengan bilangan simbol

dan akan menghasilkan Gambar 5.3 sebagai berikut:

51

Gambar 5.3: Simbol, Kode dan Warna dalam R Setelah kita mengetahui bentuk dan kode si

Gambar 5.3: Simbol, Kode dan Warna dalam R

Setelah kita mengetahui bentuk dan kode simbol, maka berikut ini akan dilakukan penggunaan simbol, warna dan modifkasi lain untuk menggambarkan plot/grafik dari contoh sebelumnya dengan menuliskan perintah seperti berikut:

> plot(Petal.Length, Petal.Width, pch=20, cex=1.2,

+ xlab=" Petal length (cm)", ylab="Petal width (cm)",

+ main="Data Anderson Iris",

+ col=c("slateblue","firebrick",darkolivegreen") + [as.numeric(Species)])

Data menunjukkan dengan jelas bahwa ukuran spesies berbeda (Sentosa paling kecil, Versicolor menengah, Virginica terbesar) tetapi rasio petal length dan weight sama untuk ketiga ukuran tersebut.

te tapi rasio petal length dan weight sama untuk ketiga ukuran tersebut. Gambar 5.4: Grafik scatterplot

Gambar 5.4: Grafik scatterplot data Iris

52

V.2.1. Histogram

Selain plot, bentuk representasi grafis lainnya yang paling mudah digunakan untuk menggambarkan sebaran data adalah histogram. R menyediakan fasilitas fungsi histogram yang digunakan untuk mengetahui sebaran sampel suatu data. Sebagai catatan: histogram ataupun boxplot, digunakan untuk satu variable. Sebelum kita mencoba untuk menggunakan fasilitas histogram, maka perlu sedikit penjelasan yang berkaitan dengan histogram, yaitu:

histogram digunakan untuk mengestimasi fungsi distribusi probabilitas densitas (probability density function);

f

(

x

)

=

lim Pr

ob x

(

δ

< X x

) /

δ

 

δ

0

histogram ditentukan pula oleh bin/lebar batang;

 

sumbu- y dalam histogram dapat berupa frekuensi kemunculan atau proporsi;

tidak ada estimasi statistik yang dapat dibaca langsung dari histogram, namun

dengan histogram kita dapat menduga kemiringan, sifat/behavior pada tail atau ujung kurva, dan outlier data;

histogram dapat dibandingkan sebagai suatu distribusi analitik standar.

Selain histogram, R juga menyediakan plot yang fungsinya menyerupai histogram yakni stem-and-leaf plot dengan penulisan:

> stem(variabel)

Sebagai

contoh,

gunakan

variabel

eruptions

dari

tabel

data

faithful,

dengan

menuliskan:

 

> attach(faithful)

 

> summary(eruptions)

 

Min.

1st Qu. Median Mean

3rd Qu.

Max.

1.600 2.163

4.000

3.488 4.454

5.100

 

> fivenum(eruptions)

 

[1] 1.6000 2.1585 4.0000 4.4585 5.1000

 

>

stem(eruptions)

 
 

The decimal point is 1 digit(s) to the left of the |

 

16

| 070355555588

 

18

| 000022233333335577777777888822335777888

 

20

| 00002223378800035778

 

22

| 0002335578023578

 

24

| 00228

 

26

| 23

 

28

| 080

30

|

7

32

| 2337

 

34

| 250077

36

| 0000823577

38

| 2333335582225577

 
 

53

40

| 0000003357788888002233555577778

42

| 03335555778800233333555577778

44

| 02222335557780000000023333357778888

46

| 0000233357700000023578

48

| 00000022335800333

50

| 0370

Kita juga dapat melihat sebaran data dalam plot histogram yaitu dengan menggunakan fungsi hist()

> hist(eruptions)

dengan menggunakan fungsi hist() > hist(eruptions) Gambar 5.5: Grafik histogram data eruptions Pada Gambar 5.5

Gambar 5.5: Grafik histogram data eruptions

Pada Gambar 5.5 di atas, fungsi hist() menggunakan jarak antar batang (disebut bin) cukup besar. Untuk membuat bin lebih kecil, diperlukan tambahan atribut dengan menuliskan:

> hist(eruptions, seq(1.6, 5.2, 0.2), prob=TRUE)

Pada perintah di atas, argumen seq(1.6, 5.2, 0.2) adalah histogram menggunakan range dari 1.6 hingga 5.2 dengan lebar bin 0.2. Sehingga tampilan grafik histogram adalah sebagai berikut:

54

Gambar 5.6: Grafik histogram data eruption berdasarkan lebar bin 0.2 Gambar 5.6 di atas menunjukkan

Gambar 5.6: Grafik histogram data eruption berdasarkan lebar bin 0.2

Gambar 5.6 di atas menunjukkan lebar batang histogram yang lebih kecil dibanding Gambar 5.5. Apabila ingin ditambahkan garis pada data densitas, maka dapat menggunakan fungsi lines()seperti berikut:

> lines(density(eruptions, bw = 0.1))

Keterangan: bw adalah bandwidth (lebar pita), dengan nilainya berdasarkan trial and error.

pita), dengan nilainya berdasarkan trial and error . Gambar 5.7: Grafik histogram data eruptions dengan bw

Gambar 5.7: Grafik histogram data eruptions dengan bw = 0.1

Untuk menampilkan point data aktual digunakan fungsi rug() sbb:

> rug(eruptions)

55

Gambar 5.8: Grafik histogram data eruption dengan data aktual Selain histogram, R dapat memplot fungsi

Gambar 5.8: Grafik histogram data eruption dengan data aktual

Selain histogram, R dapat memplot fungsi distribusi kumulatif empiris dengan menggunakan fungsi ecdf():

> plot(ecdf(eruptions), do.points=FALSE, verticals=TRUE)

> plot(ecdf(eruptions), do.points=FALSE, verticals=TRUE) Gambar 5.9: Plot 1 ecdf data eruption Distribusi ecdf di

Gambar 5.9: Plot 1 ecdf data eruption

Distribusi ecdf di atas masih jauh dari standar distribusi yang ada. Untuk itu dapat dicobakan dengan mencocokkan distribusi normal dan “menutupi” fungsi distribusi kumulatif (ecdf) sebelumnya. Penulisannya adalah sebagai berikut:

> long <- eruptions[eruptions > 3]

> plot(ecdf(long), do.points=FALSE, verticals=TRUE)

56

Gambar 5.10: Plot 2 ecdf data eruption > x <- seq(3, 5.4, 0.01) > lines(x,

Gambar 5.10: Plot 2 ecdf data eruption

> x <- seq(3, 5.4, 0.01)

> lines(x, pnorm(x, mean=mean(long), sd=sqrt(var(long))), lty=3)

pnorm(x, mean=mean(long), sd=sqrt(var(long))), lty=3) Gambar 5.11: Plot 3 ecdf data eruption V.2.2. Q-Q (Quantile

Gambar 5.11: Plot 3 ecdf data eruption

V.2.2. Q-Q (Quantile – Quantile)

Selain histogram sebagai alat untuk memplot sebaran data suatu variabel adalah Quantile – Quantile (Q-Q) plot. Q-Q plot dapat digunakan untuk memplot variable secara lebih teliti berdasarkan nilai quantile data. Q-Q plot adalah suatu scatter plot yang membandingkan distribusi empiris dengan fitted distribution dalam kaitannya dengan nilai dimensi suatu variabel (misalkan:

nilai quantile empiris). Q-Q plot dapat memplot dengan baik jika dataset diperoleh dari populasi yang sudah diketahui.

57

Q-Q plot dalam R dibagi menjadi dua, yaitu:

qqnorm(variabel); untuk menguji goodness of fit dari distribusi Gaussian. qqnnorm() disebut juga sebagai plot probabilitas normal.

qqplot(variabel); untuk sebarang jenis distribusi

Melanjutkan contoh sebelumnya, untuk data eruptions, dituliskan sbb:

penggunaan Q-Q plot

> par(pty="s") # mengatur pembuatan daerah gambar berbentuk kotak

> qqnorm(long)

pembuatan daerah gambar berbentuk kotak > qqnorm(long) Gambar 5.12: Plot1 Q-Q Normal > qqline(long) Gambar

Gambar 5.12: Plot1 Q-Q Normal

> qqline(long)

berbentuk kotak > qqnorm(long) Gambar 5.12: Plot1 Q-Q Normal > qqline(long) Gambar 5.13: Plot 2 Q-Q

Gambar 5.13: Plot 2 Q-Q Normal

58

V.2.3. Boxplot

Selain dua alat untuk menggambarkan grafik untuk satu variable yang sudah dijelaskan sebelumnya, terdapat fasilitas boxplot yang digunakan untuk melihat sebaran data. Berikut adalah penjelasan tentang fitur dasar boxplot:

Berguna untuk membanding banyak kelompok/grup.

Dasarnya menggunakan 3 jenis summary: 3 quartil.

Mudah dalam menampilkan nilai rerata (mean).

 

Dapat

diperluas

untuk

menampilkan

persentil

lainnya,

terutama

pada

ujung(tails) suatu distribusi.

 

R

menyediakan

fitur

untuk

menampilkan

boxplot,

dengan

menuliskan

fungsi

boxplot(variabel).

Untuk

menggambar grafik dengan menggunakan data faithful seperti pada contoh

sebelumnya.

berikut adalah contoh

menjelaskan

penggunaan fungsi boxplot(),

> boxplot(eruptions)

Perintah di atas akan mendapatkan gambar boxplot dari variabel eruption seperti berikut:

gamb ar boxplot dari variab el eruption seperti berikut: Gambar 5.14: Boxplot data eruption Apabila ingin

Gambar 5.14: Boxplot data eruption

Apabila ingin menambahkan judul gambar, maka penulisannya adalah:

> boxplot(eruptions, main=”Plot dengan Boxplot”)

59

Gambar 5.15: Boxplot data eruption dengan nama titel R menyediakan beragam bentuk penyajian grafik plot.

Gambar 5.15: Boxplot data eruption dengan nama titel

R menyediakan beragam bentuk penyajian grafik plot. Berikut adalah daftar plot grafik dasar yang ada dalam R (beberapa ada yang termasuk dalam instalasi awal dan adapula yang masuk dalam paket lain yang harus didownload dari CRAN):

Tabel 5.1: Jenis plot dalam R

Jenis Fungsi Plot

Keterangan

assocplot

Plot Asosiasi (Association)

barplot

Plot Batang (Bar)

boxplot

Plot Kotak (Box)

contour

Plot Contour

coplot

Plot Conditioning

dotchart

Plot Cleveland Dot

filled.contour

Plot Level (Contour)

fourfoldplot

Plot Fourfold

hist

Histogam

image

Menampilkan suatu Warna Image

matplot

Plot Kolom suatu Matriks

mosaicplot

Plot Mosaic

pairs

Matriks Scatterplot

persp

Plot Perspektif

plot

Plot X-Y Umum

stars

Plot Star (Spider/Radar)

stem

Plot Stem-and-Leaf

stripchart

Plot Scatter 1-D

sunflowerplot

Plot Scatter Sunflower

60

Gambar 5.16 terdiri dari beberapa contoh tampilan grafik plot, yaitu boxplot, a

conditioning plot, pairwise scatterplot, dan star plot, yang kesemuanya mengaplikasikan dataset Anderson iris. Perintah di R untuk menggambarkan grafik-grafik tersebut adalah :

> boxplot(Petal.Length ~ Species, horizontal=T,

+ col="lightblue", boxwex=.5,

+ xlab="Petal length (cm)", ylab="Species",

+ main="BoxPlot Group")

> coplot(Petal.Width ~ Petal.Length | Species,

+ col=as.numeric(Species), pch=as.numeric(Species))

> pairs(iris[,1:4], col=as.numeric(Species),

+ main="Pairwise scatterplot")

> stars(iris[,1:4], key.loc=c(2,35), mar=c(2, 2, 10, 2),

+ main="Star plot of individuals", frame=T)

boxplot

boxplot

boxplot Pairwise scatterplot Conditioning plot Star plot

Pairwise scatterplot

boxplot Pairwise scatterplot Conditioning plot Star plot

Conditioning plot

boxplot Pairwise scatterplot Conditioning plot Star plot

Star plot

Gambar 5.16: Contoh grafik plot

61

V.2.4 Grafik Trellis

Sistem grafik trellis dalam R tersedia dalam paket lattice. Model grafik ini khususnya digunakan untuk visualisasi multivariate apabila relasi antara variable berubah bersama beberapa group factor yang disebut sebagai kondisi (conditioning) suatu grafik terhadap factor. Metoda ini menggunakan formula yang similar dengan formula statistic untuk menspesifikasikan variable yang akan diplot serta hubungannya dalam plot.

Untuk memudahkan dalam penggunaannya, jenis plot dibagi berdasarkan banyaknya variabel: satu variable (univariate), dua variable (bivariate), tiga variable (trivariate) dan banyak variable (hypervariate).

Satu varibel/Univariate

Sebagai salah contoh univariate adalah membuat grafik plot densitas pada keseluruhan data. Pada contoh ini digunakan dataset iris seperti contoh sebelumnya. Berikut adalah metode yang digunakan untuk menampilkan plot densitas:

> densityplot(~ Petal.Length, data=iris,main=”Seluruh Spesies”)

Operator ~ tidak memiliki operan di sebelah kiri, karena tidak ada variable terikat (dependent) dalam plot; ini menunjukkan sifat univariate. Petal.Length adalah variable bebas (independent), dan diperoleh plotnya. Gambar 5.17(a) sebelah kiri menunjukkan plot densitas univariate. Pengkondisian dilakukan dengan menambahkan operator “|”, yang dapat dibaca sebagai “pengkondisian pada” (conditioned on) satu (beberapa) variable pada sisi kanan operator, seperti pada berikut ini:

> densityplot(~ Petal.Length | Species, data=iris)

Perintah tersebut akan menampilkan satu panel per spesies; seperti yang ditunjukkan pada Gambar 5.17(b). Pada gambar tersebut tampak jelas bahwa distribusi multi- modal keseluruhan data set berdasarkan perbedaan distribusi untuk setiap spesies.

(a) (b)
(a)
(b)

Gambar 5.17 Plot densitas triller (a) tanpa dan (b) dengan pengkondisian faktor

62

Jenis plot untuk satu variable (univariate) adalah seperti pada table 5.2 berikut:

Tabel 5.2: Jenis plot untuk satu variable

Jenis

Keterangan

assocplot

Plot hubungan (association)

barchart

Plot batang (bar)

bwplot

Plot box dan whisker

densityplot

Plot kepadatan Kernel

dotplot

Plot dot

histogram

Histogram

qqmath

Quantile plot distribusi matematis

stripplot

Scatterplot 1 dimensi

Dua variable (Bivariate)

Salah satu metode membuat plot dua variable (bivariate) adalah xyplot, dimana sumbu y adalah variable terikat dan sumbu x adalah variable bebas; variable tersebut juga dapat dikondisikan terhadap satu atau lebih kelompok faktor seperti pada perintah berikut.

> xyplot(Petal.Width ~ Petal.Length, data=iris,

+ groups=Species, auto.key=T,main=”Seluruh Spesies”)

> xyplot(Petal.Width ~ Petal.Length | Species, data=iris,

+ groups=Species,main=”Dipisah berdasarkan spesies”)

+ groups=Species,main=”Dipisah berdasarkan spesies”) Gambar 5.18: Scatter plot triller (a) tanpa dan (b) dengan

Gambar 5.18: Scatter plot triller (a) tanpa dan (b) dengan pengkondisian faktor

Gambar 5.18 menunjukkan penggunaan argumen group untuk menspesifikasikan perbedaan cara menampilkan grafik (dalam hal ini warna) untuk setiap spesies, dan argument auto.key untuk mendapatkan kunci sederhana terhadap warna yang digunakan untuk setiap spesies. Motode lain yang ada di R untuk membentuk grafik dengan bivariate adalah pada table 5.3 berikut:

63

Tabel 5.3: Jenis plot untuk dua variable

Jenis

 

Keterangan

 

qq

Plot

untuk

membandingkan

dua

distribusi

 

xyplot

Plot scatter

 

Tiga variable(Trivariate)

Plot yang paling banyak digunakan untuk trivariate adalah levelplot dan contourplot untuk melakukan plot 2D dari satu variable respon pada dua variable terikat kontinu (misalkan, elevation vs. dua koordinat), metode wireframe untuk suatu versi grafik 3D, dan metode cloud (awan) untuk scatter plot 3D dari tiga variable. Semua dapat dikondisikan pada suatu factor tertentu. Gambar 5.19 menunjukkan contoh yang dihasilkan dari kode berikut:

> pl1 <- cloud(Sepal.Length ~ Petal.Length * Petal.Width,

+ groups=Species,

+ data=iris, pch=20, main="Anderson Iris data, all species",

+ screen=list(z=30, x=-60))

> data(volcano)

> pl2 <- wireframe(volcano,

+ shade = TRUE, aspect = c(61/87, 0.4),

+ light.source = c(10, 0, 10), zoom=1.1, box=F,

+ scales=list(draw=F), xlab="", ylab="", zlab="",

+ main="Wireframe plot, Maunga Whau Volcano, Auckland")

> pl3 <- levelplot(volcano,

+ col.regions=gray(0:16/16),

+ main="Levelplot, Maunga Whau Volcano, Auckland")

> pl4 <- contourplot(volcano, at=seq(floor(min(volcano)/10)*10,

+ ceiling(max(volcano)/10)*10, by=10),

+ main="Contourplot, Maunga Whau Volcano, Auckland",

+ sub="contour interval 10 m",

+ region=T,

+ col.regions=terrain.colors(100))

> print(pl1, split=c(1,1,2,2), more=T)

> print(pl2, split=c(2,1,2,2), more=T)

> print(pl3, split=c(1,2,2,2), more=T)

> print(pl4, split=c(2,2,2,2), more=F)

> rm(pl1, pl2, pl3, pl4)

Gambar 5.19 menunjukkan hasil dari perintah di atas. Sebagai catatan, data set volcano merupakan matriks elavasi:

> str(volcano)

num [1:87, 1:61] 100 101 102 103 104 105 105 106 107 108

Metode levelplot menkonversi ke variable respon (nilai z) dan dua predictor, yaitu baris dan kolom matriks (nilai x dan y). Contoh tersebut menunjukkan metode lattice tingkat tinggi yang melakukan pembentukan grafik sendiri. Hasil dari metode levelplot digambar dengan metode print. Metode plot tiga variable adalah seperti Table 5.4:

64

Gambar 5.19: Grafik plot Trellis trivariate Tabel 5.4: Jenis plot untuk tiga variable Jenis Keterangan

Gambar 5.19: Grafik plot Trellis trivariate

Tabel 5.4: Jenis plot untuk tiga variable

Jenis

Keterangan

levelplot

Plot level

contourplot

Plot contour

cloud

Plot scatter 3 dimensi

wireframe

Permukaan 3 dimensi (similar dengan plot persp di R)

Lebih dari tiga variabel/Hypervariate

Selain motode plot untuk satu, dua, tiga variable, R juga menyediakan plot grafik untuk lebih dari tiga variable (hypervariate) seperti pada Table 5.5 berikut:

Tabel 5.5: Jenis plot untuk lebih dari tiga variable

Jenis

Keterangan

splom

Matriks plot scatter

parallel

Plot koordinat paralel

V.3. Fungsi Distribusi

Fungsi distribusi merupakan salah satu bahasan penting dalam statistika, terutama dalam analisis data. Fungsi distribusi merupakan salah satu alat pendekatan distribusi suatu data. Fungsi distribusi juga berperan dalam menentukan densitas suatu fungsi

65

data. Dalam bab ini akan dibahas fungsi distribusi dan fungsi yang berkaitan dengannya.

V.3.1. Jenis fungsi distribusi dalam R

Software R mempunyai koleksi fungsi distribusi standar yang lengkap, yang tersedia dalam paket program R dan dapat ditambah dengan mendownload dalam bentuk paket dari situs R.

Fungsi distribusi di R disediakan untuk memfasilitasi fungsi distribusi kumulatif (Cummulative Distributive Function (CDF)) P(X x),fungsi probabilitas densitas (Probability Density Function (PDF)), dan fungsi kuantil (diberikan q, x lebih kecil

sedemikian hingga P(X x) > q). Berikut adalah tabel distribusi di R.

Tabel 5.6: Jenis fungsi distribusi dalam R

Nama Distribusi

Nama fungsi di R

Argument tambahan

Beta

beta

shape1, shape2, ncp

Binomial

binom

size, prob

Cauchy

cauchy

location, scale

Chi-squared

chisq

df, ncp

Exponential

exp

rate

F

f

df1, df1, ncp

Gamma

gamma

shape, scale

Geometric

geom

Prob

Hypergeometric

hyper

m, n, k

Log-normal

lnorm

meanlog, sdlog

Logistic

logis

location, scale

Binomial negative

nbinom

size, prob

Normal

norm

mean, sd

Poisson

pois

Lambda

t - Student’s

t

df, ncp

Uniform

unif

min, max

Weibull

weibull

shape, scale

Wilcoxon

wilcox

m, n

V.3.2. Fungsi Probabilitas Densitas (Probability Density Function (PDF))

Fungsi probabilitas densitas merupakan salah satu parameter statistic yang digunakan untuk mengetahui probabilitas terhadap suatu factor yang ada dalam sample. Buku ini akan mengawali pembahasan dengan contoh kasus untuk mempermudah pemahaman tentang fungsi densitas seperti berikut ini:

Terdapat 16 mahasiswa dipilih secara acak dari populasi dimana 30% adalah wanita. Berapa probabilitas sebanyak nol, satu, dua, …, enam belas dari mahasiswa tersebut yang dipilih adalah wanita?. Untuk menghitung probabilitas tersebut akan digunakan beberapa langkah dalam R seperti dibawah ini.

66

>

round(dbinom(0:16, 16, 0.3), 3)

# dbinom artinya d:densitas dan binom:binomial

[1] 0.003 0.023 0.073 0.146 0.204 0.210 0.165 0.101 0.049 0.019 0.006 0.001 [13] 0.000 0.000 0.000 0.000 0.000

Pertama adalah menghitung nilai probabilitas jumlah wanita yang terpilih dari populasi yang dicari tersebut berdasarkan distribusi binomial dengan menggunakan fungsi dbinom(). Nilai probabilitas dari masing-masing kejadian tersebut adalah:

Jml Wanita

Probabilitas

terpilih

 

0 0.003

 

1 0.023

 

2 0.073

 

3 0.146

 

4 0.204

 

5 0.210

 

6 0.165

 

7 0.101

 

8 0.049

 

9 0.019

10 0.006

 

11 0.001

 

12 - 16

0.000

Total kumulatif dari masing-masing nilai probabilitas tersebut adalah 1 (hal ini menunjukkan bahwa nilai probabilitas tersebut merupakan pdf). Kemudian untuk menggambarkan scatter plot nilai probabilitas tersebut digunakan perintah plot seperti berikut:

> plot(dbinom(0:16, 16, 0.3), type =”h”, xlab=” + ylab=”Probabilitas”)

Banyaknya wanita”,

Perintah tersebut menggambarkan grafik plot (Gambar 5.20) dimana sample berdistribusi binomial dimana menghitung probabilitas sukses 0 hingga 16 (0:16) pada suatu populasi yang terdiri dari 16 mahasiswa dimana terdiri dari 0.3 (30%) mahasiswa wanita.

Misalkan terdapat kondisi bahwa hanya 2 dari 16 yang terpilih adalah wanita. Berapa probabilitas dua atau kurang dari jumlah wanita dapat terpilih kembali? Penyelesaian masalah tersebut dapat diselesaikan dengan menggunakan fungsi pbiom() seperti perintah program dibawah, dimana argument pertama = 2 yang menyatakan jumlah wanita terpilih, argument kedua adalah 16 yang menyatakan jumlah keseluruhan, argument ketiga menyatakan probabilitas jumlah wanita. Perintah dalam R adalah sebagai berikut:

> pbinom(2, 16, 0.3, lower.tail = T) # pbinom, p: fungsi distribusi atau probabilitas, binom: binomial

[1] 0.09935968

67

Gambar 5.20: Plot bino mial data mahasiswa (Interpretasi: dalam sample random dari 16 orang populasi

Gambar 5.20: Plot binomial data mahasiswa

(Interpretasi: dalam sample random dari 16 orang populasi dengan 30% adalah wanita, terdapat sekitar 10% bahwa dari sample akan terpilih sebanyak nol, satu atau dua adalah wanita. Maka jika kita lihat, 16 orang sample dengan dua atau kurang wanita, maka kita menduga bahwa terjadi diskriminasi terhadap hal tersebut, maka 10% kesempatan yang kita duga tersebut adalah tanpa dasar yang kuat).

Contoh berikut menyatakan bahwa dua random sample yang saling bebas yang berdistribusi normal seharusnya tidak berkorelasi. Kita dapat mensimulasikan hal ini berulangkali untuk menaksi koefisien korelasi dimana probabilitas error Type I (yaitu menolak hipotesis yang menyatakan tidak terdapat suatu korelasi) adalah 10%. Pertama, kita akan menuliskan:

> size <- 20

> sample.1 <- rnorm(size) # rnorm; r: deviasi random; norm:

distribusi normal

> sample.2 <- rnorm(size)

> cor.test(sample.1, sample.2)

Pearson’s product-moment correlation

data: sample.1 and sample.2 t = 0.4394, df = 18, p-value = 0.6656

alternative hypothesis: true correlation is not equal to 0 95 percent confidence interval:

-0.3557135 0.5217580 sample estimates:

cor

0.1030244

> plot(sample.1, sample.2)

> abline(h=0, lty=2)

> abline(v=0, lty=2)

> title(paste(“r=”, round(cor(sample.1, sample.2), 3)))

68

Gambar 5.21: Plot variabel sample1 dan sample 2 Gambar 5.21 menunjukkan bahwa 2 variabel random

Gambar 5.21: Plot variabel sample1 dan sample 2

Gambar 5.21 menunjukkan bahwa 2 variabel random sample.1 dan sample.2 adalah saling bebas. Sebagai catatan, karena sifat kerandomannya, hasil yang akan anda peroleh dari hasil percobaan yang dilakukan tentu akan berbeda dengan apa yang disajikan dalam buku ini.

Kemudian, untuk perhitungan yang lebih besar lagi, yakni mencari nilai-nilai statistiknya, perlu mendefinisikan fungsi secara tersendiri seperti berikut ini:

>

cor.2 <- function(size) {

+

sample.1 <- rnorm(size)

+

sample.2 <- rnorm(size)

+

cor(sample.1, sample.2)

+}

>

results <- NULL

 

>

length <- 1000

>

for (i

in

1:length) {

+

results[i] <- cor.2(20)

+}

>

hist(results, xlab= “r”, main= “Koefisien Korelasi”)

> (paste(“5% nilai r lebih negative dari”, round(sort(results)[length/20], 3)))

[1] "5% nilai r lebih negative dari -0.386"

> (paste(“5% nilai r lebih positif dari”, round(sort(results)[length - length/20], 3)))

[1] "5% nilai r lebih positif dari 0.35"

69

Gambar 5.22: Histogram koefisien korelasi Sepertinya, terlihat suatu interval anta ra -0, 36 …. +0,37

Gambar 5.22: Histogram koefisien korelasi

Sepertinya, terlihat suatu interval antara -0, 36 …. +0,37 yang melingkupi 90% dari koefisien korelasi r sample untuk ukuran sample 20. Sekali lagi hasilnya mungkin sedikit berbeda antara yang anda lakukan dengan yang dikerjakan dalam buku ini.

Suatu plot perspektif untuk PDF - distribusi normal bivariat:

by= 0.1)

> random.1 <- dnorm(range, 0, 1)

> random.2 <- dnorm(range, 0, 0.7)

> mesh <- outer(random.1, random.2, function(x, y) x * y)

> persp(range, range, mesh, phi = 20, theta = 30, expand = 0.8,

+ xlab = “N(0, 1)”, ylab = “N(0, 0.7)”,zlab = “PDF”,

+ main = ”Contoh PDF untuk Distribusi Normal Bivariat”)

> range <- seq (-3, 3,

untuk Distribusi Normal Bivariat”) > range <- seq (-3, 3, Gambar 5.23: Grafik 3D untuk pdf

Gambar 5.23: Grafik 3D untuk pdf normal bivariat

70

Baris perintah di atas adalah salah satu contoh pembahasan mengenai fungsi probabilitas densitas (probability density function (PDF)) dengan kasus distribusi normal bivariat.

V.3.3. Fungsi Kumulatif Densitas Empirik (Empirical Cummulative Density Function (ECDF))

R menyediakan fitur dengan fungsi ecdf()untuk mencari fungsi densitas kumulatif empirik (empirical cummulative density function (ecdf)) Berikut adalah teori yang berkaitan dengan ecdf:

Fungsi distribusi kumulatif suatu populasi dituliskan dalam bentuk

F (x) = Pr ob(X x)

Daerah di bawah fungsi densitas f(x) dari a ke b dituliskan dalam bentuk

F (b) F (a) = Pr ob(a <

X b)

Fungsi distribusi kumulatif dicari dengan mengestimasi nilai F(x), dimana proporsi nilai data x

Histogram yang ditampilakan adalah histogram kumulatif

Dapat menjadi sempurna jika histogramnya hanya memiliki satu observasi per bin (batang)

ECDF bersifat unik dan tidak memerlukan binning

Sangat baik untuk menunjukkan perbedaan dalam distribusi keseluruhan di antara dua atau tiga grup yang berlapis/ menumpuk.

Dapat membaca langsung nilai quantil nya.

V.4. Regresi & ANOVA (Analysis of Variance)

Dalam sub bab ini akan dijelaskan tentang regresi dan ANOVA, yang merupakan salah satu metode dasar statitistik dalam melakukan pengolahan dan analisis data. Disini akan disajikan teori dan praktek regresi dan anova serta penggunaan R untuk analisis tersebut. Pada tahap awal mungkin akan terasa sedikit rumit, namun diharapkan setelah mencoba beberapa contoh akan menjadi lebih mudah.

Analisis regresi digunakan untuk menjelaskan atau memodelkan hubungan antara suatu variable tunggal Y, disebut sebagai variable respon, output atau terikat, dan satu atau lebih variable predictor, input, bebas atau penjelasan (explanatory), X 1 , …, X p . Apabila p = 1 maka disebut regresi sederhana, sedangkan apabila p > 1 maka disebut regresi berganda atau regresi multivariate. Jika terdapat lebih dari satu variable terikat Y, maka disebut regresi mulrivariate berganda.

Variabel respon harus berbentuk kontinu, sedangkan variabel penjelasan dapat berbentuk kontinu, diskrit ataupun kategori. Sebelum kita masuk ke contoh, maka akan digunakan data pima dari paket library ”faraway” yang sudah tersedia di paket

71

CD. Selain dalam CD, library(faraway) dapat didownload di situs www.stat.lsa.umich.edu/˜faraway. Pertama digunakan library faraway dan memanggil data pima tersebut dengan mengetikkan:

>

library(faraway)

 

>

data(pima)

>

pima pregnant glucose diastolic triceps insulin bmi diabetes age test

1

6

148

72

35

0 33.6

0.627

50

1

2

1

85

66

29

0 26.6

0.351

31

0

3

8

183

64

0

0 23.3

0.672

32

1

4

1

89

66

23

94 28.1

0.167

21

0

5

0

137

40

35

168 43.1

2.288

33

1

….

Simpulan dari dataset tersebut dapat kita lihat sebagai berikut:

> summary(pima)

pregnant

Min.

: 0.000

glucose

Min.

:

0.0

diastolic

Min.

:

0.0

triceps

Min.

: 0.00

1st Qu.: 1.000

1st Qu.: 99.0

1st Qu.: 62.0

1st Qu.: 0.00

Median : 3.000

Median :117.0

Median : 72.0

Median :23.00

Mean

: 3.845

Mean

:120.9

Mean

: 69.1

Mean

:20.54

3rd Qu.: 6.000

3rd Qu.:140.2

3rd Qu.: 80.0

3rd Qu.:32.00

Max.

:17.000

Max.

:199.0

Max.

:122.0

Max.

:99.00

insulin

bmi

diabetes

age

Min.

:

0.0

Min.

: 0.00

Min.

:0.0780

Min.

:21.00

1st Qu.:

0.0

1st Qu.:27.30

1st Qu.:0.2437

1st Qu.:24.00

Median : 30.5

Median :32.00

Median :0.3725

Median :29.00

Mean

: 79.8

Mean

:31.99

Mean

:0.4719

Mean

:33.24

3rd Qu.:127.2

3rd Qu.:36.60

3rd Qu.:0.6262

3rd Qu.:41.00

Max.

:846.0

Max.

:67.10

Max.

:2.4200

Max.

:81.00

test

Min.

:0.0000

 

1st Qu.:0.0000

Median :0.0000

:0.3490

Mean

3rd Qu.:1.0000

:1.0000

Max.

Simpulan data di atas menunjukkan beberapa hal yang tidak wajar yang mungkin disebabkan ketika memasukkan data, misalkan nilai maksimum pregnant = 17 (ini sangat besar, tetapi juga memungkinkan), tekanan darah (diastolic) = 0. Dengan demikian kita perlu sedikit melakukan pembersihan data tersebut, khususnya yang diasumsikan ketika memasukkannya tidak benar. Melihat ketidak wajaran tersebut kita perlu menset nilai dari dataset yang bernilai 0 dengan NA, hal ini untuk menghindari terjadinya pada kesalahan perhitungan. Nilai NA data tidak tersedia untuk nilai yang diasumsikan salah ketika memasukkan, sehingga tidak termasuk dalam perhitungan. Apabila nilai tersebut tetap 0, maka nilai statistik menjadi tidak wajar, karena tidak sesuai dengan kenyataan. Perintah yang digunakan untuk menset nilai tersebut adalah:

> pima$diastolic[pima$diastolic == 0] <- NA

> pima$glucose[pima$glucose == 0] <- NA

> pima$triceps[pima$triceps == 0] <- NA

> pima$insulin[pima$insulin == 0] <- NA

> pima$bmi[pima$bmi == 0] <- NA

72

Variabel test adalah bukan kuantitatif melainkan kategori. Variabel tersebut adalah faktor. Tetapi karena merupakan kode numerik, variabel tersebut diperlakukan seperti halnya kuantitatif. Akan lebih baik apabila variabel tersebut adalah faktor sehingga dapat diperlakukan sesuai fungsinya. Hal seperti itu kadang terlupakan dan akibatnya akan terjadi kesalahan proses perhitungan statistik (misalkan proses perhitungan ”rata-rata code pos” (dimana kodenya numerik tetapi bukan data kuantitatif)). Sehingga untuk mendefinisikan variabel test sebagai faktor maka perintah yang digunakan adalah:

> pima$test <- factor(pima$test)

> summary(pima$test)

1

500 268

0

Sekarang jelas bahwa 500 kasus adalah negative (0) dan 268 positif (1). Sehingga untuk menggunakan deskripsi label yang benar untuk variabel test sebagai kategori maka dimana (0) adalah negatif dan (1) adalah positif, maka dituliskan perintah berikur:

> levels(pima$test) <- c("negative","positive")

> summary(pima)

pregnant

glucose

diastolic

triceps

insulin

Min.

: 0.00

Min.

: 44

Min.

: 24.0

Min.

: 7.0

Min. : 14.0

1st Qu.: 1.00

1st Qu.: 99

1st Qu.: 64.0

1st Qu.: 22.0 1st Qu.: 76.2

Median : 3.00

Median :117

Median : 72.0

Median : 29.0 Median :125.0

Mean

: 3.85

Mean

:122

Mean

: 72.4

Mean

: 29.2 Mean :155.5

3rd Qu.: 6.00 3rd Qu.:141

3rd Qu.: 80.0 3rd Qu.: 36.0 3rd Qu.:190.0

Max.

:17.00 Max.

:199

Max.

:122.0 Max.

: 99.0 Max. :846.0

NA’s

bmi

:

5

NA’s diabetes

:35

NA’s

age

:227

NA’s

test

:374

Min.

:18.2 Min.

:0.078 Min.

:21.0 negative:500

1st Qu.:27.5 1st Qu.:0.244 1st Qu.:24.0 positive:268 Median :32.3 Median :0.372 Median :29.0

Mean

3rd Qu.:36.6 3rd Qu.:0.626 3rd Qu.:41.0

:32.5 Mean

:0.472 Mean

:33.2

Max.

:67.1 Max.

:2.420 Max.

:81.0

NA’s

:11.0

Data yang ada menunjukkan beberapa kemungkinan diantaranya regresi test (sebagai respons) terhadap diastolic dan bmi (predictor) melibatkan suatu respon kualitatif. Hal tersebut menunjukkan bahwa analisis regresi memiliki beberapa kemungkinan berdasarkan pada tujuan yang dikehendaki, yaitu:

Prediksi observasi ke depan

Penilaian efek, hubungan antara, variable explanatory terhadap respon.

Deskripsi umum struktur data.

Variabel prediktor dalam fungsi adalah berbentuk data kategori/kualitatif. Nama ANOVA sendiri merupakan kependekan dari Analysis of Variance, dimana sering digunakan untuk membagi/mempartisi keseluruhan variansi sebagai respon terhadap setiap faktor-faktor dan error. Pada saat ini variabel prediktor disebut sebagai faktor karena memiliki beberapa tingkatan/level. Sedangkan parameter-paremeter yang terlibat disebut sebagai efek. Kita sekarang akan memperhatikan model dimana parameternya tetap (fixed) tetapi tidak diketahui – disebut model fixed-effect tetapi model randompeffect juga digunakan dimana parameter yang diambil merupakan variabel random.

73

V.4.1. ANOVA Satu Arah

V.4.1.1. Model

Model untuk ANOVA jenis ini yaitu, diberikan faktor α terjadi pada tingkat i = 0, 1,

…, I , dengan sejumlah j observasi per tingkat dimana j = 1, …, Ji. Model yang digunakan:

y

ij

= μ +α + ε

i

ij

,i = 1,

,

I; j = 1,

,

J

i

dengan batasan-batasan parameter sebagai berikut:

1. Set μ = 0 dan variabel dummy I yang berbeda

2. α 1 = 0 – berhubungan dengan perlakuan yang kontras

, yang mengarah pada

3.

J α

i

i

= 0

penaksir kuadrat

i

estimate).

ˆ = y

μ

••

,

ˆ

α

i

= y

i

y

••

,

terkecil (least square

Dimana tanda (misal pada

Metode terakhir ini paling banyak direkomendasikan untuk penghitungan manualwalaupun akan lebih sulit disajikan dalam bentuk y = Xβ + ε . Faktor kedua pertama di atas lebih mudah diimplementasikan secara komputas. Seperti biasa, beberapa analisis grafis awal diperlukan sebelum melakukan pencocokkan (fitting). Boxplot sisi per sisi merupakan plot yang paling banyak digunakan. Lihat pada persamaan variansi, transformasi, outliers (disini tidak berpengaruh secar relevan karena levarage tidak akan berbeda kecuali disain yang sangat tidak seimbang)

y ••

) menyatakan indeks dari rerata yang digunakan.

V.4.1.2. Penaksiran dan Pengujian

Penaksiran efek menggunakan langsung formula seperti yang sudah dijelaskan sebelumnya atau menggunakan pendekatan least square (karena hasil sama). Pada ANOVA, penaksiran dan pengujian dilakukan pertama kali adalah mencari perbedaan factor levelnya. Kita lakukan perbandingan hipotesis, dimana:

H 0 : α i = 0 , berlaku untuk semua i

H a :paling sedikit satu α i 0

Contoh kasus, Suatu penelitian ingin mengetahui apakah factor sosioekonomi mempengaruhi IPK mahasiswa. Sosioekonomi dibagi dalam tiga kelompok, yaitu rendah (r), sedang (s) dan tinggi (t). Dalam penelitian tersebut, masing-masing kelompok terdiri dari 7 mahasiswa yang diambil data IPK secara acak.

> ipksosek <- edit(data.frame()) #memasukkan data ipksosek >ipksosek

ipk

sosek

1 2.87

r

2 2.16

r

3 3.14

r

4 2.51

r

5 1.80

r

6 3.01

r

74

7

2.16

r

8 3.23

s

9 3.45

s

10 2.78

s

11 3.77

s

12 2.97

s

13 3.53

s

14 3.01

s

15 2.25

t

16 3.13

t

17 2.44

t

18 2.54

t

19 3.27

t

20 2.81

t

21 1.36

t

Langkah pertama adalah melihat sebaran data dengan melakukan plot, dan digunakan boxplot dan hasilnya seperti Gambar 5.24:

> boxplot(ipk˜sosek, data=ipksosek)

Gambar 5.24: > boxplot(ipk˜sosek, data=ipksosek) Gambar 5.24. Boxplot sebaran IPK ma hasiswa berdasarkan

Gambar 5.24. Boxplot sebaran IPK mahasiswa berdasarkan sosio ekonomi

Disini diharapkan tidak terlihat adanya outlier, kemiringan (skewness) dan variansi yang berbeda. Selanjutnya, dilakukan pencocokan model dengan cara sebagai berikut:

Eksperimen tersebut melibatkan suatu factor tunggal yaitu kelas sosioekonomi

(sosek) pada tiga level (r,s,t). Misalkan

, μ , μ masing-masing menyatakan rata-

μ

r

s

t

rata IPK untuk mahasiswa tingkat social ekonomi rendah, sedang dan tinggi. Sehingga akan diujikan hal berikut:

H

0

:

μ

r

= μ

s

= μ

t

melawan alternatif:

H a : paling sedikit dua dari tiga perlakuan berbeda.

Maka untuk mendapatkan hal tersebut, maka perlu dibuat suatu model linear yang menggambarkan hubungan ipk dengan sosek sebagai berikut:

> g <- lm(ipk˜sosek,ipksosek)

75

> summary(g)

Residuals:

Max

-1.18286 -0.29286 -0.01143 0.34857 0.72714

Min

1Q

Median

3Q

Coefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept) 2.52143

0.19336 13.040 1.31e-10 ***

soseks

0.72714

0.27346 2.659 0.0160 *

sosekt

0.02143

0.27346

0.078

0.9384

---

Signif. codes:

0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.5116 on 18 degrees of freedom

Multiple R-Squared: 0.3372,

F-statistic: 4.579 on 2 and 18 DF, p-value: 0.02468

Adjusted R-squared: 0.2636

Karena nilai statistik F = 4.579 melebihi nilai kepercayaan F 0.05 = 3.55, maka H 0 ditolak dan disimpulkan (pada tingkat kepercayaan α = 0.05) bahwa rata-rata IPK mahasiswa berbeda paling sedikit dua dari tiga tingkat sosio ekonomi. Hal ini juga ditunjukkan oleh α = 0.05 lebih besar dari p-value = 0.02468.

Grup r adalah level rujukan dan mempunyai nilai rerata 2.52143, sedangkan grup s dan t berturut-turut memiliki nilai rerata 0.72714 dan 0.02143 lebih besar dari rata- rata r. Kemudian berdasarkan factor sosioekonomi tersebut, maka dilakukan pemeriksaan matriks rancangan untuk memahami pengkodean:

> model.matrix(g)

Kita dapat mencocokan model tanpa mengintersepsi batasan:

> gi <- lm(ipk˜sosek -1, ipksosek)

> summary(gi)

Residuals:

Max

-1.18286 -0.29286 -0.01143 0.34857 0.72714

Min

1Q

Median

3Q

Coefficients:

Estimate Std. Error t value Pr(>|t|)

sosekr

2.5214

0.1934

13.04 1.31e-10 ***

soseks

3.2486

0.1934

16.80 1.91e-12 ***

sosekt

2.5429

0.1934

13.15 1.14e-10 ***

---

Signif. codes:

0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.5116 on 18 degrees of freedom

Multiple R-Squared: 0.972,

F-statistic: 208.4 on 3 and 18 DF, p-value: 3.662e-14

Adjusted R-squared: 0.9674

Kita lihat, dengan nilai p (p-value) = 3.662*10 -14 (mendekati 0) maka kita tidak dapat melakukan perbandingan hipotesis sebelumnya.

76

V.4.2. ANOVA Dua Arah

Anggap terdapat dua faktor, α pada level I dan β pada level J. Misalkan jumlah observasi pada level i dari α dan level j dari β dan misalkan observasi tersebut sebagai y i j1 , yi j2, . Suatu

untuk semua i, j. memiliki model umum yang paling

layout lengkap A memiliki sesuai adalah :

n ij

1

y

ijk

= μ + α + β + (αβ )

i

j

ij

+ ε

ijk

Efek interaksi ( (αβ) ij diinterpretasikan sebagai bagian dari rata-rata respon yang bukan merupak atribut efek tambahan dari α i and β j Sebagai contoh misalkan anda menyukai strawberi dan es krim secara individu, tetapi strawberi yang dicampur dalam eskrim lebih disukai. Hal yang berlawanan misalkan anda menyukai ikan dan es krim tetapi tidak menyukai es krim yang dicampur ikan.

Berikut ini adalah contoh penggunaan anova dua arah [23]:

Perusahaan pengecatan pesawat udara akan melakukan pengecatan pada permukaan alumunium dengan dua cara; penyemprotan (spray) dan dipping. Percobaan perbedaan faktor dilakukan untuk menyelidiki efek dari tipe pengecatan dan metode pengecatan terhadap daya rekat (adhisif) cat. Kekuatan daya rekat diukur, dengan tiga jenis cat (primer) yang berbeda dan dua metode pengecatan (aplikasi). Berikut adalah penulisan dalam R:

> paint <- data.frame(adhf =

c(4.0,4.5,4.3,5.6,4.9,5.4,3.8,3.7,4.0,5.4,4.9,5.6,5.8,6.1,6.3,5.5

,5.0,5.0), primer = factor(rep(rep(1:3,rep(3,3)),2)),applic =

factor(rep(c("D","S"),c(9,9))))

> paint adhf primer applic

1 4.0

1

D

2 4.5

1

D

3 4.3

1

D

4 5.6

2

D

5 4.9

2

D

6 5.4

2

D

7 3.8

3

D

8 3.7

3

D

9 4.0

3

D

10 5.4

1

S

11 4.9

1

S

12 5.6

1

S

13 5.8

2

S

14 6.1

2

S

15 6.3

2

S

16 5.5

3

S

17 5.0

3

S

18 5.0

3

S

Hasil tersebut adalah untuk anova satu arah, dengan mengabaikan metode pengecatan. Statemen lm() menyesuaikan model linier dan statemen anova() menampilkan hasil dalam bentuk tabel anova.

> anova(lm(adhf~primer, data=paint))

77

Analysis of Variance Table

Response: adhf

Df

Sum Sq

Mean Sq

F value

Pr(>F)

primer

2

4.5811

2.2906

5.5989

0.01527 *

Residuals 15

6.1367

0.4091

---

Signif. codes:

0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1

Tampilan hasil di atas adalah anova satu arah untuk metode pengecatan, dengan mengabaikan jenis cat (primer).

> anova(lm(adhf~applic, data=paint)) Analysis of Variance Table

Response: adhf Df

Sum Sq

Mean Sq

F value

Pr(>F)

applic

1

4.9089

4.9089

13.521

0.002039 **

Residuals 16

5.8089

0.3631

---

Signif. codes:

0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1

Hasil berikut merupakan anova dua arah untuk metode pengecatan, varibel primer dan interaksi antar keduanya. Sebagai catatan, jumlah kuadrat untuk variable primer dan untuk variable applic bernilai sama dengan hasil perhitungan dalam analisis satu arah.

> anova(lm(adhf~primer*applic, data=paint)) Analysis of Variance Table

Response: adhf

 

Df

Sum Sq

Mean Sq

F value

Pr(>F)

primer

2

4.5811

2.2906

27.8581 3.097e-05 ***

applic

1

4.9089

4.9089

59.7027 5.357e-06 ***

primer:applic 2

0.2411

0.1206

1.4662

0.2693

Residuals

12

0.9867

0.0822

---

Signif. codes:

0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1

Interaksi variable tidak signifikan (p = 0.2693) oleh karena itu kita dapat melakukan uji untuk efek utama, dimana keduanya memiliki signifikansi yang tinggi. Kesimpulan: Bahwa pemilihan tipe primer dan pemilih metode pengecatan (aplikasi) mempengaruhi kekuatan daya rekat cat, dan selisih antara tiga tipe cat adalah sama untuk kedua cara pengecatan (aplikasi), dan selisih antara dua metode pengecatan adalah sama untuk setiap tipe cat. Untuk uji t contoh pengecatan di atas, dibahas di V.5. sub bab uji t. Perintah berikut digunakan untuk menunjukkan cara perhitungan nilai rerata untuk enam tipe cat yang berbeda: kombinasi variable applic dan cara bagaimana mengatur nilai rerata dalam bentuk matriks untuk memberikan plot interaksi.

> split(paint$adhf,paint$applic:paint$primer)

$"D:1"

[1] 4.0 4.5 4.3

$"D:2"

[1] 5.6 4.9 5.4

78

$"D:3"

[1] 3.8 3.7 4.0

$"S:1"

[1] 5.4 4.9 5.6

$"S:2"

[1] 5.8 6.1 6.3

$"S:3"

[1] 5.5 5.0 5.0

>sapply (split (paint$adhf, paint$applic:paint$primer), mean)

D:1

D:2

D:3

S:1

S:2

S:3

4.266667 5.300000 3.833333 5.300000 6.066667 5.166667

>matrix(sapply(split(paint$adhf,

paint$applic:paint$primer),mean),ncol=2)

[,1]

[1,] 4.266667 5.300000 [2,] 5.300000 6.066667 [3,] 3.833333 5.166667

[,2]

Perintah mathplot() akan mem-plot setiap kolom dari matriks pada graph yang sama.

> matplot(matrix(sapply(split(paint$adhf, paint$applic:paint$primer),mean),ncol=2), type="l", xlab="Primer",ylab="Daya Rekat")

xlab="Primer",ylab="Daya Rekat") Gambar 5.25: Plot kolom matrik Dua garis di atas tampak

Gambar 5.25: Plot kolom matrik

Dua garis di atas tampak seperti paralel, sesuai dengan kesimpulan sebelumnya bahwa tidak terjadinya suatu interaksi. Oleh karena itu, selisih/perbedaan antara tipe cat (primer) adalah sama untuk setiap metode pengecatan.

79

> matplot(matrix(sapply(split(paint$adhf,paint$primer:paint$applic), mean),ncol=3), type="l", xlab="Aplikasi",ylab="Daya Rekat")

Cara lain, anda dapat juga memplot daya rekat (adhesi) dengan metode pengecatan (aplikasi), dengan garis yang berbeda untuk setiap primer garis tampak parallel (Gambar 5.23).

untuk setiap primer garis tampak parallel (Gambar 5.23). Gambar 5.26: Matplot daya rekat ( adhesi )

Gambar 5.26: Matplot daya rekat (adhesi) vs aplikasi

V. 5. Analisis (Uji) Statistika t

Berkaitan den gan contoh kasus pengecatan pesawat terbang dengan variable primer (tipe cat) dan variable applic (metode pengecatan; semprot dan dipping) (lihat kasus di bagian anova dua arah), penulisan uji t dan koefisiennya dalam R adalah:

> summary(lm(adhf~primer*applic, data=paint))

Call:

lm(formula = adhf ~ primer * applic, data = paint)

Residuals:

Max

-0.40000 -0.16667 0.03333 0.21667 0.33333

Min

1Q

Median

3Q

Coefficients:

 

Estimate

Std. Error t value Pr(>|t|)

(Intercept)

4.2667

0.1656

25.772

7.1e-12 ***

primer2

1.0333

0.2341

4.414

0.000845 ***

primer3

-0.4333

0.2341

-1.851

0.088949 .

applicS

1.0333

0.2341

4.414

0.000845 ***

primer2:applicS -0.2667

0.3311

-0.805

0.436265

primer3:applicS

0.3000

0.3311

0.906

0.382736

---

Signif. codes:

0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1

Residual standard error: 0.2867 on 12 degrees of freedom

Multiple R-Squared: 0.9079,

Adjusted R-squared: 0.8696

80

F-statistic: 23.67 on 5 and 12 DF, p-value: 7.89e-06

Data di atas menunjukkan nilai uji t dari masing-masing variabel.

V.6. R dan Statistika Lanjut

V.6.1. Pencocokan distribusi (Fitting Distribution)

Pencocokan distribusi adalah suatu cara untuk menentukan fungsi matematis yang diwakili dalam bentuk variabel-variabel statistika. Masalah yang sering dihadapi oleh statistikawan adalah, jika mempunyai suatu pengamatan/observasi dengan variabel kuantitatif x 1 , x 2, …., x n dan ingin menguji jika pengamatannya itu, menjadi sample dari populasi yang tidak diketahui atau milik dari suatu populasi dengan pdf (fungsi densitas probabilitas) f(x, θ), dimana θ adalah vektor dari parameter yang akan diestimasi dengan data yang ada.

Ada empat langkah utama dalam pencocokan distribusi:

1)

Pemilihan model: Hipotesis distribusi

2)

Estimasi/taksiran parameter

3)

Pengukuran Goodnes of Fit

4)

Uji Goodness of Fit

Empat langkah ini akan dibahas pada sub-bagian berikut ini.

V.6.1.1. Pemilihan Model

Langkah pertama dalam pencocokan distribusi adalah memilih model atau fungsi matematis yang mewakili data dengan baik. Semakin baik suatu model maka semakin baik pula keterwakilan data. (Catatan: baik buruknya model, salah satunya dapat diukur dengan error yang dihasilkan). Terkadang untuk pemilihan suatu model atau fungsi, teknik grafik seperti histogram dan lainnya dapat membantu. Namun secara grafik dapat mengakibatkan cenderung subjektif, oleh karena itu ada metode yang didasari pada ekspresi analitik seperti kriteria Pearson’s K. Memecahkan persamaan diferensial tertentu dapat dicapai dengan menggunakan kelompok fungsi yang mewakili distribusi empiris. Kurva dari fungsi tersebut hanya bergantung pada nilai rerata, variabilitas, skewness/kemiringan, dan kurtosis. Dengan menstandarisasi data, tipe kurva yang hanya bergantung pada pengukuran skewness dan kurtosis diformulasikan dalam fungsi berikut:

dimana:

n

=

3

μ )

γ

1

=

i

1

( x

i

n σ

3

γ

2

n

=

i

=

1

(

x

i

)

μ

4

n

σ

4

K =

2

γ

1

(

γ

2

+

6)

2

4(4

γ

2

2

3

γ

1

+

12)(2

γ

2

2

3

γ

1

)

adalah koefisien skewness Pearson’s

3

adalah koefisien kurtosis Pearson’s

81

Berdasarkan nilai K, yang diperoleh dari data yang ada, kita mempunyai suatu fungsi jenis tertentu. Berikut adalah beberapa contoh distribusi kontinu dan distibusi diskrit. Untuk setiap distribusi, terdapat bentuk grafik dan perintah R untuk membentuk grafik tersebut.

Untuk data diskrit, dapat melihat distribusi Poisson, dengan fungsi mass probabilitas:

Contoh, penulisan:

f

(

x

,

λ

) =

λ

e

x

λ

x !

dimana x = 0, 1, 2,

> x.poi <- rpois(n=200,lambda=2.5)

> hist(x.poi,ylab="Frekuensi",xlab="x.poi",main="Distribusi Poisson")

menghasilkan gambar berikut

Poisson") menghasilkan gambar berikut Gambar 5.27: Histogram distribusi Poisson Untuk data yang

Gambar 5.27: Histogram distribusi Poisson

Untuk data yang kontinu, distribusi yang digunakan antara lain:

Distibusi Normal (Gaussian), dengan fungsi:

f

(

 

) =

1

x

,

,

μ σ

2 πσ
2
πσ

e

1(

x

μ

)

2

2 σ

2

untuk x R

Sebagai contoh, dapat dituliskan perintah pembentukan kur va untuk model distribusi Normal (Gaussian):

> curve(dnorm(x,m=10,sd=2), from=0,to=20,main="Distribusi Normal")

maka akan menghasilkan tampilan grafik seperti Gambar 5.28 sebagai berikut:

82

Gambar 5.28: Kurva distribusi Normal • Distribusi Gamma: f ( x , α λ ,

Gambar 5.28: Kurva distribusi Normal

Distribusi Gamma:

f

(

x

,

α λ

,

) =

α

λ

Γ (

α

)

x

α

1

e

λ

x

untuk

xR

+

Sebagai contoh, penulisan:

> curve(dgamma(x, scale=1.5, shape=2),from=0, to=15, main="Distribusi Gamma")

Menghasilkan grafik sebagai berikut:

to=15, main="Distribusi Gamma") Menghasilkan grafik sebagai berikut: Gambar 5.29: Kurva distribusi Gamma 83

Gambar 5.29: Kurva distribusi Gamma

83

Distribusi Weibull:

f

(

x

,

α β

,

) =

αβ

α

x

α

1

[

e

(

x

β

)

α

]

untuk xR

+

Sebagai contoh, penulisan:

> curve(dweibull(x, scale=2.5, shape=1.5),from=0, to=15, main="Distribusi Weibull")

akan menghasilkan grafik seperti Gambar 5.30 sebagai berikut:

menghasilkan grafik sepert i Gambar 5.30 sebagai berikut: Gambar 5.30: Kurva distribusi Weibull Indeks kemiringan dan

Gambar 5.30: Kurva distribusi Weibull

Indeks kemiringan dan kurtosis dihitung dengan menggunakan perintah skewness()dan kurtosis() yang terdapat dalam paket fBasics (dapat didownload dari website CRAN). Perintah untuk menghitungnya adalah sebagai