NegativeBinomial {saeHB} | R Documentation |
Small Area Estimation using Hierarchical Bayesian under Negative Binomial Distribution
Description
This function is implemented to variable of interest (y)
that assumed to be a Negative Binomial Distribution. The data is a number of the Bernoulli process. The negative binomial is used to overcome an over dispersion from the discrete model.
Usage
NegativeBinomial(
formula,
iter.update = 3,
iter.mcmc = 10000,
coef,
var.coef,
thin = 2,
burn.in = 2000,
tau.u = 1,
data
)
Arguments
formula |
Formula that describe the fitted model |
iter.update |
Number of updates with default |
iter.mcmc |
Number of total iterations per chain with default |
coef |
a vector contains prior initial value of Coefficient of Regression Model for fixed effect with default vector of |
var.coef |
a vector contains prior initial value of variance of Coefficient of Regression Model with default vector of |
thin |
Thinning rate, must be a positive integer with default |
burn.in |
Number of iterations to discard at the beginning with default |
tau.u |
Prior initial value of inverse of Variance of area random effect with default |
data |
The data frame |
Value
This function returns a list of the following objects:
Est |
A vector with the values of Small Area mean Estimates using Hierarchical bayesian method |
refVar |
Estimated random effect variances |
coefficient |
A dataframe with the estimated model coefficient |
plot |
Trace, Dencity, Autocorrelation Function Plot of MCMC samples |
Examples
##Data Generation
set.seed(123)
library(MASS)
m=30
x=runif(m,0,1)
b0=b1=0.5
u=rnorm(m,0,1)
Mu=exp(b0+b1*x+u)
theta=1
y=rnegbin(m,Mu,theta)
vardir=Mu+Mu^2/theta
dataNegativeBinomial=as.data.frame(cbind(y,x,vardir))
dataNegativeBinomialNs=dataNegativeBinomial
dataNegativeBinomialNs$y[c(3,14,22,29,30)] <- NA
dataNegativeBinomialNs$vardir[c(3,14,22,29,30)] <- NA
## Compute Fitted Model
## y ~ x
## For data without any nonsampled area
formula = y ~ x
v= c(1,1)
c= c(0,0)
dat = dataNegativeBinomial
## Using parameter coef and var.coef
saeHBNegbin <- NegativeBinomial(formula,coef=c,var.coef=v,iter.update=10,data =dat)
saeHBNegbin$Est #Small Area mean Estimates
saeHBNegbin$refVar #Random effect variance
saeHBNegbin$coefficient #coefficient
#Load Library 'coda' to execute the plot
#autocorr.plot(saeHBNegbin$plot[[3]]) is used to generate ACF Plot
#plot(saeHBNegbin$plot[[3]]) is used to generate Density and trace plot
## Do not using parameter coef and var.coef
saeHBNegbin <- NegativeBinomial(formula,data =dat)
## For data with nonsampled area use dataNegativeBinomialNs