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 computationWed, 21 Dec 2011 11:39:25 -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/21/t1324485591kq3u1lqsdizv4l9.htm/, Retrieved Tue, 07 May 2024 11:43:44 +0000
Statistical Computations at FreeStatistics.org, Office for Research Development and Education, URL https://freestatistics.org/blog/index.php?pk=158879, Retrieved Tue, 07 May 2024 11:43:44 +0000
QR Codes:

Original text written by user:
IsPrivate?No (this computation is public)
User-defined keywords
Estimated Impact67
Family? (F = Feedback message, R = changed R code, M = changed R Module, P = changed Parameters, D = changed Data)
-     [Multiple Regression] [] [2011-12-21 15:27:21] [59e8d6f9dbd0564968d0bb4af7b45de5]
- RMP     [Recursive Partitioning (Regression Trees)] [] [2011-12-21 16:39:25] [722cc7f94b3c1568a723b3c5e98a2726] [Current]
Feedback Forum

Post a new message
Dataseries X:
158258	89	48	18	20465
186930	57	53	20	33629
7215	18	0	0	1423
129098	94	51	27	25629
230587	134	76	31	54002
508313	260	128	36	151036
180745	56	62	23	33287
185559	58	83	30	31172
154581	43	55	30	28113
290658	95	67	26	57803
121844	75	50	24	49830
184039	68	77	30	52143
100324	98	46	22	21055
209427	114	79	25	47007
167592	57	55	18	28735
154593	86	54	22	59147
142018	56	81	33	78950
77855	59	5	15	13497
167047	86	74	34	46154
27997	24	13	18	53249
70824	58	19	15	10726
241082	99	99	30	83700
195820	72	38	25	40400
141899	53	59	34	33797
145433	85	50	21	36205
180241	30	50	21	30165
202232	160	61	25	58534
190230	90	81	31	44663
354924	117	60	31	92556
192399	43	52	20	40078
182286	44	61	28	34711
181590	45	60	22	31076
133801	105	53	17	74608
233686	123	76	25	58092
219428	52	63	24	42009
0	1	0	0	0
223044	63	54	28	36022
100129	51	44	14	23333
136733	47	36	35	53349
249965	64	83	34	92596
242379	71	105	22	49598
145794	59	37	34	44093
96404	31	25	23	84205
195891	78	64	24	63369
115335	49	55	26	60132
157787	94	41	22	37403
81293	31	23	35	24460
224049	100	67	24	46456
223789	86	54	31	66616
160344	58	68	26	41554
48188	28	12	22	22346
152206	68	86	21	30874
294283	72	74	27	68701
235223	78	56	30	35728
195583	59	67	33	29010
145942	54	40	11	23110
208834	66	53	26	38844
93764	23	26	26	27084
151985	66	67	23	35139
190545	94	36	38	57476
148922	59	50	31	33277
132856	80	48	20	31141
124234	59	46	19	61281
112718	36	53	26	25820
160930	34	27	26	23284
99184	40	38	33	35378
182022	69	69	36	74990
138708	65	93	25	29653
114408	38	59	24	64622
31970	15	5	21	4157
225558	112	53	19	29245
137011	71	40	12	50008
113612	68	72	30	52338
108641	70	51	21	13310
162203	66	81	34	92901
100098	44	27	32	10956
174768	60	94	28	34241
158459	97	71	28	75043
80934	30	20	21	21152
84971	71	34	31	42249
80545	68	54	26	42005
287191	64	49	29	41152
62974	27	26	23	14399
130982	38	47	25	28263
75555	45	35	22	17215
162154	54	32	26	48140
224670	225	55	33	62897
115019	110	58	24	22883
105038	60	44	24	41622
155537	52	45	21	40715
153133	41	49	28	65897
165577	76	72	27	76542
151517	57	39	25	37477
133686	58	28	15	53216
58128	38	24	13	40911
245196	117	52	36	57021
195576	69	96	24	73116
19349	12	13	1	3895
225371	105	38	24	46609
152796	76	41	31	29351
59117	28	24	4	2325
91762	23	54	21	31747
127987	52	59	23	32665
113552	58	28	23	19249
85338	40	36	12	15292
27676	22	2	16	5842
147984	47	83	29	33994
122417	36	29	26	13018
0	0	0	0	0
91529	32	46	25	98177
107205	66	25	21	37941
144664	44	51	23	31032
136540	61	59	21	32683
76656	59	36	21	34545
3616	5	0	0	0
0	0	0	0	0
183065	42	40	23	27525
144636	83	68	33	66856
152826	96	28	28	28549
113273	38	36	23	38610
43410	19	7	1	2781
175774	72	70	29	41211
95401	41	30	18	22698
118893	54	59	32	41194
60493	40	3	12	32689
19764	12	10	2	5752
164062	55	46	21	26757
132696	32	34	28	22527
155088	47	54	29	44810
11796	9	1	2	0
10674	9	0	0	0
142261	56	39	18	100674
6836	3	0	1	0
154206	61	48	21	57786
5118	3	5	0	0
40248	16	8	4	5444
0	0	0	0	0
122641	46	38	25	28470
88837	38	21	26	61849
7131	4	0	0	0
9056	14	0	4	2179
76611	24	15	17	8019
132697	50	50	21	39644
100681	19	17	22	23494




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

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=158879&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'AstonUniversity' @ aston.wessa.net







10-Fold Cross Validation
Prediction (training)Prediction (testing)
ActualC1C2CVC1C2CV
C14132300.642347300.6104
C2346190.94796610.9104
Overall--0.7963--0.75

\begin{tabular}{lllllllll}
\hline
10-Fold Cross Validation \tabularnewline
 & Prediction (training) & Prediction (testing) \tabularnewline
Actual & C1 & C2 & CV & C1 & C2 & CV \tabularnewline
C1 & 413 & 230 & 0.6423 & 47 & 30 & 0.6104 \tabularnewline
C2 & 34 & 619 & 0.9479 & 6 & 61 & 0.9104 \tabularnewline
Overall & - & - & 0.7963 & - & - & 0.75 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=158879&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]413[/C][C]230[/C][C]0.6423[/C][C]47[/C][C]30[/C][C]0.6104[/C][/ROW]
[ROW][C]C2[/C][C]34[/C][C]619[/C][C]0.9479[/C][C]6[/C][C]61[/C][C]0.9104[/C][/ROW]
[ROW][C]Overall[/C][C]-[/C][C]-[/C][C]0.7963[/C][C]-[/C][C]-[/C][C]0.75[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=158879&T=1

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=158879&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
C14132300.642347300.6104
C2346190.94796610.9104
Overall--0.7963--0.75







Confusion Matrix (predicted in columns / actuals in rows)
C1C2
C14626
C2468

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

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



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