log: Boolean with default TRUE meaning to return the log-likelihood and FALSE meaning to return the likelihood
L,Lsub: A list of hyper2 objects, or a list of list of loglik objects
Details
Function loglik() is a straightforward likelihood function. It can take a vector of length n=size(H) or size(H)-1; if given the vector p=(p1,...,pn−1) it appends the fillup value, and then returns returns the (log) likelihood.
If p is a matrix, the rows are interpreted as probability points.
Function loglik_single() is a helper function that takes a single point in probability space. Functions like_single_list() and like_series() are intended for use with ggrl().
Note
Likelihood is defined up to an arbitrary multiplicative constant. Log-likelihood (also known as support) is defined up to an arbitrary additive constant.
If function loglik() is given a probability vector of length n, the vector must satisfy the unit sum constraint (up to a small tolerance). Also, it must be a named vector with names (collectively) equal to the pnames of argument H.
> pnames(chess)
[1] "Topalov" "Anand" "Karpov"
> loglik(c(Topalov=0.7,Anand=0.2,Karpov=0.1),chess)
[1] -69.45364
> loglik(c(Karpov=0.1,Topalov=0.7,Anand=0.2),chess) # identical, just a different order
[1] -69.45364
But if given a vector of length n-1 [e.g. the value of indep()], then the names are ignored and the entries are interpreted as the BT strengths of pnames(H)[seq_len(n-1)]:
Empty brackets are interpreted consistently: that is, zero whatever
the probability vector (although the print method is not perfect).
Author(s)
Robin K. S. Hankin
See Also
maxp
Examples
data(chess)loglik(c(1/3,1/3),chess)loglik(rp(14,icons),icons)## Not run:# takes too longlike_series(masterchef_maxp,masterchef)like_series(indep(equalp(masterchef)),masterchef)## End(Not run)W <- hyper2(pnames=letters[1:6])W1 <- ggrl(W,'a', letters[2:5],'f')# 24-element listW2 <- ggrl(W, c('a','b'), c('c','d'),c('e','f'))# 2^3=8 element listlike_single_list(rep(1/6,5),W1)# information from first observationlike_series(rep(1/6,5),list(W1,W2))# information from both observations# hyper3 objects:H3 <- ordervec2supp3(letters[c(1,2,3,3,2,1,2)])loglik(c(a=1,b=2,c=3)/6,H3)loglik(c(a=1,c=3,b=2)/6,H3)# identical