Beruflich Dokumente
Kultur Dokumente
> alpha=c()
> E=c()
> M=c()
> e=c()
> for (i in 2:n)
+{
+ F[2]=initialF
+ alpha[2:4]=initial_alpha
+ E[1]=initialE
+ M[1]=initialM
+
+ F[i+1]=alpha[i]*x[i]+(1-alpha[i])*F[i]
+ e[i]=x[i]-F[i]
+ E[i]=beta*e[i]+(1-beta)*E[i-1]
+ M[i]=beta*abs(e[i])+(1-beta)*M[i-1]
+ alpha[i+1]=abs(E[i]/M[i])
+}
>F
[1]
Metode Holt
> x<c(143,152,161,139,137,174,142,141,162,180,164,171,206,193,207,218,229,225,204,227,223,24
2,239,266)
> n<-length(x)
> initial<-x[1:3]
> alpha<-0.2
> gamma<-0.3
> b1<-x[2]-x[1]
> b2<-x[3]-x[2]
> b3<-gamma*(x[2]-x[1])+(1-gamma)*b2
>
> bt<-c()
> F<-c()
> forecast<-c()
> forecasta<-c()
> forecastb<-c()
> forecastc<-c()
> forecastd<-c()
> forecaste<-c()
> for (i in 4:n)
+{
+ F[1:3]<-initial
+ bt[1:3]<-c(b1,b2,b3)
+
+ F[i]<-alpha*x[i]+(1-alpha)*(F[i-1]+bt[i-1])
+ bt[i]<-gamma*(F[i]-F[i-1])+(1-gamma)*bt[i-1]
+ forecast[i]<-F[i]+bt[i] #forecast satu pengamatan ke 1
+ forecasta[i]<-F[i]+bt[i]*2
+ forecastb[i]<-F[i]+bt[i]*3
+ forecastc[i]<-F[i]+bt[i]*4
+ forecastd[i]<-F[i]+bt[i]*5
+ forecaste[i]<-F[i]+bt[i]*6
+
+}
>F
[1] 143.0000 152.0000 161.0000 163.8000 164.1520 170.2045 168.8742
[8] 165.9975 166.3963 170.0516 170.3727 171.6472 179.6280 184.9950
[15] 192.5688 201.6938 212.1721 220.7645 223.6925 229.4533 233.1148
[22] 239.2371 243.7007 252.3896
> bt
[1] 9.000000 9.000000 9.000000 7.140000 5.103600 5.388264 3.372699
[8] 1.497886 1.168162 1.914293 1.436340 1.387797 3.365695 3.966072
[15] 5.048409 6.271374 7.533464 7.851128 6.374191 6.190191 5.431578
[22] 5.638794 5.286239 6.307021
> forecasttotal<-c(forecast[n],forecasta[n],forecastb[n],forecastc[n],forecastd[n],forecaste[n])
> forecasttotal
[1] 258.6966 265.0036 271.3106 277.6177 283.9247 290.2317
Metode Winters
> x<c(362,385,432,341,382,409,498,387,437,513,582,474,544,582,681,557,628,707,773,592,627,72
5,854,661)
> y<-ts(x,start=c(1970,1),frequency=4)
> m<-HoltWinters(y,alpha=0.2,beta=0.05,gamma=0.1,seasonal="multiplicative")
> p<-predict(m,4,prediction.interval=TRUE)
> plot(m,p)
>p
fit
upr
lwr
> y<-ts(x,start=c(1970,1),frequency=12)
>y
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
1970 362 385 432 341 382 409 498 387 437 513 582 474
1971 544 582 681 557 628 707 773 592 627 725 854 661
> y<-ts(x,start=c(1970,2),frequency=12)
>y
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
1970
362 385 432 341 382 409 498 387 437 513 582
1971 474 544 582 681 557 628 707 773 592 627 725 854
1972 661
>
700
600
500
400
Observed / Fitted
800
900
Holt-Winters filtering
1971
1972
1973
1974
Time
1975
1976