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