热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

深入解析二元Probit模型及其应用

本文详细探讨了二元Probit模型及其在实际应用中的重要性。作为一种广义线性模型,Probit模型主要用于处理二分类问题,与Logistic模型类似,但其假设误差项服从标准正态分布。尽管Probit模型在某些领域应用较少,但在特定情境下仍具有独特优势。文章不仅介绍了模型的基本原理,还通过实例分析展示了其在经济学、社会学等领域的具体应用。


本文介绍一种广义线性模型Logistic模型。 该模型主要对分类结果进行建模。 与此相似的另一个模型是Probit模型,但很少使用。


Logistic模型形式的两点分布又称伯努利分布,其概率函数如下:


用指数格式写:


整理后,


同样,比较指数族分布的通式:


得到。


基于广义线性模型与解释变量呈线性关系的假设,Logistic回归的模型形式如下:


因此,

是二项分布族模型的默认连接函数。

Probit模型

Logistic模型的形式经过变形后,可得,

上式右边恰好与标准增长分布(又称Logistic分布)的概率分布函数 形似。

Probit模型则假设,右边与标准正态分布的概率分布函数形似:

示例

在glm函数中,两种模型的family参数分别设置为binomial(link = "logit")和binomial(link = "probit"),其中前者可简写为binomial()。

示例数据是iris,该数据集的Species包含三个水平,在glm函数中使用subset参数去掉一个水平即可将其作为二分变量。

Logistic模型

model.1 <- glm(Species ~ Sepal.Length + Sepal.Width +                  Petal.Length + Petal.Width,               family = binomial(),               data = iris, subset = Species != "setosa")coef(summary(model.1))##                Estimate Std. Error   z value   Pr(>|z|)## (Intercept)  -42.637804  25.707477 -1.658576 0.09720127## Sepal.Length  -2.465220   2.394297 -1.029622 0.30318758## Sepal.Width   -6.680887   4.479547 -1.491420 0.13585116## Petal.Length   9.429385   4.737172  1.990509 0.04653485## Petal.Width   18.286137   9.742561  1.876933 0.06052723

Probit模型

model.2 <- glm(Species ~ Sepal.Length + Sepal.Width +                  Petal.Length + Petal.Width,               family = binomial(link = "probit"),               data = iris, subset = Species != "setosa")coef(summary(model.2))##                Estimate Std. Error   z value   Pr(>|z|)## (Intercept)  -23.984504  13.843085 -1.732598 0.08316710## Sepal.Length  -1.440487   1.271920 -1.132530 0.25741174## Sepal.Width   -3.778139   2.555536 -1.478413 0.13929722## Petal.Length   5.316433   2.435396  2.182985 0.02903692## Petal.Width   10.485569   5.614329  1.867644 0.06181168 优势比(OR)

对于Logistic模型,有

则系数 的含义表示自变量 每增加一个单位, 增加为原来的 倍。

是事件发生与不发生的概率之比,称为优势比(Odds Ratio,OR),故Logistic模型的结果主要关注OR:

OR > 1,表示自变量与因变量存在正相关关系;

OR <1,表示自变量与因变量存在负相关关系。

可以看出,Logistic模型的系数有很直观的含义;而Probit模型的系数的含义则模糊不清。大概正因为如此,前者应用远远比后者广泛。

准二项分布族

两点分布和泊松分布一样,其概率表达式只有一个参数,使得其均值和方差受到同一个参数控制,即数据序列的均值和离散程度之间存在定量关系。然而给定的数据序列未必满足这一要求,飞艇如何买前5后5= "probit"),               data = iris, subset = Species != "setosa")coef(summary(model.2))##                Estimate Std. Error   z value   Pr(>|z|)## (Intercept)  -23.984504  13.843085 -1.732598 0.08316710## Sepal.Length  -1.440487   1.271920 -1.132530 0.25741174## Sepal.Width   -3.778139   2.555536 -1.478413 0.13929722## Petal.Length   5.316433   2.435396  2.182985 0.02903692## Petal.Width   10.485569   5.614329  1.867644 0.06181168 优势比(OR)

对于Logistic模型,有

则系数 的含义表示自变量 每增加一个单位, 增加为原来的 倍。

是事件发生与不发生的概率之比,称为优势比(Odds Ratio,OR),故Logistic模型的结果主要关注OR:

OR > 1,表示自变量与因变量存在正相关关系;

OR <1,表示自变量与因变量存在负相关关系。

可以看出,Logistic模型的系数有很直观的含义;而Probit模型的系数的含义则模糊不清。大概正因为如此,前者应用远远比后者广泛。

准二项分布族

两点分布和泊松分布一样,其概率表达式只有一个参数,使得其均值和方差受到同一个参数控制,即数据序列的均值和离散程度之间存在定量关系。然而给定的数据序列未必满足这一要求,这时就可以使用准二项分布族quasibinomial(link = "logit")。

下面代码的结果如果偏离1太远,则说明数据实际的离散程度与理论上的离散程度存在差距:

deviance(model.1)/df.residual(model.1)## [1] 0.1252479

使用准二项分布族进行Logistic回归:

model.3 <- glm(Species ~ Sepal.Length + Sepal.Width +                  Petal.Length + Petal.Width,               family = quasibinomial(),               data = iris, subset = Species != "setosa")coef(summary(model.3))##                Estimate Std. Error   t value     Pr(>|t|)## (Intercept)  -42.637804  9.5776372 -4.451808 2.319321e-05## Sepal.Length  -2.465220  0.8920248 -2.763623 6.865568e-03## Sepal.Width   -6.680887  1.6689102 -4.003143 1.239335e-04## Petal.Length   9.429385  1.7648917  5.342756 6.257963e-07## Petal.Width   18.286137  3.6297110  5.037904 2.238771e-06
推荐阅读
author-avatar
漂亮女人群
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有