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