Free Statistics

of Irreproducible Research!

Author's title

Author*The author of this computation has been verified*
R Software Modulerwasp_bootstrapplot.wasp
Title produced by softwareBlocked Bootstrap Plot - Central Tendency
Date of computationMon, 03 Nov 2008 11:57:42 -0700
Cite this page as followsStatistical Computations at FreeStatistics.org, Office for Research Development and Education, URL https://freestatistics.org/blog/index.php?v=date/2008/Nov/03/t1225738705ekhlx94rzp84o9g.htm/, Retrieved Sun, 19 May 2024 12:03:33 +0000
Statistical Computations at FreeStatistics.org, Office for Research Development and Education, URL https://freestatistics.org/blog/index.php?pk=20982, Retrieved Sun, 19 May 2024 12:03:33 +0000
QR Codes:

Original text written by user:
IsPrivate?No (this computation is public)
User-defined keywords
Estimated Impact174
Family? (F = Feedback message, R = changed R code, M = changed R Module, P = changed Parameters, D = changed Data)
F     [Blocked Bootstrap Plot - Central Tendency] [workshop 3] [2007-10-26 12:36:24] [e9ffc5de6f8a7be62f22b142b5b6b1a8]
F    D    [Blocked Bootstrap Plot - Central Tendency] [Q4] [2008-11-03 18:57:42] [07b7cf1321bc38017c2c7efcf91ca696] [Current]
Feedback Forum
2008-11-09 13:18:31 [Kristof Augustyns] [reply
Het is inderdaad juist.
De midrange is inderdaad de beste calculator.
Het is logisch door te zeggen dat: hoe minder spreiding, hoe nauwkeuriger, hoe beter.
Bij de 'simulation of midrange' zie je dat al de genomen gemiddelden op elkaar zitten gepropt en allemaal dicht bij elkaar zetelen.
Dit is vele compacter dan bij de median en de mean.
Bij de bootstrap simulation ziet men dan ook dat het derde blokje (van de midrange) het kleinst is en het betrouwbaarheidsinterval heel klein is.
Hoe kleinder het betrouwbaarheidsinterval, hoe nauwkeuriger.
Ook zie je dat er, ondanks de outliers, de midrange heel nauwkeurig is.
2008-11-09 15:14:37 [Natascha Meeus] [reply
Correct. Men kan hier de midrange als interval gebruiken. De spreiding is hier het kleinst, maar de outliers kunnen wel een risico vormen. We kunnen ook de mean als interval gebruiken, de spreiding is hier wel groter, maar de outliers zijn hier minder. De outliers zijn hier relevant.
2008-11-10 12:25:54 [Glenn De Maeyer] [reply
De student antwoordde correct. Je neemt hier inderdaad best de mid-range als schatter van de productie van kleding. De reden hiervoor is dat de de mid-range de kleinste spreiding heeft. We zouden ook de mean kunnen gebruiken. Je kan zelf kiezen. Indien je graag op veilig speelt neem je best de mean. Deze heeft wel een grotere spreiding maar bevat minder outliers.
2008-11-11 22:25:23 [Liese Tormans] [reply
Bij deze grafieken gaat men de dataset nemen en de gemiddeldes berekenen, maar telkens wordt er random 1 observatie weggelaten en de berekening zo een 500 tal keer uitgevoerd.

Zoals de student gezegd heeft is de midrange een goede benadering maar het is niet de enige oplossing.

Bij de mean zien we een mooie random verspreiding rond het gemiddelde
Bij de median wordt het patroon duidelijker en gaan de berekeningen meer naar een lijn gaan
Bij de midrange wordt het patroon nog veel duidelijker, de spreiding is hier veel kleiner dan bij de mean en ook kleiner dan bij de median.

We kunnen voor deze vraag dus twee keuze’s gaan maken.

Als we kiezen voor de midrange als beste estimator. Is er maar een kleine spreiding van de observaties zichtbaar dus als we dan een observatie nemen die buiten het 95% betrouwbaarheidsinterval ligt, dan valt deze er ook extreem buiten. Dit heeft de student ook in zijn conclusie vermeld.

Als we kiezen voor de mean, zien we dat er een grotere spreiding van de observaties zichtbaar is, zo heeft men wel meer zekerheid dat als men iets van deze waarde afwijkt, deze waardes toch nog tussen het betrouwbaarheidsinterval liggen.

Verder moet er ook gezegd worden dat de outliers berekeningen zijn van de gemiddeldes en wel relevant zijn in dit gegeven.

Post a new message
Dataseries X:
109.20
88.60
94.30
98.30
86.40
80.60
104.10
108.20
93.40
71.90
94.10
94.90
96.40
91.10
84.40
86.40
88.00
75.10
109.70
103.00
82.10
68.00
96.40
94.30
90.00
88.00
76.10
82.50
81.40
66.50
97.20
94.10
80.70
70.50
87.80
89.50
99.60
84.20
75.10
92.00
80.80
73.10
99.80
90.00
83.10
72.40
78.80
87.30
91.00
80.10
73.60
86.40
74.50
71.20
92.40
81.50
85.30
69.90
84.20
90.70
100.30




Summary of computational transaction
Raw Inputview raw input (R code)
Raw Outputview raw output of R engine
Computing time3 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 & 3 seconds \tabularnewline
R Server & 'Gwilym Jenkins' @ 72.249.127.135 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=20982&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]3 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=20982&T=0

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







Estimation Results of Blocked Bootstrap
statisticQ1EstimateQ3S.D.IQR
mean85.70860655737786.893442622950887.85737704918031.600958916905222.14877049180328
median86.487.3881.877004083282001.59999999999999
midrange88.188.188.851.099217698683110.75

\begin{tabular}{lllllllll}
\hline
Estimation Results of Blocked Bootstrap \tabularnewline
statistic & Q1 & Estimate & Q3 & S.D. & IQR \tabularnewline
mean & 85.708606557377 & 86.8934426229508 & 87.8573770491803 & 1.60095891690522 & 2.14877049180328 \tabularnewline
median & 86.4 & 87.3 & 88 & 1.87700408328200 & 1.59999999999999 \tabularnewline
midrange & 88.1 & 88.1 & 88.85 & 1.09921769868311 & 0.75 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=20982&T=1

[TABLE]
[ROW][C]Estimation Results of Blocked Bootstrap[/C][/ROW]
[ROW][C]statistic[/C][C]Q1[/C][C]Estimate[/C][C]Q3[/C][C]S.D.[/C][C]IQR[/C][/ROW]
[ROW][C]mean[/C][C]85.708606557377[/C][C]86.8934426229508[/C][C]87.8573770491803[/C][C]1.60095891690522[/C][C]2.14877049180328[/C][/ROW]
[ROW][C]median[/C][C]86.4[/C][C]87.3[/C][C]88[/C][C]1.87700408328200[/C][C]1.59999999999999[/C][/ROW]
[ROW][C]midrange[/C][C]88.1[/C][C]88.1[/C][C]88.85[/C][C]1.09921769868311[/C][C]0.75[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=20982&T=1

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

As an alternative you can also use a QR Code:  

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

Estimation Results of Blocked Bootstrap
statisticQ1EstimateQ3S.D.IQR
mean85.70860655737786.893442622950887.85737704918031.600958916905222.14877049180328
median86.487.3881.877004083282001.59999999999999
midrange88.188.188.851.099217698683110.75



Parameters (Session):
par1 = 500 ; par2 = 12 ;
Parameters (R input):
par1 = 500 ; par2 = 12 ; par3 = ; par4 = ; 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):
par1 <- as.numeric(par1)
par2 <- as.numeric(par2)
if (par1 < 10) par1 = 10
if (par1 > 5000) par1 = 5000
if (par2 < 3) par2 = 3
if (par2 > length(x)) par2 = length(x)
library(lattice)
library(boot)
boot.stat <- function(s)
{
s.mean <- mean(s)
s.median <- median(s)
s.midrange <- (max(s) + min(s)) / 2
c(s.mean, s.median, s.midrange)
}
(r <- tsboot(x, boot.stat, R=par1, l=12, sim='fixed'))
bitmap(file='plot1.png')
plot(r$t[,1],type='p',ylab='simulated values',main='Simulation of Mean')
grid()
dev.off()
bitmap(file='plot2.png')
plot(r$t[,2],type='p',ylab='simulated values',main='Simulation of Median')
grid()
dev.off()
bitmap(file='plot3.png')
plot(r$t[,3],type='p',ylab='simulated values',main='Simulation of Midrange')
grid()
dev.off()
bitmap(file='plot4.png')
densityplot(~r$t[,1],col='black',main='Density Plot',xlab='mean')
dev.off()
bitmap(file='plot5.png')
densityplot(~r$t[,2],col='black',main='Density Plot',xlab='median')
dev.off()
bitmap(file='plot6.png')
densityplot(~r$t[,3],col='black',main='Density Plot',xlab='midrange')
dev.off()
z <- data.frame(cbind(r$t[,1],r$t[,2],r$t[,3]))
colnames(z) <- list('mean','median','midrange')
bitmap(file='plot7.png')
boxplot(z,notch=TRUE,ylab='simulated values',main='Bootstrap Simulation - Central Tendency')
grid()
dev.off()
load(file='createtable')
a<-table.start()
a<-table.row.start(a)
a<-table.element(a,'Estimation Results of Blocked Bootstrap',6,TRUE)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'statistic',header=TRUE)
a<-table.element(a,'Q1',header=TRUE)
a<-table.element(a,'Estimate',header=TRUE)
a<-table.element(a,'Q3',header=TRUE)
a<-table.element(a,'S.D.',header=TRUE)
a<-table.element(a,'IQR',header=TRUE)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'mean',header=TRUE)
q1 <- quantile(r$t[,1],0.25)[[1]]
q3 <- quantile(r$t[,1],0.75)[[1]]
a<-table.element(a,q1)
a<-table.element(a,r$t0[1])
a<-table.element(a,q3)
a<-table.element(a,sqrt(var(r$t[,1])))
a<-table.element(a,q3-q1)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'median',header=TRUE)
q1 <- quantile(r$t[,2],0.25)[[1]]
q3 <- quantile(r$t[,2],0.75)[[1]]
a<-table.element(a,q1)
a<-table.element(a,r$t0[2])
a<-table.element(a,q3)
a<-table.element(a,sqrt(var(r$t[,2])))
a<-table.element(a,q3-q1)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'midrange',header=TRUE)
q1 <- quantile(r$t[,3],0.25)[[1]]
q3 <- quantile(r$t[,3],0.75)[[1]]
a<-table.element(a,q1)
a<-table.element(a,r$t0[3])
a<-table.element(a,q3)
a<-table.element(a,sqrt(var(r$t[,3])))
a<-table.element(a,q3-q1)
a<-table.row.end(a)
a<-table.end(a)
table.save(a,file='mytable.tab')