Hoff 2002 - Distance and Projection Models
Summary
Given latent positions , ties are conditionally independent with log-odds (distance model). Reciprocity and transitivity follow from the triangle inequality. A projection model uses unit vectors and activity to allow asymmetry: log-odds .
Overview
Background: (Holland & Leinhardt 1981) assumes dyad independence; /ERGMs (Frank & Strauss 1986) suffer degeneracy (Handcock 2000, Snijders 2002); the stochastic blockmodel (Wang & Wong 1987) needs known groups; Nowicki & Snijders (2001) use latent classes. The latent-space view says ties become likelier when actors’ unobserved characteristics are close.
Main Content
Conditional independence latent position model
is the sociomatrix, pair covariates, parameters, latent positions:
Distance model (eq. 1)
Interpretation: for and equidistant from the odds ratio of vs is . Distances could be any set satisfying the triangle inequality; Euclidean in low dimension is chosen for parsimony and interpretability. Reciprocity and transitivity: if and then are probably small, so (reciprocity) and (transitivity) are small.
Uncovariate parameterisation and -representability (eq. 2-3)
For undirected ties with no covariates, . A set of distances represents if whenever and whenever ; as the data probability tends to 1. A network is representable if there are with these distance properties, i.e. iff lie within -dimensional unit balls centred at each other.
Examples of low-dimensional representability: an -star is trivially representable (periphery on two opposite sides of the hub); an -chain is representable for every (equidistant positions on a spiral/line segment). Model complexity: position parameters versus data.
Projection model (Sec. 2.2)
To allow , give each actor an unit-length -vector and activity , (, , means the characteristics point in the same, orthogonal, opposite direction). Then
The term is the signed magnitude of the projection of on the direction of . Variant: acceptance rates via .
Examples
Simulate from a latent distance model and check transitivity
Setup: 30 actors, , ; compare transitive triad count to an Erdos-Renyi graph with the same density.
import numpy as np
rng = np.random.default_rng(1); n = 30; Z = rng.normal(size=(n, 2)); alpha = 2.0
D = np.linalg.norm(Z[:, None] - Z[None], axis=2); p = 1/(1 + np.exp(-(alpha - D)))
A = (rng.uniform(size=(n, n)) < np.triu(p, 1)); A = (A | A.T).astype(int)
tri = np.trace(np.linalg.matrix_power(A, 3))/6
dens = A.sum()/(n*(n-1)); ER = (rng.uniform(size=(n, n)) < dens); ER = np.triu(ER, 1); ER = (ER | ER.T).astype(int)
print("triangles latent:", tri, " ER:", np.trace(np.linalg.matrix_power(ER, 3))/6)PyMC sketch of the distance model (untested):
import pymc as pm, pytensor.tensor as pt
with pm.Model():
alpha = pm.Normal("alpha", 0, 3); Z = pm.Normal("Z", 0, 1, shape=(n, 2))
D = pt.sqrt(((Z[:, None, :] - Z[None, :, :])**2).sum(-1) + 1e-9)
eta = alpha - D
pm.Bernoulli("y", logit_p=eta[iu], observed=y[iu]) # iu: i<j indices for undirectedRemember positions are only identified up to rotation/reflection/translation (see estimation note).
Connections
Hoff 2002 - Likelihood Estimation and Procrustes MCMC handles non-identifiability. For ICAR/graph smoothing the contrast is Riebler 2016 - Scaling and the BYM2 Construction; basic network GLMs: Social Network Models.