Home » date » 2010 » Dec » 21 »

*The author of this computation has been verified*
R Software Module: /rwasp_regression_trees1.wasp (opens new window with default values)
Title produced by software: Recursive Partitioning (Regression Trees)
Date of computation: Tue, 21 Dec 2010 14:26:47 +0000
 
Cite this page as follows:
Statistical Computations at FreeStatistics.org, Office for Research Development and Education, URL http://www.freestatistics.org/blog/date/2010/Dec/21/t129294154722v3rrinzdmb6g0.htm/, Retrieved Tue, 21 Dec 2010 15:25:47 +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/2010/Dec/21/t129294154722v3rrinzdmb6g0.htm/},
    year = {2010},
}
@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 = {2010},
    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 «
1 1 14 41 38 13 12 1 1 18 39 32 16 11 1 1 11 30 35 19 15 1 0 12 31 33 15 6 1 1 16 34 37 14 13 1 1 18 35 29 13 10 1 1 14 39 31 19 12 1 1 14 34 36 15 14 1 1 15 36 35 14 12 1 1 15 37 38 15 9 1 0 17 38 31 16 10 1 1 19 36 34 16 12 1 0 10 38 35 16 12 1 1 16 39 38 16 11 1 1 18 33 37 17 15 1 0 14 32 33 15 12 1 0 14 36 32 15 10 1 1 17 38 38 20 12 1 0 14 39 38 18 11 1 1 16 32 32 16 12 1 0 18 32 33 16 11 1 1 11 31 31 16 12 1 1 14 39 38 19 13 1 1 12 37 39 16 11 1 0 17 39 32 17 12 1 1 9 41 32 17 13 1 0 16 36 35 16 10 1 1 14 33 37 15 14 1 1 15 33 33 16 12 1 0 11 34 33 14 10 1 1 16 31 31 15 12 1 0 13 27 32 12 8 1 1 17 37 31 14 10 1 1 15 34 37 16 12 1 0 14 34 30 14 12 1 0 16 32 33 10 7 1 0 9 29 31 10 9 1 0 15 36 33 14 12 1 1 17 29 31 16 10 1 0 13 35 33 16 10 1 0 15 37 32 16 10 1 1 16 34 33 14 12 1 0 16 38 32 20 15 1 0 12 35 33 14 10 1 1 15 38 28 14 10 1 1 11 37 35 11 12 1 1 15 38 39 14 13 1 1 15 33 34 15 11 1 1 17 36 38 16 11 1 0 13 38 32 14 12 1 1 16 32 38 16 14 1 0 14 32 3 etc...
 
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 time8 seconds
R Server'Sir Ronald Aylmer Fisher' @ 193.190.124.24


Goodness of Fit
Correlation0.6403
R-squared0.41
RMSE1.8068


Actuals, Predictions, and Residuals
#ActualsForecastsResiduals
11210.2031251.796875
21111.225-0.225000000000000
31512.96428571428572.03571428571429
4611.225-5.225
51310.2031252.796875
61010.203125-0.203125
71212.9642857142857-0.964285714285714
81411.2252.775
91210.2031251.796875
10911.225-2.225
111011.225-1.225
121211.2250.775
131211.2250.775
141111.225-0.225000000000000
151512.96428571428572.03571428571429
161211.2250.775
171011.225-1.225
181212.9642857142857-0.964285714285714
191112.9642857142857-1.96428571428571
201211.2250.775
211111.225-0.225000000000000
221211.2250.775
231312.96428571428570.0357142857142865
241111.225-0.225000000000000
251212.9642857142857-0.964285714285714
261312.96428571428570.0357142857142865
271011.225-1.225
281411.2252.775
291211.2250.775
301010.203125-0.203125
311211.2250.775
3288.6969696969697-0.696969696969697
331010.203125-0.203125
341211.2250.775
351210.2031251.796875
3678.6969696969697-1.69696969696970
3798.69696969696970.303030303030303
381210.2031251.796875
391011.225-1.225
401011.225-1.225
411011.225-1.225
421210.2031251.796875
431512.96428571428572.03571428571429
441010.203125-0.203125
451010.203125-0.203125
46128.69696969696973.3030303030303
471310.2031252.796875
481111.225-0.225000000000000
491111.225-0.225000000000000
501210.2031251.796875
511411.2252.775
521010.203125-0.203125
53128.69696969696973.3030303030303
541311.2251.775
5556-1
56610.203125-4.203125
571211.2250.775
581211.2250.775
591111.225-0.225000000000000
601011.225-1.225
6178.6969696969697-1.69696969696970
621211.2250.775
631411.2252.775
641110.2031250.796875
651211.2250.775
661312.96428571428570.0357142857142865
671412.96428571428571.03571428571429
681112.9642857142857-1.96428571428571
69128.69696969696973.3030303030303
701211.2250.775
7188.6969696969697-0.696969696969697
721110.2031250.796875
731412.96428571428571.03571428571429
741412.96428571428571.03571428571429
751211.2250.775
76912.9642857142857-3.96428571428571
771311.2251.775
781111.225-0.225000000000000
791210.2031251.796875
801211.2250.775
811211.2250.775
821211.2250.775
831211.2250.775
841111.225-0.225000000000000
851011.225-1.225
86910.203125-1.203125
871211.2250.775
881211.2250.775
891211.2250.775
9098.69696969696970.303030303030303
911512.96428571428572.03571428571429
921211.2250.775
931211.2250.775
941210.2031251.796875
951011.225-1.225
961311.2251.775
97911.225-2.225
981211.2250.775
991010.203125-0.203125
1001411.2252.775
1011111.225-0.225000000000000
1021512.96428571428572.03571428571429
1031111.225-0.225000000000000
1041111.225-0.225000000000000
1051210.2031251.796875
1061212.9642857142857-0.964285714285714
1071211.2250.775
1081111.225-0.225000000000000
10978.6969696969697-1.69696969696970
1101211.2250.775
1111411.2252.775
1121112.9642857142857-1.96428571428571
113108.69696969696971.30303030303030
1141312.96428571428570.0357142857142865
1151310.2031252.796875
116810.203125-2.203125
1171110.2031250.796875
1181211.2250.775
1191110.2031250.796875
1201311.2251.775
1211210.2031251.796875
1221411.2252.775
1231311.2251.775
1241511.2253.775
1251011.225-1.225
1261112.9642857142857-1.96428571428571
127911.225-2.225
128118.69696969696972.30303030303030
1291011.225-1.225
130118.69696969696972.30303030303030
131811.225-3.225
132118.69696969696972.30303030303030
1331210.2031251.796875
1341211.2250.775
135910.203125-1.203125
1361111.225-0.225000000000000
137108.69696969696971.30303030303030
13888.6969696969697-0.696969696969697
13998.69696969696970.303030303030303
140811.225-3.225
141911.225-2.225
1421512.96428571428572.03571428571429
1431111.225-0.225000000000000
14488.6969696969697-0.696969696969697
1451312.96428571428570.0357142857142865
1461210.2031251.796875
1471211.2250.775
148910.203125-1.203125
14978.6969696969697-1.69696969696970
1501311.2251.775
151911.225-2.225
152611.225-5.225
153810.203125-2.203125
15488.6969696969697-0.696969696969697
155610.203125-4.203125
156911.225-2.225
1571111.225-0.225000000000000
15888.6969696969697-0.696969696969697
1591010.203125-0.203125
16088.6969696969697-0.696969696969697
1611412.96428571428571.03571428571429
1621011.225-1.225
16388.6969696969697-0.696969696969697
1641110.2031250.796875
165128.69696969696973.3030303030303
1661210.2031251.796875
1671211.2250.775
16858.6969696969697-3.6969696969697
1691211.2250.775
170108.69696969696971.30303030303030
171761
172128.69696969696973.3030303030303
1731111.225-0.225000000000000
17488.6969696969697-0.696969696969697
17598.69696969696970.303030303030303
1761010.203125-0.203125
17798.69696969696970.303030303030303
1781211.2250.775
17968.6969696969697-2.69696969696970
1801512.96428571428572.03571428571429
1811211.2250.775
1821266
1831211.2250.775
1841112.9642857142857-1.96428571428571
18578.6969696969697-1.69696969696970
18678.6969696969697-1.69696969696970
18758.6969696969697-3.6969696969697
1881210.2031251.796875
1891211.2250.775
19038.6969696969697-5.6969696969697
1911111.225-0.225000000000000
1921010.203125-0.203125
1931211.2250.775
194911.225-2.225
1951211.2250.775
196910.203125-1.203125
1971211.2250.775
1981010.203125-0.203125
19998.69696969696970.303030303030303
200128.69696969696973.3030303030303
201811.225-3.225
2021111.225-0.225000000000000
2031111.225-0.225000000000000
2041211.2250.775
205108.69696969696971.30303030303030
2061011.225-1.225
207128.69696969696973.3030303030303
208128.69696969696973.3030303030303
2091111.225-0.225000000000000
210811.225-3.225
2111211.2250.775
2121010.203125-0.203125
2131112.9642857142857-1.96428571428571
2141010.203125-0.203125
215810.203125-2.203125
2161211.2250.775
2171210.2031251.796875
2181010.203125-0.203125
2191211.2250.775
22098.69696969696970.303030303030303
221660
2221010.203125-0.203125
223910.203125-1.203125
22498.69696969696970.303030303030303
22598.69696969696970.303030303030303
226610.203125-4.203125
227108.69696969696971.30303030303030
228611.225-5.225
2291412.96428571428571.03571428571429
2301010.203125-0.203125
231108.69696969696971.30303030303030
232660
2331210.2031251.796875
2341211.2250.775
23578.6969696969697-1.69696969696970
23688.6969696969697-0.696969696969697
237118.69696969696972.30303030303030
23838.6969696969697-5.6969696969697
239610.203125-4.203125
24088.6969696969697-0.696969696969697
241910.203125-1.203125
24298.69696969696970.303030303030303
24388.6969696969697-0.696969696969697
24498.69696969696970.303030303030303
24578.6969696969697-1.69696969696970
24678.6969696969697-1.69696969696970
24768.6969696969697-2.69696969696970
248911.225-2.225
249108.69696969696971.30303030303030
2501110.2031250.796875
2511211.2250.775
252810.203125-2.203125
2531110.2031250.796875
25436-3
2551111.225-0.225000000000000
256128.69696969696973.3030303030303
25778.6969696969697-1.69696969696970
258910.203125-1.203125
2591211.2250.775
260810.203125-2.203125
2611110.2031250.796875
26288.6969696969697-0.696969696969697
2631011.225-1.225
26488.6969696969697-0.696969696969697
265710.203125-3.203125
266810.203125-2.203125
2671011.225-1.225
268810.203125-2.203125
2691211.2250.775
2701411.2252.775
27178.6969696969697-1.69696969696970
272660
2731111.225-0.225000000000000
27446-2
275911.225-2.225
27656-1
27798.69696969696970.303030303030303
2781111.225-0.225000000000000
2791210.2031251.796875
28098.69696969696970.303030303030303
2811211.2250.775
2821011.225-1.225
28398.69696969696970.303030303030303
284660
2851011.225-1.225
28698.69696969696970.303030303030303
2871311.2251.775
2881210.2031251.796875
 
Charts produced by software:
http://www.freestatistics.org/blog/date/2010/Dec/21/t129294154722v3rrinzdmb6g0/2khsi1292941596.png (open in new window)
http://www.freestatistics.org/blog/date/2010/Dec/21/t129294154722v3rrinzdmb6g0/2khsi1292941596.ps (open in new window)


http://www.freestatistics.org/blog/date/2010/Dec/21/t129294154722v3rrinzdmb6g0/3khsi1292941596.png (open in new window)
http://www.freestatistics.org/blog/date/2010/Dec/21/t129294154722v3rrinzdmb6g0/3khsi1292941596.ps (open in new window)


http://www.freestatistics.org/blog/date/2010/Dec/21/t129294154722v3rrinzdmb6g0/4u8r31292941596.png (open in new window)
http://www.freestatistics.org/blog/date/2010/Dec/21/t129294154722v3rrinzdmb6g0/4u8r31292941596.ps (open in new window)


 
Parameters (Session):
par1 = 7 ; par2 = none ; par3 = 2 ; par4 = no ;
 
Parameters (R input):
par1 = 7 ; par2 = none ; par3 = 2 ; par4 = no ;
 
R code (references can be found in the software module):
library(party)
library(Hmisc)
par1 <- as.numeric(par1)
par3 <- as.numeric(par3)
x <- data.frame(t(y))
is.data.frame(x)
x <- x[!is.na(x[,par1]),]
k <- length(x[1,])
n <- length(x[,1])
colnames(x)[par1]
x[,par1]
if (par2 == 'kmeans') {
cl <- kmeans(x[,par1], par3)
print(cl)
clm <- matrix(cbind(cl$centers,1:par3),ncol=2)
clm <- clm[sort.list(clm[,1]),]
for (i in 1:par3) {
cl$cluster[cl$cluster==clm[i,2]] <- paste('C',i,sep='')
}
cl$cluster <- as.factor(cl$cluster)
print(cl$cluster)
x[,par1] <- cl$cluster
}
if (par2 == 'quantiles') {
x[,par1] <- cut2(x[,par1],g=par3)
}
if (par2 == 'hclust') {
hc <- hclust(dist(x[,par1])^2, 'cen')
print(hc)
memb <- cutree(hc, k = par3)
dum <- c(mean(x[memb==1,par1]))
for (i in 2:par3) {
dum <- c(dum, mean(x[memb==i,par1]))
}
hcm <- matrix(cbind(dum,1:par3),ncol=2)
hcm <- hcm[sort.list(hcm[,1]),]
for (i in 1:par3) {
memb[memb==hcm[i,2]] <- paste('C',i,sep='')
}
memb <- as.factor(memb)
print(memb)
x[,par1] <- memb
}
if (par2=='equal') {
ed <- cut(as.numeric(x[,par1]),par3,labels=paste('C',1:par3,sep=''))
x[,par1] <- as.factor(ed)
}
table(x[,par1])
colnames(x)
colnames(x)[par1]
x[,par1]
if (par2 == 'none') {
m <- ctree(as.formula(paste(colnames(x)[par1],' ~ .',sep='')),data = x)
}
load(file='createtable')
if (par2 != 'none') {
m <- ctree(as.formula(paste('as.factor(',colnames(x)[par1],') ~ .',sep='')),data = x)
if (par4=='yes') {
a<-table.start()
a<-table.row.start(a)
a<-table.element(a,'10-Fold Cross Validation',3+2*par3,TRUE)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'',1,TRUE)
a<-table.element(a,'Prediction (training)',par3+1,TRUE)
a<-table.element(a,'Prediction (testing)',par3+1,TRUE)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Actual',1,TRUE)
for (jjj in 1:par3) a<-table.element(a,paste('C',jjj,sep=''),1,TRUE)
a<-table.element(a,'CV',1,TRUE)
for (jjj in 1:par3) a<-table.element(a,paste('C',jjj,sep=''),1,TRUE)
a<-table.element(a,'CV',1,TRUE)
a<-table.row.end(a)
for (i in 1:10) {
ind <- sample(2, nrow(x), replace=T, prob=c(0.9,0.1))
m.ct <- ctree(as.formula(paste('as.factor(',colnames(x)[par1],') ~ .',sep='')),data =x[ind==1,])
if (i==1) {
m.ct.i.pred <- predict(m.ct, newdata=x[ind==1,])
m.ct.i.actu <- x[ind==1,par1]
m.ct.x.pred <- predict(m.ct, newdata=x[ind==2,])
m.ct.x.actu <- x[ind==2,par1]
} else {
m.ct.i.pred <- c(m.ct.i.pred,predict(m.ct, newdata=x[ind==1,]))
m.ct.i.actu <- c(m.ct.i.actu,x[ind==1,par1])
m.ct.x.pred <- c(m.ct.x.pred,predict(m.ct, newdata=x[ind==2,]))
m.ct.x.actu <- c(m.ct.x.actu,x[ind==2,par1])
}
}
print(m.ct.i.tab <- table(m.ct.i.actu,m.ct.i.pred))
numer <- 0
for (i in 1:par3) {
print(m.ct.i.tab[i,i] / sum(m.ct.i.tab[i,]))
numer <- numer + m.ct.i.tab[i,i]
}
print(m.ct.i.cp <- numer / sum(m.ct.i.tab))
print(m.ct.x.tab <- table(m.ct.x.actu,m.ct.x.pred))
numer <- 0
for (i in 1:par3) {
print(m.ct.x.tab[i,i] / sum(m.ct.x.tab[i,]))
numer <- numer + m.ct.x.tab[i,i]
}
print(m.ct.x.cp <- numer / sum(m.ct.x.tab))
for (i in 1:par3) {
a<-table.row.start(a)
a<-table.element(a,paste('C',i,sep=''),1,TRUE)
for (jjj in 1:par3) a<-table.element(a,m.ct.i.tab[i,jjj])
a<-table.element(a,round(m.ct.i.tab[i,i]/sum(m.ct.i.tab[i,]),4))
for (jjj in 1:par3) a<-table.element(a,m.ct.x.tab[i,jjj])
a<-table.element(a,round(m.ct.x.tab[i,i]/sum(m.ct.x.tab[i,]),4))
a<-table.row.end(a)
}
a<-table.row.start(a)
a<-table.element(a,'Overall',1,TRUE)
for (jjj in 1:par3) a<-table.element(a,'-')
a<-table.element(a,round(m.ct.i.cp,4))
for (jjj in 1:par3) a<-table.element(a,'-')
a<-table.element(a,round(m.ct.x.cp,4))
a<-table.row.end(a)
a<-table.end(a)
table.save(a,file='mytable3.tab')
}
}
m
bitmap(file='test1.png')
plot(m)
dev.off()
bitmap(file='test1a.png')
plot(x[,par1] ~ as.factor(where(m)),main='Response by Terminal Node',xlab='Terminal Node',ylab='Response')
dev.off()
if (par2 == 'none') {
forec <- predict(m)
result <- as.data.frame(cbind(x[,par1],forec,x[,par1]-forec))
colnames(result) <- c('Actuals','Forecasts','Residuals')
print(result)
}
if (par2 != 'none') {
print(cbind(as.factor(x[,par1]),predict(m)))
myt <- table(as.factor(x[,par1]),predict(m))
print(myt)
}
bitmap(file='test2.png')
if(par2=='none') {
op <- par(mfrow=c(2,2))
plot(density(result$Actuals),main='Kernel Density Plot of Actuals')
plot(density(result$Residuals),main='Kernel Density Plot of Residuals')
plot(result$Forecasts,result$Actuals,main='Actuals versus Predictions',xlab='Predictions',ylab='Actuals')
plot(density(result$Forecasts),main='Kernel Density Plot of Predictions')
par(op)
}
if(par2!='none') {
plot(myt,main='Confusion Matrix',xlab='Actual',ylab='Predicted')
}
dev.off()
if (par2 == 'none') {
detcoef <- cor(result$Forecasts,result$Actuals)
a<-table.start()
a<-table.row.start(a)
a<-table.element(a,'Goodness of Fit',2,TRUE)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Correlation',1,TRUE)
a<-table.element(a,round(detcoef,4))
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'R-squared',1,TRUE)
a<-table.element(a,round(detcoef*detcoef,4))
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'RMSE',1,TRUE)
a<-table.element(a,round(sqrt(mean((result$Residuals)^2)),4))
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,'Actuals, Predictions, and Residuals',4,TRUE)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'#',header=TRUE)
a<-table.element(a,'Actuals',header=TRUE)
a<-table.element(a,'Forecasts',header=TRUE)
a<-table.element(a,'Residuals',header=TRUE)
a<-table.row.end(a)
for (i in 1:length(result$Actuals)) {
a<-table.row.start(a)
a<-table.element(a,i,header=TRUE)
a<-table.element(a,result$Actuals[i])
a<-table.element(a,result$Forecasts[i])
a<-table.element(a,result$Residuals[i])
a<-table.row.end(a)
}
a<-table.end(a)
table.save(a,file='mytable.tab')
}
if (par2 != 'none') {
a<-table.start()
a<-table.row.start(a)
a<-table.element(a,'Confusion Matrix (predicted in columns / actuals in rows)',par3+1,TRUE)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'',1,TRUE)
for (i in 1:par3) {
a<-table.element(a,paste('C',i,sep=''),1,TRUE)
}
a<-table.row.end(a)
for (i in 1:par3) {
a<-table.row.start(a)
a<-table.element(a,paste('C',i,sep=''),1,TRUE)
for (j in 1:par3) {
a<-table.element(a,myt[i,j])
}
a<-table.row.end(a)
}
a<-table.end(a)
table.save(a,file='mytable2.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