suplist function

Methods for suplist objects

Methods for suplist objects

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)

Arguments

  • e1,e2: Objects of class suplist, here interpreted as a list of possible likelihood functions (who should be added)
  • x,...,na.rm: In the sum() method, objects to be summed; na.rm is currently ignored
  • L: A list of hyper2 objects

Details

A suplist object is a list of hyper2 objects. Each element is a hyper2 object that is consistent with an incomplete rank observation RR; the list elements are exclusive and exhaustive for RR. If S is a suplist object, and S=list(H1,H2,...,Hn) where the Hi are hyper2

objects, then Prob(pH1)+...+Prob(pHn)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 LS(p)L_S(p) for pp is the sum of separate likelihood functions. This is incorrect because the arbitrary multiplicative constant messes up the math, for example we might have ?? and ?? and indeed ?? but

LH1(p)+LH2(p)\neqC1Prob(pH1)+C2Prob(pH2)seePDF \mathcal{L}_{H_1}(p)+\mathcal{L}_{H_2}(p) \neqC_1\mathrm{Prob}(p|H_1)+C_2\mathrm{Prob}(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

\mboxProb(pS1+S2)=(\mboxProb(pH1)++\mboxProb(pHr))(\mboxProb(pI1)++\mboxProb(pIs))omitted;seePDF \mbox{Prob}(p|S_1+S_2) =\left(\mbox{Prob}(p|H_1)+\cdots+\mbox{Prob}(p|H_r)\right)\cdot\left(\mbox{Prob}(p|I_1)+\cdots+\mbox{Prob}(p|I_s)\right)omitted; see PDF log\mboxProb(pS1+S2)=log(\mboxProb(pH1)++\mboxProb(pHr))+log(\mboxProb(pI1)++\mboxProb(pIs))omitted;seePDF \log\mbox{Prob}(p|S_1+S_2) =\log\left(\mbox{Prob}(p|H_1)+\cdots+\mbox{Prob}(p|H_r)\right)+\log\left(\mbox{Prob}(p|I_1)+\cdots+\mbox{Prob}(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 package idiom.

The experimental lsl mechanism furnishes an alternative methodology which is more computationally efficient at the expense of a non-explicit likelihood function. It is not clear at present (2022) which of the two systems is better.

Returns

Returns a suplist object.

Author(s)

Robin K. S. Hankin

See Also

Ops.hyper2,Extract,loglik

Examples

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)
  • Maintainer: Robin K. S. Hankin
  • License: GPL (>= 2)
  • Last published: 2024-05-31