Free Statistics

of Irreproducible Research!

Author's title

Author*The author of this computation has been verified*
R Software Module--
Title produced by softwareRecursive Partitioning (Regression Trees)
Date of computationMon, 10 Dec 2012 10:37:17 -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/2012/Dec/10/t1355153857n7zjptzvkubrc98.htm/, Retrieved Thu, 28 Mar 2024 23:28:01 +0000
Statistical Computations at FreeStatistics.org, Office for Research Development and Education, URL https://freestatistics.org/blog/index.php?pk=198206, Retrieved Thu, 28 Mar 2024 23:28:01 +0000
QR Codes:

Original text written by user:
IsPrivate?No (this computation is public)
User-defined keywords
Estimated Impact86
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]
-   PD  [Recursive Partitioning (Regression Trees)] [Workshop 10 Recur...] [2010-12-14 16:03:42] [a9e130f95bad0a0597234e75c6380c5a]
- R       [Recursive Partitioning (Regression Trees)] [WS 10 - Recursive...] [2011-12-13 14:39:32] [95a4a8598e82ac3272c4dca488d0ba38]
-  M          [Recursive Partitioning (Regression Trees)] [ws10 taak 6] [2012-12-10 15:37:17] [fc11b595ce1e8c0e30ce0084e7aafbef] [Current]
Feedback Forum

Post a new message
Dataseries X:
0 24 14 11 12 24 26
0 25 11 7 8 25 23
0 17 6 17 8 30 25
1 18 12 10 8 19 23
1 18 8 12 9 22 19
1 16 10 12 7 22 29
1 20 10 11 4 25 25
1 16 11 11 11 23 21
1 18 16 12 7 17 22
1 17 11 13 7 21 25
0 23 13 14 12 19 24
0 30 12 16 10 19 18
1 23 8 11 10 15 22
1 18 12 10 8 16 15
1 15 11 11 8 23 22
1 12 4 15 4 27 28
0 21 9 9 9 22 20
1 15 8 11 8 14 12
1 20 8 17 7 22 24
0 31 14 17 11 23 20
0 27 15 11 9 23 21
1 34 16 18 11 21 20
1 21 9 14 13 19 21
1 31 14 10 8 18 23
1 19 11 11 8 20 28
0 16 8 15 9 23 24
1 20 9 15 6 25 24
1 21 9 13 9 19 24
1 22 9 16 9 24 23
1 17 9 13 6 22 23
1 24 10 9 6 25 29
0 25 16 18 16 26 24
0 26 11 18 5 29 18
1 25 8 12 7 32 25
1 17 9 17 9 25 21
1 32 16 9 6 29 26
1 33 11 9 6 28 22
1 13 16 12 5 17 22
1 32 12 18 12 28 22
1 25 12 12 7 29 23
1 29 14 18 10 26 30
1 22 9 14 9 25 23
1 18 10 15 8 14 17
1 17 9 16 5 25 23
0 20 10 10 8 26 23
1 15 12 11 8 20 25
1 20 14 14 10 18 24
1 33 14 9 6 32 24
0 29 10 12 8 25 23
1 23 14 17 7 25 21
0 26 16 5 4 23 24
1 18 9 12 8 21 24
0 20 10 12 8 20 28
1 11 6 6 4 15 16
1 28 8 24 20 30 20
1 26 13 12 8 24 29
0 22 10 12 8 26 27
1 17 8 14 6 24 22
0 12 7 7 4 22 28
1 14 15 13 8 14 16
1 17 9 12 9 24 25
1 21 10 13 6 24 24
1 19 12 14 7 24 28
1 18 13 8 9 24 24
0 10 10 11 5 19 23
0 29 11 9 5 31 30
1 31 8 11 8 22 24
0 19 9 13 8 27 21
1 9 13 10 6 19 25
1 20 11 11 8 25 25
1 28 8 12 7 20 22
0 19 9 9 7 21 23
0 30 9 15 9 27 26
0 29 15 18 11 23 23
0 26 9 15 6 25 25
0 23 10 12 8 20 21
1 13 14 13 6 21 25
1 21 12 14 9 22 24
1 19 12 10 8 23 29
1 28 11 13 6 25 22
1 23 14 13 10 25 27
1 18 6 11 8 17 26
0 21 12 13 8 19 22
1 20 8 16 10 25 24
1 23 14 8 5 19 27
1 21 11 16 7 20 24
1 21 10 11 5 26 24
1 15 14 9 8 23 29
1 28 12 16 14 27 22
1 19 10 12 7 17 21
1 26 14 14 8 17 24
1 10 5 8 6 19 24
0 16 11 9 5 17 23
1 22 10 15 6 22 20
1 19 9 11 10 21 27
1 31 10 21 12 32 26
0 31 16 14 9 21 25
1 29 13 18 12 21 21
0 19 9 12 7 18 21
1 22 10 13 8 18 19
1 23 10 15 10 23 21
0 15 7 12 6 19 21
0 20 9 19 10 20 16
1 18 8 15 10 21 22
1 23 14 11 10 20 29
1 25 14 11 5 17 15
1 21 8 10 7 18 17
1 24 9 13 10 19 15
1 25 14 15 11 22 21
1 17 14 12 6 15 21
1 13 8 12 7 14 19
1 28 8 16 12 18 24
0 21 8 9 11 24 20
1 25 7 18 11 35 17
0 9 6 8 11 29 23
1 16 8 13 5 21 24
1 19 6 17 8 25 14
1 17 11 9 6 20 19
1 25 14 15 9 22 24
1 20 11 8 4 13 13
1 29 11 7 4 26 22
1 14 11 12 7 17 16
1 22 14 14 11 25 19
1 15 8 6 6 20 25
0 19 20 8 7 19 25
1 20 11 17 8 21 23
0 15 8 10 4 22 24
1 20 11 11 8 24 26
1 18 10 14 9 21 26
1 33 14 11 8 26 25
1 22 11 13 11 24 18
1 16 9 12 8 16 21
1 17 9 11 5 23 26
1 16 8 9 4 18 23
0 21 10 12 8 16 23
0 26 13 20 10 26 22
1 18 13 12 6 19 20
1 18 12 13 9 21 13
1 17 8 12 9 21 24
1 22 13 12 13 22 15
1 30 14 9 9 23 14
0 30 12 15 10 29 22
1 24 14 24 20 21 10
1 21 15 7 5 21 24
1 21 13 17 11 23 22
1 29 16 11 6 27 24
1 31 9 17 9 25 19
1 20 9 11 7 21 20
0 16 9 12 9 10 13
0 22 8 14 10 20 20
1 20 7 11 9 26 22
1 28 16 16 8 24 24
1 38 11 21 7 29 29
0 22 9 14 6 19 12
1 20 11 20 13 24 20
0 17 9 13 6 19 21
1 28 14 11 8 24 24
1 22 13 15 10 22 22
0 31 16 19 16 17 20




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

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=198206&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 time6 seconds
R Server'Sir Maurice George Kendall' @ kendall.wessa.net







10-Fold Cross Validation
Prediction (training)Prediction (testing)
ActualC1C2CVC1C2CV
C17001000.87569210.7667
C22333850.62336460.561
Overall--0.7652--0.6686

\begin{tabular}{lllllllll}
\hline
10-Fold Cross Validation \tabularnewline
 & Prediction (training) & Prediction (testing) \tabularnewline
Actual & C1 & C2 & CV & C1 & C2 & CV \tabularnewline
C1 & 700 & 100 & 0.875 & 69 & 21 & 0.7667 \tabularnewline
C2 & 233 & 385 & 0.623 & 36 & 46 & 0.561 \tabularnewline
Overall & - & - & 0.7652 & - & - & 0.6686 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=198206&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]700[/C][C]100[/C][C]0.875[/C][C]69[/C][C]21[/C][C]0.7667[/C][/ROW]
[ROW][C]C2[/C][C]233[/C][C]385[/C][C]0.623[/C][C]36[/C][C]46[/C][C]0.561[/C][/ROW]
[ROW][C]Overall[/C][C]-[/C][C]-[/C][C]0.7652[/C][C]-[/C][C]-[/C][C]0.6686[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=198206&T=1

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=198206&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
C17001000.87569210.7667
C22333850.62336460.561
Overall--0.7652--0.6686







Confusion Matrix (predicted in columns / actuals in rows)
C1C2
C17118
C21951

\begin{tabular}{lllllllll}
\hline
Confusion Matrix (predicted in columns / actuals in rows) \tabularnewline
 & C1 & C2 \tabularnewline
C1 & 71 & 18 \tabularnewline
C2 & 19 & 51 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=198206&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]71[/C][C]18[/C][/ROW]
[ROW][C]C2[/C][C]19[/C][C]51[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=198206&T=2

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=198206&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
C17118
C21951



Parameters (Session):
par1 = 2 ; par2 = quantiles ; par3 = 2 ; par4 = yes ;
Parameters (R input):
par1 = 2 ; par2 = quantiles ; par3 = 2 ; par4 = yes ; par5 = ; par6 = ; par7 = ; par8 = ; par9 = ; par10 = ; par11 = ; par12 = ; par13 = ; par14 = ; par15 = ; par16 = ; par17 = ; par18 = ; par19 = ; par20 = ;
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')
}