Title | xtgee reports convergence not achieved | |

Authors | William Gould, Brian Poi, and Vince Wiggins, StataCorp |

I attempted to fit a model using
**xtgee** with an
exchangeable correlation matrix but received the message
“exchangeable correlation matrix not positive definite. Convergence
not achieved.” If I used other correlation matrix structures, I
sometimes received a similar error message.

In this FAQ, we assume that you are not getting the
“convergence not achieved” error message because **xtgee**
has performed the maximum number of iterations. If that limit is being
reached, you should try specifying a higher number in the **iterate()**
option of **xtgee** or increase the maximum number of iterations by using
**set maxiter**.

Suppose that we want to fit a Gaussian-family, identity link **xtgee**
model with exchangeable correlation; i.e.,

y_it =X_it*b+ u_it (1)

where u_it has correlation matrix

+- -+ | 1p p...p| |p1p...p| |p p1 ...p| (2) | . | | . | |p p p... 1 | +- -+

In the above, vector **b** and scalar *p* are to be estimated.

This model commonly arises in a random-effects context. One assumes that

u_it = v_i + e_it (3)

where v_i are fixed constants within panel and e_it are independent.

The random-effects equation (3) implies a constant correlation matrix (2),
and in fact *p* is

s2_vp= ------------ s2_v + s2_e

where s2_v is the variance of v_i and s2_e is the variance of e_it. Thus
*p* will be positive.

When *p* is positive, there is no problem.

The **xtgee** model, that is, the model in (1) and (2), is more
general than the random-effects model in that *p* can be negative as
well. Sometimes the population value of *p* may be less than 0.

Exchangeable correlation models with *p* < 0 can have substantive
problems.

Below we consider such models more carefully.

Correlation matrices must be positive definite or at least positive semidefinite. That sounds arcane, but it has important implications. Consider the matrix

+- -+ | 1 -.8 -.8 | | -.8 1 -.8 | | -.8 -.8 1 | +- -+

The above matrix is not positive definite; its determinant is -1.944.

Therefore, it cannot be a correlation matrix. Try all you want, but you cannot generate data for three variables with the above correlations.

This outcome should not surprise you. Rather than -.8, let’s use -1:

+- -+ | 1 -1 -1 | | -1 1 -1 | | -1 -1 1 | +- -+

You cannot create three variables correlated like this. If x1 and x2 are correlated -1, and x2 and x3 are correlated -1, x1 and x3 have to be correlated +1. Said mathematically: the above matrix is not positive definite.

So *p* = -1 does not work and *p* = -.8 does not
work. Do any negative numbers work? Yes. For a 3 x 3 matrix,
*p* > -.5 produces a positive-definite matrix, i.e., a valid
correlation matrix.

For 4 x 4 matrices, the cutoff is -.333.... If *p* > -.333..., it is a
valid correlation matrix, and if *p* ≤ -.3333..., it is not.

The formula for the cutoff is

max_neg_corr = -1 / (n-1)

which leads to the following table:

max n neg. corr. --------------------------- 2 -1 3 -.5 4 -.33333... 5 -.25 11 -.1 101 -.01 1,001 -.001 1,000,001 -.000001 ---------------------------

Thus, if you have constant negative correlation,

+- -+ | 1p p...p| |p1p...p| |p p1 ...p| ,p< 0 | . | | . | |p p p... 1 | +- -+

that is, what GEE modelers call an exchangeable correlation matrix with
*p* < 0, there is a limit as to how negative *p* can be. That
limit is a function of *n*, the number of observations within panels
(which is equal to the number of rows and columns of the correlation
matrix).

If you have data generated by an exchangeable correlation process with
*p* < 0, there are limits on *p*. If the maximum panel size in
your data is 11, then *p* must be greater than -.1. If the
maximum panel is 11 but you know that larger panels exist in the population,
and that maximum theoretical size is 101, then *p* must be
greater than -.01. If you think that the panel size is unlimited, then *p*
must be greater than (or equal to) 0. Moreover, the exchangeable model
makes little sense when *p* < 0 unless maximum possible panel sizes
are fixed, say, at 2, 3, or 10.

With some datasets, **xtgee** wants to converge to a *p* that is too
negative, rendering the exchangeable correlation matrix to be non–positive
definite and hence invalid. The ado-file update issued in October 2006
modified **xtgee** to warn the user in such cases. If *p* is too
negative, you will see

In that ado-file update, we also modified **xtgee** to reset *p*
during iterations to be just inside the minimum boundary implied by the
observed maximum panel size, which should help models that can converge to
do so. However, for some datasets, **xtgee** wants to converge to an
invalid set of parameters, and the exchangeable assumption is simply
untenable.

The problem of non–positive-definite correlation matrices can arise with some other correlation structures as well. They can arise in the unstructured, stationary, and nonstationary cases, although they cannot arise for autoregressive and independent correlation matrices. The changes we have made apply in those cases, too.