Home » date » 2009 » Nov » 19 »

*The author of this computation has been verified*
R Software Module: /rwasp_multipleregression.wasp (opens new window with default values)
Title produced by software: Multiple Regression
Date of computation: Thu, 19 Nov 2009 01:47:11 -0700
 
Cite this page as follows:
Statistical Computations at FreeStatistics.org, Office for Research Development and Education, URL http://www.freestatistics.org/blog/date/2009/Nov/19/t12586206143pctc3md3gmv49t.htm/, Retrieved Thu, 19 Nov 2009 09:50:26 +0100
 
BibTeX entries for LaTeX users:
@Manual{KEY,
    author = {{YOUR NAME}},
    publisher = {Office for Research Development and Education},
    title = {Statistical Computations at FreeStatistics.org, URL http://www.freestatistics.org/blog/date/2009/Nov/19/t12586206143pctc3md3gmv49t.htm/},
    year = {2009},
}
@Manual{R,
    title = {R: A Language and Environment for Statistical Computing},
    author = {{R Development Core Team}},
    organization = {R Foundation for Statistical Computing},
    address = {Vienna, Austria},
    year = {2009},
    note = {{ISBN} 3-900051-07-0},
    url = {http://www.R-project.org},
}
 
Original text written by user:
 
IsPrivate?
No (this computation is public)
 
User-defined keywords:
 
Dataseries X:
» Textbox « » Textfile « » CSV «
3353 1 3186 1 3902 1 4164 1 3499 1 4145 1 3796 1 3711 1 3949 1 3740 1 3243 1 4407 1 4814 1 3908 1 5250 1 3937 1 4004 1 5560 1 3922 1 3759 1 4138 1 4634 1 3996 1 4308 1 4143 0 4429 0 5219 0 4929 0 5755 0 5592 0 4163 0 4962 0 5208 0 4755 0 4491 0 5732 0 5731 0 5040 0 6102 0 4904 0 5369 0 5578 0 4619 0 4731 0 5011 0 5299 0 4146 0 4625 0 4736 0 4219 0 5116 0 4205 0 4121 0 5103 1 4300 1 4578 1 3809 1 5526 1 4247 1 3830 1 4394 1
 
Output produced by software:

Enter (or paste) a matrix (table) containing all data (time) series. Every column represents a different variable and must be delimited by a space or Tab. Every row represents a period in time (or category) and must be delimited by hard returns. The easiest way to enter data is to copy and paste a block of spreadsheet cells. Please, do not use commas or spaces to seperate groups of digits!


Summary of computational transaction
Raw Inputview raw input (R code)
Raw Outputview raw output of R engine
Computing time4 seconds
R Server'Gwilym Jenkins' @ 72.249.127.135


Multiple Linear Regression - Estimated Regression Equation
Y[t] = + 5051.60408163265 -785.340136054422X[t] -130.434013605440M1[t] -581.068027210885M2[t] + 380.331972789115M3[t] -309.668027210883M4[t] -187.868027210884M5[t] + 615.199999999999M6[t] -420.4M7[t] -232.2M8[t] -157.400000000000M9[t] + 210.4M10[t] -555.8M11[t] + e[t]


Multiple Linear Regression - Ordinary Least Squares
VariableParameterS.D.T-STAT
H0: parameter = 0
2-tail p-value1-tail p-value
(Intercept)5051.60408163265243.68579820.7300
X-785.340136054422134.144617-5.854400
M1-130.434013605440311.72392-0.41840.67750.33875
M2-581.068027210885326.387939-1.78030.0813570.040679
M3380.331972789115326.3879391.16530.2496660.124833
M4-309.668027210883326.387939-0.94880.3474890.173744
M5-187.868027210884326.387939-0.57560.5675760.283788
M6615.199999999999325.2834081.89130.0646310.032315
M7-420.4325.283408-1.29240.2024020.101201
M8-232.2325.283408-0.71380.4787840.239392
M9-157.400000000000325.283408-0.48390.6306670.315334
M10210.4325.2834080.64680.5208290.260415
M11-555.8325.283408-1.70870.0939730.046986


Multiple Linear Regression - Regression Statistics
Multiple R0.749715982507451
R-squared0.562074054427113
Adjusted R-squared0.452592568033891
F-TEST (value)5.1339644075376
F-TEST (DF numerator)12
F-TEST (DF denominator)48
p-value1.93964197101604e-05
Multiple Linear Regression - Residual Statistics
Residual Standard Deviation514.318227918436
Sum Squared Residuals12697115.4993197


Multiple Linear Regression - Actuals, Interpolation, and Residuals
Time or IndexActualsInterpolation
Forecast
Residuals
Prediction Error
133534135.82993197278-782.82993197278
231863685.19591836735-499.195918367347
339024646.59591836735-744.595918367348
441643956.59591836735207.404081632653
534994078.39591836735-579.395918367346
641454881.46394557823-736.463945578232
737963845.86394557823-49.8639455782308
837114034.06394557823-323.063945578231
939494108.86394557823-159.863945578231
1037404476.66394557823-736.663945578231
1132433710.46394557823-467.463945578232
1244074266.26394557823140.736054421769
1348144135.82993197279678.170068027209
1439083685.19591836735222.804081632653
1552504646.59591836735603.404081632653
1639373956.59591836735-19.5959183673476
1740044078.39591836735-74.3959183673475
1855604881.46394557823678.536054421769
1939223845.8639455782376.1360544217683
2037594034.06394557823-275.063945578232
2141384108.8639455782329.1360544217685
2246344476.66394557823157.336054421768
2339963710.46394557823285.536054421769
2443084266.2639455782341.7360544217684
2541434921.17006802721-778.170068027212
2644294470.53605442177-41.5360544217689
2752195431.93605442177-212.936054421769
2849294741.93605442177187.063945578231
2957554863.73605442177891.263945578231
3055925666.80408163265-74.8040816326526
3141634631.20408163265-468.204081632653
3249624819.40408163265142.595918367347
3352084894.20408163265313.795918367347
3447555262.00408163265-507.004081632653
3544914495.80408163265-4.80408163265294
3657325051.60408163265680.395918367347
3757314921.17006802721809.829931972788
3850404470.53605442177569.463945578231
3961025431.93605442177670.063945578231
4049044741.93605442177162.063945578231
4153694863.73605442177505.263945578231
4255785666.80408163265-88.8040816326526
4346194631.20408163265-12.2040816326532
4447314819.40408163265-88.404081632653
4550114894.20408163265116.795918367347
4652995262.0040816326536.9959183673471
4741464495.80408163265-349.804081632653
4846255051.60408163265-426.604081632653
4947364921.17006802721-185.170068027213
5042194470.53605442177-251.536054421769
5151165431.93605442177-315.936054421769
5242054741.93605442177-536.936054421769
5341214863.73605442177-742.73605442177
5451034881.46394557823221.536054421769
5543003845.86394557823454.136054421768
5645784034.06394557823543.936054421769
5738094108.86394557823-299.863945578231
5855264476.663945578231049.33605442177
5942473710.46394557823536.536054421769
6038304266.26394557823-436.263945578231
6143944135.82993197279258.170068027209


Goldfeld-Quandt test for Heteroskedasticity
p-valuesAlternative Hypothesis
breakpoint indexgreater2-sidedless
160.9618505918082320.07629881638353680.0381494081917684
170.93671342116050.1265731576789990.0632865788394996
180.965966122138370.06806775572326020.0340338778616301
190.9353249041190.1293501917620.064675095881
200.9034841916565260.1930316166869470.0965158083434737
210.8493136795546350.3013726408907300.150686320445365
220.8361669170883470.3276661658233060.163833082911653
230.8019253114106420.3961493771787160.198074688589358
240.7226751869038640.5546496261922720.277324813096136
250.707859005416750.5842819891665020.292140994583251
260.6589546441214230.6820907117571540.341045355878577
270.5788330425153440.8423339149693110.421166957484656
280.5043417700754770.9913164598490450.495658229924523
290.6721990206515980.6556019586968040.327800979348402
300.581586091932250.8368278161355010.418413908067750
310.5435669891273490.9128660217453030.456433010872651
320.4623884522697350.9247769045394690.537611547730265
330.4069014932558210.8138029865116420.593098506744179
340.4157195495713250.831439099142650.584280450428675
350.3216020854206960.6432041708413920.678397914579304
360.460890662733250.92178132546650.53910933726675
370.6085408084986130.7829183830027730.391459191501387
380.6247526658777810.7504946682444370.375247334122219
390.7022295202139940.5955409595720110.297770479786006
400.684148829395010.6317023412099810.315851170604991
410.8885640765745280.2228718468509440.111435923425472
420.811849762031630.376300475936740.18815023796837
430.6964432893471530.6071134213056940.303556710652847
440.5630472909674190.8739054180651620.436952709032581
450.7095677110527260.5808645778945480.290432288947274


Meta Analysis of Goldfeld-Quandt test for Heteroskedasticity
Description# significant tests% significant testsOK/NOK
1% type I error level00OK
5% type I error level00OK
10% type I error level20.0666666666666667OK
 
Charts produced by software:
http://www.freestatistics.org/blog/date/2009/Nov/19/t12586206143pctc3md3gmv49t/10xq8a1258620426.png (open in new window)
http://www.freestatistics.org/blog/date/2009/Nov/19/t12586206143pctc3md3gmv49t/10xq8a1258620426.ps (open in new window)


http://www.freestatistics.org/blog/date/2009/Nov/19/t12586206143pctc3md3gmv49t/13b981258620426.png (open in new window)
http://www.freestatistics.org/blog/date/2009/Nov/19/t12586206143pctc3md3gmv49t/13b981258620426.ps (open in new window)


http://www.freestatistics.org/blog/date/2009/Nov/19/t12586206143pctc3md3gmv49t/2tyhc1258620426.png (open in new window)
http://www.freestatistics.org/blog/date/2009/Nov/19/t12586206143pctc3md3gmv49t/2tyhc1258620426.ps (open in new window)


http://www.freestatistics.org/blog/date/2009/Nov/19/t12586206143pctc3md3gmv49t/3fjzy1258620426.png (open in new window)
http://www.freestatistics.org/blog/date/2009/Nov/19/t12586206143pctc3md3gmv49t/3fjzy1258620426.ps (open in new window)


http://www.freestatistics.org/blog/date/2009/Nov/19/t12586206143pctc3md3gmv49t/492zx1258620426.png (open in new window)
http://www.freestatistics.org/blog/date/2009/Nov/19/t12586206143pctc3md3gmv49t/492zx1258620426.ps (open in new window)


http://www.freestatistics.org/blog/date/2009/Nov/19/t12586206143pctc3md3gmv49t/5p4ia1258620426.png (open in new window)
http://www.freestatistics.org/blog/date/2009/Nov/19/t12586206143pctc3md3gmv49t/5p4ia1258620426.ps (open in new window)


http://www.freestatistics.org/blog/date/2009/Nov/19/t12586206143pctc3md3gmv49t/6meqy1258620426.png (open in new window)
http://www.freestatistics.org/blog/date/2009/Nov/19/t12586206143pctc3md3gmv49t/6meqy1258620426.ps (open in new window)


http://www.freestatistics.org/blog/date/2009/Nov/19/t12586206143pctc3md3gmv49t/77hjn1258620426.png (open in new window)
http://www.freestatistics.org/blog/date/2009/Nov/19/t12586206143pctc3md3gmv49t/77hjn1258620426.ps (open in new window)


http://www.freestatistics.org/blog/date/2009/Nov/19/t12586206143pctc3md3gmv49t/89fi11258620426.png (open in new window)
http://www.freestatistics.org/blog/date/2009/Nov/19/t12586206143pctc3md3gmv49t/89fi11258620426.ps (open in new window)


http://www.freestatistics.org/blog/date/2009/Nov/19/t12586206143pctc3md3gmv49t/95frs1258620426.png (open in new window)
http://www.freestatistics.org/blog/date/2009/Nov/19/t12586206143pctc3md3gmv49t/95frs1258620426.ps (open in new window)


 
Parameters (Session):
par1 = 1 ; par2 = Include Monthly Dummies ; par3 = No Linear Trend ;
 
Parameters (R input):
par1 = 1 ; par2 = Include Monthly Dummies ; par3 = No Linear Trend ;
 
R code (references can be found in the software module):
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')
}
 





Copyright

Creative Commons License

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 License.

Software written by Ed van Stee & Patrick Wessa


Disclaimer

Information provided on this web site is provided "AS IS" without warranty of any kind, either express or implied, including, without limitation, warranties of merchantability, fitness for a particular purpose, and noninfringement. We use reasonable efforts to include accurate and timely information and periodically update the information, and software without notice. However, we make no warranties or representations as to the accuracy or completeness of such information (or software), and we assume no liability or responsibility for errors or omissions in the content of this web site, or any software bugs in online applications. Your use of this web site is AT YOUR OWN RISK. Under no circumstances and under no legal theory shall we be liable to you or any other person for any direct, indirect, special, incidental, exemplary, or consequential damages arising from your access to, or use of, this web site.


Privacy Policy

We may request personal information to be submitted to our servers in order to be able to:

  • personalize online software applications according to your needs
  • enforce strict security rules with respect to the data that you upload (e.g. statistical data)
  • manage user sessions of online applications
  • alert you about important changes or upgrades in resources or applications

We NEVER allow other companies to directly offer registered users information about their products and services. Banner references and hyperlinks of third parties NEVER contain any personal data of the visitor.

We do NOT sell, nor transmit by any means, personal information, nor statistical data series uploaded by you to third parties.

We carefully protect your data from loss, misuse, alteration, and destruction. However, at any time, and under any circumstance you are solely responsible for managing your passwords, and keeping them secret.

We store a unique ANONYMOUS USER ID in the form of a small 'Cookie' on your computer. This allows us to track your progress when using this website which is necessary to create state-dependent features. The cookie is used for NO OTHER PURPOSE. At any time you may opt to disallow cookies from this website - this will not affect other features of this website.

We examine cookies that are used by third-parties (banner and online ads) very closely: abuse from third-parties automatically results in termination of the advertising contract without refund. We have very good reason to believe that the cookies that are produced by third parties (banner ads) do NOT cause any privacy or security risk.

FreeStatistics.org is safe. There is no need to download any software to use the applications and services contained in this website. Hence, your system's security is not compromised by their use, and your personal data - other than data you submit in the account application form, and the user-agent information that is transmitted by your browser - is never transmitted to our servers.

As a general rule, we do not log on-line behavior of individuals (other than normal logging of webserver 'hits'). However, in cases of abuse, hacking, unauthorized access, Denial of Service attacks, illegal copying, hotlinking, non-compliance with international webstandards (such as robots.txt), or any other harmful behavior, our system engineers are empowered to log, track, identify, publish, and ban misbehaving individuals - even if this leads to ban entire blocks of IP addresses, or disclosing user's identity.


FreeStatistics.org is powered by