Sabtu, 12 September 2009

Fungsi Pembagkit variabel Random

0 komentar
Berikut Daftar Distribusi yang akan diberikan fungsi pembangkit variabel randomnya :
1. Distribusi uniform
2. Distribusi Eksponensial
3. Distribusi Normal
4. Distribusi Lognormal
5. Distribuso Weibull
6. Distribusi t-student
7. Distribusi fisher

Fungsi Distribusi Uniform
Function Uniform (a,b : double) : double;
Var u : double;
Begin
u := random;
Uniform := (b-a) * u + a;
End;
Fungsi Distribusi Eksponensial
Function Eksponensial (beta : double) : double;
Var u : double;
Begin
u := random;
Eksponensial := -beta * ln(u);
End;
Fungsi Distribusi Normal
Procedure Normal (mean,variance : double ; Var z1,z2 : double);
Var u1,u2,v1,v2,w,y,x1,x2 : double;
Begin
Repeat
u1 := random;
u2 := random;
v1 := 2 * u1 – 1;
v2 := 2 * u2 – 1;
w := sqr(v1) + sqr(v2);
if w <= 1 then
begin
y := sqrt ((-2*ln(w))/w);
x1 := v1 * y;
x2 := v2 * y;
z1 := sqrt (variance) * x1 + mean;
z2 := sqrt (variance) * x2 + mean;
end
Until w <= 1;
End;
Procedure Distribusi Lognormal
procedure lognormal (mean,varr : double;
Var zln1,zln2 : double);
Var y1, y2 : double;
begin
Normal (mean,varr,y1,y2);
zln1 := exp(y1);
zln2 := exp(y2);
end;
Fungsi Distribusi Weibull
Function Weibull (alfa,beta: double) : double;
Var u,z : double;
Begin
u := random;
z := -ln(u);
Weibull := beta * exp (ln(z)/alfa);
End;
Fungsi Distribusi t-student
function tdistribution(m:integer):double;
Label r2;
Var v,x,r,s,c,a,f,g,mm : real;
begin
mm:=0;
if m < 1 then
begin
writeln('impermissible degrees of freedom.');
halt;
end;
if (m mm) then
begin
s:=m;
c:=-0.25*(s+1);
a:=4/power((1+1/s),c);
f:=16/a;
if m>1 then
begin
g:=s-1;
g:=power(((s+1)/g),c)*sqrt((s+s)/g);
end else
g := 1;
mm:=m;
end;
r2:repeat
r:=random;
until r > 0.0;
x:=(2*random-1)*g/r;
v:=x*x;
if (v>(5-a*r)) then
begin
if ((m>=3) and (r*(v+3)>f)) then goto r2;
if (r>power((1+v/s),c)) then goto r2;
end;
tdistribution :=x;
end;
begin
tipe11[1]:=0.2;
tipe11[1]:=0.3;
tipe11[1]:=0.5;
tipe11[1]:=0.8;
tipe11[1]:=1.0;
end.

Membuktikan Unbiased pada Varians Sampel dengan simulasi

0 komentar
Membuktikan Unbiased pada Varians Sampel

Dalam menaksir parameter suatu populasi pasti membutuhkan sumber daya seperti biaya, waktu, dan tenaga yang sangat besar. Oleh karena itu muncul ilmu statistik yang diperlukan untuk menaksir parameter melalui pendekatan. Suatu pendekatan yang baik adalah pendekatan yang memiliki hasil unbiased dalam menaksir parameter populasi.
Apabila ingin menaksir suatu parameter populasi, kita perlu mengambil sampel dari populasi dalam hal ini akan ditaksir varians dari populasi dengan suatu nilai statistik (varians sampel). Kemudian kita bandingkan nilai statistik tersebut dengan nilai parameter sebenarnya.

Berikut langkah-langkah algoritmanya :

Mulai
Bngkitkan X berdistribusi normal (60,1) sebanyak 100 sebagai populasi
Ambil n sampel sebanyak 10
HItung

untitled,jpg

S_1^2 merupakan varians dari populasi sebanyak 100 data. Sedangkan S_2^2 merupakan varians dari resampel 1000 kali pengambilan data dimana setiap pengambilan adalah 10 data.
Lakukan 3 sebanyak 1000 kali
Hitung luas S_1^2= S_2^2 dan lambangkan
Selesai

Langkah simulasi menggunakan program minitab :

Simpan makro minitab yang berisi tentang perintah pembangkitan data randommenggunagan bootsrap
Misal :
d:\bootvar.txt

Isi makro bootvar :

macro
bootvar x
mconstant i n b lower upper stat_b se_b
mcolumn x y stat
let n=10
let b=1000
do i=1:b
sample n x y;
replacement.
let stat(i)=stde(y)**2
enddo
let stat_b=mean(stat)
let se_b=stde(stat)
sort stat stat
let lower=stat(25)
let upper=stat(975)
print stat_b se_b lower upper
endmacro

Dalam minitab tuliskan perintah enable command
Tulis
MTB > random 100 c1;
Subs > normal 60 1.0.
Panggil makro untuk melakukan resampling 10 data sebanyak 1000 kali
MTB > %d:\bootvar.txt c1

Maka akan tampil di minitab hasilnya sbb :
stat_b 1.12677
se_b 0.584805
lower 0.307798
upper 2.46402

stat_b menyatakan rata-rata dari sampling sebanyak 10 data yang diresampling sebanyak 1000 kali.
Se_b menyatakan varians dari dari sampling sebanyak 10 data yang diresampling sebanyak 1000 kali.
Lower menyatakan bahwa 25 data terbawah berada pada nilai 0,307798
Upper menyatakan bahwa 25 data teratas berada pada nilai 2,46402

Dengan membandingkan nilai varians populasi yaitu sebesar 1 dengan nilai statistik varians yaitu sebesar 0,5848 maka tidak terbukti bahwa varians statistik unbiased terhadap varians populasi

Sabtu, 05 September 2009

Peranan Simulasi dalam Inovasi

0 komentar
Karena inovasi, terutama inovasi yang radikal, merupakan upaya dengan resiko tinggi, perusahaan selalu berusaha mencari cara-cara untuk mengurangi resiko tersebut. Salah satu cara yang semakin sering dipakai saat ini adalah simulasi. Memang konsep simulasi sudah lama ada. Teknik simulasi seperti Monte Carlo sudah lama beredar. Tetapi perkembangan kemampuan komputer dewasa ini memungkinkan diciptakannya simulasi yang jauh lebih rumit dan realistis. Kemampuan software simulator yang dilengkapi dengan animasi juga membantu orang awam melihat langsung hasil simulasi tanpa harus menganalisis data keluaran berlembar-lembar.


Simulasi menjadi penting karena kompleksitas hubungan sebab akibat di dunia bisnis saat ini. Interaksi antar komponen dan aktor dalam sistem sering sulit diramalkan melalui metode analisis linier yang lebih kita kuasai. Otak kita dirancang untuk menganalisis data berdasarkan rata-rata (mean), dan bukan distribusi statistik. Sebagai contoh, bila kita mengetahui rata-rata layanan di kasir adalah 1 menit, dan setiap menit ada 3 orang yang membutuhkan layanan di kasir, Anda mungkin akan memasang 3 orang kasir bila Anda tidak ingin menciptakan antrian. Benarkah perhitungan tersebut? Ya, memang benar bila semua pelayanan diselesaikan tepat dalam 1 menit. Namun 1 menit di sini adalah rata-rata. Pada kenyataannya, mungkin saja ada transaksi yang membutuhkan waktu 5 menit. Hal-hal seperti ini sulit divisualisasikan dengan pikiran kita, tetapi bisa terlihat dengan mudah melalui simulasi komputer.

Contoh tersebut hanyalah contoh sederhana. Bagaimana dengan proses yang lebih rumit seperti di restoran? Tamu datang dengan rata-rata interval tertentu, dan memesan dengan rata-rata interval tertentu. Pesanan makanan juga berbeda dan makanan berbeda membutuhkan waktu penyajian yang berbeda. Belum lagi pengaruh dari jumlah waiter yang ada saat itu. Jumlah tamu juga mempengaruhi berapa lama mereka akan bersantap. Lalu ada juga unsur hari. Tamu di akhir pekan akan duduk lebih lama dibanding hari-hari biasa. Masing-masing kegiatan di atas memiliki karakteristik yang berbeda. Berapakah jumlah waiter, juru masak, dan kasir yang dibutuhkan? Bisakah Anda menghitungnya, meski dengan bantuan Microsoft Excel?

Otak manusia tidak dilengkapi dengan kemampuan meramalkan efek interaksi rumit seperti itu. Ini masih restoran. Bagaimana dengan proses manufaktur yang pasti lebih rumit lagi? Di sinilah simulasi komputer datang menjadi penyelamat. Tanpa harus mengeluarkan biaya yang besar terlebih dahulu, kita bisa meramalkan apa yang terjadi melalui simulasi yang dibangun dengan biaya yang jauh lebih kecil.

Simulasi tentu saja tidak bisa selalu meramal dengan tepat. Bagaimanapun, keakuratan sebuah model tergantung dari kelengkapan variabel dan data yang dimasukkan. Untuk membuat sebuah simulasi yang bagus, harus dilakukan iterasi terus menerus. Selain itu juga dibutuhkan ahli statistik yang mampu mengumpulkan dan menganalisis data yang dimasukkan. Setelah model awal dibuat, model tersebut harus diuji dulu dengan beberapa set data dari dunia nyata. Hasil simulasi lalu dibandingkan dengan kenyataan. Bila terjadi penyimpangan yang besar, model diperiksa kembali. Lakukan secara terus menerus sampai diperoleh hasil yang lumayan akurat. Barulah setelah itu, model bisa dijalankan dengan data yang lebih lengkap.

Simulasi membantu inovasi dalam beberapa cara. Untuk proses bisnis seperti contoh di atas, simulasi mampu memberikan gambaran secara kasar apa yang akan terjadi bila sebuah inovasi proses dilakukan. Simulasi mampu membantu kita menjawab pertanyaan seperti berapa banyak waktu dan biaya yang dihemat. Sedangkan untuk inovasi produk baru, perusahaan bisa terbantu dalam mengidentifikasi produk baru mana yang menjanjikan potensi keuntungan yang lebih besar, atau adakah pengaruh urutan perkenalan produk baru terhadap kemampulabaan perusahaan. Perusahaan juga bisa melakukan uji sensitivitas (sensitivity analysis) seperti menentukan berapa laju adopsi minimum yang dibutuhkan untuk mencapai break-even point. Untuk memasukkan unsur ketidakpastian, teknik Monte Carlo bisa dijalankan ribuan kali dengan skenario berbeda untuk mendapatkan hasil statistik agregat. Dalam hal ini, simulasi memang tidak bisa menghilangkan ketidakpastian dan memberikan jaminan sukses 100%, tetapi hasilnya akan sangat membantu perusahaan mengantisipasi ketidakpastian tersebut dengan lebih baik.

Selain itu, seperti yang kita ketahui, memperkenalkan inovasi dalam perusahaan sering mengakibatkan gesekan politis dan perbenturan antara asumsi-asumsi lama dan baru. Dengan simulasi, pertentangan semacam itu bisa dikurangi karena pendapat yang ada telah didukung oleh data yang lebih akurat.

Terlepas dari semua keuntungan simulasi, tetap haruslah diingat bahwa simulasi adalah alat bantu. Pada akhirnya, semua keputusan dan hasil akhir harus kembali ke tangan manusia yang menjalankannya.

Mencari Pendekatan Variansi

0 komentar
    Data sample yang diambil secara random ditetapkan berdistribusi normal dengan rata-rata 60 dan varians 1. Sebelum dibuat programnya kita harus membuat algoritmanya terlebih dahulu. Berikut algoritmanya di bawah ini :
1. Mulai
2. Dibangkitkan data x berdistribusi normal dengan rata-rata 60 dan varians 1 sebanyak 100 sebagai populasi
3. Diambil sample sebanyak 10 buah kemudian dihitung dan nilai variansnya
4. Diulangi langkah no 3 sebanyak 1000 kali
5. Dihitung bias dari S12 dan S22
6. Dibandingkan hasil dari langkah no 5

7. Selesai

Mencar nilai Phi

0 komentar
   Nilai phi adalah nilai rata-rata phi pendekatan pertama sampai phi pendekatan ke-n

Algoritma dari mensimulasikan penaksiran phi :

1.Mulai
2.i:=0
3.i=i+1
4.Bangkitkan 1000 titik
5.X berdistribusi uniform (0,1)
6.Y berdistirbusi uniform (0,1)
7.Phi(i) =4*m/n
8.Jika i <100
9.Phi = ∑_(i=1)^1000▒〖phi(i)/1000〗
10.Tulis phi


Dengan menggunakan program Pascal

uses wincrt;
var s,y,x,p:real;
i,j,m,n:integer;
begin
s:=0;
for j:=1 to 1000 do
begin
randomize;
n:=10000;m:=0;
for i:=1 to n do
begin
x:=random;
y:=random;
if (x*x+y*y)<=1 then m:=m+1;
end;
p:=4*m/n;
s:=s+p;
end;
p:=s/1000;
writeln(p);
end.

Penerapan Simulasi

0 komentar
  Dalam penerapannya, simulasi bisa seperti program pascal yang mencari nilai mean dan median. Berikut adalah program pascal untuk mencari median.
Mencari mean :
  program mean;
  uses wincrt;
  var x:array[1..100];
  a,b,i,j,k,l:integer;
  y:real;
begin
{mengentri data}
  write ('banyak data=' );readln(a);for i:=1 to a do
    begin
    write('x[',i,']=');
    readln(x[i]);
    end;
{mengurutkan data}
    for j:=1 to a-1 do
    for k:=j to a do
    if x[k]begin
   
y:=x[k];
   
x[j]:=y;
   
end;
writeln('data urut=');
for l:=1 to a do writeln(x[l]:0:0);

if a mod 2=0 then
begin
b:=a div 2;
write('median=',(x[b]+x[b+1])/2);
end
else begin
b:=(a+1) div 2;
write('median data=',x[b]:0:0_;end;
end.