Send output to:
Browser Blue - Charts White
Browser Black/White
CSV
Data X:
93.7 76.6 76.4 85.7 114.7 83.8 83.8 116 121.2 95.1 95 130.6 98.6 82.2 82 105.1 111.5 89.2 89 130.7 107.5 86.9 86.7 113.9 69.1 72 71.8 40.1 88.3 79.4 79.2 112.2 114.7 89.1 89.1 120.6 115.5 89.8 89.7 123.1 109.5 88.9 88.8 112.2 97.7 83.2 83.1 90.5 102 90.8 90.7 89.2 107.5 89.3 89.4 107.9 120.5 99.2 99.2 111.1 101.9 86.7 86.6 92 107.6 93.5 93.3 115 113.9 96.7 96.7 116.4 70.9 80.5 80.2 53.4 93.4 84.1 83.8 109 114.8 92.9 92.9 105.3 117.8 97.2 97.3 120.4 105.2 92.4 92.4 102.3 95.1 83.6 83.5 68.6 97.5 89.9 89.8 91.9 103.2 88 88 95.1 111.6 97.4 97.4 113 105.4 92.8 92.8 106.3 97.8 90.6 90.5 106.5 104.4 93.9 94.1 109.6 75 83.5 83.2 49 82.2 80.5 80.1 95.3 116.2 97.7 97.6 114.9 115 102 102 118 91.5 94.2 94.1 102.9 89.5 87.1 86.9 67 90.7 92.5 92.4 84.5 100.1 92.8 92.8 95.9 100.1 99.8 99.8 114 93.5 97 96.9 106.6 84.4 91.6 91.5 100 101.2 98 97.9 111.6 75.3 88.7 88.5 56.5 76.5 82.3 81.9 90.2 105.6 102.4 102.4 122.3 110.4 104.5 104.5 118.8 91.5 93.9 93.9 94.5 88.1 97.1 97.1 77.4 88.2 91.3 91.2 89.3 99.3 93.2 93.2 99.5 117.1 108 108.1 122.2 100.5 98.2 98.2 104.6 83.9 92 91.9 97.4 110.7 106.5 106.5 121 66.9 89.5 89.3 48.3 85.9 87.8 87.5 103.4 112.1 105.2 105.3 119.8 105.5 104.3 104.3 113.9 104 99.6 99.7 100.4 97.8 101 101 85.9 91.4 94 94 79.4 104.4 96.1 96.2 95.8 111.2 108.3 108.3 103.3 102.3 102.9 103 117.8 94.6 96 95.9 102.8 109.4 109 109 123.8 69.1 87.6 87.4 41.8 86.9 89.9 89.7 107.8 118.3 108.8 108.9 124.4 102.3 102.3 102.4 109.1 108.8 103.9 104 107.1 101.2 101.3 101.3 86.9 99.1 97.4 97.3 86.3 105.5 98.1 98.1 98.6 119.8 111.4 111.5 121.6 94.5 94.2 94.1 102.9 101.4 104.5 104.5 116.5 116.5 110 110 124.3 66.7 89.7 89.3 44.2 91.6 92.6 92.5 110.5 119.8 108.6 108.7 124.2 116.4 110.6 110.7 116.3 111.7 107 107.1 113.3 102.4 101.4 101.4 83.9 99.3 107.2 107.3 95.6 109.3 105.1 105.2 106.8 119 114.1 114.2 122.7 102.5 103.1 103 102.7 104.9 107.6 107.6 108.4 122.4 113.8 113.9 120 76.4 100.2 100.1 49.4 103.2 100.2 100.2 111.2 120.8 109 109.1 113.3 124.9 119.6 119.8 125.8 110.2 112.2 112.4 109.9 99.7 100 100 74.3 97.1 111.4 111.6 106.7 109.3 113.1 113.3 114.8 109.4 113.7 113.9 93.6 117 117.1 117.4 126.4 107.1 108.5 108.5 109.4 118.5 117 117.3 117.3 85.1 103.7 103.7 57.1 85.3 95.2 95.1 97.4 129.7 116.4 116.6 122.7 128 116.6 116.9 115.7 103.3 98.8 98.8 95.5 103.9 97.7 97.7 77.6 96.2 89.8 89.6 86.3 106.3 93 93.1 101.3 114.8 100.4 100.4 116.6 101.9 93.5 93.5 100.2 90.9 90.9 90.8 98.8 108.5 103.4 103.4 113.8 75.6 91.1 90.9 53.2 90.6 89.5 89.3 93.6 121.1 108.1 108.2 117.7 116.6 107.8 107.9 117.9 105.7 99.9 100 87.2 101.1 94.6 94.6 68.9 97 94.3 94.2 74 105.4 99.9 99.9 83.9 117.9 113.8 113.9 121.1 104.5 105.4 105.5 98.1 97.4 101.2 101.2 89.1 115.8 115 115.1 116.1 73.1 94.4 94.2 48.9 90.6 95.5 95.4 98.6 124.1 113.3 113.5 114.8 110.1 108.7 108.8 109.2 103.4 106.9 107 91.4 109.4 102.8 102.8 58.6 92.1 104.7 104.7 81.9 107.8 108.2 108.5 105.2 116.2 128 128.4 122.4 97.5 108.4 108.5 92.2 104.8 115.5 115.6 113.9 106.2 111.5 111.7 104.1 73.6 93.8 93.7 43.1 100.7 106 106.1 100.1 123.4 118.4 118.7 118 109.1 110.8 111 103.8 100.1 110.5 110.8 103.4 105.9 104.1 104.2 79.5 104.8 105 105.1 87.2 110.8 102.8 102.9 98.3 118.4 113.8 114 145.7 93.1 102 102.1 107.9 105.4 106.1 106.2 107.6 113.6 109.6 109.7 111.6 75 97.3 97.3 48.9 94 98.2 98.2 104.3
Names of X columns:
a b c d
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