档案

Archive for 2011年8月

如何从社会化媒体中抽取随机样本? How to draw random sampling from social media sites?

2011/08/21 留下评论

How to draw random samples from blogs, social networks, microbloggings and other social media sites? In an article just published in Social Science Computer Review, we presented a method,  called "Random Digit Search" (RDS), to sample users on a probability basis from one of the largest blog sites in China. The method, which is adapted from "Random Digit Dialing" (RDD) in telephone survey sampling, is generally applicable to other social media sites that assign all users with a numeric ID number. 

Zhu, J. J. H. et al. (2011). A Random Digit Search (RDS) Method for Sampling of Blogs and Other User-Generated Content. Social Science Computer Review, 29 (3), 327-339.

如何区别fixed factors(固定变量)、random factors(随机变量)和covariates(协变量)?

2011/08/05 留下评论

Keykure @ 2011-08-02:

我有一个非常简单的问题就是,在SPSS里输入自变量的时候怎么来区分fixed factors, random factors 和covariates,我经常搞混淆这三者。比如我的问题中X是连续变量,是不是就不能放到fixed factors中去,只能放到covariates中?

庄主 @ 2011-08-06:

你的问题涉及两对概念之区别:一是factors(因子)与covariates(协变量);二是fixed与random。前者易懂、后者较难,经常有人问我。

其实并不简单,涉及到两方面的基本知识:一是心理学实验的术语体系(你好像就是读心理学的?);二是数据的unit of analysis(分析单元)和格式问题。因此,经常有人感到困惑。

一、因子与协变量之区别:

首先,两者都是自变量。区别在于测量水平:前者是名目或定类变量(只含两至数个类别,每个类别中至少要有30个案例),后者是连续或定距变量(可以含成千上百个类别,每个类别中只含一至数个案例)。当你通过这种区别、将每个自变量的测量水平告知SPSS或其它统计软件之后,软件就知道如何计算了。作为普通用户,知道这些就够了。

那么,为何SPSS不直接了当地将有关输入区标为“名目自变量”和“连续自变量”?这应该是历史遗留问题。“因子”和“协变量”是实验研究的基本概念,而实验数据传统上用ANOVA(方差分析,只含名目变量的因子)或ANCOVA(协方差,同时含名目因子和连续变量的协变量)来分析。GLM(general linear model)是ANCOVA的扩展,其中的术语也沿用了实验研究体系。这对于习惯“自变量”、“因变量”、“控制变量”等术语的回归分析用户来说,是个挑战。SPSS中很多统计子程序都有这种历史阴影。

提醒大家一下:上述是在测量层面(operationalization)上讨论“因子”和“协变量”之间的区别,它们在理论(conceptualization)上的含义很不同,不要混淆:因子可以是自变量(如外生因子)、也可以说因变量(如内生因子),两者即可以是名目变量、也可以是连续变量;协变量则被用来指“控制变量”(也是对因变量有影响的自变量、但不是理论上所关心的,所以引入以过滤其影响),可以是连续变量(如年龄)、也可以是名目变量(如性别)。

二、固定变量与随机变量之区别:

如上所述,这里的“变量”可以是因子、也可以是协变量。一个变量到底是固定还是随机的?大部分统计教科书并不详细解释,即使有讨论也较费解。以下让我用“非正式”的语言(即只讲结论不讲理由)说一下其中的关键问题。

在GLM范畴内,所谓“固定”和“随机”变量,表面上是指自变量,其实是涉及数据结构。什么意思?一、你的因变量有几个?二、你的自变量之间是“同级并列”(如个人特征)还是“上下主从”(如个人特征在下、机构或社区特征在上)?这两个维度相交,形成了下表中的四种情况。

 

自变量之间关系

因变量个数

同级并列

上下主从

  单个

I. 固定

II. 随机

  多个

III. 随机

IV. 随机

I. 单个因变量和并列自变量:这是最常见(但也是最有局限)的数据,自变量必定是固定的。

II. 单个因变量和主从自变量:由于自变量之间有从属关系,所以形成了multilevel(多层)结构。为了与III和IV相区别,我将这种多层结构叫做“variances between-subjects”(BS差异或人际差异)。下层的自变量为随机而上层的自变量为固定。如果有3+层的话,最高一层为固定、以下各层均为随机。

III. 多个因变量和并列自变量:这时,虽然自变量之间是并列的,但因变量之间存在着明显(如同一概念时间先后的测量)或隐含(同一大概念下面的众多子概念)的关系,所以形成了与BS差异不同的另一种多层结构,我称之为variances within-subjects(WS差异或自身差异)。这种结构中,多个因变量的序号构成了下层自变量的值;而其上层自变量并不存在,需要在GLM或类似程序中构建相应的虚拟变量(我知道,这句话对没有实际操作经验者来说是很难懂的,如不理解就暂且跳过吧)。但是,WS差异结构与BS差异结构相同的是,最高层的自变量总是固定的,而以下各层的自变量均是随机的。

IV. 多个因变量和主从自变量:这种结构同时兼有BS差异和WS差异(即BS-WS差异),其最上层的BS自变量和WS自变量都是固定的而以下各层各种变量都是随机的。这当然是最丰富、也是最难得的数据,如固定样本数据的SEM模型。

希望上述分类有助于大家理解或判断固定和随机变量的表面区别。需要注意的是,随机变量可以当作固定变量处理(当然有犯Type-I错误,即可能过高估计自变量的影响。实际研究上,很多II类数据被当作I类处理)。但是反之不亦然,固定变量不可能成为随机变量。

如何控制或考虑“控制变量”的影响?(续篇)

2011/08/03 3 条评论

keykure @ 2011-08-01:

非常感谢庄主的解答,我想我的问题应该是属于第三种情况,至少要先考虑交互影响。我还有一个非常简单的问题就是,在spss里输入自变量的时候怎么来区分fixed factors, random factors 和covariates,我经常搞混淆这三者。比如我的问题中X是连续变量,是不是就不能放到fixed factors中去,只能放到covariates中?

另外,因为涉及到的数据变量比较多,所以我主要用Matlab来做统计分析,我建立了如下模型(其中X为IQ),不知道和您解释的模型是否一致?

1) to detect main effect of Age, using sex and IQ as covariates:
Yi= mean(Y)+ a1i*Age + a2i*Sex + a3i*IQ + ei;

2) to detect main effect of Sex, using IQ and Age as covariates, as well including interactions (Age*Sex, Sex*IQ):
Yi= mean(Y)+ a1i*Age + a2i*Sex + a3i*IQ + a4i*(Age*Sex) + a5i*(Sex*IQ) + ei;

3) to detect main effect of IQ, using Age and Sex as covariates, as well including interactions (Age*IQ, Sex*IQ):
Yi= mean(Y)+ a1i*Age + a2i*Sex + a3i*IQ + a4i*(Age*IQ) + a5i*(Sex*IQ) + ei.

特别是第三个模型,就是我在帖子里咨询的问题,这样的模型再做线性回归,然后考察IQ的系数a3i以及其它交互影响的系数a4i,a5i的统计意义,是否就能达到我希望分析的目的(IQ对Y的影响)?

庄主 @ 2011-08-03:

你有关如何区别fixed factors, random factors, covariates的问题,我过几天另外写个帖子回答。

你模型1是一个三项main effects模型 (”主影响“或我原文中说的”直接影响“模型),同时检验了三个自变量 (Age、IQ和Sex)的直接影响。

模型2是一个三项主影响加两项second-order interactions(二阶交互影响)的模型,这个模型其实是多余的(理由见下)。

模型3也是一个主影响加两项二阶交互影响模型,与模型2的区别在于其中一项交互影响涉及到不同变量。这个模型不是检验IQ的主影响(这在模型1中已检验)、而是检验IQ与其它两个自变量的交互影响。接下来是一个极其重要的技术细节:如何判断交互影响的显著性?这也就是你下面的问题。请往下看。

Keykure @ 2011-08-02:

庄主您好,关于上面的三个模型,再补充问一个问题,关于模型1的:模型1中没有包含任何交互影响,得到的结果是Age对Y有显著影响;但是如果在模型1中加入Age*IQ的交互影响,Age的影响就变得没有显著意义了;因此模型1(主要看Age对Y的影响)需不需要加入交互影响呢?如果加入的话,显著性消失,是否就能说明Age对Y无显著影响呢?

庄主 @ 2011-08-03:

Age对Y是否有显著的主影响?这个问题与如何检验交互影响直接有关。具体来说,有以下几个相关的问题需要考虑:

一、交互项Age*IQ与Age高度共线性,所以当Age和Age*IQ同时出现在模型3中时,低阶的Age会被人为的提高其p值(即变得不容易显著)而高阶的Age*IQ则会人为的降低其p值(即变得更容易显著)。结论:不要轻易相信模型3的各回归系数的显著性。

二、克服上述偏差的方法之一是先分别对Age和IQ进行centering(中心化转换),然后将两个中心化自变量以及它们的乘积输入模型3。我先后写过两、三个有关帖子,请参考具体操作。

三、中心化转换的前提是有关自变量的原始数值服从正态分布(至少要对称分布),否则,中心化值与其交互项之间还是有共线性,无法解决问题一。这时,可改用比较模型1与模型3的拟合度(即两个R平方)之间的差别。也请参考我的有关前贴。

四、有一种很流行的说法,即如果两个自变量之间有显著的交互影响,那么就不需要考虑自变量的主影响了。这种说法在ANOVA框架下有其道理,因为这时涉及到的是实验数据,自变量之间以及与其交互项是独立的;但在回归分析框架下是不对的,因为即自变量之间以及与其交互项之间往往存在共线性。我应该也写过一个有关帖子的。

五、重复一下:先对所有自变量做中心化转换,然后用模型1检验所有主影响,再与模型3比较来检验交互影响。

如何控制或考虑“控制变量”的影响?

2011/08/01 4 条评论

Keykure @ 2011-07-31:

庄主,您好,我最近碰到一个问题,跟下面这个帖子的问题很像,但是没有这么复杂。http://zjz06.blogspot.com/2010/03/blog-post.html (庄主注:或zjz06.wordpress.com上相同标题)
我的问题描述如下:考察自变量X,因变量Y之间的相关关系,但是这两者XY都受到两个因素Age和Sex的影响,因此给怎么建立模型来控制Age和Sex的影响?具体我该采用什么方法(比如GLM)来进行统计分析呢?

庄主 @ 2011-08-01:

你的问题中Age和Sex对X和Y的“影响”,包括了三种形式:一、直接影响;二、通过X的间接影响;三、对X->Y影响的调节影响(即与X的交互影响)。由于你没有说清是那种形式,所以我分别介绍一下,但不一定是你想问的。

一、直接影响:

这种影响最简单,说明Age和Sex分别与X相关,即有竞争关系。如果要控制它们对X->Y关系的影响,只需将Age和Sex直接加入X->Y的分析模型中即可,如:

Y = b0 + b1X + b2Age + b3Sex                        (1)

二、间接影响:

这种影响是与直接影响相比较而言的,即除了模型1之外,再估计以下模型:

X = c0 + c1Age + c2Sex                                   (2)

然后比较Age的直接影响(b2)与间接影响(c1b1),如果前者小于后者,说明有必要考虑Age的间接影响;同理,比较Sex的直接影响(b3)与间接影响(c2b1),如果前者小于后者,说明有必要考虑Sex的间接影响。

注意,我这里用的是“考虑”而非你用的“控制”,两者的区别在于:“控制”用于去除由于自变量之间的相关关系而造成的各自对因变量的直接影响的错误估计;而“考虑”间接影响并不会改变所有自变量的直接影响,当然会改变总影响(=直接影响+间接影响)。

三、交互影响:

这种影响与上述的直接或间接影响均为关系,即不管Age或Sex对Y是否有直接或间接的影响,它们都可能与X存在着对Y的交互影响。检验的方法是在模型1中加入两项交互项:

Y = b0 + b1X + b2Age + b3Sex +b4XAge + b5XSex   (3)

其中b1, b2, b3是三个自变量的直接影响,而b4和b5则是Age和Sex分别与X的交互关系。详细解释可参见我的几个前贴。

最后简单回答如何在SPSS GLM中用Syntax实现上述三个模型(如果用菜单选项,三者的差别仅在自变量的box中输入不同而已):

直接影响:Y WITH X, AGE, SEX.

间接影响: X WITH AGE, SEX

交互影响: Y WITH X, AGE, SEX, X*AGE, X*SEX