Skip to content

Commit

Permalink
add testovani
Browse files Browse the repository at this point in the history
  • Loading branch information
petr-pavlik committed Nov 18, 2024
1 parent e5b8d3d commit 0ec7a7c
Show file tree
Hide file tree
Showing 86 changed files with 2,298 additions and 29,347 deletions.
132 changes: 56 additions & 76 deletions 07_testovani.qmd
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
# Testování hypotéz {#sec-testovani}

Testování statistikcké hypotézy je proces
Testování statistikcké hypotézy je proces, při kterém na základě dat pocházejících
z náhodného výběru ověřujeme úsudek o teoretickém souboru.

Zavádíme pojmy nulové $\mathrm{H}_0$ a alternativní hypotézy $\mathrm{H}_a$.

Pod *testováním hypotéz* potom rozumíme proces, který na základě
vlastností datové sady pocházející z náhodného výběru rozhodne o zamítnutí,
či nezamítnutí nulové hypotézy.
vlastností datové sady rozhodne o zamítnutí, či nezamítnutí nulové hypotézy.

::: callout-note
## Poznámka
Expand All @@ -17,11 +19,11 @@ co se na sesbíraných datech snažíme vysledovat.

## Postup testování statistické hypotézy:

1. Formulace nulové $\mathrm{H}_0$ a alternativní $\mathrm{H}_a$ hypotézy.\
2. Volba hladiny významnosti $\alpha$.\
3. Volba testovací statistiky.\
4. Určení kritického oboru testové statistiky.
5. Vyhodnocení testu s pomocí p-hodnoty.
1. Formulace nulové $\mathrm{H}_0$ a alternativní $\mathrm{H}_a$ hypotézy,\
2. volba hladiny významnosti $\alpha$,\
3. volba testovací statistiky,\
4. určení kritického oboru testové statistiky,\
5. vyhodnocení testu s pomocí p-hodnoty.

Výsledkem testování je buď a) zamítnutní nulové hypotézy[^07_testovani-1] b) nezamítnutní nulové hypotézy.

Expand All @@ -45,7 +47,8 @@ Výsledkem testování je buď a) zamítnutní nulové hypotézy[^07_testovani-1
</table>
```

Síla testu $\beta$ je pravěpodobnost, že je testem zamítnuta nulová hypotéza, která je skutečně neplatná. $P(\mathrm{H}_A|\mathrm{H}_A) = 1-\beta$
Síla testu $\beta$ je pravěpodobnost, že je testem zamítnuta nulová hypotéza,
která je skutečně neplatná. $P(\mathrm{H}_A|\mathrm{H}_A) = 1-\beta$

## $p-$hodnota

Expand All @@ -59,6 +62,8 @@ Představme si, že hledáme odpověď na otázky typu: "Jaká je střední hodn

## $100(1-\alpha)\%$ interval spolehlivosti

Vrátíme se krátce k intervalu spolehlivosti z předchozí hodiny.

$$
\bar{x} - 1.96\dfrac{\sigma}{\sqrt{n}}\leq\mu\leq \bar{x} + 1.96\dfrac{\sigma}{\sqrt{n}}
$$
Expand All @@ -80,83 +85,58 @@ Dejme tomu, že jsme v průběhu práce sesbírali následující hodnoty:\
`r set.seed(1450070); rnorm(10)`\
u procesu $X\sim\mathsf{N}(0; 1)$
```{r, fig.align='center'}
set.seed(1450070)
set.seed(1450070) #<1>
xd <- rnorm(10)
curve(dnorm(x), from = -5, to = 5)
rug(xd, lwd = 2)
segments(x0 = mean(xd), x1 = mean(xd), y0 = -0.2, y1 = dnorm(mean(xd)), lwd = 2, col = "orangered")
segments(x0 = mean(xd),
x1 = mean(xd),
y0 = -0.2,
y1 = dnorm(mean(xd)),
lwd = 2,
col = "orangered",
xlab = "",
ylab = "")
```
1. V tomto příkladu potřebujeme vygenerovat specifické hodnoty, proto si určíme `set.seed()`

### Příklad 2


Pravděpodobnost platnosti hypotézy

## Testy dobré shody

Testovací statistika testu dobré shody
$$
\chi^2=\sum\dfrac{(O-E)^2}{E}
$$


<!-- ## SPEI -->

<!-- Načteme data -->
Data jsme získali s pomocí generátoru pro náhodné rozdělení, budeme předpokládat,
že teoretický soubor má náhodné rozdělení s parametry $\mu=0$ a $\sigma^2=1$ a ověříme
na hladině významnosti $\alpha=0.05$.

<!-- ```{r} -->
<!-- precip <- as.numeric(unlist((read.csv2("./data/CHMI_SRA/U2HRAD01_SRA_N.csv", skip = 30)["X0"]))) -->
<!-- ``` -->


<!-- # Výpočet statistických parametrů -->
<!-- ```{r} -->
<!-- mean_precip <- mean(precip) # Průměr -->
<!-- sd_precip <- sd(precip) # Směrodatná odchylka -->
<!-- skewness_precip <- mean((precip - mean_precip)^3) / sd_precip^3 # Koeficient šikmosti -->
<!-- ``` -->

<!-- # Funkce pro CDF Pearsonova rozdělení III. typu -->
<!-- ```{r} -->
<!-- pearson_cdf <- function(x, mean, sd, skew) { -->
<!-- if (skew == 0) { -->
<!-- pnorm((x - mean) / sd) -->
<!-- } else { -->
<!-- alpha <- 4 / skew^2 -->
<!-- beta <- sqrt(sd^2 / alpha) -->
<!-- x_shifted <- x - (mean - alpha * beta) -->
<!-- pgamma(x_shifted / beta, shape = alpha) -->
<!-- } -->
<!-- } -->
<!-- ``` -->

<!-- # Výpočet CDF hodnot pro každou hodnotu srážek pomocí Pearsonova III rozdělení -->
<!-- ```{r} -->
<!-- cdf_values <- sapply(precip, pearson_cdf, mean = mean_precip, sd = sd_precip, skew = skewness_precip) -->
<!-- ``` -->

<!-- # Transformace CDF hodnot na standardní normální hodnoty (hodnoty SPI) -->
<!-- ```{r} -->
<!-- spi_values <- qnorm(cdf_values) -->
<!-- ``` -->

<!-- # Výsledek: hodnoty SPI -->
<!-- ```{r} -->
<!-- print(spi_values) -->
<!-- plot(table(cut(spi_values, breaks = c(-5:5)))) -->
<!-- ``` -->
::: callout-note
## Úloha

1. Stanovte znění $\mathrm{H}_0$ a $\mathrm{H}_a$.
2. Kolik bude stupňů volnosti?
:::

```{r}
t.test(xd, mu = 0) #<1>
```
Z výsledku testu vyplývá, že `p-value` $< \alpha$, proto tedy musíme nulovou hypotézu


<!-- ## Rekapitulace -->

<!-- ::: callout-tip -->
<!-- ## Úloha -->
### Příklad 2

<!-- 1. a) Nalezněte 90% interval spolehlivosti pro roztpyl veličiny -->
<!-- b) Otestujte, zda veličiny generující sobory $x$ a $y$ mají shodný rozptyl. -->
<!-- 2. Spočítejte, zda můžeme s pravděpodobností $90\:\%$ zamítnout hypotézu, že střední hodnota veličiny generující výběr `x <- c(0.77, 1.11, 1.14, 0.92, 0.49, 5.03, 1.35, 0.94, 0.33, 2.49)` je menší než 1.\ -->
<!-- 3. Pro stejný výběr spočítejte, zda je možné na hladině významnosti $0.05$ zamítnout hypotézu, že střední hodnota veličiny generující výběr je rovna $1$. -->
<!-- ::: -->
V předchozím příkladu jsme testovali nulovou hypotézu oproti oboustranné alternativě,
tzn. neřešili jsme, zda je střední hodnota menší či větší.

::: callout-note
## Úloha

1. S pomocí nápovědy nastavte argumenty funkce `t.test()` tak, aby byla test proběhl
oproti jednostranné alternativě, že je skutečná střední hodnota nižší než 2.
2. Studentův $t-$test lze použít za předpokladu, že data splňují tzv. normalitu.
tu lze pro tento soubor snadno ověřit jiným testem - `shapiro.test()`. $\mathrm{H}_0$:
rozdělení není odlišné od normálního. Zamítneme $\mathrm{H}_0$ na hladině významnosti $\alpha=0,1$?
3. Zatím jsme použili jedovýběrový $t-$test na data pocházející z Normálního rozdělení.
V případě, že by naše data nesplňovala předpoklady kladené na tento parametrický test,
museli bychom volit neparametrickou variantu testu. Pro test hypotézy o střední
hodnotě lze využít neparametrický *Wilcoxonův test* - `wilcox.test()`. Rozhodněte
o volbě testu a proveďte s pomocí nápovědy test o rovnosti středních hodnot souborů
z datové sady **temp.csv**.

:::

103 changes: 103 additions & 0 deletions data/temp.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
"","T1","T2"
"1",16.58,16.33
"2",16.73,16.34
"3",16.93,16.35
"4",17.15,16.42
"5",17.23,16.55
"6",17.24,16.69
"7",17.24,16.71
"8",16.9,16.75
"9",16.95,16.81
"10",16.89,16.88
"11",16.95,16.89
"12",17,16.91
"13",16.9,16.85
"14",16.99,16.89
"15",16.99,16.89
"16",17.01,16.67
"17",17.04,16.5
"18",17.04,16.74
"19",17.14,16.77
"20",17.07,16.76
"21",16.98,16.78
"22",17.01,16.82
"23",16.97,16.89
"24",16.97,16.99
"25",17.12,16.92
"26",17.13,16.99
"27",17.14,16.89
"28",17.15,16.94
"29",17.17,16.92
"30",17.12,16.97
"31",17.12,16.91
"32",17.17,16.79
"33",17.28,16.77
"34",17.28,16.69
"35",17.44,16.62
"36",17.51,16.54
"37",17.64,16.55
"38",17.51,16.67
"39",17.98,16.69
"40",18.02,16.62
"41",18,16.64
"42",18.24,16.59
"43",18.1,16.65
"44",18.24,16.75
"45",18.11,16.8
"46",18.02,16.81
"47",18.11,16.87
"48",18.01,16.87
"49",17.91,16.89
"50",17.96,16.94
"51",18.03,16.98
"52",18.17,16.95
"53",18.19,17
"54",18.18,17.07
"55",18.15,17.05
"56",18.04,17
"57",17.96,16.95
"58",17.84,17
"59",17.83,16.94
"60",17.84,16.88
"61",17.74,16.93
"62",17.76,16.98
"63",17.76,16.97
"64",17.64,16.85
"65",17.63,16.92
"66",18.06,16.99
"67",18.19,17.01
"68",18.35,17.1
"69",18.25,17.09
"70",17.86,17.02
"71",17.95,16.96
"72",17.95,16.84
"73",17.76,16.87
"74",17.6,16.85
"75",17.89,16.85
"76",17.86,16.87
"77",17.71,16.89
"78",17.78,16.86
"79",17.82,16.91
"80",17.76,17.53
"81",17.81,17.23
"82",17.84,17.2
"83",18.01,17.25
"84",18.1,17.2
"85",18.15,17.21
"86",17.92,17.24
"87",17.64,17.1
"88",17.7,17.2
"89",17.46,17.18
"90",17.41,16.93
"91",17.46,16.83
"92",17.56,16.93
"93",17.55,16.83
"94",17.75,16.8
"95",17.76,16.75
"96",17.73,16.71
"97",17.77,16.73
"98",18.01,16.75
"99",18.04,16.72
"100",18.07,16.76
"101",NA,16.7
"102",NA,16.82
Loading

0 comments on commit 0ec7a7c

Please sign in to comment.