P2 - Simulering af Data
2020-05-26
Kapitel 1 Introduktion
1.1 Abstract
The aim of the project was to identify alternatives to classical inference methods if the assumptions of these were not met and evaluate their performance.
To examine this question, a classical inference method, the t-test, and how it can be used for hypothesis testing, is described. Furthermore, it is shown how the programming language R can be utilized to perform these simulations quickly and simply. Then, by means of simulations, it is examined whether the results are credible if the samples are not normally distributed when working with an unpaired t-test. Afterward, two alternatives to the t-test that do not assume normally distributed samples, permutations and bootstrap, are presented.
It was discovered that it cannot be assumed that a t-test on a non-normal random sample always produces true results. In addition, it was found that the permutation test is more accurate than bootstrap if only a hypothesis test is to be performed. Furthermore, it was concluded that, out of the three bootstrap methods examined for confidence intervals, the coverage of the T method is the most accurate.
It is worth mentioning that a lack of computing power might have impacted the results as it was not possible to execute a total of 10,000 bootstraps samples in every analysis made.
1.2 Forord
Projektet er udarbejdet af gruppe B2-19 fra Datavidenskab 2. semester på Aalborg Universitet. Projketperioden løb fra den 3. februar til den 27. maj 2020. Gruppen blev vejledt af Mikkel Meyer Andersen. Det overordnede tema i projektet er “Fra Data til Videnskab” med fokus på statistisk inferens ved hjælp af simuleringer. Projektets kildekode kan findes på følgende link til GitHub.
1.3 Læsevejledning
I denne rapport anvendes grundlæggende teori omkring klassisk statistisk inferens. Derudover er der inddraget to metoder, permutation og bootstrap, for at kunne sammenligne og teste op mod de klassiske statistiske inferensmetoder.
I rapporten gøres der brug af programmeringssproget R, til at gennemføre simuleringer og analyser. Til simulerings- og analysedelen i rapporten er der hovedsagligt anvendt funktionaliteter fra R og pakken mosaic. Derudover er der til nogle specifikke formål anvendt pakker, som er konstrueret hertil, disse pakker er wPerm og boot. De steder hvor wPerm og boot anvendes i rapporten, skrives der i koden pakkenavn::funktion, eksempelvis boot::boot.ci()
. Rapportens enkelte dele er skrevet i R Markdown, som efterfølgende er samlet til den færdige rapport ved hjælp af pakken bookdown.
I rapporten gøres der brug af den engelske version af decimal- og tusindtalsseperator. Baggrunden for dette er, at denne metode anvendes i programmeringssproget R, og for derved at lette vekslingen mellem brødtekst og kode, fortsættes metoden ligeledes i selve rapporten.
Der anvendes samme seed \(31,415\) igennem alle kapitler, for at sikre, at der er kontinuitet i de resultater, som rapporten drager sine konklusioner på baggrund af, og at resultaterne er reproducerbare.
Det beskrives i rapporten, at udførelsen af bootstrap og permutation, kræver \(10,000\) resamples for at give et nøjagtigt resultat. Der vil igennem rapporten være steder hvor disse resamples, af hensyn til den tilgængelige computerkraft, er reduceret til henholdsvis \(500\) og \(1,000\) resamples.
Alle kilder er skrevet efter Harvard-metoden og angives i kantede parenteser, [forfatternavn, årstal]. Refereres der til en bestemt side i kilden eller et tidspunkt i en video, vil dette fremgå efter årstallet.
1.4 Anvendte pakker
I dette projekt er følgende pakker blevet anvendt.
bookdown
, (Xie 2020). Denne pakke muliggør at skrive hele rapporter i R ved hjælp af R Markdown, og er derfor brugt til udarbejdelsen af hele rapporten.mosaic
, (Pruim, Kaplan, and Horton 2020). Denne pakke indeholder flere funktionaliteter, der benyttes i statistike analyser. Pakken anvendes i samtlige afsnit i rapporten.wPerm
, (Weiss 2015). Denne pakke indeholder en funktion, der kan udføre hypotesetest ved hjælp af permutationer. Pakken anvendes i afsnit 5.3.boot
, (Canty and Ripley 2020). Denne pakke indeholder funktioner, der benyttes til at oprette bootstrap-stikprøver og til at udarbejde bootstrap-konfidensintervaller. Pakken anvendes i afsnit 6.2 og 6.4.4.
Bibliografi
Canty, Angelo, and Brian Ripley. 2020. Boot: Bootstrap Functions (Originally by Angelo Canty for S). https://CRAN.R-project.org/package=boot.
Pruim, Randall, Daniel T. Kaplan, and Nicholas J. Horton. 2020. Mosaic: Project Mosaic Statistics and Mathematics Teaching Utilities. https://CRAN.R-project.org/package=mosaic.
Weiss, Neil A. 2015. WPerm: Permutation Tests. https://CRAN.R-project.org/package=wPerm.
Xie, Yihui. 2020. Bookdown: Authoring Books and Technical Documents with R Markdown. https://CRAN.R-project.org/package=bookdown.