Why Diagnose the Information Matrix?
A GLM fitting algorithm may need to solve a system involving its information matrix at every iteration. If that matrix is singular or nearly singular, the problem is not simply that a solver needs more precision: some coefficient combination may be unidentifiable from the design, or the current likelihood may provide very little information in a direction. These situations call for different diagnoses. An exact alias is a property of the design columns; weak information can also arise because the current working weights make some observations contribute very little.
The useful object to inspect is not only the information matrix itself, but also the weighted design from which it is formed. Its singular values reveal the sizes of the directions represented in the data, while its right singular vectors identify the corresponding coefficient combinations.
Information and the Weighted Design
Let \(X\) be the \(n \times p\) GLM design matrix, whose \(i\)th row is \(x_i^\mathsf{T}\). At a specified coefficient value, let \(W=\operatorname{diag}(w_1,\ldots,w_n)\) be the diagonal matrix of finite, nonnegative working weights. In the usual independent-observation GLM working-information calculation, the information matrix, apart from any common positive dispersion factor, is
For example, without additional prior weights, the usual Fisher-scoring working weight for observation \(i\) is \(w_i=(d\mu_i/d\eta_i)^2/\operatorname{Var}(Y_i)\), evaluated at the current fitted mean. A common positive factor such as \(1/\phi\) changes the scale of \(I\), but not its rank. In the diagnostics below, the weighted design means \(A=W^{1/2}X\); rows with zero weights contribute no information at that iteration.
If \(A=U\Sigma V^\mathsf{T}\) is a singular-value decomposition (SVD), its singular values are \(\sigma_1\geq\cdots\geq\sigma_p\geq0\), allowing zeros when \(A\) has fewer than \(p\) independent columns. The corresponding information eigenvalues are \(\sigma_j^2\). A right singular vector \(v_j\) describes a coefficient direction: a small \(\sigma_j\) means that changing coefficients along \(v_j\) changes the weighted linear predictors only slightly.
Proof. For any \(b\in\mathbb{R}^p\),
Thus \(b\) is in the nullspace of \(I\) exactly when \(W^{1/2}Xb=0\). If every weight is positive, \(W^{1/2}\) is invertible, so \(W^{1/2}Xb=0\) exactly when \(Xb=0\). The nullspaces, and hence the ranks, agree. If weights may be zero, \(Xb=0\) still implies \(W^{1/2}Xb=0\), but the reverse need not hold: a nonzero value of \(Xb\) confined to zero-weight rows is erased by multiplication by \(W^{1/2}\). This proves both claims. \(\square\)
Using SVD and Pivoted QR
For a numerical diagnosis, compute the singular values of \(A\) when feasible. A common scale-relative rule declares \(\sigma_j\) numerically negligible when it is no larger than \(\tau\sigma_1\), where \(\tau\) is a stated tolerance. A machine-precision rule may take \(\tau\) on the order of \(\max(n,p)\epsilon\), with \(\epsilon\) machine precision; applications may need a larger tolerance to reflect measurement precision or the accuracy required of the fit. There is no universal cutoff that turns a small singular value into a proof of exact rank deficiency.
A pivoted QR factorization is often a less expensive first diagnostic, especially for a tall design matrix. It permutes columns and computes \(AP=QR\), where \(Q\) has orthonormal columns and \(R\) is upper trapezoidal. Very small diagonal entries near the end of \(R\), relative to the leading scale, suggest dependent or nearly dependent columns. Pivoted QR is useful for locating candidate columns, but its diagonal entries are not a substitute for an SVD when the rank decision is delicate.
Inspect column definitions, units, and exact relationships in \(X\). Use suitable scaling when columns have very different units, and keep that scaling in mind when interpreting singular values.
Form \(A=W^{1/2}X\) at the current fit. Use pivoted QR to screen for dependent columns and SVD to quantify small singular values and their coefficient directions.
Compare singular values or conditioning of \(X\) and \(A\), with consistent column scaling. Attribute additional weakness to the weights only if the comparison supports that conclusion; inspect the weights and model context as well.
A right singular vector associated with a zero singular value gives an exact relation \(Xb=0\) when the design itself is rank deficient. In a fitted model, this means that adding any multiple of \(b\) to the coefficient vector leaves every linear predictor unchanged. Pivoted QR can point to which columns participate, but the specific column labelled “dependent” can vary with column order, scaling, and pivot choices. The underlying dependent subspace is the more fundamental diagnosis.
Worked Diagnostics
Worked Example: Finding an Exact Alias
Suppose a Poisson log-link model has design rows \((1,x_i,z_i)\), where \(x=(0,1,2)\) and \(z=2x=(0,2,4)\). Let the positive working weights be \(1,2,1\). Identify the rank deficiency.
The predictor is \(\eta_i=\beta_0+\beta_1x_i+\beta_2z_i\). Since \(z_i=2x_i\), this is \(\eta_i=\beta_0+(\beta_1+2\beta_2)x_i\): the data determine the combined slope, not both slope coefficients separately. The design and weighted design are
In each matrix, the third column is twice the second. In particular, \(b=(0,-2,1)^\mathsf{T}\) satisfies \(Xb=0\) and \(Ab=0\). Therefore \(I b=A^\mathsf{T}Ab=0\), so the information matrix is exactly rank deficient. A pivoted QR factorization will find only two independent columns, and the SVD will return a zero singular value in exact arithmetic. The weights are positive, so they have not removed this alias: the predictor columns were already dependent.
Worked Example: Small Logistic Weights Without an Alias
Consider two Bernoulli observations with \(x=0,1\), outcomes \(y=0,1\), and design matrix \(X=\left(\begin{smallmatrix}1&0\\1&1\end{smallmatrix}\right)\). At the current coefficients \((\beta_0,\beta_1)=(-5,10)\), calculate the working information and interpret it.
The linear predictors are \(\eta_1=-5\) and \(\eta_2=5\). For the logistic link, \(p_i=1/(1+\exp(-\eta_i))\) and \(w_i=p_i(1-p_i)\). Thus \(p_1\approx0.006693\), \(p_2\approx0.993307\), and both weights equal approximately \(0.006648\). The weighted design and information are
The determinant of \(X\) is \(1\), so the design has full rank. Its weighted version also has full rank because both weights are positive. The information eigenvalues are approximately \(0.017405\) and \(0.002539\), so the singular values of \(A\) are approximately \(0.13193\) and \(0.05039\), not zero. The small weights make the information small in scale at this iterate, but they do not create an exact alias. Because the two weights are equal, \(A=\sqrt{0.006648}\,X\): its condition number is the same as \(X\)'s. The outcomes are perfectly ordered by \(x\), so small weights here are also a warning to examine possible separation; this calculation alone does not establish a general diagnosis of the likelihood or guarantee that every coefficient direction is equally weak.
Worked Example: Separating Weight Effects From Design Conditioning
Let \(X\) have rows \((1,0),(1,1),(1,2)\). Compare its singular values with those of \(A=W^{1/2}X\) for \(W=\operatorname{diag}(1,10^{-6},10^{-6})\).
For the unweighted design,
Its eigenvalues solve \(\lambda^2-8\lambda+6=0\), giving \(\lambda=4\pm\sqrt{10}\), approximately \(7.1623\) and \(0.8377\). Therefore the singular values of \(X\) are approximately \(2.676\) and \(0.915\), with condition number \(2.924\).
After weighting,
Its eigenvalues are approximately \(1.000002000009\) and \(0.000004999991\); the singular values of \(A\) are approximately \(1.000001\) and \(0.002236\). Its condition number is about \(447\), far worse than the unweighted value \(2.924\). Both matrices have full exact rank, but the comparison supports attributing the additional weakness to the weights: almost all weight is on the row with \(x=0\), which provides little information about the slope. This conclusion depends on comparing the two designs; full rank of \(X\) by itself would not show that its conditioning was good.
What the Diagnosis Does—and Does Not—Say
A rank diagnostic describes the information matrix at the weights and coefficient values used to form it. In logistic regression, for example, fitted probabilities near zero or one make \(p_i(1-p_i)\) small. If such observations are the ones needed to distinguish a coefficient direction, that direction can become weakly informed. Near-separation is one possible model-level reason for this pattern, but small weights alone do not prove near-separation: inspect the outcomes, predictors, and coefficient path as well. The reverse caution also matters: an ill-conditioned unweighted design can remain ill-conditioned after weighting, so weak singular values in \(A\) cannot automatically be blamed on \(W\).
For exact aliases, the remedy is to reconsider the parameterization or remove a redundant column, guided by the scientific meaning of the predictors. For a small but nonzero singular value, first check scaling and near-dependence in \(X\), then assess whether the current weights further weaken the direction. A numerical rank cutoff can flag a concern; it does not decide the scientific acceptability of a model or convert an approximate dependence into an exact one.
Common Mistake
Wrong reasoning: “The design matrix has full column rank, so a tiny singular value of \(W^{1/2}X\) must have been caused by the weights.” Full rank only rules out exact linear dependence. The unweighted design may already be poorly conditioned, even when all weights equal one.
Correction: Compare the singular values and conditioning of \(X\) with those of \(W^{1/2}X\), using consistent column scaling. Attribute additional weakness to the weights only when that comparison supports it. If the unweighted design is already weak in the same direction, investigate its scaling or near-dependence before drawing conclusions about the weights.
Check Your Understanding
Use the distinction between exact rank and numerical rank in your answers.
- If all working weights are positive and \(Xb=0\), what does this imply about \(W^{1/2}Xb\) and the information matrix?
- Why should a small singular value of \(W^{1/2}X\) not automatically be attributed to the weights?
- What does a right singular vector associated with a zero singular value tell you about coefficient combinations?
- In a logistic model, why can probabilities close to zero or one reduce working information?
- What does pivoted QR contribute to a rank diagnosis, and why might an SVD still be useful?