MM (version 1.6-5)

MM: Various multiplicative multinomial probability utilities

Description

Various multiplicative multinomial probability utilities for different types of observation

Usage

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)

Arguments

y

Observations: a matrix, each row is a single observation

yrow

A single observation corresponding to one row of matrix y

n

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

ss

Sufficient statistics, as returned by suffstats()

givelog

Boolean in MM_single() with TRUE meaning to return the log likelihood and default FALSE meaning to return the likelihood

paras

Object of class paras

Details

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().

Examples

Run this code
# 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