Send output to:
Browser Blue - Charts White
Browser Black/White
CSV
Data X:
1.5 0 0 21 21 149 18 68 96 1.8 0 0 23 26 152 7 55 75 2.1 0 1 22 22 139 31 39 70 2.1 0 0 21 22 148 39 32 88 1.9 0 1 21 18 158 46 62 114 1.6 0 1 21 23 128 31 33 69 2.1 0 1 21 12 224 67 52 176 2.1 0 0 21 20 159 35 62 114 2.2 0 1 23 22 105 52 77 121 1.5 0 1 22 21 159 77 76 110 1.9 0 1 25 19 167 37 41 158 2.2 0 1 21 22 165 32 48 116 1.6 0 1 23 15 159 36 63 181 1.5 0 1 22 20 119 38 30 77 1.9 0 0 21 19 176 69 78 141 0.1 0 0 21 18 54 21 19 35 2.2 1 0 25 15 91 26 31 80 1.8 0 1 21 20 163 54 66 152 1.6 0 0 21 21 124 36 35 97 2.2 1 1 20 21 137 42 42 99 2.1 0 0 24 15 121 23 45 84 1.9 0 1 23 16 153 34 21 68 1.6 0 1 21 23 148 112 25 101 1.9 0 0 24 21 221 35 44 107 2.2 0 1 23 18 188 47 69 88 1.8 0 1 21 25 149 47 54 112 2.4 0 1 22 9 244 37 74 171 2.4 1 1 20 30 148 109 80 137 2.5 1 0 18 20 92 24 42 77 1.9 0 1 21 23 150 20 61 66 2.1 0 0 22 16 153 22 41 93 1.9 0 0 22 16 94 23 46 105 2.1 0 0 21 19 156 32 39 131 1.9 0 1 23 25 146 7 63 89 1.5 0 1 21 25 132 30 34 102 1.9 0 1 25 18 161 92 51 161 2.1 0 1 22 23 105 43 42 120 1.5 0 1 22 21 97 55 31 127 2.1 0 0 20 10 151 16 39 77 2.1 1 1 21 14 131 49 20 108 1.8 0 1 21 22 166 71 49 85 2.4 0 0 21 26 157 43 53 168 2.1 0 1 22 23 111 29 31 48 1.9 0 1 21 23 145 56 39 152 2.1 0 1 24 24 162 46 54 75 1.9 0 1 22 24 163 19 49 107 2.4 1 1 22 18 59 23 34 62 2.1 0 0 21 23 187 59 46 121 2.2 0 1 22 15 109 30 55 124 2.2 1 1 19 19 90 61 42 72 1.8 0 0 22 16 105 7 50 40 2.1 1 1 23 25 83 38 13 58 2.4 1 1 20 23 116 32 37 97 2.2 1 1 20 17 42 16 25 88 2.1 0 1 23 19 148 19 30 126 1.5 1 1 20 21 155 22 28 104 1.9 0 1 23 18 125 48 45 148 1.8 0 1 21 27 116 23 35 146 1.8 1 0 22 21 128 26 28 80 1.6 0 1 21 13 138 33 41 97 1.2 1 0 21 8 49 9 6 25 1.8 1 1 19 29 96 24 45 99 1.5 0 1 22 28 164 34 73 118 2.1 0 0 21 23 162 48 17 58 2.4 0 0 21 21 99 18 40 63 2.4 0 1 21 19 202 43 64 139 1.5 0 0 21 19 186 33 37 50 1.8 1 1 21 20 66 28 25 60 2.1 0 0 21 18 183 71 65 152 2.2 0 1 22 19 214 26 100 142 2.1 0 1 22 17 188 67 28 94 1.9 1 0 18 19 104 34 35 66 2.1 0 0 21 25 177 80 56 127 1.9 0 0 23 19 126 29 29 67 1.6 1 0 19 22 76 16 43 90 2.4 1 1 19 23 99 59 59 75 1.9 0 1 23 26 157 58 52 96 1.9 0 0 21 14 139 32 50 128 2.1 0 0 21 16 162 43 59 146 1.8 1 1 21 24 108 38 27 69 2.1 0 0 20 20 159 29 61 186 2.4 1 0 19 12 74 36 28 81 2.1 0 1 21 24 110 32 51 85 2.2 1 0 19 22 96 35 35 54 2.1 1 0 19 12 116 21 29 46 2.2 1 0 19 22 87 29 48 106 1.6 1 1 20 20 97 12 25 34 2.4 1 0 19 10 127 37 44 60 2.1 1 1 19 23 106 37 64 95 1.9 1 1 19 17 80 47 32 57 2.4 1 0 20 22 74 51 20 62 2.1 1 0 19 24 91 32 28 36 1.8 1 0 18 18 133 21 34 56 2.1 1 1 19 21 74 13 31 54 1.8 1 1 21 20 114 14 26 64 1.9 1 1 18 20 140 -2 58 76 1.9 1 0 18 22 95 20 23 98 2.4 1 1 19 19 98 24 21 88 1.8 1 0 21 20 121 11 21 35 1.8 1 1 20 26 126 23 33 102 2.1 1 1 24 23 98 24 16 61 2.1 1 1 22 24 95 14 20 80 2.4 1 1 21 21 110 52 37 49 1.9 1 1 21 21 70 15 35 78 1.8 1 0 19 19 102 23 33 90 1.8 1 1 19 8 86 19 27 45 2.2 1 1 20 17 130 35 41 55 2.4 1 1 18 20 96 24 40 96 1.8 1 0 19 11 102 39 35 43 2.4 1 0 19 8 100 29 28 52 1.8 1 0 20 15 94 13 32 60 1.9 1 0 21 18 52 8 22 54 2.4 1 0 18 18 98 18 44 51 2.1 1 0 19 19 118 24 27 51 1.9 1 1 19 19 99 19 17 38
Names of X columns:
PA programma gender age NUMERACYTOT LFM PRH CH Blogs
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
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