2. 2
DAFTAR ISI
TUGAS KOMPUTASI STATISTIKA A---------------------------------------------------------------------------1
DAFTAR ISI-------------------------------------------------------------------------------------------------------------2
SYNTAX DARI PAK AHSAN -------------------------------------------------------------------------------------5
Global Makro ---------------------------------------------------------------------------------------------------5
Membangkitkan Data Berdistribusi Normal ---------------------------------------------------5
Kolom Dari Matriks ---------------------------------------------------------------------------------------5
Matriks Dari Kolom ---------------------------------------------------------------------------------------5
Menamai Kolom--------------------------------------------------------------------------------------------5
Operasi Matematika Sederhana ---------------------------------------------------------------------5
Operasi Matriks---------------------------------------------------------------------------------------------5
Regresi1--------------------------------------------------------------------------------------------------------6
Regresi2--------------------------------------------------------------------------------------------------------6
Scatter Plot ---------------------------------------------------------------------------------------------------6
Statistika Deskriptif---------------------------------------------------------------------------------------6
Uniform dan Binomial -----------------------------------------------------------------------------------6
One Sampel Z Test ----------------------------------------------------------------------------------------6
Two Sampel T Test Varian Sama --------------------------------------------------------------------6
Matrix Varian Covarian----------------------------------------------------------------------------------7
Transformasi Invers---------------------------------------------------------------------------------------7
Transformasi Weibull ------------------------------------------------------------------------------------8
Tranformasi Eksponensial------------------------------------------------------------------------------8
Slice Sampling-----------------------------------------------------------------------------------------------8
Lokal Makro -----------------------------------------------------------------------------------------------------9
Distribusi Normal Lokal Makro ----------------------------------------------------------------------9
Permutasi -----------------------------------------------------------------------------------------------------9
Kombinasi-----------------------------------------------------------------------------------------------------9
One Sampel T Test--------------------------------------------------------------------------------------- 10
Two Sampel T Varian Beda -------------------------------------------------------------------------- 10
3. 3
Uji Proporsi Dua Populasi ---------------------------------------------------------------------------- 11
Paired T Test ----------------------------------------------------------------------------------------------- 11
Regresi Linier Sederhana ----------------------------------------------------------------------------- 12
Uji F ------------------------------------------------------------------------------------------------------------ 13
Uji T------------------------------------------------------------------------------------------------------------ 13
Uji Asumsi Auto Korelasi Durbin Watson------------------------------------------------------ 14
Covariance -------------------------------------------------------------------------------------------------- 16
Koefisien Korelasi---------------------------------------------------------------------------------------- 16
Matriks Varian Kovarian ------------------------------------------------------------------------------ 16
Missing Value---------------------------------------------------------------------------------------------- 17
Variance------------------------------------------------------------------------------------------------------ 17
Regresi dan Multikolinearitas ---------------------------------------------------------------------- 17
Bootstrap---------------------------------------------------------------------------------------------------- 18
Stack/ memisah menjadi kolom yang berbeda --------------------------------------------- 19
Regresi Bootstrap Error ------------------------------------------------------------------------------- 19
Regresi Bootstrap Mean Stdev--------------------------------------------------------------------- 20
Jacknife ------------------------------------------------------------------------------------------------------ 21
SYNTAX PRAKTIKUM DENGAN ASDOS ------------------------------------------------------------------ 22
Global Makro ------------------------------------------------------------------------------------------------- 22
Do enddo---------------------------------------------------------------------------------------------------- 22
Jumlah antar Kolom (x,y) ---------------------------------------------------------------------------- 23
Memisahkan Data --------------------------------------------------------------------------------------- 23
Lokal Makro --------------------------------------------------------------------------------------------------- 23
Do enddo---------------------------------------------------------------------------------------------------- 23
Jumlah Antar Kolom (x,y)---------------------------------------------------------------------------- 23
Memisahkan Data --------------------------------------------------------------------------------------- 23
Mean X Y ---------------------------------------------------------------------------------------------------- 24
Median (mengurutkan data)------------------------------------------------------------------------ 24
Korelasi------------------------------------------------------------------------------------------------------- 25
Matriks Korelasi ------------------------------------------------------------------------------------------ 25
4. 4
Varian dan Covarian ------------------------------------------------------------------------------------ 26
ANOVA ------------------------------------------------------------------------------------------------------- 26
One Sampel T Test--------------------------------------------------------------------------------------- 27
Two Sampel Varian Sama ---------------------------------------------------------------------------- 28
Proporsi Satu Populasi -------------------------------------------------------------------------------- 28
Proporsi Dua Populasi --------------------------------------------------------------------------------- 29
Regresi Beta Nol Beta 1 ------------------------------------------------------------------------------- 30
Glejser -------------------------------------------------------------------------------------------------------- 31
Durbin Watson-------------------------------------------------------------------------------------------- 32
Regresi Non Linier 1 ------------------------------------------------------------------------------------ 33
Regresi Non Linier 2 ------------------------------------------------------------------------------------ 34
Regresi Jacknife ------------------------------------------------------------------------------------------ 35
5. 5
SYNTAX DARI PAK
AHSAN
Global Makro
Membangkitkan Data
Berdistribusi Normal
gmacro
normal
random 100 C1;
normal 0 1.
Endmacro
===========================
Kolom Dari Matriks
gmacro
coltoM
copy M1 c4 c5 c6
endmacro
===========================
Matriks Dari Kolom
gmacro
Mtocol
copy c1 c2 c3 M1
endmacro
==========================
Menamai Kolom
GMACRO
nama
name C1"X"C2"Y"C3"Z"
ENDMACRO
Operasi Matematika
Sederhana
gmacro
math
let c4='X'^2
name C4 "X kuadrat"
let C5 = 'X'+'Y'+'Z'
name C5 "X+Y+Z"
let C6 = SIN('Z')
name C6 "sin(z)"
let C7 = LN('Z')
name C7 "Ln(z)"
endmacro
===========================
Operasi Matriks
gmacro
operasi
copy c1 c2 c3 M1
#penjumlahan
add M1 M1 M11
print M11
#pengurangan
subt M11 M1 M12
print M12
#transpose
trans M1 M2
print M2
#perkalian
mult M2 M1 M21
print M21
#invers
inve M21 M22
print M22
endmacro
===========================
6. 6
Regresi1
gmacro
regresi
regress C3 2 C1 C2
endmacro
==========================
Regresi2
gmacro
regresi
regress;
response C3;
continuous C1 C2;
terms C1 C2.
endmacro
=========================
Scatter Plot
gmacro
scatterplot
Describe 'X'-'Z'.
Plot 'Y'*'X';
Symbol.
endmacro
=======================
Statistika Deskriptif
gmacro
desk
Describe 'X'-'Z'.
Histogram 'X'-'Z';
Bar.
Endmacro
=======================
Uniform dan Binomial
GMACRO
generate
Random 100 C2;
Uniform 0 1.
Random 100 C3;
Binomial 50 0.2.
ENDMACRO
=======================
One Sampel Z Test
gmacro
onez
let k1=0 #mu 0
let k2=1 #var 1
Random 100 C1;
Normal k1 k2.
let k3=count(C1)
let k4=mean(C1)
let k5=sqrt(k3)*(k4-k1)/k2
InvCDF 0.975 k6;
Normal 0.0 1.0.
name k3"N" k4"Mean" k5"zhit" k6"ztabel"
print k3 k4 k5 k6
note kesimpulan
if abs(k5)<=k6
Note Gagal tolak H0
else
Note tolak H0
endif
#confidence interval
let k7=k4+k6*(k2/sqrt(k3))
let k8=k4-k6*(k2/sqrt(k3))
name k7"upper CI" k8"lower CI"
print k7 k8
endmacro
===========================
Two Sampel T Test Varian
Sama
#twosampelTtest varian sama
gmacro
twot
Random 15 C1;
Normal 0.0 1.0.
7. 7
Random 10 C2;
Normal 1 1.0.
let k1=count(c1)
let k2=mean(c1)
let k3=stdev(c1)
let k4=count(c2)
let k5=mean(c2)
let k6=stdev(c2)
#spool
let k7=sqrt(((k1-1)*k3^2+(k4-
1)*k6^2)/(k1+k4-2))
#thitung
let k8=(k2-k5)/sqrt(k7^2*((1/k1)+(1/k4)))
let k9=(k1+k4-2)
InvCDF 0.975 k10;
T k9.
name k1"N1" k2"mean1" k3"stdev 1"
k4"N2"
name k5"mean2" k6"stdev2" k8"T hitung"
k10"T tabel"
print k1 k2 k3 k4 k5 k6 k8 k10
note kesimpulan
if abs(k8)<=k10
Note Gagal Tolak H0
else
Note Tolak H0
endif
let k15=sqrt(((k1-1)*k3^2+(k4-
1)*k6^2)/(k1+k4-2)*((1/k1)+(1/k4)))
let k16=(k2-k5)+k10*k15
let k17=(k2-k5)-k10*k15
name k16"Upper CI" k17"Lower CI"
print k16 k17
endmacro
=========================
Matrix Varian Covarian
GMACRO
MCOV
LET K1=COUNT(C1)
LET K2=MEAN(C1)
LET K3=MEAN(C2)
LET K4=MEAN(C3)
NAME C1'X' C2'Y' C3'Z'
DO K5=1:K1
LET C3(K5) = C1(K5)-K2 #X-XBAR
LET C4(K5) = C2(K5)-K3 #Y-YBAR
LET C5(K5) = C3(K5)-K3 #Z-ZBAR
ENDDO
COPY C3 C4 C5 M1 #MATRIKS X-XBAR, Y-
YBAR, Z-ZBAR
TRANS M1 M2 #3XN
MULT M2 M1 M3
LET K6=1/(K1-1) #1/(N-1)
DEFINE K6 1 1 M4 #MENDEFINISIKAN
KONSTANTA MENJADI MARIKS
MULT M4 M3 M5
PRINT M5
ENDMACRO
==========================
Transformasi Invers
#transformasi invers
gmacro
tiexp
let k1=2 #lamda
let k2=100 #n
random k2 c1;
Uniform 0 1.
do k3=1:k2
let c2(k3)=-(1/k1)*ln(c1(k3))
let c2(k3)=-(1/k1)*ln(1-c1(k3))
enddo
DCapa C2;
Exponential;
8. 8
RDescriptive;
RFitTests;
REstimate.
Endmacro
===========================
Transformasi Weibull
#transformasi weibull
gmacro
weibull
let k1=1 #lamda
let k2=100 #n
let k3 =4
random k2 c1;
Uniform 0 1.
do k4=1:k2
let c2(k4)=k1*(-ln(c1(k4)))^(1/k3)
enddo
DCapa C2;
Weibull;
RDescriptive;
RFitTests;
REstimate.
Endmacro
===========================
Tranformasi Eksponensial
gmacro
tiexp
let k1=5 #lamda
let k2=500 #n
random k2 c1;
Uniform 0 1.
do k3=1:k2
let c2(k3)=-(1/k1)*log(1-c1(k3))
enddo
DCapa C2;
Exponential;
RDescriptive;
RFitTests;
REstimate.
Endmacro
===========================
Slice Sampling
gmacro
slicenorm
erase c1-c200
erase k1-k200
let k1=100 #n
let k2=0 #mu
let k3=3 #sig
let k4= k2-3*k3 #inisialisasi batas bawah
sumbu x (a)
let k5= k2+3*k3 #inisialisasi batas atas
sumbu x (b)
# PROSES SLICE SAMPLING
do k6=1:k1
# bangkitkan uniform dg batas atas dan
bawah distr normal (horisontal)
random 1 c1;
uniform k4 k5.
name c1 'RANDOM_HOR'
# menulis ke kolom c2(n)=Xn
let c2(k6)=c1
name c2 'NORMAL'
9. 9
# pdf normal f(Xn) c1-mu/sig
let k7=exp(-0.5*((c1-
k2)/k3)^2)/(k3*sqrt(2*pi()))
# random vertikal
random 1 c3;
uniform 0 k7.
name c3 'RANDOM_VER'
# batas bawah dan atas sumbu x setelah
random vertikal
#mu-sig*sqrt(...)
let k4=k2-k3*sqrt(-2*ln(c3*k3*sqrt(2*pi())))
let k5=k2+k3*sqrt(-2*ln(c3*k3*sqrt(2*pi())))
# mendokumentasikan proses
let c4(k6)=k7
name c4 'f(x)'
let c5(k6)=c3
name c5 'Vert_Rand'
let c6(k6)=k4
name c6 'a'
let c7(k6)=k5
name c7 'b'
enddo
# pengujian hasil dengan Individual
Distribution Identification
DCapa c2;
Normal;
RDescriptive;
RFitTests;
REstimate.
endmacro
Lokal Makro
Distribusi Normal Lokal
Makro
MACRO
Normal n mu sig x
Mconstant n mu sig
Mcolumn x
Random n x;
Normal mu sig.
ENDMACRO
==========================
Permutasi
macro
permutasi n r
Mconstant n r perm
if n>r
let perm=factorial(n)/factorial(n-r)
print perm
else
note n lebih kecil dari r
endif
endmacro
==========================
Kombinasi
MACRO
kombinasi n r
Mconstant n r kmb
if n>r
let kmb =
factorial(n)/(factorial(r)*factorial(n-r))
Print kmb
Else
note error karena n kurang dari k
Endif
10. 10
ENDMACRO
==========================
One Sampel T Test
macro
onet x alfa mu0
mcolumn x
mconstant ci1 ci2 pvalue A ttab thitt stdv
df mu0 alfa alfa1 alfaa i n mu sig thit xbar
xbar1 var var1 ttabel
let alfa1=alfa/2
let alfaa=1-alfa1
let n=count(x)
let df=n-1
let xbar=0
do i =1:n
let xbar=xbar+x(i)
enddo
let xbar1=xbar/n
let var=0
do i=1:n
let var=var+(x(i)-xbar1)^2
enddo
let var1=var/(n-1)
let stdv=sqrt(var1)
let thit=(xbar1-mu0)/(stdv/sqrt(n))
InvCDF alfaa ttabel;
T df.
let ttab=abs(ttabel)
let thitt=abs(thit)
name n"jumlah data" xbar1"rata-rata x"
thit"T hitung"
name ttab"T tabel"
print n xbar1 thit ttab
#CI
let ci1 = xbar1+ttab*(stdv/sqrt(n))
let ci2 = xbar1-ttab*(stdv/sqrt(n))
CDF thitt A;
T df.
let pvalue=2*(1-A)
name ci1"ci atas" ci2"ci bawah"
print pvalue ci1 ci2
endmacro
==========================
Two Sampel T Varian Beda
#two sampel T test varian beda
macro
varbeda n1 mu01 sig1 x n2 mu02 sig2 y
alfa
mcolumn x y
mconstant alfa alfaa ci1 ci2 s2 s thit ttabel
df n1 n2 mu01 mu02 sig1 sig2 alfa1 xbar
ybar varx vary
random n1 x;
normal mu01 sig1.
random n2 y;
normal mu02 sig2.
let alfa1=alfa/2
let alfaa=1-alfa1
let n1=count(x)
let n2=count(y)
let xbar=mean(x)
let ybar=mean(y)
let varx=(stdev(x))^2
let vary=(stdev(y))^2
let s2=(varx/n1)+(vary/n2)
let s =sqrt(s2)
#thitung
let thit=(xbar-ybar)/s
let df=(s2^2)/((1/(n1-
1))*((varx/n1)^2)+(1/(n2-1))*((vary/n2)^2))
#ttabel
InvCDF alfaa ttabel;
T df.
11. 11
name n1"n1" n2"n2" xbar"rata2 sampel 1"
ybar"rata-rata sampel 2"
name thit"T hitung" ttabel"T tabel"
print n1 n2 xbar ybar thit ttabel df
#keputusan
note kesimpulan
if abs(thit)<=ttabel
note gagal tolak h0
else
note tolak h0
endif
#confident interval
let ci1=(xbar-ybar)+(ttabel*s)
let ci2=(xbar-ybar)-(ttabel*s)
print ci1 ci2
endmacro
==========================
Uji Proporsi Dua Populasi
#ujiproporsiduapopulasi
macro
propdua x nx a p01 y ny b p02 alfa mu sig
mconstant nx ny a b p01 p02 p1 p2 p zhit
ztabel alfa alfa1 mu sig ci1 ci2 alfaa
mcolumn x y
Random nx x;
Binomial a p01.
Random ny y;
Binomial b p02.
let alfa1=alfa/2
let alfaa=1-alfa1
let nx=count(x)
let ny=count(y)
let p1=mean(x)
let p2=mean(y)
let p= (p1+p2)/2
#zhit
let zhit=((p1-p2))/sqrt(p*(1-
p)*((1/nx)+(1/ny)))
#ztabel
InvCDF alfaa ztabel;
Normal mu sig.
name p01"p01" p02"p02" nx"jumlah x"
ny"jumlah y" p1"p1" p2"p2"
name zhit"z hitung" ztabel"z tabel"
print p01 p02 nx ny p1 p2 zhit ztabel
note kesimpulan
if abs(zhit)<=ztabel
note gagal tolak h0
else
note tolak h0
endif
#Confident Interval
let ci1=(p1-p2) + ztabel*sqrt((p1*(1-
p1)/nx)+(p2*(1-p2)/ny))
let ci2=(p1-p2) - ztabel*sqrt((p1*(1-
p1)/nx)+(p2*(1-p2)/ny))
name ci1"batas atas" ci2"batas bawah"
print ci1 ci2
endmacro
==========================
Paired T Test
#paired T test
macro
paired x y n mu1 sig1 mu2 sig2 alfa
mconstant i n mu1 mu2 sig1 sig2 alfa alfa1
alfaa d dbar sd2 sdd sd thit thit1 pval
pvalue df ttabel ci1 ci2
mcolumn x y
Random n x;
Normal mu1 sig1.
Random n y;
Normal mu2 sig2.
let alfa1=alfa/2
12. 12
let alfaa=1-alfa1
let d=0
do i=1:n
let d=d+(x(i)-y(i))
enddo
let dbar=d/n
let sd2=0
do i=1:n
let sd2=sd2+((x(i)-y(i))-dbar)^2
enddo
let sdd=sd2/(n-1)
let sd=sqrt(sdd)
#thit
let thit=dbar/(sd/sqrt(n))
let df=n-1
#ttabel
InvCDF alfaa ttabel;
T df.
let thit1=abs(thit)
#pvalue
CDF thit1 pval;
T df.
let pvalue = 2*(1-pval)
name n"n" d"d" dbar"dbar" sd"standar
deviasi"
name thit" t hitung" ttabel"t tabel" df"df"
print n d dbar sd thit pvalue ttabel df
note kesimpulan
if abs(thit)<=ttabel
note gagal tolak h0
else
note tolak h0
endif
#ci
let ci1=dbar+(ttabel*(sd/sqrt(n)))
let ci2=dbar-(ttabel*(sd/sqrt(n)))
name ci1"batas atas" ci2"batas bawah"
print ci1 ci2
endmacro
==========================
Regresi Linier Sederhana
MACRO
REGRESI Y X
MCONSTANT N I K A B DFR DFE SSE YBAR
SSR MSR MSE FHIT FTAB Rsqr AL PVALUE
PVALUEA PVALUEB
MCONSTANT TA TB TTAB ALA ALB ATA
ATB VIF E2 SEE DW
MCOLUMN Y X Satu Beta YFIT E CVAR EE
CE
MMATRICES MY MX YT XT XTX XTX1 XTY
MBeta MVAR
LET N=COUNT(Y)
DO I=1:N
LET Satu(I)=1
ENDDO
COPY Y MY
COPY Satu X MX
TRAN MX XT
MULT XT MX XTX
INVE XTX XTX1
MULT XT MY XTY
MULT XTX1 XTY MBeta
copy MBeta Beta
LET A=BETA(1)
LET B=BETA(2)
PRINT A,B
PRINT "Model Regresi","Y=",A,"+",B,"X";
FORMAT (A15,A3,F7.3,A3,F7.3,A2).
ENDMACRO
13. 13
Uji F
MACRO
REGRESI Y X
MCONSTANT N I K A B DFR DFE SSE YBAR
SSR MSR MSE FHIT FTAB Rsqr AL PVALUE
PVALUEA PVALUEB
MCONSTANT TA TB TTAB ALA ALB ATA
ATB VIF E2 SEE DW
MCOLUMN Y X Satu Beta YFIT E CVAR EE
CE
MMATRICES MY MX YT XT XTX XTX1 XTY
MBeta MVAR
LET N=COUNT(Y)
DO I=1:N
LET Satu(I)=1
ENDDO
COPY Y MY
COPY Satu X MX
TRAN MX XT
MULT XT MX XTX
INVE XTX XTX1
MULT XT MY XTY
MULT XTX1 XTY MBeta
copy MBeta Beta
LET A=BETA(1)
LET B=BETA(2)
PRINT A,B
PRINT "Model Regresi","Y=",A,"+",B,"X";
FORMAT (A15,A3,F7.3,A3,F7.3,A2).
LET DFR = COUNT(BETA)-1
LET DFE=N-DFR-1
LET YFIT = A+(B*X)
LET E= Y-YFIT
LET YBAR = MEAN(Y)
LET SSR = SUM((YFIT-YBAR)^2)
LET SSE = SUM(E^2)
LET MSR = SSR/DFR
LET MSE = SSE/DFE
LET FHIT = MSR/MSE
LET Rsqr = 1-(SSE/(SSE+SSR))
INVCDF 0.95 FTAB;
F DFR DFE.
CDF FHIT AL;
F DFR DFE.
LET PVALUE=1-AL
PRINT SSR SSE MSR MSE FHIT PVALUE
FTAB Rsqr
IF FHIT<=FTAB
NOTE GAGAL TOLAK H0
ELSE
NOTE TOLAK H0
ENDIF
ENDMACRO
===========================
Uji T
MACRO
REGRESI Y X
MCOLUMN Y X SATU BETA YFIT E CVAR EE
CE
MMATRICES MY MX YT XT XTX XTX1 XTY
MBETA MVAR
MCONSTANT N I K A B DFR DFE DFT SSE
YBAR SSR MSR MSE FHIT FTAB RSQR AL
PVALUE PVALUEA PVALUEB TA TB TTAB
ALA ALB ATA ATB VIF E2 SEE DW
LET N = COUNT(Y)
DO I = 1:N
LET SATU(I)=1
ENDDO
COPY Y MY
COPY SATU X MX
TRAN MX XT
MULT XT MX XTX
INVE XTX XTX1
MULT XT MY XTY
MULT XTX1 XTY MBETA
COPY MBETA BETA
14. 14
LET A = BETA(1)
LET B = BETA(2)
PRINT A B
PRINT "Model Regresi","Y=",A,"+",B,"X";
FORMAT (A15,A3,F7.3,A3,F7.3,A2).
#UJI F
LET DFR=COUNT(BETA)-1
LET DFE=N-DFR-1
LET YFIT= A+(B*X)
LET E= Y-YFIT
LET YBAR=MEAN(Y)
LET SSR= SUM((YFIT-YBAR)^2)
LET SSE= SUM(E^2)
LET MSR= SSR/DFR
LET MSE= SSE/DFE
LET FHIT= MSR/MSE
LET Rsqr= 1-(SSE/(SSE+SSR))
INVCDF 0.95 FTAB;
F DFR DFE.
CDF FHIT AL;
F DFR DFE.
LET PVALUE=1-AL
PRINT SSR SSE MSR MSE FHIT PVALUE
FTAB Rsqr
IF FHIT<=FTAB
NOTE GAGAL TOLAK H0
ELSE
NOTE TOLAK H0
ENDIF
#UJI T
MULT XTX1 MSE MVAR
DIAG MVAR CVAR
LET TA= A/SQRT(CVAR(1))
LET TB= B/SQRT(CVAR(2))
LET DFT=N-2
INVCDF 0.975 TTAB;
T DFT.
LET ATA= ABS(TA)
LET ATB= ABS(TB)
CDF ATA ALA;
T DFT.
CDF ATB ALB;
T DFT.
LET PVALUEA= 2*(1-ALA)
LET PVALUEB= 2*(1-ALB)
PRINT TA TB PVALUEA PVALUEB TTAB
IF TA<=TTAB
NOTE A: GAGAL TOLAK H0
ELSE
NOTE A: TOLAK H0
ENDIF
IF TB<=TTAB
NOTE B: GAGAL TOLAK H0
ELSE
NOTE B: TOLAK H0
ENDIF
ENDMACRO
==========================
Uji Asumsi Auto Korelasi
Durbin Watson
MACRO
REGRESI Y X
MCONSTANT N I K A B DFR DFE SSE YBAR
SSR MSR MSE FHIT FTAB Rsqr AL PVALUE
PVALUEA PVALUEB
MCONSTANT TA TB TTAB ALA ALB ATA
ATB VIF E2 SEE DW DFT
MCOLUMN Y X Satu Beta YFIT E CVAR EE
CE
15. 15
MMATRICES MY MX YT XT XTX XTX1 XTY
MBeta MVAR
LET N=COUNT(Y)
DO I=1:N
LET Satu(I)=1
ENDDO
COPY Y MY
COPY Satu X MX
TRAN MX XT
MULT XT MX XTX
INVE XTX XTX1
MULT XT MY XTY
MULT XTX1 XTY MBeta
copy MBeta Beta
LET A=BETA(1)
LET B=BETA(2)
PRINT A,B
PRINT "Model Regresi","Y=",A,"+",B,"X";
FORMAT (A15,A3,F7.3,A3,F7.3,A2).
#UJI F
LET DFR = COUNT(BETA)-1
LET DFE=N-DFR-1
LET YFIT = A+(B*X)
LET E= Y-YFIT
LET YBAR = MEAN(Y)
LET SSR = SUM((YFIT-YBAR)^2)
LET SSE = SUM(E^2)
LET MSR = SSR/DFR
LET MSE = SSE/DFE
LET FHIT = MSR/MSE
LET Rsqr = 1-(SSE/(SSE+SSR))
INVCDF 0.95 FTAB;
F DFR DFE.
CDF FHIT AL;
F DFR DFE.
LET PVALUE=1-AL
PRINT SSR SSE MSR MSE FHIT PVALUE
FTAB Rsqr
IF FHIT<=FTAB
NOTE GAGAL TOLAK H0
ELSE
NOTE TOLAK H0
ENDIF
#UJI T
MULT XTX1 MSE MVAR
DIAG MVAR CVAR
LET TA=A/sqrt(CVAR(1))
LET TB=B/SQRT(CVAR(2))
LET DFT=N-2
INVCDF 0.975 TTAB;
T DFT.
LET ATA=ABS(TA)
LET ATB=ABS(TB)
CDF ATA ALA;
T DFT.
CDF ATB ALB;
T DFT.
LET PVALUEA=2*(1-ALA)
LET PVALUEB=2*(1-ALB)
PRINT TA TB PVALUEA PVALUEB TTAB
IF TA<=TTAB
NOTE A: GAGAL TOLAK H0
ELSE
NOTE A: TOLAK H0
ENDIF
IF TB<=TTAB
NOTE B: GAGAL TOLAK H0
ELSE
NOTE B: TOLAK H0
ENDIF
#UJI ASUMSI
#normalitas error
16. 16
NormalTest E;
KSTest.
#AUTOKORELASI(DURBIN WATSON)
LET E2 = SUM(E^2)
COPY E CE
DO K=2:N
LET EE(K) =CE(K-1)-CE(K)
ENDDO
LET SSE = SUM(EE^2)
LET DW = SEE/E2
PRINT DW
ACF E.
ENDMACRO
Covariance
MACRO
VARIANCE X Y
MCOLUMN X Y
MCONSTANT I N XBAR XT YBAR YT COV CVR
LET N=COUNT(X)
LET N=COUNT(Y)
LET XT = 0
LET XBAR=1
LET YT =0
LET YBAR =1
LET COV = 0
LET CVR = 1
#mencari rata2 X
DO I=1:N
LET XT = XT + X(I)
ENDDO
LET XBAR = XT/N
PRINT XBAR
#mencari rata2 y
DO I=1:N
LET YT = YT + Y(I)
ENDDO
LET YBAR = YT/N
DO I=1:N
LET COV = COV + ((X(I)-XBAR)*(Y(I)-
YBAR))
ENDDO
LET CVR = COV/(N-1)
NAME CVR"COVARIANCE"
PRINT CVR
ENDMACRO
======================================
Koefisien Korelasi
MACRO
KOEFKOREL X Y
MCONSTANT I N RTX RTY VAR SUMX SUMY
STDV1 STDV2 KOEF
MCOLUMN X Y
LET N=COUNT(X)
LET SUMX=0
LET SUMY=0
LET VAR=0
DO I=1:N
LET SUMX=SUMX+X(I)
LET SUMY=SUMY+Y(I)
ENDDO
LET RTX=SUMX/N
LET RTY=SUMY/N
LET STDV1=STDEV(X)
LET STDV2=STDEV(Y)
DO I=1:N
LET VAR=VAR + (X(I)-RTX)*(Y(I)-RTY)
ENDDO
LET KOEF = VAR/((N-1)*STDV1*STDV2)
PRINT KOEF
ENDMACRO
======================================
Matriks Varian Kovarian
MACRO
MATRIXVARCOVAR X Y
MCONSTANT N I RATAX RATAY VARX VARY
COVXY
MCOLUMN X Y P Q R S T
MMATRIX M1
LET N=COUNT(X)
LET RATAX =MEAN(X)
LET RATAY =MEAN(Y)
DO I=1:N
17. 17
LET P(I)=(X(I)-RATAX)^2
LET Q(I)=(Y(I)-RATAY)^2
LET R(I)=(X(I)-RATAX)*(Y(I)-RATAY)
ENDDO
LET VARX=SUM(P)/(N-1)
LET VARY=SUM(Q)/(N-1)
LET COVXY=SUM(R)/(N-1)
LET S(1)=VARX
LET S(2)=COVXY
LET T(1)=COVXY
LET T(2)=VARY
COPY S T M1
PRINT M1
ENDMACRO
=============================
Missing Value
MACRO
MISSINGVALUE X
MCONSTANT I N
MCOLUMN X
LET N=COUNT(X)
PRINT N
DO I=1:N
IF X(I)='*'
GOTO 1
ENDIF
ENDDO
MLABEL 1
DELETE I X
ENDMACRO
===================================
Variance
MACRO
VARIANCE X
MCOLUMN X
MCONSTANT I N XBAR XT VAR VARR
LET N=COUNT (X)
LET XT = 0
LET XBAR=1
LET VAR = 0
LET VARR= 1
#mencari rata2
DO I=1:N
LET XT = XT + X(I)
ENDDO
LET XBAR = XT/N
PRINT XBAR
DO I=1:N
LET VAR = VAR + ((X(I)-XBAR)*(X(I)-
XBAR))
ENDDO
LET VARR = VAR/(N-1)
NAME VARR"VARIANCE"
PRINT VARR
ENDMACRO
======================================
Regresi dan Multikolinearitas
macro
regresi y x.1-x.g yfit res
mconstant n nb g i betaa.1-betaa.g b0 dfr
dfe meanx.1-meanx.g
mconstant sse sumy sy ssr rsq vif
mcolumn y x.1-x.g satu beta yfit res betaxy
sse1
mmatrices my mx yt xt xtx xtx1 xty mbeta
mbetat mbetxy yty myfit msse
let n=count(y)
do i=1:n
let satu(i)=1
enddo
copy y my
copy satu x.1-x.g mx
tran mx xt
mult xt mx xtx
inve xtx xtx1
mult xt my xty
mult xtx1 xty mbeta
copy mbeta beta
let nb = count(beta)
do i=1:g
18. 18
let betaa.i=beta(i+1)
enddo
let b0=beta(1)
print mx my xt xtx xtx1 xty mbeta b0
betaa.1-betaa.g
let dfr = nb - 1
let dfe = n-dfr-1
print dfr dfe
mult mx mbeta myfit #matriks x dan beta
dikali
copy myfit yfit
do i=1:n
let res(i)= y(i)-yfit(i)
enddo
print yfit res
do i=1:g
let meanx.i=mean(x.i)
enddo
print meanx.1-meanx.g
#multikolineartitas
#sse
trans my yt
mult yt my yty
trans mbeta mbetat
mult mbetat xty mbetxy
print yty mbetat mbetxy
subt mbetxy yty msse
print msse
copy msse sse1
copy mbetxy betaxy
let sse=sse1
print betaxy sse
#ssres
let sumy = sum(y)
let sy = (sumy^2)/n
let ssr = betaxy - sy
print sy betaxy
let rsq = 1 - (sse/(sse+ssr))
let vif = 1/(1-rsq)
print sy betaxy ssr sse rsq vif
#hipotesis
note uji hipotesis
if vif >= 10
note ada kasus multikolinearitas
else
note tidak ada multikolinearitas
endif
endmacro
===========================
Bootstrap
# BOOSTRAP
MACRO
Boos kelas ipk B n
mconstant n na nb nc i mean1 mean2
mean3 std1 std2 std3 B
mconstant mms stms mss stss up95s
low95s up95m low95m up90s low90s
mcolumn kelas ipk ipka ipkb ipkc samp
rataa stda
let n = count(kelas)
let na=0
let nb=0
let nc=0
do i = 1:n
19. 19
if kelas(i)=="A"
let na=na+1
let ipka(na)=ipk(na)
elseif kelas(i)=="B"
let nb=nb+1
let ipkb(nb)=ipk(nb)
else
let nc=nc+1
let ipkc(nc)=ipk(nc)
endif
enddo
print ipka ipkb ipkc
let na = count(ipka)
let nb = count(ipkb)
let nc = count(ipkc)
let mean1 = mean(ipka)
let mean2 = mean(ipkb)
let mean3 = mean(ipkc)
let std1 = stdev(ipka)
let std2 = stdev(ipkb)
let std3 = stdev(ipkc)
name mean1"mean a" std1"std a"
mean2"mean b" std2"td b" mean3"mean c"
std3"std c"
print mean1 std1 mean2 std2 mean3 std3
do i=1:na
Sample B ipka Samp;
Replace.
let rataa(i) = mean(samp)
let stda(i) = stdev(samp)
enddo
let mms = mean(rataa)
let stms = stdev(rataa)
let mss = mean(stda)
let stss=stdev(stda)
print mms stms mss stss
let up95s = mss +(1.96*stss/sqrt(na))
let low95s = mss-(1.96*stss/sqrt(na))
let up95m = mms + (1.96*stms/sqrt(na))
let low95m = mms-(1.96*stms/sqrt(na))
let up90s = mss + (1.64*stss/sqrt(na))
let low90s = mss - (1.64*stss/sqrt(na))
print up95s low95s up95m low95m up90s
low90s
endmacro
#panggil : %D:boostrap.txt c1 c2 25 1000
======================================
Stack/ memisah menjadi
kolom yang berbeda
#materi stack
do i=1:n
if kelompok(i)=1
let k1=IPK(i)
stack k1 c1 c1
else if kelompok(i)=2
let k2=IPK(i)
stack k2 c2 c2
else
let k3=IPK(i)
stack k3 c3 c3
endif
enddo
======================================
Regresi Bootstrap Error
MACRO
BOOTREGRES Y X NS
MCONSTANT N NS I K A B DFR DFE DFT SSE
YBAR SSR MSR MSE AL PVALUEA PVALUEB TA
TB ALA ALB ATA ATB VIF E2 SEE DW DW2 EEI
SEA SEB BO IS MCA MCB AZ BZ MSEA MSEB LA
UA LB UB ALPHA
20. 20
MCOLUMN Y X SATU BETA YFIT E CVAR EE CE
EEM EEM2 EK SEK SOURCE SS MS YS XS FHIT
PVALUE FTAB RSQR DF KOEF TTAB SE THIT
P_VALUE STU CA CB CSEA CSEB ES
MMATRICES MY MX YT XT XTX XTX1 XTY
MBETA MVAR
#NILAI BETA DATA
LET N=COUNT(Y)
DO I=1:N
LET SATU(I)=1
ENDDO
COPY Y MY
COPY SATU X MX
TRAN MX XT
MULT XT MX XTX
INVE XTX XTX1
MULT XT MY XTY
MULT XTX1 XTY MBETA
COPY MBETA BETA
LET AZ=BETA(1)
LET BZ=BETA(2)
LET YFIT=AZ+(BZ*X)
LET E=Y-YFIT
DO I=1:NS
SAMPLE N E ES;
REPLACE.
#PRINT ES
LET YS=YFIT+ES
COPY YS Y
COPY SATU X MX
TRAN MX XT
MULT XT MX XTX
INVE XTX XTX1
MULT XT MY XTY
MULT XTX1 XTY MBETA
COPY MBETA BETA
COPY MBETA BETA
LET A=BETA(1)
LET B=BETA(2)
LET CA(I)=A
LET CB(I)=B
ENDDO
LET MCA=MEAN(CA)
LET MCB=MEAN(CB)
PRINT MCA MCB AZ BZ
ENDMACRO
==================================
Regresi Bootstrap Mean Stdev
#regresi bootstrap
# Elvira Dian Safire (06211840000011)
macro
bootreg y x bo ns
mconstant n i k a b dfr dfe dft sse ybar ssr
msr mse al pvaluea pvalueb
mconstant ta tb ala alb vif e2 see dw dw2
eei sea seb bo is ns mca mcb az bz
mconstant msea mseb la ua lb ub alpha
mcolumn y x satu beta yfit e cvar ee ce
eem eem2 ek sek source ss ms ys xs fhit
mcolumn pvalue ftab rsqr df koef ttab se
thit p_value stu ca cb csea cseb
mmatrices my mx yt xt xtx xtx1 xty mbeta
mvar
#beta data
let n=count(y)
do i=1:n
let satu(i)=1
enddo
copy y my
copy satu x mx
tran mx xt
mult xt mx xtx
inve xtx xtx1
mult xt my xty
mult xtx1 xty mbeta
21. 21
copy mbeta beta
let az=beta(1)
let bz=beta(2)
do i=1:ns
sample bo y x ys xs;
Replace.
do is=1:bo
let stu(is)=1
enddo
copy ys my
copy stu xs mx
tran mx xt
mult xt mx xtx
inve xtx xtx1
mult xt my xty
mult xtx1 xty mbeta
copy mbeta beta
let a=beta(1)
let b=beta(2)
let ca(i)=a
let cb(i)=b
#sse
let dfr=count(beta)-1
let dfe=n-dfr-1
let yfit=a+(b*x)
let e = y-yfit
let mse=sum(e^2)/dfe
mult xtx1 mse mvar
diag mvar cvar
let sea = sqrt(cvar(1))
let seb = sqrt(cvar(2))
let csea(i) = sea
let cseb(i) = seb
enddo
name csea"covar sea" cseb"covar seb"
let alpha = 0.05
let mca = mean(ca)
let mcb = mean(cb)
let msea = mean(csea)
let mseb = mean(cseb)
let la = percentil(ca,alpha/2)
let ua = percentil(ca,1-(alpha/2))
let lb = percentil(cb,alpha/2)
let ub = percentil(cb,1-(alpha/2))
name mca"mean ca" mcb"mean cb"
az"beta 0" bz"beta 1" msea"mean sea"
mseb"mean seb"
name la"lower ca" ua"upper ca" lb"lower
cb" ub"upper cb"
print mca mcb az bz msea mseb la ua lb ub
endmacro
======================================
Jacknife
#Jacknife
macro
Jacknife kelas IPK alpha
Mconstant n na nb nc i meana meanb meanc
stda stdb stdc mms vms low up alpha z a t
lowz upz df bias mj
Mcolumn kelas IPK ipka ipkb ipkc samp ms vs
stat cs cl cu cdat clz cuz
Let n = count(kelas)
Let na = 0
Let nb = 0
Let nc = 0
Do i = 1 : n
If kelas(i)=="A"
Let na = na + 1
Let ipka(na) = IPK(na)
Elseif kelas(i)=="B"
Let nb = nb + 1
Let ipkb(nb) = IPK(nb)
Else
22. 22
Let nc = nc + 1
Let ipkc(nc) = IPK(nc)
Endif
Enddo
Print ipka ipkb ipkc
Let na = count(ipka)
Let nb = count(ipkb)
Let nc = count(ipkc)
Let meana = mean(ipka)
Let meanb = mean(ipkb)
Let meanc = mean(ipkc)
Let stda = stdev(ipka)
Let stdb = stdev(ipkb)
Let stdc = stdev(ipkc)
Print na nb nc meana stda meanb stdb meanc
stdc
Histogram ipka;
Title "Data Awal";
Bar.
do i= 1:na
copy ipka samp
delete i samp
Let ms(i) = mean(samp)
Let vs(i) = stdev(samp)
enddo
Histogram ms;
Title "Mean";
Bar.
let mms=mean(ms)
let vms=sqrt(sum((ms-mms)^2)*(na-1)/na)
let bias=(na-1)*(mms-meana)
let mj=meana-bias
print ms bias
let low=percentile(ms,alpha/2)
let up=percentile(ms,1-(alpha/2))
let a=1-(alpha/2)
let df=na-2
InvCDF a z;
normal 0.0 1.0.
InvCDF a t;
t df.
let lowz=mj-z*(vms)
let upz=mj+z*(vms)
let cs(1)=mj
let cl(1)=low
let cu(1)=up
let stat(1)="Mean"
let cdat(1)=meana
let clz(1)=lowz
let cuz(1)=upz
print stat cdat cs cl cu clz cuz
endmacro
==================================
SYNTAX PRAKTIKUM
DENGAN ASDOS
Global Makro
Do enddo
GMACRO
NO1
LET K1=COUNT(C2)
DO K2=1:K1
IF C2(K2) >= 3.5
LET C3(K2)=1
ELSE
LET C3(K2)=0
endif
ENDDO
ENDMACRO
23. 23
==========================
Jumlah antar Kolom (x,y)
GMACRO
JUMLAH
LET K1 = COUNT(C1)
LET K2 = COUNT(C2)
LET K3 = 0
LET K4 = 0
DO K5 = 1: K1
LET K3 = K3 + C1(K5)
LET K4 = K4 + C2(K5)
ENDDO
NAME K3"JUMLAH_X" K4"JUMLAH_Y"
PRINT K3 K4
ENDMACRO
==========================
Memisahkan Data
GMACRO
NOMOR2
LET K1=COUNT(C2)
LET K3 = 0
LET K4 = 0
DO K2=1:K1
IF C2(K2) >= 3.5
LET C7(K2)=1
LET K3 = K3+1
ELSE
LET C7(K2)=0
LET K4 = K4+1
ENDIF
ENDDO
name C3 "yycoded"
print K1 K3 K4
ENDMACRO
Lokal Makro
Do enddo
MACRO
YCODED a b
MCOLUMN a b
MCONSTANT c i
LET c=COUNT(a)
DO i=1:c
IF a(i) >= 3.5
LET b(i)=1
ELSE
LET b(i)=0
ENDIF
ENDDO
name b "ycodedd"
ENDMACRO
==========================
Jumlah Antar Kolom (x,y)
MACRO
JUMLAH X Y
MCOLUMN X Y
MCONSTANT I N YCOD1 YCOD2
LET N = COUNT(Y)
LET YCOD1 = 0
LET YCOD2 = 0
DO I = 1:N
LET YCOD1 = YCOD1 + X(I)
LET YCOD2 = YCOD2 + Y(I)
ENDDO
NAME YCOD1"jumlah_x" YCOD2
"jumlah_y"
PRINT YCOD1 YCOD2
ENDMACRO
==========================
Memisahkan Data
MACRO
24. 24
YCODED X Y YCODED
MCOLUMN X Y YCODED
MCONSTANT I N YCODED_1 YCODED_0
LET N=COUNT(Y)
LET YCODED_1=0
LET YCODED_0=0
DO I=1:N
IF Y(I) >= 3.5
LET YCODED(I)=1
LET
YCODED_1=YCODED_1+1
ELSE
LET YCODED(I)=0
LET
YCODED_0=YCODED_0+1
ENDIF
ENDDO
PRINT YCODED_1 YCODED_0 N
ENDMACRO
==========================
Mean X Y
MACRO
JUMLAH X Y
MCOLUMN X Y
MCONSTANT I N YCOD1 YCOD2 MEAN1
MEAN2
LET N = COUNT(Y)
LET YCOD1 = 0
LET YCOD2 = 0
DO I = 1:N
LET YCOD1 = YCOD1 + X(I)
LET YCOD2 = YCOD2 + Y(I)
ENDDO
LET MEAN1 = YCOD1/N
LET MEAN2 = YCOD2/N
NAME MEAN1"RATA RATA X" MEAN2
"RATA RATA Y"
PRINT MEAN1 MEAN2
ENDMACRO
==========================
Median (mengurutkan data)
#MENGURUTKAN DATA
MACRO
URUT XAWAL YAWAL X Y
MCOLUMN XAWAL YAWAL X Y
MCONSTANT N I J TEMP MEDX MEDY K
COPY XAWAL X
COPY YAWAL Y
LET N=COUNT(X)
DO I=1:N
DO J=1:N
IF X(I)>X(J)
LET TEMP=X(J)
LET X(J)=X(I)
LET X(I)=TEMP
ENDIF
IF Y(I)>Y(J)
LET TEMP=Y(J)
LET Y(J)=Y(I)
LET Y(I)=TEMP
ENDIF
ENDDO
ENDDO
NAME X"X-URUT"
NAME Y"Y-URUT"
LET MEDX=0
LET MEDY=0
IF MOD(N,2)<>0
LET MEDX=X((N+1)/2)
LET MEDY=Y((N+1)/2)
ELSE
LET MEDX=(X((N/2)+1)+X(N/2))/2
LET MEDY=(Y((N/2)+1)+Y(N/2))/2
ENDIF
PRINT MEDX MEDY
ENDMACRO
==========================
25. 25
Korelasi
MACRO
JUMLAH X Y
MCOLUMN X Y
MCONSTANT I N YCOD1 YCOD2 MEAN1
MEAN2 VAR1 VAR2 VAR3 VARX VARY
COVA STDEVX STDEVY R
LET N = COUNT(Y)
LET YCOD1 = 0
LET YCOD2 = 0
LET VAR1 = 0
LET VAR2 = 0
LET VAR3 = 0
LET VARX = 0
LET VARY = 0
LET COVA = 0
LET R = 0
#MEAN X DAN Y
DO I = 1:N
LET YCOD1 = YCOD1 + X(I)
LET YCOD2 = YCOD2 + Y(I)
ENDDO
LET MEAN1 = YCOD1/N
LET MEAN2 = YCOD2/N
NAME MEAN1"RATA RATA X" MEAN2
"RATA RATA Y"
PRINT MEAN1 MEAN2
#VARIAN X
DO I=1:N
LET VAR1 = VAR1 + (X(I)-
MEAN1)*(X(I)-MEAN1)
ENDDO
LET VARX=VAR1/(N-1)
NAME VARX"VARIAN X"
PRINT VARX
#VARIAN Y
DO I=1:N
LET VAR2 = VAR2 + (Y(I)-
MEAN2)*(Y(I)-MEAN2)
ENDDO
LET VARY=VAR2/(N-1)
NAME VARY"VARIAN Y"
PRINT VARY
#COVARIAN X DAN Y
DO I=1:N
LET VAR3 = VAR3 + (X(I)-
MEAN1)*(Y(I)-MEAN2)
ENDDO
LET COVA = VAR3/(N-1)
NAME COVA"COVARIAN X,Y"
PRINT COVA
#STANDART DEVIASI X DAN Y
LET STDEVX=SQRT(VARX)
LET STDEVY=SQRT(VARY)
#KORELASI X DENGAN X
LET R = COVA/(STDEVX*STDEVY)
NAME R"KORELASI"
PRINT R
ENDMACRO
==========================
Matriks Korelasi
MACRO
KORELASI X.1-X.Y
MCONSTANT I N Y B K XBBAR XKBAR XBS
XKS R A C
MCOLUMN X.1-X.Y KOR.1-KOR.Y COR.1-
COR.Y
MMATRIX M1 M2 M3
LET N= COUNT(X.1)
DO B=1:Y
DO K=1:Y
LET XBBAR = MEAN(X.B)
LET XBS = STD(X.B)
LET XKBAR = MEAN(X.K)
LET XKS = STD(X.K)
LET R=0
DO I=1:N
26. 26
LET R= R+(X.B(I)-
XBBAR)*(X.K(I)-XKBAR)
ENDDO
LET R=R/((N-1)*XBS*XKS)
LET KOR.K(B)=R
ENDDO
ENDDO
COPY KOR.1-KOR.Y M1
PRINT M1
LET A= KOR.1(1)*KOR.Y(Y)-
KOR.1(Y)*KOR.Y(1)
LET COR.1(1)= KOR.Y(Y)
LET COR.1(Y)= -KOR.1(Y)
LET COR.Y(Y)= KOR.1(1)
LET COR.Y(1)= -KOR.Y(1)
COPY COR.1-COR.Y M2
LET C=(1/A)
MULTIPLY C M2 M3
PRINT A
PRINT M3
ENDMACRO
==========================
Varian dan Covarian
MACRO
JUMLAH X Y
MCOLUMN X Y
MCONSTANT I N YCOD1 YCOD2 MEAN1
MEAN2 VAR1 VAR2 VAR3 VARX VARY
COVA
LET N = COUNT(Y)
LET YCOD1 = 0
LET YCOD2 = 0
LET VAR1 = 0
LET VAR2 = 0
LET VAR3 = 0
LET VARX = 0
LET VARY = 0
LET COVA = 0
#MEAN X DAN Y
DO I = 1:N
LET YCOD1 = YCOD1 + X(I)
LET YCOD2 = YCOD2 + Y(I)
ENDDO
LET MEAN1 = YCOD1/N
LET MEAN2 = YCOD2/N
NAME MEAN1"RATA RATA X" MEAN2
"RATA RATA Y"
PRINT MEAN1 MEAN2
#VARIAN X
DO I=1:N
LET VAR1 = VAR1 + (X(I)-
MEAN1)*(X(I)-MEAN1)
ENDDO
LET VARX=VAR1/(N-1)
NAME VARX"VARIAN X"
PRINT VARX
#VARIAN Y
DO I=1:N
LET VAR2 = VAR2 + (Y(I)-
MEAN2)*(Y(I)-MEAN2)
ENDDO
LET VARY=VAR2/(N-1)
NAME VARY"VARIAN Y"
PRINT VARY
#COVARIAN X DAN Y
DO I=1:N
LET VAR3 = VAR3 + (X(I)-
MEAN1)*(Y(I)-MEAN2)
ENDDO
LET COVA = VAR3/(N-1)
NAME COVA"COVARIAN X,Y"
PRINT COVA
ENDMACRO
==========================
ANOVA
MACRO
ANOVA_H X.1-X.G ALFA
27. 27
MCONSTANT G I J NT N.1-N.G MEAN_X
MEANX.1-MEANX.G SSTR SSE DFTR DFE
MSTR MSE FHIT ALFA PVALUE A FTAB
MCOLUMN X.1-X.G
LET NT=0
LET MEAN_X=0
DO I=1:G
LET N.I=COUNT(X.I)
LET MEANX.I=MEAN(X.I)
LET NT=NT+N.I
LET MEAN_X=MEAN_X+SUM(X.I)
ENDDO
LET MEAN_X=MEAN_X/NT
#SUMOFSQUARE
LET SSTR=0
DO I=1:G
LET SSTR=SSTR+N.I*(MEANX.I-MEAN_X)^2
ENDDO
LET SSE=0
DO I=1:G
DO J=1:N.I
LET SSE=SSE + (X.I(J)-MEANX.I)^2
ENDDO
ENDDO
#DF
LET DFTR=G-1
LET DFE=NT-G
#MS
LET MSTR=SSTR/DFTR
LET MSE=SSE/DFE
LET FHIT=MSTR/MSE
INVCDF ALFA FTAB;
F DFTR DFE.
CDF FHIT A;
F DFTR DFE.
LET PVALUE=1-A
PRINT SSTR SSE DFTR DFE MSTR MSE FHIT
FTAB PVALUE
ENDMACRO
==========================
One Sampel T Test
macro
onet x alfa mu0
mcolumn x
mconstant pvalue A ttab thitt stdv df mu0
alfa alfa1 i n mu sig thit xbar xbar1 var var1
ttabel
let alfa1=alfa/2
let n=count(x)
let df=n-1
let xbar=0
do i =1:n
let xbar=xbar+x(i)
enddo
let xbar1=xbar/n
let var=0
do i=1:n
let var=var+(x(i)-xbar1)^2
enddo
let var1=var/(n-1)
let stdv=sqrt(var1)
let thit=(xbar1-mu0)/(stdv/sqrt(n))
InvCDF alfa1 ttabel;
T df.
let ttab=abs(ttabel)
let thitt=abs(thit)
name n"jumlah data" xbar1"rata-rata x"
thitt"T hitung"
name ttab"T tabel"
print n xbar1 thitt ttab
28. 28
CDF thitt A;
T df.
let pvalue=2*(1-A)
print thit ttab pvalue
endmacro
==========================
Two Sampel Varian Sama
macro
twosampel n1 mu01 sig1 x n2 mu02 sig2 y
mcolumn x y
mconstant i atas bawah sx sp2 s df thit
ttabel n1 n2 mu01 mu02 sig1 sig2 xbar
xbar1 ybar ybar1 var1 varx var2 vary
random n1 x;
normal mu01 sig1.
random n2 y;
normal mu02 sig2.
let n1=count(x)
let n2=count(y)
let xbar=0
do i=1:n1
let xbar=xbar+x(i)
enddo
let xbar1=xbar/n1
let var1=0
do i=1:n1
let var1=var1+(x(i)-xbar1)**2
enddo
let varx=var1/(n1-1)
let sx=sqrt(varx)
let ybar=0
do i=1:n2
let ybar=ybar+y(i)
enddo
let ybar1=ybar/n2
let var2=0
do i=1:n2
let var2=var2+(y(i)-ybar1)**2
enddo
let vary=var2/(n2-1)
let sx=sqrt(vary)
let df=n1+n2-2
let sp2=(((n1-1)*varx)+((n2-1)*vary))/df
let s= sqrt(sp2*((1/n1)+(1/n2)))
let thit = ((xbar1-ybar1)-(mu01-mu02))/s
InvCDF 0.975 ttabel;
T df.
name n1"n1" n2"n2" xbar1"rata x"
ybar1"rata y"
name thit "T hitung" ttabel" T tabel"
print n1 n2 xbar1 ybar1 s sp2 thit ttabel
note kesimpulan
if abs(thit)<=ttabel
note gagal tolak H0
else
note tolak Ho
endif
let atas=(xbar1-ybar1)+ttabel*s
let bawah=(xbar1-ybar1)-ttabel*s
name atas"batas atas" bawah"batas
bawah"
print atas bawah
endmacro
==========================
Proporsi Satu Populasi
#uji proporsi satu populasi dua arah
macro
propsatu a n x p0 alfa mu sig
mconstant a mu sig i n n1 p0 q0 alfa alfa1
alfaa p ptopi zhit s ztabel ci1 ci2
mcolumn x
Random n x;
Binomial a p0.
let alfa1=alfa/2
let alfaa=1-alfa1
29. 29
let n=count(x)
#p topi
let p=0
do i=1:n
let p=p+x(i)
enddo
let ptopi=p/n
let q0=1-p0
#z hitung
let zhit=(ptopi-p0)/sqrt(p0*q0/n)
let s=sqrt(ptopi*(1-ptopi)/n)
#ztabel
InvCDF alfaa ztabel;
Normal mu sig.
name n"jumlah data" p0"p0" ptopi"ptopi"
zhit"z hitung" ztabel"z tabel"
print n p0 ptopi zhit ztabel
#keputusan
note kesimpulan
if abs(zhit)<=ztabel
note gagal tolak h0
else
note tolak h0
endif
#confident interval
let ci1 = ptopi + ztabel*s
let ci2 = ptopi - ztabel*s
name ci1"batas atas" ci2"batas bawah"
print ci1 ci2
endmacro
==========================
Proporsi Dua Populasi
#uji proporsi dua populasi
macro
propdua x nx a p01 y ny b p02 alfa mu sig
mconstant nx ny a b p01 p02 p1 p2 p zhit
ztabel alfa alfa1 alfaa mu sig ci1 ci2
mcolumn x y
Random nx x;
Binomial a p01.
Random ny y;
Binomial b p02.
let alfa1=alfa/2
let alfaa=1-alfa1
let nx=count(x)
let ny=count(y)
let p1=mean(x)
let p2=mean(y)
let p= (p1+p2)/2
#zhit
let zhit=(p1-p2)/sqrt(p*(1-
p)*((1/nx)+(1/ny)))
#ztabel
InvCDF alfaa ztabel;
Normal mu sig.
name p01"p01" p02"p02" nx"jumlah x"
ny"jumlah y" p1"p1" p2"p2"
name zhit"z hitung" ztabel"z tabel"
print p01 p02 nx ny p1 p2 zhit ztabel
note kesimpulan
if abs(zhit)<=ztabel
note gagal tolak h0
else
note tolak h0
30. 30
endif
#Confident Interval
let ci1=(p1-p2) + ztabel*sqrt((p1*(1-
p1)/nx)+(p2*(1-p2)/ny))
let ci2=(p1-p2) - ztabel*sqrt((p1*(1-
p1)/nx)+(p2*(1-p2)/ny))
name ci1"batas atas" ci2"batas bawah"
print ci1 ci2
endmacro
=========================
Regresi Beta Nol Beta 1
#persamaan regresi
macro
regresi y x fits err
mconstant i n b1 b2 sumx sumy sumxy
sumx2 meanx meany
mcolumn x y fits err
let n = count(x)
let sumx=0
let sumy=0
let sumxy=0
let sumx2=0
let meanx=0
let meany=0
do i=1:n
let sumx=sumx+x(i)
let sumy=sumy+y(i)
let sumxy=sumxy+(x(i)*y(i))
let sumx2=sumx2+(x(i)**2)
enddo
let meanx=sumx/n
let meany=sumy/n
let b2=(n*sumxy-sumx*sumy)/(n*sumx2-
sumx**2)
let b1=meany-b2*meanx
#let b1=(sumx2*sumy-
sumx*sumxy)/(n*sumx2-(sumx**2))
print b1 b2
do i=1:n
let fits(i)=b1+b2*x(i)
let err(i)=y(i)-fits(i)
enddo
name fits"FITS"
name err"RESI"
endmacro
==========================
Kolmogorov Smirnov
#kolmogorov smirnov
macro
ks resi
mconstant temp i j n D e zz meane vare
sde
mcolumn resi err z Dplus Dmin DD
copy resi err
let n=count(err)
do i=1:n
do j=i+1:n
if err(i)>err(j)
let temp=err(j)
let err(j)=err(i)
let err(i)=temp
endif
enddo
enddo
let meane=mean(err)
let vare=0
do i=1:n
let vare=vare+(err(i)-meane)*(err(i)-
meane)
enddo
31. 31
let vare=vare/(n-1)
let sde=sqrt(vare)
do i=1:n
let e=err(i)
CDF e zz;
Normal meane sde.
let z(i)=zz
enddo
do i=1:n
let Dplus(i)= i/n-z(i)
let Dmin(i)=z(i)-(i-1)/n
enddo
let DD(1)=max(Dplus)
let DD(2)=max(Dmin)
let D=max(DD)
print D
endmacro
==========================
Glejser
#glejser
macro
glejser x resi
mconstant i n sumx sume sumxe sumx2
meanx meane mse sde secoef ssx b0 b1 T
df pval
mcolumn x y fits resi err
let err=abs(resi)
let n=count(err)
let sumx=0
let sume=0
let sumxe=0
let sumx2=0
let meanx=0
let meane=0
do i=1:n
let sumx=sumx+x(i)
let sume=sume+err(i)
let sumxe=sumxe+(x(i)*err(i))
let sumx2=sumx2+(x(i)**2)
enddo
let meanx=sumx/n
let meane=sume/n
let b1=(n*sumxe-sumx*sume)/(n*sumx2-
sumx**2)
let b0=meane-b1*meanx
do i=1:n
let fits(i)=b0+b1*x(i)
enddo
let mse=0
do i=1:n
let mse=mse+(err(i)-fits(i))**2
enddo
let mse=mse/(n-2)
let sde=sqrt(mse)
let ssx=0
do i=1:n
let ssx=ssx+(x(i)-meanx)**2
enddo
let ssx=sqrt(ssx)
let secoef=sde/ssx
let T=b1/secoef
let df=n-2
32. 32
cdf T pval;
t df.
let pval=2*(1-pval)
print b1 secoef t pval
endmacro
=========================
Durbin Watson
#durbin watson
macro
durbin y x fits err
mconstant a i n b1 b2 sumx sumy sumxy
sumx2 meanx meany d d1 d2
mcolumn x y fits err
let n = count(x)
let sumx=0
let sumy=0
let sumxy=0
let sumx2=0
let meanx=0
let meany=0
do i=1:n
let sumx=sumx+x(i)
let sumy=sumy+y(i)
let sumxy=sumxy+(x(i)*y(i))
let sumx2=sumx2+(x(i)**2)
enddo
let meanx=sumx/n
let meany=sumy/n
let b2=(n*sumxy-sumx*sumy)/(n*sumx2-
sumx**2)
let b1=meany-b2*meanx
#let b1=(sumx2*sumy-
sumx*sumxy)/(n*sumx2-(sumx**2))
print b1 b2
do i=1:n
let fits(i)=b1+b2*x(i)
let err(i)=y(i)-fits(i)
enddo
name fits"FITS"
name err"RESI"
#DURBIN
let d1 =0
do a=2:n
let d1=d1+(err(a)-err(a-1))**2
enddo
let d2=0
do i=1:n
let d2=d2+err(i)**2
enddo
let d = d1/d2
print d
endmacro
==========================
Uji Identik
macro
identik x err
mconstant err1 i n sumx sumx2 meanx b1r
b2r meaner sumerx sumer
mconstant mse sde ssx secoef df T pval
mcolumn x y fits err err1
let n = count(err)
let err1= abs(err)
let sumx=0
let sumx2=0
let meanx=0
let err1=0
let sumer=0
let sumerx= 0
let meaner=0
do i=1:n
33. 33
let sumx=sumx+x(i)
let sumx2=sumx2+(x(i)**2)
let sumer=sumer+err1(i)
let sumerx=sumerx+(x(i)*err1(i))
enddo
let meanx=sumx/n
let meaner = sumer/n
let b2 = (n*sumerx-
sumx*sumer)/(n*sumx2-sumx**2)
let b1 = meaner-b2r*meanx
do i=1:n
let fits(i)=b1r+b2r*x(i)
enddo
let mse = 0
do i=1:n
let mse = mse+(err1(i)-fits(i))**2
enddo
let mse = mse/(n-2)
let sde = sqrt(mse)
let ssx = 0
do i=1:n
let ssx = ssx+ (x(i)-meanx)**2
enddo
let ssx = sqrt(ssx)
let secoef = sde/ssx
let T = b2r/secoef
let df= n-2
cdf T pval;
t df.
let pval = 2*(1-pval)
print b2r secoef T pval
endmacro
==========================
Regresi Non Linier 1
macro
regresinonlinier x y b00 b11 SSE b0 b1
mconstant i n del0 del1 kk se eps maxiter
b0 b1
mcolumn satu x y f y0 D0 D1 beta b00 b11
del00 del11 SSE er
mmatrix my mx yt xt xtx xtx1 xty mbeta
bbb betaSSE msse
let n=count(x)
let b00(1)=b0
let b11(1)=b1
let se = 0
do i=1:n
let se=se+((y[i]-b0*exp(b1*x[i]))**2)
enddo
let SSE(1) = se
#iterasi gauss newton
let maxiter = 100
let eps =10**(-6)
do kk=2:maxiter
do i=1:n
let f(i)=b0*exp(b1*x[i])
let y0[i]=y[i]-f[i]
let D0[i]=exp(b1*x[i])
let D1[i]=b0*x[i]*exp(b1*x[i])
enddo
copy D0 D1 mx
tran mx xt
mult xt mx xtx
inve xtx xtx1
mult xt y0 xty
mult xtx1 xty mbeta
copy mbeta beta
let del0=beta(1)
let del1=beta(2)
let del00(kk-1)=del0
34. 34
let del11(kk-1)=del1
let b0=b0+del0
let b1=b1+del1
let b00(kk)=b0
let b11(kk)=b1
let se=0
do i=1:n
let se=se+((y[i]-b0*exp(b1*x[i]))**2)
enddo
let SSE(kk)=se
#kriteria pemberhentian
let er(kk) = sqrt((b00(kk)-b00(kk-
1))**2+(b11(kk)-b11(kk-1))**2)
if er(kk)<eps
BREAK
endif
enddo
name SSE"SSE"
name b00"beta0"
name b11"beta1"
copy b00 b11 bbb
print bbb SSE er
endmacro
=========================
Regresi Non Linier 2
macro
regresinonlinier x y b00 b11 SSE
mconstant i n b0 b1 del0 del1 kk se eps
maxiter
mcolumn satu x y_1 y f y0 D0 D1 beta b00
b11 del00 del11 SSE er
mmatrix my mx yt xt xtx xtx1 xty mbeta
bbb betaSSE msse
let n=count(x)
let y_1=ln(y)
do i=1:n
let satu(i)=1
enddo
copy satu x mx
tran mx xt
mult xt mx xtx #x'x
inve xtx xtx1 #x'x^-1
mult xt y_1 xty #x'y
mult xtx1 xty mbeta #(x'x)^-1(x'y)
copy mbeta beta #beta
print beta
let b0=beta(1)
let b1=beta(2)
let b0=exp(b0)
#simpan hasil beta da SSE awal
let b00(1)=b0
let b11(1)=b1
let se = 0
do i=1:n
let se=se+((y[i]-b0*exp(b1*x[i]))**2)
enddo
let SSE(1) = se
#iterasi gauss newton
let maxiter = 100
let eps =10**(-6)
do kk=2:maxiter
do i=1:n
let f[i]=b0*exp(b1*x[i])
let y0[i]=y[i]-f[i]
let D0[i]=exp(b1*x[i])
let D1[i]=b0*x[i]*exp(b1*x[i])
enddo
copy D0 D1 mx
35. 35
tran mx xt
mult xt mx xtx
inve xtx xtx1
mult xt y0 xty
mult xtx1 xty mbeta
copy mbeta beta
print beta
let del0=beta(1)
let del1=beta(2)
let del00(kk-1)=del0
let del11(kk-1)=del1
let b0=b0+del0
let b1=b1+del1
let b00(kk)=b0
let b11(kk)=b1
let se=0
do i=1:n
let se=se+((y[i]-b0*exp(b1*x[i]))**2)
enddo
let SSE(kk)=se
#kriteria pemberhentian
let er(kk) = sqrt((b00(kk)-b00(kk-
1))**2+(b11(kk)-b11(kk-1))**2)
if er(kk)<eps
BREAK
endif
enddo
name SSE"SSE"
name b00"beta0"
name b11"beta1"
copy b00 b11 bbb
print bbb SSE er
endmacro
==========================
Regresi Jacknife
#REGRESI PAKEK JCKNIFE
macro
bootjack y x1 x2 x3 x4
mconstant n i k a b
mconstant ta tb ala alb vif e2 see dw dw2
eei sea seb bo is ns mca mcb az bz
mconstant b1 b2 b3 b4 b0 b0_j b1_j b2_j
b3_j b4_j sdb0_j sdb1_j sdb2_j sdb3_j
sdb4_j
mcolumn x1s x2s x3s x4s x11 x12 x13 x14
ys beta_j b0j b1j b2j b3j b4j x1 x2 x3 x4 y1
mcolumn y beta ms satu stu
mmatrices my mx yt xt xtx xtx1 xty mbeta
mvar
#beta data
let n=count(y)
do i=1:n
let satu(i)=1
enddo
copy y my
copy satu x1 x2 x3 x4 mx
tran mx xt
mult xt mx xtx
inve xtx xtx1
mult xt my xty
mult xtx1 xty mbeta
copy mbeta beta
#sampel n y-x4 y1-x14.
let b0=beta(1)
let b1=beta(2)
let b2=beta(3)
let b3=beta(4)
let b4=beta(5)
print b0 b1 b2 b3 b4
36. 36
do i=1:n
let x1s=x1
let x2s=x2
let x3s=x3
let x4s=x4
let ys=y
let stu=satu
delete i stu x1s x2s x3s x4s ys
copy ys my
copy stu x1s x2s x3s x4s mx
tran mx xt
mult xt mx xtx
inve xtx xtx1
mult xt my xty
mult xtx1 xty mbeta
copy mbeta beta_j
let b0j(i)=beta_j(1)
let b1j(i)=beta_j(2)
let b2j(i)=beta_j(3)
let b3j(i)=beta_j(4)
let b4j(i)=beta_j(5)
enddo
let b0_j=mean(b0j)
let b1_j=mean(b1j)
let b2_j=mean(b2j)
let b3_j=mean(b3j)
let b4_j=mean(b4j)
let sdb0_j=stdev(b0j)
let sdb1_j=stdev(b1j)
let sdb2_j=stdev(b2j)
let sdb3_j=stdev(b3j)
let sdb4_j=stdev(b4j)
print b0_j b1_j b2_j b3_j b4_j sdb0_j sdb1_j
sdb2_j sdb3_j sdb4_j b0 b1 b2 b3 b4
endmacro