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
Robin K. S. Hankin
Consider non-negative integers y_1,...,y_ky_1,...,y_k with y_i=yy_1+...+y_k=y. Then suppose the frequency function of the distribution Y_1,...,Y_kY_1,...,Y_k is
Cy y_1,...,y_k _i=1^k p_i^y_i _1 i < j k_ij^y_iy_j omitted; see PDF
where p_i,...,p_k 0p_i,...,p_k >= 0, p_i=1p_1+...+p+k=1 correspond to probabilities; and _ij > 0theta_ij>0 for 1 i < j k1 <= i < j <= k are additional parameters.
Here C stands for a normalization constant:
C=C(p,,Y)= _y_1 + + y_k=y _i=1^k p_i^y_i _1 i < j k_ij^y_iy_j omitted; see PDF
which is evaluated numerically. This is computationally 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()
.
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