我有一个SAS数据集,多列中缺少数据。我想用基于数据集中其他数据的预测替换丢失的数据。 Here一个描述该方法的链接,但没有告诉我如何操作。如何用预测替换缺失值?
编辑: 我想到的方法只是使用Proc Reg然后将系数应用于缺失的数据以生成估计。这是否回答了你的问题?
答案 0 :(得分:1)
PROC STDIZE
,PROC EXPAND
和PROC MI
都能够对您的数据执行不同类型的估算,具体取决于您确定如何确定“预测”。
对于简单的事情,例如用均值替换,PROC STDIZE
是要走的路。 PROC MI
是最先进的 - 它会执行多次插补。如果您有时间序列数据,PROC EXPAND
是合适的,因为它会尝试计算时间序列中该点的正确值。
答案 1 :(得分:1)
如果您在多列中缺少数据,则需要多次回归。这可能不是一个很好的方法,但要回答这个问题 - 您要求的内容称为对数据集进行评分,您可以使用PROC SCORE
。
另一种方法是在您的回归过程中请求OUTPUT
数据集,其中包含该回归的预测值。
output out=predicted1 p=pred_var_missing;
作为方法论问题,我推荐使用@ Joe的方法。
答案 2 :(得分:0)
添加@Joe的回答,如果你告诉我们你为什么要这样做,我们可以提供更好的建议。我写了一篇名为How to Ask a Statistics Question的博客文章可能有所帮助。
然而,通常,单一插补是一种不好的方法。更具体地说,如果您要对此数据进行进一步分析(使用插补值),则单个插补将低估数据的可变性并给出错误的结果。
PROC MI通常是一种更好的方法。