如何在 SPSS 中对分类变量进行单一插补?

How to perform single imputation of a categorical variable in SPSS?

我的主管确信可以在 SPSS 中执行以下对分类变量的缺失值进行单一插补的过程:该变量的缺失观察值随机分配到它们所在的相同分布中的变量类别(水平)发生在非缺失观察中。

所以,一个愚蠢的例子:我在 8 个观察中有一个二元变量(比如,性别);变量在6个观察中均未缺失,0=男性3个(50%),1=女性3个(50%);该程序将随机分配给剩余的 2 个观察值,其中缺少它,性别 0 = 男性分配给一个,1 = 女性分配给另一个,因此分布仍然是 50%-50%。数据集将由

创建
data list free/gender.
begin data
0 1 0 1 0 1 '' ''
end data.

我可以在 R 中执行该过程,您可以在其中自由地操作向量等。但是经过几天的学习和网上冲浪,我无法在 SPSS 中完成。只有Expectation-Maximization等内置的单一插补方法,我手动做起来不太方便。 并不是说我不相信该方法可以完全最大化。假设在我的示例数据集中还有一个缺失的观察值:您将有 3 个缺失的观察值,因此您将被迫拥有 33.3% 的一种性别和 66.6%^ 的另一种性别。在大多数情况下,您将无法重现与非缺失观测值完全相同的水平分布。这最后的选择必须由人来完成。

你会怎么做?我的主管错了吗?

重要说明:这是关于程序的,而不是关于这种极其粗略的插补方法的有效性。

您可以在"Transform -> Replace Missing Values"下的菜单中找到一些缺失数据的替换功能。

我认为,您正在寻找的转换可以通过一些小技巧实现。

现在让我们使用“替换缺失值”函数中的 "series mean" 方法。

RMV /gender_1=SMEAN(gender).

因为性别变量是0-1编码的,所以这个过程returns1比0的比例,其中性别缺失,存入变量gender_1。如果性别不缺失,则返回性别的值。比例值也可以看作是性别取值为1的概率,现在可以用伯努利分布随机数代替(使用存储在"gender_1"中的概率)。

* Where gender is missing, replace the value for the "probability" of gender=1 
* with a bernoulli distributed random number (0 or 1) given this probability.
DO IF MISSING(gender).
   COMPUTE gender_1 = RV.BERNOULLI(gender_1).
END IF.
EXECUTE.