Home » date » 2010 » Dec » 24 »

*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: Fri, 24 Dec 2010 16:49:02 +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/24/t1293209585lm77qat6i6ujz1n.htm/, Retrieved Fri, 24 Dec 2010 17:53:09 +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/24/t1293209585lm77qat6i6ujz1n.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 «
24 14 11 12 24 26 25 11 7 8 25 23 17 6 17 8 30 25 18 12 10 8 19 23 18 8 12 9 22 19 16 10 12 7 22 29 20 10 11 4 25 25 16 11 11 11 23 21 18 16 12 7 17 22 17 11 13 7 21 25 23 13 14 12 19 24 30 12 16 10 19 18 23 8 11 10 15 22 18 12 10 8 16 15 15 11 11 8 23 22 12 4 15 4 27 28 21 9 9 9 22 20 15 8 11 8 14 12 20 8 17 7 22 24 31 14 17 11 23 20 27 15 11 9 23 21 34 16 18 11 21 20 21 9 14 13 19 21 31 14 10 8 18 23 19 11 11 8 20 28 16 8 15 9 23 24 20 9 15 6 25 24 21 9 13 9 19 24 22 9 16 9 24 23 17 9 13 6 22 23 24 10 9 6 25 29 25 16 18 16 26 24 26 11 18 5 29 18 25 8 12 7 32 25 17 9 17 9 25 21 32 16 9 6 29 26 33 11 9 6 28 22 13 16 12 5 17 22 32 12 18 12 28 22 25 12 12 7 29 23 29 14 18 10 26 30 22 9 14 9 25 23 18 10 15 8 14 17 17 9 16 5 25 23 20 10 10 8 26 23 15 12 11 8 20 25 20 14 14 10 18 24 33 14 9 6 32 24 29 10 12 8 25 23 23 14 17 7 25 21 26 16 5 4 23 24 18 9 12 8 21 24 20 10 12 8 20 28 11 6 6 4 15 16 28 8 24 20 30 20 26 13 12 8 24 29 22 10 12 8 26 27 17 8 14 6 24 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'George Udny Yule' @ 72.249.76.132


Goodness of Fit
Correlation0.4918
R-squared0.2418
RMSE3.3895


Actuals, Predictions, and Residuals
#ActualsForecastsResiduals
12621.654.35
22324.2698412698413-1.26984126984127
32524.26984126984130.730158730158731
42321.45833333333331.54166666666667
51921.65-2.65
62924.26984126984134.73015873015873
72524.26984126984130.730158730158731
82121.65-0.649999999999999
92221.45833333333330.541666666666668
102524.26984126984130.730158730158731
112421.652.35
121821.65-3.65
132217.33333333333334.66666666666667
141517.3333333333333-2.33333333333333
152224.2698412698413-2.26984126984127
162824.26984126984133.73015873015873
172021.65-1.65
181217.3333333333333-5.33333333333333
192424.2698412698413-0.269841269841269
202021.65-1.65
212121.65-0.649999999999999
222021.65-1.65
232121.65-0.649999999999999
242321.45833333333331.54166666666667
252824.26984126984133.73015873015873
262421.652.35
272424.2698412698413-0.269841269841269
282421.652.35
292321.651.35000000000000
302324.2698412698413-1.26984126984127
312924.26984126984134.73015873015873
322421.652.35
331824.2698412698413-6.26984126984127
342524.26984126984130.730158730158731
352121.65-0.649999999999999
362624.26984126984131.73015873015873
372224.2698412698413-2.26984126984127
382221.45833333333330.541666666666668
392221.650.350000000000001
402324.2698412698413-1.26984126984127
413021.658.35
422321.651.35000000000000
431717.3333333333333-0.333333333333332
442324.2698412698413-1.26984126984127
452324.2698412698413-1.26984126984127
462524.26984126984130.730158730158731
472421.652.35
482424.2698412698413-0.269841269841269
492324.2698412698413-1.26984126984127
502124.2698412698413-3.26984126984127
512424.2698412698413-0.269841269841269
522424.2698412698413-0.269841269841269
532824.26984126984133.73015873015873
541617.3333333333333-1.33333333333333
552021.65-1.65
562924.26984126984134.73015873015873
572724.26984126984132.73015873015873
582224.2698412698413-2.26984126984127
592824.26984126984133.73015873015873
601617.3333333333333-1.33333333333333
612521.653.35
622424.2698412698413-0.269841269841269
632824.26984126984133.73015873015873
642421.652.35
652321.45833333333331.54166666666667
663024.26984126984135.73015873015873
672424.2698412698413-0.269841269841269
682124.2698412698413-3.26984126984127
692521.45833333333333.54166666666667
702524.26984126984130.730158730158731
712224.2698412698413-2.26984126984127
722324.2698412698413-1.26984126984127
732621.654.35
742321.651.35000000000000
752524.26984126984130.730158730158731
762124.2698412698413-3.26984126984127
772524.26984126984130.730158730158731
782421.652.35
792924.26984126984134.73015873015873
802224.2698412698413-2.26984126984127
812721.655.35
822621.45833333333334.54166666666667
832221.45833333333330.541666666666668
842421.652.35
852721.45833333333335.54166666666667
862424.2698412698413-0.269841269841269
872424.2698412698413-0.269841269841269
882924.26984126984134.73015873015873
892221.650.350000000000001
902121.4583333333333-0.458333333333332
912421.45833333333332.54166666666667
922421.45833333333332.54166666666667
932321.45833333333331.54166666666667
942024.2698412698413-4.26984126984127
952721.655.35
962621.654.35
972521.653.35
982121.65-0.649999999999999
992121.4583333333333-0.458333333333332
1001921.4583333333333-2.45833333333333
1012121.65-0.649999999999999
1022121.4583333333333-0.458333333333332
1031621.65-5.65
1042221.650.350000000000001
1052921.657.35
1061521.4583333333333-6.45833333333333
1071721.4583333333333-4.45833333333333
1081521.65-6.65
1092121.65-0.649999999999999
1102117.33333333333333.66666666666667
1111917.33333333333331.66666666666667
1122421.652.35
1132021.65-1.65
1141721.65-4.65
1152321.651.35000000000000
1162424.2698412698413-0.269841269841269
1171424.2698412698413-10.2698412698413
1181924.2698412698413-5.26984126984127
1192421.652.35
1201317.3333333333333-4.33333333333333
1212224.2698412698413-2.26984126984127
1221621.4583333333333-5.45833333333333
1231921.65-2.65
1242524.26984126984130.730158730158731
1252521.45833333333333.54166666666667
1262324.2698412698413-1.26984126984127
1272424.2698412698413-0.269841269841269
1282624.26984126984131.73015873015873
1292621.654.35
1302524.26984126984130.730158730158731
1311821.65-3.65
1322117.33333333333333.66666666666667
1332624.26984126984131.73015873015873
1342321.45833333333331.54166666666667
1352317.33333333333335.66666666666667
1362221.650.350000000000001
1372021.4583333333333-1.45833333333333
1381321.65-8.65
1392421.652.35
1401521.65-6.65
1411421.65-7.65
1422221.650.350000000000001
1431021.65-11.65
1442424.2698412698413-0.269841269841269
1452221.650.350000000000001
1462424.2698412698413-0.269841269841269
1471921.65-2.65
1482024.2698412698413-4.26984126984127
1491317.3333333333333-4.33333333333333
1502021.65-1.65
1512221.650.350000000000001
1522424.2698412698413-0.269841269841269
1532924.26984126984134.73015873015873
1541221.4583333333333-9.45833333333333
1552021.65-1.65
1562121.4583333333333-0.458333333333332
1572424.2698412698413-0.269841269841269
1582221.650.350000000000001
1592021.65-1.65
 
Charts produced by software:
http://www.freestatistics.org/blog/date/2010/Dec/24/t1293209585lm77qat6i6ujz1n/23nsh1293209333.png (open in new window)
http://www.freestatistics.org/blog/date/2010/Dec/24/t1293209585lm77qat6i6ujz1n/23nsh1293209333.ps (open in new window)


http://www.freestatistics.org/blog/date/2010/Dec/24/t1293209585lm77qat6i6ujz1n/33nsh1293209333.png (open in new window)
http://www.freestatistics.org/blog/date/2010/Dec/24/t1293209585lm77qat6i6ujz1n/33nsh1293209333.ps (open in new window)


http://www.freestatistics.org/blog/date/2010/Dec/24/t1293209585lm77qat6i6ujz1n/4ew9k1293209333.png (open in new window)
http://www.freestatistics.org/blog/date/2010/Dec/24/t1293209585lm77qat6i6ujz1n/4ew9k1293209333.ps (open in new window)


 
Parameters (Session):
par1 = 6 ; par2 = none ; par3 = 3 ; par4 = no ;
 
Parameters (R input):
par1 = 6 ; par2 = none ; par3 = 3 ; 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