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 computationSun, 18 Dec 2011 10:52:09 -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/18/t13242235451x2s54018jxqfum.htm/, Retrieved Sun, 05 May 2024 11:33:54 +0000
Statistical Computations at FreeStatistics.org, Office for Research Development and Education, URL https://freestatistics.org/blog/index.php?pk=157014, Retrieved Sun, 05 May 2024 11:33:54 +0000
QR Codes:

Original text written by user:
IsPrivate?No (this computation is public)
User-defined keywords
Estimated Impact105
Family? (F = Feedback message, R = changed R code, M = changed R Module, P = changed Parameters, D = changed Data)
-       [Recursive Partitioning (Regression Trees)] [cross validation] [2011-12-18 15:52:09] [55f9d13d4d3dd59c775a5501608cd0fe] [Current]
-   PD    [Recursive Partitioning (Regression Trees)] [Recursive Partiti...] [2011-12-21 14:52:56] [8e7c659e1b71a02d35eacc5210237549]
Feedback Forum

Post a new message
Dataseries X:
157382	48	18	20465	23975	0
168465	45	20	33629	85634	1
7215	0	0	1423	1929	0
122259	49	26	25629	36294	0
221399	76	30	54002	72255	0
454489	118	36	151036	189748	1
134379	42	23	33287	61834	1
150416	62	30	31172	68167	0
121391	48	30	28113	38462	0
275326	67	26	57803	101219	1
121593	50	24	49830	43270	2
172071	71	30	52143	76183	0
86249	41	21	21055	31476	0
201902	77	25	47007	62157	4
144113	45	17	28735	46261	4
144677	54	19	59147	50063	3
134153	75	33	78950	64483	0
64149	0	15	13497	2341	5
122294	54	34	46154	48149	0
27918	13	18	53249	12743	0
52197	16	15	10726	18743	0
191463	78	27	83700	97057	0
176034	35	25	40400	17675	0
98629	38	34	33797	33106	1
143546	50	21	36205	53311	1
139780	39	21	30165	42754	0
174181	58	25	58534	59056	0
163773	70	28	44663	101621	0
312831	55	28	92556	118120	0
184024	52	20	40078	79572	0
151621	50	28	34711	42744	0
164516	54	20	31076	65931	2
120414	53	17	74608	38575	4
214975	76	25	58092	28795	0
200609	54	24	42009	94440	1
0	0	0	0	0	0
191923	46	27	36022	38229	0
93107	44	14	23333	31972	3
129419	35	32	53349	40071	9
233497	82	31	92596	132480	0
178228	73	21	49598	62797	2
126602	31	34	44093	40429	0
94332	25	23	84205	45545	2
164183	57	24	63369	57568	1
95704	44	22	60132	39019	2
139901	40	22	37403	53866	2
81293	23	35	24460	38345	1
189007	63	21	46456	50210	0
173779	43	31	66616	80947	1
146552	62	26	41554	43461	7
48188	12	22	22346	14812	0
113870	67	21	30874	37819	0
266451	60	27	68701	102738	0
229437	55	26	35728	54509	0
174876	53	33	29010	62956	1
119070	35	11	23110	55411	6
186704	50	26	38844	50611	0
72559	25	26	27084	26692	0
111940	47	23	35139	60056	0
166226	30	38	57476	25155	10
135901	50	29	33277	42840	6
102141	36	19	31141	39358	0
115753	43	19	61281	47241	11
102194	44	24	25820	49611	3
148531	25	26	23284	41833	0
94982	38	29	35378	48930	0
178613	68	36	74990	110600	8
128907	83	25	29653	52235	2
102378	48	24	64622	53986	0
31970	5	21	4157	4105	0
204812	53	19	29245	59331	3
104972	36	12	50008	47796	1
95276	62	28	52338	38302	2
101560	46	21	13310	14063	1
144193	67	34	92901	54414	0
71921	2	32	10956	9903	2
126905	64	27	34241	53987	1
140303	59	28	75043	88937	0
60138	16	21	21152	21928	0
84971	34	31	42249	29487	0
80420	54	26	42005	35334	0
244190	39	29	41152	57596	0
56252	26	23	14399	29750	0
97181	37	25	28263	41029	0
50913	17	22	17215	12416	0
143910	32	26	48140	51158	0
218900	55	33	62897	79935	0
90772	50	22	22883	26552	0
90385	39	24	41622	25807	6
136220	30	21	40715	50620	0
115572	45	28	65897	61467	5
139075	66	23	76542	65292	1
148950	39	25	37477	55516	0
124626	27	15	53216	42006	0
49176	22	13	40911	26273	0
215480	45	36	57021	90248	0
182328	95	24	73116	61476	0
19349	13	1	3895	9604	0
183873	26	24	46609	45108	3
146020	40	31	29351	47232	0
51201	13	4	2325	3439	0
58280	41	20	31747	30553	0
115944	51	23	32665	24751	0
101515	27	23	19249	34458	1
72904	30	12	15292	24649	0
27676	2	16	5842	2342	0
131173	79	29	33994	52739	0
89920	12	10	13018	6245	0
0	0	0	0	0	0
85610	46	25	98177	35381	0
106742	25	21	37941	19595	0
126825	49	23	31032	50848	0
109807	52	21	32683	39443	0
71894	36	21	34545	27023	0
3616	0	0	0	0	0
0	0	0	0	0	0
154806	35	23	27525	61022	0
136333	68	29	66856	63528	0
147766	26	28	28549	34835	1
113245	36	23	38610	37172	0
43410	7	1	2781	13	0
152455	67	25	41211	62548	1
88874	30	17	22698	31334	0
111924	55	29	41194	20839	8
60373	3	12	32689	5084	3
19764	10	2	5752	9927	1
125760	46	20	26757	53229	2
108685	23	25	22527	29877	0
141868	48	29	44810	37310	0
11796	1	2	0	0	0
10674	0	0	0	0	0
131263	33	18	100674	50067	0
6836	0	1	0	0	0
153278	48	21	57786	47708	5
5118	5	0	0	0	0
40248	8	4	5444	6012	1
0	0	0	0	0	0
100798	25	25	28470	27749	0
84315	21	26	61849	47555	0
7131	0	0	0	0	1
8812	0	4	2179	1336	0
63952	15	17	8019	11017	1
120111	47	21	39644	55184	0
94127	17	22	23494	43485	1




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

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=157014&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'Herman Ole Andreas Wold' @ wold.wessa.net







10-Fold Cross Validation
Prediction (training)Prediction (testing)
ActualC1C2CVC1C2CV
C14082520.618237230.6167
C2885550.863121560.7273
Overall--0.7391--0.6788

\begin{tabular}{lllllllll}
\hline
10-Fold Cross Validation \tabularnewline
 & Prediction (training) & Prediction (testing) \tabularnewline
Actual & C1 & C2 & CV & C1 & C2 & CV \tabularnewline
C1 & 408 & 252 & 0.6182 & 37 & 23 & 0.6167 \tabularnewline
C2 & 88 & 555 & 0.8631 & 21 & 56 & 0.7273 \tabularnewline
Overall & - & - & 0.7391 & - & - & 0.6788 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=157014&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]408[/C][C]252[/C][C]0.6182[/C][C]37[/C][C]23[/C][C]0.6167[/C][/ROW]
[ROW][C]C2[/C][C]88[/C][C]555[/C][C]0.8631[/C][C]21[/C][C]56[/C][C]0.7273[/C][/ROW]
[ROW][C]Overall[/C][C]-[/C][C]-[/C][C]0.7391[/C][C]-[/C][C]-[/C][C]0.6788[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=157014&T=1

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=157014&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
C14082520.618237230.6167
C2885550.863121560.7273
Overall--0.7391--0.6788







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

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

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



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