- Notifications
You must be signed in to change notification settings - Fork0
A collection of hypothesis tests and confidence intervals based on the likelihood ratio.
License
gmcmacran/LRTesteR
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
LRTesteR provides likelihood ratio tests and confidence intervals formany common distributions.
To test lambda, simply call poisson_lambda_one_sample.
library(LRTesteR)set.seed(1)x<- rpois(n=100,lambda=1)poisson_lambda_one_sample(x=x,lambda=1,alternative="two.sided")#> Log Likelihood Statistic: 0.01#> p value: 0.92#> Confidence Level: 95%#> Confidence Interval: (0.826, 1.22)
To get a confidence interval, set the conf.level to the desiredconfidence. Below gets a two sided 90% confidence interval for scalefrom a Cauchy random variable.
set.seed(1)x<- rcauchy(n=100,location=3,scale=5)cauchy_scale_one_sample(x=x,scale=5,alternative="two.sided",conf.level=.90)#> Log Likelihood Statistic: 1.21#> p value: 0.271#> Confidence Level: 90%#> Confidence Interval: (4.64, 7.284)
Setting alternative to “less” gets a lower one sided interval.
cauchy_scale_one_sample(x=x,scale=5,alternative="less",conf.level=.90)#> Log Likelihood Statistic: 1.1#> p value: 0.865#> Confidence Level: 90%#> Confidence Interval: (0, 6.93)
Setting it to “greater” gets an upper one sided interval.
cauchy_scale_one_sample(x=x,scale=5,alternative="greater",conf.level=.90)#> Log Likelihood Statistic: 1.1#> p value: 0.135#> Confidence Level: 90%#> Confidence Interval: (4.878, Inf)
One-way ANOVA is generalized to all distributions. Here gamma randomvariables are created with different shapes. The one way test has asmall p value and provides confidence intervals with 95% confidence forthe whole set.
set.seed(1)x<- c(rgamma(n=50,shape=1,rate=2), rgamma(n=50,shape=2,rate=2), rgamma(n=50,shape=3,rate=2))fctr<- c(rep(1,50), rep(2,50), rep(3,50))fctr<-factor(fctr,levels= c("1","2","3"))gamma_shape_one_way(x=x,fctr=fctr,conf.level=.95)#> Log Likelihood Statistic: 68.59#> p value: 0#> Confidence Level Of Set: 95%#> Individual Confidence Level: 98.3%#> Confidence Interval For Group 1: (0.65, 1.515)#> Confidence Interval For Group 2: (1.376, 3.376)#> Confidence Interval For Group 3: (1.691, 4.192)
The empirical likelihood tests do not require any distributionalassumptions and work with less data.
set.seed(1)x<- rnorm(n=25,mean=1,sd=1)empirical_mu_one_sample(x=x,mu=1,alternative="two.sided")#> Log Likelihood Statistic: 0.73#> p value: 0.392#> Confidence Level: 95%#> Confidence Interval: (0.752, 1.501)
As implemented, all functions depend on the asymptotic
X is normally distributed with mu equal to 3 and standard deviationequal to 2. The two intervals for
set.seed(1)x<- rnorm(n=500,mean=3,sd=2)exactTest<- t.test(x=x,mu=2.5,alternative="two.sided",conf.level=.95)likelihoodTest<- gaussian_mu_one_sample(x=x,mu=2.5,alternative="two.sided",conf.level=.95)as.numeric(exactTest$conf.int)#> [1] 2.867461 3.223115likelihoodTest$conf.int#> [1] 2.867729 3.222847
The confidence intervals for variance are similar as well.
set.seed(1)x<- rnorm(n=500,mean=3,sd=2)sigma2<-1.5^2# Variance, not standard deviation.exactTest<-EnvStats::varTest(x=x,sigma.squared=sigma2,alternative="two.sided",conf.level=.95)likelihoodTest<- gaussian_variance_one_sample(x=x,sigma.squared=sigma2,alternative="two.sided",conf.level=.95)as.numeric(exactTest$conf.int)#> [1] 3.631734 4.655834likelihoodTest$conf.int#> [1] 3.620303 4.639384
Changing to p for a binomial random variable, the confidence intervalsare similar yet again.
exactTest<-stats::binom.test(x=250,n=500,p=.50,alternative="two.sided",conf.level=.95)likelihoodTest<- binomial_p_one_sample(x=250,n=500,p=.50,alternative="two.sided",conf.level=.95)as.numeric(exactTest$conf.int)#> [1] 0.4552856 0.5447144likelihoodTest$conf.int#> [1] 0.4562579 0.5437421
When sample size is small, similarity will decrease. When exact methodsare available, they are the better option. The utility of the likelihoodbased approach is its generality. Many tests in this package don’t haveother well known options.
Estimated asymptotic type I and type II error rates can be foundhere.
About
A collection of hypothesis tests and confidence intervals based on the likelihood ratio.
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Uh oh!
There was an error while loading.Please reload this page.