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
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):
∫ 𝐸[𝑅(𝑡)]𝑒−𝛽𝑡𝑑𝑡 =𝐸(𝑌𝑒−𝛽𝑋)
𝛽[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).
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
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
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
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.
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
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
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;
%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
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.
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.