# cm2: Conditional Maximization Routine for the Indirect Estimation... In migest: Methods for the Indirect Estimation of Bilateral Migration

## Description

The `cm2` function finds the maximum likelihood estimates for parameters in the log-linear model:

\log y_{ij} = \log α_i + \log β_j + \log m_{ij}

as introduced by Willekens (1999). The α_i and β_j represent background information related to the characteristics of the origin and destinations respectively. The m_{ij} factor represents auxiliary information on migration flows, which imposes its interaction structure onto the estimated flow matrix.

## Usage

 ```1 2``` ```cm2(rtot = NULL, ctot = NULL, m = matrix(1, length(rtot), length(ctot)), tol = 1e-05, maxit = 500, verbose = TRUE) ```

## Arguments

 `rtot` Vector of origin totals to constrain the sum of the imputed cell rows. `ctot` Vector of destination totals to constrain the sum of the imputed cell columns. `m` Matrix of auxiliary data. By default set to 1 for all origin-destination combinations. `tol` Numeric value for the tolerance level used in the parameter estimation. `maxit` Numeric value for the maximum number of iterations used in the parameter estimation. `verbose` Logical value to indicate the print the parameter estimates at each iteration. By default `FALSE`.

## Value

Parameter estimates are obtained using the EM algorithm outlined in Willekens (1999). This is equivalent to a conditional maximization of the likelihood, as discussed by Raymer et. al. (2007). It also provides identical indirect estimates to those obtained from the `ipf2` routine.

The user must ensure that the row and column totals are equal in sum. Care must also be taken to allow the dimension of the auxiliary matrix (`m`) to equal those provided in the row (`rtot`) and column (`ctot`) arguments.

Returns a `list` object with

 `N ` Origin-Destination matrix of indirect estimates `theta ` Collection of parameter estimates

Guy J. Abel

## References

Raymer, J., G. J. Abel, and P. W. F. Smith (2007). Combining census and registration data to estimate detailed elderly migration flows in England and Wales. Journal of the Royal Statistical Society: Series A (Statistics in Society) 170 (4), 891–908.

Willekens, F. (1999). Modelling Approaches to the Indirect Estimation of Migration Flows: From Entropy to EM. Mathematical Population Studies 7 (3), 239–78.

`ipf2`
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19``` ```## with Willekens (1999) data dn <- LETTERS[1:2] y <- cm2(rtot = c(18, 20), ctot = c(16, 22), m = matrix(c(5, 1, 2, 7), ncol = 2, dimnames = list(orig = dn, dest = dn))) y ## with all elements of offset equal (independence fit) y <- cm2(rtot = c(18, 20), ctot = c(16, 22)) y ## with bigger matrix dn <- LETTERS[1:3] y <- cm2(rtot = c(170, 120, 410), ctot = c(500, 140, 60), m = matrix(c(50, 10, 220, 120, 120, 30, 545, 0, 10), ncol = 3, dimnames = list(orig = dn, dest = dn))) # display with row and col totals round(addmargins(y\$N)) ```