Analysis of Deviance

Classic One-Way ANOVA

As an introduction, lets start with one way ANOVA. Here three random variables following a normal distribution with a common standard deviation are created. For this test, the null hypothesis is

\[ H_{0}: \mu_0 = \mu_1 = \mu_2 \]

library(LRTesteR)

set.seed(123)
x <- c(
  rnorm(n = 50, mean = 1, sd = 1),
  rnorm(n = 50, mean = 3, sd = 1),
  rnorm(n = 50, mean = 5, sd = 1)
)
fctr <- c(rep(1, 50), rep(2, 50), rep(3, 50))
fctr <- factor(fctr, levels = c("1", "2", "3"))
gaussian_mu_one_way(x = x, fctr = fctr, conf.level = 0.95)
#> Log Likelihood Statistic: 194.76
#> p value: 0
#> Confidence Level Of Set: 95%
#> Individual Confidence Level: 98.3%
#> Confidence Interval For Group 1: (0.715, 1.354)
#> Confidence Interval For Group 2: (2.834, 3.459)
#> Confidence Interval For Group 3: (4.405, 5.087)

Nonparametric One-Way ANOVA

One-way analysis without assuming the data is normally distributed.

empirical_mu_one_way(x = x, fctr = fctr, conf.level = 0.95)
#> Log Likelihood Statistic: 600
#> p value: 0
#> Confidence Level Of Set: 95%
#> Individual Confidence Level: 98.3%
#> Confidence Interval For Group 1: (0.724, 1.355)
#> Confidence Interval For Group 2: (2.829, 3.457)
#> Confidence Interval For Group 3: (4.426, 5.099)

Cauchy Random Variables

Here two random variables following a Cauchy distribution with a common location and different scales are created. For this test, the null hypothesis is

\[ H_{0}: \gamma_0 = \gamma_1 \]

set.seed(1)
x <- c(rcauchy(n = 50, location = 2, scale = 1), rcauchy(n = 50, location = 2, scale = 3))
fctr <- c(rep(1, 50), rep(2, 50))
fctr <- factor(fctr, levels = c("1", "2"))
cauchy_scale_one_way(x = x, fctr = fctr, conf.level = 0.95)
#> Log Likelihood Statistic: 18.2
#> p value: 0
#> Confidence Level Of Set: 95%
#> Individual Confidence Level: 97.5%
#> Confidence Interval For Group 1: (0.715, 1.71)
#> Confidence Interval For Group 2: (2.388, 5.612)

Poisson Random Variables

Here three poisson random variables with different lambdas are created. The null hypothesis is

\[ H_{0}: \lambda_0 = \lambda_1 = \lambda_2 \]

set.seed(1)
x <- c(rpois(n = 50, lambda = 1), rpois(n = 50, lambda = 2), rpois(n = 50, lambda = 3))
fctr <- c(rep(1, 50), rep(2, 50), rep(3, 50))
fctr <- factor(fctr, levels = c("1", "2", "3"))
poisson_lambda_one_way(x = x, fctr = fctr, conf.level = 0.95)
#> Log Likelihood Statistic: 51.11
#> p value: 0
#> Confidence Level Of Set: 95%
#> Individual Confidence Level: 98.3%
#> Confidence Interval For Group 1: (0.765, 1.471)
#> Confidence Interval For Group 2: (1.541, 2.495)
#> Confidence Interval For Group 3: (2.541, 3.735)

Mathematical Details

All one way tests have a null hypothesis the groups share a common value of the parameter. The alternative is at least one group’s parameter is unequal to the others. If the test involves a nuisance parameter, it is assumed equal across groups for parametric tests. All functions apply the Bonferroni correction to the set of confidence intervals.