Tampilkan postingan dengan label Komputasi Statistika. Tampilkan semua postingan
Tampilkan postingan dengan label Komputasi Statistika. Tampilkan semua postingan

Pemrograman Matlab Metode Bootstrap Untuk Regresi Dua Peubah Bebas

Kamis, 06 Mei 2010

Terkadang regresi dengan menggunakan metode OLS tidak terlalu baik digunakan untuk memodelkan pengamatan dalam suatu penelitian.
Salah satu penyebabnya adalah regresi menggunakan metode OLS (Ordinary Least Square) tidak memenuhi aspek IIDN dalam error sehingga dibutuhkan metode lain untuk menyelesaikan permasalahan ini. Salah satu metode untuk menyelesaikan permasalahn ini adalah menggunakan metode Bootstrap. Berikut adalah contoh pemrograman matlab Regresi Metode Bootstrap untuk peubah x1, x2

function r=reboots(y,x1,x2)
n=length(y);
X=[ones(n,1) x1' x2'];
w=[y' x1' x2'];
b=regress(y',X)
B=10;
k=[1:n];
for i=1:B
j=randsample(k,n,true);
wb=w(j,:);
yb=wb(:,1);
Xb=[ones(n,1) wb(:,2:3)];
bb(:,i)=regress(yb,Xb);
end
bboot0=mean(bb(1,:))
bboot1=mean(bb(2,:))
bboot2=mean(bb(3,:))
bias0=bboot0-b(1)
bias1=bboot1-b(2)
bias2=bboot2-b(3)
Untuk menjalankan program tersebut anda harus membuat vektor baris y, x1 dan x2 terlebih dahulu. Kemudian copylah program di atas ke dalam m-file, save. Kemudian kembali ke command window dan ketiklah f(y,x1,x2), program pun akan running. 

Macro Minitab Metode Bootstrap untuk Regresi Dua Peubah Bebas

Terkadang regresi dengan menggunakan metode OLS tidak terlalu baik digunakan untuk memodelkan pengamatan dalam suatu penelitian.

Salah satu penyebabnya adalah regresi menggunakan metode OLS (Ordinary Least Square) tidak memenuhi aspek IIDN dalam error sehingga dibutuhkan metode lain untuk menyelesaikan permasalahan ini. Salah satu metode untuk menyelesaikan permasalahn ini adalah menggunakan metode Bootstrap. Berikut adalah Macro Minitab Metode Bootstrap untuk peubah x1, x2


macro

bootreg y x1 x2
mconstant b0 b1 b2 B i n b0_boots b1_boots b2_boots
mcolumn y x1 x2 beta yy xx1 xx2 b0b b1b b2b betaboot
mmatrices x w mbeta

let n=count(y)

Regress y 2 x1 x2;
coef beta;
Constant;
Brief 2.
let b0=beta(1)
let b1=beta(2)
let b2=beta(3)
copy beta mbeta

let B = 10

do i = 1 : B
sample n y-x2 yy-xx2;
replacement.

regress yy 2 xx1 xx2;
coef betaboot;
constant;
brief 2.

let b0b(i)=betaboot(1)
let b1b(i)=betaboot(2)
let b2b(i)=betaboot(3)
enddo

let b0_boots=mean(b0b)
let b1_boots=mean(b1b)
let b2_boots=mean(b2b)

print b0_boots b1_boots b2_boots mbeta
endmacro

Macro Minitab Metode Jacknife Untuk Regresi Dua Peubah Bebas

Terkadang regresi dengan menggunakan metode OLS tidak terlalu baik digunakan untuk memodelkan pengamatan dalam suatu penelitian.

Salah satu penyebabnya adalah regresi menggunakan metode OLS (Ordinary Least Square) tidak memenuhi aspek IIDN dalam error sehingga dibutuhkan metode lain untuk menyelesaikan permasalahan ini. Salah satu metode untuk menyelesaikan permasalahn ini adalah menggunakan metode Jacknife. Berikut adalah Macro Minitab Metode Jacknife untuk peubah x1, x2

macro

jacknife y x1 x2

mcolumn y x1 x2 ys x1s x2s beta beta_j b0j b1j b2j yy xx xx2
mconstant n i bias_b0 bias_b1 bias_b2 b0_j b1_j b2_j b0 b1 b2

let n=count(y)
Regress y 2 x1 x2;
coef beta;
Constant;
Brief 2.
sample n y-x2 yy-xx2;
replacement.
let b0=beta(1)
let b1=beta(2)
let b2=beta(3)
do i=1:n
let x1s=xx
let x2s=xx2
let ys=yy
delete i x1s x2s ys
Regress ys 2 x1s x2s;
coef beta_j;
Constant;
Brief 2.
let b0j(i)=beta_j(1)
let b1j(i)=beta_j(2)
let b2j(i)=beta_j(3)
enddo
let b0_j=mean(b0j)
let b1_j=mean(b1j)
let b2_j=mean(b2j)
let bias_b0=b0_j-b0
let bias_b1=b1_j-b1
let bias_b2=b2_j-b2
print b0_j b1_j b2_j b0 b1 b2 bias_b0 bias_b1 bias_b2
endmacro

Pemrograman Matlab dan Macro Minitab Ekpektasi Mean dengan Metode Jacknife

Kamis, 29 April 2010

Misalkan x1, x2, …xn adalah variable random dimana kita akan mencari ekspektasi mean dengan menggunakan metode jacknife maka hal yang perlu kita lakukan adalah:
Kita melakukan sampling sebanyak n kali, dimana kita harus membuang data ke-i pada pengambilan sampling ke-i . Misalnya sampling pertama kita harus membuang data x1, sampling kedua kita membuang data x2 (namun data x1 tetap ada, karena data yang dihilangkan adalah data-i dari proses ke-i sampling). Kemudian dari masing-masing proses sampling dihitung meannya sehingga didapat mean sebanyak n kali. Yang dinamakan ekspektasi mean dengan jackknife adalah rata-rata dari n mean yang kita peroleh dari n sampling tesebut
.


Berikut adalah macro minitab untuk menghitung ekspektasi mean dengan menggunakan jackknife


macro

jacknife x

mcolumn x m xs
mconstant n i T k sum meanjack est_bias est_se

let n=count(x)
do i=1:n
let xs=x
delete i xs
let m(i)=mean(xs)
enddo
let meanjack=mean(m)
let T=mean(x)

let est_bias=(n-1)*(meanjack-T)
let sum=0
do k=1:n
let sum=sum+(m(k)-meanjack)**2
enddo
let est_se=((n-1)/n*sum)**0.5

print meanjack T est_bias est_se

endmacro


Berikut adalah pemrograman matlab untuk menghitung ekspektasi mean dengan menggunakan jackknife


function y=jmean(x)
n=length(x);
for i=1:n
xs=x;
xs(i)=[];
m(i)=mean(xs);
end
meanjack=mean(m)
T=mean(x);
est_bias=(n-1)*(meanjack-T)
est_se=sqrt((n-1)/n*sum((m-meanjack).^2))

Pemrograman Matlab dan Macro Minitab Ekspektasi Mean dengan Menggunakan Metode Bootstrap

Misalkan x1, x2, …xn adalah variable random dimana kita akan mencari ekspektasi mean dengan menggunakan metode bootstrap maka hal yang perlu kita lakukan adalah:


Pertama kita harus mengambil sampling dengan pengembalian seukuran n yang dilakukan sebanyak b kali (biasanya b=1000). Setiap pengambilan sampling yang berukuran n, kita harus menghitung mean sehingga kita akan mendapatkan mean sebanyak b. Kemudian mean sebanyak b tersebut kita cari rata-ratanya (mean) dan rata-rata itulah yang dinamakan ekspektasi mean dengan metode bootstrap.


Berikut adalah macro minitab ekspektasi mean dengan metode bootstrap

Macro
bootmean x
mconstant i n b lower upper stat_b se_bmcolumn x y stat
let n=count(x)

let b=1000

do i=1:b

sample n x y;

replacement.

let stat(i)=mean(y)

enddo

let stat_b=mean(stat)

let se_b=stde(stat)

histo stat

sort stat stat

let lower=stat(25)

let upper=stat(975)

print stat_b se_b lower upper


endmacro

Berikut adalah pemrograman matlab ekspektasi mean dengan menggunakan metode bootstrap

function f=bmean(x)

n=length(x);

b=1000;f

or i=1:b

y=randsample(x,n,true);

stat(i)=mean(y);

end

stat_b=mean(stat)

se_b=std(stat)^2

hist(stat)stat=sort(stat);

lower=stat(25)

upper=stat(975)

Macro Minitab

Kamis, 25 Februari 2010


Macro Minitab


Minitab adalah salah satu paket software untuk statistika sama seperti SPSS, SAS dan beberapa paket program software statitika lainnya.

Sebagai salah satu software untuk membantu menganalisis data, minitab dikemas secara lengkap dan simpel.

Sehingga membuat user merasa mudah untuk menggunakannya. Menurutku yang sebagai orang awam, minitab lebih mudah digunakan daripada SPSS.

Meskipun di kalangan mahasiswa jika membutuhkan analisis data lebih sering menggunakan SPSS dibandingkan minitab.


Versi terbaru minitab sekarang sampai minitab versi 15, sayangnya aku masih menggunakan yang versi 14.

Namun versi terbaru tersebut tidak banyak mengalami perubahan, yang terlihat mencolok mungkin logonya saja yang tampak berbeda.

Minitab 14 yang biasa tampak biru sekarang dimixkan dengan warna kuning. Dan beberapa terjadi perubahan fitur tapi tidak begitu signifikan.


Pada semester ini *semester empat* aku mendapat mata kuliah komputasi statistik (Komstat), di mata kuliah tersebut ada bab macro minitab.


Nah, Macro Minitab itu apa?

Macro minitab itu adalah kumpulan komen-komen bagaimana kita menjalankan minitab dengan manual, biasanya kan tinggal klik-klik di menunya dan secara langsung mendapatkan jawaban.

Namun dengan macro minitab, kita bisa menuliskan komen perintahnya di notepad, pokoknya nanti hasil macro kita tersimpan dalam file eksitensi normal text *txt atau biasa dengan *mac


Nah, bukannya kalau memakai macro minitab, kita akan bekerja kurang efektif dan kurang efisien?

Hmm, sebenarnya memang seperti itu sih. Kan kita memang harus menuliskan komen perintah yang kita inginkan, di save kemudian dijalankan di windows session pada minitab tapi harus melakukan perintah enable comment dulu.

Macro memang terlihat tidak efisien, namun ternyata macro sangat efisien digunakan untuk melakukan perintah yang sama berulang kali.

Sebagai contoh kita membangkitkan data dengan N unit, kemudian kita mengambil sampel acak sebanyak n unit sebanyak k kali kemudian kita mencari rata-rata dari tiap k kali ukuran sampel sebanyak n tersebut.

rata-rata dari k kali sampel tersebut kita cari means (rata-ratanya) dan varians sehingga menghasilkan taksiran rata-rata dan taksiran varians dari rata-rata.

Kalau bekerja minitab dengan langkah di atas menggunakan program manual akan sangat lama, dan tingkat ketelitiannya juga berkurang karena itu digunakanlah Macro Minitab.

Macro minitab itu ada 3 jenis yaitu:

1. Execs
2. Global Macro
3. Local Macro

Yang lebih dikenal dalam macro minitab adalah Global macro dan Local Macro, karena dua macro tersebut mempunyai kemampuan yang lebih baik dibanding execs.

Global macro dan Local macro dapat melakukan comment seperti do, if sampai subroutine. Namun dibandingkan global Macro, Local macro mempunyai kelebihan tersendiri karena kita bisa mendeskripsikan variabel dalam bentuk konstanta, kolom atau pun matrik.





Share

| More