Home (CZ) | Teaching (CZ) | NMST552 |
Rko (CZ) |
SIS pages of the course: | ENG | CZE |
Tutorial: | Tuesday 9:00 in K3 |
This lecture is primarily intended as a supplementary course for students of the master study branch Probability, mathematical statistics and econometrics. The following knowledge and abilities are assumed:
This course is not a cook-book course on any of the software packages for statistical data analysis.
PuTTY | Download |
FileZilla | Download |
GIMP | Download |
Ghostscript and GhostView | Download |
GNU Emacs | Download |
ESS plugin for Emacs | Download |
Cygwin | Download |
Rtools | Download |
R package devtools |
Tutorial 1 (15/02/2022 and 22/02/2022)
Topic: Data management in R
Files:
Data.R | Data.xls | Data.csv | |
RC2dob.gender.R |
Data included in the LibreOffice sheet Consum.ods contain information on spendings of participants to a certain scientific event during their stay at the conference site. Personal information contains: gender (m/f), category (professor (prof), associate professor (doc), assistant (asist), researcher (res), Ph.D. student (phd), guest (host)), institution. Additionally, length of a talk (if given) is included. The remaining columns provide numbers of consumed drinks of different types, total spendings and spendings on other services (column other). Missing values are indicated by empty cell or a string "na".
Prepare data for statistical analysis which aim would mainly be to explore mutual relationships among personal and consumption variables or mutually among consumption variables. Use your subject matter knowledge to clean data and especially information on institution.
R script (functions and programming) | R script (classes and methods) | CovMat.R |
No new assignment for this tutorial. Work on previous assignments.
R script (glm object) |
Write an R function which takes an object of class glm and creates two tables (each being returned as a data.frame).
Table 1 will contain for each non-intercept coefficient (i) exponential of the MLE of the coefficient (which has a useful interpretation for many GLM's), (ii) related standard error calculated by the mean of a delta method, (iii) p-value from the Wald test, (iv) p-value from the likelihood-ratio (deviance) test, (v) confidence interval for the exponential of the coefficient being dual to the Wald test, (vi) confidence interval for the exponential of the coefficient being dual to the likelihood-ratio test. User should be able to specify a coverage of the confidence intervals.
Table 2 will contain for each term (effect) included in the model (i) related degrees of freedom, (ii) Wald test statistic and a p-value, (iii) likelihood-ratio test statistic and a p-value.
Additionally write a function which prints the results in a nice form. Minimal niceness consists of (a) providing some explanatory titles to the two tables, (b) printed p-values being formatted such that those being lower than 0.001 are printed as <0.001, (c) printed numbers (other than p-values) will be rounded to a value being specified by the user (take 2 as a default value for number of digits after a decimal sign).
Test your function on a logistic model based on Consum data with response being indicator of whether more was spent on alcoholic rather than non-alcoholic drinks (count 25 CZK for Radler/nealko and 30 CZK for liquer, do not count other spendings) and covariates (all included in an additive way) (i) gender, (ii) category, (iii) talk categorized as none/at most 30 min/more than 30 min. Missing values for talk should be considered as no talk. Disregard subjects with category guest.
R script (big data and apply) | Data (Kojeni) |
No new assignment for this tutorial. Work on previous assignments.
R script (routine analysis) | formatOut.R | funTabDescr.R |
Data (nelsNE2) | report (LaTeX) | report (pdf) |
Write an R function to convert tables from Assignment 3 into LaTeX tables. Use LaTeX to prepare a toy report in pdf containing results of the test analysis from Assignment 3.
R script (graphics) | Data (nelsNE2) | pchShow.R |
No new assignment for this tutorial. Work on previous assignments.
R script (simulation 1) | R script (simulation 2) |
As you all (hopefully) know, the χ2 distribution of the test statistic of the Pearson χ2 test of independence in the contingency table is only asymptotic. It is traditionally claimed that the asymptotic χ2 approximation works reasonably well when all expected counts (under independence) are higher than a magical number 5.
Perform a simulation study towards exploration of a true significance level and true distribution of the test statistic of the χ2 test of independence in a 2x2 table corresponding to comparison of two independent binomial distributions. This is in fact a test towards comparison of proportions of a certain property (``success'') in two independent populations.
In the following, let p1 and p2 be proportions of ``success'' in population 1 and 2, respectively and let n1 and n2 be sample sizes in population 1 and 2, respectively. Consider a χ2 test of independence with a nominal significance level of 5% and use continuity corrections when calculating the value of the test statistic. Further, assume equal sample sizes in the two groups, i.e., n1 = n2 = n and consider three scenarios (of independence):
In other words, data will consist of 2 n binary observations being generated from two independent Bernoulli populations whose probabilities of success and failure are as follows:
Success | Failure | Sum | |
Population 1 | p1 | 1 - p1 | 1 |
Population 2 | p2 | 1 - p2 | 1 |
Contingency table with expected counts under the hypothesis p1 = p2 (= p) is then
Success | Failure | Margin | |
Population 1 | n p | n (1 - p) | n |
Population 2 | n p | n (1 - p) | n |
Margin | 2 n p | 2 n (1 - p) | 2 n |
For each scenario, consider values of n (sample size in each group) that gradually correspond to the lowest value of the expected count, i.e., a value of n p (under the respective scenario) being (approximately) 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 50, 100. That is, you have in total 3 x 12 = 36 scenarios. Use a simulation length of at least M = 10000.
Report results (empirical significance levels) in a form of well-formatted table(s) included in a LaTeX (or Sweave) document that you have already prepared for earlier Assignments.
Additionally, use suitable graphical tools to compare empirical distributions of the test statistics (under considered scenarios) to assumed χ2 distributions. Include relevant plots in the document.
Remark: Before you start the simulation, think a little bit whether some scenarios cannot pose computational/theoretical problems.
R script (palettes) | data (PS PČR 2021, csv) | data (PS PČR 2021, RData) |
R script (shape maps) | shape files (CZE_adm.tar.gz) | |
R script (3D plots) | R function (dmixn) |
Take results of the PS PČR 2021 elections (or other elections, e.g., 2020 parliament elections in Slovakia might be more interesting for some students) and calculate conditional distributions of votes by regions. For at least one party, visualize the respective regional proportions in a map. Include the map in a separate section of the document which is being prepared by previous assignments.
R script (routine analysis) | report (Sweave) | report (pdf) |
report 2 (Sweave) | report 2 (pdf) | |
R script (process Sweave) | bib file | |
TeX style | bib style |
Convert the LaTeX document from Assignment 5 into the Sweave document.
Sněhurka (Karlín) | Snow White (Karlín) | IT4Innovations (Ostrava) |
Try to implement the simulation study from the Assignment 7 in an efficient way.
R script (some test of independence) | ||
indTest.c (C file) | indTest.R (R function) | rMVN2.R (R function) |
R script (simulation) | R script (process results) | Shell script (start simulations) |
Interface function .C |
dyn.load and dyn.unload |
Creating shared objects |
Random number generation |
Numerical analysis subroutines |
(distribution and mathematical functions, mathematical constants) |
Optimization |
Integration |
Take Consum data and use a test of independence implemented in indTest.R (with a = 1) to evaluate dependence of spendings on beer consumption (total for beer and Plzeň) and spendings on non-alcoholic drinks (total for Radler/nealko, cola/kofola, čaj). Count 25 CZK for Radler/nealko. Perform the analysis for (a) the whole dataset, (b) "senior" people only (category prof, doc, asist, res, host), (c) "junior" people only (category phd). Use a method of bootstrap to calculate the P-values of the tests. Include results in a document which is being created in the framework of previous assignments.
Remark: Explanation on how to use bootstrap to calculate the P-value of the considered test of independence will be/was provided during the lecture.
R script (lattice, ggplot2) | data (auta2004, RData) |
R markdown files (tar.gz archive) | |
R shiny files (tar.gz archive) |
lattice package description | Getting started with lattice graphics |
ggplot2 package page | Short tutorial on ggplot2 |
knitr |
The course credit will be awarded to the student who hands in a satisfactory solution to each assignment by the prescribed deadline. The nature of these requirements precludes any possibility of additional attempts to obtain the course credit.
DEADLINE for delivery of all the files: Thursday 15/09/2022 (15:09 CEST).