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 DataCamp Workspace