program matlab untuk menghitung autokorelasi...

14

Upload: others

Post on 29-Nov-2019

121 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: PROGRAM MATLAB UNTUK MENGHITUNG AUTOKORELASI …sipeg.unj.ac.id/repository/upload/buku/Program_Matlab_untuk_menghitung... · program matlab untuk menghitung autokorelasi proses renewal
Page 2: PROGRAM MATLAB UNTUK MENGHITUNG AUTOKORELASI …sipeg.unj.ac.id/repository/upload/buku/Program_Matlab_untuk_menghitung... · program matlab untuk menghitung autokorelasi proses renewal

PROGRAM MATLAB UNTUK MENGHITUNG AUTOKORELASI

PROSES RENEWAL DENGAN WAKTU ANTARA BERDISTRIBUSI

GAMMA DAN AUTOKORELASI PROSES RENEWAL REWARD

DENGAN WAKTU ANTARA DAN REWARD BERDISTRIBUSI

GAMMA BIVARIAT MCKAY

Oleh:

Prof. Dr. Suyono, M.Si

NIDN 0018126704

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS NEGERI JAKARTA

NOPEMBER 2018

Page 3: PROGRAM MATLAB UNTUK MENGHITUNG AUTOKORELASI …sipeg.unj.ac.id/repository/upload/buku/Program_Matlab_untuk_menghitung... · program matlab untuk menghitung autokorelasi proses renewal

PENGANTAR

A. PROSES RENEWAL

Secara matematis proses renewal didefinisikan sebagai berikut. Misalkan X1, X2, …

adalah barisan variabel acak non-negatif yang saling independen dan berdistribusi identik

dengan fungsi distribusi kumulatif F. Untuk t ≥ 0, definisikan N(t) = sup{n≥0: X1 + X2 + … + Xn≤t}.

Proses (N(t), t ≥ 0) dinamakan proses renewal. Variabel N(t) menyatakan banyaknya kejadian pada

interval waktu [0,t] dan Xi sering diinterpretasikan sebagai waktu antara kejadian ke (i – 1) dan kejadian

ke i. Harga harapan (mean), momen kedua, dan hasil hali momen dari proses renewal dapat disajikan

dalam bentuk transformasi Laplace sebagai berikut, lihat Suyono (2002):

∫ 𝐸[𝑁(𝑡)]𝑒−𝛽𝑡𝑑𝑡 =𝐹∗(𝛽)

𝛽[1−𝐹∗(𝛽)]

0, (1)

∫ 𝐸[𝑁(𝑡)2]𝑒−𝛽𝑡𝑑𝑡 =𝐹∗(𝛽)

𝛽[1−𝐹∗(𝛽)]+

2[(𝐹∗(𝛽)]2

𝛽[1−𝐹∗(𝛽)]2∞

0 , (2)

dan

* * *

* * *

0 0

[1 ( ) ( )] ( )[ ( ) ( )]

[1 ( )][1 ( )][1 ( )]

s t F F FE N s R t e dtds

F F F

− − − +=

− − − + (3)

dimana F* adalah transformasi Laplace-Stieltjes dari F. Jika Xi berdistribusi gamma dengan fungsi

kepadatan probabilitas 1

[0, )

( )( ; , ) 1 ( ), , 0

( )

x me xf x m x m

m

− −

=

maka dengan menggunakan rumus (1)-(3) diperoleh:

∫ 𝐸[𝑁(𝑡)]𝑒−𝛽𝑡𝑑𝑡 =𝜆𝑚

𝛽[(𝛽+𝜆)𝑚−𝜆𝑚]

0, (4)

∫ 𝐸[𝑁(𝑡)2]𝑒−𝛽𝑡𝑑𝑡 =𝜆𝑚[(𝛽+𝜆)𝑚+𝜆𝑚]

𝛽[(𝛽+𝜆)𝑚−𝜆𝑚]2∞

0 , (5)

dan

2

0 0

[( ) ( ) ][ ( ) ( )]

[( ) ][( ) ][( ) ]

m m m ms t

m m m m m mE N s R t e dtds

− − + + −=

+ − + − + + − (6)

Untuk menghitung mean, momen kedua, hasil kali momen, dan autokoralsi proses renewal

dilakukan dengan cara menginversi transformasi Laplace (4)-(6) secara numerik dengan

pemrograman menggunakan MATLAB.

B. PROSES RENEWAL REWARD

Pada proses renewal, apabila pada setiap waktu antar kejadian Xi dikaitkan variable

acak Yi yang diinterpretasikan sebagai reward, maka dapat didefinisikan kuantitas baru 𝑅(𝑡) =

∑ 𝑌𝑖𝑁(𝑡)𝑖=1 . Proses stokastik (R(t), t ≥ 0) dinamakan proses renewal reward. Harga harapan (mean),

momen kedua, dan hasil hali momen dari proses renewal dapat disajikan dalam bentuk

transformasi Laplace sebagai berikut, lihat Suyono dan Ibnu Hadi (2018):

Page 4: PROGRAM MATLAB UNTUK MENGHITUNG AUTOKORELASI …sipeg.unj.ac.id/repository/upload/buku/Program_Matlab_untuk_menghitung... · program matlab untuk menghitung autokorelasi proses renewal

∫ 𝐸[𝑅(𝑡)]𝑒−𝛽𝑡𝑑𝑡 =𝐸(𝑌𝑒−𝛽𝑋)

𝛽[1−𝐹∗(𝛽)]

0, (7)

∫ 𝐸[𝑅(𝑡)2]𝑒−𝛽𝑡𝑑𝑡 =𝐸(𝑌2𝑒−𝛽𝑋)

𝛽[1−𝐹∗(𝛽)]+

2[𝐸(𝑌𝑒−𝛽𝑋)]2

𝛽[1−𝐹∗(𝛽)]2∞

0 , (8)

and

1 2 * * 2 ( ) *

1 2 2 1

0 0

* ( ) * * *

[ ( ) ( )] {[1 ( )][1 ( )] ( ) ([1 ( )] ( )

[1 ( )] ( )) ( )} /{ [1 ( )][1 ( )][1 ( )]} (9)

t t X X

X X

E R t R t e dt dt F F E Y e F E Ye

F E Ye E Ye F F F

− − − + −

− − +

= − − + −

+ − − − − +

Jika (Xi,Yi) berdistribusi gamma bivariat McKay dengan fungsi kepadatan probabilitas bersama

.0,,,0,)()(

)(),,;,(

11

−=

−−−+

nmxynm

exyxnmyxh

ynmnm

lihat Nadarajah (2005), maka dengan menggunakan rumus (7)-(9) diperoleh:

∫ 𝐸[𝑅(𝑡)]𝑒−𝛽𝑡𝑑𝑡 =𝜆𝑚−1[𝜆(𝑚+𝑛)=𝑛𝛽]

𝛽(𝛽+𝜆)[(𝛽+𝜆)𝑚−𝜆𝑚]

0 (10)

22 2

2

0

2 2

[ ( ) ] {[ ( 1) 2 ( )( ) [( ) ]

( 1)( ) ][( ) ] 2 [ ( ) ] }

mt

m m

m m m

E R t e dt m m mn

n n m n n

−− = + + + +

+ + −

+ + + − + + +

(11)

dan

1 2

1 2 2 1

0 0

[ ( ) ( )] ( )t tE R t R t e dt dt A B C

− −= + (12)

dimana

( ) ( ) ( )

[( ) ][( ) ][( ) ]

m m m

m m m m m mA

+ + + +=

+ − + − + + −,

2 2 2

2

[( ) ][( ) ][ ( 1) 2 ( ) ( 1)( )

( ) ( ) ( )

m m m m m

m m m

m m mn n nB

+

+ − + − + + + + + + + +=

+ + + +

2( 1)

1 1 1

[ ( ) ( ) [( ) ][ ( ) ] [( ) ][ ( ) ]

( ) ( ) ( ) ( ) ( )

m m m m m

m m m m m

m n n m n n m n nC

+ + +

+ + + + − + + + − + += +

+ + + + + +

Untuk menghitung mean, momen kedua, hasil kali momen, dan autokoralsi proses renewal

reward dilakukan dengan cara menginversi transformasi Laplace (10)-(12) secara numerik

dengan pemrograman menggunakan MATLAB. Rumus untuk menginversi numerik merujuk

pada Abate dan Whitt (1992).

Page 5: PROGRAM MATLAB UNTUK MENGHITUNG AUTOKORELASI …sipeg.unj.ac.id/repository/upload/buku/Program_Matlab_untuk_menghitung... · program matlab untuk menghitung autokorelasi proses renewal

PROGRAM MATLAB

A. PROSES RENEWAL

1. Program MATLAB untuk menghitung mean (E[N(t)]) proses renewal

function [f]=ENt(m,lambda,t,M)

%Program untuk menghitung E[N(t)] dengan X berdistribusi Gamma

%konstanta

A=10;

P=exp(A)/(2*t);

B=A/t;

C=i*pi/t;

C1=lambda^m;

%suku pertama

T1=P*C1/(B*((B+lambda)^m-C1));

%jumlah M suku pertama

s=0;

for k=1:M

beta=B+C*k;

U=C1;

V=beta*((beta+lambda)^m-C1);

R=real(U/V);

s=s+(-1)^k*R;

end

%suku kedua

T2=2*P*s;

%nilai E[N(t)]

f=T1+T2;

%sprintf('E[N(t)]=%15.8f',f) %% Perintah ini bisa diaktifkan dengan menghilangkan %

%% di depannya untuk menampilkan informasi output program

Page 6: PROGRAM MATLAB UNTUK MENGHITUNG AUTOKORELASI …sipeg.unj.ac.id/repository/upload/buku/Program_Matlab_untuk_menghitung... · program matlab untuk menghitung autokorelasi proses renewal

2. Program MATLAB untuk menghitung momen kedua (E[N(t)2]) proses renewal

function [f]=ENt2(m,lambda,t,M)

%Program untuk menghitung E[N(t)^2] dengan X berdistribusi Gamma

%konstanta

A=10;

P=exp(A)/(2*t);

B=A/t;

C=i*pi/t;

C1=lambda^m;

%suku pertama

T00=P*C1*((B+lambda)^m+C1);

T01=B*((B+lambda)^m-C1)^2;

T1=T00/T01;

%jumlah M suku pertama

s=0;

for k=1:M

beta=B+C*k;

U1=beta+lambda;

U2=U1^m;

U=C1*(U2+C1);

V1=U2-C1;

V2=V1^2;

V=beta*V2;

R=real(U/V);

s=s+(-1)^k*R;

end

%suku kedua

T2=2*P*s;

%nilai E[N(t)^2]

f=T1+T2;

%sprintf('E[N(t)^2]=%15.8f',f) %% Perintah ini bisa diaktifkan dengan menghilangkan %

%% di depannya untuk menampilkan informasi output program

Page 7: PROGRAM MATLAB UNTUK MENGHITUNG AUTOKORELASI …sipeg.unj.ac.id/repository/upload/buku/Program_Matlab_untuk_menghitung... · program matlab untuk menghitung autokorelasi proses renewal

3. Program MATLAB untuk menghitung hasil kali momen (E[N(s)N(t)]) proses

renewal

function [f]=ENsNt(m,lambda,s,t,M,N)

%Program untuk menghitung E[N(s)N(t)], X berdistribusi Gamma

%konstanta

A=10;

P=exp(2*A)/(4*s*t);

K1=A/s;

K2=i*pi/s;

K3=A/t;

K4=i*pi/t;

C1=lambda^m;

C2=C1^2;

%sigma ganda

s=0;

for j=-M:M

alpha=K1-K2*j;

for k=-N:N

beta=K3-K4*k;

U1=alpha+lambda;

U2=beta+lambda;

U3=alpha+beta+lambda;

U4=U1^m;

U5=U2^m;

U6=U3^m;

U7=U4*U5;

U8=C1*(U7-C2);

V1=alpha*beta;

V2=U4-C1;

V3=U5-C1;

V4=U6-C1;

V5=V1*V2*V3*V4;

R=U8/V5;

s=s+(-1)^(j+k)*R;

end

end

f1=P*s;

f=real(f1);

%sprintf('E[N(s)N(t)]=%15.8f',f) %% Perintah ini bisa diaktifkan dengan menghilangkan %

%% di depannya untuk menampilkan informasi output program

Page 8: PROGRAM MATLAB UNTUK MENGHITUNG AUTOKORELASI …sipeg.unj.ac.id/repository/upload/buku/Program_Matlab_untuk_menghitung... · program matlab untuk menghitung autokorelasi proses renewal

4. Program MATLAB untuk menghitung koefisien autokorelasi (Cor(N(s),N(t)) proses

renewal

function [f]=CorNsNt(m,lambda,s,t,M,N)

%Program untuk menghitung Cor(N(s),N(t), X berdistribusi Gamma

U1=ENt(m,lambda,s,M);

U2=ENt(m,lambda,t,M);

U3=ENsNt(m,lambda,s,t,M,N);

U=U3-U1*U2;

V1=ENt2(m,lambda,s,M);

V2=ENt2(m,lambda,t,M);

V3=V1-U1^2;

V4=V2-U2^2;

V=sqrt(V3*V4);

f=U/V;

sprintf('Cor(N(s),N(t))=%15.8f',f)

Catatan: Program ini melibatkan program nomor 1-3.

Page 9: PROGRAM MATLAB UNTUK MENGHITUNG AUTOKORELASI …sipeg.unj.ac.id/repository/upload/buku/Program_Matlab_untuk_menghitung... · program matlab untuk menghitung autokorelasi proses renewal

B. PROSES RENEWAL REWARD

1. Program MATLAB untuk menghitung mean (E[R(t)]) proses renewal rewad

function [f]=ERt(m,n,lambda,t,M)

%Program untuk menghitung E[R(t)] dengan (X,Y) berdistribusi Gamma bivariat McKay

%konstanta

A=10;

P=exp(A)/(2*t);

B=A/t;

C=i*pi/t;

C1=lambda^m;

C2=lambda^(m-1);

C3=lambda*(m+n);

%suku pertama

T1=P*C2*(C3+n*B)/(B*(B+lambda)*((B+lambda)^m-C1));

%jumlah M suku pertama

s=0;

for k=1:M

beta=B+C*k;

U=C2*(C3+n*beta);

V=beta*(beta+lambda)*((beta+lambda)^m-C1);

R=real(U/V);

s=s+(-1)^k*R;

end

%suku kedua

T2=2*P*s;

%nilai E[R(t)]

f=T1+T2;

%sprintf('E[R(t)]=%15.8f',f) %% Perintah ini bisa diaktifkan dengan menghilangkan %

%% di depannya untuk menampilkan informasi output program

Page 10: PROGRAM MATLAB UNTUK MENGHITUNG AUTOKORELASI …sipeg.unj.ac.id/repository/upload/buku/Program_Matlab_untuk_menghitung... · program matlab untuk menghitung autokorelasi proses renewal

2. Program MATLAB untuk menghitung momen kedua (E[R(t)2]) proses renewal

reward

function [f]=ERt2(m,n,lambda,t,M)

%Program untuk menghitung E[R(t)^2] dengan (X,Y) berdistribusi Gamma bivariat McKay

%konstanta

A=10;

P=exp(A)/(2*t);

B=A/t;

C=i*pi/t;

C1=lambda^m;

C2=lambda^(m-1);

C3=lambda^(m-2);

C4=m*(m+1)*lambda^2;

C5=2*m*n*lambda;

C6=n*(n+1);

C7=lambda*(m+n);

%suku pertama

T00=P*C3*((C4+C5*(B+lambda)+C6*(B+lambda)^2)*((B+lambda)^m-

C1)+2*C1*(C7+n*B)^2);

T01=B*(B+lambda)^2*((B+lambda)^m-C1)^2;

T1=T00/T01;

%jumlah M suku pertama

s=0;

for k=1:M

beta=B+C*k;

U1=beta+lambda;

U2=U1^2;

U3=U1^m;

U4=C4+C5*U1+C6*U2;

U5=U3-C1;

U6=U4*U5;

U7=2*C1*(C7+n*beta)^2;

U8=U6+U7;

U=C3*U8;

V1=U5^2;

V=beta*U2*V1;

R=real(U/V);

s=s+(-1)^k*R;

end

%suku kedua

T2=2*P*s;

%nilai E[R(t)^2]

f=T1+T2;

%sprintf('E[R(t)^2]=%15.8f',f) %% Perintah ini bisa diaktifkan dengan menghilangkan %

%% di depannya untuk menampilkan informasi output program

Page 11: PROGRAM MATLAB UNTUK MENGHITUNG AUTOKORELASI …sipeg.unj.ac.id/repository/upload/buku/Program_Matlab_untuk_menghitung... · program matlab untuk menghitung autokorelasi proses renewal

3. Program MATLAB untuk menghitung hasil kali momen (E[R(s)R(t)]) proses

renewal reward

function [f]=ERsRt(m,n,lambda,s,t,M,N)

%Program untuk menghitung E[R(s)R(t)] dengan (X,Y)~McKay Gamma Bivariat

%konstanta

A=10;

P=exp(2*A)/(4*s*t);

K1=A/s;

K2=i*pi/s;

K3=A/t;

K4=i*pi/t;

C1=lambda^m;

C2=lambda^(m-1);

C3=lambda^(m-2);

C4=m*(m+1)*lambda^2;

C5=2*m*n*lambda;

C6=n*(n+1);

C7=lambda^(2*m-2);

C8=lambda*(m+n);

%sigma ganda: bentuk yang dijumlahkan = Ax(B+C)

s=0;

for j=-M:M

alpha=K1-K2*j;

for k=-N:N

beta=K3-K4*k;

%faktor pertama (A)

U1=alpha+lambda;

U2=beta+lambda;

U3=alpha+beta+lambda;

U4=U1^m;

U5=U2^m;

U6=U3^m;

U7=U4*U5*U6;

V1=alpha*beta;

V2=U4-C1;

V3=U5-C1;

V4=U6-C1;

V5=V1*V2*V3*V4;

R1=U7/V5;

Page 12: PROGRAM MATLAB UNTUK MENGHITUNG AUTOKORELASI …sipeg.unj.ac.id/repository/upload/buku/Program_Matlab_untuk_menghitung... · program matlab untuk menghitung autokorelasi proses renewal

%faktor kedua suku pertama (B)

U8=U3^2;

U9=V2*V3*C3;

U10=C5*U3;

U11=C6*U8;

U12=C4+U10+U11;

U13=U9*U12;

V6=U6*U8;

V7=U4*U5*V6;

R2=U13/V7;

%faktor kedua suku kedua (C)

U14=n*(alpha+beta);

U15=C7*(C8+U14);

V8=U6*U3;

T1=U15/V8;

U16=C7+n*beta;

U17=V2*U16;

V9=U5*U2;

V10=U4*V9;

T2=U17/V10;

U18=C7+n*alpha;

U19=V3*U18;

V11=U4*U1;

V12=U5*V11;

T3=U19/V12;

R3=T1*(T2+T3);

%Ax(B+C)

R=R1*(R2+R3);

s=s+(-1)^(j+k)*R;

end

end

f1=P*s;

f=real(f1);

%sprintf('E[R(s)R(t)]=%15.8f',f) %% Perintah ini bisa diaktifkan dengan menghilangkan %

%% di depannya untuk menampilkan informasi output program

Page 13: PROGRAM MATLAB UNTUK MENGHITUNG AUTOKORELASI …sipeg.unj.ac.id/repository/upload/buku/Program_Matlab_untuk_menghitung... · program matlab untuk menghitung autokorelasi proses renewal

4. Program MATLAB untuk menghitung koefisien autokorelasi (Cor(R(s),R(t)) proses

renewal reward

function [f]=CorRsRt(m,n,lambda,s,t,M,N)

%Program untuk menghitung Cor(R(s),R(t)), (X,Y) berdistribusi Gamma Bivariat McKay.

U1=ERt(m,n,lambda,s,M);

U2=ERt(m,n,lambda,t,M);

U3=ERsRt(m,n,lambda,s,t,M,N);

U=U3-U1*U2;

V1=ERt2(m,n,lambda,s,M);

V2=ERt2(m,n,lambda,t,M);

V3=V1-U1^2;

V4=V2-U2^2;

V=sqrt(V3*V4);

f=U/V;

sprintf('Cor(R(s),R(t))=%15.8f',f)

Catatan: Program ini melibatkan program nomor 1-3.

Page 14: PROGRAM MATLAB UNTUK MENGHITUNG AUTOKORELASI …sipeg.unj.ac.id/repository/upload/buku/Program_Matlab_untuk_menghitung... · program matlab untuk menghitung autokorelasi proses renewal

REFERENSI

Abate, J and Whitt, W (1992). The Fourier-series method for inverting transforms of

probability distributions, Queuing Systems vol. 10 hal. 5-88.

Nadarajah, S. (2005). Reliability for some bivariate gamma distibutions, Mathematical

Problems in Engineering 2005 vol. 2 no. 15, hal. 1-163.

Suyono (2002). Renewal Processes and Repairable Systems, Delft University Press, The

Netherlands.

Suyono and Ibnu Hadi, (2018). A method for computing the autocovariance of renewal

processes, Journal of the Korean Statistical Society, published on line on June 2018.