fitlmm: Learn RLL or Log-posterior for two variance MM.

Description Usage Arguments Details Value

Description

Learns the shape of the objective function within epsilon.

Usage

1
2
fitlmm(lines, startbox, eps = 0, delE = 0, delS = 0, M = Inf,
  maxit = 10, ratio = FALSE, lognote = "summary")

Arguments

lines

a dataframe that contains the constants that define the line represented by each term in the sum. Created as output from findlines.

startbox

a list of boxes and their bounds, possibly the output from a previous call to fitlmm. If left empty, will create a new startbox from a call to makebox.

eps

a non-negative numeric indicating the tolerance within which you would like to learn the function. Default is 0.

delE

a non-negative numeric indicating the width of σ^2_e beyond which the algorithm will stop branching boxes. Default is 0.

delS

a non-negative numeric indicating the width of σ^2_s beyond which the algorithm will stop branching boxes. Default is 0.

M

a non-negative numeric indicating the size of the buffer between the highest global lower bound and the upper bound of a given box past that box will now be branched further. Default is Inf.

maxit

a positive integer indicating the maximum number of iterations of the algorithm. Default is 10.

ratio

a logical indicating if delE and delS are specified as ZZQ. Default is FALSE.

lognote

a string to append to the "log.out" log file to annotate the purpose of each run of the algorithm. For use in benchmarking computation time. Default is "summary".

Details

This is the primary function that implements the branch-bound-kill algorithm described in "Approximately Exact Calculations for Linear Mixed Models" by Lavine & Hodges (2015). This an interative algorithm that can require substantial computation time. It is recommended that the user start with a conservative maxit and do additional computations as necessary.

The arguments of this function include five settings to control when to stop branching (subdividing) a box:

  1. when the upper and lower bounds are within eps of one another.

  2. when the width of σ^2_e is less than delE.

  3. when the width of σ^2_s is less than delS.

  4. when the upper bound is more than M below the highest global lower bound.

  5. when the number of iterations reaches maxit.

Value

A list of boxes including their limits in σ^2_e and σ^2_e as well as their bounds. Running this function also results in the creation of a log file called "log.out" containing box counts at every iteration.


andrewpbray/lmmoptim documentation built on May 10, 2019, 11:10 a.m.