Fitting the Beta-Binomial Distribution when binomial random variable, frequency and shape parameters a and b are given
Source:R/Beta.R
fitBetaBin.Rd
The function will fit the Beta-Binomial distribution when random variables, corresponding frequencies and shape parameters are given. It will provide the expected frequencies, chi-squared test statistics value, p value, degree of freedom and over dispersion value so that it can be seen if this distribution fits the data.
Arguments
- x
vector of binomial random variables.
- obs.freq
vector of frequencies.
- a
single value for shape parameter alpha representing as a.
- b
single value for shape parameter beta representing as b.
Value
The output of fitBetaBin
gives the class format fitBB
and fit
consisting a list
bin.ran.var
binomial random variables.
obs.freq
corresponding observed frequencies.
exp.freq
corresponding expected frequencies.
statistic
chi-squared test statistics.
df
degree of freedom.
p.value
probability value by chi-squared test statistic.
fitBB
fitted values of dBetaBin
.
NegLL
Negative Log Likelihood value.
a
estimated value for alpha parameter as a.
b
estimated value for alpha parameter as b.
AIC
AIC value.
over.dis.para
over dispersion value.
call
the inputs of the function.
Methods summary
, print
, AIC
, residuals
and fitted
can be
used to extract specific outputs.
Details
$$0 < a,b$$ $$x = 0,1,2,...,n$$ $$obs.freq \ge 0$$
NOTE : If input parameters are not in given domain conditions necessary error messages will be provided to go further.
References
Young-Xu Y, Chan KA (2008). “Pooling overdispersed binomial data to estimate event rate.” BMC medical research methodology, 8, 1--12. Trenkler G (1996). “Continuous univariate distributions.” Computational Statistics and Data Analysis, 21(1), 119--119. HUGHES G, MADDEN L (1993). “Using the beta-binomial distribution to describe aggegated patterns of disease incidence.” Phytopathology, 83(7), 759--763.
Examples
No.D.D <- 0:7 #assigning the random variables
Obs.fre.1 <- c(47,54,43,40,40,41,39,95) #assigning the corresponding frequencies
#estimating the parameters using maximum log likelihood value and assigning it
parameters <- EstMLEBetaBin(No.D.D,Obs.fre.1,0.1,0.1)
bbmle::coef(parameters) #extracting the parameters a and b
#> a b
#> 0.7229420 0.5808483
aBetaBin <- bbmle::coef(parameters)[1] #assigning the parameter a
bBetaBin <- bbmle::coef(parameters)[2] #assigning the parameter b
#fitting when the random variable,frequencies,shape parameter values are given.
fitBetaBin(No.D.D,Obs.fre.1,aBetaBin,bBetaBin)
#> Call:
#> fitBetaBin(x = No.D.D, obs.freq = Obs.fre.1, a = aBetaBin, b = bBetaBin)
#>
#> Chi-squared test for Beta-Binomial Distribution
#>
#> Observed Frequency : 47 54 43 40 40 41 39 95
#>
#> expected Frequency : 54.62 42 38.9 38.54 40.07 44 53.09 87.78
#>
#> estimated a parameter : 0.722942 ,estimated b parameter : 0.5808483
#>
#> X-squared : 9.5171 ,df : 5 ,p-value : 0.0901
#>
#> over dispersion : 0.4340673
#estimating the parameters using moment generating function methods
results <- EstMGFBetaBin(No.D.D,Obs.fre.1)
results
#> Call:
#> EstMGFBetaBin(x = No.D.D, freq = Obs.fre.1)
#>
#> Coefficients:
#> a b
#> 0.7161628 0.5963324
aBetaBin1 <- results$a #assigning the estimated a
bBetaBin1 <- results$b #assigning the estimated b
#fitting when the random variable,frequencies,shape parameter values are given.
BB <- fitBetaBin(No.D.D,Obs.fre.1,aBetaBin1,bBetaBin1)
#extracting the expected frequencies
fitted(BB)
#> [1] 56.60 43.01 39.57 38.97 40.27 43.89 52.39 84.29
#extracting the residuals
residuals(BB)
#> [1] -9.60 10.99 3.43 1.03 -0.27 -2.89 -13.39 10.71