est_msaeOB: EBLUPs Optimum Benchmarking based on a Multivariate Fay...

est_msaeOBR Documentation

EBLUPs Optimum Benchmarking based on a Multivariate Fay Herriot (Model 1)

Description

This function gives EBLUPs optimum benchmarking based on multivariate Fay-Herriot (Model 1)

Usage

est_msaeOB(
  formula,
  vardir,
  weight,
  samevar = FALSE,
  MAXITER = 100,
  PRECISION = 1e-04,
  data
)

Arguments

formula

an object of class list of formula describe the fitted models

vardir

matrix containing sampling variances of direct estimators. The order is: var1, cov12, ..., cov1r, var2, cov23, ..., cov2r, ..., cov(r-1)(r), var(r)

weight

matrix containing proportion of units in small areas. The order is: w1, w2, ..., w(r)

samevar

logical. If TRUE, the varians is same. Default is FALSE

MAXITER

maximum number of iterations for Fisher-scoring. Default is 100

PRECISION

coverage tolerance limit for the Fisher Scoring algorithm. Default value is 1e-4

data

dataframe containing the variables named in formula, vardir, and weight

Value

This function returns a list with following objects:

eblup

a list containing a value of estimators

  • est.eblup : a dataframe containing EBLUP estimators

  • est.eblupOB : a dataframe containing optimum benchmark estimators

fit

a list containing following objects:

  • method : fitting method, named "REML"

  • convergence : logical value of convergence of Fisher Scoring

  • iterations : number of iterations of Fisher Scoring algorithm

  • estcoef : a data frame containing estimated model coefficients (beta, std. error, t value, p-value)

  • refvar : estimated random effect variance

random.effect

a data frame containing values of random effect estimators

agregation

a data frame containing agregation of direct, EBLUP, and optimum benchmark estimation

Examples

## load dataset
data(datamsaeOB)

# Compute EBLUP & Optimum Benchmark using auxiliary variables X1 and X2 for each dependent variable

## Using parameter 'data'
Fo = list(f1 = Y1 ~ X1 + X2,
          f2 = Y2 ~ X1 + X2,
          f3 = Y3 ~ X1 + X2)
vardir = c("v1", "v12", "v13", "v2", "v23", "v3")
weight = c("w1", "w2", "w3")

est_msae = est_msaeOB(Fo, vardir, weight, data = datamsaeOB)

## Without parameter 'data'
Fo = list(f1 = datamsaeOB$Y1 ~ datamsaeOB$X1 + datamsaeOB$X2,
          f2 = datamsaeOB$Y2 ~ datamsaeOB$X1 + datamsaeOB$X2,
          f3 = datamsaeOB$Y3 ~ datamsaeOB$X1 + datamsaeOB$X2)
vardir = datamsaeOB[, c("v1", "v12", "v13", "v2", "v23", "v3")]
weight = datamsaeOB[, c("w1", "w2", "w3")]

est_msae = est_msaeOB(Fo, vardir, weight)

## Return
est_msae$eblup$est.eblupOB # to see the Optimum Benchmark estimators


yas-q/msaeOB documentation built on June 23, 2022, 7:10 p.m.