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 computationFri, 24 Dec 2010 21:38:40 +0000
Cite this page as followsStatistical Computations at FreeStatistics.org, Office for Research Development and Education, URL https://freestatistics.org/blog/index.php?v=date/2010/Dec/24/t1293226649zf4xg5uq9ixm642.htm/, Retrieved Tue, 30 Apr 2024 00:31:20 +0000
Statistical Computations at FreeStatistics.org, Office for Research Development and Education, URL https://freestatistics.org/blog/index.php?pk=115290, Retrieved Tue, 30 Apr 2024 00:31:20 +0000
QR Codes:

Original text written by user:
IsPrivate?No (this computation is public)
User-defined keywords
Estimated Impact124
Family? (F = Feedback message, R = changed R code, M = changed R Module, P = changed Parameters, D = changed Data)
-       [Recursive Partitioning (Regression Trees)] [] [2010-12-24 21:38:40] [6d519594e32ce09ffe6000a98c6f6a83] [Current]
Feedback Forum

Post a new message
Dataseries X:
9.1	4.5	1.0	-1.0	1989.3
9.0	4.3	1.0	3.0	2097.8
9.0	4.3	1.3	2.0	2154.9
8.9	4.2	1.1	3.0	2152.2
8.8	4.0	0.8	5.0	2250.3
8.7	3.8	0.7	5.0	2346.9
8.5	4.1	0.7	3.0	2525.6
8.3	4.2	0.9	2.0	2409.4
8.1	4.0	1.3	1.0	2394.4
7.9	4.3	1.4	-4.0	2401.3
7.8	4.7	1.6	1.0	2354.3
7.6	5.0	2.1	1.0	2450.4
7.4	5.1	0.3	6.0	2504.7
7.2	5.4	2.1	3.0	2661.4
7.0	5.4	2.5	2.0	2880.4
7.0	5.4	2.3	2.0	3064.4
6.8	5.5	2.4	2.0	3141.1
6.8	5.8	3.0	-8.0	3327.7
6.7	5.7	1.7	0.0	3565.0
6.8	5.5	3.5	-2.0	3403.1
6.7	5.6	4.0	3.0	3149.9
6.7	5.6	3.7	5.0	3006.8
6.7	5.5	3.7	8.0	3230.7
6.5	5.5	3.0	8.0	3361.1
6.3	5.7	2.7	9.0	3484.7
6.3	5.6	2.5	11.0	3411.1
6.3	5.6	2.2	13.0	3288.2
6.5	5.4	2.9	12.0	3280.4
6.6	5.2	3.1	13.0	3174.0
6.5	5.1	3.0	15.0	3165.3
6.3	5.1	2.8	13.0	3092.7
6.3	5.0	2.5	16.0	3053.1
6.5	5.3	1.9	10.0	3182.0
7.0	5.4	1.9	14.0	2999.9
7.1	5.3	1.8	14.0	3249.6
7.3	5.1	2.0	15.0	3210.5
7.3	5.0	2.6	13.0	3030.3
7.4	5.0	2.5	8.0	2803.5
7.4	4.6	2.5	7.0	2767.6
7.3	4.8	1.6	3.0	2882.6
7.4	5.1	1.4	3.0	2863.4
7.5	5.1	0.8	4.0	2897.1
7.7	5.1	1.1	4.0	3012.6
7.7	5.4	1.3	0.0	3143.0
7.7	5.3	1.2	-4.0	3032.9
7.7	5.3	1.3	-14.0	3045.8
7.7	5.1	1.1	-18.0	3110.5
7.8	4.9	1.3	-8.0	3013.2
8.0	4.7	1.2	-1.0	2987.1
8.1	4.4	1.6	1.0	2995.6
8.1	4.6	1.7	2.0	2833.2
8.2	4.5	1.5	0.0	2849.0
8.2	4.2	0.9	1.0	2794.8
8.2	4.0	1.5	0.0	2845.3
8.1	3.9	1.4	-1.0	2915.0
8.1	4.1	1.6	-3.0	2892.6
8.2	4.1	1.7	-3.0	2604.4
8.3	3.7	1.4	-3.0	2641.7
8.3	3.8	1.8	-4.0	2659.8
8.4	4.1	1.7	-8.0	2638.5
8.5	4.1	1.4	-9.0	2720.3
8.5	4.0	1.2	-13.0	2745.9
8.4	4.3	1.0	-18.0	2735.7
8.0	4.4	1.7	-11.0	2811.7
7.9	4.2	2.4	-9.0	2799.4
8.1	4.2	2.0	-10.0	2555.3
8.5	4.0	2.1	-13.0	2305.0
8.8	4.0	2.0	-11.0	2215.0
8.8	4.3	1.8	-5.0	2065.8
8.6	4.4	2.7	-15.0	1940.5
8.3	4.4	2.3	-6.0	2042.0
8.3	4.3	1.9	-6.0	1995.4
8.3	4.1	2.0	-3.0	1946.8
8.4	4.1	2.3	-1.0	1765.9
8.4	3.9	2.8	-3.0	1635.3
8.5	3.8	2.4	-4.0	1833.4
8.6	3.7	2.3	-6.0	1910.4
8.6	3.5	2.7	0.0	1959.7
8.6	3.7	2.7	-4.0	1969.6
8.6	3.7	2.9	-2.0	2061.4
8.6	3.5	3.0	-2.0	2093.5
8.5	3.3	2.2	-6.0	2120.9
8.4	3.2	2.3	-7.0	2174.6
8.4	3.3	2.8	-6.0	2196.7
8.4	3.1	2.8	-6.0	2350.4
8.5	3.2	2.8	-3.0	2440.3
8.5	3.4	2.2	-2.0	2408.6
8.6	3.5	2.6	-5.0	2472.8
8.6	3.3	2.8	-11.0	2407.6
8.4	3.5	2.5	-11.0	2454.6
8.2	3.5	2.4	-11.0	2448.1
8.0	3.8	2.3	-10.0	2497.8
8.0	4.0	1.9	-14.0	2645.6
8.0	4.0	1.7	-8.0	2756.8
8.0	4.1	2.0	-9.0	2849.3
7.9	4.0	2.1	-5.0	2921.4
7.9	3.8	1.7	-1.0	2981.9
7.8	3.7	1.8	-2.0	3080.6
7.8	3.8	1.8	-5.0	3106.2
8.0	3.7	1.8	-4.0	3119.3
7.8	4.0	1.3	-6.0	3061.3
7.4	4.2	1.3	-2.0	3097.3
7.2	4.0	1.3	-2.0	3161.7
7.0	4.1	1.2	-2.0	3257.2
7.0	4.2	1.4	-2.0	3277.0
7.2	4.5	2.2	2.0	3295.3
7.2	4.6	2.9	1.0	3364.0
7.2	4.5	3.1	-8.0	3494.2
7.0	4.5	3.5	-1.0	3667.0
6.9	4.5	3.6	1.0	3813.1
6.8	4.4	4.4	-1.0	3918.0
6.8	4.3	4.1	2.0	3895.5
6.8	4.5	5.1	2.0	3801.1
6.9	4.1	5.8	1.0	3570.1
7.2	4.1	5.9	-1.0	3701.6
7.2	4.3	5.4	-2.0	3862.3
7.2	4.4	5.5	-2.0	3970.1
7.1	4.7	4.8	-1.0	4138.5
7.2	5.0	3.2	-8.0	4199.8
7.3	4.7	2.7	-4.0	4290.9
7.5	4.5	2.1	-6.0	4443.9
7.6	4.5	1.9	-3.0	4502.6
7.7	4.5	0.6	-3.0	4357.0
7.7	5.5	0.7	-7.0	4591.3
7.7	4.5	-0.2	-9.0	4697.0
7.8	4.4	-1.0	-11.0	4621.4
8.0	4.2	-1.7	-13.0	4562.8
8.1	3.9	-0.7	-11.0	4202.5
8.1	3.9	-1.0	-9.0	4296.5
8.0	4.2	-0.9	-17.0	4435.2
8.1	4.0	0.0	-22.0	4105.2
8.2	3.8	0.3	-25.0	4116.7
8.3	3.7	0.8	-20.0	3844.5
8.4	3.7	0.8	-24.0	3721.0
8.4	3.7	1.9	-24.0	3674.4
8.4	3.7	2.1	-22.0	3857.6
8.5	3.7	2.5	-19.0	3801.1
8.5	3.8	2.7	-18.0	3504.4
8.6	3.7	2.4	-17.0	3032.6
8.6	3.5	2.4	-11.0	3047.0
8.5	3.5	2.9	-11.0	2962.3
8.5	3.1	3.1	-12.0	2197.8




Summary of computational transaction
Raw Inputview raw input (R code)
Raw Outputview raw output of R engine
Computing time7 seconds
R Server'Gwilym Jenkins' @ 72.249.127.135

\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 & 7 seconds \tabularnewline
R Server & 'Gwilym Jenkins' @ 72.249.127.135 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=115290&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]7 seconds[/C][/ROW]
[ROW][C]R Server[/C][C]'Gwilym Jenkins' @ 72.249.127.135[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=115290&T=0

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=115290&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 time7 seconds
R Server'Gwilym Jenkins' @ 72.249.127.135







10-Fold Cross Validation
Prediction (training)Prediction (testing)
ActualC1C2CVC1C2CV
C1654550.92247290.8889
C2824770.853314570.8028
Overall--0.892--0.8487

\begin{tabular}{lllllllll}
\hline
10-Fold Cross Validation \tabularnewline
 & Prediction (training) & Prediction (testing) \tabularnewline
Actual & C1 & C2 & CV & C1 & C2 & CV \tabularnewline
C1 & 654 & 55 & 0.9224 & 72 & 9 & 0.8889 \tabularnewline
C2 & 82 & 477 & 0.8533 & 14 & 57 & 0.8028 \tabularnewline
Overall & - & - & 0.892 & - & - & 0.8487 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=115290&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]654[/C][C]55[/C][C]0.9224[/C][C]72[/C][C]9[/C][C]0.8889[/C][/ROW]
[ROW][C]C2[/C][C]82[/C][C]477[/C][C]0.8533[/C][C]14[/C][C]57[/C][C]0.8028[/C][/ROW]
[ROW][C]Overall[/C][C]-[/C][C]-[/C][C]0.892[/C][C]-[/C][C]-[/C][C]0.8487[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=115290&T=1

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=115290&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
C1654550.92247290.8889
C2824770.853314570.8028
Overall--0.892--0.8487







Confusion Matrix (predicted in columns / actuals in rows)
C1C2
C1727
C2855

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

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



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):
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')
}