Send output to:
Browser Blue - Charts White
Browser Black/White
CSV
Data X:
0 0 26 50 13 12 21 149 96 86 12.9 0 1 57 62 8 8 22 139 70 70 12.2 0 0 37 54 14 11 22 148 88 71 12.8 0 1 67 71 16 13 18 158 114 108 7.4 0 1 43 54 14 11 23 128 69 64 6.7 0 1 52 65 13 10 12 224 176 119 12.6 0 0 52 73 15 7 20 159 114 97 14.8 0 1 43 52 13 10 22 105 121 129 13.3 0 1 84 84 20 15 21 159 110 153 11.1 0 1 67 42 17 12 19 167 158 78 8.2 0 1 49 66 15 12 22 165 116 80 11.4 0 1 70 65 16 10 15 159 181 99 6.4 0 1 52 78 12 10 20 119 77 68 10.6 0 0 58 73 17 14 19 176 141 147 12.0 0 0 68 75 11 6 18 54 35 40 6.3 1 0 62 72 16 12 15 91 80 57 11.3 0 1 43 66 16 14 20 163 152 120 11.9 0 0 56 70 15 11 21 124 97 71 9.3 1 1 56 61 13 8 21 137 99 84 9.6 0 0 74 81 14 12 15 121 84 68 10.0 0 1 65 71 19 15 16 153 68 55 6.4 0 1 63 69 16 13 23 148 101 137 13.8 0 0 58 71 17 11 21 221 107 79 10.8 0 1 57 72 10 12 18 188 88 116 13.8 0 1 63 68 15 7 25 149 112 101 11.7 0 1 53 70 14 11 9 244 171 111 10.9 1 1 57 68 14 7 30 148 137 189 16.1 1 0 51 61 16 12 20 92 77 66 13.4 0 1 64 67 15 12 23 150 66 81 9.9 0 0 53 76 17 13 16 153 93 63 11.5 0 0 29 70 14 9 16 94 105 69 8.3 0 0 54 60 16 11 19 156 131 71 11.7 0 1 58 72 15 12 25 132 102 64 9.0 0 1 43 69 16 15 18 161 161 143 9.7 0 1 51 71 16 12 23 105 120 85 10.8 0 1 53 62 10 6 21 97 127 86 10.3 0 0 54 70 8 5 10 151 77 55 10.4 1 1 56 64 17 13 14 131 108 69 12.7 0 1 61 58 14 11 22 166 85 120 9.3 0 0 47 76 10 6 26 157 168 96 11.8 0 1 39 52 14 12 23 111 48 60 5.9 0 1 48 59 12 10 23 145 152 95 11.4 0 1 50 68 16 6 24 162 75 100 13.0 0 1 35 76 16 12 24 163 107 68 10.8 1 1 30 65 16 11 18 59 62 57 12.3 0 0 68 67 8 6 23 187 121 105 11.3 0 1 49 59 16 12 15 109 124 85 11.8 1 1 61 69 15 12 19 90 72 103 7.9 0 0 67 76 8 8 16 105 40 57 12.7 1 1 47 63 13 10 25 83 58 51 12.3 1 1 56 75 14 11 23 116 97 69 11.6 1 1 50 63 13 7 17 42 88 41 6.7 0 1 43 60 16 12 19 148 126 49 10.9 1 1 67 73 19 13 21 155 104 50 12.1 0 1 62 63 19 14 18 125 148 93 13.3 0 1 57 70 14 12 27 116 146 58 10.1 1 0 41 75 15 6 21 128 80 54 5.7 0 1 54 66 13 14 13 138 97 74 14.3 1 0 45 63 10 10 8 49 25 15 8.0 1 1 48 63 16 12 29 96 99 69 13.3 0 1 61 64 15 11 28 164 118 107 9.3 0 0 56 70 11 10 23 162 58 65 12.5 0 0 41 75 9 7 21 99 63 58 7.6 0 1 43 61 16 12 19 202 139 107 15.9 0 0 53 60 12 7 19 186 50 70 9.2 1 1 44 62 12 12 20 66 60 53 9.1 0 0 66 73 14 12 18 183 152 136 11.1 0 1 58 61 14 10 19 214 142 126 13.0 0 1 46 66 13 10 17 188 94 95 14.5 1 0 37 64 15 12 19 104 66 69 12.2 0 0 51 59 17 12 25 177 127 136 12.3 0 0 51 64 14 12 19 126 67 58 11.4 1 0 56 60 11 8 22 76 90 59 8.8 1 1 66 56 9 10 23 99 75 118 14.6 0 0 37 78 7 5 14 139 128 82 12.6 0 0 42 67 15 10 16 162 146 102 13.0 1 1 38 59 12 12 24 108 69 65 12.6 0 0 66 66 15 11 20 159 186 90 13.2 1 0 34 68 14 9 12 74 81 64 9.9 0 1 53 71 16 12 24 110 85 83 7.7 1 0 49 66 14 11 22 96 54 70 10.5 1 0 55 73 13 10 12 116 46 50 13.4 1 0 49 72 16 12 22 87 106 77 10.9 1 1 59 71 13 10 20 97 34 37 4.3 1 0 40 59 16 9 10 127 60 81 10.3 1 1 58 64 16 11 23 106 95 101 11.8 1 1 60 66 16 12 17 80 57 79 11.2 1 0 63 78 10 7 22 74 62 71 11.4 1 0 56 68 12 11 24 91 36 60 8.6 1 0 54 73 12 12 18 133 56 55 13.2 1 1 52 62 12 6 21 74 54 44 12.6 1 1 34 65 12 9 20 114 64 40 5.6 1 1 69 68 19 15 20 140 76 56 9.9 1 0 32 65 14 10 22 95 98 43 8.8 1 1 48 60 13 11 19 98 88 45 7.7 1 0 67 71 16 12 20 121 35 32 9.0 1 1 58 65 15 12 26 126 102 56 7.3 1 1 57 68 12 12 23 98 61 40 11.4 1 1 42 64 8 11 24 95 80 34 13.6 1 1 64 74 10 9 21 110 49 89 7.9 1 1 58 69 16 11 21 70 78 50 10.7 1 0 66 76 16 12 19 102 90 56 10.3 1 1 26 68 10 12 8 86 45 46 8.3 1 1 61 72 18 14 17 130 55 76 9.6 1 1 52 67 12 8 20 96 96 64 14.2 1 0 51 63 16 10 11 102 43 74 8.5 1 0 55 59 10 9 8 100 52 57 13.5 1 0 50 73 14 10 15 94 60 45 4.9 1 0 60 66 12 9 18 52 54 30 6.4 1 0 56 62 11 10 18 98 51 62 9.6 1 0 63 69 15 12 19 118 51 51 11.6 1 1 61 66 7 11 19 99 38 36 11.1
Names of X columns:
group gender AMS.I AMS.E CONFSTATTOT CONFSOFTTOT NUMERACYTOT LFM B H
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
par3 <- 'No Linear Trend' par2 <- 'Do not include Seasonal Dummies' par1 <- '11' 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
0 seconds
R Server
Big Analytics Cloud Computing Center
Click here to blog (archive) this computation