Free Statistics

of Irreproducible Research!

Author's title

Author*The author of this computation has been verified*
R Software Modulerwasp_regression_trees1.wasp
Title produced by softwareRecursive Partitioning (Regression Trees)
Date of computationThu, 15 Dec 2011 14:34:34 -0500
Cite this page as followsStatistical Computations at FreeStatistics.org, Office for Research Development and Education, URL https://freestatistics.org/blog/index.php?v=date/2011/Dec/15/t13239777022hdyqeg9gmvhtna.htm/, Retrieved Wed, 08 May 2024 10:53:25 +0000
Statistical Computations at FreeStatistics.org, Office for Research Development and Education, URL https://freestatistics.org/blog/index.php?pk=155676, Retrieved Wed, 08 May 2024 10:53:25 +0000
QR Codes:

Original text written by user:
IsPrivate?No (this computation is public)
User-defined keywords
Estimated Impact75
Family? (F = Feedback message, R = changed R code, M = changed R Module, P = changed Parameters, D = changed Data)
-     [Recursive Partitioning (Regression Trees)] [] [2010-12-05 18:59:57] [b98453cac15ba1066b407e146608df68]
- R PD    [Recursive Partitioning (Regression Trees)] [] [2011-12-15 19:34:34] [d519577d845e738b812f706f10c86f64] [Current]
Feedback Forum

Post a new message
Dataseries X:
1461	103425	67
672	70344	28
778	43410	19
1141	104838	49
680	62215	27
1090	69304	30
616	53117	22
285	19764	12
1145	86680	31
733	84105	20
888	77945	20
849	89113	39
1182	91005	29
528	40248	16
642	64187	27
947	50857	21
819	56613	19
757	62792	35
894	72535	14




Summary of computational transaction
Raw Inputview raw input (R code)
Raw Outputview raw output of R engine
Computing time3 seconds
R Server'Gertrude Mary Cox' @ cox.wessa.net

\begin{tabular}{lllllllll}
\hline
Summary of computational transaction \tabularnewline
Raw Input & view raw input (R code)  \tabularnewline
Raw Output & view raw output of R engine  \tabularnewline
Computing time & 3 seconds \tabularnewline
R Server & 'Gertrude Mary Cox' @ cox.wessa.net \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=155676&T=0

[TABLE]
[ROW][C]Summary of computational transaction[/C][/ROW]
[ROW][C]Raw Input[/C][C]view raw input (R code) [/C][/ROW]
[ROW][C]Raw Output[/C][C]view raw output of R engine [/C][/ROW]
[ROW][C]Computing time[/C][C]3 seconds[/C][/ROW]
[ROW][C]R Server[/C][C]'Gertrude Mary Cox' @ cox.wessa.net[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=155676&T=0

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=155676&T=0

As an alternative you can also use a QR Code:  

The GUIDs for individual cells are displayed in the table below:

Summary of computational transaction
Raw Inputview raw input (R code)
Raw Outputview raw output of R engine
Computing time3 seconds
R Server'Gertrude Mary Cox' @ cox.wessa.net







Goodness of Fit
CorrelationNA
R-squaredNA
RMSE12.8071

\begin{tabular}{lllllllll}
\hline
Goodness of Fit \tabularnewline
Correlation & NA \tabularnewline
R-squared & NA \tabularnewline
RMSE & 12.8071 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=155676&T=1

[TABLE]
[ROW][C]Goodness of Fit[/C][/ROW]
[ROW][C]Correlation[/C][C]NA[/C][/ROW]
[ROW][C]R-squared[/C][C]NA[/C][/ROW]
[ROW][C]RMSE[/C][C]12.8071[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=155676&T=1

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=155676&T=1

As an alternative you can also use a QR Code:  

The GUIDs for individual cells are displayed in the table below:

Goodness of Fit
CorrelationNA
R-squaredNA
RMSE12.8071







Actuals, Predictions, and Residuals
#ActualsForecastsResiduals
16727.631578947368439.3684210526316
22827.63157894736840.368421052631579
31927.6315789473684-8.63157894736842
44927.631578947368421.3684210526316
52727.6315789473684-0.631578947368421
63027.63157894736842.36842105263158
72227.6315789473684-5.63157894736842
81227.6315789473684-15.6315789473684
93127.63157894736843.36842105263158
102027.6315789473684-7.63157894736842
112027.6315789473684-7.63157894736842
123927.631578947368411.3684210526316
132927.63157894736841.36842105263158
141627.6315789473684-11.6315789473684
152727.6315789473684-0.631578947368421
162127.6315789473684-6.63157894736842
171927.6315789473684-8.63157894736842
183527.63157894736847.36842105263158
191427.6315789473684-13.6315789473684

\begin{tabular}{lllllllll}
\hline
Actuals, Predictions, and Residuals \tabularnewline
# & Actuals & Forecasts & Residuals \tabularnewline
1 & 67 & 27.6315789473684 & 39.3684210526316 \tabularnewline
2 & 28 & 27.6315789473684 & 0.368421052631579 \tabularnewline
3 & 19 & 27.6315789473684 & -8.63157894736842 \tabularnewline
4 & 49 & 27.6315789473684 & 21.3684210526316 \tabularnewline
5 & 27 & 27.6315789473684 & -0.631578947368421 \tabularnewline
6 & 30 & 27.6315789473684 & 2.36842105263158 \tabularnewline
7 & 22 & 27.6315789473684 & -5.63157894736842 \tabularnewline
8 & 12 & 27.6315789473684 & -15.6315789473684 \tabularnewline
9 & 31 & 27.6315789473684 & 3.36842105263158 \tabularnewline
10 & 20 & 27.6315789473684 & -7.63157894736842 \tabularnewline
11 & 20 & 27.6315789473684 & -7.63157894736842 \tabularnewline
12 & 39 & 27.6315789473684 & 11.3684210526316 \tabularnewline
13 & 29 & 27.6315789473684 & 1.36842105263158 \tabularnewline
14 & 16 & 27.6315789473684 & -11.6315789473684 \tabularnewline
15 & 27 & 27.6315789473684 & -0.631578947368421 \tabularnewline
16 & 21 & 27.6315789473684 & -6.63157894736842 \tabularnewline
17 & 19 & 27.6315789473684 & -8.63157894736842 \tabularnewline
18 & 35 & 27.6315789473684 & 7.36842105263158 \tabularnewline
19 & 14 & 27.6315789473684 & -13.6315789473684 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=155676&T=2

[TABLE]
[ROW][C]Actuals, Predictions, and Residuals[/C][/ROW]
[ROW][C]#[/C][C]Actuals[/C][C]Forecasts[/C][C]Residuals[/C][/ROW]
[ROW][C]1[/C][C]67[/C][C]27.6315789473684[/C][C]39.3684210526316[/C][/ROW]
[ROW][C]2[/C][C]28[/C][C]27.6315789473684[/C][C]0.368421052631579[/C][/ROW]
[ROW][C]3[/C][C]19[/C][C]27.6315789473684[/C][C]-8.63157894736842[/C][/ROW]
[ROW][C]4[/C][C]49[/C][C]27.6315789473684[/C][C]21.3684210526316[/C][/ROW]
[ROW][C]5[/C][C]27[/C][C]27.6315789473684[/C][C]-0.631578947368421[/C][/ROW]
[ROW][C]6[/C][C]30[/C][C]27.6315789473684[/C][C]2.36842105263158[/C][/ROW]
[ROW][C]7[/C][C]22[/C][C]27.6315789473684[/C][C]-5.63157894736842[/C][/ROW]
[ROW][C]8[/C][C]12[/C][C]27.6315789473684[/C][C]-15.6315789473684[/C][/ROW]
[ROW][C]9[/C][C]31[/C][C]27.6315789473684[/C][C]3.36842105263158[/C][/ROW]
[ROW][C]10[/C][C]20[/C][C]27.6315789473684[/C][C]-7.63157894736842[/C][/ROW]
[ROW][C]11[/C][C]20[/C][C]27.6315789473684[/C][C]-7.63157894736842[/C][/ROW]
[ROW][C]12[/C][C]39[/C][C]27.6315789473684[/C][C]11.3684210526316[/C][/ROW]
[ROW][C]13[/C][C]29[/C][C]27.6315789473684[/C][C]1.36842105263158[/C][/ROW]
[ROW][C]14[/C][C]16[/C][C]27.6315789473684[/C][C]-11.6315789473684[/C][/ROW]
[ROW][C]15[/C][C]27[/C][C]27.6315789473684[/C][C]-0.631578947368421[/C][/ROW]
[ROW][C]16[/C][C]21[/C][C]27.6315789473684[/C][C]-6.63157894736842[/C][/ROW]
[ROW][C]17[/C][C]19[/C][C]27.6315789473684[/C][C]-8.63157894736842[/C][/ROW]
[ROW][C]18[/C][C]35[/C][C]27.6315789473684[/C][C]7.36842105263158[/C][/ROW]
[ROW][C]19[/C][C]14[/C][C]27.6315789473684[/C][C]-13.6315789473684[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=155676&T=2

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=155676&T=2

As an alternative you can also use a QR Code:  

The GUIDs for individual cells are displayed in the table below:

Actuals, Predictions, and Residuals
#ActualsForecastsResiduals
16727.631578947368439.3684210526316
22827.63157894736840.368421052631579
31927.6315789473684-8.63157894736842
44927.631578947368421.3684210526316
52727.6315789473684-0.631578947368421
63027.63157894736842.36842105263158
72227.6315789473684-5.63157894736842
81227.6315789473684-15.6315789473684
93127.63157894736843.36842105263158
102027.6315789473684-7.63157894736842
112027.6315789473684-7.63157894736842
123927.631578947368411.3684210526316
132927.63157894736841.36842105263158
141627.6315789473684-11.6315789473684
152727.6315789473684-0.631578947368421
162127.6315789473684-6.63157894736842
171927.6315789473684-8.63157894736842
183527.63157894736847.36842105263158
191427.6315789473684-13.6315789473684



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