R version 2.12.0 (2010-10-15) Copyright (C) 2010 The R Foundation for Statistical Computing ISBN 3-900051-07-0 Platform: i486-pc-linux-gnu (32-bit) R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > x <- c(1.3866 + ,1.3582 + ,1.3332 + ,1.3595 + ,1.3617 + ,1.3684 + ,1.3394 + ,1.3262 + ,1.3173 + ,1.3085 + ,1.327 + ,1.3182 + ,1.293 + ,1.291 + ,1.2984 + ,1.2795 + ,1.299 + ,1.3174 + ,1.326 + ,1.3111 + ,1.2816 + ,1.276 + ,1.2849 + ,1.2818 + ,1.2829 + ,1.2796 + ,1.3008 + ,1.2967 + ,1.2938 + ,1.2833 + ,1.2823 + ,1.2765 + ,1.2634 + ,1.2596 + ,1.2705 + ,1.2591 + ,1.2798 + ,1.2763 + ,1.2795 + ,1.2782 + ,1.2644 + ,1.2596 + ,1.2615 + ,1.2555 + ,1.2555 + ,1.2658 + ,1.2565 + ,1.2783 + ,1.2786 + ,1.2782 + ,1.2905 + ,1.3042 + ,1.2942 + ,1.313 + ,1.3671 + ,1.3549 + ,1.3558 + ,1.3507 + ,1.3494 + ,1.3607 + ,1.3295 + ,1.3193 + ,1.3308 + ,1.3246 + ,1.3392 + ,1.3425 + ,1.3496 + ,1.3255 + ,1.3231 + ,1.3273 + ,1.3276 + ,1.3173 + ,1.3196 + ,1.3058 + ,1.2966 + ,1.2932 + ,1.2947 + ,1.305 + ,1.3232 + ,1.3125 + ,1.2992 + ,1.3266 + ,1.3275 + ,1.3223 + ,1.3403 + ,1.3322 + ,1.3363 + ,1.3425 + ,1.3574 + ,1.3683 + ,1.3623 + ,1.3563 + ,1.3518 + ,1.3494 + ,1.3612 + ,1.369 + ,1.3771 + ,1.3972 + ,1.401 + ,1.3908 + ,1.3901 + ,1.3856 + ,1.4098 + ,1.422 + ,1.4238 + ,1.4207 + ,1.4095 + ,1.4177 + ,1.3866 + ,1.3959 + ,1.4102 + ,1.3969 + ,1.4004 + ,1.385 + ,1.389 + ,1.384 + ,1.392 + ,1.3932 + ,1.3858 + ,1.3978 + ,1.4029 + ,1.394 + ,1.4096 + ,1.4058 + ,1.4134 + ,1.4096 + ,1.4049 + ,1.4009 + ,1.3897 + ,1.4019 + ,1.3901 + ,1.399 + ,1.3901 + ,1.3975 + ,1.3991 + ,1.4089 + ,1.413 + ,1.409 + ,1.4217 + ,1.4223 + ,1.4191 + ,1.4229 + ,1.4227 + ,1.4269 + ,1.4229 + ,1.4104 + ,1.4053 + ,1.4138 + ,1.4303 + ,1.4384 + ,1.441 + ,1.437 + ,1.4357 + ,1.4202 + ,1.4166 + ,1.417 + ,1.4293 + ,1.4294 + ,1.4072 + ,1.4101 + ,1.4112 + ,1.4243 + ,1.433 + ,1.4323 + ,1.4324 + ,1.427 + ,1.4268 + ,1.4364 + ,1.4272 + ,1.4314 + ,1.422 + ,1.4335 + ,1.4262 + ,1.433 + ,1.4473 + ,1.4522 + ,1.4545 + ,1.4594 + ,1.4561 + ,1.4611 + ,1.4671 + ,1.4712 + ,1.4705 + ,1.4658 + ,1.478 + ,1.4783 + ,1.4768 + ,1.467 + ,1.465 + ,1.4549 + ,1.4643 + ,1.4539 + ,1.4537 + ,1.4616 + ,1.4722 + ,1.4694 + ,1.4763 + ,1.475 + ,1.4765 + ,1.4864 + ,1.4881 + ,1.4864 + ,1.4869 + ,1.4918 + ,1.4971 + ,1.4921 + ,1.5 + ,1.502 + ,1.5019 + ,1.4874 + ,1.4785 + ,1.4788 + ,1.48 + ,1.4772 + ,1.4658 + ,1.4761 + ,1.4867 + ,1.4862 + ,1.4984 + ,1.4966 + ,1.5037 + ,1.4922 + ,1.4868 + ,1.4965 + ,1.4875 + ,1.4957 + ,1.4863 + ,1.4815 + ,1.4968 + ,1.4969 + ,1.5083 + ,1.5071 + ,1.4918 + ,1.5023 + ,1.5074 + ,1.509 + ,1.512 + ,1.5068 + ,1.4787 + ,1.4774 + ,1.4768 + ,1.473 + ,1.4757 + ,1.4647 + ,1.4541 + ,1.456 + ,1.4343 + ,1.4337 + ,1.4368 + ,1.4279 + ,1.4276 + ,1.4398 + ,1.4405 + ,1.4433 + ,1.4338 + ,1.4406 + ,1.4389 + ,1.4442 + ,1.435 + ,1.4304 + ,1.4273 + ,1.4528 + ,1.4481 + ,1.4563 + ,1.4486 + ,1.4374 + ,1.4369 + ,1.4279 + ,1.4132 + ,1.4064 + ,1.4135 + ,1.4151 + ,1.4085 + ,1.4072 + ,1.3999 + ,1.3966 + ,1.3913 + ,1.3937 + ,1.3984 + ,1.3847 + ,1.3691 + ,1.3675 + ,1.376 + ,1.374 + ,1.3718 + ,1.3572 + ,1.3607 + ,1.3649 + ,1.3726 + ,1.3567 + ,1.3519 + ,1.3626 + ,1.3577 + ,1.3547 + ,1.3489 + ,1.357 + ,1.3525 + ,1.3548 + ,1.3641 + ,1.3668 + ,1.3582 + ,1.3662 + ,1.3557 + ,1.361 + ,1.3657 + ,1.3765 + ,1.3705 + ,1.3723 + ,1.3756 + ,1.366 + ,1.3548 + ,1.3471 + ,1.3519 + ,1.3338 + ,1.3356 + ,1.3353 + ,1.3471 + ,1.3482 + ,1.3479 + ,1.3468 + ,1.3396 + ,1.334 + ,1.3296 + ,1.3384 + ,1.3585 + ,1.3583 + ,1.3615 + ,1.3544 + ,1.3535 + ,1.3432 + ,1.3486 + ,1.3373 + ,1.3339 + ,1.3311 + ,1.3321 + ,1.329 + ,1.3245 + ,1.3256 + ,1.3315 + ,1.3238 + ,1.3089 + ,1.2924 + ,1.2727 + ,1.2746 + ,1.2969 + ,1.2698 + ,1.2686 + ,1.2587 + ,1.2492 + ,1.2349 + ,1.2428 + ,1.227 + ,1.2334 + ,1.2497 + ,1.236 + ,1.2223 + ,1.2309 + ,1.2255 + ,1.2384 + ,1.2307 + ,1.2155 + ,1.2218 + ,1.2268 + ,1.206 + ,1.1959 + ,1.1942 + ,1.201 + ,1.2045 + ,1.2127 + ,1.2249 + ,1.2258 + ,1.2277 + ,1.2363 + ,1.2372 + ,1.2391 + ,1.2258 + ,1.2271 + ,1.2262 + ,1.2294 + ,1.2339 + ,1.2198 + ,1.2271 + ,1.2328 + ,1.2548 + ,1.2531 + ,1.2579 + ,1.2567 + ,1.266 + ,1.2637 + ,1.2572 + ,1.2569 + ,1.2703 + ,1.2828 + ,1.3 + ,1.2957 + ,1.2844 + ,1.2817 + ,1.285 + ,1.2897 + ,1.2931 + ,1.3033 + ,1.2992 + ,1.3069 + ,1.3028 + ,1.3073 + ,1.3221 + ,1.3206 + ,1.3184 + ,1.3176 + ,1.3253 + ,1.3133 + ,1.3016 + ,1.279 + ,1.2799 + ,1.282 + ,1.286 + ,1.288 + ,1.2836 + ,1.2711 + ,1.2704 + ,1.2611 + ,1.2613 + ,1.2693 + ,1.2713 + ,1.27 + ,1.268 + ,1.28 + ,1.2818 + ,1.2834 + ,1.2874 + ,1.2744 + ,1.2697 + ,1.2715 + ,1.2725 + ,1.2801 + ,1.285 + ,1.2989 + ,1.3078 + ,1.306 + ,1.3074 + ,1.312 + ,1.3364 + ,1.3323 + ,1.3412 + ,1.3477 + ,1.346 + ,1.3611 + ,1.3648 + ,1.3726 + ,1.3705 + ,1.378 + ,1.3856 + ,1.397 + ,1.3874 + ,1.3936 + ,1.3833 + ,1.3958 + ,1.4101 + ,1.4089 + ,1.3896 + ,1.3859 + ,1.3861 + ,1.4016 + ,1.3934 + ,1.4031 + ,1.3912 + ,1.3803 + ,1.3857 + ,1.3857 + ,1.3926 + ,1.4018 + ,1.4014 + ,1.4244 + ,1.4084 + ,1.3917 + ,1.3945 + ,1.377 + ,1.37 + ,1.3711 + ,1.3626 + ,1.3612 + ,1.3481 + ,1.3647 + ,1.3674 + ,1.3647 + ,1.3496 + ,1.3339 + ,1.3321 + ,1.3225 + ,1.3146 + ,1.2998) > par3 = 'additive' > par2 = 'Double' > par1 = '5' > par1 <- 5 > if (par2 == 'Single') K <- 1 > if (par2 == 'Double') K <- 2 > if (par2 == 'Triple') K <- par1 > nx <- length(x) > nxmK <- nx - K > x <- ts(x, frequency = par1) > if (par2 == 'Single') fit <- HoltWinters(x, gamma=F, beta=F) > if (par2 == 'Double') fit <- HoltWinters(x, gamma=F) > if (par2 == 'Triple') fit <- HoltWinters(x, seasonal=par3) > fit Holt-Winters exponential smoothing with trend and without seasonal component. Call: HoltWinters(x = x, gamma = F) Smoothing parameters: alpha: 0.9784252 beta : 0.1108248 gamma: FALSE Coefficients: [,1] a 1.300014263 b -0.006020177 > myresid <- x - fit$fitted[,'xhat'] > postscript(file="/var/www/rcomp/tmp/1y1mh1293329583.ps",horizontal=F,onefile=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) > op <- par(mfrow=c(2,1)) > plot(fit,ylab='Observed (black) / Fitted (red)',main='Interpolation Fit of Exponential Smoothing') > plot(myresid,ylab='Residuals',main='Interpolation Prediction Errors') > par(op) > dev.off() null device 1 > postscript(file="/var/www/rcomp/tmp/2rb321293329583.ps",horizontal=F,onefile=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) > p <- predict(fit, par1, prediction.interval=TRUE) > np <- length(p[,1]) > plot(fit,p,ylab='Observed (black) / Fitted (red)',main='Extrapolation Fit of Exponential Smoothing') > dev.off() null device 1 > postscript(file="/var/www/rcomp/tmp/3rb321293329583.ps",horizontal=F,onefile=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) > op <- par(mfrow = c(2,2)) > acf(as.numeric(myresid),lag.max = nx/2,main='Residual ACF') > spectrum(myresid,main='Residals Periodogram') > cpgram(myresid,main='Residal Cumulative Periodogram') > qqnorm(myresid,main='Residual Normal QQ Plot') > qqline(myresid) > par(op) > dev.off() null device 1 > > #Note: the /var/www/rcomp/createtable file can be downloaded at http://www.wessa.net/cretab > load(file="/var/www/rcomp/createtable") > > a<-table.start() > a<-table.row.start(a) > a<-table.element(a,'Estimated Parameters of Exponential Smoothing',2,TRUE) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,'Parameter',header=TRUE) > a<-table.element(a,'Value',header=TRUE) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,'alpha',header=TRUE) > a<-table.element(a,fit$alpha) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,'beta',header=TRUE) > a<-table.element(a,fit$beta) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,'gamma',header=TRUE) > a<-table.element(a,fit$gamma) > a<-table.row.end(a) > a<-table.end(a) > table.save(a,file="/var/www/rcomp/tmp/4nkjb1293329583.tab") > a<-table.start() > a<-table.row.start(a) > a<-table.element(a,'Interpolation Forecasts of Exponential Smoothing',4,TRUE) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,'t',header=TRUE) > a<-table.element(a,'Observed',header=TRUE) > a<-table.element(a,'Fitted',header=TRUE) > a<-table.element(a,'Residuals',header=TRUE) > a<-table.row.end(a) > for (i in 1:nxmK) { + a<-table.row.start(a) + a<-table.element(a,i+K,header=TRUE) + a<-table.element(a,x[i+K]) + a<-table.element(a,fit$fitted[i,'xhat']) + a<-table.element(a,myresid[i]) + a<-table.row.end(a) + } > a<-table.end(a) > table.save(a,file="/var/www/rcomp/tmp/5yc0e1293329583.tab") > a<-table.start() > a<-table.row.start(a) > a<-table.element(a,'Extrapolation Forecasts of Exponential Smoothing',4,TRUE) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,'t',header=TRUE) > a<-table.element(a,'Forecast',header=TRUE) > a<-table.element(a,'95% Lower Bound',header=TRUE) > a<-table.element(a,'95% Upper Bound',header=TRUE) > a<-table.row.end(a) > for (i in 1:np) { + a<-table.row.start(a) + a<-table.element(a,nx+i,header=TRUE) + a<-table.element(a,p[i,'fit']) + a<-table.element(a,p[i,'lwr']) + a<-table.element(a,p[i,'upr']) + a<-table.row.end(a) + } > a<-table.end(a) > table.save(a,file="/var/www/rcomp/tmp/61cyk1293329583.tab") > > try(system("convert tmp/1y1mh1293329583.ps tmp/1y1mh1293329583.png",intern=TRUE)) character(0) > try(system("convert tmp/2rb321293329583.ps tmp/2rb321293329583.png",intern=TRUE)) character(0) > try(system("convert tmp/3rb321293329583.ps tmp/3rb321293329583.png",intern=TRUE)) character(0) > > > proc.time() user system elapsed 4.06 0.41 4.46