Title: | Small Area Estimation using HB for Rao Yu Model under Beta Distribution |
---|---|
Description: | Several functions are provided for small area estimation at the area level using the hierarchical bayesian (HB) method with panel data under beta distribution for variable interest. This package also provides a dataset produced by data generation. The 'rjags' package is employed to obtain parameter estimates. Model-based estimators involve the HB estimators, which include the mean and the variation of the mean. For the reference, see Rao and Molina (2015, ISBN: 978-1-118-73578-7). |
Authors: | Dian Rahmawati Salis [aut, cre], Azka Ubaidillah [aut] |
Maintainer: | Dian Rahmawati Salis <[email protected]> |
License: | GPL-3 |
Version: | 0.1.5 |
Built: | 2025-03-04 07:01:32 UTC |
Source: | CRAN |
Dataset under Beta Distribution to simulate Small Area Estimation using Hierarchical Bayesian Method for Rao Yu Model This data is generated by these following steps:
Generate random effect area v
, random effect for area i at time point j u
, epsilon , variance of ydi
vardir
, sampling error e
, auxiliary xdi1
and xdi2
Set coefficient and
Generate random effect area v_{i}~N(0,1)
Generate auxiliary variable xdi1_{ij}~U(0,1)
Generate auxiliary variable xdi2_{ij}~U(0,1)
Generate epsilon ~N(0,1)
Generate sampling error e_{ij}~N(0,vardir_{ij})
Generate ~Gamma(1,0.5)
Calculate random effect for area i at time point j
Calculate
Calculate
Calculate
Generate ydi y_{ij}~Beta(A_{ij},B_{ij})
Calculate variance of ydi with
Set area=20
and period=5
Auxiliary variables xdi1,xdi2
, direct estimation y
, area
, period
, and vardir
are combined in a dataframe called dataAr1
dataBetaAr1
dataBetaAr1
A data frame with 100 rows and 6 variables:
Direct Estimation of y
Area (domain) of the data
Period (subdomain) of the data
Sampling Variance of y
Auxiliary variable of xdi1
Auxiliary variable of xdi2
A dataset under Beta Distribution to simulate Small Area Estimation using Hierarchical Bayesian method for Rao-Yu Model with Non-sampled Area
This data contains NA values that indicates no sampled in at least one area.
dataBetaAr1Ns
dataBetaAr1Ns
A data frame with 100 row and 6 column:
Direct Estimation of y
Area (domain) of the data
Period (subdomain) of the data
Sampling Variance of y
Auxiliary variable of xdi1
Auxiliary variable of xdi2
rho = 0
Dataset under Beta Distribution to simulate Small Area Estimation using Hierarchical Bayesian Method for Rao-Yu Model with rho = 0 This data is generated by these following steps:
Generate random effect area v
, random effect for area i at time point j u
, epsilon , variance of ydi
vardir
, sampling error e
, auxiliary xdi1
and xdi2
Set coefficient
Generate random effect area v_{i}~N(0,1)
Generate auxiliary variable xdi1_{ij}~U(0,1)
Generate auxiliary variable xdi2_{ij}~U(0,1)
Generate epsilon ~N(0,1)
Generate ~Gamma(1,0.5)
Calculate
Calculate
Calculate
Generate ydi y_{ij}~Beta(A_{ij},B_{ij})
Calculate variance of ydi with
Set area=20
and period=5
Auxiliary variables xdi1,xdi2
, direct estimation y
, area
, period
, and vardir
are combined in a dataframe called dataPanel
dataPanelbeta
dataPanelbeta
A data frame with 100 rows and 6 variables:
Direct Estimation of y
Area (domain) of the data
Period (subdomain) of the data
Sampling Variance of y
Auxiliary variable of xdi1
Auxiliary variable of xdi2
rho = 0
with Non Sampled AreaA dataset under Beta Distribution to simulate Small Area Estimation using Hierarchical Bayesian method for Rao-Yu Model with Non-sampled area
This data contains NA values that indicates no sampled in at least one area.
dataPanelbetaNs
dataPanelbetaNs
A data frame with 100 row and 6 column:
Direct Estimation of y
Area (domain) of the data
Period (subdomain) of the data
Sampling Variance of y
Auxiliary variable of xdi1
Auxiliary variable of xdi2
rho=0
This function is implemented to variable of interest ydi
Panel.beta( formula, area, period, iter.update = 3, iter.mcmc = 2000, thin = 1, burn.in = 1000, tau.e = 1, tau.v = 1, data )
Panel.beta( formula, area, period, iter.update = 3, iter.mcmc = 2000, thin = 1, burn.in = 1000, tau.e = 1, tau.v = 1, data )
formula |
Formula that describe the fitted model |
area |
Number of areas (domain) of the data |
period |
Number of periods (subdomains) for each area of the data |
iter.update |
Number of updates with default |
iter.mcmc |
Number of total iterations per chain with default |
thin |
Thinning rate, must be a positive integer with default |
burn.in |
Number of iterations to discard at the beginning with default |
tau.e |
Variance of area-by-time effect of variable interest with default |
tau.v |
Variance of random area effect of variable interest with default |
data |
The data frame |
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 |
coef |
A dataframe with the estimated model coefficient |
plot |
Trace, Density, Autocorrelation Function Plot of MCMC samples |
convergence.test |
Convergence diagnostic for Markov chains based on Geweke test |
##For data without any non-sampled area data(dataPanelbeta) # Load dataset dataPanelbeta = dataPanelbeta[1:25,] #for the example only use part of the dataset formula = ydi ~ xdi1 + xdi2 area = max(dataPanelbeta[, "area"]) period = max(dataPanelbeta[,"period"]) result <- Panel.beta(formula, area, period, data = dataPanelbeta) result$Est result$refVar result$coef result$plot ## For data with non-sampled area use dataPanelbetaNs
##For data without any non-sampled area data(dataPanelbeta) # Load dataset dataPanelbeta = dataPanelbeta[1:25,] #for the example only use part of the dataset formula = ydi ~ xdi1 + xdi2 area = max(dataPanelbeta[, "area"]) period = max(dataPanelbeta[,"period"]) result <- Panel.beta(formula, area, period, data = dataPanelbeta) result$Est result$refVar result$coef result$plot ## For data with non-sampled area use dataPanelbetaNs
This function is implemented to variable of interest ydi
RaoYuAr1.beta( formula, area, period, iter.update = 3, iter.mcmc = 2000, thin = 1, burn.in = 1000, tau.e = 1, tau.v = 1, data )
RaoYuAr1.beta( formula, area, period, iter.update = 3, iter.mcmc = 2000, thin = 1, burn.in = 1000, tau.e = 1, tau.v = 1, data )
formula |
Formula that describe the fitted model |
area |
Number of areas (domain) of the data |
period |
Number of periods (subdomains) for each area of the data |
iter.update |
Number of updates with default |
iter.mcmc |
Number of total iterations per chain with default |
thin |
Thinning rate, must be a positive integer with default |
burn.in |
Number of iterations to discard at the beginning with default |
tau.e |
Variance of area-by-time effect of variable interest with default |
tau.v |
Variance of random area effect of variable interest with default |
data |
The data frame |
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 |
alpha |
Parameter dispersion of Generalized Poisson distribution |
plot |
Trace, Density, Autocorrelation Function Plot of MCMC samples |
convergence.test |
Convergence diagnostic for Markov chains based on Geweke test |
##For data without any non-sampled area data(dataBetaAr1) # Load dataset dataBetaAr1 = dataBetaAr1[1:25,] #for the example only use part of the dataset formula = ydi ~ xdi1 + xdi2 area = max(dataBetaAr1[, "area"]) period = max(dataBetaAr1[,"period"]) result <- RaoYuAr1.beta(formula, area, period, data = dataBetaAr1) result$Est result$refVar result$coefficient result$plot ## For data with non-sampled area use dataBetaAr1Ns
##For data without any non-sampled area data(dataBetaAr1) # Load dataset dataBetaAr1 = dataBetaAr1[1:25,] #for the example only use part of the dataset formula = ydi ~ xdi1 + xdi2 area = max(dataBetaAr1[, "area"]) period = max(dataBetaAr1[,"period"]) result <- RaoYuAr1.beta(formula, area, period, data = dataBetaAr1) result$Est result$refVar result$coefficient result$plot ## For data with non-sampled area use dataBetaAr1Ns