optimal_params: Optimization of the hyperparameters
Optimization of the hyperparameters using a sequence of subfunctions.
(expt, LoF, start_hp, option = "a", )
(expt, LoF, start_hp, option = "a", verbose=, )
(expt, LoF, start_hp, verbose=, )
(expt, LoF, start_hp)
(expt, LoF, start_hp, )
Object of class
List of functions
Start value for the hyperparameters, an object of class
The various optimization routines use the different parts of
start_hp as start points, and incrementally update it
optimal_B() and consequently
optimal_params(), a character indicating whether to allow the
scales to differ or not.
Default option “
a” is the simplest: each
B matrix is a multiple of the identity matrix.
b” allows the
B matrices to be
any (positive definite) diagonal matrix.
c” specifies that
diagonal for each
j and furthermore that
B[i,i,1]=B[i,i,2]=...=B[i,i,r]. This option calls
optimal_B(), Boolean with
to print debugging information and default
FALSE meaning not
to print anything
Further arguments passed to the optimization routine
The user-friendly wrapper function is
optimal_B() first, as most of the analysis is
optimal_diag_M() is called; this
places the maximum likelihood estimate for sigma^2 on
the diagonal of
optimal_M() is called,
which assigns the off-diagonal elements of
Each of the subfunctions returns an object appropriate for insertion
The “meat” of
(out) <- (mm, d, LoF, start_hp=out, option=option, )
((out)) <- (mm, d, LoF, start_hp=out, )
(out) <- (mm, d, LoF, start_hp=out, )
See how object
out is modified sequentially, it being used as a
start point for the next function.
optimal_diag_M() uses MLEs for the diagonals, but using
each type of observation separately. It is conceivable that there is
information that is not being used here.
Robin K. S. Hankin