You are on page 1of 34

PERTEMUAN 9 : REGRESI LINEAR SEDERHANA

1. Regresi Linear Sederhana
Model umum dalam regresi linear sederhana antara Y dan X adalah sebagai berikut
Y i=β 0 + β i X i+ ϵ i
Yang mana nilai dari

β 0 dan

β 1 masih belum diketahui dan akan diestimasi dari

data. Untuk melakukan estimasi terhadap kedua parameter tersebut, digunakan Metode
Least Square yang bertujuan untuk membuat nilai
metode tersebut akan menghasilkan

bo

dan

∑e 2i
b1

sekecil mungkin. Penggunaan

yang merupakan estimator bagi

masing – masing parameter.
∑ (xi − ´x )( y i− ´y )
b1 =
dan b 0= ´y −b1 x´
2
∑ ( xi − x´ )
2. Regresi Linear Sederhana Menggunakan R
Untuk melakukan Regresi Linear Sederhana menggunakan R, kita dapat
memanfaatkan fungsi lm()

#RLS menggunakan datasets ‘Loblolly’
> plot(Loblolly$age,Loblolly$height, xlab = "age",ylab = "height", type = "p",) #Identifikasi
awal model

#Pembuatan model dimana ditentukan bahwa variabel height dipengaruhi oleh variabel age
> model = lm(height ~ age, data = Loblolly)
#Penambahan garis regresi kedalam plot
> abline(model)

> summary(model)
Call:
lm(formula = height ~ age, data = Loblolly)
Residuals:
Min
1Q Median
3Q
Max
-7.0207 -2.1672 -0.4391 2.0539 6.8545
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.31240 0.62183 -2.111 0.0379 *
age
2.59052 0.04094 63.272 <2e-16 ***
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2.947 on 82 degrees of freedom
Multiple R-squared: 0.9799,
Adjusted R-squared: 0.9797
F-statistic: 4003 on 1 and 82 DF, p-value: < 2.2e-16

Hasil diatas menunjukkan bahwa variabel age berpengaruh sangat signifikan terhadap
variabel height (terlihat dari simbol *** pada age), dimana kurang lebih 97% keragaman
dari variabel height mampu dijelaskan oleh variabel age.
Sementara itu simbol * pada Intercept menunjukkan bahwa nilai Intercept juga
signifikan sehinnga kita dapat menolak hipotesis null yang mengatakan bahwa nilai
Intercept = 0, yang berarti Intercept dapat ditambahkan kedalam model sehingga kita akan
mendapatkan persamaan regresi
^y =−1.31240+2.59052 x i
Untuk menguji asumsi Gauss-Markov pada model, kita dapat melihat plot – plot yang
dibutuhkan seperti plot Residual vs Fitted atau plot Normal Q-Q dengan menggunakan
plot(model) (hasil tidak ditunjukkan karena keterbatasan tempat)

3. Contoh Fungsi Custom
3.1. Fungsi Koefisien Regresi
Fungsi ini akan menampilkan beberapa koefisien dalam regresi linear sederhana
seperti nilai b0 , b1 , dan

R

2

berikut statistik ujinya.

reg.coeff = function(Y,X){
if (length(X)!=length(Y)){
stop("panjang X dan Y harus sama");

}
n = length(X) xbar = sum(X)/n; ybar = sum(Y)/n;
b1 = (sum(X*Y) - ((sum(X)*sum(Y))/n)) / (sum(X^2)-(sum(X)^2/n));
b0 = ybar - b1*xbar;
SSE = sum(Y^2)-b0*sum(Y)-b1*sum(X*Y); MSE = SSE/(n-2);
sb0 = sqrt((MSE*sum(X^2))/(n*sum((X-xbar)^2)));
sb1 = sqrt(MSE/sum((X-xbar)^2));
thit.b0 = b0/sb0; thit.b1 = b1/sb1;
R = sum((X-xbar)*(Y-ybar))/sqrt(sum((X-xbar)^2)*sum((Y-ybar)^2));
Rsqr = round((R^2*100),2);
est = c(b0,b1); std.error = c(sb0,sb1); t.hit = c(thit.b0,thit.b1);
#Pembuatan tabel
result = round(cbind(est,std.error,t.hit),4);
rownames(result) = c("Intercept",deparse(substitute(X)));
colnames(result) = c("Estimate","Std.Error","t value");
print(result);
cat("Koefisien determinasi :",Rsqr,"\n");
}
#Output
> reg.coeff(Orange$age,Orange$circumference)
Estimate Std.Error t value
Intercept
16.6036 78.1406 0.2125
Orange$circumference 7.8160 0.6059 12.9002
Koefisien determinasi : 83.45

3.2. Fungsi Regresi dengan Prediktor untuk Suatu Nilai X
Fungsi ini akan menampilkan persamaan regresi yang didapatkan beserta nilai
dugaan Y untuk suatu nilai X
cf_reg = function(Y,X){
if (length(X)!=length(Y)){
stop("panjang X dan Y harus sama");
}
xbar = sum(X)/length(X);
ybar = sum(Y)/length(Y);
b = (sum(X*Y) - ((sum(X)*sum(Y))/length(X)))/(sum(X^2)
- (sum(X)^2/length(X)));
a = ybar - b*xbar;
sign = ifelse(b < 0," - "," + ");
cat(paste("\nPersamaan Regresi : Y =" ", round(a,4), sign,
round(b,4), "X", sep = ""));
#Bagian untuk membuat prediktor
cat("\nPrediksi Variabel (Input X baru, tekan 'Enter' untuk
mengakhiri input) : ");
newx = scan();
for (i in newx){
cat(paste("\nPrediksi Y ketika X =",i,": ",round((a+b*i),4)));
}
}
---------------------------------------------------------------------------#Output
> cf_reg(Loblolly$height,Loblolly$age)
Persamaan Regresi : Y = -1.3124 + 2.5905X
Prediksi Variabel (Input X baru, tekan 'Enter' untuk mengakhiri input) :
1: 5
2: 10
3: 15
4:
Read 3 items
Prediksi Y ketika X = 5 : 11.6402
Prediksi Y ketika X = 10 : 24.5928
Prediksi Y ketika X = 15 : 37.5455

PERTEMUAN 10 : PENGUJIAN PARAMETER

rata – rata kepemilikan TV tiap rumah adalah 2.84.1. Anggap nilai σ =8 > n = 100. sigma = 0. mu = 3. > zhit [1] -2 > ztable = qnorm(alpha) #karena uji satu arah.1. Contoh : 1.1. Varians Populasi ( σ ) Diketahui Langkah pengujian yang dilakukan adalah mencari nilai Z hitung ( x´ −μ 0 σ /√n ) untuk kemudian dibandingkan dengan nilai dari Z tabel dengan alfa tertentu. alpha = 0.1. statistik uji yang digunakan adalah t hitung ( x´ −μ ) s / √n yang akan dibandingkan dengan nilai t tabel dengan derajat bebas n-1 dan alfa tertentu Contoh : .05. dan batas bawah > ztable [1] -1. Sedangkan untuk sampel kecil.05 maka kita dapat menolak H0 dan menyimpulkan bahwa pernyataan diatas salah 2 1. xbar = 2.1. Varians Populasi (σ ) Tidak Diketahui Apabila diketahui sampel yang ada besar (n ≥ 30) maka kita dapat menganggap bahwa sampel berdistribusi normal sehingga kita dapat mencari nilai Z hitung ( x´ −μ 0 s / √n ) yang dibandingkan dengan nilai Z tabel.84. Uji Rata – Rata Satu Populasi 2 1.2.02275013 zhit < ztable dan pvalue< 0.644854 Karena diketahui bahwa > pvalue = pnorm(zhit) > pvalue [1] 0. > zhit = (xbar-mu)/(sigma/sqrt(n)).8. UJI RATA – RATA 1. Ujilah pernyataan yang mengklaim bahwa rata – rata kepemilikan TV di 2 tiap Rumah di Amerika adalah paling sedikit 3 unit. Diketahui dari 100 sampel.

μ = 11 . \u03BC = ". "%. maka keputusan yang diambil adalah gagal tolak H0 1. xbar = sum(data)/n.n-1).1)). #Deklarasi Hipotesis cat("H0 : \u03BC =". (1-alpha)*100.mu. > thit = (xbar-mu)/(s/sqrt(n)) > thit [1] 1. mu = 168."\n"). dengan tingkat kepercayaan". alpha = 0. Diambil 25 Hotel sebagai sampel dan diketahui ´x =$ 172. gagaltolak = TRUE.0.mu. mean.063899 2.50. } } } #Kesimpulan if (gagaltolak){ cat("Gagal Tolak H0. #Statistik Uji z = c(qnorm(alpha/2. (1- alpha) *100.1. t = c(qt(alpha/2.05.1).11.mu. cat("H1 : \u03BC \u2260".qt(1-alpha/2. if (thit < t[1] || thit > t[2]){ gagaltolak = FALSE.qnorm(1-alpha/2. } }else { thit = (xbar-mu)/(var(data)/sqrt(n))."%.05){ n = length(data).mu.11. Ujilah pernyataan tersebut > n = 25. #Pengujian if (!missing(sigmasqr)){ zhit = (xbar-mu)/(sigmasqr/sqrt(n)). s = 15.0.sigmasqr."\n").qt(1-alpha/2.test = function(data. if (zhit < z[1] || zhit > z[2]){ gagaltolak = FALSE.3) H0 : μ = 11 H1 : μ ≠ 11 Gagal Tolak H0."\n").mu.1. } }else{ if (n >= 30){ zhit = (xbar-mu)/(var(data)/sqrt(n))."\n"). \u03BC \u2260".3) > mean. if (zhit < z[1] || zhit > z[2]){ gagaltolak = FALSE.alpha=0.] -2. }else{ cat("Tolak H0. dengan tingkat kepercayaan 95 %.461039 > ttable = c(qt(alpha/2. Rata – rata harga menginap satu malam Hotel di New York dikatakan sebesar $168.n-1)).n-1).40 . dengan tingkat kepercayaan".3.063899 Karena nilai thitung berada dalam selang tersebut.test(dummy.40. Contoh Fungsi Custom Fungsi dibawah ini adalah contoh untuk pengujian rata – rata terhadap suatu data (bukan ringkasan data seperti soal – soal diatas).50 dan s=$ 15. } } -----------------------------------------------------------------------#Hasil Uji Coba Fungsi > dummy = rnorm(20. xbar = 172.n-1)) #Karena merupakan uji dua arah > ttable [1.

sedangkan sampel bahan 2 memberikan rata – rata 81 satuan dengan standar deviasi 5. dengan tingkat kepercayaan 95 %.05. 2 Varians Populasi (σ ) Diketahui Varians Beda : ( x´ 1− x´ 2 )−d 0 Zhit = σ 21 σ 22 + n1 n2 Varians Sama : ( x´ 1− x´ 2 )−d 0 Zhit = 1 1 σ + n1 n2 √ √ 1.05.test(dummy.> mean.2. Sampel Independen 1.1. Uji Rata – Rata Dua Populasi 1. s1 = 4. Dengan alfa 0.1.1. s2 = 5.2. > sp = sqrt((s1^2*(n1-1)+s2^2*(n2-1))/(n1+n2-2)) > sp [1] 4. Contoh Soal 1.2. n2 = 10.1.043163 > t = qt(1-alfa.2. n1 = 12. Varians Tidak Diketahui dan Diasumsikan Sama 2 2 s1 ( n1−1 ) + s 2 ( n 2−1 ) ( x´ 1− x´ 2 ) −d 0 thit= s p= n1 +n2−2 1 1 sp + n1 n2 √ df =n1 +n2−2 1.1.12. μ ≠ 12 1. apakah bisa disimpulkan Hipotesis alternatif bahwa rata – rata bahan 1 melampaui bahan 2 sebanyak 2 satuan? Anggap kedua populasi hampir normal dengan varians sama #Pengerjaan per langkah > xbar1 = 85.3) H0 : μ = 12 H1 : μ ≠ 12 Tolak H0.477723 > thit = ((xbar1-xbar2)-do)/(sp*sqrt(1/n1+1/n2)) > thit [1] 1.2. Sampel Dependen . Diketahui sampel bahan 1 memberikan rata – rata keausan 85 satuan dengan standar deviasi 4.2.2.2. > xbar2 = 81.724718 #thit < ttable Kesimpulan : Gagal tolak H0 dan tidak dapat disimpulkan bahwa keausan bahan 1 melampaui bahan 2 lebih dari 2 satuan 1.3.n1+n2-2) #Uji satu arah batas atas >t [1] 1.2. do = 2.1. Varians Tidak Diketahui dan Diasumsikan Berbeda 2 ( s 21 /n1+ s 22 /n2 ) ( x´ 1− x´ 2 ) −d 0 thit = dan df = 2 2 2 s 21 s22 ( s1 /n1 ) ( s22 /n2 ) + + n1 n2 (n1−1) (n 2−1) √ 1.4. alfa = 0.

#Pengujian if (!paired){ #Jika sampel independen if (!missing(sigmasqr1) && !missing(sigmasqr2)){ #Jika varians populasi diketahui zhit = ((xbar1-xbar2)-diff) / (sqrt(sigmasqr1/n1 + sigmasqr2/n2)). .40.Untuk sampel dependen.66. thit = ((xbar1-xbar2)-diff)/(sp*sqrt(1/n1+1/n2)). diff=0.69.49.71.58.test.qt(1-alpha/2.3. t = c(qt(alpha/2.qnorm(1-alpha/2)).63.62.2pop = function(data1.after.89.81.2. var1 = sum((data1-xbar1)^2)/(n1-1).70.2pop(before. Statistik uji yang digunakan adalah di n ∑¿ i=1 n ¿ ¿2 ¿ n ∑ d 2i −¿ i =1 thit= ¿ ´ ( d−d 0 ) sd √ n . mean. μ1-μ2 ≠ 0 Kesimpulan : Tolak H0 dan dapat disimpulkan bahwa metode belajar tersebut terbukti meningkatkan kemampuan mahasiswa dalam mata kuliah X 1.75.68.85.30.76. if (thit < t[1] || thit > t[2]){ gagaltolak = FALSE. paired=FALSE. if (zhit < z[1] || zhit > z[2]){ gagaltolak = FALSE.05){ #Deklarasi variabel n1 = length(data1).68.Rata sampel 1: 63 Rata . terlebih dahulu kita menghitung nilai di yang merupakan selisih antara pasangan data yang ada.74. } }else{ #Jika varians populasi tidak diketahui if(var. sigmasqr1.83. gagaltolak = TRUE.51.73. n2 = length(data2).n1+n2-2)). Contoh Fungsi Custom Berikut adalah contoh fungsi buatan sendiri untuk pengujian rata – rata 2 populasi terhadap data yang belum ada ringkasan datanya.33.65. sigmasqr2. Ingin diketahui apakah penggunaan metode belajar terbaru akan memberikan perubahan terhadap nilai mata kuliah X. Diambil 20 sampel mahasiswa dan dilihat perbedaan nilai mata kuliah X sebelum dan sesudah menggunakan metode belajar terbaru tersebut > before = c(78. alpha=0.86) > mean.69) > after = c(75.77.57. var2 = sum((data2-xbar2)^2)/(n2-1). z = c(qnorm(alpha/2). var.65. data2.5 Tolak H0.test.59.55.n1+n2-2).50.Rata sampel 2: 67.60.63.54.70. dengan tingkat kepercayaan 95 %.55.equal=TRUE.68.equal){ #Jika varians diasumsikan sama sp = (var1*(n1-1)+var2*(n2-1))/(n1+n2-2). s d =√ ¿ Contoh : 1. xbar1 = sum(data1)/n1.paired = TRUE) Rata . xbar2 = sum(data2)/n2.70.

cat("Rata .44. Contoh : 1.} }else{ #Jika varians diasumsikan beda thit = ((xbar1-xbar2)-diff)/(sqrt(var1/n1+var2/n2)).3.xbar2.3 Rata .9812.2pop(A. df = (var1/n1+var2/n2)^2/((var1/n1)^2/(n1-1) + (var2/n2)^2/(n2-1)).30.35.40.34.713454 sample estimates: mean of x mean of y 39. conf.40. }else{ cat("Tolak H0.36. \u03BC1-\u03BC2 \u2260".n-1)."\n").40) > B = c(35.B. dimana diasumsikan varians tidak diketahui dan dianggap berbeda."\n").30.31.(1-alpha)*100.40.var.95) Welch Two Sample t-test data: A and B t = 3.n-1)).Rata sampel 1: ". Ingin diketahui apakah rata – rata skor suatu metode belajar A sama dengan metode belajar B. if (gagaltolak){ cat("Gagal Tolak H0.31.40.equal = FALSE) Rata . dbar = sum(d)/length(d)."\n")."\n").85 #Dengan fungsi buatan sebelumnya > mean. \u03BC1-\u03BC2 = ".40.36. dengan tingkat kepercayaan". sd = sqrt(sum((d-dbar)^2)/(n-1)).B.39.df)). p-value = 0.641.qt(1-alpha/2. μ1-μ2 ≠ 0 .var."%.42.(1-alpha)*100. t = c(qt(alpha/2.Rata sampel 2: ". df = 37.34. } } } }else{ #Jika sampel berpasangan(dependen) d = data1-data2. Tambahan Untuk pengujian rata – rata satu atau dua populasi yang statistik ujinya menggunakan t hitung.34) > t.85 Tolak H0.44. df = ceiling(df). Gunakan alfa 0.35.38.42. n = length(d).32.35.level = 0.05 > A = c(37. } } 1.41. dengan tingkat kepercayaan".42.41. dengan tingkat kepercayaan 95 %. if (thit < t[1] || thit > t[2]){ gagaltolak = FALSE. thit = (dbar-diff)/(sd/sqrt(n)).df).186546 6.34.38.diff.41.38.30 34.0003019 alternative hypothesis: true difference in means is not equal to 0 95 percent confidence interval: 2.34.test(A. } } #Kesimpulan cat("Rata .diff."%.test.41.equal = FALSE.Penjelasan mengenai parameter – parameter yang digunakan dalam fungsi tersebut dapat dilihat menggunakan perintah ?t. if (thit < t[1] || thit > t[2]){ gagaltolak = FALSE.33.30.test(). kita juga dapat menggunakan fungsi built-in dari R yaitu t.33.43.qt(1-alpha/2.test().xbar1.Rata sampel 2: 34. t = c(qt(alpha/2.Rata sampel 1: 39.

chisqr = c(qchisq(alfa/2."%.1. }else{ cat("Gagal Tolak H0. } } 2.1.2.2. Suatu perusahaan baterai mengklaim bahwa lama hidup baterainya diasumsikan berdistribusi normal dengan σ 0.alpha=0.sigmasqr0=0. UJI VARIANS 2. Contoh Fungsi Custom (Periksa Lagi) Untuk data yang belum disajikan ringkasannya. dengan alfa 5%. 2. Jika 10 sampel diketahui memiliki standar deviasi 1.sigmasqr0. \u03c3\u00B2 \u2260".05. dengan tingkat kepercayaan".(1-alpha)*100. n = 10. ssqr = 1. > chisq_hit = ((n-1)*ssqr)/(sigmasqr0) > chisq_hit [1] 16 > chisq = qchisq(1-alfa. uji apakah σ >0. xbar = sum(data)/n.9^2. var = (sum((data-xbar)^2))/(n-1). #Pengerjaan per langkah > sigmasqr0 = 0. 2. Tolak H 0 yang berarti kita dapat menyimpulkan bahwa rata – rata untuk kedua metode adalah berbeda. #Pengujian if (chisqr_hit<chisqr[1] || chisqr_hit>chisqr[2]){ cat("Tolak H0.91898 #chisq_hit < chisq Kesimpulan : Gagal tolak H0 dan kita dapat menerima klaim perusahaan 2.9 per tahun.1.n-1).n-1)).9 per tahun.05).sigmasqr0.2^2. dengan tingkat kepercayaan". \u03c3\u00B2 =". Uji Varians Satu Populasi Jika diasumsikan bahwa distribusi dari populasi yang diambil sampelnya adalah normal.1."\n")."%. chisqr_hit = ((n-1)*var)/(sigmasqr0)."\n").qchisq(1-alfa/2.var = function(data.n-1) #Karena uji satu arah batas atas > chisq [1] 16.Kesimpulan : Berdasarkan nilai p-value yang lebih kecil dari alfa (0. alfa = 0. Contoh Soal 1.(1-alpha)*100.05){ #Deklarasi variabel n = length(data). Ujilah variabel weight dari dataset women dengan alfa 5% apakah memiliki dari sampel tersebut dapat disimpulkan varian populasi bernilai 17 ? . kita dapat membuat fungsi sebagai berikut uji. statistik uji yang digunakan adalah nilai chi-square hitung sebagai berikut ( n−1 ) s2 χhit 2= σ 20 Yang kemudian akan dibandingkan dengan nilai chi-square dari tabel dengan derajat bebas n−1 .

xbar2 = sum(data2)/n2. "%.n2-1)) > ftable #Karena uji 2 arah [1] 0.n2-1)).354.var.alpha=0.3452773 3.499.234. Apakah beralasan jika dianggap kedua varians populasi yang tidak diketahui ini mempunyai besar yang sama? Gunakan α =0. kita dapat membuat fungsi sebagai berikut uji.var.1. xbar1 = sum(data1)/n1.375.64 > ftable = c(qf(alfa/2. dengan tingkat kepercayaan". statistik uji yang digunakan adalah nilai F hitung sebagai berikut s 21 fhit = 2 s2 Yang kemudian akan dibandingkan dengan nilai F dari tabel dengan derajat bebas pertama n1−1 dan derajat bebas kedua n2−2 2. dengan tingkat kepercayaan 95 %.438) > uji.17) Gagal Tolak H0.379. n2 = length(data2). f = c(qf(alfa/2. > fhit = s1^2/s2^2 > fhit [1] 0.518.278.2. }else{ cat("Gagal Tolak H0. fhit = s1/s2.n1-1. dengan tingkat kepercayaan". Dari suatu percobaan. Contoh Soal 1.n1-1. σ²1 = σ²2 .505.qf(1-alfa/2.399. alfa = 0.n1-1. n2 = 10.663.n2-1).n2-1).196. σ² = 17 2. dengan tingkat kepercayaan 95 %.qf(1-alfa/2.1024854 #fhit berada di antara kedua batas kritis Kesimpulan : Gagal tolak H0 dan dapat disimpulkan bahwa varians kedua populasi sama 2. Uji Varians Dua Populasi Jika diasumsikan bahwa distribusi dari kedua populasi yang diambil sampelnya adalah normal.340) > bumper2 = c(404.bumper2) Gagal Tolak H0.(1-alpha)*100.358.2.#Dengan fungsi buatan sebelumnya > uji.(1-alpha)*100.521.2pop = function(data1. s2 = sqrt((sum((data2-xbar2)^2))/(n2-1)).2.10.05){ #Deklarasi variabel n1 = length(data1). 12 sampel bahan 1 diketahui mempunyai standar deviasi 4 dan 10 sampel bahan 2 mempunyai standar deviasi 5. } } 2.562."%. Dari kedua sampel bumper dibawah. #Pengujian if (fhit < f[1] || fhit > f[2]){ cat("Tolak H0. \u03c3\u00B21 \u2260 \u03c3\u00B22 \n").var(women$height. \u03c3\u00B21 = \u03c3\u00B22 \n"). ujilah apakah varians populasi keduanya bernilai sama #Dengan fungsi buatan sebelumnya > bumper1 = c(610.374.data2. s1 = sqrt((sum((data1-xbar1)^2))/(n1-1)).n1-1. s2 = 5.10 #Pengerjaan per langkah > n1 = 12. Contoh Fungsi Custom Untuk data yang belum disajikan ringkasannya. s1 = 4.2.548.2pop(bumper1.

p = ".05. pcap = x/n. }else{ cat("Gagal Tolak H0. if (n*p < 5 || n*(1-p) < 5){ stop("pcap tidak dapat diasumsikan normal"). pilihan = scan(nmax = 1). > n*p [1] 40 #np ≥ 5 terpenuhi > n*(1-p) [1] 460 #n(1-p) ≥ 5 terpenuhi > zhit = (pcap-p)/(sqrt((p*(1-p))/n)) > zhit [1] -2. uji. Contoh Fungsi Custom Berikut adalah contoh fungsi buatan sendiri untuk pengujian proporsi satu populasi untuk data yang belum disajikan ringkasannya. alfa = 0. #Pengujian if (zhit < z[1] || zhit > z[2]){ cat("Tolak H0.qnorm(1-alfa/2)) >z [1] -1. Data diasumsikan berupa kategori yang akan diubah kedalam bentuk sukses atau gagal. p = 0.1.1."\n"). ^p dapat diaproksimasi dengan distribusi normal sehingga statistik uji yang digunakan adalah ^p − p Zhit = p ( 1− p ) n √ 3.alpha=0.08. Uji Proporsi Satu Populasi Ketika nilai np dan n(1−p) paling tidak bernilai 5. Contoh Soal 1.959964 1.3.p. ujilah pernyataan perusahaan itu #Pengerjaan per langkah > pcap = 25/500.(1-alpha)*100.p. Sebuah perusahaan mengaku mereka menerima 8% respons dari survei menggunakan metode mailing.959964 #zhit berada dibawah batas kritis bawah .1. n = length(data).1. Dengan alfa 5%. p \u2260".frame(kategori)).p. didapatkan respons sebanyak 25 orang.(1-alpha)*100. } } } 3.qnorm(1-alfa/2)).prop = function(data. Uji Proporsi 3."%.p. dengan tingkat kepercayaan"."\n"). x = sum(data==kategori[pilihan])."\n"). Dari 500 sampel acak."%. n = 500.05){ #Deklarasi variabel kategori = unique(data). cat("pcap =". z = c(qnorm(alfa/2).2. }else{ zhit = (pcap-p)/(sqrt((p*(1-p))/n)). cat("Masukkan nomor untuk kategori yang dianggap sebagai sukses :"). dengan tingkat kepercayaan". print(data.472677 > z = c(qnorm(alfa/2).

pcap1 = x1/n1.2. x1 = sum(data1==kategori[pilihan]). Ingin diketahui apakah jumlah perempuan di jurusan Komputasi Statistik adalah sama dengan laki-laki.2. Untuk H0 : Zhit = ) p1− p2=D ( D ≠0 ) ( ^p1− ^p2 )−D √ ^p 1 ( 1− ^p 1) ^p 2 ( 1− ^p 2 ) + n1 n2 x 1+ x 2 n 1+ n2 3. Ujilah dengan alfa 5% #Dengan fungsi buatan sebelumnya > ks2 = c(rep("pria".frame(kategori)). x2 = sum(data2==kategori[pilihan]). p = 0.2pop = function(data1. pilihan = scan(nmax = 1).prop(ks. n2 = length(data2). Uji Proporsi Dua Populasi Ketika nilai n1 ^p 1 . } kategori = unique(data1). }else{ #Pengecekan kondisi untuk penentuan zhit if (diffp == 0){ . cat("Masukkan nomor untuk kategori yang dianggap sebagai sukses :"). n1 (1− ^p 1) ^p1−^p2 n2 (1− ^p 2) dan paling tidak bernilai 5. Kedua data diasumsikan berupa keterangan yang akan diubah kedalam bentuk sukses atau gagal.diffp=0.2.data2.rep("wanita". dengan tingkat kepercayaan 95 %.1. pcap2 = x2/n2. Contoh Fungsi Custom Berikut adalah contoh fungsi buatan sendiri untuk pengujian proporsi dua populasi untuk data yang belum disajikan ringkasannya. uji.14)) > uji. n2 ^p 2 . #Sama dengan unique(data2) print(data.26).alfa=0. Untuk H0 : Zhit = p1− p2=0 ( ^p1− ^p 2) √ ^p ( 1− ^p ) 1 + 1 n1 n 2 ^p= ( 2.prop. Diambil kelas 2KS-2 sebagai sampel.35 Gagal Tolak H0.05){ #Deklarasi variabel if (unique(data1)!=unique(data2)){ stop("sampel yang diajukan tidak memiliki kriteria sukses gagal yang sama").0.5 3.5) kategori 1 pria 2 wanita Masukkan nomor untuk kategori yang dianggap sebagai sukses : 1: 2 Read 1 item pcap = 0. #Pengujian nilai np dan n(1-p) kedua sampel if (n1*p1 < 5 || n1*(1-p1) < 5 || n2*p2 < 5 || n2*(1-p2) < 5){ stop("p1-p2 tidak dapat diasumsikan normal"). dapat diaproksimasi dengan distribusi normal sehingga statistik uji yang digunakan adalah 1. n1 = length(data1).

p1-p2 = ".prop.025 > pcap1 [1] 0. x2 = 240.17)."%. p1-p2 ≠ 0 PERTEMUAN 11 : UJI DISTRIBUSI PEUBAH ACAK .diffp. Ingin diketahui apakah proporsi antara perempuan dan laki – laki di jurusan Komputasi Statistik dan jurusan Statistik adalah sama. p1-p2 \u2260".2pop(sampel_ks.diffp.rep("wanita".86972 > z = qnorm(1-alfa) #Karena uji satu arah batas atas >z [1] 1. } } } 3. pcap2 = x2/n2. "%.2."\n").2.23)) > uji. Contoh Soal 1. #Pengujian if (zhit < z[1] || zhit > z[2]){ cat("Tolak H0. Ujilah dengan alfa 5% #Dengan fungsi buatan sebelumnya > sampel_ks = c(rep("pria". zhit = (pcap1-pcap2)/(sqrt(pcap*(1-pcap)*(1/n1+1/n2))).5142857 > zhit = (pcap1-pcap2)/(sqrt(pcap*(1-pcap)*(1/n1+1/n2))). }else{ cat("Gagal Tolak H0. n2 = 500.959964 #zhit > z Kesimpulan : Tolak H0 yang menyatakan bahwa p1= p2 dan terima pernyataan bahwa proporsi penduduk kota yang setuju lebih besar 2. }else{ zhit = ((pcap1-pcap2)-diffp)/(sqrt((pcap1*(1-pcap1))/n1+(pcap2*(1pcap2))/n2)).6 > pcap2 [1] 0."\n").qnorm(1-alfa/2)).(1-alpha)*100. dengan tingkat kepercayaan 95 %. } z = c(qnorm(alfa/2). Apakah anda sependapat bahwa proporsi penduduk kota yang setuju lebih besar ? Gunakan alfa 0. dengan tingkat kepercayaan". > pcap1 = x1/n1.dengan tingkat kepercayaan".sampel_s) kategori 1 pria 2 wanita Masukkan nomor untuk kategori yang dianggap sebagai sukses : 1: 2 Read 1 item Tolak H0.16)) > sampel_s = c(rep("pria".24). > zhit [1] 2.rep("wanita". Diketahui 120 dari 200 penduduk kota menyetujui rencana pembangunan pabrik kimia.pcap = (x1+x2)/(n1+n2). x1 = 120. alfa = 0. Diketahui data dari sampel kelas terpilih sebagai berikut.025 #Pengerjaan per langkah > n1 = 200.48 > pcap [1] 0. sedangkan hanya 240 dari 500 penduduk desa yang menyetujuinya.(1-alpha) *100. pcap = (x1+x2)/(n1+n2).

test() Metode untuk menguji kenormalan sampel kecil dengan syarat data kuantitaif. Metode ini juga  berguna untuk jumlah sampel yang sedikit.86. Shapiro Wilk : shapiro.74.68.standardized = (data-mean(data))/sd(data) > qqnorm(data.93.104.90.59. kita akan menggunakan library nortest. Liliefors : lilie. Kolmogorov Smirnov : ks. Uji Kenormalan Banyak pengujian statistik yang menggunakan asumsi bahwa suatu distribusi peubah acaknya harus mengikuti suatu distribusi tertentu.78.94.70.80) > data.standardized) > abline(0. Pendugaan awal untuk menguji apakah data sampel yang ada mengikuti suatu distribusi tertentu dapat kita lihat menggunakan fungsi qqnorm() (khusus jika distribusi teoritis normal) atau qqplot() untuk distribusi teoritis lainnya.70.test() Merupakan modivikasi dari Kolmogorov Smirnov ketika nilai μ dan σ 2 tidak diketahui dan diestimasi dari data sampel yang ada.test() Metode Goodness of Fit ini hanya digunakan untuk data yang telah dikelompokan menjadi kelas – kelas yang tidak saling tumpang tindih dengan frekuensi masing – masing. Beberapa metode (dengan fungsi built-in dalam R) yang dapat digunakan untuk uji kenormalan antara lain  Goodness of Fit : pearson.98.1) #Membuat garis referensi 45 derajat .90.75.67.110.88.97. pearson.packages(‘nortest’) #Bagi yang belum memiliki > library(nortest) > data = c(58. Untuk melakukan pengujian menggunakan metode diatas.84.70. > install.112.76.70.84.84.8 0.92.82.82.90.68.68.83. tunggal (belum dikelompokan pada tabel distribusi frekuensi) dan sampel diambil secara acak. contohnya Normal.1.test() membandingkan frekuensi hasil  observasi dengan ekspektasi dari frekuensi yang mengacu dari distribusi normal.90. Inti dari metode ini adalah melihat seberapa besar perbedaan antara fungsi distribusi  kumulatiif teoritis dan observasi.test() Metode ini baik digunakan apabila nilai parameter (dalam kasus normal berarti μ dan σ 2 ¿ dari distribusi teoritis yang diajukan diketahui.

85.12) One-sample Kolmogorov-Smirnov test data: data D = 0.#Plot menunjukkan kemungkinan kuat data berdistribusi normal #1. Uji Kesesuaian Distribusi Teoritis Lain .10471. 85.6073 #pvalue > #0.05.97592.2365 #pvalue > #0. gagal tolak H0 (data normal) alternative hypothesis: two-sided Warning message: #Karena terdapat data perulangan.test(data) Shapiro-Wilk normality test data: data W = 0.test(data. gagal tolak H0 (data normal) 2. Uji apakah data berdistribusi normal dengan mean = 85 & sd = 12 > ks.4067 #pvalue > #0. p – value yang ada merupakan aproksimasi In ks.05. p-value = 0. 12) : ties should not be present for the Kolmogorov-Smirnov test #2. Uji apakah data berdistribusi normal (diasumsikan μ dan σ tidak diketahui dan diestimasi dari sampel) > lillie.pnorm. gagal tolak H0 (data normal) > shapiro. p-value = 0.test(data. pnorm.17213. p-value = 0.05.test(data) Lilliefors (Kolmogorov-Smirnov) normality test data: data D = 0.

alfa=0.(1-alfa)*100.min(data)). data tidak mengikuti distribusi ". chisqr = qchisq(1-alfa.dist."\n"). salah satu metode yang dapat dipakai adalah dengan menggunakan Goodness of Fit.(1-alfa)*100. freq = c(freq."%. data mengikuti distribusi ".3*log10(n)). "normal" = 2.Untuk uji kesesuaian distribusi teoritis lainnya. Sementara fungsi kedua digunakan untuk melakukan Goodness of Fit terhadap distribusi teoritis Normal dari data mentah yang belum dikelompokkan (mengacu pada cara yang diajarkan pada MetStat II) uji."\n"). while (freq[i] < 5 && i+j <= nclass) { freq[i] = freq[i] + freq[i+j]. nclass = ceiling(1 + 3.sum(data >= (l_limit[i]-sig) & data <= (u_limit[i]+sig)))."%. l_limit = c().teori). "eksponensial" = 1.df). dengan tingkat keyakinan". }else{ cat("Gagal Tolak H0.05){ list = c("normal". } u_limit = c(u_limit.teori.teori.chisqrhit.dist. cat("khi-kuadrat hitung = ". sig = 5/(10^(max(decimalplaces(data))+1)). 3."\n").alfa=0. Contoh Fungsi Custom Fungsi pertama digunakan untuk langsung menguji antara frekuensi observasi dengan frekuensi harapan (yang dihitung diluar fungsi). #Menghitung frekuensi tiap kelas for (i in 1:nclass){ if (i==1){ l_limit = c(l_limit.u_limit[i-1]+2*sig)."gamma". #Menghitung derajat bebas k = switch (dist.gof2 = function(data.teori. #Kesimpulan if (chisqrhit > chisqr){ cat("Tolak H0. } } } -------------------------------------------------------------------------------uji. freq = c(). dengan tingkat keyakinan". #Pengecekan pertama (atas->bawah) untuk frekuensi < 5 for (i in 1:nclass) { j = 1."poisson". cat("khi-kuadrat tabel = ". .05){ #Deklarasi variabel range = max(data)-min(data). kemudian dibandingkan dengan nilai frekuensi observasi.dist.chisqr."\n"). n = length(data). Nilai frekuensi harapan dihitung menurut distribusi teoritis yang diajukan.teori). "weibull" = 2 ) df = length(freq)-k-1.exp_freq.gof1 = function(freq. "gamma" = 2. #Pengujian chisqrhit = sum((freq-exp_freq)^2/exp_freq). u_limit[i] = u_limit[i+j]. }else { l_limit = c(l_limit.teori. "poisson" = 1."weibull") if (!any(dist. interval = range/nclass. } del = c()."eksponensial". u_limit = c().teori==list)){ stop("Distribusi teori yang diajukan tidak tersedia") }else{ #Pernyataan hipotesis cat("H0 : data mengikuti distribusi".dist. cat("H1 : tidak data mengikuti distribusi".dist.l_limit[i]+interval).

length(del)." > ". u_limit = u_limit[-(del)]. u_z = c().4). ft = cbind(ft. prob = c(prob. cat("\ninterval = ". } ft = data.4).i+j). cat("\nkhi kuadrat hitung =". ft = round(ft. j = j+1.i-j).length(del).(l_limit[i]-sig-mean(data))/sqrt(var(data))). } #Menghitung nilai z khusus baris terakhir l_z = c(l_z. }else{ .4).chisqr. prob = c(prob. e_freq = c(). del = c(del. } del = c()."\n\n"). cat("\nnclass = ".(u_limit[i]+sig-mean(data))/sqrt(var(data))). while (freq[i] < 5 && i-j >= 1) { freq[i] = freq[i] + freq[i-j].Inf).nclass-3).chisqr).0.0.interval).e_freq).freq). prob = c().1-pnorm(l_z[nclass]. if (sum((ft$e_freq-ft$freq)^2/ft$e_freq) > chisqr){ cat("\n".1)). #Kesimpulan cat("\nH0 : Populasi berdistribusi normal").range).frame(l_limit. cat("\nrange = ".pnorm(u_z[i].prob. for (i in 2:(nclass-1)) { l_z = c(l_z. cat("\nkhi kuadrat tabel = ". #Menghitung nilai z khusus baris pertama l_z = c(l_z.0. chisqr = round(qchisq(1-alfa. freq = freq[-(del)]. u_z = c(u_z. } } if (length(del) != 0) { l_limit = l_limit[-(del)].1)-pnorm(l_z[i]. prob = c(prob. cat("\n Tolak H0 : Populasi tidak berdistribusi normal").length(data)*prob[1]). u_z = c(u_z.(l_limit[nclass]-sig-mean(data))/sqrt(var(data))).-Inf). freq = freq[-(del)].del = c(del.pnorm(u_z[1].1)). l_z = c(). u_z = c(u_z. e_freq = c(e_freq. nclass = nclass . cat("\nH1 : Populasi tidak berdistribusi normal"). cat("\nTolak H0 jika khi kuadrat hitung > ". l_limit[i] = l_limit[i-j]. #Pengecekan kedua (bawah->atas) untuk frekuensi < 5 for (i in nclass:1) { j = 1.l_z. } if (nclass <= 3){ stop("Jumlah kelas terlalu sedikit untuk melakukan pengujian kenormalan menggunakan metode ini"). e_freq = c(e_freq.0. e_freq = c(e_freq.nclass). } } if (length(del) != 0) { l_limit = l_limit[-(del)].round(sum((ft$e_freq-ft$freq)^2/ft$e_freq).length(data)*prob[nclass]).u_z.length(data)*prob[i]).(u_limit[1]+sig-mean(data))/sqrt(var(data))).u_limit. j = j+1.1)). print(ft).sum((ft$e_freq-ft$freq)^2/ft$e_freq)).chisqr). nclass = nclass . u_limit = u_limit[-(del)].

01975722 > exp_freq [1] 27.exp_freq.4643491 4.gof2 decimalpalces = function(x) { dp = c().3).4). dengan tingkat keyakinan 95 %.6. exp_freq = p*sum(bh) >p [1] 0.gof1(bh.4405818 16.9878609 > uji.lambda).1) > lambda = (sum(sc*bh)/sum(bh)) > p = dpois(sc.991465 Gagal Tolak H0. as.character(x)).1.poisson) #Dengan fungsi buatan sebelumnya H0 : data mengikuti distribusi poisson H1 : tidak data mengikuti distribusi poisson khi-kuadrat hitung = 0.9393047 0. chisqr).n−k Source of Degrees of Sum of Variation Freedom Squares Mean Squares F-Statistic . data mengikuti distribusi poisson PERTEMUAN 12 : ANALYSIS OF VARIANCE 1.54881164 0.15.0). ''." <= ". ". for (i in 1:length(x)) { if ((x[i] %% 1) != 0) { dp = c(dp. Ujilah menggunakan Goodness of Fit Salah cetak 0 1 2 3 Banyaknya halaman 28 15 6 1 > sc = c(0.32928698 0. } else { dp = c(dp.3695738 khi-kuadrat tabel = 5. Tabel Anova dan Perhitungannya H 0 : μ i=μ2=…=μk H 1 : sedikitnya ada1 rata−rata yang tidak sama Tolak H0 jika Fhit> F α .cat("\n". bh = c(28. } } -------------------------------------------------------------------------------#Membuat fungsi untuk menghitung jumlah angka dibelakang koma yang diperlukan dalam fungsi uji. Terjadinya salah satu cetak kata-kata dalam setiap halaman buku pelajaran diduga mempunyai sebaran poisson. Contoh Soal 1.k−1 . } } return(dp) } 4.2. fixed=TRUE)[[1]][[2]])).09878609 0.nchar(strsplit(sub('0+$'. cat("\nGagal tolak H0 : Populasi berdistribusi normal").".round(sum((ft$e_freq-ft$freq)^2/ft$e_freq).

sedikitnya ada 1 rata . var = c().f.length(data[!is. Menggunakan Fungsi Built In R    Langkah 1 : Membuat Model model = lm(y ~ treatment. ntotal = length(data[!is.rata yang tidak sama\n")."Error".na(data)]) . t_ms = c(MST. t_df = c(k-1. dan tidak akan dihitung dalam perhitungan.i]). fhit = MST/MSE. matriks data akan terlebih dulu di transpose.na(data[. f = qf(1-alpha."\n"). Apabila ada perbedaan jumlah sampel."Mean Squares".mean(data[!is. anova. #Pengujian if(fhit > f){ cat("Fhit >". MST = SST/(k-1).05.ntotal-k.na(data[.NA) t_anova = round(cbind(t_ss."df". xbar = c(). rownames(t_anova) = t_sov.1.1arah = function(data. cat("Tolak H0. .colAsTreatment = TRUE){ if (!colAsTreatment){ data = t(data). t_ss = c(SST. } SST = sum(n*(xbar-xbarbar)^2).Treatment k −1 SST MST =SST / (k−1) Error n−k SSE MSE=SSE /(n−k ) Total n−1 SSTotal k 2 SST =∑ n j ( ´x j − ´´x ) j=1 k SSE=∑ ( n j−1 ) s j 2 Fhit=MST / MSE SS (Total )=SST + SSE j=1 2.t_df.NA. n = c().2.i])). var = c(var. maka kekosongan sampel pada matriks ditandai dengan NA (karena matrix mengharuskan panjang data sama). #Pembuatan tabel t_colnames = c("Sum Squares".var(data[!is."F"). Contoh Fungsi Custom Fungsi ini akan melakukan pengujian rata – rata dengan ANOVA untuk data masukan bertipe matrix.MSE.SSE. t_sov = c("Treatment".2).ntotal-k)."Total"). Anova Satu Arah 2. MSE = SSE/(ntotal-k). #Perhitungan for (i in 1:ncol(data)){ xbar = c(xbar.i])).k = ncol(data).t_ms. SSE = sum((n-1)*var).NA) t_f = c(fhit. n = c(n."\n"). Secara default. SSTotal = SST + SSE. sumber_data) model = lm(sumber_data$y ~ sumber_data$treatment) #sama Langkah 2 : Menggunakan Fungsi anova() terhadap model yang digunakan Langkah 3 : Menganalisis Keluaran yang Diberikan 2. print(t_anova).na(data[.alpha=0.t_f).i]).i])).f. kolom akan dianggap sebagai perlakuan dan apabila perlakuan berupa baris.na(data)]).i]). }else{ cat("Fhit \u2264".k-1. #Transpose matriks data } #Deklarasi Variabel xbarbar = mean(data[!is. colnames(t_anova) = t_colnames.SSTotal).ntotal-1).

001 ‘**’ 0.412.colAsTreatment = FALSE) #Menghasilkan output sama 3.460.9 33 12172.365 5.663.399.518.8 36 NA NA Fhit > 2.NA. maka kita dapat menggunakan model kedua.562.181.NA) #n4 = 8 > bumper = cbind(bumper1. 3. untuk pemberian dosis yang berbeda.2.379.197.374.405.426.rata yang tidak sama #Apabila baris merupakan perlakuan > bumper = rbind(bumper1. dan interaksi antara suplemen dan pemberian dosis #Pengerjaan per langkah . codes: 0 ‘***’ 0.548.cat("Gagal Tolak H0. sedikitnya ada 1 rata . disimpulkan sedikitnya ada 1 rata – rata yang tidak sama 2.354.05 ‘.63 NA Total 572626.01 ‘*’ 0. Menggunakan Fungsi Built In R  Langkah 1 : Membuat Model   model1 = lm(y ~ faktor1*faktor2.521.rata dari".297.1arah(bumper.429. Ujilah dengan alfa 5% apakah terdapat perbedaan rata – rata untuk keenam jenis pakan tersebut. rata .chickwts) > anova(model) Analysis of Variance Table Response: weight Df Sum Sq Mean Sq F value Pr(>F) feed 5 231129 46226 15. Anova Dua Arah 3. sumber_data) #tanpa interaksi Langkah 2 : Menggunakan Fungsi anova() terhadap model yang digunakan Langkah 3 : Menganalisis Keluaran yang Diberikan Apabila dari model pertama menunjukkan bahwa interaksi tidak signifikan.’ 0.196.505.1.332.1arah(bumper) Sum Squares df Mean Squares F Treatment 170929.358.234.936e-10 *** Residuals 65 195556 3009 --Signif.bumper4) > anova.bumper2.k.621.438) #n2 = 10 > bumper3 = c(599.NA) #n1 = 9 > bumper2 = c(404.9 3 56976.68 Error 401696.499.891564 Tolak H0.426. sedang dan tinggi. Dataset ToothGrowth memberikan informasi tentang efek dari vitamin C terhadap pertumbuhan gigi marmut dengan suplemen dan dosis yang berbeda. Contoh Soal 1. Ujilah apakah terdapat perbedaan rata – rata untuk pertumbuhan gigi untuk suplemen yang berbeda.499.64 4. Contoh Soal 1.bumper2.494.637) #n3 = 10 > bumper4 = c(272. #Pengerjaan per langkah > model = lm(weight~feed.375.278. sumber_data) #ada interaksi model2 = lm(y ~ faktor1+faktor2.bumper4) > anova. Diketahui sampel biaya perbaikan dari empat jenis bumper yang berbeda.1 ‘ ’ 1 Kesimpulan : Tolak H0. Misalkan kita akan membedakan dosis yang diberikan kedalam level rendah. } } 2.3."populasi sama\n"). Dataset chickwts merupakan hasil dari suatu percobaan untuk menguji keefektifan pakan ayam.414.bumper3. Uji dengan alfa 5% apakah terdapat perbedaan rata – rata untuk keempat populasi bumper #Dengan fungsi buatan sebelumnya > bumper1 = c(610.363.bumper3.

Apabila ada perbedaan jumlah perulangan."high")) > model = lm(len~supp*dose. SST = sum(data^2)-CF. rancob.1 ‘ ’ 1 Kesimpulan : terdapat pengaruh (perbedaan rata – rata) untuk suplemen yang berbeda dan untuk pemberian dosis yang berbeda.0218603 * Residuals 54 712. nrep = c().2. #Perhitungan ##SSTreatment for (j in 1:ntreat){ . Tabel RAL dan Perhitungannya H 0 : μ i=μ2=…=μa H 1 : sedikitnya ada1 rata−rata yang tidak sama Tolak H0 jika Fhit> F α (a−1 .> ToothGrowth$dose = factor(ToothGrowth$dose. for(i in 1:ntreat){ nrep = c(nrep.ral = function(data.na(data[.i])).000 < 2. serta terdapat interaksi antara keduanya.572 0.19 --Signif. dan tidak akan dihitung dalam perhitungan.0002312 *** dose 2 2426.2e-16 *** supp:dose 2 108.0. Rancangan Acak Lengkap 1. matriks data akan terlebih dulu di transpose.11 13. maka kekosongan data pada suatu perulangan ditandai dengan NA (karena matrix mengharuskan panjang data sama).32 54. sehingga model dengan interaksi ini lebih tepat digunakan. SSTr = 0. labels=c("low".001 ‘**’ 0.’ 0.5.2.107 0.length(data[!is. codes: 0 ‘***’ 0.35 205.1.43 1213.alpha = 0."med". Secara default.05){ if (!colAsTreatment){ data = t(data) } #Deklarasi variabel ntreat = ncol(data).16 4.0). } CF = sum(data)^2/sum(nrep).35 15.05 ‘.1. SSRp = 0.01 ‘*’ 0. kolom akan dianggap sebagai perlakuan dan apabila perlakuan berupa baris.colAsTreatment = TRUE. PERTEMUAN 13 : RANCANGAN PERCOBAAN 1.ToothGrowth) > anova(model) Analysis of Variance Table Response: len Df Sum Sq Mean Sq F value Pr(>F) supp 1 205.∑ (r −1 )) i Source of Degrees of Sum of Variation Treatment Freedom Squares a−1 SST MST =SST / (a−1) Error ∑(r i−1) SSE MSE=SSE / ∑(r i−1) Total ∑ r i−1 SSTotal Mean Squares F-Statistic Fhit=MST / MSE 1. Contoh Fungsi Custom Fungsi ini akan menghasilkan ANOVA rancangan acak lengkap untuk data masukan bertipe matrix. levels=c(0.22 92.i]).

Tabel RAK dan Perhitungannya Perlakuan H 0 : μ i=μ2=…=μa Kelompok H 0 : μ i=μ2=…=μb H 1 : sedikitnya ada1 rata−rata yang tidak sama Tolak H0 jika Fhit> F α (a−1 .SSRp. cat("Tolak H0.(a −1 )(b−1)) F-Statistic .ntreat-1.t_ms. > data. "df".8 5 4.1 > rancob. "Mean Squares".3.SSTr .3 C D 5.rata dari".9063 23 NA NA Fhit > 3.0983 NA Total 4.NA). Rancangan Acak Kelompok 2.NA.NA).rata yang tidak sama 2.4 4. print(round(t_anova.1. MSE = SSE/((ntreat-1)*(nrow(data)-1)).(a −1 )(b−1)) Source of Degrees of Sum of Variation Freedom Squares Tolak H0 jika Mean Squares Fhit> F α (b−1 .4 4.SST).8 6 5.4).MSE. "F").5 4. MSRp = SSRp/(nrow(data)-1).t_df.SSE. Diketahui data hasil rancangan percobaan (RAL) untuk empat perlakuan berbeda dengan enam kali perulangan dibawah ini.3 5. "Total").9 4.7 4. } SSTr = SSTr .1 5.4 2 5.])^2/ntreat + SSRp. t_ms = c(MSTr.3 5.sum(nrep-1)). #Pembuatan tabel cat("TABLE ANOVA RANCANGAN ACAK LENGKAP\n"). sedikitnya ada 1 rata . MSTr = SSTr/(ntreat-1).2665 Error 1.0 3 5.SSTr = sum(data[.f.f.ntreat. #Pengujian f = round(qf(1-alpha.8126 8.7 4 5.ral A B 1 5.7 5. cat("Gagal Tolak H0. t_anova = cbind(t_ss.length(data)-1).0 4. Ujilah dengan alfa 5% apakah terdapat perbedaan dari keempat perlakuan yang berbeda. t_f = c(fhit. Contoh Soal 1. t_ss = c(SSTr.sum(nrep-1).2 4. t_source = c("Treatment"."perlakuan sama\n")."\n").4)). SSRp = SSRp . "Error".3 5.CF. SSE = SST . colnames(t_anova) = t_colnames.4746 20 0.rata yang tidak sama\n"). }else{ cat("Fhit \u2264".7 4.CF.7 4.3 4.0984 Tolak H0.j])^2/nrep[j] + SSTr. if(fhit > f){ cat("Fhit >"."\n"). t_colnames = c("Sum Squares". rata . } ##SSReplication for (i in 1:nrow(data)){ SSRp = sum(data[i.8 4. sedikitnya ada 1 rata . fhit = MSTr/MSE. t_df = c(ntreat-1.t_f). } } 1.ral) TABLE ANOVA RANCANGAN ACAK LENGKAP Sum Squares df Mean Squares F Treatment 2. rownames(t_anova) = t_source.3 6.ral(data.4379 3 0.

SST).group){ cat("Fhit >".alpha = 0.05){ if (!colAsTreatment){ data = t(data) } #Deklarasi variabel ntreat = ncol(data).group. "Error".t_f)."\n").group > f. fhit. SSTr = 0.length(data)-1). }else{ cat("Fhit \u2264". cat("Gagal Tolak H0. colnames(t_anova) = t_colnames. "df".4). t_ms = c(MSTr.ntreat.rata dari".])^2/ntreat + SSG.Perlakuan\n"). cat("Tolak H0.(ntreat-1)*(ngroup-1)). kolom akan dianggap sebagai perlakuan dan apabila perlakuan berupa baris. }else{ .f.SSG.t_df.rata yang tidak sama\n").f.treat = MSTr/MSE. #Pembuatan tabel cat("TABLE ANOVA RANCANGAN ACAK KELOMPOK\n"). SST = sum(data^2)-CF.MSE.ngroup-1.treat){ cat("Fhit >".NA.CF.SSE.SSTr .treat > f. f. #Pengujian f. t_anova = cbind(t_ss. sedikitnya ada 1 rata . t_colnames = c("Sum Squares".group = round(qf(1-alpha. t_source = c("Treatment".fhit.ngroup-1. print(round(t_anova.colAsTreatment = TRUE.rata yang tidak sama\n"). } ##SSGroup for (i in 1:ngroup){ SSG = sum(data[i.treat = round(qf(1-alpha. } SSTr = SSTr . Contoh Fungsi Custom Fungsi ini akan menghasilkan ANOVA rancangan acak kelompok untuk data masukan bertipe matrix. if(fhit.group. MSTr = SSTr/(ntreat-1). fhit.t_ms. SSG = 0.2. cat("1.group = MSG/MSE. "F")."\n"). } cat("2. if(fhit.f.NA). maka data yang dimasukkan adalah rata-rata dari n-perulangan tersebut (untuk kemudahan dan karena matrix adalah array khusus 2 dimensi).SSG.treat. matriks data akan terlebih dulu di transpose.(ntreat-1)*(ngroup-1)). ngroup = nrow(data).(ntreat-1)*(ngroup-1).4).j])^2/ngroup + SSTr.rak = function(data. Secara default.ntreat-1.CF. SSE = SST . t_df = c(ntreat-1. "Mean Squares". rancob.treat. Apabila ada perulangan untuk perlakuan pada kelompok tertentu.4)). "Group".Kelompok\n"). rownames(t_anova) = t_source."perlakuan sama\n"). CF = sum(data)^2/(ntreat*ngroup). t_f = c(fhit. MSE = SSE/((ntreat-1)*(ngroup-1)).treat.NA). cat("Tolak H0. SSG = SSG . t_ss = c(SSTr.Treatment a−1 SST MST =SST / (a−1) Error ∑(r i−1) SSE MSE=SSE /∑(r i−1) Total ∑ r i−1 SSTotal Fhit=MST / MSE 2. sedikitnya ada 1 rata . MSG = SSG/(ngroup-1). rata . #Perhitungan ##SSTreatment for (j in 1:ntreat){ SSTr = sum(data[.MSG. "Total")."\n").

} } 2. Confidence dengan pengembalian Sub-sampel terdiri dari data sampel Interval.8625 Tolak H0.f. varians. 2. dan Bias utuh yang dengan mengurangi satu Uji Hipotesis data Sub-sampel diambil secara acak Validasi Model tanpa pengembalian Data sampel secara acak dibagi Permutation Test Cross – Validation menjadi dua atau lebih subset 2.7292 31.cat("Fhit \u2264". Uji Hipotesis dan Bias Standard Error. rata ."kelompok sama\n").group.Kelompok Fhit > 3. persentil)  Melakukan uji hipotesis  Melakukan validasi model 2.9514 NA Total 111. Metode Resampling Nama Metode Aplikasi Cara Resampling Bootstrap Standard Error.rak(data. B. D) terhadap domba yang dibedakan berdasarkan kelompok umur (1. Contoh Soal 1.3.2482 Group 14.1.rata dari". 4).1875 3 4.rak A B C D 1 8 1 6 5 2 7 0 5 6 3 9 3 7 9 4 6 2 5 8 > rancob.rata yang tidak sama PERTEMUAN 14-16 : RESAMPLING 1.ngroup.9375 15 NA NA 1."\n"). sedikitnya ada 1 rata . Jenis Bootstrap dibagi dua : . Bootstrap Metode Bootstrap mengambil sebanyak mungkin sub-sampel dari satu sampel yang tersedia. 3.7292 4.9708 Error 8.8625 Tolak H0. Confidence Sub-sampel diambil secara acak Jackknife Interval. Apa yang dapat Anda simpulkan? Gunakan alfa 5% > data. Pengenalan Resampling Resampling adalah suatu metode untuk mengambil sebanyak mungkin sub-sampel dari satu data sampel yang telah kita dapatkan untuk salah satu hal berikut :  Mengestimasi presisi dari statistik sampel (median. cat("Gagal Tolak H0.5625 9 0.Perlakuan Fhit > 3. Dari proses tersebut. akan dibentuk distribusi sub-sampel Bootstrap yang akan digunakan untuk mempelajari distribusi sampel.1875 3 29. Suatu percobaan di bidang peternakan dilakukan untuk mengetahui pengaruh jenis ransum (A. C.rata yang tidak sama 2.rak) TABLE ANOVA RANCANGAN ACAK KELOMPOK Sum Squares df Mean Squares F Treatment 89. sedikitnya ada 1 rata .

… .31. Prosedur : 1. Menarik n-sampel acak dari suatu populasi sebanyak satu kali 2.1.download = c(9.05.9.download.boot. Ulangi langkah 2 dan 3 sebanyak mungkin (direkomendasikan B = 1000 atau lebih untuk mengestimasi Confidence Interval) 5.col="red". Karena sulit untuk meneliti seluruh populasi di STIS.19.2.probability = TRUE) > lines(density(rerata.9. Dari semua estimasi parameter sub-sampel θ^ (¿¿ 1 . ambil kembali sub-sampel acak dengan pengembalian (Non – Parametrik) atau ambil sub-sampel acak dari distribusi teoritis populasi yang diasumsikan dengan estimasi parameter 3.9. θ^ ¿B ) .55.14.xlab = "Kecepatan Download") > rerata.69.boot[i] = mean(sample(sampel.Non – Parametric Bootstrap Parametric Bootstrap Jika asumsi mengenai distribusi populasi Jika asumsi mengenai distribusi populasi tidak diketahui. Dari sampel yang didapat.94.10. Dalam sebuah penelitian ingin diketahui kecepatan download pada jaringan nirkabel STIS.download. hitung ¿ ¿ rata – ratanya untuk mendapatkan estimasi parameter dan standard deviasinya untuk nilai standard error 2. Hitung nilai rata – rata dan standard error dari hasil Bootstrap #Non-Parametrik > sampel.replace = TRUE))} ##Plot Kanan – Distribusi Sampel Bootstrap.20.lwd=2) .boot = c() > for(i in 1:10000){ + rerata.9.9.boot).xlab = "Rerata Bootstrap". Contoh Soal : 1. sulit dikenali > hist(sampel. sub-sampel diambil dari diketahui. sub-sampel diambil mengikuti data sampel tunggal yang tersedia asumsi distribusi populasi. lebih mudah dikenali > hist(rerata.2.55) ##Plot Kiri – Distribusi Sampel.46.5. dari data sampel yang didapat (Parametrik) Dari sub-sampel yang ada. estimasikan nilai parameter yang ingin didapat. ^¿ dinotasikan dengan θb 4.2.15. θ^ ¿2 .25. digunakan metode resampling Bootstrap (data diberikan dibawah). dengan estimasi parameter dari data sampel yang diketahui 2.

167. hitung nilai pseudo dengan rumus ¿ ^ ( n−1 ) θ^ i θ^ i =n θ− 5. #Bootstrap parametrik > female.heights).heights) > for(i in 1:10000){ rerata.boot[i] = mean(rnorm(100.96*sd(boot)) [1] 146.369007 #Standard error 2. Dari sampel yang didapat.2.116) > rerata.179.1. buat sub-sampel Jackknife dengan cara menghilangkan observasi ke-i dari data sampel 3.heights berasal dari populasi berdistribusi normal.145.boot) [1] 12. Alternativnya adalah dengan menghilangkan d observasi pada tiap sub-sampel (Delete-d Jackknife) 2. Ulangi langkah 2 sampai 4 sebanyak n kali .120.165.147. Hitung estimasi parameter dari sub-sampel Jackknife tersebut.heights = c(117.397 > mean(rerata.breaks = 50. Jackknife Metode Jackknife melakukan resampling secara sistematik dengan menghilakan satu observasi di tiap sub-sampelnya.download) [1] 12.xlab = "Rerata Bootstrap") #Tidak ditampilkan disini > c(mean(boot)-1. sd(female.heights)))} > hist(boot. Dengan menggunakan Bootstrap buatlah selang kepercayaan untuk rata – rata populasi. Menarik n-sampel acak dari suatu populasi sebanyak satu kali.boot) [1] 2. dinotasikan ^ dengan θi 4.mean(boot)+1. Dari estimasi parameter parsial yang telah didapat.2. Diasumsikan data sampel female.37135 > sd(rerata.143.96*sd(boot). Keterbatasan metode ini adalah kegagalan yang bisa terjadi jika ada ketidakmulusan dari statistik tiap sub-sampel (perubahan kecil pada sub-sampel akan menimbulkan perubahan nilai yang besar dari statistiknya).boot = c() #Subsampel diambil random dari distribusi Normal (rnornm) bukan dari data sampel (female.183. Prosedur 1.8082 156.162. dinotasikan dengan θ 2. kemudian ^ hitung estimasi parameternya.3232 #Selang kepercayaan 2.> mean(sampel.175. mean(female.

download[j] }else if (j>1){ jack[j-1] = sampel. θ^ ¿n) .download)){ if(j<i){ jack[j] = sampel. Contoh Soal 1. θ^ ¿2 . dihitung kembali perbedaan jumlah bakteri T dan C. Misal label T pada tikus 2 dan 3 ditukar dengan label C pada tikus 9 dan 10. Dari semua nilai pseudo θ^ (¿¿ 1 . 2.2. Dicatat jumlah bakteri pada tiap kelompok.download sebelumnya untuk mengestimasi rata – rata beserta standard errornya #Pegerjaan per langkah > for(i in 1:length(sampel.1.2. … . Dari semua nilai tersebut. Treatment (T) dimana tikus 1-5 diberikan obat dan Control (C) dimana tikus 6-10 dibiarkan tanpa perlakuan apapun.download)(length(sampel.download[j] } } pseudo[i] = length(sampel. Permutation Test Uji permutasi adalah suatu metode pengujian signifikansi suatu statistik dimana distribusi statistik pada hipotesis null didapatkan dengan menghitung semua kemungkinan nilai dari statistik uji dengan mengatur ulang pemberian label dari data observasi.757 #Estimasi rata – rata menggunakan Jackknife > var(pseudo)/length(sampel. peneliti menukar label T dan C pada beberapa tikus. Pertukaran label tersebut dilakukan dengan aturan permutasi.816989 #Standard error 2. Setelah pertukaran. Ilustrasi Misal kita mempunyai 10 tikus dengan bakteri pembawa penyakit.download)-1)*mean(jack) } > mean(pseudo) [1] 12. kemudian dihitung perbedaan jumlah bakteri antar kelompok dan dimisalkan jumlah bakteri pada T lebih sedikit dengan selisih 40.download)*mean(sampel.3. sehingga untuk setiap permutasi didapatkan suatu nilai selisih. apakah selisih 40 ini didapatkan secara kebetulan. Untuk mengujinya. Misal didapatkan selisih baru 20. Gunakan metode Jackknife untuk data sampel. akan dilihat berapakah sebenarnya peluang bahwa jumlah bakteri pada T lebih sedikit dari C sebanyak 40? Apabila ternyata peluang mendapatkan selisih 40 .6. Peneliti kemudian berfikir.download) [1] 5. hitung rata – ratanya untuk ¿ ¿ mendapatkan estimasi parameter dan standard deviasinya untuk nilai standard error 2. atau memang karena efek obat yang diberikan. 10 tikus tersebut dibagi kedalam dua kelompok.download)){ for(j in 1:length(sampel.3.

Prosedur 1. akan didapat nilai t i . Pembuatan Hipotesis :  Dalam kondisi H0. Dalam kondisi H0.05 maka kita dapat menolak H0 dan mengatakan obat tersebut efektif. dapatkah disimpulkan bahwa obat tersebut terbukti efektif dalam membunuh bakteri ? #Pengerjaan per langkah > tikus. t M berasal dari distribusi yang sama 5. hasil dipengaruhi oleh perbedaan label 2.trt = c(1. t 2 . 4.4. hasil tidak dipengaruhi perbedaan label  Dalam kondisi H1.3. 2.trt.17).trt) [1] 38 #Nilai t > for (i in 1:10000){ temp = sample(tikus).10.2.ctrl = c(16.10. … . tikus. Lakukan pertukaran label ke-i sesuai permutasi.7.ctrl). t M t 6. jumlah permutasi yang ada sangat besar. t 3 .2.xlab = "Kemungkinan Perbedaan".trt. Ada kalanya.3. Dari kasus pada ilustrasi diatas. t3 . temp = c(). diff = c().3.0042 #pvalue Kesimpulan : karena pvalue< 0.tersebut sangat kecil. sehingga pada kasus tersebut. bukan karena kebetulan. Cross Validation . dan jumlah bakteri pada tikus tanpa obat (Control) dicatat pada tikus. hanya dilakukan pengacakan sesuai dengan yang dimungkinkan (tetap dengan jumlah yang banyak). kemudian hitung kembali statistik ujinya ( t i ) Dari M kemungkinan permutasi. t 3 . maka ini disebut dengan Exact Permutation Test. breaks = 50) #Disamping > sum(diff>38)/10000 [1] 0.ctrl. 2. … . t2 . Apabila semua permutasi mampu dilakukan. t 2 . Hitung nilai statistik uji ( t ) dari data asli sebelum pertukaran 3. misal jumlah bakteri pada tikus yang diberikan obat (Treatment) dicatat pada tikus.} > hist(diff.7). Dengan alfa 5%. Contoh 1. diff[i] = sum(temp[1:5])-sum(temp[6:10]). > sum(tikus. … . t M t i .10. dengan distribusi yang menghasilkan nilai t ti .tikus. peneliti dapat meyakinkan bahwa selisih tersebut didapatkan karena obat yang diberikan berpengaruh .ctrl)-sum(tikus.2. Bandingkan dengan untuk menguji H0 dan mendapatkan p value 2. > tikus = c(tikus.

Cross Validation Cross Validation adalah suatu metode untuk mengukur kemampuan prediksi dari 2. karena bereaksi berlebihan terhadap fluktuasi yang kecil sekalipun dari data training set. dengan menguji model yang telah dibuat dari data training set.4. … .4.  Leave One Out Cross Validation (LOOCV) 1. Buat data ke-i sebagai test set. beberapa metode Cross Validation dikembangkan. Pengertian suatu model. Overfitting adalah kejadian dimana model yang diajukan sesuai untuk hampir semua data training set (data yang digunakan untuk mengestimasi model) tetapi tidak untuk data secara umum pada proses prediksi data baru selanjutnya Dari contoh diatas.2. data yang kita dapatkan sedikit sehingga test set tidak dapat dibangun (semua data yang didapat digunakan untuk membuat model). dst) untuk menaikkan nilai R2 . Model yang overfit akan memiliki kemampuan yang buruk. n 5. Pengertian Model dapat Overfit dengan nilai memastikan R2 bahwa tinggi belum model tersebut memiliki kemampuan prediksi yang baik. dan sisanya sebagai training set untuk membangun model. 2. Ulangi langkah 1 sampai 3 untuk i=1. Namun ada kalanya. model linear akan lebih baik. Meskipun demikian. Dalam kasus Regresi Polynomial Sederhana misalnya. Dari keterbatasan itu.2. K=10 ) . Bagi data kedalam K bagian (misal 1 C V (n )= ∑ e¿i n K=5. pada data yang tidak digunakan dalam estimasi (test set). data yang ada –walau kurang sempurna– fit terhadap model linear dan fit secara sempurna terhadap model polynomial. Meskipun demikian. prediksi dari model tersebut untuk suatu nilai baru bisa jadi akan semakin buruk. X4 .2. Buat beberapa model dari training set ¿ 3. Nilai MSE yang kecil ketika model diuji menggunakan test set menunjukkan kemampuan prediktif yang baik. kita dapat terus menambahkan order yang lebih tinggi ( X3 . dalam membuat prediksi untuk nilai baru. Hitung nilai MSE dari model dengan rumus K-Fold Cross Validation 1.1. Hitung error ( e i = yi −^y i ) dari data ke-i (test set) tersebut  4.

x77 yang terdapat pada Software R yang dapat di load dengan code berikut : data(state) head(state. gunakan data state. Keluaran yang diinginkan adalah nilai intercept dan slope beserta nilai standard errornya (dan statistik ujinya) dan juga nilai koefisien determinasinya. buat fungsi/kode sendiri. K 6. Ulangi langkah 1 sampai 3 untuk i=1. Buat beberapa model dari K−1 bagian yang tersisa 4. Lakukan uji apakah terdapat perbedaan rata – rata angka harapan hidup (Life Exp) di antara negara bagian yang berpendapatan (Income) (30) Rendah : Income <= $4000 Sedang : $4000 < Income < $4800 Tinggi : Income >= $4800 Interpretasikan hasil yang didapat. Lakukan analisis Regresi Linear sederhana untuk melihat apakah terdapat effect pendapatan (Income) terhadap angka harapan hidup (Life Exp). Hilangkan ke-i (simpan sebagai test set) 3. Interpretasikan hasil yang telah didapat. Tuliskan tahapan/prosedur dan algoritma dari metode resampling Jackknife dan Bootstrap. Hitung nilai MSE dari K ke-i tersebut 5. Jelaskan kegunaan kedua metode tersebut (10) . Lakukan Uji Normality variabel Illiteracy. (30) 2.x77) Data tersebut adalah data dari 50 negara bagian di US yang berisikan informasi mengenai Population : population estimates Income : per capita income Illiteracy : tingkat buta huruf Life Exp : life expectancy in years Murder : murder and non negligent manslaughter rate per 100. (Gunakan Chi-squared test) (30) Untuk semua soal diatas.000 population HS Grade : percent high-school graduates Frost : mean number of days with minimum temperature below freezing Area : land area in square miles 1. kemudan bandingkan dengan hasil fungsi yang telah ada di R! 4. 1 Hitung nilai MSE dari model dengan rumus C V (k)= k ∑ MS Ei Model dengan nilai MSE yang kecil menunjukkan kemampuan prediktif yang baik PEMBAHASAN UJIAN AKHIR SEMESTER KOMPUTASI STATISTIK TAHUN 2015/2016 SOAL Untuk ketiga soal berikut.K 2.2. … . Lakukan uji lanjutan jika diperlukan 3.

Adjusted R-squared: 0.frame(state.x77[.001306 ** Residuals 47 66.563 1.23-length(lifeExp.2]) Estimate Std.0156 * Signif.09735 F-statistic: 6. 2]) .285 on 1 and 48 DF.data.rep(NA.x77[.001 ‘**’ 0. kemudian membuat matriks sesuai klasifikasi yang telah dibuat untuk selanjutnya menggunakan fungsi anova.0007 0. codes: 0 ‘***’ 0.01 ‘*’ 0.9060 state.length(lifeExp.001 ‘**’ 0.433e-04 2.x77[. 2] 7.05 ‘.tinggi = c(lifeExp.56 47 1.x77[.758e+01 1."Sedang".58 #Dengan fungsi buatan > summary(lm(state.67 Error 66.4].5813 1. codes: 0 ‘***’ 0. Kita dapat menggunakan kembali fungsi buatan reg.736 10. 2] 0.3276 50.lifeExp.rendah).x77[.sedang).Error t value Intercept 67.01 ‘*’ 0.tinggi)) [1] 23 > lifeExp.6739 0.rendah = c(lifeExp.. Coefficients: Estimate Std.coeff(state.1 ‘ ’ 1 #TukeyHSD khusus untuk built in > model = aov(lm(dt$`Life Exp`~dt$Income)) > TukeyHSD(model) Tukey multiple comparisons of means 95% family-wise confidence level Fit: aov(formula = lm(dt$`Life Exp` ~ dt$Income)) $`dt$Income` .195056 Tolak H0.rata yang tidak sama #Dengan fungsi built in > model = lm(dt$`Life Exp`~dt$Income) > anova(model) Analysis of Variance Table Response: dt$`Life Exp` Df Sum Sq Mean Sq F value Pr(>F) dt$Income 2 21. 4] ~ state.1arah > dt = as.rendah))) > lifeExp.507 0. Kita klasifikasikan terlebih dahulu Income sesuai kategori yang ditentukan. p-value: 0.1arah(lifeExp) Sum Squares df Mean Squares F Treatment 21.tinggi) #Dengan fungsi buatan > anova.state.tinggi.1arah vector yang telah kita buat sebelumnya.275 on 48 degrees of freedom Multiple R-squared: 0.87 7.906 <2e-16 *** state.05 ‘.965e-04 2.lifeExp.’ 0.rep(NA.’ 0.sedang = dt$`Life Exp`[dt$Income=="Sedang"] > lifeExp.x77) > dt$Income = ifelse(dt$Income <= 4000.rendah = dt$`Life Exp`[dt$Income=="Rendah"] > lifeExp.0003 2.1158. Error t value Pr(>|t|) (Intercept) 6.74 2 10.01562 2.rendah.."Tinggi"))) > lifeExp."Rendah". #Dengan fungsi buatan > reg.(ifelse(dt$Income > 4000 & dt$Income < 4800.8680 7.length(lifeExp.x77[. Jangan lupa untuk menyamakan panjang klasifikasi dengan NA karena masukan fungsi kita berupa matrix.5069 Koefisien determinasi : 11.30 49 NA NA Fhit > 3.JAWABAN 1.tinggi = dt$`Life Exp`[dt$Income=="Tinggi"] > max(length(lifeExp.2])) Call: lm(formula = state.tinggi))) > lifeExp = cbind(lifeExp.1 ‘ ’ 1 Residual standard error: 1. #Pembuatan matriks untuk inputan fungsi anova.328e+00 50.23-length(lifeExp.4]~state.coeff yang sudah dibuat diatas.x77[.x77[.sedang.4162 Signif.42 NA Total 88.rendah. sedikitnya ada 1 rata .

4781 0.991 > 5.2343 11.0514 2. Dari semua estimasi parameter sub-sampel (¿¿ 1 .1961349 2.2250 0.9915 6.x77[.2798447 -1.2561319 0.5846405 0. θ 2 .diff lwr upr p adj #Signifikan jika < 0.5711 H0: Populasi berdistribusi normal H1: Populasi tidak berdistribusi normal Tolak H0 jika khi kuadrat hitung > 5.3]) range = 2.05 Sedang-Rendah 1.2250 0. dinotasikan ^¿ dengan θb 4. estimasikan nilai parameter yang ingin didapat.5852843 0.2143 2.7857 2. Untuk fungsi built-in. Karena Illiteracy masih merupakan data mentah (bukan merupakan vektor frekuensi).3571 1.0175535 #Berbeda signifikan Tinggi-Sedang -0.test(state.6363 3 1.3]) #Default jumlah kelas = ceiling(2 * (n^(2/5)) Pearson chi-square normality test data: state.8142 2 0. θ B ) . Perlu diingat fungsi uji.7158 4 1. kita akan menggunakan fungsi uji. Dari sub-sampel yang ada. hitung rata – ratanya ¿ untuk mendapatkan estimasi parameter dan standard deviasinya untuk nilai standard error Kegunaan Bootstrap : .test. Menarik n-sampel acak dari suatu populasi sebanyak satu kali 2. kita akan menggunakan fungsi pearson. yang berdampak pada perbedaan nilai Chi-Square hitungnya (namun kesimpulan sama) #Dengan fungsi buatan > uji. sehingga pembuatan kelas dengan kedua metode ini berbeda.6964424 0.6312 0.3163 15. … .2571 12 -0.1253 6.2727 13.x77[.4147442 0.gof2 yang telah dibuat sebelumnya.3285714 khi kuadrat hitung = 6.9281 0.9714 5 1.6312 Inf 0.7683141 #Tidak berbeda signifikan 3. ambil kembali sub-sampel acak dengan pengembalian (Non – Parametrik) atau ambil sub-sampel acak dari distribusi teoritis populasi yang diasumsikan dengan estimasi parameter dari data sampel yang didapat (Parametrik) 3.8.5000 0.1143 6 0.0010550 #Berbeda signifikan Tinggi-Rendah 1.8286 21 -Inf -0.9915 Tolak H0 : Populasi tidak berdistribusi normal #Dengan fungsi built in #Tips : Jangan lupa siapkan package yang dibutuhkan sebelum ujian > library(nortest) > pearson. Prosedur Bootstrap : 1.3 nclass = 5 interval = 0.gof2 kita buat berdasarkan apa yang sudah dipelajari pada MetStat II sementara pearson.5859281 2.0008233 #Tolak HO : Populasi tidak normal 4. Ulangi langkah 2 dan 3 sebanyak mungkin (direkomendasikan B = 1000 atau lebih untuk mengestimasi Confidence Interval) θ^ ¿ ^¿ ^¿ 5.x77[.4781 0. p-value = 0.9286 1.3054396 0.9281 1.2627 5 2.6857 6 0.9915 l_limit u_limit freq l_z u_z prob e_freq 1 0.gof2(state.test mengacu kepada Moore (1986).991037 khi kuadrat tabel = 5. 3] P = 24. Dari sampel yang didapat.

mean = mean(rerata.mean = mean(pseudo) Catatan Akhir : Karena keterbatasan halaman. Menarik n-sampel acak dari suatu populasi sebanyak satu kali.boot[i] = mean(sample(sampel.download[j] } } pseudo[i] = length(sampel. θ 2 . Dari estimasi parameter parsial yang telah didapat.download)){ for(j in 1:length(sampel. Uji Hipotesis dan Bias Algoritma Bootstrap : > rerata. banyak fungsi – fungsi custom yang dibuat hanya sesuai untuk inputan berupa data mentah (bukan berupa ringkasan dari data tersebut). estimasi parameter dan standard deviasinya untuk nilai standard error Kegunaan Jackknife : Estimasi Standard Error.boot = c() > for(i in 1:10000){ + rerata. Dari sampel yang didapat. tanpa disertai pernyataaan H0 dan H1 di dalamnya. Uji Hipotesis dan Bias Algoritma Jackknife : > for(i in 1:length(sampel.download)-(length(sampel.download)){ if(j<i){ jack[j] = sampel. observasi ke-i dari data sampel Hitung estimasi parameter dari sub-sampel Jackknife tersebut.boot) Prosedur Jackknife : 1.download)1)*mean(jack) } > estimated.download. θ n) . dinotasikan dengan θ 2.download[j] }else if (j>1){ jack[j-1] = sampel. buat sub-sampel Jackknife dengan cara menghilangkan 3. .replace = TRUE))} > estimated. hitung rata – ratanya untuk mendapatkan ¿ 5. Dari semua nilai pseudo (¿¿ 1 .Estimasi Standard Error. Confidence Interval. kemudian hitung ^ estimasi parameternya. dan hanya untuk uji dua arah.download)*mean(sampel. dinotasikan dengan θ^ i 4. hitung nilai pseudo dengan rumus ¿ ^ ( n−1 ) θ^ i θ^ i =n θ− Ulangi langkah 2 sampai 4 sebanyak n kali θ^ ¿ ^¿ ^¿ 6. … .

silakan merujuk kepada  yang ada pada masing – masing bab Untuk H0 dan H1 pada tiap pengujian. Terima Kasih . Untuk membuat fungsi custom dari data ringkasan. gunakan parameter #Pengerjaan Per Langkah tambahan (misal type = 1/2/3) dan tentukan daerah kritis berdasarkan nilai tersebut menggunakan if atau switch Mohon maaf untuk kekurangan yang ada ataupun apabila ada kesalahan baik dalam penulisan maupun ketidakefektifan algoritma yang diajukan. silakan merujuk pada materi MetStat II  sebelumnya Untuk membuat pengujian satu arah batas bawah maupun atas.