Hoff 2002 - Likelihood Estimation and Procrustes MCMC

Summary

The log-likelihood is concave in but not in , so MLE needs a good start (MDS on path-length distances). Positions are identified only up to rotation, reflection and translation; inference is on Procrustes-aligned configurations in a Metropolis-Hastings chain.

Overview

Unlike models, the conditional-independence likelihood is a product of Bernoullis, so ML and Bayes are practical.

Main Content

Log-likelihood (eq. 4)

, with a function of .

Concavity and non-identifiability

(a) The log-likelihood is strictly concave in . For the semiparametric model with constrained to be a symmetric positive matrix satisfying the triangle inequality, the parameter space is convex and is affine, so there is a unique maximiser (but is confounded with ). (b) For the distance or projection model is not affine, so the log-likelihood is not generally concave in . (c) For any latent matrix , for equivalent to under reflection, rotation or translation (distance model); the projection model is invariant under rotation and reflection only.

Resolution: work with the equivalence class (a configuration) and a Procrustes representative.

Procrustes transformation

For a reference and positions , over rotations/reflections ; for centred matrices (Sibson 1979). Take (the MLE centred at the origin).

Sampling procedure (Sec. 3)

  1. Find an MLE centred at origin by direct maximisation (start from classical MDS of ad hoc dissimilarities, e.g. Euclidean distance between rows/columns of or average directed geodesic length).
  2. Using as starting value, run a Markov chain: (a) sample a proposal , symmetric; (b) accept with probability , else ; (c) store , the Procrustes transform of toward (the paper prints the minimand with index , apparently a typo).
  3. Update and with a Metropolis-Hastings algorithm. For the projection model, only the alignment changes: ranges over rotations and reflections only (no translation).

Priors in the paper: diffuse independent on and the components of (monk data); exponential with mean 2 for in the Florentine example to keep predicted probabilities from reaching 0/1.

Examples

Rotation invariance and Procrustes alignment (numerical check)

Setup: 12 actors in 2-D with ; rotate and translate ; the log-likelihood is unchanged (-82.899 both) and Procrustes alignment to the original recovers it with maximum error .

import numpy as np
def loglik(Z, alpha, Y):
    D = np.linalg.norm(Z[:, None] - Z[None], axis=2); eta = alpha - D
    m = ~np.eye(len(Z), dtype=bool); return np.sum(Y[m]*eta[m] - np.log1p(np.exp(eta[m])))
def procrustes(Z, Z0):                       # align Z to Z0 over orthogonal T (after centring)
    Zc, Z0c = Z - Z.mean(0), Z0 - Z0.mean(0)
    U, s, Vt = np.linalg.svd(Z0c.T @ Zc); return Zc @ (Vt.T @ U.T)

Use in PyMC: post-process draws of Z with procrustes(draw, Z_ref) before summarising or plotting (E21: “Hoff latent space + Procrustes”).

Connections

Positions’ posterior is plotted per actor in Hoff 2002 - Monks Florentine Families and Classroom Examples. Related identification issue: label switching in mixtures and SBMs (Network Outcome Models - Stochastic Block Models and Network Checks).

See Also

Hoff 2002 - Latent Space Models Overview