suplist | R Documentation |
Basic functionality for lists of hyper2
objects, allowing the
user to concatenate independent observations which are themselves
composite objects such as returned by ggrl()
.
## S3 method for class 'suplist' Ops(e1, e2) ## S3 method for class 'suplist' sum(x,...,na.rm=FALSE) suplist_add(e1,e2) suplist_times_scalar(e1,e2) as.suplist(L)
e1,e2 |
Objects of class |
x,...,na.rm |
In the |
L |
A list of |
A suplist
object is a list of hyper2
objects. Each
element is a hyper2
object that is consistent with an
incomplete rank observation R; the list elements are exclusive
and exhaustive for R. If S
is a suplist
object,
and S=list(H1,H2,...,Hn)
where the Hi
are hyper2
objects, then
\mjeqn\mboxProb(p|H_1)+\cdots+\mboxProb(p|H_n)Prob(p|H1)+...+Prob(p|Hn).
This is because the elements of a suplist
object are disjoint
alternatives.
It is incorrect to say that a likelihood function \mjeqn\mathcalL_S(p)L_S(p) for p is the sum of separate likelihood functions. This is incorrect because the arbitrary multiplicative constant messes up the math, for example we might have \mjeqn\mathcalL_H_1(p)=C_1\mathrmProb(p|H_1)? and \mjeqn\mathcalL_H_2(p)=C_2\mathrmProb(p|H_2)? and indeed \mjeqn\mathcalL_H_1\cup H_2(p)=C_12\left(\mathrmProb(p|H_1)+\mathrmProb(p|H_2)\right)? but
\mjdeqn\mathcalL_H_1(p)+\mathcalL_H_2(p) \neq C_1\mathrmProb(p|H_1)+C_2\mathrmProb(p|H_2)see PDF
(the right hand side is meaningless).
Functions suplist_add()
and sum.suplist()
implement
“S1+S2
” as the support function for independent
observations S1
and S2
. The idea is that the support
functions “add” in the following sense. If
S1=list(H1,...,Hr)
and S2=list(I1,...,Is)
where
Hx,Ix
are hyper2
objects, then the likelihood function
for “S1+S2
” is the likelihood function for S1
followed by (independent) S2
. Formally
Prob(p|S_1+S_2) = \left( \mboxProb(p|H_1) +\cdots+ \mboxProb(p|H_r) \right)\cdot\left( \mboxProb(p|I_1) +\cdots+ \mboxProb(p|I_s) \right)omitted; see PDF
\mjdeqn \log\mboxProb(p|S_1+S_2) = \log\left( \mboxProb(p|H_1) +\cdots+ \mboxProb(p|H_r) \right)+\log\left( \mboxProb(p|I_1) +\cdots+ \mboxProb(p|I_s) \right)omitted; see PDF
However, S1+S2
is typically a large and unwieldy object, and
can be very slow to evaluate. These functions are here because they
provide slick R idiom.
The experimental lsl
mechanism furnishes an alternative
methodology which is more computationally efficient at the expense of
a non-expicit likelihood function. It is not clear at present (2022)
which of the two systems is better.
Returns a suplist
object.
Robin K. S. Hankin
Ops.hyper2
,Extract
,loglik
W <- hyper2(pnames=letters[1:5]) W1 <- ggrl(W, 'a', letters[2:3],'d') # 2-element list W2 <- ggrl(W, 'e', letters[1:3],'d') # 6-element list W3 <- ggrl(W, 'c', letters[4:5],'a') # 2-element list # likelihood function for independent observations W1,W2,W3: W1+W2+W3 # A 2*6*2=24-element list like_single_list(equalp(W),W1+W2+W3) ## Not run: dotchart(maxplist(W1+W1+W3),pch=16) # takes a long time a <- lsl(list(W1,W2,W3),4:6) # observe W1 four times, W2 five times and W3 six times loglik_lsl(equalp(W),a,log=TRUE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.