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 14:47:23 -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/t1225748888zlvu5kmbtml1kyw.htm/, Retrieved Sun, 19 May 2024 09:23:53 +0000
Statistical Computations at FreeStatistics.org, Office for Research Development and Education, URL https://freestatistics.org/blog/index.php?pk=21328, Retrieved Sun, 19 May 2024 09:23:53 +0000
QR Codes:

Original text written by user:
IsPrivate?No (this computation is public)
User-defined keywords
Estimated Impact176
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] [WS2 Q4] [2008-11-01 17:54:11] [74be16979710d4c4e7c6647856088456]
F           [Blocked Bootstrap Plot - Central Tendency] [P1 Q4] [2008-11-03 21:47:23] [e11d930c9e2984715c66c796cf63ef19] [Current]
Feedback Forum
2008-11-10 12:08:46 [339a57d8a4d5d113e4804fc423e4a59e] [reply
De student gebruikt dezelfde berekeningssoftware als de voorbeeldstudent. Dit is inderdaad correct. Bij deze berekening worden er steeds een waarde weggenomen, waarna er een nieuw gemiddelde wordt berekend. Dan zet men de waarde terug, pakt men er een andere waarde uit en berekent men opnieuw het gemiddelde. Dit doet men een bepaald aantal keer. Men doet dit om te kijken hoe nauwkeurig het gemiddelde is, hoe kleiner de spreiding van de nieuw berekende gemiddeldes, hoe nauwkeuriger het gemiddelde.

De student zegt dat de midrange het beste gemiddelde is omdat de spreiding daar het kleinst is. Bij de midrange zijn er echter veel outliers. Bij de mean is er een grotere spreiding maar slechts een paar outliers. Men kan hier beide gemiddeldes kiezen, maar meestal wordt er geopteerd voor het rekenkundig gemiddelde.
2008-11-10 17:22:02 [Olivier Uyttendaele] [reply
Goed gereproduceerd, ook correct aangepast van 100 naar 500 observaties. De punten die je ziet in de grafieken zijn rekenkundige gemiddelden en geen waarnemingen van een dataset. De bedoeling hier is de nauwkeurigheid van het gemiddelde te berekenen. Hoe kleiner de spreiding van de gemiddelden, hoe nauwkeuriger het algemeen gemiddelde. De bootstrap simulation geeft een samenvatting van alle grafieken (scatterplots van de mean, median…) en berekende gemiddelden.
Verder heb ik hier een half goed antwoord op gegeven. Het is inderdaad zo dat de midrange de kleinste spreiding geeft (en dus ook de minste variatie)
Maar er zijn bij deze midrange echter teveel outliers aanwezig zijn. De op 1 na kleinste spreiding bevindt zich dan bij de mean die geen outliers vertoont. Bijgevolg dien je deze te gebruiken als beste schatter.

En algemene uitleg over de bootstrap uitgelegd met een concreet voorbeeld gaat als volgt:
“to estimate the uncertainty of the median from a dataset
with 50 elements, we generate a subsample of 50 elements and calculate
the median. This is repeated at least 500 times so that we have at least
500 values for the median. Although the number of bootstrap samples to
use is somewhat arbitrary, 500 subsamples is usually sufficient. To
calculate a 90% confidence interval for the median, the sample medians
are sorted into ascending order and the value of the 25th median
(assuming exactly 500 subsamples were taken) is the lower confidence
limit while the value of the 475th median (assuming exactly 500
subsamples were taken) is the upper confidence limit.”
Bron: 1. Exploratory Data Analysis - 1.3.3.4. Bootstrap Plot
2008-11-12 10:42:32 [df2ed12c9b09685cd516719b004050c5] [reply
De mean geeft een grotere spreiding maar is niet zo betrouwbaar (kleinere betrouwbaarheidintervallen) Outliershebben ook een grote invloed op de mean. De midrange heeft een kleinere spreiding, maar is meer betrouwbaar en heeft meer outliers. Als we de de mean nemen dan zoeken we in de dataset naar outliers en filteren deze eruit. Maar meestal is dit een persoonlijke keuze en hangt dit af van het type onderzoek dat men wil doen.

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

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







Estimation Results of Blocked Bootstrap
statisticQ1EstimateQ3S.D.IQR
mean85.659836065573886.893442622950887.85163934426231.626542195373142.19180327868851
median86.487.3881.804817467830021.59999999999999
midrange87.8588.188.851.079365285173501

\begin{tabular}{lllllllll}
\hline
Estimation Results of Blocked Bootstrap \tabularnewline
statistic & Q1 & Estimate & Q3 & S.D. & IQR \tabularnewline
mean & 85.6598360655738 & 86.8934426229508 & 87.8516393442623 & 1.62654219537314 & 2.19180327868851 \tabularnewline
median & 86.4 & 87.3 & 88 & 1.80481746783002 & 1.59999999999999 \tabularnewline
midrange & 87.85 & 88.1 & 88.85 & 1.07936528517350 & 1 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=21328&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.6598360655738[/C][C]86.8934426229508[/C][C]87.8516393442623[/C][C]1.62654219537314[/C][C]2.19180327868851[/C][/ROW]
[ROW][C]median[/C][C]86.4[/C][C]87.3[/C][C]88[/C][C]1.80481746783002[/C][C]1.59999999999999[/C][/ROW]
[ROW][C]midrange[/C][C]87.85[/C][C]88.1[/C][C]88.85[/C][C]1.07936528517350[/C][C]1[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=21328&T=1

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=21328&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.659836065573886.893442622950887.85163934426231.626542195373142.19180327868851
median86.487.3881.804817467830021.59999999999999
midrange87.8588.188.851.079365285173501



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