Send output to:
Browser Blue - Charts White
Browser Black/White
CSV
Data X:
149 96 68 86 7.5 152 75 55 62 2.5 139 70 39 70 6.0 148 88 32 71 6.5 158 114 62 108 1.0 128 69 33 64 1.0 224 176 52 119 5.5 159 114 62 97 8.5 105 121 77 129 6.5 159 110 76 153 4.5 167 158 41 78 2.0 165 116 48 80 5.0 159 181 63 99 0.5 119 77 30 68 5.0 176 141 78 147 5.0 54 35 19 40 2.5 91 80 31 57 5.0 163 152 66 120 5.5 124 97 35 71 3.5 137 99 42 84 3.0 121 84 45 68 4.0 153 68 21 55 0.5 148 101 25 137 6.5 221 107 44 79 4.5 188 88 69 116 7.5 149 112 54 101 5.5 244 171 74 111 4.0 148 137 80 189 7.5 92 77 42 66 7.0 150 66 61 81 4.0 153 93 41 63 5.5 94 105 46 69 2.5 156 131 39 71 5.5 146 89 63 70 0.5 132 102 34 64 3.5 161 161 51 143 2.5 105 120 42 85 4.5 97 127 31 86 4.5 151 77 39 55 4.5 131 108 20 69 6.0 166 85 49 120 2.5 157 168 53 96 5.0 111 48 31 60 0.0 145 152 39 95 5.0 162 75 54 100 6.5 163 107 49 68 5.0 59 62 34 57 6.0 187 121 46 105 4.5 109 124 55 85 5.5 90 72 42 103 1.0 105 40 50 57 7.5 83 58 13 51 6.0 116 97 37 69 5.0 42 88 25 41 1.0 148 126 30 49 5.0 155 104 28 50 6.5 125 148 45 93 7.0 116 146 35 58 4.5 128 80 28 54 0.0 138 97 41 74 8.5 49 25 6 15 3.5 96 99 45 69 7.5 164 118 73 107 3.5 162 58 17 65 6.0 99 63 40 58 1.5 202 139 64 107 9.0 186 50 37 70 3.5 66 60 25 53 3.5 183 152 65 136 4.0 214 142 100 126 6.5 188 94 28 95 7.5 104 66 35 69 6.0 177 127 56 136 5.0 126 67 29 58 5.5 76 90 43 59 3.5 99 75 59 118 7.5 157 96 52 110 1.0 139 128 50 82 6.5 78 41 3 50 NA 162 146 59 102 6.5 108 69 27 65 6.5 159 186 61 90 7.0 74 81 28 64 3.5 110 85 51 83 1.5 96 54 35 70 4.0 116 46 29 50 7.5 87 106 48 77 4.5 97 34 25 37 0.0 127 60 44 81 3.5 106 95 64 101 5.5 80 57 32 79 5.0 74 62 20 71 4.5 91 36 28 60 2.5 133 56 34 55 7.5 74 54 31 44 7.0 114 64 26 40 0.0 140 76 58 56 4.5 95 98 23 43 3.0 98 88 21 45 1.5 121 35 21 32 3.5 126 102 33 56 2.5 98 61 16 40 5.5 95 80 20 34 8.0 110 49 37 89 1.0 70 78 35 50 5.0 102 90 33 56 4.5 86 45 27 46 3.0 130 55 41 76 3.0 96 96 40 64 8.0 102 43 35 74 2.5 100 52 28 57 7.0 94 60 32 45 0.0 52 54 22 30 1.0 98 51 44 62 3.5 118 51 27 51 5.5 99 38 17 36 5.5 48 41 12 34 0.5 50 146 45 61 7.5 150 182 37 70 9 154 192 37 69 9.5 109 263 108 145 8.5 68 35 10 23 7 194 439 68 120 8 158 214 72 147 10 159 341 143 215 7 67 58 9 24 8.5 147 292 55 84 9 39 85 17 30 9.5 100 200 37 77 4 111 158 27 46 6 138 199 37 61 8 101 297 58 178 5.5 131 227 66 160 9.5 101 108 21 57 7.5 114 86 19 42 7 165 302 78 163 7.5 114 148 35 75 8 111 178 48 94 7 75 120 27 45 7 82 207 43 78 6 121 157 30 47 10 32 128 25 29 2.5 150 296 69 97 9 117 323 72 116 8 71 79 23 32 6 165 70 13 50 8.5 154 146 61 118 6 126 246 43 66 9 138 145 22 48 8 149 196 51 86 8 145 199 67 89 9 120 127 36 76 5.5 138 91 21 39 5 109 153 44 75 7 132 299 45 57 5.5 172 228 34 72 9 169 190 36 60 2 114 180 72 109 8.5 156 212 39 76 9 172 269 43 65 8.5 68 130 25 40 9 89 179 56 58 7.5 167 243 80 123 10 113 190 40 71 9 115 299 73 102 7.5 78 121 34 80 6 118 137 72 97 10.5 87 305 42 46 8.5 173 157 61 93 8 2 96 23 19 10 162 183 74 140 10.5 49 52 16 78 6.5 122 238 66 98 9.5 96 40 9 40 8.5 100 226 41 80 7.5 82 190 57 76 5 100 214 48 79 8 115 145 51 87 10 141 119 53 95 7 165 222 29 49 7.5 165 222 29 49 7.5 110 159 55 80 9.5 118 165 54 86 6 158 249 43 69 10 146 125 51 79 7 49 122 20 52 3 90 186 79 120 6 121 148 39 69 7 155 274 61 94 10 104 172 55 72 7 147 84 30 43 3.5 110 168 55 87 8 108 102 22 52 10 113 106 37 71 5.5 115 2 2 61 6 61 139 38 51 6.5 60 95 27 50 6.5 109 130 56 67 8.5 68 72 25 30 4 111 141 39 70 9.5 77 113 33 52 8 73 206 43 75 8.5 151 268 57 87 5.5 89 175 43 69 7 78 77 23 72 9 110 125 44 79 8 220 255 54 121 10 65 111 28 43 8 141 132 36 58 6 117 211 39 57 8 122 92 16 50 5 63 76 23 69 9 44 171 40 64 4.5 52 83 24 38 8.5 62 119 29 53 7 131 266 78 90 9.5 101 186 57 96 8.5 42 50 37 49 7.5 152 117 27 56 7.5 107 219 61 102 5 77 246 27 40 7 154 279 69 100 8 103 148 34 67 5.5 96 137 44 78 8.5 154 130 21 62 7.5 175 181 34 55 9.5 57 98 39 59 7 112 226 51 96 8 143 234 34 86 8.5 49 138 31 38 3.5 110 85 13 43 6.5 131 66 12 23 6.5 167 236 51 77 10.5 56 106 24 48 8.5 137 135 19 26 8 86 122 30 91 10 121 218 81 94 10 149 199 42 62 9.5 168 112 22 74 9 140 278 85 114 10 88 94 27 52 7.5 168 113 25 64 4.5 94 84 22 31 4.5 51 86 19 38 0.5 48 62 14 27 6.5 145 222 45 105 4.5 66 167 45 64 5.5 85 82 28 62 5 109 207 51 65 6 63 184 41 58 4 102 83 31 76 8 162 183 74 140 10.5 128 85 24 48 8.5 86 89 19 68 6.5 114 225 51 80 8 164 237 73 71 8.5 119 102 24 76 5.5 126 221 61 63 7 132 128 23 46 5 142 91 14 53 3.5 83 198 54 74 5 94 204 51 70 9 81 158 62 78 8.5 166 138 36 56 5 110 226 59 100 9.5 64 44 24 51 3 93 196 26 52 1.5 104 83 54 102 6 105 79 39 78 0.5 49 52 16 78 6.5 88 105 36 55 7.5 95 116 31 98 4.5 102 83 31 76 8 99 196 42 73 9 63 153 39 47 7.5 76 157 25 45 8.5 109 75 31 83 7 117 106 38 60 9.5 57 58 31 48 6.5 120 75 17 50 9.5 73 74 22 56 6 91 185 55 77 8 108 265 62 91 9.5 105 131 51 76 8 117 139 30 68 8 119 196 49 74 9 31 78 16 29 5
Names of X columns:
LFM B CH H ex
Sample Range:
(leave blank to include all observations)
From:
To:
Column Number of Endogenous Series
(?)
Fixed Seasonal Effects
Do not include Seasonal Dummies
Do not include Seasonal Dummies
Include Seasonal Dummies
Type of Equation
No Linear Trend
No Linear Trend
Linear Trend
First Differences
Seasonal Differences (s)
First and Seasonal Differences (s)
Degree of Predetermination (lagged endogenous variables)
Degree of Seasonal Predetermination
Seasonality
12
1
2
3
4
5
6
7
8
9
10
11
12
Chart options
R Code
par3 <- 'No Linear Trend' par2 <- 'Do not include Seasonal Dummies' par1 <- '5' library(lattice) library(lmtest) 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 k <- length(x[1,]) df <- as.data.frame(x) (mylm <- lm(df)) (mysum <- summary(mylm)) 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 } bitmap(file='test0.png') 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() bitmap(file='test1.png') plot(mysum$resid, type='b', pch=19, main='Residuals', ylab='value of Residuals', xlab='time or index') grid() dev.off() bitmap(file='test2.png') hist(mysum$resid, main='Residual Histogram', xlab='values of Residuals') grid() dev.off() bitmap(file='test3.png') densityplot(~mysum$resid,col='black',main='Residual Density Plot', xlab='values of Residuals') dev.off() bitmap(file='test4.png') qqnorm(mysum$resid, main='Residual Normal Q-Q Plot') qqline(mysum$resid) grid() dev.off() (myerror <- as.ts(mysum$resid)) bitmap(file='test5.png') dum <- cbind(lag(myerror,k=1),myerror) dum dum1 <- dum[2:length(myerror),] dum1 z <- as.data.frame(dum1) z 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() bitmap(file='test6.png') acf(mysum$resid, lag.max=length(mysum$resid)/2, main='Residual Autocorrelation Function') grid() dev.off() bitmap(file='test7.png') pacf(mysum$resid, lag.max=length(mysum$resid)/2, main='Residual Partial Autocorrelation Function') grid() dev.off() bitmap(file='test8.png') opar <- par(mfrow = c(2,2), oma = c(0, 0, 1.1, 0)) plot(mylm, las = 1, sub='Residual Diagnostics') par(opar) dev.off() if (n > n25) { bitmap(file='test9.png') plot(kp3:nmkm3,gqarr[,2], main='Goldfeld-Quandt test',ylab='2-sided p-value',xlab='breakpoint') grid() dev.off() } load(file='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, signif(mysum$coefficients[i,1],6), 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='mytable1.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<br />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,signif(mysum$coefficients[i,1],6)) a<-table.element(a, signif(mysum$coefficients[i,2],6)) a<-table.element(a, signif(mysum$coefficients[i,3],4)) a<-table.element(a, signif(mysum$coefficients[i,4],6)) a<-table.element(a, signif(mysum$coefficients[i,4]/2,6)) a<-table.row.end(a) } a<-table.end(a) table.save(a,file='mytable2.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, signif(sqrt(mysum$r.squared),6)) a<-table.row.end(a) a<-table.row.start(a) a<-table.element(a, 'R-squared',1,TRUE) a<-table.element(a, signif(mysum$r.squared,6)) a<-table.row.end(a) a<-table.row.start(a) a<-table.element(a, 'Adjusted R-squared',1,TRUE) a<-table.element(a, signif(mysum$adj.r.squared,6)) a<-table.row.end(a) a<-table.row.start(a) a<-table.element(a, 'F-TEST (value)',1,TRUE) a<-table.element(a, signif(mysum$fstatistic[1],6)) a<-table.row.end(a) a<-table.row.start(a) a<-table.element(a, 'F-TEST (DF numerator)',1,TRUE) a<-table.element(a, signif(mysum$fstatistic[2],6)) a<-table.row.end(a) a<-table.row.start(a) a<-table.element(a, 'F-TEST (DF denominator)',1,TRUE) a<-table.element(a, signif(mysum$fstatistic[3],6)) a<-table.row.end(a) a<-table.row.start(a) a<-table.element(a, 'p-value',1,TRUE) a<-table.element(a, signif(1-pf(mysum$fstatistic[1],mysum$fstatistic[2],mysum$fstatistic[3]),6)) 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, signif(mysum$sigma,6)) a<-table.row.end(a) a<-table.row.start(a) a<-table.element(a, 'Sum Squared Residuals',1,TRUE) a<-table.element(a, signif(sum(myerror*myerror),6)) a<-table.row.end(a) a<-table.end(a) table.save(a,file='mytable3.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<br />Forecast', 1, TRUE) a<-table.element(a, 'Residuals<br />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,signif(x[i],6)) a<-table.element(a,signif(x[i]-mysum$resid[i],6)) a<-table.element(a,signif(mysum$resid[i],6)) a<-table.row.end(a) } a<-table.end(a) table.save(a,file='mytable4.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,signif(gqarr[mypoint-kp3+1,1],6)) a<-table.element(a,signif(gqarr[mypoint-kp3+1,2],6)) a<-table.element(a,signif(gqarr[mypoint-kp3+1,3],6)) a<-table.row.end(a) } a<-table.end(a) table.save(a,file='mytable5.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,signif(numsignificant1,6)) a<-table.element(a,signif(numsignificant1/numgqtests,6)) 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,signif(numsignificant5,6)) a<-table.element(a,signif(numsignificant5/numgqtests,6)) 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,signif(numsignificant10,6)) a<-table.element(a,signif(numsignificant10/numgqtests,6)) 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='mytable6.tab') }
Compute
Summary of computational transaction
Raw Input
view raw input (R code)
Raw Output
view raw output of R engine
Computing time
0 seconds
R Server
Big Analytics Cloud Computing Center
Click here to blog (archive) this computation