diff --git a/zajecia6/.RData b/zajecia6/.RData new file mode 100644 index 0000000..f1c8698 Binary files /dev/null and b/zajecia6/.RData differ diff --git a/zajecia6/.Rhistory b/zajecia6/.Rhistory new file mode 100644 index 0000000..7c76975 --- /dev/null +++ b/zajecia6/.Rhistory @@ -0,0 +1,104 @@ +x <- c(862, 870, 876, 866, 871, 865, 861, 873, 871, 872) +shapiro.test(x)$p.value +qqnorm(x) +qqline(x) +mean(x) +t.test(x, mu = 870, alternative = "less")$p.value +x <- c(78.2, 78.5, 75.6, 78.5, 78.5, 77.4, 76.6) +y <- c(76.1, 75.2, 75.8, 77.3, 77.3, 77.0, 74.4, 76.2, 73.5, 77.4) +boxplot(x, y) +shapiro.test(x)$p.value +qqnorm(x) +qqline(x) +shapiro.test(y)$p.value +qqnorm(y) +qqline(y) +var(x) +var(y) +var.test(x, y, alternative = "less")$p.value +mean(x) +mean(y) +t.test(x, y, var.equal = TRUE, alternative = 'greater')$p.value +x <- c(78.2, 78.5, 75.6, 78.5, 78.5, 77.4, 76.6) +y <- c(76.1, 75.2, 75.8, 77.3, 77.3, 77.0, 74.4, 76.2, 73.5, 77.4) +boxplot(x, y) +mean(x) +mean(y) +t.test(x, y, var.equal = TRUE, alternative = 'greater')$p.value +x <- c(88.2, 88.5, 85.6, 88.5, 88.5, 87.4, 86.6) +y <- c(76.1, 75.2, 75.8, 77.3, 77.3, 77.0, 74.4, 76.2, 73.5, 77.4) +boxplot(x, y) +mean(x) +mean(y) +t.test(x, y, var.equal = TRUE, alternative = 'greater')$p.value +shapiro.test(x)$p.value +shapiro.test(y)$p.value +var(x) +var(y) +var.test(x, y, alternative = "less")$p.value +x <- c(78.2, 78.5, 75.6, 78.5, 78.5, 77.4, 76.6) +y <- c(76.1, 75.2, 75.8, 77.3, 77.3, 77.0, 74.4, 76.2, 73.5, 77.4) +t.test(x, y, var.equal = TRUE, alternative = 'greater')$p.value +x <- c(78.2, 78.5, 75.6, 78.5, 78.5, 77.4, 76.6) +y <- c(86.1, 85.2, 85.8, 87.3, 87.3, 87.0, 84.4, 86.2, 83.5, 87.4) +t.test(x, y, var.equal = TRUE, alternative = 'greater')$p.value +x <- c(78.2, 78.5, 75.6, 78.5, 78.5, 77.4, 76.6) +y <- c(76.1, 75.2, 75.8, 77.3, 77.3, 77.0, 74.4, 76.2, 73.5, 77.4) +t.test(x, y, var.equal = TRUE, alternative = 'greater')$p.value +x <- c(84, 87, 87, 90, 90, 90, 90, 93, 93, 96) +y <- c(89, 92, 98, 95, 95, 92, 95, 92, 98, 101) +boxplot(x, y) +shapiro.test(x)$p.value +qqnorm(x) +qqline(x) +shapiro.test(y)$p.value +qqnorm(y) +qqline(y) +mean(x) +mean(y) +t.test(x, y, paired = TRUE, alternative = 'less')$p.value +x <- c(171, 176, 179, 189, 176, 182, 173, 179, 184, 186, 189, 167, 177) +y <- c(161, 162, 163, 162, 166, 164, 168, 165, 168, 157, 161, 172) +boxplot(x, y) +shapiro.test(x)$p.value +qqnorm(x) +qqline(x) +shapiro.test(y)$p.value +qqnorm(y) +qqline(y) +var(x) +var(y) +var.test(x, y, alternative = "greater")$p.value +mean(x) +mean(y) +t.test(x, y, alternative = 'greater')$p.value +w_test <- function(x, lambda_zero, alternative = c('two.sided', 'less', 'greater')) { +statistic <- 2 * length(x) * lambda_zero * mean(x) +d <- 2 * length(x) +alternative <- match.arg(alternative) +p_value <- pchisq(statistic, d) +p_value <- switch(alternative, +'two.sided' = 2 * min(p_value, 1 - p_value), +'greater' = p_value, +'less' = 1 - p_value) +names(statistic) <- 'T' +names(d) <- 'num df' +result <- list(statistic = statistic, +parameter = d, +p.value = p_value, +alternative = alternative, +method = 'Test chi-kwadrat w modelu wyk�adniczym', +data.name = deparse(substitute(x))) +class(result) <- 'htest' +return(result) +} +awarie <- read.table("http://ls.home.amu.edu.pl/data_sets/awarie.txt") +View(awarie) +1 / mean(awarie$V1) +w_test(awarie$V1, 0.001, 'less') +x <- c(171, 176, 179, 189, 176, 182, 173, 179, 184, 186, 189, 167, 177) +y <- c(161, 162, 163, 162, 166, 164, 168, 165, 168, 157, 161, 172) +boxplot(x, y) +shapiro.test(x)$p.value +qqnorm(x) +qqline(x) diff --git a/zajecia6/README.md b/zajecia6/README.md new file mode 100644 index 0000000..d6d7519 --- /dev/null +++ b/zajecia6/README.md @@ -0,0 +1,40 @@ +# Zajęcia 6 +Testowanie hipotez statystycznych. + + + +## Test t-Studenta +Test t Studenta jest metodą statystyczną służącą do porównania dwóch średnich między sobą jeśli znamy liczbę badanych osób, średnią arytmetyczną oraz wartość odchylenia standardowego lub wariancji. + +Jest to jeden z mniej skomplikowanych i bardzo często wykorzystywanych testów statystycznych używanych do weryfikacji hipotez. Dzięki niemu możemy dowiedzieć się czy dwie różne średnie są różne niechcący (w wyniku przypadku) czy są różne istotnie statystycznie (np. z uwagi na naszą manipulację eksperymentalna). + +Są gotowe wzory do których podstawiamy wartości w zalezności od rodzaju próby. + + + +## P-wartość +P-wartość (p-value) to graniczny poziom istotności - najmniejszy, przy którym zaobserwowana wartość statystyki testowej prowadzi do odrzucenia hipotezy zerowej. Im p-wartość jest większa, tym bardziej hipoteza H0 jest prawdziwa. Im mniejsza tym niej prawdopodobna jest hipoteza H0 + +Wartość p, p-wartość, prawdopodobieństwo testowe. + + + +## Wykres Q-Q +Ten wykres (kwantyl - kwantyl) słuzy do porównania wartości estymowanej - linia z prawdziwymi zmierzonymi wartościami - kropki. +W tych ćwiczeniach ta wartość przewidziana to po prostu najlepiej pasująca linia do punktów. +

+![QQ](q-q.png) + + + +## Test Shapiro-Wilka +Hipotezy: + +- H0 : Próba pochodzi z populacji o rozkładzie normalnym + +- H1 : Próba nie pochodzi z populacji o rozkładzie normalnym. + + + +# Var.test +Wariancja - Intuicyjnie utożsamiana ze zróżnicowaniem zbiorowości. Wg dokumentacji jest to test pozwalający porównać wariancje z dwóch rozkładów normalnych. \ No newline at end of file diff --git a/zajecia6/Zajęcia6.pdf b/zajecia6/Zajęcia6.pdf new file mode 100644 index 0000000..55d2b99 Binary files /dev/null and b/zajecia6/Zajęcia6.pdf differ diff --git a/zajecia6/q-q.png b/zajecia6/q-q.png new file mode 100644 index 0000000..64fec7b Binary files /dev/null and b/zajecia6/q-q.png differ diff --git a/zajecia6/test_t_dla jednej próby.pdf b/zajecia6/test_t_dla jednej próby.pdf new file mode 100644 index 0000000..7537905 Binary files /dev/null and b/zajecia6/test_t_dla jednej próby.pdf differ diff --git a/zajecia6/zadania.R b/zajecia6/zadania.R new file mode 100644 index 0000000..9620a76 --- /dev/null +++ b/zajecia6/zadania.R @@ -0,0 +1,112 @@ +# Zad 1 + +x <- c(862, 870, 876, 866, 871, 865, 861, 873, 871, 872) +shapiro.test(x)$p.value +qqnorm(x) +qqline(x) +mean(x) +t.test(x, mu = 870, alternative = "less")$p.value + +# Zad 2 + +x <- c(78.2, 78.5, 75.6, 78.5, 78.5, 77.4, 76.6) +y <- c(76.1, 75.2, 75.8, 77.3, 77.3, 77.0, 74.4, 76.2, 73.5, 77.4) +boxplot(x, y) + +shapiro.test(x)$p.value +qqnorm(x) +qqline(x) + +shapiro.test(y)$p.value +qqnorm(y) +qqline(y) + +var(x) +var(y) +var.test(x, y, alternative = "less")$p.value + +mean(x) +mean(y) +t.test(x, y, var.equal = TRUE, alternative = 'greater')$p.value +#teraz jest mała wartość - 0.01 czyli hipoteza że y jest większe niż x jest malo prawdopodobne +# gdybym zwiększył w y każdą wartość o 10 to p wartość = 1 czyli y jest większe niż x + + +# ZAD 3 + +x <- c(84, 87, 87, 90, 90, 90, 90, 93, 93, 96) +y <- c(89, 92, 98, 95, 95, 92, 95, 92, 98, 101) +boxplot(x, y) + +shapiro.test(x)$p.value +qqnorm(x) +qqline(x) + +shapiro.test(y)$p.value +qqnorm(y) +qqline(y) + +mean(x) +mean(y) +t.test(x, y, paired = TRUE, alternative = 'less')$p.value +# Mała p-wartość czyli hipoteza że y jest mniejsze niż x jest mało prawdopodobna + +# ZAD 4 + +x <- c(171, 176, 179, 189, 176, 182, 173, 179, 184, 186, 189, 167, 177) +y <- c(161, 162, 163, 162, 166, 164, 168, 165, 168, 157, 161, 172) +boxplot(x, y) + +shapiro.test(x)$p.value +qqnorm(x) +qqline(x) +# duża p-wartość czyli hipoteza że wartości pochadzą z rozkładu normalnego jest duża + +shapiro.test(y)$p.value +qqnorm(y) +qqline(y) + +var(x) +var(y) +var.test(x, y, alternative = "greater")$p.value + +mean(x) +mean(y) +t.test(x, y, alternative = 'greater')$p.value +# Mała p-wartość czyli hipoteza że kobiety są wyższe niż mężczyźni jest bardzo mało prawdopodobna + + +# ZAD5 + +w_test <- function(x, lambda_zero, alternative = c('two.sided', 'less', 'greater')) { + statistic <- 2 * length(x) * lambda_zero * mean(x) + d <- 2 * length(x) + alternative <- match.arg(alternative) + p_value <- pchisq(statistic, d) + p_value <- switch(alternative, + 'two.sided' = 2 * min(p_value, 1 - p_value), + 'greater' = p_value, + 'less' = 1 - p_value) + names(statistic) <- 'T' + names(d) <- 'num df' + result <- list(statistic = statistic, + parameter = d, + p.value = p_value, + alternative = alternative, + method = 'Test chi-kwadrat w modelu wyk�adniczym', + data.name = deparse(substitute(x))) + class(result) <- 'htest' + return(result) +} + +awarie <- read.table("http://ls.home.amu.edu.pl/data_sets/awarie.txt") +1 / mean(awarie$V1) +w_test(awarie$V1, 0.001, 'less') + + + + + + + + diff --git a/zajecia6/zajecia6.Rproj b/zajecia6/zajecia6.Rproj new file mode 100644 index 0000000..8e3c2eb --- /dev/null +++ b/zajecia6/zajecia6.Rproj @@ -0,0 +1,13 @@ +Version: 1.0 + +RestoreWorkspace: Default +SaveWorkspace: Default +AlwaysSaveHistory: Default + +EnableCodeIndexing: Yes +UseSpacesForTab: Yes +NumSpacesForTab: 2 +Encoding: UTF-8 + +RnwWeave: Sweave +LaTeX: pdfLaTeX