统计过程中遇到删失数据

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Censored data删失数据
这两天看MPLUS统计手册,总看见censored data这个概念,censored的原意是“审查过的”,在网络用语上是“屏蔽的”,通俗的理解就是敏感词的意思。

但什么是“审查过的数据”呢?又查了一下censored data,统计术语上称作“删失数据”,解释为:就是在数据收集过程中,某些在检测线下的数据被检测线的值或是0值代替了。

这一解释,稍微能理解点意思,但仍是没有概念。

后来,查到下面这段话,是Amos7.0可以处理censored data,并且给出了一个具体例子,才总算明白了啥叫censored data。

英文和翻译如下:
Censored data occurs when you know that a measurement exceeds some threshold, but you don’t know by how much. (There is a less common kind of censored data where you know that a measurement falls below some threshold, but do not know by how much.) As an example of censored data, suppose you watch people as they try to solve a problem and record how long each person takes to solve it. Suppose that you don’t want to spend more than 10 minutes waiting for a person to reach a solution, so that if a person has not solved the problem in 10 minutes, you call a halt and record the fact that “time to solve” was greater than 10 minutes. If five people solve the problem and two don’t, the data from seven people might look like this:
当你知道一个测量值超过了临界值,但又不知道具体超过了多少,就叫“删失数据”(较少出现那种低于临界值,但又不知道具体低多少的删失数据)。

举个例子,假设你想要进行一个关于问题解决的研究,记录下被试进行问题解决所花的时间。

假如有的被试花了10分钟还没有答完题,而你又不想继续等待,到10分钟的时候你就让被试停止答题,然后记录这名被试的答题时间为“大于10分钟”。

假设7名被试中有2名没答完,那么数据记录如下表:
在Amos6.0中,你可以把被试4和被试7的数据作为缺失数据处理,也可以人为地给他们赋值为10、11或12等。

作为缺失值处理的话,有可能会因为删去了一些问题解决较差者而出现样本偏差。

虽然赋其他值的效果还不能确切知道,但这个做法同样也不是个好办法。

In Amos 7.0 you can take advantage of all the information you have about cases 4 and 7 without making assumptions other than the assumption of normality.
在Amos7.0中,研究者就可以利用被试4和被试7的数据信息,而不用作正态假设之外的其他假设。

总结起来,所谓censored data,就是那些在研究中被掐头(当然也有的是去尾)的数据,知道是被掐了头,但不知道掐了多少。

以前很多研究都是当缺失值处理了,但这样做容易导致样本有偏差(即差的都被去掉了,不能反映数据全貌)。

可见,统计软件的更新和升级是多么的重要。

缺失值是指在数据采集与整理过程中丢失的内容。

一般情况下,数据都是以关系型表的方式采集的,如下表是某次调查中一些受访者的基本情况见本文最后的表格。

如果在表格中,某一个数据采集时无法获得,就会出现缺失值,例如在上表中“张三”的性别和“赵六”的年龄就出现了缺失。

缺失值的处理一般有两种方式,一是删除对应的记录,例如在上例中,如果张三的性别没有记录,出现缺失,则将张三的所有信息全部从数据库中删掉。

这种方式在数据缺失非常少的情况下是可行的,但如果各个项目中都有少数的数据缺失存在,对所有缺失的记录都进行删除可能就会使总样本量变得非常小,从而损失许多有用信息。

缺失值处理的第二种方式是进行插值处理,所谓插值,是指人为地用一个数值去替代缺失的数值。

插值处理根据插值的不同,有如下一些方法:
1.随机插值
根据缺失值的各种可能情况,等概率地进行插值。

例如在上例中,“张三”的性别有两种可能性,一是“男”,二是“女”,可以简单地掷一枚硬币,如果正面朝上,则赋值为“男”,如果反面朝上,则赋值为“女”。

2.依概率插值
随机插值是假定各种一个变量取各种值的可能性是相等的,但有些情况下,我们可以事先知道一个变量取各种值的概率,例如,我们知道在上述的单位中,女性占的比例是75%,男性的比例是25%,则在对“张三”的性别进行赋值时,不是按50%概率赋为“女”,而是按75%概率赋为“女”。

3.就近插值
就近插值是指根据缺失记录附近的其他记录的情况对缺失值进行插值,例如在上例中,“张三”的性别出现缺失,此时可以用其邻近的“李四”的性别数据替代“张三”的性别数据,由于“李四”的性别为“女”,所以将“张三”的性别也赋为“女”。

就近插值是依概率插值的一种简化处理,设想在整个单位的职工中,女性占的比例是75%,则在一般情况下,与张三邻近的记录性别为“女”的概率也应当为75%,就近插值实际上就是依概率插值。

使用就近插值时,需要对抽样过程进行必要的了解,如果抽样时性别有交叉的情况,例如经常是调查完一名男性后就调查一名女性,则使用就近插值就会出现较多的错误。

4.分类插值
依概率插值是将记录置于总体的背景上进行插值,没有充分利用记录的其他信息。

如果在记录的其他信息中有某些项目与缺失项目存在相关性,则可以根据这些辅助信息对总体进行分类,在每一类内部进行插值处理。

例如在上例中,“张三”的职业是“护士”,假定该单位中95%的“护士”性别为“女”,则在进行插值是,就不是使用全单位的女性比例75%,而是使用“护士”中的女性比例95%对“张三”的性别进行赋值。

对于缺失值处理的总结
2007-11-10 09:43
看了候杰泰的书,以及通过以前的了解,我觉得缺失值处理一般有两种方法:1删除法;2补充法
删除法一般采用的是listwise和pairwise,listwise是删除所有具有缺失值的被试的数据,这种方法在现在的研究中经常使用,但是缺点在于会减少样本的大小。

有些研究中被试数量比较少,如果采用这种方法会导致样本太少。

我觉得这个可以跟样本容量大小放到一起考虑,一般认为需要的被试应该在100-200之间,这样我觉得为了避免缺失值和异常值,可以将样本加大一点,尽管会增加成本,但是可以避免数据不够。

pairwise则是在计算相关系数时,去掉在这个位置上缺失数据的点,这样会造成的结果是得到的各种相关系数并不是基于相同的样本的,从而产生非正定的协方差矩阵。

非正定矩阵会造成一些问题,例如在座gauss 回归时,非正定的协方差矩阵是做不出结果的。

解决的方法可以不同过计算相关系数矩阵来得到协方差矩阵,不过这会使得结构方程变得没有意义。

补充法一般采用的是用其他的数据来代替缺失的数据,比较简单的是均值替代、回归替代。

均值替代的方法实际上等价于设定这个被试在缺失数据项的那个数据点的方差为0;回归替代是用其他的数据去做回归,然后去估测确实值,但是这样有一些问题,如果回归不能很好的表示缺失值数据,结果就会有很大的偏差,此外,这么做实际上是将缺失值的数据方差用其他几个数据的方差来表示,尽管比起直接设定为0要好,但是还是会产生很大的偏差。

最大似然法和相似反应模式法,也是用与其相似的点来估计他,这样做使得这个点的数据更
加的贴近常态,方差比较小。

EM算法和MCMC算法是采用的迭代的方法来计算的,这种方法是使得每一次迭代中,数据都可以更加的贴近整体情况,但是这么做如何能保证得到的迭代矩阵是收敛的呢?
总的来说,现在一般的处理缺失值的数据,更多的是采用的删除法,补充数据法一般都是降低了原始的方差,可能会得到不符合原始数据的结果,结果的真实性不好。

缺失值处理中的tips
SPSS中的缺失值处理有专门的程序,在Analysis菜单下的Missing Data Analysis。

可以提供缺失数据的详细信息和填补/删除缺失数据,填补的方法有EM和回归,删除的方法有列删和对删。

对于缺失情况的描述分析中有一个表“Data Pattern(all cases)”(要钩选Missing Value Analysis:Patterns中的All cases, optionally sorted by selected variable才能看到),其中列出了所有case在所有变量上的缺失情况。

如果不采用列删和对删的方式处理缺失值,而是想自己手动根据这个表中的case num来删,就要注意了:如果使用Select Case后,这个表中的case num不同于数据文件(*.sav)中的case num,表中的case num是连续排列的,并不根据数据文件中的case num来的。

如果要填补缺失值,钩选EM(建议使用)或者regression后,还要点出Missing Data Analysis: EM这个对话框,将填补缺失值后的数据保留为文件或数据集,否则只会在output 中出示缺失值分析的数据,而不会填补到原数据文件中。

另外处于安全的考虑也要保留到新文件中,否则一旦保存就是不可逆的。

在SPSS中将多分类变量设置为哑变量比较麻烦,其中的一种方法就是将该多分类变量转换成N-1列的哑变量,举例来说,原多分类变量有四个取值
(A/B/C/D),这时需要设置三列哑变量,比如D2,D3,D4
用如果变量值是B,则D2=1,否则取0,如果是C,则用D3=1,否则取0,如果是D,则D4=1,否则取0
D2 D3 D4
1 0 0——》B
0 1 0——》C
1 0 0——》B
0 0 1——》D
0 0 0——》A
注意,4分类只能设置3个哑变量,否则会出现虚拟变量陷阱问题,另外还需要考虑设置很多虚拟变量会造成自由度和共线性问题。

嗯,在分类变量中包括二分类的变量和多分类的变量,其中二分类的变量改成虚拟变量,只要将一类赋值为0,另一类赋值为1就可以了,0作为对照组;如果是多分类的变量,改成虚拟变量时,需要设立分类数减1的虚拟变量,比如年级有三个值:一年级、二年级、三年级,那就需要设两个虚拟变量:年级1、年级2,以一年级作为对照组,那年级1和年级2同时为0则表示一年级,年级1为1,年级2为0表示二年级,年级1为0,年级2为1表示三年级。

在输入数据时,数据中有两个变量:年级1和年级2,两个变量的取值都是0和1,在做回归分析时将这两个变量选入自变量中就可以了。

(这些在logistic回归中其实就一步完成了,但是在线性回归中就按照上面说的,比较麻烦。

)不知道我是否说明白了。

追问
谢谢!上面一段我明白,但是在SPSS的多元回归中怎么操作呢?比如把年级(G)转换成G1和G2,把城市(C)转换为C1、C2和C3,在加上连续数值变量M、N和二分类变量P、Q,这样的情况下是把这些自变量都一次性的选入自变量当中,按照enter的方法分析吗?我还是很困惑赋值以后接下来的操作。

回答
是的,一次性选入自变量中,但最好选择逐步法(stepwise),因为这么多变量之间可能存在较高的相关性。

相关文档
最新文档