Send output to:
Browser Blue - Charts White
Browser Black/White
CSV
Data X:
110.3672031 0 102.1880309 114.0150276 108.1560276 100 0 0 0 96.8602511 0 110.3672031 102.1880309 114.0150276 108.1560276 0 0 0 94.1944583 0 96.8602511 110.3672031 102.1880309 114.0150276 0 0 0 99.51621961 0 94.1944583 96.8602511 110.3672031 102.1880309 0 0 0 94.06333487 0 99.51621961 94.1944583 96.8602511 110.3672031 0 0 0 97.5541476 0 94.06333487 99.51621961 94.1944583 96.8602511 0 0 0 78.15062422 0 97.5541476 94.06333487 99.51621961 94.1944583 0 0 0 81.2434643 0 78.15062422 97.5541476 94.06333487 99.51621961 0 0 0 92.36262465 0 81.2434643 78.15062422 97.5541476 94.06333487 0 0 0 96.06324371 0 92.36262465 81.2434643 78.15062422 97.5541476 0 0 0 114.0523777 0 96.06324371 92.36262465 81.2434643 78.15062422 0 0 0 110.6616666 0 114.0523777 96.06324371 92.36262465 81.2434643 0 0 0 104.9171949 0 110.6616666 114.0523777 96.06324371 92.36262465 0 0 0 90.00187193 0 104.9171949 110.6616666 114.0523777 96.06324371 0 0 0 95.7008067 0 90.00187193 104.9171949 110.6616666 114.0523777 0 0 0 86.02741157 0 95.7008067 90.00187193 104.9171949 110.6616666 0 0 0 84.85287668 0 86.02741157 95.7008067 90.00187193 104.9171949 0 0 0 100.04328 0 84.85287668 86.02741157 95.7008067 90.00187193 0 0 0 80.91713823 0 100.04328 84.85287668 86.02741157 95.7008067 0 0 0 74.06539709 0 80.91713823 100.04328 84.85287668 86.02741157 0 0 0 77.30281369 0 74.06539709 80.91713823 100.04328 84.85287668 0 0 0 97.23043249 0 77.30281369 74.06539709 80.91713823 100.04328 0 0 0 90.75515676 0 97.23043249 77.30281369 74.06539709 80.91713823 0 0 0 100.5614455 0 90.75515676 97.23043249 77.30281369 74.06539709 0 0 0 92.01293267 0 100.5614455 90.75515676 97.23043249 77.30281369 0 0 0 99.24012138 0 92.01293267 100.5614455 90.75515676 97.23043249 0 0 0 105.8672755 0 99.24012138 92.01293267 100.5614455 90.75515676 0 0 0 90.9920463 0 105.8672755 99.24012138 92.01293267 100.5614455 0 0 0 93.30624423 0 90.9920463 105.8672755 99.24012138 92.01293267 0 0 0 91.17419413 0 93.30624423 90.9920463 105.8672755 99.24012138 0 0 0 77.33295039 0 91.17419413 93.30624423 90.9920463 105.8672755 0 0 0 91.1277721 0 77.33295039 91.17419413 93.30624423 90.9920463 0 0 0 85.01249943 0 91.1277721 77.33295039 91.17419413 93.30624423 0 0 0 83.90390242 0 85.01249943 91.1277721 77.33295039 91.17419413 0 0 0 104.8626302 0 83.90390242 85.01249943 91.1277721 77.33295039 0 0 0 110.9039108 0 104.8626302 83.90390242 85.01249943 91.1277721 0 0 0 95.43714373 0 110.9039108 104.8626302 83.90390242 85.01249943 0 0 0 111.6238727 0 95.43714373 110.9039108 104.8626302 83.90390242 0 0 0 108.8925403 0 111.6238727 95.43714373 110.9039108 104.8626302 0 0 0 96.17511682 0 108.8925403 111.6238727 95.43714373 110.9039108 0 0 0 101.9740205 0 96.17511682 108.8925403 111.6238727 95.43714373 0 0 0 99.11953031 0 101.9740205 96.17511682 108.8925403 111.6238727 0 0 0 86.78158147 0 99.11953031 101.9740205 96.17511682 108.8925403 0 0 0 118.4195003 0 86.78158147 99.11953031 101.9740205 96.17511682 0 0 0 118.7441447 0 118.4195003 86.78158147 99.11953031 101.9740205 0 0 0 106.5296192 0 118.7441447 118.4195003 86.78158147 99.11953031 0 0 0 134.7772694 0 106.5296192 118.7441447 118.4195003 86.78158147 0 0 0 104.6778714 0 134.7772694 106.5296192 118.7441447 118.4195003 0 0 0 105.2954304 0 104.6778714 134.7772694 106.5296192 118.7441447 0 0 0 139.4139849 0 105.2954304 104.6778714 134.7772694 106.5296192 0 0 0 103.6060491 0 139.4139849 105.2954304 104.6778714 134.7772694 0 0 0 99.78182974 0 103.6060491 139.4139849 105.2954304 104.6778714 0 0 0 103.4610301 0 99.78182974 103.6060491 139.4139849 105.2954304 0 0 0 120.0594945 0 103.4610301 99.78182974 103.6060491 139.4139849 0 0 0 96.71377168 0 120.0594945 103.4610301 99.78182974 103.6060491 0 0 0 107.1308929 0 96.71377168 120.0594945 103.4610301 99.78182974 0 0 0 105.3608372 0 107.1308929 96.71377168 120.0594945 103.4610301 0 0 0 111.6942359 0 105.3608372 107.1308929 96.71377168 120.0594945 0 0 0 132.0519998 0 111.6942359 105.3608372 107.1308929 96.71377168 0 0 0 126.8037879 0 132.0519998 111.6942359 105.3608372 107.1308929 0 0 0 154.4824253 0 126.8037879 132.0519998 111.6942359 105.3608372 1 0 0 141.5570984 0 154.4824253 126.8037879 132.0519998 111.6942359 0 0 0 109.9506882 0 141.5570984 154.4824253 126.8037879 132.0519998 0 0 0 127.904198 0 109.9506882 141.5570984 154.4824253 126.8037879 0 0 0 133.0888617 0 127.904198 109.9506882 141.5570984 154.4824253 0 0 0 120.0796299 0 133.0888617 127.904198 109.9506882 141.5570984 0 0 0 117.5557142 0 120.0796299 133.0888617 127.904198 109.9506882 0 0 0 143.0362309 0 117.5557142 120.0796299 133.0888617 127.904198 0 0 0 159.982927 1 143.0362309 117.5557142 120.0796299 133.0888617 0 1 0 128.5991124 1 159.982927 143.0362309 117.5557142 120.0796299 0 0 0 149.7373327 1 128.5991124 159.982927 143.0362309 117.5557142 0 0 0 126.8169313 1 149.7373327 128.5991124 159.982927 143.0362309 0 0 0 140.9639674 1 126.8169313 149.7373327 128.5991124 159.982927 0 0 0 137.6691981 1 140.9639674 126.8169313 149.7373327 128.5991124 0 0 0 117.9402337 1 137.6691981 140.9639674 126.8169313 149.7373327 0 0 0 122.3095247 1 117.9402337 137.6691981 140.9639674 126.8169313 0 0 0 127.7804207 1 122.3095247 117.9402337 137.6691981 140.9639674 0 0 0 136.1677176 1 127.7804207 122.3095247 117.9402337 137.6691981 0 0 0 116.2405856 1 136.1677176 127.7804207 122.3095247 117.9402337 0 0 0 123.1576893 1 116.2405856 136.1677176 127.7804207 122.3095247 0 0 0 116.3400234 1 123.1576893 116.2405856 136.1677176 127.7804207 0 0 0 108.6119282 1 116.3400234 123.1576893 116.2405856 136.1677176 0 0 0 125.8982264 1 108.6119282 116.3400234 123.1576893 116.2405856 0 0 0 112.8003105 1 125.8982264 108.6119282 116.3400234 123.1576893 0 0 0 107.5182447 1 112.8003105 125.8982264 108.6119282 116.3400234 0 0 0 135.0955413 1 107.5182447 112.8003105 125.8982264 108.6119282 0 0 0 115.5096488 1 135.0955413 107.5182447 112.8003105 125.8982264 0 0 0 115.8640759 1 115.5096488 135.0955413 107.5182447 112.8003105 0 0 0 104.5883906 1 115.8640759 115.5096488 135.0955413 107.5182447 0 0 0 163.7213386 1 104.5883906 115.8640759 115.5096488 135.0955413 0 0 1 113.4482275 1 163.7213386 104.5883906 115.8640759 115.5096488 0 0 0 98.0428844 1 113.4482275 163.7213386 104.5883906 115.8640759 0 0 0 116.7868521 1 98.0428844 113.4482275 163.7213386 104.5883906 0 0 0 126.5330444 1 116.7868521 98.0428844 113.4482275 163.7213386 0 0 0 113.0336597 1 126.5330444 116.7868521 98.0428844 113.4482275 0 0 0 124.3392163 1 113.0336597 126.5330444 116.7868521 98.0428844 0 0 0 109.8298759 1 124.3392163 113.0336597 126.5330444 116.7868521 0 0 0 124.4434777 1 109.8298759 124.3392163 113.0336597 126.5330444 0 0 0 111.5039454 1 124.4434777 109.8298759 124.3392163 113.0336597 0 0 0 102.0350019 1 111.5039454 124.4434777 109.8298759 124.3392163 0 0 0 116.8726598 1 102.0350019 111.5039454 124.4434777 109.8298759 0 0 0 112.2073122 1 116.8726598 102.0350019 111.5039454 124.4434777 0 0 0 101.1513902 1 112.2073122 116.8726598 102.0350019 111.5039454 0 0 0 124.4255108 1 101.1513902 112.2073122 116.8726598 102.0350019 0 0 0
Names of X columns:
BouwV X Y1 Y2 Y3 Y4 D1 D2 D3
Sample Range:
(leave blank to include all observations)
From:
To:
Column Number of Endogenous Series
(?)
Fixed Seasonal Effects
Include Monthly 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