Send output to:
Browser Blue - Charts White
Browser Black/White
CSV
Data X:
13 41 38 12 14 12 53 32 9 16 39 32 11 18 11 83 51 9 19 30 35 15 11 14 66 42 9 15 31 33 6 12 12 67 41 9 14 34 37 13 16 21 76 46 9 13 35 29 10 18 12 78 47 9 19 39 31 12 14 22 53 37 9 15 34 36 14 14 11 80 49 9 14 36 35 12 15 10 74 45 9 15 37 38 9 15 13 76 47 9 16 38 31 10 17 10 79 49 9 16 36 34 12 19 8 54 33 9 16 38 35 12 10 15 67 42 9 16 39 38 11 16 14 54 33 9 17 33 37 15 18 10 87 53 9 15 32 33 12 14 14 58 36 9 15 36 32 10 14 14 75 45 9 20 38 38 12 17 11 88 54 9 18 39 38 11 14 10 64 41 9 16 32 32 12 16 13 57 36 9 16 32 33 11 18 9.5 66 41 9 16 31 31 12 11 14 68 44 9 19 39 38 13 14 12 54 33 9 16 37 39 11 12 14 56 37 9 17 39 32 12 17 11 86 52 9 17 41 32 13 9 9 80 47 9 16 36 35 10 16 11 76 43 9 15 33 37 14 14 15 69 44 9 16 33 33 12 15 14 78 45 9 14 34 33 10 11 13 67 44 9 15 31 31 12 16 9 80 49 9 12 27 32 8 13 15 54 33 9 14 37 31 10 17 10 71 43 9 16 34 37 12 15 11 84 54 9 14 34 30 12 14 13 74 42 9 10 32 33 7 16 8 71 44 9 10 29 31 9 9 20 63 37 9 14 36 33 12 15 12 71 43 9 16 29 31 10 17 10 76 46 9 16 35 33 10 13 10 69 42 9 16 37 32 10 15 9 74 45 9 14 34 33 12 16 14 75 44 9 20 38 32 15 16 8 54 33 9 14 35 33 10 12 14 52 31 9 14 38 28 10 15 11 69 42 9 11 37 35 12 11 13 68 40 9 14 38 39 13 15 9 65 43 9 15 33 34 11 15 11 75 46 9 16 36 38 11 17 15 74 42 9 14 38 32 12 13 11 75 45 9 16 32 38 14 16 10 72 44 9 14 32 30 10 14 14 67 40 9 12 32 33 12 11 18 63 37 9 16 34 38 13 12 14 62 46 9 9 32 32 5 12 11 63 36 9 14 37 35 6 15 14.5 76 47 9 16 39 34 12 16 13 74 45 9 16 29 34 12 15 9 67 42 9 15 37 36 11 12 10 73 43 9 16 35 34 10 12 15 70 43 9 12 30 28 7 8 20 53 32 9 16 38 34 12 13 12 77 45 9 16 34 35 14 11 12 80 48 9 14 31 35 11 14 14 52 31 9 16 34 31 12 15 13 54 33 9 17 35 37 13 10 11 80 49 10 18 36 35 14 11 17 66 42 10 18 30 27 11 12 12 73 41 10 12 39 40 12 15 13 63 38 10 16 35 37 12 15 14 69 42 10 10 38 36 8 14 13 67 44 10 14 31 38 11 16 15 54 33 10 18 34 39 14 15 13 81 48 10 18 38 41 14 15 10 69 40 10 16 34 27 12 13 11 84 50 10 17 39 30 9 12 19 80 49 10 16 37 37 13 17 13 70 43 10 16 34 31 11 13 17 69 44 10 13 28 31 12 15 13 77 47 10 16 37 27 12 13 9 54 33 10 16 33 36 12 15 11 79 46 10 16 35 37 12 15 9 71 45 10 15 37 33 12 16 12 73 43 10 15 32 34 11 15 12 72 44 10 16 33 31 10 14 13 77 47 10 14 38 39 9 15 13 75 45 10 16 33 34 12 14 12 69 42 10 16 29 32 12 13 15 54 33 10 15 33 33 12 7 22 70 43 10 12 31 36 9 17 13 73 46 10 17 36 32 15 13 15 54 33 10 16 35 41 12 15 13 77 46 10 15 32 28 12 14 15 82 48 10 13 29 30 12 13 12.5 80 47 10 16 39 36 10 16 11 80 47 10 16 37 35 13 12 16 69 43 10 16 35 31 9 14 11 78 46 10 16 37 34 12 17 11 81 48 10 14 32 36 10 15 10 76 46 10 16 38 36 14 17 10 76 45 10 16 37 35 11 12 16 73 45 10 20 36 37 15 16 12 85 52 10 15 32 28 11 11 11 66 42 10 16 33 39 11 15 16 79 47 10 13 40 32 12 9 19 68 41 10 17 38 35 12 16 11 76 47 10 16 41 39 12 15 16 71 43 10 16 36 35 11 10 15 54 33 10 12 43 42 7 10 24 46 30 10 16 30 34 12 15 14 85 52 10 16 31 33 14 11 15 74 44 10 17 32 41 11 13 11 88 55 10 13 32 33 11 14 15 38 11 10 12 37 34 10 18 12 76 47 10 18 37 32 13 16 10 86 53 10 14 33 40 13 14 14 54 33 10 14 34 40 8 14 13 67 44 10 13 33 35 11 14 9 69 42 10 16 38 36 12 14 15 90 55 10 13 33 37 11 12 15 54 33 10 16 31 27 13 14 14 76 46 10 13 38 39 12 15 11 89 54 10 16 37 38 14 15 8 76 47 10 15 36 31 13 15 11 73 45 10 16 31 33 15 13 11 79 47 10 15 39 32 10 17 8 90 55 10 17 44 39 11 17 10 74 44 10 15 33 36 9 19 11 81 53 10 12 35 33 11 15 13 72 44 10 16 32 33 10 13 11 71 42 10 10 28 32 11 9 20 66 40 10 16 40 37 8 15 10 77 46 10 12 27 30 11 15 15 65 40 10 14 37 38 12 15 12 74 46 10 15 32 29 12 16 14 85 53 10 13 28 22 9 11 23 54 33 10 15 34 35 11 14 14 63 42 10 11 30 35 10 11 16 54 35 10 12 35 34 8 15 11 64 40 10 11 31 35 9 13 12 69 41 10 16 32 34 8 15 10 54 33 10 15 30 37 9 16 14 84 51 10 17 30 35 15 14 12 86 53 10 16 31 23 11 15 12 77 46 10 10 40 31 8 16 11 89 55 10 18 32 27 13 16 12 76 47 10 13 36 36 12 11 13 60 38 10 16 32 31 12 12 11 75 46 10 13 35 32 9 9 19 73 46 10 10 38 39 7 16 12 85 53 10 15 42 37 13 13 17 79 47 10 16 34 38 9 16 9 71 41 10 16 35 39 6 12 12 72 44 10 14 38 34 8 9 19 69 43 9 10 33 31 8 13 18 78 51 10 17 36 32 15 13 15 54 33 10 13 32 37 6 14 14 69 43 10 15 33 36 9 19 11 81 53 10 16 34 32 11 13 9 84 51 10 12 32 38 8 12 18 84 50 10 13 34 36 8 13 16 69 46 10 13 27 26 10 10 24 66 43 11 12 31 26 8 14 14 81 47 11 17 38 33 14 16 20 82 50 11 15 34 39 10 10 18 72 43 11 10 24 30 8 11 23 54 33 11 14 30 33 11 14 12 78 48 11 11 26 25 12 12 14 74 44 11 13 34 38 12 9 16 82 50 11 16 27 37 12 9 18 73 41 11 12 37 31 5 11 20 55 34 11 16 36 37 12 16 12 72 44 11 12 41 35 10 9 12 78 47 11 9 29 25 7 13 17 59 35 11 12 36 28 12 16 13 72 44 11 15 32 35 11 13 9 78 44 11 12 37 33 8 9 16 68 43 11 12 30 30 9 12 18 69 41 11 14 31 31 10 16 10 67 41 11 12 38 37 9 11 14 74 42 11 16 36 36 12 14 11 54 33 11 11 35 30 6 13 9 67 41 11 19 31 36 15 15 11 70 44 11 15 38 32 12 14 10 80 48 11 8 22 28 12 16 11 89 55 11 16 32 36 12 13 19 76 44 11 17 36 34 11 14 14 74 43 11 12 39 31 7 15 12 87 52 11 11 28 28 7 13 14 54 30 11 11 32 36 5 11 21 61 39 11 14 32 36 12 11 13 38 11 11 16 38 40 12 14 10 75 44 11 12 32 33 3 15 15 69 42 11 16 35 37 11 11 16 62 41 11 13 32 32 10 15 14 72 44 11 15 37 38 12 12 12 70 44 11 16 34 31 9 14 19 79 48 11 16 33 37 12 14 15 87 53 11 14 33 33 9 8 19 62 37 11 16 26 32 12 13 13 77 44 11 16 30 30 12 9 17 69 44 11 14 24 30 10 15 12 69 40 11 11 34 31 9 17 11 75 42 11 12 34 32 12 13 14 54 35 11 15 33 34 8 15 11 72 43 11 15 34 36 11 15 13 74 45 11 16 35 37 11 14 12 85 55 11 16 35 36 12 16 15 52 31 11 11 36 33 10 13 14 70 44 11 15 34 33 10 16 12 84 50 11 12 34 33 12 9 17 64 40 11 12 41 44 12 16 11 84 53 11 15 32 39 11 11 18 87 54 11 15 30 32 8 10 13 79 49 11 16 35 35 12 11 17 67 40 11 14 28 25 10 15 13 65 41 11 17 33 35 11 17 11 85 52 11 14 39 34 10 14 12 83 52 11 13 36 35 8 8 22 61 36 11 15 36 39 12 15 14 82 52 11 13 35 33 12 11 12 76 46 11 14 38 36 10 16 12 58 31 11 15 33 32 12 10 17 72 44 11 12 31 32 9 15 9 72 44 11 13 34 36 9 9 21 38 11 11 8 32 36 6 16 10 78 46 11 14 31 32 10 19 11 54 33 11 14 33 34 9 12 12 63 34 11 11 34 33 9 8 23 66 42 11 12 34 35 9 11 13 70 43 11 13 34 30 6 14 12 71 43 11 10 33 38 10 9 16 67 44 11 16 32 34 6 15 9 58 36 11 18 41 33 14 13 17 72 46 11 13 34 32 10 16 9 72 44 11 11 36 31 10 11 14 70 43 11 4 37 30 6 12 17 76 50 11 13 36 27 12 13 13 50 33 11 16 29 31 12 10 11 72 43 11 10 37 30 7 11 12 72 44 11 12 27 32 8 12 10 88 53 11 12 35 35 11 8 19 53 34 11 10 28 28 3 12 16 58 35 11 13 35 33 6 12 16 66 40 11 15 37 31 10 15 14 82 53 11 12 29 35 8 11 20 69 42 11 14 32 35 9 13 15 68 43 11 10 36 32 9 14 23 44 29 11 12 19 21 8 10 20 56 36 11 12 21 20 9 12 16 53 30 11 11 31 34 7 15 14 70 42 11 10 33 32 7 13 17 78 47 11 12 36 34 6 13 11 71 44 11 16 33 32 9 13 13 72 45 11 12 37 33 10 12 17 68 44 11 14 34 33 11 12 15 67 43 11 16 35 37 12 9 21 75 43 11 14 31 32 8 9 18 62 40 11 13 37 34 11 15 15 67 41 11 4 35 30 3 10 8 83 52 11 15 27 30 11 14 12 64 38 11 11 34 38 12 15 12 68 41 11 11 40 36 7 7 22 62 39 11 14 29 32 9 14 12 72 43 11
Names of X columns:
Learning Connected Separate Software Happiness Depression Sport1 Sport2 Month
Sample Range:
(leave blank to include all observations)
From:
To:
Column Number of Endogenous Series
(?)
Fixed Seasonal Effects
2
Do not include Seasonal Dummies
Include Seasonal Dummies
Type of Equation
Pearson Chi-Squared
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