Send output to:
Browser Blue - Charts White
Browser Black/White
CSV
Data X:
24 11 12 26 14 24 237.588 25 7 8 23 11 25 164.083 17 17 8 25 6 30 278.261 18 10 8 23 12 19 220.36 18 12 9 19 8 22 253.967 16 12 7 29 10 22 422.31 20 11 4 25 10 25 136.921 16 11 11 21 11 23 143.495 18 12 7 22 16 17 189.785 17 13 7 25 11 21 219.529 23 14 12 24 13 19 217.761 30 16 10 18 12 19 221.754 23 11 10 22 8 15 159.854 18 10 8 15 12 16 209.464 15 11 8 22 11 23 174.283 12 15 4 28 4 27 154.55 21 9 9 20 9 22 153.024 15 11 8 12 8 14 162.49 20 17 7 24 8 22 154.462 31 17 11 20 14 23 249.671 27 11 9 21 15 23 259.473 34 18 11 20 16 21 155.337 21 14 13 21 9 19 151.289 31 10 8 23 14 18 276.614 19 11 8 28 11 20 188.214 16 15 9 24 8 23 181.098 20 15 6 24 9 25 240.898 21 13 9 24 9 19 244.551 22 16 9 23 9 24 250.238 17 13 6 23 9 22 183.129 24 9 6 29 10 25 310.331 25 18 16 24 16 26 281.942 26 18 5 18 11 29 230.343 25 12 7 25 8 32 161.563 17 17 9 21 9 25 392.527 32 9 6 26 16 29 1077.414 33 9 6 22 11 28 248.275 13 12 5 22 16 17 557.386 32 18 12 22 12 28 731.874 25 12 7 23 12 29 301.429 29 18 10 30 14 26 226.36 22 14 9 23 9 25 215.018 18 15 8 17 10 14 157.672 17 16 5 23 9 25 219.118 20 10 8 23 10 26 213.019 15 11 8 25 12 20 390.642 20 14 10 24 14 18 157.124 33 9 6 24 14 32 227.652 29 12 8 23 10 25 239.266 23 17 7 21 14 25 506.343 26 5 4 24 16 23 149.219 18 12 8 24 9 21 213.351 20 12 8 28 10 20 174.517 11 6 4 16 6 15 172.531 28 24 20 20 8 30 320.656 26 12 8 29 13 24 305.011 22 12 8 27 10 26 266.495 17 14 6 22 8 24 361.511 12 7 4 28 7 22 361.019 14 13 8 16 15 14 382.187 17 12 9 25 9 24 196.763 21 13 6 24 10 24 273.212 19 14 7 28 12 24 186.397 18 8 9 24 13 24 294.205 10 11 5 23 10 19 364.685 29 9 5 30 11 31 230.501 31 11 8 24 8 22 217.51 19 13 8 21 9 27 262.297 9 10 6 25 13 19 169.246 20 11 8 25 11 25 260.428 28 12 7 22 8 20 348.187 19 9 7 23 9 21 512.937 30 15 9 26 9 27 164.496 29 18 11 23 15 23 111.187 26 15 6 25 9 25 169.999 23 12 8 21 10 20 240.187 13 13 6 25 14 21 187.158 21 14 9 24 12 22 194.096 19 10 8 29 12 23 265.846 28 13 6 22 11 25 283.319 23 13 10 27 14 25 356.938 18 11 8 26 6 17 240.802 21 13 8 22 12 19 326.662 20 16 10 24 8 25 249.266 23 8 5 27 14 19 277.368 21 16 7 24 11 20 394.618 21 11 5 24 10 26 235.686 15 9 8 29 14 23 227.641 28 16 14 22 12 27 159.593 19 12 7 21 10 17 268.866 26 14 8 24 14 17 206.466 10 8 6 24 5 19 233.064 16 9 5 23 11 17 133.824 22 15 6 20 10 22 486.783 19 11 10 27 9 21 228.859 31 21 12 26 10 32 155.238 31 14 9 25 16 21 2042.451 29 18 12 21 13 21 205.218 19 12 7 21 9 18 373.648 22 13 8 19 10 18 229.151 23 15 10 21 10 23 199.156 15 12 6 21 7 19 234.41 20 19 10 16 9 20 56.519 18 15 10 22 8 21 289.239 23 11 10 29 14 20 199.227 25 11 5 15 14 17 274.513 21 10 7 17 8 18 174.499 24 13 10 15 9 19 217.714 25 15 11 21 14 22 239.717 17 12 6 21 14 15 241.529 13 12 7 19 8 14 155.561 28 16 12 24 8 18 204.107 21 9 11 20 8 24 745.97 25 18 11 17 7 35 241.772 9 8 11 23 6 29 110.267 16 13 5 24 8 21 186.58 19 17 8 14 6 25 227.906 17 9 6 19 11 20 197.518 25 15 9 24 14 22 254.094 20 8 4 13 11 13 173.942 29 7 4 22 11 26 294.42 14 12 7 16 11 17 211.924 22 14 11 19 14 25 262.479 15 6 6 25 8 20 193.495 19 8 7 25 20 19 165.972 20 17 8 23 11 21 237.352 15 10 4 24 8 22 205.814 20 11 8 26 11 24 227.526 18 14 9 26 10 21 250.439 33 11 8 25 14 26 470.849 22 13 11 18 11 24 176.469 16 12 8 21 9 16 298.691 17 11 5 26 9 23 193.922 16 9 4 23 8 18 212.422 21 12 8 23 10 16 203.284 26 20 10 22 13 26 240.56 18 12 6 20 13 19 445.327 18 13 9 13 12 21 248.984 17 12 9 24 8 21 174.44 22 12 13 15 13 22 165.024 30 9 9 14 14 23 249.681 30 15 10 22 12 29 238.312 24 24 20 10 14 21 250.437 21 7 5 24 15 21 174.75 21 17 11 22 13 23 4941.633 29 11 6 24 16 27 138.936 31 17 9 19 9 25 203.181 20 11 7 20 9 21 187.747 16 12 9 13 9 10 270.95 22 14 10 20 8 20 307.688 20 11 9 22 7 26 184.477 28 16 8 24 16 24 230.916 38 21 7 29 11 29 187.286 22 14 6 12 9 19 169.376 20 20 13 20 11 24 182.838 17 13 6 21 9 19 176.081 28 11 8 24 14 24 248.056 22 15 10 22 13 22 235.24 31 19 16 20 16 17 76.347
Names of X columns:
CM PE PC O D PS Time
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
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, 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='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,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='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, 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='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,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='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,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='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,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='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