Você está na página 1de 22

ADW 17 okt 2012

> ##DEKOMPOSISI##
> x=read.table("J:/datatime.txt",header=TRUE) diinput dari excel
>x
contoh
1

894

667

858

865

989

6 1093
7 1191
8 1159
9 1046
10 1191
11 1203
12 1121
13 931
14 874
15 937
16 952
17 997
18 1178
19 1404
20 1327

21 1247
22 1302
23 1205
24 1234
25 900
26 859
27 927
28 1038
29 1058
30 1397
31 1476
32 1393
33 1316
34 1353
35 1267
36 1300
37 983
38 757
39 950
40 1056
41 1213
42 1329
43 1476
44 1473
45 1368

46 1419
47 1493
48 1123
49 1105
50 931
51 1033
52 912
53 1154
54 1271
55 1539
56 1575
57 1325
58 1423
59 1492
60 1327
61 960
62 954
63 996
64 1194
65 1401
66 1328
67 1760
68 1588
69 1461
70 1640

71 1439
72 1491
>n
[1] 72
>s
[1] 12
> mean(x)
contoh
1195.667
> sd(x)
contoh
237.79
>
> x=x[,1]
> n=length(x)
> s=12
> MA12=c()
> for(i in 1:n)
+{
+ MA12[i]=mean(x[i:(s+i-1)])
+ MA12=MA12[1:(n-s+1)]
+}
> MA12
[1] 1023.083 1026.167 1043.417 1050.000 1057.250 1057.917 1065.000 1082.750
[9] 1096.750 1113.500 1122.750 1122.917 1132.333 1129.750 1128.500 1127.667

[17] 1134.833 1139.917 1158.167 1164.167 1169.667 1175.417 1179.667 1184.833


[25] 1190.333 1197.250 1188.750 1190.667 1192.167 1205.083 1199.417 1199.417
[33] 1206.083 1210.417 1215.917 1234.750 1220.000 1230.167 1244.667 1251.583
[41] 1239.583 1234.667 1229.833 1235.083 1243.583 1240.000 1240.333 1240.250
[49] 1257.250 1245.167 1247.083 1244.000 1267.500 1288.083 1292.833 1311.250
[57] 1312.333 1323.667 1341.750 1337.333 1351.000
> rasio=c()
> for(i in ((s/2)+1):n)
+{
+ rasio[i]=(x[i]/MA12[i-((s/2)+1)+1])*100
+}
> rasio
[1]

NA

NA

NA

NA

NA

NA 116.41280

[8] 112.94462 100.24758 113.42857 113.78576 105.96298 87.41784 80.72039


[15] 85.43424 85.49618 88.79982 104.90538 123.99176 117.45961 110.50066
[22] 115.45965 106.18299 108.25353 77.70902 73.78669 79.25335 88.30911
[29] 89.68635 117.90688 123.99888 116.34997 110.70452 113.63382 106.27709
[36] 107.87636 81.95651 63.11401 78.76736 87.24269 99.76013 107.63312
[43] 120.98361 119.73987 109.90894 113.37639 120.44370 90.95572 89.84957
[50] 75.37953 83.06641 73.54839 93.03951 102.47934 122.41002 126.48909
[57] 106.24791 114.38907 117.71203 103.02128 74.25551 72.75500 75.89535
[64] 90.20398 104.41587 99.30209 130.27387
[71]

NA

NA

>
> #NEWRASIO##

NA

NA

NA

> Newrasio=ts(rasio,start=c(1971,1),frequency=s)
> Newrasio
Jan
1971

Feb
NA

NA

Mar
NA

Apr
NA

May
NA

Jun

Jul

NA 116.41280

1972 87.41784 80.72039 85.43424 85.49618 88.79982 104.90538 123.99176


1973 77.70902 73.78669 79.25335 88.30911 89.68635 117.90688 123.99888
1974 81.95651 63.11401 78.76736 87.24269 99.76013 107.63312 120.98361
1975 89.84957 75.37953 83.06641 73.54839 93.03951 102.47934 122.41002
1976 74.25551 72.75500 75.89535 90.20398 104.41587 99.30209 130.27387
Aug

Sep

Oct

Nov

Dec

1971 112.94462 100.24758 113.42857 113.78576 105.96298


1972 117.45961 110.50066 115.45965 106.18299 108.25353
1973 116.34997 110.70452 113.63382 106.27709 107.87636
1974 119.73987 109.90894 113.37639 120.44370 90.95572
1975 126.48909 106.24791 114.38907 117.71203 103.02128
1976

NA

> Jan=c()
> Feb=c()
> Maret=c()
> April=c()
> Mei=c()
> Juni=c()
> Juli=c()
> Agust=c()
> Sept=c()

NA

NA

NA

NA

> Oct=c()
> Nov=c()
> Des=c()
> for(i in 1:(n/s))
+{
+ Jan[i]=Newrasio[i*s+1]
+ Feb[i]=Newrasio[i*s+2]
+ Maret[i]=Newrasio[i*s+3]
+ April[i]=Newrasio[i*s+4]
+ Mei[i]=Newrasio[i*s+5]
+ Juni[i]=Newrasio[i*s+6]
+ Juli[i]=Newrasio[i*s+7]
+ Agust[i]=Newrasio[i*s+8]
+ Sept[i]=Newrasio[i*s+9]
+ Oct[i]=Newrasio[i*s+10]
+ Nov[i]=Newrasio[i*s+11]
+ Des[i]=Newrasio[i*s+12]
+}
> library(tseries)
>
> Jan=na.remove(Jan)
> Feb=na.remove(Feb)
> Maret=na.remove(Maret)
> April=na.remove(April)
> Mei=na.remove(Mei)

> Juni=na.remove(Juni)
> Juli=na.remove(Juli)
> Agust=na.remove(Agust)
> Sept=na.remove(Sept)
> Oct=na.remove(Oct)
> Nov=na.remove(Nov)
> Des=na.remove(Des)
> Jan
[1] 87.41784 77.70902 81.95651 89.84957 74.25551
attr(,"na.removed")
[1] 6
> Feb
[1] 80.72039 73.78669 63.11401 75.37953 72.75500
attr(,"na.removed")
[1] 6
> Maret
[1] 85.43424 79.25335 78.76736 83.06641 75.89535
attr(,"na.removed")
[1] 6
> April
[1] 85.49618 88.30911 87.24269 73.54839 90.20398
attr(,"na.removed")
[1] 6
> Mei
[1] 88.79982 89.68635 99.76013 93.03951 104.41587

attr(,"na.removed")
[1] 6
> Juni
[1] 104.90538 117.90688 107.63312 102.47934 99.30209
attr(,"na.removed")
[1] 6
> Juli
[1] 123.9918 123.9989 120.9836 122.4100 130.2739
attr(,"na.removed")
[1] 6
> Agust
[1] 117.4596 116.3500 119.7399 126.4891
attr(,"na.removed")
[1] 5 6
> Sept
[1] 110.5007 110.7045 109.9089 106.2479
attr(,"na.removed")
[1] 5 6
> Oct
[1] 115.4597 113.6338 113.3764 114.3891
attr(,"na.removed")
[1] 5 6
> Nov
[1] 106.1830 106.2771 120.4437 117.7120
attr(,"na.removed")

[1] 5 6
> Des
[1] 108.25353 107.87636 90.95572 103.02128
attr(,"na.removed")
[1] 5 6
>
> Juli=c(Newrasio[(s/2)+1],Juli)
> Agust=c(Newrasio[(s/2)+2],Agust)
> Sept=c(Newrasio[(s/2)+3],Sept)
> Oct=c(Newrasio[(s/2)+4],Oct)
> Nov=c(Newrasio[(s/2)+5],Nov)
> Des=c(Newrasio[(s/2)+6],Des)
>
> sortJan=sort(Jan)
> sortFeb=sort(Feb)
> sortMaret=sort(Maret)
> sortApril=sort(April)
> sortMei=sort(Mei)
> sortJuni=sort(Juni)
> sortJuli=sort(Juli)
> sortAgust=sort(Agust)
> sortSept=sort(Sept)
> sortOct=sort(Oct)
> sortNov=sort(Nov)
> sortDes=sort(Des)

>
> meanJan=mean(sortJan[2:4])
> meanFeb=mean(sortFeb[2:4])
> meanMaret=mean(sortMaret[2:4])
> meanApril=mean(sortApril[2:4])
> meanMei=mean(sortMei[2:4])
> meanJuni=mean(sortJuni[2:4])
> meanJuli=mean(sortJuli[2:4])
> meanAgust=mean(sortAgust[2:4])
> meanSept=mean(sortSept[2:4])
> meanOct=mean(sortOct[2:4])
> meanNov=mean(sortNov[2:4])
> meanDes=mean(sortDes[2:4])
> meanDes
[1] 105.6202
> meanJan
[1] 82.36112
>
> penyesuaian=100*s
>
medial=c(meanJan,meanFeb,meanMaret,meanApril,meanMei,meanJuni,meanJuli,meanAgust,meanSept
,meanOct,meanNov,meanDes)
> meanmedial=mean(medial)
>
> FaktorPenyesuaian=(penyesuaian)/(meanmedial*s)
> Indeksmusiman=FaktorPenyesuaian*medial

> Indeksmusiman
[1] 82.08016 73.72139 80.08823 86.71915 93.84078 104.64774 122.04404
[8] 117.44779 108.51439 113.42888 112.20754 105.25990
>
> ##PENENTUAN TREND##
> t=c(1:n)
> lm(x~t)

Call:
lm(formula = x ~ t)

Coefficients:
(Intercept)
975.373

t
6.035

> alpha=lm(x~t)$coef[1]
> betha=lm(x~t)$coef[2]
> trend=c()
> for(i in ((s/2+1):(n-((s/2)-1))))
+{
+ trend[i]=alpha+betha*t[i]
+}
> trend
[1]

NA

NA

NA

NA

NA

NA 1017.621 1023.657

[9] 1029.692 1035.728 1041.763 1047.798 1053.834 1059.869 1065.905 1071.940

[17] 1077.976 1084.011 1090.047 1096.082 1102.117 1108.153 1114.188 1120.224


[25] 1126.259 1132.295 1138.330 1144.365 1150.401 1156.436 1162.472 1168.507
[33] 1174.543 1180.578 1186.614 1192.649 1198.684 1204.720 1210.755 1216.791
[41] 1222.826 1228.862 1234.897 1240.932 1246.968 1253.003 1259.039 1265.074
[49] 1271.110 1277.145 1283.180 1289.216 1295.251 1301.287 1307.322 1313.358
[57] 1319.393 1325.429 1331.464 1337.499 1343.535 1349.570 1355.606 1361.641
[65] 1367.677 1373.712 1379.747
>
> newtrend=na.remove(trend)
> newtrend
[1] 1017.621 1023.657 1029.692 1035.728 1041.763 1047.798 1053.834 1059.869
[9] 1065.905 1071.940 1077.976 1084.011 1090.047 1096.082 1102.117 1108.153
[17] 1114.188 1120.224 1126.259 1132.295 1138.330 1144.365 1150.401 1156.436
[25] 1162.472 1168.507 1174.543 1180.578 1186.614 1192.649 1198.684 1204.720
[33] 1210.755 1216.791 1222.826 1228.862 1234.897 1240.932 1246.968 1253.003
[41] 1259.039 1265.074 1271.110 1277.145 1283.180 1289.216 1295.251 1301.287
[49] 1307.322 1313.358 1319.393 1325.429 1331.464 1337.499 1343.535 1349.570
[57] 1355.606 1361.641 1367.677 1373.712 1379.747
attr(,"na.removed")
[1] 1 2 3 4 5 6
> medial
[1] 82.36112 73.97374 80.36237 87.01599 94.16199 105.00595 122.46180
[8] 117.84982 108.88584 113.81715 112.59163 105.62021
> meanmedial=mean(medial)
> meanmedial

[1] 100.3423
>
> n1=length(newtrend)
> FaktorSiklus=c()
> for(i in 1:n1)
+{
+ FaktorSiklus[i]=(MA12[i]/newtrend[i])*100
+}
> FaktorSiklus
[1] 100.53675 100.24519 101.33287 101.37801 101.48661 100.96566 101.05957
[8] 102.15882 102.89381 103.87706 104.15356 103.58904 103.87936 103.07167
[15] 102.39381 101.76093 101.85292 101.75795 102.83305 102.81482 102.75286
[22] 102.71340 102.54396 102.45556 102.39675 102.45979 101.20961 100.85455
[29] 100.46798 101.04259 100.06109 99.55980 99.61413 99.47616 99.43496
[36] 100.47918 98.79366 99.13244 99.81546 99.88667 98.45474 97.59638
[43] 96.75274 96.70658 96.91414 96.18249 95.76005 95.30950 96.16986
[50] 94.80789 94.51947 93.85644 95.19597 96.30534 96.22626 97.16056
[57] 96.80789 97.21112 98.10433 97.35180 97.91647
> ts(FaktorSiklus,c(1971,1),frequency=12)
Jan

Feb

Mar

Apr

May

Jun

Jul

1971 100.53675 100.24519 101.33287 101.37801 101.48661 100.96566 101.05957


1972 103.87936 103.07167 102.39381 101.76093 101.85292 101.75795 102.83305
1973 102.39675 102.45979 101.20961 100.85455 100.46798 101.04259 100.06109
1974 98.79366 99.13244 99.81546 99.88667 98.45474 97.59638 96.75274
1975 96.16986 94.80789 94.51947 93.85644 95.19597 96.30534 96.22626

1976 97.91647
Aug

Sep

Oct

Nov

Dec

1971 102.15882 102.89381 103.87706 104.15356 103.58904


1972 102.81482 102.75286 102.71340 102.54396 102.45556
1973 99.55980 99.61413 99.47616 99.43496 100.47918
1974 96.70658 96.91414 96.18249 95.76005 95.30950
1975 97.16056 96.80789 97.21112 98.10433 97.35180
1976
> ForecastJ1977=(alpha+betha*(n+1))*(Indeksmusiman[1]/100)*0.982
> ForecastF1977=(alpha+betha*(n+2))*(Indeksmusiman[2]/100)*0.986
> ForecastJ1977
(Intercept)
1141.302
> ForecastF1977
(Intercept)
1033.638

SYNTAX
##DEKOMPOSISI##
x=read.table("J:/datatime.txt",header=TRUE)
x
n
s
mean(x)
sd(x)

x=x[,1]
n=length(x)
s=12
MA12=c()
for(i in 1:n)
{
MA12[i]=mean(x[i:(s+i-1)])
MA12=MA12[1:(n-s+1)]
}
MA12
rasio=c()
for(i in ((s/2)+1):n)
{
rasio[i]=(x[i]/MA12[i-((s/2)+1)+1])*100
}
rasio

#NEWRASIO##
Newrasio=ts(rasio,start=c(1971,1),frequency=s)
Newrasio
Jan=c()
Feb=c()
Maret=c()
April=c()

Mei=c()
Juni=c()
Juli=c()
Agust=c()
Sept=c()
Oct=c()
Nov=c()
Des=c()
for(i in 1:(n/s))
{
Jan[i]=Newrasio[i*s+1]
Feb[i]=Newrasio[i*s+2]
Maret[i]=Newrasio[i*s+3]
April[i]=Newrasio[i*s+4]
Mei[i]=Newrasio[i*s+5]
Juni[i]=Newrasio[i*s+6]
Juli[i]=Newrasio[i*s+7]
Agust[i]=Newrasio[i*s+8]
Sept[i]=Newrasio[i*s+9]
Oct[i]=Newrasio[i*s+10]
Nov[i]=Newrasio[i*s+11]
Des[i]=Newrasio[i*s+12]
}
library(tseries)

Jan=na.remove(Jan)
Feb=na.remove(Feb)
Maret=na.remove(Maret)
April=na.remove(April)
Mei=na.remove(Mei)
Juni=na.remove(Juni)
Juli=na.remove(Juli)
Agust=na.remove(Agust)
Sept=na.remove(Sept)
Oct=na.remove(Oct)
Nov=na.remove(Nov)
Des=na.remove(Des)
Jan
Feb
Maret
April
Mei
Juni
Juli
Agust
Sept
Oct
Nov
Des

Juli=c(Newrasio[(s/2)+1],Juli)
Agust=c(Newrasio[(s/2)+2],Agust)
Sept=c(Newrasio[(s/2)+3],Sept)
Oct=c(Newrasio[(s/2)+4],Oct)
Nov=c(Newrasio[(s/2)+5],Nov)
Des=c(Newrasio[(s/2)+6],Des)

sortJan=sort(Jan)
sortFeb=sort(Feb)
sortMaret=sort(Maret)
sortApril=sort(April)
sortMei=sort(Mei)
sortJuni=sort(Juni)
sortJuli=sort(Juli)
sortAgust=sort(Agust)
sortSept=sort(Sept)
sortOct=sort(Oct)
sortNov=sort(Nov)
sortDes=sort(Des)

meanJan=mean(sortJan[2:4])
meanFeb=mean(sortFeb[2:4])
meanMaret=mean(sortMaret[2:4])
meanApril=mean(sortApril[2:4])
meanMei=mean(sortMei[2:4])

meanJuni=mean(sortJuni[2:4])
meanJuli=mean(sortJuli[2:4])
meanAgust=mean(sortAgust[2:4])
meanSept=mean(sortSept[2:4])
meanOct=mean(sortOct[2:4])
meanNov=mean(sortNov[2:4])
meanDes=mean(sortDes[2:4])
meanDes
meanJan

penyesuaian=100*s
medial=c(meanJan,meanFeb,meanMaret,meanApril,meanMei,meanJuni,meanJuli,meanAgust,meanSept
,meanOct,meanNov,meanDes)
meanmedial=mean(medial)

FaktorPenyesuaian=(penyesuaian)/(meanmedial*s)
Indeksmusiman=FaktorPenyesuaian*medial
Indeksmusiman

##PENENTUAN TREND##
t=c(1:n)
lm(x~t)
alpha=lm(x~t)$coef[1]
betha=lm(x~t)$coef[2]
trend=c()
for(i in ((s/2+1):(n-((s/2)-1))))

{
trend[i]=alpha+betha*t[i]
}
trend

newtrend=na.remove(trend)
newtrend
medial
meanmedial=mean(medial)
meanmedial

n1=length(newtrend)
FaktorSiklus=c()
for(i in 1:n1)
{
FaktorSiklus[i]=(MA12[i]/newtrend[i])*100
}
FaktorSiklus
ts(FaktorSiklus,c(1971,1),frequency=12)
ForecastJ1977=(alpha+betha*(n+1))*(Indeksmusiman[1]/100)*0.982
ForecastF1977=(alpha+betha*(n+2))*(Indeksmusiman[2]/100)*0.986
ForecastJ1977
ForecastF1977

Você também pode gostar