R: Estimate theta and the fraction of comparisons between close...
optim.relatedness
R Documentation
Estimate theta and the fraction of comparisons between close relatives
Description
Estimates the fraction of comparisons between pairs of close relatives
while fitting the theta parameter minimising the object function. The
function makes use of the R-package 'Rsolnp' which is an
implementation of an solver for non-linear minimisation problems with
parameter constraints.
The matrix or vector of observed matches/partial-matches as
returned by the dbCompare()-function
theta0
The left value of the interval in which a bisection-like
search is performed for theta
theta1
Right value of interval (see theta0)
theta.tol
A stopping criterion for the search. If the search
narrows within theta.tol the function terminates
theta.step
Default is NULL. If not a grid search will be
performed on seq(from = theta0, to = theta1, by = theta.step)
max.bisect
The maximum number of bisectional iterations perform
prior to termination
probs
List of vectors with allele probabilities for each locus
var.list
A named list of components for computing variances,
see dbVariance. The names of the elements are the associated
theta-values, and each component is a list of (V1,V2,V3) - see
dbVariance with n=1
init.alpha
Initial values for alpha, where the order is
(First-cousins, Avuncular, Parent-child, Full-siblings). The value
for Unrelated is computed as 1-sum(init.alpha)
init.keep
Whether the initial values should be used in
successive steps for the current optimum should be used.
objFunction
Which of the five different object functions should
be used to compare observed and expected
collapse
Not yet implemented
trace
Should iteration steps and other process indicators be printed
solnp.ctrl
See solnp for details
Details
Computes the proportion of comparisons between close relatives in a
database matching exercise for each theta value under investigation.
Value
Returns a list of three components: value, solution and var.list. The
first element, value, is a dataframe with the value of the objection
function for each of the theta values investigated. Solution is the
estimated alpha-vector where the objection function was
minimised. Finally, var.list is a names list of components for
computing variances. May be reused in later computations for increased
speed in some iterations.
Author(s)
James Curran and Torben Tvedebrink
References
T Tvedebrink, PS Eriksen, J Curran, HS Mogensen, N Morling. 'Analysis
of matches and partial-matches in Danish DNA reference profile
database'. Forensic Science International: Genetics, 2011.
Examples
## Not run:
## Simulate some allele frequencies:
freqs <- replicate(10, { g = rgamma(n=10,scale=4,shape=3); g/sum(g)},
simplify=FALSE)
## Load the sample database:
data(dbExample)
obs <- dbCompare(dbExample,trace=FALSE)$m
C3 <- optim.relatedness(obs,theta0=0.0,theta1=0.03,probs=freqs,
objFunction="C3",max.bisect=30,trace=TRUE)
## End(Not run)