统计与R入门 IV 卡方检验、非参数统计和广义线性模型

  1. 包括内容:
  2. 卡方拟合度检验
  3. 卡方独立性检验
  4. 二元逻辑回归
  5. 非参数统计
  6. 广义线性模型

卡方拟合度检验(Chi-square goodness of fit tests)

卡方检验适用于结果变量为类别型变量的情况。 例如:结果变量为:有罪或无罪。

卡方拟合度检验用于判断不同类型结果的比例分布相对于一个期望分布的拟合程度。

例如,选举时,投票人对候选人是否有统计上显著的倾向性差异?(将观测到的选票分布情况与候选人平均分配所有选票进行对比)。

卡方的计算公式: χ2=Σ[(O-E)2/E]

其中:

  • O为观测值
  • E为期望值
  • df自由度为类别数量k-1

卡方检验实际上是一个零假说显著性检验,本例中的零假说为:投票者在投票时没有统计上显著的偏向性。

p值取决于卡方值和自由度两个因素 。

卡方分布如下图所示:

lecture_slides-Stats1.13.L19

效应值可以用Cramer's V或Phi,计算公式为: Φc=SQRT(χ2/N(k-1))

其中:

  • N是样本量
  • k是类别数

R示例:

数据是随机模拟出的,包含60个投票者对3个投票对象(A,B,C)的投票结果,并且包含了投票者的性别

因为是3个投票对象,每个投票对象获得选票的期望值为60/3=20

首先看一下数据的分布情况,再进行手动计算卡方:


unnamed-chunk-2

下面计算p值

R中可以利用chisq.test()来简化,但调用函数之前需要将对三个候选者的投票结果放在一个向量中,可以通过table()来实现:

从这里的p值可以看出,投票者的投票没有统计上显著的倾向性。

下面计算效应值:

对与这个效应值的解读,类似于回归分析中的相似性,0.2意味着效应并不强

卡方独立性检验(Chi-square test of independence)

检验的是,两个类别型变量之间是否有关系。

例如选举时,投票人的性别是否与他们对候选人的倾向性有关?

零假说为:投票人的性别与投票倾向无关

卡方的计算方法: χ2=Σ[(O-E)2/E]

其中:

  • O为观测值
  • E为期望值
  • df自由度为:(行数-1)×(列数-1),例如这里就为(性别数-1)*(候选人数-1)

期望值的计算方法为:E = (R/N)*C

以候选人A接受到的女性选的票期望为例,其中:

  • E为A接受到女性投票人的选票数量期望值
  • R女性投票人的总人数
  • N为总人数
  • C为投票给A的总人数

值仍旧取决于卡方值和自由度两个因素,。

R示例:

还是同样的数据,进行最原始的手动计算前先看一下数据的分布情况

unnamed-chunk-8
注意到女性选民和男性选民对候选者A的投票情况似乎有些差异,下面检验这个差异是否显著。

计算p值:

chisq.test()配合table()可使这一切更简单

p值表示性别与投票倾向没有统计上显著的关系。

计算效应值:

卡方独立性检验的有两个额外假设前提需要注意:

  • 每个类别组合都应该有适当量的数据
  • 类别与类别之间必须是独立的

二元逻辑回归(Binary Logistic regression)

适用于用一组连续型或类别型变量作为预测变量,预测二元结果变量。

二元逻辑回归与多元回归背后是相同的逻辑思维,只不过结果变量是类别型的变量,而且是二元的(例如:{+1,-1})。

逻辑回归的公式为:

ln(Yhat/(1-Yhat))=B0+Σ(BkXk)

  • 其中:
  • Yhat为结果变量的预测值
  • B0是截距
  • Yk是预测变量
  • Bk是非标准化的回归系数
  • (Y-Yhat)是残差
  • k是预测变量的数量

公式右边与多元回归完全一样,只有左边不一样。

下面介绍左边这项究竟是什么。

定义比值比(或称优势比,Odds ratio)为:P(outcome)/(1-P(outcome))。

例如:丢一个公正的铜板出现人头朝上的概率为0.5,相应的比值比为1。

丢一个公正的六面骰子,出现1朝上的概率为1/6,相应的比值比为1/5。

对比值比取自然对数便获得所谓的分对数(或称逻辑特,logit,log-odd):

Logit = ln(P(outcome)/(1-P(outcome)))

对上面的例子而言,丢铜板出现人头朝上的分对数为0,丢骰子出现1的分对数为-1.791659

分对数的值域为[-1,+1]

下图为逻辑斯曲线(logistic curve),横坐标对应于P(outcome)。

lecture_slides-Stats1.13.L20

二元逻辑回归中,可以以上述过程的逆过程,将预测的结果变量值转变回P(outcome)用于解读其物理意义。

例如用发表论文数(0,1,2...)预测是否能评上职称(0不能,1能),拟合二元逻辑回归模型后发现分对数值为0.39。

将其转换回比值比为1.48,解读为:每多发1篇论文,(评上职称的概率/没有评上的概率)这个比值比就增加1.48倍。

也可以进一步求出评上职称的概率大约为60%。

R示例

数据是Mock Jury研究数据,让实验者观看案件宣布审判的录影,结果变量是实际的审判结果,1代表赞成死刑,0代表不赞成死刑。

预测变量是对实验者的问卷结果,包括被审判人未来的危险程度等。

拟合一个二元逻辑回归模型,需要用到广义线性模型(generalized linear model,GLM*)

这里不多介绍模型的拟合过程,如果感兴趣可以见我机器学习笔记中逻辑回归相关内容。

http://www.ryanzhang.info/archives/994

同样的,对于二元逻辑回归,也可以进行各种显著性检验,包括:

  • 一个预测变量是否显著:例如:检验回归系数、比值比、Wald检验
  • 整个模型是否显著:例如:模型的卡方、wald检验
  • 比较两个模型之间的差异是否显著

上面的结果中每一个预测变量的回归系数都有对应的p值,其中有3个预测变量是显著的。

如果要检验整个模型是否显著可以与零模型(无预测变量)进行比较。


下面演示wald检验:

还可以检验整个模型预测结果的正确情况

数据变换(data transformationn)

在之前很多分析和检验中都有各种各样的前提假设,最常见的是:因变量或结果变量的正态分布。

然而现实中,很有可能遇到我们的数据不是正态分布的情况。

另一个常见的前提假设是:预测变量与结果变量之间呈现线性相关关系。

然而现实中,很有可能遇到变量间呈现非线性相关关系的情况。

为了处理这样的情况,可以对数据进行变换。

数据变换就是对所有的数据都使用一个函数,例如平方根函数(square root)、对数函数(logarithm)、逆转换(inverse)。

可以见我写的另一篇博文中的转变例子:http://www.ryanzhang.info/archives/1666

非参数统计(nonparametric statistics)

参数统计(parametric statistics)将样本的统计量用于推理总体的参数的统计方法

参数统计通常有各种各样的前提假设,如果这些前提假设中间有一项不满足的情况时,则样本的统计量将不能够用于对总体参数的推理。

非参数统计与参数统计不同,不假设数据和总体有任何结构特征。

对非参数统计不作过多介绍,感兴趣可以查阅相关资料。

这里只列举,非参数统计中对应于常见参数统计的分析方法:

  • 相关性分析:斯皮尔曼等级相关系数(Spearman’s rank correlation coefficient或Kendall's tau
  • 回归分析:非参数回归
  • 独立t检验:Mann-Whitney U test
  • 非独立t检验:Wilcoxan Signed-rank test
  • 方差分析:Kruskal-Wallis one-way、Friedman two-way
  • 卡方检验:McNemar's test、Fisher's exact test

广义线性模型(generalized linear model,GLM*)

广义线性模型是一般线性模型(general linear model)的一种扩展。

广义线性模型允许用于结果变量是非正态分布的情况,可以用于检验非线性关系的预测变量和结果变量之间的关系。

通常在无法通过简单的变换将数据转换为线性相关和正态分布时,可以采用广义线性模型。

广义线性模型是通过链接函数(link function)来使得其能推广至非线性相关和非正态分布的数据上的。

一个广义线性模型的例子便是上面提到的二元逻辑回归,其中逻辑特函数便是这样一个链接函数。

Leave a Reply

Your email address will not be published. Required fields are marked *