---
title: "Nonparametric Tests"
output: rmarkdown::html_vignette
vignette: >
%\VignetteIndexEntry{Nonparametric Tests}
%\VignetteEngine{knitr::rmarkdown}
%\VignetteEncoding{UTF-8}
---
```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
```
## Empirical Likelihood Tests
Empirical likelihood is a nonparametric method of inference based on a data driven likelihood ratio function. Like the bootstrap and jackknife, empirical likelihood inference does not require us to specify a family of distributions for the data. Like parametric likelihood methods, empirical likelihood makes an automatic determination of the shape of confidence regions [...] and has very favorable asymptotic power properties. It can be thought of as a bootstrap that does not resample and as a likelihood without parametric assumptions. (Owen 2001)
## Tests For Mu
One sample and one-way tests are implemented. Note the distribution does not need to be symmetrical and less data is needed.
```{r part1}
library(LRTesteR)
library(statmod)
set.seed(1)
x <- rinvgauss(n = 30, mean = 2.25, dispersion = 2)
empirical_mu_one_sample(x = x, mu = 1, alternative = "two.sided")
```
The one way test does not require nuisance parameters or sample size to be equal.
```{r part2}
set.seed(1)
x <- c(
rinvgauss(n = 35, mean = 1, dispersion = 1),
rinvgauss(n = 40, mean = 2, dispersion = 3),
rinvgauss(n = 45, mean = 3, dispersion = 5)
)
fctr <- c(rep(1, 35), rep(2, 40), rep(3, 45))
fctr <- factor(fctr, levels = c("1", "2", "3"))
empirical_mu_one_way(x = x, fctr = fctr, conf.level = .95)
```
## Tests For A Quantile
Any quantile can be tested. In this example, the null hypothesis is the median (Q equal to .50) is 0 (value argument).
```{r part3}
set.seed(2)
x <- rnorm(n = 30, mean = 0, sd = 1)
empirical_quantile_one_sample(x = x, Q = .50, value = 0, alternative = "two.sided")
```
Other quantiles can be tested as well.
```{r part4}
# Q1
empirical_quantile_one_sample(x = x, Q = .25, value = 0, alternative = "two.sided")
```
```{r part5}
# Q3
empirical_quantile_one_sample(x = x, Q = .75, value = 0, alternative = "two.sided")
```
In one-way analysis, equality of a quantile is tested. Here, a common median (Q equal to .50) is tested.
```{r part6}
set.seed(1)
x <- c(
rnorm(n = 35, mean = 1, sd = 1),
rnorm(n = 40, mean = 2, sd = 1.25),
rnorm(n = 45, mean = 3, sd = 1.5)
)
fctr <- c(rep(1, 35), rep(2, 40), rep(3, 45))
fctr <- factor(fctr, levels = c("1", "2", "3"))
empirical_quantile_one_way(x = x, Q = .50, fctr = fctr)
```