loglik function

Log likelihood functions

Log likelihood functions

Returns a log-likelihood for a given hyper2 or hyper3

object at a specific point in probability space

loglik(p, H, log = TRUE) loglik_single(p,H,log=TRUE) like_single_list(p,Lsub) like_series(p,L,log=TRUE)

Arguments

  • H: An object of class hyper2 or hyper3
  • p: A probability point. See details
  • 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,...,pn1)p=(p_1,...,p_{n-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)]:

> loglik(c(0.7,0.2),chess)
  [1] -69.45364
  > loglik(c(foo=0.7,bar=0.2),chess)  # names are ignored 
  [1] -69.45364

(the above applies for H a hyper2 or hyper3

object).

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 long like_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 list W2 <- ggrl(W, c('a','b'), c('c','d'),c('e','f')) # 2^3=8 element list like_single_list(rep(1/6,5),W1) # information from first observation like_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
  • Maintainer: Robin K. S. Hankin
  • License: GPL (>= 2)
  • Last published: 2024-05-31