R version 2.9.0 (2009-04-17) Copyright (C) 2009 The R Foundation for Statistical Computing ISBN 3-900051-07-0 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 <- array(list(96.9 + ,8.6 + ,8.4 + ,8.4 + ,95.1 + ,8.9 + ,8.6 + ,8.4 + ,97 + ,8.8 + ,8.9 + ,8.6 + ,112.7 + ,8.3 + ,8.8 + ,8.9 + ,102.9 + ,7.5 + ,8.3 + ,8.8 + ,97.4 + ,7.2 + ,7.5 + ,8.3 + ,111.4 + ,7.4 + ,7.2 + ,7.5 + ,87.4 + ,8.8 + ,7.4 + ,7.2 + ,96.8 + ,9.3 + ,8.8 + ,7.4 + ,114.1 + ,9.3 + ,9.3 + ,8.8 + ,110.3 + ,8.7 + ,9.3 + ,9.3 + ,103.9 + ,8.2 + ,8.7 + ,9.3 + ,101.6 + ,8.3 + ,8.2 + ,8.7 + ,94.6 + ,8.5 + ,8.3 + ,8.2 + ,95.9 + ,8.6 + ,8.5 + ,8.3 + ,104.7 + ,8.5 + ,8.6 + ,8.5 + ,102.8 + ,8.2 + ,8.5 + ,8.6 + ,98.1 + ,8.1 + ,8.2 + ,8.5 + ,113.9 + ,7.9 + ,8.1 + ,8.2 + ,80.9 + ,8.6 + ,7.9 + ,8.1 + ,95.7 + ,8.7 + ,8.6 + ,7.9 + ,113.2 + ,8.7 + ,8.7 + ,8.6 + ,105.9 + ,8.5 + ,8.7 + ,8.7 + ,108.8 + ,8.4 + ,8.5 + ,8.7 + ,102.3 + ,8.5 + ,8.4 + ,8.5 + ,99 + ,8.7 + ,8.5 + ,8.4 + ,100.7 + ,8.7 + ,8.7 + ,8.5 + ,115.5 + ,8.6 + ,8.7 + ,8.7 + ,100.7 + ,8.5 + ,8.6 + ,8.7 + ,109.9 + ,8.3 + ,8.5 + ,8.6 + ,114.6 + ,8 + ,8.3 + ,8.5 + ,85.4 + ,8.2 + ,8 + ,8.3 + ,100.5 + ,8.1 + ,8.2 + ,8 + ,114.8 + ,8.1 + ,8.1 + ,8.2 + ,116.5 + ,8 + ,8.1 + ,8.1 + ,112.9 + ,7.9 + ,8 + ,8.1 + ,102 + ,7.9 + ,7.9 + ,8 + ,106 + ,8 + ,7.9 + ,7.9 + ,105.3 + ,8 + ,8 + ,7.9 + ,118.8 + ,7.9 + ,8 + ,8 + ,106.1 + ,8 + ,7.9 + ,8 + ,109.3 + ,7.7 + ,8 + ,7.9 + ,117.2 + ,7.2 + ,7.7 + ,8 + ,92.5 + ,7.5 + ,7.2 + ,7.7 + ,104.2 + ,7.3 + ,7.5 + ,7.2 + ,112.5 + ,7 + ,7.3 + ,7.5 + ,122.4 + ,7 + ,7 + ,7.3 + ,113.3 + ,7 + ,7 + ,7 + ,100 + ,7.2 + ,7 + ,7 + ,110.7 + ,7.3 + ,7.2 + ,7 + ,112.8 + ,7.1 + ,7.3 + ,7.2 + ,109.8 + ,6.8 + ,7.1 + ,7.3 + ,117.3 + ,6.4 + ,6.8 + ,7.1 + ,109.1 + ,6.1 + ,6.4 + ,6.8 + ,115.9 + ,6.5 + ,6.1 + ,6.4 + ,96 + ,7.7 + ,6.5 + ,6.1 + ,99.8 + ,7.9 + ,7.7 + ,6.5 + ,116.8 + ,7.5 + ,7.9 + ,7.7 + ,115.7 + ,6.9 + ,7.5 + ,7.9) + ,dim=c(4 + ,59) + ,dimnames=list(c('Y' + ,'X' + ,'Y2' + ,'Y3') + ,1:59)) > y <- array(NA,dim=c(4,59),dimnames=list(c('Y','X','Y2','Y3'),1:59)) > for (i in 1:dim(x)[1]) + { + for (j in 1:dim(x)[2]) + { + y[i,j] <- as.numeric(x[i,j]) + } + } > par3 = 'Linear Trend' > par2 = 'Include Monthly Dummies' > par1 = '2' > #'GNU S' R Code compiled by R2WASP v. 1.0.44 () > #Author: Prof. Dr. P. Wessa > #To cite this work: AUTHOR(S), (YEAR), YOUR SOFTWARE TITLE (vNUMBER) in Free Statistics Software (v$_version), Office for Research Development and Education, URL http://www.wessa.net/rwasp_YOURPAGE.wasp/ > #Source of accompanying publication: Office for Research, Development, and Education > #Technical description: Write here your technical program description (don't use hard returns!) > library(lattice) > library(lmtest) Loading required package: zoo Attaching package: 'zoo' The following object(s) are masked from package:base : as.Date.numeric > n25 <- 25 #minimum number of obs. for Goldfeld-Quandt test > par1 <- as.numeric(par1) > x <- t(y) > k <- length(x[1,]) > n <- length(x[,1]) > x1 <- cbind(x[,par1], x[,1:k!=par1]) > mycolnames <- c(colnames(x)[par1], colnames(x)[1:k!=par1]) > colnames(x1) <- mycolnames #colnames(x)[par1] > x <- x1 > if (par3 == 'First Differences'){ + x2 <- array(0, dim=c(n-1,k), dimnames=list(1:(n-1), paste('(1-B)',colnames(x),sep=''))) + for (i in 1:n-1) { + for (j in 1:k) { + x2[i,j] <- x[i+1,j] - x[i,j] + } + } + x <- x2 + } > if (par2 == 'Include Monthly Dummies'){ + x2 <- array(0, dim=c(n,11), dimnames=list(1:n, paste('M', seq(1:11), sep =''))) + for (i in 1:11){ + x2[seq(i,n,12),i] <- 1 + } + x <- cbind(x, x2) + } > if (par2 == 'Include Quarterly Dummies'){ + x2 <- array(0, dim=c(n,3), dimnames=list(1:n, paste('Q', seq(1:3), sep =''))) + for (i in 1:3){ + x2[seq(i,n,4),i] <- 1 + } + x <- cbind(x, x2) + } > k <- length(x[1,]) > if (par3 == 'Linear Trend'){ + x <- cbind(x, c(1:n)) + colnames(x)[k+1] <- 't' + } > x X Y Y2 Y3 M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11 t 1 8.6 96.9 8.4 8.4 1 0 0 0 0 0 0 0 0 0 0 1 2 8.9 95.1 8.6 8.4 0 1 0 0 0 0 0 0 0 0 0 2 3 8.8 97.0 8.9 8.6 0 0 1 0 0 0 0 0 0 0 0 3 4 8.3 112.7 8.8 8.9 0 0 0 1 0 0 0 0 0 0 0 4 5 7.5 102.9 8.3 8.8 0 0 0 0 1 0 0 0 0 0 0 5 6 7.2 97.4 7.5 8.3 0 0 0 0 0 1 0 0 0 0 0 6 7 7.4 111.4 7.2 7.5 0 0 0 0 0 0 1 0 0 0 0 7 8 8.8 87.4 7.4 7.2 0 0 0 0 0 0 0 1 0 0 0 8 9 9.3 96.8 8.8 7.4 0 0 0 0 0 0 0 0 1 0 0 9 10 9.3 114.1 9.3 8.8 0 0 0 0 0 0 0 0 0 1 0 10 11 8.7 110.3 9.3 9.3 0 0 0 0 0 0 0 0 0 0 1 11 12 8.2 103.9 8.7 9.3 0 0 0 0 0 0 0 0 0 0 0 12 13 8.3 101.6 8.2 8.7 1 0 0 0 0 0 0 0 0 0 0 13 14 8.5 94.6 8.3 8.2 0 1 0 0 0 0 0 0 0 0 0 14 15 8.6 95.9 8.5 8.3 0 0 1 0 0 0 0 0 0 0 0 15 16 8.5 104.7 8.6 8.5 0 0 0 1 0 0 0 0 0 0 0 16 17 8.2 102.8 8.5 8.6 0 0 0 0 1 0 0 0 0 0 0 17 18 8.1 98.1 8.2 8.5 0 0 0 0 0 1 0 0 0 0 0 18 19 7.9 113.9 8.1 8.2 0 0 0 0 0 0 1 0 0 0 0 19 20 8.6 80.9 7.9 8.1 0 0 0 0 0 0 0 1 0 0 0 20 21 8.7 95.7 8.6 7.9 0 0 0 0 0 0 0 0 1 0 0 21 22 8.7 113.2 8.7 8.6 0 0 0 0 0 0 0 0 0 1 0 22 23 8.5 105.9 8.7 8.7 0 0 0 0 0 0 0 0 0 0 1 23 24 8.4 108.8 8.5 8.7 0 0 0 0 0 0 0 0 0 0 0 24 25 8.5 102.3 8.4 8.5 1 0 0 0 0 0 0 0 0 0 0 25 26 8.7 99.0 8.5 8.4 0 1 0 0 0 0 0 0 0 0 0 26 27 8.7 100.7 8.7 8.5 0 0 1 0 0 0 0 0 0 0 0 27 28 8.6 115.5 8.7 8.7 0 0 0 1 0 0 0 0 0 0 0 28 29 8.5 100.7 8.6 8.7 0 0 0 0 1 0 0 0 0 0 0 29 30 8.3 109.9 8.5 8.6 0 0 0 0 0 1 0 0 0 0 0 30 31 8.0 114.6 8.3 8.5 0 0 0 0 0 0 1 0 0 0 0 31 32 8.2 85.4 8.0 8.3 0 0 0 0 0 0 0 1 0 0 0 32 33 8.1 100.5 8.2 8.0 0 0 0 0 0 0 0 0 1 0 0 33 34 8.1 114.8 8.1 8.2 0 0 0 0 0 0 0 0 0 1 0 34 35 8.0 116.5 8.1 8.1 0 0 0 0 0 0 0 0 0 0 1 35 36 7.9 112.9 8.0 8.1 0 0 0 0 0 0 0 0 0 0 0 36 37 7.9 102.0 7.9 8.0 1 0 0 0 0 0 0 0 0 0 0 37 38 8.0 106.0 7.9 7.9 0 1 0 0 0 0 0 0 0 0 0 38 39 8.0 105.3 8.0 7.9 0 0 1 0 0 0 0 0 0 0 0 39 40 7.9 118.8 8.0 8.0 0 0 0 1 0 0 0 0 0 0 0 40 41 8.0 106.1 7.9 8.0 0 0 0 0 1 0 0 0 0 0 0 41 42 7.7 109.3 8.0 7.9 0 0 0 0 0 1 0 0 0 0 0 42 43 7.2 117.2 7.7 8.0 0 0 0 0 0 0 1 0 0 0 0 43 44 7.5 92.5 7.2 7.7 0 0 0 0 0 0 0 1 0 0 0 44 45 7.3 104.2 7.5 7.2 0 0 0 0 0 0 0 0 1 0 0 45 46 7.0 112.5 7.3 7.5 0 0 0 0 0 0 0 0 0 1 0 46 47 7.0 122.4 7.0 7.3 0 0 0 0 0 0 0 0 0 0 1 47 48 7.0 113.3 7.0 7.0 0 0 0 0 0 0 0 0 0 0 0 48 49 7.2 100.0 7.0 7.0 1 0 0 0 0 0 0 0 0 0 0 49 50 7.3 110.7 7.2 7.0 0 1 0 0 0 0 0 0 0 0 0 50 51 7.1 112.8 7.3 7.2 0 0 1 0 0 0 0 0 0 0 0 51 52 6.8 109.8 7.1 7.3 0 0 0 1 0 0 0 0 0 0 0 52 53 6.4 117.3 6.8 7.1 0 0 0 0 1 0 0 0 0 0 0 53 54 6.1 109.1 6.4 6.8 0 0 0 0 0 1 0 0 0 0 0 54 55 6.5 115.9 6.1 6.4 0 0 0 0 0 0 1 0 0 0 0 55 56 7.7 96.0 6.5 6.1 0 0 0 0 0 0 0 1 0 0 0 56 57 7.9 99.8 7.7 6.5 0 0 0 0 0 0 0 0 1 0 0 57 58 7.5 116.8 7.9 7.7 0 0 0 0 0 0 0 0 0 1 0 58 59 6.9 115.7 7.5 7.9 0 0 0 0 0 0 0 0 0 0 1 59 > k <- length(x[1,]) > df <- as.data.frame(x) > (mylm <- lm(df)) Call: lm(formula = df) Coefficients: (Intercept) Y Y2 Y3 M1 M2 2.919052 -0.004532 1.415409 -0.690016 0.137105 0.060706 M3 M4 M5 M6 M7 M8 -0.137858 -0.124199 -0.161449 -0.126373 -0.021384 0.575373 M9 M10 M11 t -0.398167 -0.080157 -0.105846 -0.007696 > (mysum <- summary(mylm)) Call: lm(formula = df) Residuals: Min 1Q Median 3Q Max -0.428488 -0.123343 -0.009715 0.132527 0.377236 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 2.919052 1.021101 2.859 0.00653 ** Y -0.004532 0.007543 -0.601 0.55106 Y2 1.415409 0.113061 12.519 6.21e-16 *** Y3 -0.690016 0.112329 -6.143 2.27e-07 *** M1 0.137105 0.146224 0.938 0.35367 M2 0.060706 0.150161 0.404 0.68801 M3 -0.137858 0.147784 -0.933 0.35611 M4 -0.124199 0.133191 -0.932 0.35629 M5 -0.161449 0.132865 -1.215 0.23095 M6 -0.126373 0.137069 -0.922 0.36169 M7 -0.021384 0.138145 -0.155 0.87771 M8 0.575373 0.217551 2.645 0.01137 * M9 -0.398167 0.192458 -2.069 0.04461 * M10 -0.080157 0.137849 -0.581 0.56395 M11 -0.105846 0.133625 -0.792 0.43264 t -0.007696 0.002721 -2.828 0.00708 ** --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 0.1937 on 43 degrees of freedom Multiple R-squared: 0.9466, Adjusted R-squared: 0.9279 F-statistic: 50.79 on 15 and 43 DF, p-value: < 2.2e-16 > if (n > n25) { + kp3 <- k + 3 + nmkm3 <- n - k - 3 + gqarr <- array(NA, dim=c(nmkm3-kp3+1,3)) + numgqtests <- 0 + numsignificant1 <- 0 + numsignificant5 <- 0 + numsignificant10 <- 0 + for (mypoint in kp3:nmkm3) { + j <- 0 + numgqtests <- numgqtests + 1 + for (myalt in c('greater', 'two.sided', 'less')) { + j <- j + 1 + gqarr[mypoint-kp3+1,j] <- gqtest(mylm, point=mypoint, alternative=myalt)$p.value + } + if (gqarr[mypoint-kp3+1,2] < 0.01) numsignificant1 <- numsignificant1 + 1 + if (gqarr[mypoint-kp3+1,2] < 0.05) numsignificant5 <- numsignificant5 + 1 + if (gqarr[mypoint-kp3+1,2] < 0.10) numsignificant10 <- numsignificant10 + 1 + } + gqarr + } [,1] [,2] [,3] [1,] 0.54952962 0.9009408 0.4504704 [2,] 0.38984939 0.7796988 0.6101506 [3,] 0.29683695 0.5936739 0.7031631 [4,] 0.19369896 0.3873979 0.8063010 [5,] 0.15542627 0.3108525 0.8445737 [6,] 0.14345636 0.2869127 0.8565436 [7,] 0.14108744 0.2821749 0.8589126 [8,] 0.08299020 0.1659804 0.9170098 [9,] 0.04643480 0.0928696 0.9535652 [10,] 0.03931170 0.0786234 0.9606883 [11,] 0.08023969 0.1604794 0.9197603 [12,] 0.06219451 0.1243890 0.9378055 [13,] 0.03961565 0.0792313 0.9603844 [14,] 0.22107922 0.4421584 0.7789208 [15,] 0.17748764 0.3549753 0.8225124 [16,] 0.18221891 0.3644378 0.8177811 [17,] 0.26541964 0.5308393 0.7345804 [18,] 0.29450097 0.5890019 0.7054990 [19,] 0.31428500 0.6285700 0.6857150 [20,] 0.23035725 0.4607145 0.7696427 [21,] 0.13876110 0.2775222 0.8612389 [22,] 0.15487397 0.3097479 0.8451260 > postscript(file="/var/www/html/rcomp/tmp/1bl8b1258746604.ps",horizontal=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) > plot(x[,1], type='l', main='Actuals and Interpolation', ylab='value of Actuals and Interpolation (dots)', xlab='time or index') > points(x[,1]-mysum$resid) > grid() > dev.off() null device 1 > postscript(file="/var/www/html/rcomp/tmp/2o0vs1258746604.ps",horizontal=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) > plot(mysum$resid, type='b', pch=19, main='Residuals', ylab='value of Residuals', xlab='time or index') > grid() > dev.off() null device 1 > postscript(file="/var/www/html/rcomp/tmp/3cfzj1258746604.ps",horizontal=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) > hist(mysum$resid, main='Residual Histogram', xlab='values of Residuals') > grid() > dev.off() null device 1 > postscript(file="/var/www/html/rcomp/tmp/4bx761258746604.ps",horizontal=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) > densityplot(~mysum$resid,col='black',main='Residual Density Plot', xlab='values of Residuals') > dev.off() null device 1 > postscript(file="/var/www/html/rcomp/tmp/56qra1258746604.ps",horizontal=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) > qqnorm(mysum$resid, main='Residual Normal Q-Q Plot') > qqline(mysum$resid) > grid() > dev.off() null device 1 > (myerror <- as.ts(mysum$resid)) Time Series: Start = 1 End = 59 Frequency = 1 1 2 3 4 5 6 -0.102569021 -0.009714692 -0.181461740 -0.267719122 -0.428487705 0.006522911 7 8 9 10 11 12 0.045294176 0.257368649 -0.062359252 -0.035944022 -0.274774094 -0.052685403 13 14 15 16 17 18 0.201176636 -0.033004877 0.065067909 -0.004546664 -0.057669527 0.149268954 19 20 21 22 23 24 -0.141875097 0.033574525 0.053101620 0.163575587 0.032875504 0.130952040 25 26 27 28 29 30 0.075620752 0.134215736 0.134101491 0.233222374 0.252629627 0.139486939 31 32 33 34 35 36 -0.022422815 -0.257210700 0.202379095 0.236422987 0.108511440 0.035586309 37 38 39 40 41 42 -0.070686005 0.062536584 0.124083813 0.148310914 0.377236254 -0.146182811 43 44 45 46 47 48 -0.214044626 -0.114356400 -0.049721030 -0.132329119 0.232546329 -0.113852946 49 50 51 52 53 54 -0.103542362 -0.154032751 -0.141791473 -0.109267502 -0.143708650 -0.149095993 55 56 57 58 59 0.333048362 0.080623926 -0.143400433 -0.231725433 -0.099159179 > postscript(file="/var/www/html/rcomp/tmp/69rh01258746604.ps",horizontal=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) > dum <- cbind(lag(myerror,k=1),myerror) > dum Time Series: Start = 0 End = 59 Frequency = 1 lag(myerror, k = 1) myerror 0 -0.102569021 NA 1 -0.009714692 -0.102569021 2 -0.181461740 -0.009714692 3 -0.267719122 -0.181461740 4 -0.428487705 -0.267719122 5 0.006522911 -0.428487705 6 0.045294176 0.006522911 7 0.257368649 0.045294176 8 -0.062359252 0.257368649 9 -0.035944022 -0.062359252 10 -0.274774094 -0.035944022 11 -0.052685403 -0.274774094 12 0.201176636 -0.052685403 13 -0.033004877 0.201176636 14 0.065067909 -0.033004877 15 -0.004546664 0.065067909 16 -0.057669527 -0.004546664 17 0.149268954 -0.057669527 18 -0.141875097 0.149268954 19 0.033574525 -0.141875097 20 0.053101620 0.033574525 21 0.163575587 0.053101620 22 0.032875504 0.163575587 23 0.130952040 0.032875504 24 0.075620752 0.130952040 25 0.134215736 0.075620752 26 0.134101491 0.134215736 27 0.233222374 0.134101491 28 0.252629627 0.233222374 29 0.139486939 0.252629627 30 -0.022422815 0.139486939 31 -0.257210700 -0.022422815 32 0.202379095 -0.257210700 33 0.236422987 0.202379095 34 0.108511440 0.236422987 35 0.035586309 0.108511440 36 -0.070686005 0.035586309 37 0.062536584 -0.070686005 38 0.124083813 0.062536584 39 0.148310914 0.124083813 40 0.377236254 0.148310914 41 -0.146182811 0.377236254 42 -0.214044626 -0.146182811 43 -0.114356400 -0.214044626 44 -0.049721030 -0.114356400 45 -0.132329119 -0.049721030 46 0.232546329 -0.132329119 47 -0.113852946 0.232546329 48 -0.103542362 -0.113852946 49 -0.154032751 -0.103542362 50 -0.141791473 -0.154032751 51 -0.109267502 -0.141791473 52 -0.143708650 -0.109267502 53 -0.149095993 -0.143708650 54 0.333048362 -0.149095993 55 0.080623926 0.333048362 56 -0.143400433 0.080623926 57 -0.231725433 -0.143400433 58 -0.099159179 -0.231725433 59 NA -0.099159179 > dum1 <- dum[2:length(myerror),] > dum1 lag(myerror, k = 1) myerror [1,] -0.009714692 -0.102569021 [2,] -0.181461740 -0.009714692 [3,] -0.267719122 -0.181461740 [4,] -0.428487705 -0.267719122 [5,] 0.006522911 -0.428487705 [6,] 0.045294176 0.006522911 [7,] 0.257368649 0.045294176 [8,] -0.062359252 0.257368649 [9,] -0.035944022 -0.062359252 [10,] -0.274774094 -0.035944022 [11,] -0.052685403 -0.274774094 [12,] 0.201176636 -0.052685403 [13,] -0.033004877 0.201176636 [14,] 0.065067909 -0.033004877 [15,] -0.004546664 0.065067909 [16,] -0.057669527 -0.004546664 [17,] 0.149268954 -0.057669527 [18,] -0.141875097 0.149268954 [19,] 0.033574525 -0.141875097 [20,] 0.053101620 0.033574525 [21,] 0.163575587 0.053101620 [22,] 0.032875504 0.163575587 [23,] 0.130952040 0.032875504 [24,] 0.075620752 0.130952040 [25,] 0.134215736 0.075620752 [26,] 0.134101491 0.134215736 [27,] 0.233222374 0.134101491 [28,] 0.252629627 0.233222374 [29,] 0.139486939 0.252629627 [30,] -0.022422815 0.139486939 [31,] -0.257210700 -0.022422815 [32,] 0.202379095 -0.257210700 [33,] 0.236422987 0.202379095 [34,] 0.108511440 0.236422987 [35,] 0.035586309 0.108511440 [36,] -0.070686005 0.035586309 [37,] 0.062536584 -0.070686005 [38,] 0.124083813 0.062536584 [39,] 0.148310914 0.124083813 [40,] 0.377236254 0.148310914 [41,] -0.146182811 0.377236254 [42,] -0.214044626 -0.146182811 [43,] -0.114356400 -0.214044626 [44,] -0.049721030 -0.114356400 [45,] -0.132329119 -0.049721030 [46,] 0.232546329 -0.132329119 [47,] -0.113852946 0.232546329 [48,] -0.103542362 -0.113852946 [49,] -0.154032751 -0.103542362 [50,] -0.141791473 -0.154032751 [51,] -0.109267502 -0.141791473 [52,] -0.143708650 -0.109267502 [53,] -0.149095993 -0.143708650 [54,] 0.333048362 -0.149095993 [55,] 0.080623926 0.333048362 [56,] -0.143400433 0.080623926 [57,] -0.231725433 -0.143400433 [58,] -0.099159179 -0.231725433 > z <- as.data.frame(dum1) > z lag(myerror, k = 1) myerror 1 -0.009714692 -0.102569021 2 -0.181461740 -0.009714692 3 -0.267719122 -0.181461740 4 -0.428487705 -0.267719122 5 0.006522911 -0.428487705 6 0.045294176 0.006522911 7 0.257368649 0.045294176 8 -0.062359252 0.257368649 9 -0.035944022 -0.062359252 10 -0.274774094 -0.035944022 11 -0.052685403 -0.274774094 12 0.201176636 -0.052685403 13 -0.033004877 0.201176636 14 0.065067909 -0.033004877 15 -0.004546664 0.065067909 16 -0.057669527 -0.004546664 17 0.149268954 -0.057669527 18 -0.141875097 0.149268954 19 0.033574525 -0.141875097 20 0.053101620 0.033574525 21 0.163575587 0.053101620 22 0.032875504 0.163575587 23 0.130952040 0.032875504 24 0.075620752 0.130952040 25 0.134215736 0.075620752 26 0.134101491 0.134215736 27 0.233222374 0.134101491 28 0.252629627 0.233222374 29 0.139486939 0.252629627 30 -0.022422815 0.139486939 31 -0.257210700 -0.022422815 32 0.202379095 -0.257210700 33 0.236422987 0.202379095 34 0.108511440 0.236422987 35 0.035586309 0.108511440 36 -0.070686005 0.035586309 37 0.062536584 -0.070686005 38 0.124083813 0.062536584 39 0.148310914 0.124083813 40 0.377236254 0.148310914 41 -0.146182811 0.377236254 42 -0.214044626 -0.146182811 43 -0.114356400 -0.214044626 44 -0.049721030 -0.114356400 45 -0.132329119 -0.049721030 46 0.232546329 -0.132329119 47 -0.113852946 0.232546329 48 -0.103542362 -0.113852946 49 -0.154032751 -0.103542362 50 -0.141791473 -0.154032751 51 -0.109267502 -0.141791473 52 -0.143708650 -0.109267502 53 -0.149095993 -0.143708650 54 0.333048362 -0.149095993 55 0.080623926 0.333048362 56 -0.143400433 0.080623926 57 -0.231725433 -0.143400433 58 -0.099159179 -0.231725433 > plot(z,main=paste('Residual Lag plot, lowess, and regression line'), ylab='values of Residuals', xlab='lagged values of Residuals') > lines(lowess(z)) > abline(lm(z)) > grid() > dev.off() null device 1 > postscript(file="/var/www/html/rcomp/tmp/73wln1258746604.ps",horizontal=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) > acf(mysum$resid, lag.max=length(mysum$resid)/2, main='Residual Autocorrelation Function') > grid() > dev.off() null device 1 > postscript(file="/var/www/html/rcomp/tmp/8nckj1258746604.ps",horizontal=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) > pacf(mysum$resid, lag.max=length(mysum$resid)/2, main='Residual Partial Autocorrelation Function') > grid() > dev.off() null device 1 > postscript(file="/var/www/html/rcomp/tmp/9a4ck1258746604.ps",horizontal=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) > opar <- par(mfrow = c(2,2), oma = c(0, 0, 1.1, 0)) > plot(mylm, las = 1, sub='Residual Diagnostics') > par(opar) > dev.off() null device 1 > if (n > n25) { + postscript(file="/var/www/html/rcomp/tmp/10gdh91258746604.ps",horizontal=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) + plot(kp3:nmkm3,gqarr[,2], main='Goldfeld-Quandt test',ylab='2-sided p-value',xlab='breakpoint') + grid() + dev.off() + } null device 1 > > #Note: the /var/www/html/rcomp/createtable file can be downloaded at http://www.wessa.net/cretab > load(file="/var/www/html/rcomp/createtable") > > a<-table.start() > a<-table.row.start(a) > a<-table.element(a, 'Multiple Linear Regression - Estimated Regression Equation', 1, TRUE) > a<-table.row.end(a) > myeq <- colnames(x)[1] > myeq <- paste(myeq, '[t] = ', sep='') > for (i in 1:k){ + if (mysum$coefficients[i,1] > 0) myeq <- paste(myeq, '+', '') + myeq <- paste(myeq, mysum$coefficients[i,1], sep=' ') + if (rownames(mysum$coefficients)[i] != '(Intercept)') { + myeq <- paste(myeq, rownames(mysum$coefficients)[i], sep='') + if (rownames(mysum$coefficients)[i] != 't') myeq <- paste(myeq, '[t]', sep='') + } + } > myeq <- paste(myeq, ' + e[t]') > a<-table.row.start(a) > a<-table.element(a, myeq) > a<-table.row.end(a) > a<-table.end(a) > table.save(a,file="/var/www/html/rcomp/tmp/11977v1258746604.tab") > a<-table.start() > a<-table.row.start(a) > a<-table.element(a,hyperlink('http://www.xycoon.com/ols1.htm','Multiple Linear Regression - Ordinary Least Squares',''), 6, TRUE) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,'Variable',header=TRUE) > a<-table.element(a,'Parameter',header=TRUE) > a<-table.element(a,'S.D.',header=TRUE) > a<-table.element(a,'T-STAT
H0: parameter = 0',header=TRUE) > a<-table.element(a,'2-tail p-value',header=TRUE) > a<-table.element(a,'1-tail p-value',header=TRUE) > a<-table.row.end(a) > for (i in 1:k){ + a<-table.row.start(a) + a<-table.element(a,rownames(mysum$coefficients)[i],header=TRUE) + a<-table.element(a,mysum$coefficients[i,1]) + a<-table.element(a, round(mysum$coefficients[i,2],6)) + a<-table.element(a, round(mysum$coefficients[i,3],4)) + a<-table.element(a, round(mysum$coefficients[i,4],6)) + a<-table.element(a, round(mysum$coefficients[i,4]/2,6)) + a<-table.row.end(a) + } > a<-table.end(a) > table.save(a,file="/var/www/html/rcomp/tmp/12wdax1258746604.tab") > a<-table.start() > a<-table.row.start(a) > a<-table.element(a, 'Multiple Linear Regression - Regression Statistics', 2, TRUE) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a, 'Multiple R',1,TRUE) > a<-table.element(a, sqrt(mysum$r.squared)) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a, 'R-squared',1,TRUE) > a<-table.element(a, mysum$r.squared) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a, 'Adjusted R-squared',1,TRUE) > a<-table.element(a, mysum$adj.r.squared) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a, 'F-TEST (value)',1,TRUE) > a<-table.element(a, mysum$fstatistic[1]) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a, 'F-TEST (DF numerator)',1,TRUE) > a<-table.element(a, mysum$fstatistic[2]) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a, 'F-TEST (DF denominator)',1,TRUE) > a<-table.element(a, mysum$fstatistic[3]) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a, 'p-value',1,TRUE) > a<-table.element(a, 1-pf(mysum$fstatistic[1],mysum$fstatistic[2],mysum$fstatistic[3])) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a, 'Multiple Linear Regression - Residual Statistics', 2, TRUE) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a, 'Residual Standard Deviation',1,TRUE) > a<-table.element(a, mysum$sigma) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a, 'Sum Squared Residuals',1,TRUE) > a<-table.element(a, sum(myerror*myerror)) > a<-table.row.end(a) > a<-table.end(a) > table.save(a,file="/var/www/html/rcomp/tmp/136fcx1258746604.tab") > a<-table.start() > a<-table.row.start(a) > a<-table.element(a, 'Multiple Linear Regression - Actuals, Interpolation, and Residuals', 4, TRUE) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a, 'Time or Index', 1, TRUE) > a<-table.element(a, 'Actuals', 1, TRUE) > a<-table.element(a, 'Interpolation
Forecast', 1, TRUE) > a<-table.element(a, 'Residuals
Prediction Error', 1, TRUE) > a<-table.row.end(a) > for (i in 1:n) { + a<-table.row.start(a) + a<-table.element(a,i, 1, TRUE) + a<-table.element(a,x[i]) + a<-table.element(a,x[i]-mysum$resid[i]) + a<-table.element(a,mysum$resid[i]) + a<-table.row.end(a) + } > a<-table.end(a) > table.save(a,file="/var/www/html/rcomp/tmp/14xhi51258746604.tab") > if (n > n25) { + a<-table.start() + a<-table.row.start(a) + a<-table.element(a,'Goldfeld-Quandt test for Heteroskedasticity',4,TRUE) + a<-table.row.end(a) + a<-table.row.start(a) + a<-table.element(a,'p-values',header=TRUE) + a<-table.element(a,'Alternative Hypothesis',3,header=TRUE) + a<-table.row.end(a) + a<-table.row.start(a) + a<-table.element(a,'breakpoint index',header=TRUE) + a<-table.element(a,'greater',header=TRUE) + a<-table.element(a,'2-sided',header=TRUE) + a<-table.element(a,'less',header=TRUE) + a<-table.row.end(a) + for (mypoint in kp3:nmkm3) { + a<-table.row.start(a) + a<-table.element(a,mypoint,header=TRUE) + a<-table.element(a,gqarr[mypoint-kp3+1,1]) + a<-table.element(a,gqarr[mypoint-kp3+1,2]) + a<-table.element(a,gqarr[mypoint-kp3+1,3]) + a<-table.row.end(a) + } + a<-table.end(a) + table.save(a,file="/var/www/html/rcomp/tmp/15934a1258746604.tab") + a<-table.start() + a<-table.row.start(a) + a<-table.element(a,'Meta Analysis of Goldfeld-Quandt test for Heteroskedasticity',4,TRUE) + a<-table.row.end(a) + a<-table.row.start(a) + a<-table.element(a,'Description',header=TRUE) + a<-table.element(a,'# significant tests',header=TRUE) + a<-table.element(a,'% significant tests',header=TRUE) + a<-table.element(a,'OK/NOK',header=TRUE) + a<-table.row.end(a) + a<-table.row.start(a) + a<-table.element(a,'1% type I error level',header=TRUE) + a<-table.element(a,numsignificant1) + a<-table.element(a,numsignificant1/numgqtests) + if (numsignificant1/numgqtests < 0.01) dum <- 'OK' else dum <- 'NOK' + a<-table.element(a,dum) + a<-table.row.end(a) + a<-table.row.start(a) + a<-table.element(a,'5% type I error level',header=TRUE) + a<-table.element(a,numsignificant5) + a<-table.element(a,numsignificant5/numgqtests) + if (numsignificant5/numgqtests < 0.05) dum <- 'OK' else dum <- 'NOK' + a<-table.element(a,dum) + a<-table.row.end(a) + a<-table.row.start(a) + a<-table.element(a,'10% type I error level',header=TRUE) + a<-table.element(a,numsignificant10) + a<-table.element(a,numsignificant10/numgqtests) + if (numsignificant10/numgqtests < 0.1) dum <- 'OK' else dum <- 'NOK' + a<-table.element(a,dum) + a<-table.row.end(a) + a<-table.end(a) + table.save(a,file="/var/www/html/rcomp/tmp/162f7a1258746604.tab") + } > system("convert tmp/1bl8b1258746604.ps tmp/1bl8b1258746604.png") > system("convert tmp/2o0vs1258746604.ps tmp/2o0vs1258746604.png") > system("convert tmp/3cfzj1258746604.ps tmp/3cfzj1258746604.png") > system("convert tmp/4bx761258746604.ps tmp/4bx761258746604.png") > system("convert tmp/56qra1258746604.ps tmp/56qra1258746604.png") > system("convert tmp/69rh01258746604.ps tmp/69rh01258746604.png") > system("convert tmp/73wln1258746604.ps tmp/73wln1258746604.png") > system("convert tmp/8nckj1258746604.ps tmp/8nckj1258746604.png") > system("convert tmp/9a4ck1258746604.ps tmp/9a4ck1258746604.png") > system("convert tmp/10gdh91258746604.ps tmp/10gdh91258746604.png") > > > proc.time() user system elapsed 2.403 1.578 2.857