Various multiplicative multinomial probability utilities for different types of observation
MM(y,n=NULL,paras)
MM_allsamesum(y, n=NULL, paras)
MM_differsums(y, n=NULL, paras)
MM_allsamesum_A(y, paras)
MM_differsums_A(y, paras)
MM_single(yrow, paras, givelog=FALSE)
MM_support(paras, ss)Observations: a matrix, each row is a single observation
A single observation corresponding to one row of
matrix y
Integer vector with one element for each row of y.
Default value of NULL means to interpret each row of y
as being observed once
Sufficient statistics, as returned by suffstats()
Boolean in MM_single() with TRUE meaning
to return the log likelihood and default FALSE meaning to
return the likelihood
Object of class paras
Consider non-negative integers \(y_1,\ldots,y_k\) with \(\sum y_i=y\). Then suppose the frequency function of the distribution \(Y_1,\ldots,Y_k\) is
$$ C\cdot{y\choose y_1,\ldots,y_k} \prod_{i=1}^k p_i^{y_i} \prod_{1\leq i<j\leq k}{\theta_{ij}}^{y_iy_j} $$
where \(p_i,\ldots,p_k\geq 0\), \(\sum p_i=1\) correspond to probabilities; and \(\theta_{ij}>0\) for \(1\leq i< j\leq k\) are additional parameters.
Here \(C\) stands for a normalization constant:
$$C=C(p,\theta,Y)= \sum_{y_1 + \cdots + y_k=y} \prod_{i=1}^k p_i^{y_i} \prod_{1\leq i<j\leq k}{\theta_{ij}}^{y_iy_j} $$
which is evaluated numerically. This is expensive.
The usual case is to use function MM().
Function MM() returns the log of the probability of a
matrix of rows of independent multinomial observations. It is a
wrapper for MM_allsamesum() and
MM_differsums(). Recall that optional argument n
specifies the number of times that each row is observed. Calls
NormC().
Function MM_allsamesum() gives the log of the
probability of observing a matrix where the rowsums are identical.
Calls NormC().
Function MM_differsums() gives the log of the
probability of observing a matrix where the rowsums are not
necessarily identical. Warning: This function takes a long
time to run. Calls NormC(), possibly many times.
Functions MM_allsamesum_A() and
MM_differsums_A() are analogous to functions
MM_allsamesum() and MM_differsums() but interpret the
matrix y as having rows corresponding to observations; each row
is observed once, as in data(pollen). Both call NormC().
Function MM_single() gives a likelihood function for a
paras object with a single multinomial observation (that is,
a single line of matrix y). Does not call NormC().
Function MM_support() gives the support (that is, the
log-likelihood) of a paras object; argument ss is the
sufficient statistic, as returned by suffstats(). Does not
call NormC().
Function dMM() [documented more fully at rMM.Rd]
gives the probability of a single multivariate observation (ie a
single row of the matrix argument y). Calls NormC().
# NOT RUN {
data(voting)
data(voting)
p <- Lindsey(voting, voting_tally)
MM(voting,voting_tally,p) #No other value of 'p' gives a bigger value
# }
Run the code above in your browser using DataLab