Send output to:
Browser Blue - Charts White
Browser Black/White
CSV
Data X:
13 14 13 3 25 55 147 12 8 13 5 158 7 71 10 12 16 6 0 0 0 9 7 12 6 143 10 0 10 10 11 5 67 74 43 12 7 12 3 0 0 0 13 16 18 8 148 138 8 12 11 11 4 28 0 0 12 14 14 4 114 113 34 6 6 9 4 0 0 0 5 16 14 6 123 115 103 12 11 12 6 145 9 0 11 16 11 5 113 114 73 14 12 12 4 152 59 159 14 7 13 6 0 0 0 12 13 11 4 36 114 113 12 11 12 6 0 0 0 11 15 16 6 8 102 44 11 7 9 4 108 0 0 7 9 11 4 112 86 0 9 7 13 2 51 17 41 11 14 15 7 43 45 74 11 15 10 5 120 123 0 12 7 11 4 13 24 0 12 15 13 6 55 5 0 11 17 16 6 103 123 32 11 15 15 7 127 136 126 8 14 14 5 14 4 154 9 14 14 6 135 76 129 12 8 14 4 38 99 98 10 8 8 4 11 98 82 10 14 13 7 43 67 45 12 14 15 7 141 92 8 8 8 13 4 62 13 0 12 11 11 4 62 24 129 11 16 15 6 135 129 31 12 10 15 6 117 117 117 7 8 9 5 82 11 99 11 14 13 6 145 20 55 11 16 16 7 87 91 132 12 13 13 6 76 111 58 9 5 11 3 124 0 0 15 8 12 3 151 58 0 11 10 12 4 131 0 0 11 8 12 6 127 146 101 11 13 14 7 76 129 31 11 15 14 5 25 48 147 15 6 8 4 0 0 0 11 12 13 5 58 111 132 12 16 16 6 115 32 123 12 5 13 6 130 112 39 9 15 11 6 17 51 136 12 12 14 5 102 53 141 12 8 13 4 21 131 0 13 13 13 5 0 0 0 11 14 13 5 14 76 135 9 12 12 4 110 106 118 9 16 16 6 133 26 154 11 10 15 2 83 44 0 11 15 15 8 56 63 116 12 8 12 3 0 0 0 12 16 14 6 44 116 88 9 19 12 6 70 119 25 11 14 15 6 36 18 113 9 6 12 5 5 134 157 12 13 13 5 118 138 26 12 15 12 6 17 41 38 12 7 12 5 79 0 0 12 13 13 6 122 57 53 14 4 5 2 119 101 0 11 14 13 5 36 114 106 12 13 13 5 36 113 106 11 11 14 5 141 122 102 6 14 17 6 0 14 138 10 12 13 6 37 10 142 12 15 13 6 110 27 73 13 14 12 5 10 39 130 8 13 13 5 14 133 86 12 8 14 4 157 42 78 12 6 11 2 59 0 0 12 7 12 4 77 58 0 6 13 12 6 129 133 4 11 13 16 6 125 151 91 10 11 12 5 87 111 132 12 5 12 3 61 139 0 13 12 12 6 146 126 0 11 8 10 4 96 139 0 7 11 15 5 133 138 14 11 14 15 8 47 52 97 11 9 12 4 74 67 45 11 10 16 6 109 97 0 11 13 15 6 30 137 149 12 16 16 7 116 56 57 10 16 13 6 149 3 105 11 11 12 5 19 78 0 12 8 11 4 96 0 0 7 4 13 6 0 0 0 13 7 10 3 21 0 0 8 14 15 5 26 118 128 12 11 13 6 156 39 29 11 17 16 7 53 63 148 12 15 15 7 72 78 93 14 17 18 6 27 26 4 10 5 13 3 66 50 0 10 4 10 2 71 104 158 13 10 16 8 66 54 144 10 11 13 3 40 104 0 11 15 15 8 57 148 122 10 10 14 3 3 30 149 7 9 15 4 12 38 17 10 12 14 5 107 132 91 8 15 13 7 80 132 111 12 7 13 6 98 84 99 12 13 15 6 155 71 40 12 12 16 7 111 125 132 11 14 14 6 81 25 123 12 14 14 6 50 66 54 12 8 16 6 49 86 90 12 15 14 6 96 61 86 11 12 12 4 2 60 152 12 12 13 4 1 144 152 11 16 12 5 22 120 123 11 9 12 4 64 139 100 13 15 14 6 56 131 116 12 15 14 6 144 159 59 12 6 14 5 0 0 0 12 14 16 8 94 18 5 12 15 13 6 25 123 147 8 10 14 5 93 18 139 8 6 4 4 0 0 0 12 14 16 8 48 123 81 11 12 13 6 30 105 3 12 8 16 4 19 0 0 13 11 15 6 0 0 0 12 13 14 6 10 68 37 12 9 13 4 78 157 5 11 15 14 6 93 94 69 12 13 12 3 0 0 0 12 15 15 6 95 87 0 10 14 14 5 50 156 142 11 16 13 4 86 139 17 12 14 14 6 33 145 100 12 14 16 4 152 55 70 10 10 6 4 51 41 0 12 10 13 4 48 25 123 13 4 13 6 97 47 109 12 8 14 5 77 0 0 15 15 15 6 130 143 37 11 16 14 6 8 102 44 12 12 15 8 84 148 98 11 12 13 7 51 153 11 12 15 16 7 33 32 9 11 9 12 4 6 106 0 10 12 15 6 116 63 57 11 14 12 6 88 56 63 11 11 14 2 142 39 66
Names of X columns:
findingfriends knowingPeople liked celebrity friend secondbestfriend thirdbestfriend
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, 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