Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: st: mi impute: VCE is not positive definite

From   Nick Cox <>
Subject   Re: st: mi impute: VCE is not positive definite
Date   Tue, 30 Oct 2012 09:40:24 +0000

You have posted several questions on this -mi- project. They all have
the same flavour: a very complicated -mi- call is running into
difficulty, so what should you do? That evokes a lot of sympathy, but
on a technical list sympathy solves no problems.

Last Friday Jay Verkuilen posted this advice, which you haven't responded to:

"As I said before, your model is way too complex to troubleshoot. Cut
down on the number of variables or simplify the imputation model and
build UP. There are simply too many failure points right now to be
able to diagnose anything. For instance I seem to recall you're using
a multinomial logit for a categorical variable. You may have problems
there. The censored parts may be trouble too. With imputation the goal
is to get a "good enough" representation of the dataset. So cut down
to a much simpler model. See if that runs. Then start adding
components and find out where it fails. Try this a few different ways.
If it always fails on the same variable that tells you what's wrong.
I'd also run descriptives and missing data patterns on all variables."

Jay's post seems to me excellent advice, and also about as much as
anyone can usefully say.

Statalist is a discussion list, not a help line. If you keep posting
similar questions, but don't respond to advice, my guess is that
people will rapidly conclude that there's nothing they can usefully


On Tue, Oct 30, 2012 at 5:53 AM, chong shiauyun <> wrote:
> Hello all,
> I was using -mi impute chained- to impute my dataset. I have trouble with the variable citwlc_i, which is an interaction of cit*wlc. (cit is my temperament categories(3) and wlc is parentalal warmth latent class). I received the following error message:
> mi impute: VCE is not positive definite
>     The posterior distribution from which mi impute drew the imputations for citwlc_i is not proper when the VCE estimated from the observed data is
>     not positive definite.  This may happen, for example, when the number of parameters exceeds the number of observations. Choose an alternate
>     imputation model.
> I am not sure why this happens and what should I do to make the model works.Please advice.
> My code is:
> mi impute chained (reg) birthweight tempcatwlc_i tempcatclc_i pvlwlc_i pvlclc_i tempcat2wlc_i tempcat2clc_i citwlc_i citclc_i (ologit)alcpreg3 kb280 ke016_b2 ke017_b2 kf300_b kf323_b kf351_b kf352 kj250_b kj265 kj289 kj290 kj373_b2 kj374_b2 sosprt scmatpat3 ednmatpat (logit)sex ethnicity smkpreg marist findiff hhcrowd matdepr patdepr mumhealth ke015_b ke014_b kg255_b kj425_b j564_b (truncreg, ll(45) ul(151))totaliq (truncreg, ll(46) ul(155))verbiq (truncreg, ll(46) ul(151))perfiq (truncreg, ll(55) ul(134))fh9481 (truncreg, ll(0) ul(60))kb800a (truncreg, ll(0) ul(50))kb801a (truncreg, ll(0) ul(50))kb802a (truncreg, ll(0) ul(50))kb803a (truncreg, ll(4) ul(50))kb804a (truncreg, ll(0) ul(45))kb805a (truncreg, ll(0) ul(35))kb806a (truncreg, ll(0) ul(50))kb807a (truncreg, ll(1) ul(50))kb808a (truncreg, ll(0) ul(45))ke800a (truncreg, ll(0) ul(55))ke801a (truncreg, ll(0) ul(55))ke802a (truncreg, ll(0) ul(35))ke803a (truncreg, ll(4) ul(45))ke804a (truncreg, ll(0) ul(60))ke805a (tru!
>  reg, ll(0) ul(45))ke806a (truncreg, ll(0) ul(50))ke807a (truncreg, ll(1) ul(40))ke808a = mumage babygestation,add(20) rseed(11349730) noisily augment burnin(30) chainonly savetrace(mydata, replace) dryrun report
> Thanks in advance!
> Shiau
> *
> *   For searches and help try:
> *
> *
> *

*   For searches and help try:

© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index