Send output to:
Browser Blue - Charts White
Browser Black/White
CSV
Data X:
1 1 41 38 13 12 14 1 1 39 32 16 11 18 1 1 30 35 19 15 11 1 0 31 33 15 6 12 1 1 34 37 14 13 16 1 1 35 29 13 10 18 1 1 39 31 19 12 14 1 1 34 36 15 14 14 1 1 36 35 14 12 15 1 1 37 38 15 9 15 1 0 38 31 16 10 17 1 1 36 34 16 12 19 1 0 38 35 16 12 10 1 1 39 38 16 11 16 1 1 33 37 17 15 18 1 0 32 33 15 12 14 1 0 36 32 15 10 14 1 1 38 38 20 12 17 1 0 39 38 18 11 14 1 1 32 32 16 12 16 1 0 32 33 16 11 18 1 1 31 31 16 12 11 1 1 39 38 19 13 14 1 1 37 39 16 11 12 1 0 39 32 17 12 17 1 1 41 32 17 13 9 1 0 36 35 16 10 16 1 1 33 37 15 14 14 1 1 33 33 16 12 15 1 0 34 33 14 10 11 1 1 31 31 15 12 16 1 0 27 32 12 8 13 1 1 37 31 14 10 17 1 1 34 37 16 12 15 1 0 34 30 14 12 14 1 0 32 33 10 7 16 1 0 29 31 10 9 9 1 0 36 33 14 12 15 1 1 29 31 16 10 17 1 0 35 33 16 10 13 1 0 37 32 16 10 15 1 1 34 33 14 12 16 1 0 38 32 20 15 16 1 0 35 33 14 10 12 1 1 38 28 14 10 15 1 1 37 35 11 12 11 1 1 38 39 14 13 15 1 1 33 34 15 11 15 1 1 36 38 16 11 17 1 0 38 32 14 12 13 1 1 32 38 16 14 16 1 0 32 30 14 10 14 1 0 32 33 12 12 11 1 1 34 38 16 13 12 1 0 32 32 9 5 12 1 1 37 35 14 6 15 1 1 39 34 16 12 16 1 1 29 34 16 12 15 1 0 37 36 15 11 12 1 1 35 34 16 10 12 1 0 30 28 12 7 8 1 0 38 34 16 12 13 1 1 34 35 16 14 11 1 1 31 35 14 11 14 1 1 34 31 16 12 15 1 0 35 37 17 13 10 1 1 36 35 18 14 11 1 0 30 27 18 11 12 1 1 39 40 12 12 15 1 0 35 37 16 12 15 1 0 38 36 10 8 14 1 1 31 38 14 11 16 1 1 34 39 18 14 15 1 0 38 41 18 14 15 1 0 34 27 16 12 13 1 1 39 30 17 9 12 1 1 37 37 16 13 17 1 1 34 31 16 11 13 1 0 28 31 13 12 15 1 0 37 27 16 12 13 1 0 33 36 16 12 15 1 1 35 37 16 12 15 1 0 37 33 15 12 16 1 1 32 34 15 11 15 1 1 33 31 16 10 14 1 0 38 39 14 9 15 1 1 33 34 16 12 14 1 1 29 32 16 12 13 1 1 33 33 15 12 7 1 1 31 36 12 9 17 1 1 36 32 17 15 13 1 1 35 41 16 12 15 1 1 32 28 15 12 14 1 1 29 30 13 12 13 1 1 39 36 16 10 16 1 1 37 35 16 13 12 1 1 35 31 16 9 14 1 0 37 34 16 12 17 1 0 32 36 14 10 15 1 1 38 36 16 14 17 1 0 37 35 16 11 12 1 1 36 37 20 15 16 1 0 32 28 15 11 11 1 1 33 39 16 11 15 1 0 40 32 13 12 9 1 1 38 35 17 12 16 1 0 41 39 16 12 15 1 0 36 35 16 11 10 1 1 43 42 12 7 10 1 1 30 34 16 12 15 1 1 31 33 16 14 11 1 1 32 41 17 11 13 1 1 37 34 12 10 18 1 0 37 32 18 13 16 1 1 33 40 14 13 14 1 1 34 40 14 8 14 1 1 33 35 13 11 14 1 1 38 36 16 12 14 1 0 33 37 13 11 12 1 1 31 27 16 13 14 1 1 38 39 13 12 15 1 1 37 38 16 14 15 1 1 36 31 15 13 15 1 1 31 33 16 15 13 1 0 39 32 15 10 17 1 1 44 39 17 11 17 1 1 33 36 15 9 19 1 1 35 33 12 11 15 1 0 32 33 16 10 13 1 0 28 32 10 11 9 1 1 40 37 16 8 15 1 0 27 30 12 11 15 1 0 37 38 14 12 15 1 1 32 29 15 12 16 1 0 28 22 13 9 11 1 0 34 35 15 11 14 1 1 30 35 11 10 11 1 1 35 34 12 8 15 1 0 31 35 11 9 13 1 1 32 34 16 8 15 1 0 30 37 15 9 16 1 1 30 35 17 15 14 1 0 31 23 16 11 15 1 1 40 31 10 8 16 1 1 32 27 18 13 16 1 0 36 36 13 12 11 1 0 32 31 16 12 12 1 0 35 32 13 9 9 1 1 38 39 10 7 16 1 1 42 37 15 13 13 1 0 34 38 16 9 16 1 1 35 39 16 6 12 1 1 38 34 14 8 9 1 1 33 31 10 8 13 1 1 32 37 13 6 14 1 1 33 36 15 9 19 1 1 34 32 16 11 13 1 1 32 38 12 8 12 0 0 27 26 13 10 10 0 0 31 26 12 8 14 0 0 38 33 17 14 16 0 1 34 39 15 10 10 0 0 24 30 10 8 11 0 0 30 33 14 11 14 0 1 26 25 11 12 12 0 1 34 38 13 12 9 0 0 27 37 16 12 9 0 0 37 31 12 5 11 0 1 36 37 16 12 16 0 0 41 35 12 10 9 0 1 29 25 9 7 13 0 1 36 28 12 12 16 0 0 32 35 15 11 13 0 1 37 33 12 8 9 0 0 30 30 12 9 12 0 1 31 31 14 10 16 0 1 38 37 12 9 11 0 1 36 36 16 12 14 0 0 35 30 11 6 13 0 0 31 36 19 15 15 0 0 38 32 15 12 14 0 1 22 28 8 12 16 0 1 32 36 16 12 13 0 0 36 34 17 11 14 0 1 39 31 12 7 15 0 0 28 28 11 7 13 0 0 32 36 11 5 11 0 1 32 36 14 12 11 0 1 38 40 16 12 14 0 1 32 33 12 3 15 0 1 35 37 16 11 11 0 1 32 32 13 10 15 0 0 37 38 15 12 12 0 1 34 31 16 9 14 0 1 33 37 16 12 14 0 0 33 33 14 9 8 0 0 30 30 16 12 9 0 0 24 30 14 10 15 0 0 34 31 11 9 17 0 0 34 32 12 12 13 0 1 33 34 15 8 15 0 1 34 36 15 11 15 0 1 35 37 16 11 14 0 0 35 36 16 12 16 0 0 36 33 11 10 13 0 0 34 33 15 10 16 0 1 34 33 12 12 9 0 0 41 44 12 12 16 0 0 32 39 15 11 11 0 0 30 32 15 8 10 0 1 35 35 16 12 11 0 0 28 25 14 10 15 0 1 33 35 17 11 17 0 1 39 34 14 10 14 0 0 36 35 13 8 8 0 1 36 39 15 12 15 0 0 35 33 13 12 11 0 0 38 36 14 10 16 0 1 33 32 15 12 10 0 0 31 32 12 9 15 0 1 32 36 8 6 16 0 0 31 32 14 10 19 0 0 33 34 14 9 12 0 0 34 33 11 9 8 0 0 34 35 12 9 11 0 1 34 30 13 6 14 0 0 33 38 10 10 9 0 0 32 34 16 6 15 0 1 41 33 18 14 13 0 1 34 32 13 10 16 0 0 36 31 11 10 11 0 0 37 30 4 6 12 0 0 36 27 13 12 13 0 1 29 31 16 12 10 0 0 37 30 10 7 11 0 0 27 32 12 8 12 0 0 35 35 12 11 8 0 0 28 28 10 3 12 0 0 35 33 13 6 12 0 0 29 35 12 8 11 0 0 32 35 14 9 13 0 1 36 32 10 9 14 0 1 19 21 12 8 10 0 1 21 20 12 9 12 0 0 31 34 11 7 15 0 0 33 32 10 7 13 0 1 36 34 12 6 13 0 1 33 32 16 9 13 0 0 37 33 12 10 12 0 0 34 33 14 11 12 0 0 35 37 16 12 9 0 1 31 32 14 8 9 0 1 37 34 13 11 15 0 1 35 30 4 3 10 0 1 27 30 15 11 14 0 0 34 38 11 12 15 0 0 40 36 11 7 7 0 0 29 32 14 9 14 0 0 38 34 15 12 8 0 1 34 33 14 8 10 0 0 21 27 13 11 13 0 0 36 32 11 8 13 0 1 38 34 15 10 13 0 0 30 29 11 8 8 0 0 35 35 13 7 12 0 1 30 27 13 8 13 0 1 36 33 16 10 12 0 0 34 38 13 8 10 0 1 35 36 16 12 13 0 0 34 33 16 14 12 0 0 32 39 12 7 9 0 1 33 29 7 6 15 0 0 33 32 16 11 13 0 1 26 34 5 4 13 0 0 35 38 16 9 13 0 0 21 17 4 5 15 0 0 38 35 12 9 15 0 0 35 32 15 11 14 0 1 33 34 14 12 15 0 0 37 36 11 9 11 0 0 38 31 16 12 15 0 1 34 35 15 10 14 0 0 27 29 12 9 13 0 1 16 22 6 6 12 0 0 40 41 16 10 16 0 0 36 36 10 9 16 0 1 42 42 15 13 9 0 1 30 33 14 12 14
Names of X columns:
Pop Gender Connected Separate Learning Software Happiness
Sample Range:
(leave blank to include all observations)
From:
To:
Column Number of Endogenous Series
(?)
Fixed Seasonal Effects
equal
Do not include Seasonal Dummies
Include Seasonal Dummies
Type of Equation
2
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, 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
1 seconds
R Server
Big Analytics Cloud Computing Center
Click here to blog (archive) this computation