ExponentialDouble {saeHB}R Documentation

Small Area Estimation using Hierarchical Bayesian under Double Exponential Distribution

Description

This function is implemented to variable of interest (y) that assumed to be a Double Exponential Distribution or Laplace Distribution. The range of data is (-\infty < y < \infty)

Usage

ExponentialDouble(
  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 3

iter.mcmc

Number of total iterations per chain with default 10000

coef

a vector contains prior initial value of Coefficient of Regression Model for fixed effect with default vector of 0 with the length of the number of regression coefficients

var.coef

a vector contains prior initial value of variance of Coefficient of Regression Model with default vector of 1 with the length of the number of regression coefficients

thin

Thinning rate, must be a positive integer with default 2

burn.in

Number of iterations to discard at the beginning with default 2000

tau.u

Prior initial value of inverse of Variance of area random effect with default 1

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(nimble)
m=30
x1=runif(m,10,20)
x2=runif(m,1,10)
b0=b1=b2=0.5
u=rnorm(m,0,1)
tau=rgamma(m,1,1)
sd=1/sqrt(tau)
mu=b0 + b1*x1+b2*x2+u
y=rdexp(m,mu,sd)
vardir=sqrt(2)*sd^2
dataExpDouble=as.data.frame(cbind(y,x1,x2,vardir))
dataExpDoubleNs=dataExpDouble
dataExpDoubleNs$y[c(3,14,22,29,30)] <- NA
dataExpDoubleNs$vardir[c(3,14,22,29,30)] <- NA


##Compute Fitted Model
##y ~ x1 +x2


## For data without any nonsampled area
formula = y ~ x1+x2
vc = c(1,1,1)
c = c(0,0,0)
dat = dataExpDouble[1:10,]


## Using parameter coef and var.coef

saeHBExpDouble<-ExponentialDouble(formula,coef=c,var.coef=vc,iter.update=10,data=dat)

saeHBExpDouble$Est                                 #Small Area mean Estimates
saeHBExpDouble$refVar                              #Random effect variance
saeHBExpDouble$coefficient                         #coefficient
#Load Library 'coda' to execute the plot
#autocorr.plot(saeHBExpDouble$plot[[3]]) is used to generate ACF Plot
#plot(saeHBExpDouble$plot[[3]]) is used to generate Density and trace plot

## Do not using parameter coef and var.coef
saeHBExpDouble <- ExponentialDouble(formula,data=dataExpDouble)



## For data with nonsampled area use dataExpDoubleNs



[Package saeHB version 0.2.2 Index]