BLE_SRS

library(BayesSampling)

Application of the BLE to the Simple Random Sample design

(From Section 2.3.1 of the “Gonçalves, Moura and Migon: Bayes linear estimation for finite population with emphasis on categorical data”)

In a simple model, where there is no auxiliary variable, and a Simple Random Sample was taken from the population, we can calculate the Bayes Linear Estimator for the individuals of the population with the BLE_SRS() function, which receives the following parameters:

Vague Prior Distribution

Letting \(v \to \infty\) and keeping \(\sigma^2\) fixed, that is, assuming prior ignorance, the resulting estimator will be the same as the one seen in the design-based context for the simple random sampling case. 

This can be achieved using the BLE_SRS() function by omitting either the prior mean and/or the prior variance, that is:

Examples

  1. We will use the TeachingSampling’s BigCity dataset for this example (actually we have to take a sample of size \(10000\) from this dataset so that R can perform the calculations). Imagine that we want to estimate the mean or the total Expenditure of this population, after taking a simple random sample of only 20 individuals, but applying a prior information (taken from a previous study or an expert’s judgment) about the mean expenditure (a priori mean = \(300\)).
data(BigCity)
set.seed(1)
Expend <- sample(BigCity$Expenditure,10000)
mean(Expend)          #Real mean expenditure value, goal of the estimation
#> [1] 375.586
ys <- sample(Expend, size = 20, replace = FALSE)

Our design-based estimator for the mean will be the sample mean:

mean(ys)
#> [1] 479.869

Applying the prior information about the population we can get a better estimate, especially in cases when only a small sample is available:

Estimator <- BLE_SRS(ys, N = 10000, m=300, v=10.1^5, sigma = sqrt(10^5))

Estimator$est.beta
#>       Beta
#> 1 390.8338
Estimator$Vest.beta
#>         V1
#> 1 2524.999
Estimator$est.mean[1,]
#> [1] 390.8338
Estimator$Vest.mean[1:5,1:5]
#>           V1         V2         V3         V4         V5
#> 1 102524.999   2524.999   2524.999   2524.999   2524.999
#> 2   2524.999 102524.999   2524.999   2524.999   2524.999
#> 3   2524.999   2524.999 102524.999   2524.999   2524.999
#> 4   2524.999   2524.999   2524.999 102524.999   2524.999
#> 5   2524.999   2524.999   2524.999   2524.999 102524.999
  1. Example from the help page
ys <- c(5,6,8)
N <- 5
m <- 6
v <- 5
sigma <- 1

Estimator <- BLE_SRS(ys, N, m, v, sigma)
Estimator
#> $est.beta
#>       Beta
#> 1 6.307692
#> 
#> $Vest.beta
#>          V1
#> 1 0.3076923
#> 
#> $est.mean
#>     y_nots
#> 1 6.307692
#> 2 6.307692
#> 
#> $Vest.mean
#>          V1        V2
#> 1 1.3076923 0.3076923
#> 2 0.3076923 1.3076923
#> 
#> $est.tot
#> [1] 31.61538
#> 
#> $Vest.tot
#> [1] 3.230769
  1. Example from the help page, but informing sample mean and sample size instead of sample observations
ys <- mean(c(5,6,8))
n <- 3
N <- 5
m <- 6
v <- 5
sigma <- 1

Estimator <- BLE_SRS(ys, N, m, v, sigma, n)
#> sample mean informed instead of sample observations, parameters 'n' and 'sigma' will be necessary
Estimator
#> $est.beta
#>       Beta
#> 1 6.307692
#> 
#> $Vest.beta
#>          V1
#> 1 0.3076923
#> 
#> $est.mean
#>     y_nots
#> 1 6.307692
#> 2 6.307692
#> 
#> $Vest.mean
#>          V1        V2
#> 1 1.3076923 0.3076923
#> 2 0.3076923 1.3076923
#> 
#> $est.tot
#> [1] 31.61538
#> 
#> $Vest.tot
#> [1] 3.230769