---
title: "BLE_SRS"
output: rmarkdown::html_vignette
vignette: >
  %\VignetteIndexEntry{BLE_SRS}
  %\VignetteEngine{knitr::rmarkdown}
  %\VignetteEncoding{UTF-8}
---

```{r, include = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)
```

```{r setup}
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](https://www150.statcan.gc.ca/n1/en/catalogue/12-001-X201400111886)") 

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:  

* $y_s$ - either a vector containing the observed values or just the value for the sample mean ($\sigma$ and $n$ parameters will be required in this case);
* $N$ - total size of the population;
* $m$ - prior mean. If _NULL_, sample mean will be used (non-informative prior);
* $v$ - prior variance of an element from the population ($> \sigma^2$). If _NULL_, it will tend to infinity (non-informative prior);
* $\sigma$ - prior estimate of variability (standard deviation) within the population. If _NULL_, sample variance will be used;
* $n$ - sample size. Necessary only if $y_s$ represent sample mean (will not be used otherwise).

### 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:

* $m =$ _NULL_ - the sample mean will be used
* $v =$ _NULL_ - prior variance will tend to infinity


### 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$).


```{r ex 1, message=FALSE, warning=FALSE}
data(BigCity)
set.seed(1)
Expend <- sample(BigCity$Expenditure,10000)
mean(Expend)          #Real mean expenditure value, goal of the estimation
ys <- sample(Expend, size = 20, replace = FALSE)
```
  
  
Our design-based estimator for the mean will be the sample mean:

```{r ex 1.1}
mean(ys)
```
  

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

```{r ex 1.2}
Estimator <- BLE_SRS(ys, N = 10000, m=300, v=10.1^5, sigma = sqrt(10^5))

Estimator$est.beta
Estimator$Vest.beta
Estimator$est.mean[1,]
Estimator$Vest.mean[1:5,1:5]
```





2. Example from the help page

```{r ex 2}
ys <- c(5,6,8)
N <- 5
m <- 6
v <- 5
sigma <- 1

Estimator <- BLE_SRS(ys, N, m, v, sigma)
Estimator
```



3. Example from the help page, but informing sample mean and sample size instead of sample observations

```{r ex 3}
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)
Estimator
```