1

我一直在尝试在一个大数据集(600k 行)上使用 stata 进行多重插补,但我遇到了一些我无法解释的错误。也尝试了不同的方法,但我总是遇到一些问题。希望你能帮助我,我对多重插补有点陌生。对德国变量感到抱歉,但我想你不会有大问题。

set more off
set level 99
mi set mlong
mi misstable patterns leistungsfähig  sa_n Bewilligungsdiagnosegruppen1 Berufstellung Arbeitsunf Erwerbst Rehadauer1 sb_n Berufsgrkl famstand1 Rehaart ORT bb_n, frequency


mi register imputed leistungsfähig  sa_n Bewilligungsdiagnosegruppen1 Berufstellung Arbeitsunf Erwerbst Rehadauer1 sb_n Berufsgrkl famstand1 Rehaart ORT bb_n

mi impute chained (logit, augment) leistungsfähig (regress, bootstrap) Rehadauer1(ologit) sb_n bb_n (mlogit, augment) sa_n Bewilligungsdiagnosegruppen1  Berufstellung Arbeitsunf Erwerbst Berufsgrkl famstand1 Rehaart ORT= sexn Alter_n AmR AHB, add(5) dots savetrace(trace1,replace)

错误:

  1. 估算 m=1 到 m=5 matsize too small 您试图创建一个包含太多行或列的矩阵,或者试图拟合一个包含太多变量的模型。你需要增加matsize;目前是 400。使用 set matsize;请参阅帮助 matsize。

增加垫子尺寸(450 和更高),仍然是相同的错误

  1. 如果您使用因子变量并包含具有大量缺失单元格的交互,请增加 matsize 或设置 emptycells drop 以减小所需的矩阵大小;请参阅帮助设置空单元格。

使用set emptycells drop,仍然是同样的错误

  1. 如果您使用因子变量,您可能会不小心将连续变量视为分类变量,从而产生大量类别。使用 c。此类变量的运算符。leistungsfähig Rehadauer1 sb_n bb_n sa_n Bewilligungsdiagnosegruppen1 Berufstellung Arbeitsunf Erwerbst Berufsgrkl famstand1 Rehaart ORT 在 m = 1 的插补期间发生错误

问题是,只有Rehadauer1不是分类变量..所以我必须写c.Rehadauer1,或者它是什么意思?

mi 和 ice () 的另一种方法:

mi register imputed leistungsfähig  sa_n Bewilligungsdiagnosegruppen1 Berufstellung Arbeitsunf Erwerbst Rehadauer1 sb_n Berufsgrkl famstand1 Rehaart ORT bb_n    
mi export ice, clear    
ice leistungsfähig m.sa_n m.Bewilligungsdiagnosegruppen1 m.Berufstellung m.Arbeitsunf m.Erwerbst i.sexn o.sb_n o.Berufsgrkl m.famstand1 m.Rehaart i.AHB m.ORT o.bb_n Alter_n  Rehadauer1 AmR, m(5) cmd(AmR Rehadauer1 Alter_n: regress) nopp  saving(icedata, replace)

这里的问题是,如果在没有 nopp 的情况下使用,它总是会抛出错误“检测到完美预测”。

4

0 回答 0