Why Rescale HC0?
The HC0 covariance estimator makes heteroskedasticity-robust inference possible without specifying a common error variance for every observation. But its use of fitted residuals can make its estimated variances too small in finite samples. HC1 addresses this concern with a simple adjustment: multiply the entire HC0 covariance matrix by a degrees-of-freedom factor. The adjustment is easy to calculate, but its simplicity also limits what it can correct.
This tutorial focuses on that rescaling: its definition, motivation, effect on standard errors, and limitations. It does not alter the OLS coefficients or replace the assumptions needed for robust inference.
Model and Definition
Let \(y\) be an \(n\)-vector of outcomes and let \(X\) be an \(n\times k\) design matrix whose \(i\)th row is \(x_i'\). The regression model is \(y=X\beta+u\), where \(\beta\) is a \(k\)-vector of coefficients and \(u\) is the error vector. The matrix \(X\) has full column rank, so the OLS estimate is defined by \(\hat{\beta}=(X'X)^{-1}X'y\). Here, \(k\) counts all estimated coefficients, including an intercept if the model has one.
For the usual heteroskedasticity-robust interpretation, assume the conditional mean is correctly specified, \(E[u\mid X]=0\), and observations have no cross-observation error dependence: conditional on \(X\), distinct errors are uncorrelated. Their conditional variances may differ across observations. Standard large-sample justification also requires appropriate regularity conditions, including finite moments and a design that is not dominated by a few observations. HC1 does not make these conditions unnecessary.
The estimated robust standard error for coefficient \(j\) is the square root of the \(j\)th diagonal element of the covariance estimate. Therefore,
Since \(n>k\), the multiplier \(n/(n-k)\) exceeds one. Thus each HC1 standard error is at least as large as its HC0 counterpart, and is strictly larger when that HC0 standard error is positive. If an HC0 standard error is zero, rescaling leaves it zero.
Motivation: A Degrees-of-Freedom Adjustment
The factor resembles the familiar residual-degrees-of-freedom adjustment in the homoskedastic regression variance estimate. Under the classical homoskedastic model, the residual sum of squares is divided by \(n-k\), rather than \(n\), when estimating the common error variance. The difference reflects that \(k\) coefficients have been estimated from the data.
HC0 is not simply a pooled residual variance multiplied by \((X'X)^{-1}\): it weights each observation’s residual square by its design contribution \(x_i x_i'\). Consequently, multiplying HC0 by \(n/(n-k)\) is a convenient degrees-of-freedom rescaling, not a derivation of an exactly unbiased heteroskedasticity-robust covariance estimator. It does not account specifically for which observations have high leverage or for how their residuals behave.
Worked Example: Rescaling an HC0 Covariance Matrix
Suppose a hypothetical regression has \(n=10\) observations and \(k=4\) estimated coefficients, including the intercept. Its computed HC0 covariance matrix for two coefficients of interest is $$ \widehat{V}_{HC0}= \begin{pmatrix} 0.0400 & 0.0060\\ 0.0060 & 0.0100 \end{pmatrix}. $$ Find the corresponding HC1 matrix and standard errors.
Because \(10>4\), HC1 is defined. Its multiplier is $$ \frac{n}{n-k}=\frac{10}{10-4}=\frac{10}{6}=1.6667. $$
Multiplying each matrix entry by this factor gives $$ \widehat{V}_{HC1}=1.6667 \begin{pmatrix} 0.0400 & 0.0060\\ 0.0060 & 0.0100 \end{pmatrix} \approx \begin{pmatrix} 0.06667 & 0.01000\\ 0.01000 & 0.01667 \end{pmatrix}. $$
The HC0 standard errors are \(\sqrt{0.0400}=0.2000\) and \(\sqrt{0.0100}=0.1000\). The HC1 standard errors are \(\sqrt{0.06667}\approx0.2582\) and \(\sqrt{0.01667}\approx0.1291\). The covariance entries and standard errors are rescaled, but the coefficient estimates themselves are unchanged.
A Small Regression Calculation
The next example calculates HC0 from the residuals and design values, then applies HC1. It illustrates the arithmetic, not a recommendation to rely on an asymptotic approximation in a very small sample.
Worked Example: HC1 in a Five-Observation Regression
Consider hypothetical data from an OLS regression with an intercept and one predictor \(x\). The observations are
| \(x_i\) | \(y_i\) | \(\hat{u}_i\) |
|---|---|---|
| -2 | 7 | 1 |
| -1 | 6 | -2 |
| 0 | 12 | 2 |
| 1 | 10 | -2 |
| 2 | 15 | 1 |
The fitted line is \(\hat{y}_i=10+2x_i\). For example, at \(x=-2\), the fitted outcome is \(10+2(-2)=6\), so the residual is \(7-6=1\). The residuals sum to \(1-2+2-2+1=0\), and their product sum with \(x_i\) is \((-2)(1)+(-1)(-2)+(0)(2)+(1)(-2)+(2)(1)=0\). These checks confirm the OLS residual orthogonality conditions for the intercept and slope.
Here \(n=5\) and \(k=2\). Since \(n>k\), the HC1 multiplier is \(5/(5-2)=5/3\). To compute HC0, the design vector is \(x_i=(1,x_i)'\). The needed sums are $$ X'X= \begin{pmatrix} 5&0\\ 0&10 \end{pmatrix}, \qquad \sum_i x_i x_i'\hat{u}_i^{\,2} = \begin{pmatrix} 14&0\\ 0&16 \end{pmatrix}. $$
For the second matrix, the upper-left entry is \(\sum_i\hat{u}_i^2=1+4+4+4+1=14\); the lower-right entry is \(\sum_i x_i^2\hat{u}_i^2=4+4+0+4+4=16\). The off-diagonal sum is \(\sum_i x_i\hat{u}_i^2=-2-4+0+4+2=0\). Since \((X'X)^{-1}\) is diagonal with entries \(1/5\) and \(1/10\), substitution gives $$ \widehat{V}_{HC0} = \begin{pmatrix} 1/5&0\\ 0&1/10 \end{pmatrix} \begin{pmatrix} 14&0\\ 0&16 \end{pmatrix} \begin{pmatrix} 1/5&0\\ 0&1/10 \end{pmatrix} = \begin{pmatrix} 0.5600&0\\ 0&0.1600 \end{pmatrix}. $$
The HC0 slope standard error is \(\sqrt{0.1600}=0.4000\). Rescaling the covariance matrix gives $$ \widehat{V}_{HC1} =\frac{5}{3} \begin{pmatrix} 0.5600&0\\ 0&0.1600 \end{pmatrix} = \begin{pmatrix} 0.9333&0\\ 0&0.2667 \end{pmatrix}, \qquad SE_{HC1}(\hat{\beta}_1)=\sqrt{0.2667}\approx0.5164. $$
Thus the fitted slope remains \(2\) units of outcome per unit of \(x\), while its estimated standard error rises from \(0.4000\) to \(0.5164\) in this example. The change reflects the HC1 covariance adjustment, not a change in the fitted regression.
Effect on Coefficient-Level Inference
For a single coefficient, a robust \(t\)-type statistic for \(H_0:\beta_j=\beta_{j,0}\) divides the estimate’s distance from the null value by its chosen robust standard error. With the same estimate and null value, replacing HC0 by HC1 changes the statistic by a known scale factor. This changes the statistic and can change a reported p-value or interval; it does not change the underlying coefficient estimate.
Worked Example: How the Rescaling Changes a Test Statistic
Suppose a hypothetical regression has \(n=20\), \(k=5\), a slope estimate of \(1.20\) outcome units per predictor unit, and an HC0 standard error of \(0.3000\) outcome units per predictor unit. Consider \(H_0:\beta_1=0\).
The HC1 factor is \(20/(20-5)=4/3\), so the HC1 standard error is $$ 0.3000\sqrt{\frac{4}{3}}\approx0.3464. $$
Using the usual coefficient-over-standard-error ratio, the HC0 statistic is \(1.20/0.3000=4.000\), whereas the HC1 statistic is \(1.20/0.3464\approx3.464\). This calculation shows the effect on the statistic. It does not by itself supply a p-value: that also requires a reference distribution, and HC1 alone does not determine which one is appropriate.
What HC1 Does—and Does Not—Correct
HC1 applies the same positive scalar to every entry of the covariance matrix. It therefore preserves the relative pattern of variances and covariances in HC0. For example, when the relevant variances are positive, the implied correlation between two coefficient estimates is unchanged: both covariance and the product of their standard errors are multiplied by the same factor.
The correction also cannot repair a misspecified conditional mean, omitted dependence between observations, or a design in which standard large-sample approximations are unreliable. Nor does it target individual observations’ leverage. HC1 uses only \(n\) and \(k\) to rescale HC0; a single factor cannot adapt to how leverage is distributed across the design. More tailored residual adjustments are a separate topic.
Confirm that \(X\) has full column rank and \(n>k\). Count the intercept among the \(k\) estimated coefficients.
Use the OLS residuals in the HC0 sandwich formula, or start from an already computed HC0 covariance matrix.
Multiply the entire covariance matrix by \(n/(n-k)\), then take square roots of its diagonal entries for HC1 standard errors.
Use the adjusted standard errors with a stated inferential reference distribution, and do not treat the rescaling as a guarantee of accurate finite-sample inference.
Common Mistakes and Practical Meaning
- Ignoring the condition \(n>k\). Full column rank alone does not ensure that the HC1 multiplier exists. A square, invertible design has full column rank but \(n=k\), so \(n/(n-k)\) is undefined.
- Calling the increase strict in every case. The standard error is at least as large after rescaling, but it remains zero if its HC0 value was zero. It increases strictly only when the HC0 standard error is positive.
- Calling HC1 an exact correction. The degrees-of-freedom motivation does not show that HC1 is unbiased under arbitrary heteroskedasticity or that it solves every small-sample problem.
- Thinking HC1 changes the regression fit. The OLS estimates, fitted values, and residuals are unchanged; only the estimated covariance matrix and quantities calculated from it are rescaled.
HC1 is useful because it is transparent and inexpensive: once HC0 is available, one multiplication produces the adjustment. Its role is narrower than the phrase “small-sample correction” may suggest. It supplies a common degrees-of-freedom rescaling, while the quality of robust inference still depends on the model, the design, the error dependence structure, and the reference distribution used.
Check Your Understanding
Use the definitions and calculations above to answer the following questions.
- A regression has \(n=24\) observations and \(k=6\) estimated coefficients. What is the HC1 multiplier, and by what factor are positive HC0 standard errors multiplied?
- Why is HC1 undefined for a full-rank regression with \(n=k\)?
- If an HC0 standard error is zero and \(n>k\), what is the corresponding HC1 standard error?
- A colleague says that multiplying HC0 by \(n/(n-k)\) makes the robust covariance estimate exactly unbiased under any heteroskedasticity pattern. What is wrong with this reasoning?
- If a coefficient estimate and null value are unchanged, what happens to its coefficient-level test statistic when its positive HC0 standard error is replaced by HC1? Does HC1 alone determine the p-value?