SPSS学习系列缺失值处理
09. 缺失值处理
空缺值(用“.”表示)和输入错误值,都属于缺失值范畴。
输入错误值需要做“数据检验”来发现:
(1)【分析】——【描述统计】——【描述】和【频率】
(2)【图形】——【旧对话框】——【箱图】
观察极小、极大值、频率、异常值等来判断。例如,性别“男=1,女=2”,若极大值出现3,则是输入错误值;箱线图或3σ原则发现的异常值,则要先改成缺失值。
缺失值的处理方法通常有四种。
一、删除有缺失值的个案
删除有缺失值的个案,或在具体统计分析时的【选项】——【缺失值】框选择某种处理方法:
①按列表排除个案——只要任何一个变量含有缺失值,就要剔除出所有因变量或分组变量中有缺失值的观测记录;
②按对排除个案——同时剔除带缺失值的观测量及与缺失值有成对关系的观测量(对照分析);
③使用均值替换——使用该变量的均值替换缺失值。
二、替换缺失值
SPSS提供了5种简单替换缺失值的方法:
(1)序列均值——该变量的有效观察值的平均数;
(2)临近点的均值——该缺失值前后n个观察值的平均数;
(3)临近点的中位数——该缺失值前后n个观察值的中位数;
(4)线性插值——该缺失值前后观察值建立插值直线确定【同取n=1的(2)】;
(5)点处的线性趋势——以编号为自变量用线性回归法预测值。
现有数据文件:
1.【转换】——【替换缺失值】,打开“替换缺失值”窗口,将变量“统计成绩”选入【新变量】框;
2.【名称和方法】框,设定新变量名称“统计成绩_1”,方法选“序列均值”
3.点【确定】,得到
注意:若某个案的缺失值较多最好删除该个案,而不是替换其缺失值。
三、缺失值分析
SPSS中更高级的处理缺失值的方法是缺失值分析,它能够
(1)缺失值的描述和快速诊断:
用灵活的诊断报告来评估缺失值问题的严重性,用户可以观察到它们在哪些变量中出现,比例是多少,是否与其它变量取值有关,从而得知这些缺失值出现是否会影响分析结论。
(2)得到更精确的统计量:
提供了多种方法用于估计含缺失值数据的均值、相关矩阵或协方差矩阵,通过这些方法计算出的统计量更加可靠。
(3)用估计值替换缺失值:
使用EM或回归法,用户可以从未缺失数据的分布情况中推算出缺失数据的估计值,从而能有效地使用所有数据进行分析,来提高统计结果的可信度。
【缺失值分析】实例操作,使用SPSS 20自带的实例文件:
1.【分析】——【缺失值分析】,打开“缺失值分析”窗口,将变量
“婚姻状况、教育程度、退休、性别”选入【分类变量】,将变量“服务月数、年龄、现在住址居住年数、家庭收入、现职位工作年数、家庭人数”选入【定量变量】
注意:最大类别(最大分类数)默认为25,超过该数目的分类变量将不引入分析。
2. 点【描述】,打开“描述统计”子窗口,用来设置要显示的缺失值描述统计量。
勾选“单变量统计量”,勾选【指示变量统计量】框的“使用有指示变量形成的分组进行的t检验”和“为分类变量和指示变量生成交叉表”,点【继续】
3. 点【模式】,打开“模式”子窗口,用来设置显示输出表格中的缺失数据模式和范围。
勾选“按照缺失值模式分组的表格个案”;
因为“教育程度”、“退休”和“性别”中的缺失模式似乎影响数据,“家庭收入”含有大量缺失值,将这些变量选入【附加信息】;
其它保持默认,点【继续】
4. 回到原窗口,勾选【估计】框中的“EM”和“回归”,其它默认设置。点击【EM】或【回归】按钮可以修改其设置
注意:若要保存替换缺失值之后的数据,需要勾选“保存完成数据”:创建新数据集并命名,或写入新数据文件。
另外,默认使用所有变量进行分析,若要选择部分变量,可点【变量】按钮修改。
点【确定】,得到输出结果:
单变量统计
N均值标准差缺失极值数目a
计数百分比低高tenure9683200 age9752500 addres
85015009 s
income821179071 employ90496015 reside96634033 marita
885115
l
ed96535
retire91684
gender95842
a. 超出范围(Q1 - *IQR,Q3 + *IQR)的案例数。
提供了数据的一般特征,给出了所有分析变量缺失数据的频数、百分比,定量变量的均值、标准差、极值数目。
income(家庭收入)有最多具有缺失值(%),也有最多的极值;而age (年龄)有最少缺失值(5%)。
EM
回归
使用EM法和回归法进行缺失值的估计和替换后,总体数据的均值和标准差的变化情况,其中“所有值”为原始数据特征,另两行分别是采用EM法、回归法得到的统计参数。
ess df.
# 存在819832850693766824 # 缺失1491430128138142均值(存
在)
均值(缺
失)
.
inco me t.
df.
# 存在793801693821741792 # 缺失1751741570163174均值(存
在)
均值(缺
失)
.
empl oy t.5.
df.
# 存在877881766741904874 # 缺失91948480092均值(存
在)
均值(缺
失)
.
mari tal t.0.9
df
# 存在856862748728805857 # 缺失1121131029399109均值(存
在)
均值(缺
失)
reti re t.3..2 df.
# 存在888893777751904885 # 缺失80827370081均值(存
在)
均值(缺
失)
.
对于每个定量变量,由指示变量(存在,缺失)组成成对的组。
a. 不显示少于 5% 个缺失值的指示变量。
通过单个方差t 检验有助于标识缺失值模式可能影响定量变量的变量。按照相应变量是否缺失将全部记录分为两组,再对所有定量变量在这
两组间进行t检验。判断数据是否完全随机缺失(表示缺失和变量的取值无关)。
例如,似乎年纪较长的响应者更不可能报告收入水平。当income 缺失时,平均age 为,与之相比,当income 未缺失时为。实际上,income 的缺失似乎影响多个定量(刻度)变量的平均值。此指示数据可能并未完全随机缺失。
类别变量相对于指示变量的交叉制表
marital
总计未婚已婚缺失
SysMis
addres s 存在
计数850390358102
百分比
缺失
%
SysMis
income 存在
计数82138034893
百分比
缺失
%
SysMis
employ存在
计数90441838799
百分比
缺失
%
SysMis
retire 存在
计数916423392101
百分比
缺失
%
SysMis
不显示少于 5% 个缺失值的指示变量。
观察marital(婚姻状况)表,指示变量的缺失值数量在marital 类别之间似乎变化不大。一个人结婚与否似乎并不影响任何定量(刻度)变量的数据缺失情况。
例如,% 未婚者报告address(当前地址居住年限),% 已婚者报告相同变量。差异很小并且很可能是巧合。
缺失
%
SysMis
income 存在
计数8211552291651935029百分比
缺失
%
SysMis
employ 存在
计数9041782541782046030百分比
缺失
%
SysMis
marita l 存在
计数8851932781481845230百分比
缺失
%
SysMis
.7
retire 存在
计数9161802591802076030百分比
缺失
%
SysMis
不显示少于 5% 个缺失值的指示变量。
观察ed(教育程度)的交叉制表。如果对象至少接受过大学教育,婚姻状况响应更可能缺失。未接受大学教育的对象中至少% 报告婚姻状况。另一方面,那些拥有大学学位的人中只有% 报告婚姻状况。对于那些曾接
受大学教育但未获学位者,数量更少。
百分比.0缺失
%
SysMis
marita l 存在
计数8857773870
百分比
缺失
%
SysMis
不显示少于 5% 个缺失值的指示变量。
在retire(退休)中可看到更大差异。那些退休者与那些未退休者相比更不可能报告其收入。退休客户中只有% 报告收入水平,而那些未退休者报告收入水平的百分比为。
gender
总计男女缺失
SysMis
addres s 存在
计数85036345631
百分比
缺失
%
SysMis
income存在
计数82138140634
百分比
缺失
%
SysMis
employ 存在
计数90441245735
百分比
缺失
%
SysMis
marita l 存在
计数88540044540
百分比
缺失
%
SysMis
retire 存在
计数91642046135
百分比
缺失
%
SysMis
不显示少于 5% 个缺失值的指示变量。
gender(性别)的另一差异明显。男性与女性相比,地址信息经常缺失。虽然这些差异可能是巧合,其似乎不可能。数据似乎并非随机完全缺失。
制表模式
6
0X
53
5
12
2
7
2
4
6
5
9
1
3
5
2
5
1
6X
49
1
00000
1
6
06
1
1
7X
49
2
27341
1
7
07
1
1
8X
49
3
37440
1
7
100
1
6X X
66
.00781
1
4
26
1
3
7X X
52
9
1
4
58100
1
5
2
2
不显示少于 1% 个(10 个或更少)案例的模式。
a. 以缺失模式排列变量。
b. 完整案例数,如果未使用该模式(用 X 标记)中缺失的变量。
c. 在各个唯一模式处的均值
d. 在各个唯一模式处的频率分布
制表模式显示个别个案中多个变量的数据是否往往缺失,有助于判断数据是否联合缺失。
在超过1% 的个案中存在三种模式的联合缺失数据。变量employ(当前工作年限)和retire(退休)与其它变量对相比更容易缺失。这并不奇怪,因为retire和employ 记录类似信息。如果您不知道对象是否退休,