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, 11 Jun 2015 08:35:58 +0100
Cite this page as followsStatistical Computations at FreeStatistics.org, Office for Research Development and Education, URL https://freestatistics.org/blog/index.php?v=date/2015/Jun/11/t1434008233aiepl2njp968g3w.htm/, Retrieved Sat, 18 May 2024 23:42:09 +0000
Statistical Computations at FreeStatistics.org, Office for Research Development and Education, URL https://freestatistics.org/blog/index.php?pk=279518, Retrieved Sat, 18 May 2024 23:42:09 +0000
QR Codes:

Original text written by user:
IsPrivate?No (this computation is public)
User-defined keywords
Estimated Impact196
Family? (F = Feedback message, R = changed R code, M = changed R Module, P = changed Parameters, D = changed Data)
-       [Recursive Partitioning (Regression Trees)] [] [2015-06-11 07:35:58] [63a9f0ea7bb98050796b649e85481845] [Current]
Feedback Forum

Post a new message
Dataseries X:
5675 51 50 22 4 0 1 0
2800 36 47 14 5 0 1 0
2750 51 50 29 4 0 1 0
2925 47 40 25 4 0 1 0
2625 27 52 9 2 0 0 0
2825 31 45 9 2 0 0 1
2825 52 38 30 4 0 0 0
5500 43 60 9 5 0 0 0
2750 51 38 29 4 0 1 0
2800 47 41 25 3 0 1 0
2625 60 45 39 3 1 0 0
1750 54 19 32 4 0 0 1
5500 52 38 30 4 0 0 1
4500 61 38 38 2 0 0 0
2300 32 40 8 3 0 1 0
3250 35 50 13 2 0 1 0
2425 36 57 14 2 0 0 1
2750 42 40 20 5 0 1 0
4500 33 50 9 2 0 0 0
3425 46 43 24 6 0 0 1
3125 28 57 5 2 0 0 0
7750 53 40 31 5 0 0 0
2300 28 38 6 1 0 0 0
2750 32 60 9 2 0 0 0
1800 27 43 3 2 0 1 0
2925 28 35 5 2 0 0 0
4000 26 45 3 6 0 0 0
4925 64 52 42 3 0 1 0
2625 28 45 5 2 0 0 0
2425 27 45 4 3 0 0 1
1800 25 33 2 2 0 1 0
2750 26 42 4 4 0 1 0
5500 42 40 19 5 0 0 0
2625 27 40 4 1 0 0 0
2425 29 40 7 2 0 1 0
2425 26 44 4 1 0 0 0
3125 35 38 10 1 0 0 0
4625 60 38 38 5 0 0 0
7000 28 70 5 2 0 0 0
2125 24 40 2 4 0 0 1
2125 26 40 4 3 0 0 0
2925 25 52 2 4 0 0 0
2325 24 40 2 2 0 0 0
3500 24 40 1 1 0 0 0
3325 32 70 8 1 0 0 0
3625 35 50 13 4 0 0 0
2300 25 44 1 4 0 0 0
6500 39 50 17 4 0 0 0
3625 36 38 13 4 0 0 0
2325 28 45 5 2 0 0 0
2425 34 38 11 3 0 0 0
2625 34 40 8 2 0 0 0
4000 31 38 8 2 0 0 0
2125 26 57 4 5 0 0 0
1925 28 40 4 5 0 0 0
7750 33 40 9 2 0 0 0
1925 28 40 5 2 0 0 0
2925 31 40 8 1 0 0 0
2825 29 43 5 2 0 0 0
2625 29 50 7 1 0 0 0
2625 28 38 10 2 0 0 0
2925 27 38 4 3 0 0 0
1250 31 50 9 3 0 1 0
2300 36 38 9 1 0 0 1
3250 37 38 13 5 0 0 1
1750 68 38 38 2 0 0 0
2125 26 38 2 4 0 0 0
5500 42 40 19 2 0 0 0
4825 47 50 21 5 0 0 0
1925 26 45 3 2 0 0 0
2325 25 40 3 1 0 0 0
2250 36 55 13 2 0 1 0
1800 41 20 19 4 0 1 0
3250 49 45 26 5 0 1 0
1925 24 43 1 1 0 0 0
2300 35 38 11 4 0 0 0
4000 29 50 5 1 0 0 0
2250 33 60 9 3 0 1 0
1925 46 33 21 4 0 1 0
2825 27 44 4 2 0 0 0
2925 54 38 29 4 0 1 0
5325 29 40 7 3 0 0 0
2800 37 50 15 3 0 1 0
4825 48 55 25 5 0 0 0
2425 32 42 7 1 0 0 0
3125 29 62 3 2 0 0 0
2625 28 45 5 2 0 0 1
1825 24 38 2 1 0 0 0
2300 49 30 27 2 0 0 1
4125 44 40 22 5 0 0 0
2250 27 48 5 2 0 0 0
2750 39 40 17 4 0 1 0
3125 36 38 13 4 0 0 0
1925 24 38 2 1 0 0 1
3125 31 60 10 2 0 0 0
1800 26 52 4 3 0 0 0
2825 33 45 9 3 0 0 0
3625 52 45 29 4 0 0 0
2300 30 38 7 3 0 0 1
3325 47 38 25 3 0 1 0
2800 51 38 26 5 0 1 0
2250 30 60 6 2 1 0 0
2250 35 45 11 1 0 1 0
2750 47 42 24 6 0 1 0
2800 45 38 23 5 0 1 0
2750 37 38 15 1 0 0 1
1300 24 32 0 1 0 0 0
1625 24 38 1 3 0 0 0
4825 55 38 31 2 0 0 0
2125 23 42 1 5 0 0 0
300 25 22 0 2 0 1 0
5000 45 40 20 4 0 0 0
2250 27 38 5 2 0 0 1
2425 34 38 3 4 0 1 0
4625 54 45 32 4 0 0 0
7750 50 60 25 5 0 0 0
7750 45 60 23 5 0 0 0
1925 32 40 8 3 0 0 0
2425 35 50 11 1 0 0 0
3250 50 38 16 1 1 0 0
2250 47 28 24 5 0 0 1
2625 28 45 5 2 0 0 0
4125 36 38 11 3 0 0 0
2925 33 50 10 3 0 0 0
2925 29 45 6 2 0 0 0
1925 45 28 22 4 0 0 1
3250 46 40 24 3 0 0 1
2300 31 38 8 3 0 0 1
2750 31 38 8 1 1 0 0
6750 27 50 1 6 0 0 0
1925 39 38 3 2 0 0 1
2425 26 38 4 1 0 0 0
2125 28 50 5 2 0 0 0
2250 47 40 23 4 0 1 0
1925 26 38 3 2 0 0 1
1925 28 40 3 1 0 0 0
2425 26 45 3 2 0 0 0
3425 58 40 33 4 1 0 0
2925 35 50 13 1 0 0 1
2425 28 60 5 1 0 0 0
4125 27 70 3 6 0 0 0
1925 27 38 5 4 0 0 0
1625 23 40 0 4 0 0 0
2825 22 45 0 5 1 0 0
1925 28 38 5 1 0 0 0
2625 30 50 7 3 0 0 0
2125 34 32 11 4 0 0 0
3125 33 38 8 4 0 0 0
1925 26 45 3 1 1 0 0
3325 29 50 7 1 0 0 0
3325 30 42 6 4 0 0 0
2625 29 38 7 1 0 0 0
4125 29 38 5 2 0 0 0
3125 39 55 8 1 0 0 0
3125 28 42 5 2 0 0 0
2625 28 43 6 2 0 0 0
1925 29 42 5 2 0 0 0
3500 27 42 5 2 0 0 0
2325 26 50 1 5 0 0 0
4500 29 44 4 2 0 0 0
2300 40 40 17 3 0 0 0
2250 27 38 4 2 0 0 1
2300 30 38 6 3 0 0 0
2300 37 38 14 4 0 0 1
3000 28 38 6 3 0 0 0
6000 35 50 10 1 0 0 0
2625 25 47 1 3 0 0 0
3825 32 70 7 2 0 0 1
2125 24 38 2 4 0 0 0
1800 25 40 3 1 0 1 0
3125 36 38 13 1 0 0 0
2300 30 38 7 1 0 0 0
2250 37 38 13 4 0 1 0
1925 25 45 3 2 0 0 0
1800 25 40 3 4 0 0 1
3750 47 38 24 3 1 0 0
7750 53 70 31 4 1 0 0
2425 30 38 7 2 0 0 0
6075 44 40 22 4 0 0 0
3625 50 38 26 4 0 0 0
3750 39 38 15 3 1 0 0
2250 45 38 21 3 0 0 0
2300 30 38 7 3 0 0 1
2125 27 38 4 2 0 0 0
5875 36 40 14 5 0 0 0
7750 60 45 37 2 0 0 0
4125 36 40 13 3 0 0 0
3325 37 40 13 4 0 0 0




Summary of computational transaction
Raw Inputview raw input (R code)
Raw Outputview raw output of R engine
Computing time4 seconds
R Server'George Udny Yule' @ yule.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 & 4 seconds \tabularnewline
R Server & 'George Udny Yule' @ yule.wessa.net \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=279518&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]4 seconds[/C][/ROW]
[ROW][C]R Server[/C][C]'George Udny Yule' @ yule.wessa.net[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=279518&T=0

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=279518&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 time4 seconds
R Server'George Udny Yule' @ yule.wessa.net







10-Fold Cross Validation
Prediction (training)Prediction (testing)
ActualC1C2CVC1C2CV
C15613260.632565580.5285
C21876000.762421620.747
Overall--0.6935--0.6165

\begin{tabular}{lllllllll}
\hline
10-Fold Cross Validation \tabularnewline
 & Prediction (training) & Prediction (testing) \tabularnewline
Actual & C1 & C2 & CV & C1 & C2 & CV \tabularnewline
C1 & 561 & 326 & 0.6325 & 65 & 58 & 0.5285 \tabularnewline
C2 & 187 & 600 & 0.7624 & 21 & 62 & 0.747 \tabularnewline
Overall & - & - & 0.6935 & - & - & 0.6165 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=279518&T=1

[TABLE]
[ROW][C]10-Fold Cross Validation[/C][/ROW]
[ROW][C][/C][C]Prediction (training)[/C][C]Prediction (testing)[/C][/ROW]
[ROW][C]Actual[/C][C]C1[/C][C]C2[/C][C]CV[/C][C]C1[/C][C]C2[/C][C]CV[/C][/ROW]
[ROW][C]C1[/C][C]561[/C][C]326[/C][C]0.6325[/C][C]65[/C][C]58[/C][C]0.5285[/C][/ROW]
[ROW][C]C2[/C][C]187[/C][C]600[/C][C]0.7624[/C][C]21[/C][C]62[/C][C]0.747[/C][/ROW]
[ROW][C]Overall[/C][C]-[/C][C]-[/C][C]0.6935[/C][C]-[/C][C]-[/C][C]0.6165[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=279518&T=1

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

As an alternative you can also use a QR Code:  

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

10-Fold Cross Validation
Prediction (training)Prediction (testing)
ActualC1C2CVC1C2CV
C15613260.632565580.5285
C21876000.762421620.747
Overall--0.6935--0.6165







Confusion Matrix (predicted in columns / actuals in rows)
C1C2
C18615
C23948

\begin{tabular}{lllllllll}
\hline
Confusion Matrix (predicted in columns / actuals in rows) \tabularnewline
 & C1 & C2 \tabularnewline
C1 & 86 & 15 \tabularnewline
C2 & 39 & 48 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=279518&T=2

[TABLE]
[ROW][C]Confusion Matrix (predicted in columns / actuals in rows)[/C][/ROW]
[ROW][C][/C][C]C1[/C][C]C2[/C][/ROW]
[ROW][C]C1[/C][C]86[/C][C]15[/C][/ROW]
[ROW][C]C2[/C][C]39[/C][C]48[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=279518&T=2

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

As an alternative you can also use a QR Code:  

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

Confusion Matrix (predicted in columns / actuals in rows)
C1C2
C18615
C23948



Parameters (Session):
par1 = 1 ; par2 = quantiles ; par3 = 2 ; par4 = yes ;
Parameters (R input):
par1 = 1 ; par2 = quantiles ; par3 = 2 ; par4 = yes ;
R code (references can be found in the software module):
par4 <- 'yes'
par3 <- '3'
par2 <- 'quantiles'
par1 <- '1'
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')
}