• 主页
  • 课程

    关于课程

    • 课程归档
    • 成为一名讲师
    • 讲师信息
    同等学历教学

    同等学历教学

    免费
    阅读更多
  • 特色
    • 展示
    • 关于我们
    • 问答
  • 事件
  • 个性化
  • 博客
  • 联系
  • 站点资源
    有任何问题吗?
    (00) 123 456 789
    weinfoadmin@weinformatics.cn
    注册登录
    恒诺新知
    • 主页
    • 课程

      关于课程

      • 课程归档
      • 成为一名讲师
      • 讲师信息
      同等学历教学

      同等学历教学

      免费
      阅读更多
    • 特色
      • 展示
      • 关于我们
      • 问答
    • 事件
    • 个性化
    • 博客
    • 联系
    • 站点资源

      R语言

      • 首页
      • 博客
      • R语言
      • 模型|使用R语言的blorr包做逻辑回归

      模型|使用R语言的blorr包做逻辑回归

      • 发布者 weinfoadmin
      • 分类 R语言
      • 日期 2019年5月12日
      测试开头

      编者按:逻辑回归算法和模型是基本的重要的模型,它在信用评分,营销响应,广告点击等领域都发挥着重要作用和价值。我会时常问面试者您怎么理解逻辑回归算法?逻辑回归算法的优势和劣势分别是什么?希望您也好好思考下,有什么见解,请留言。我创建了R语言微信群,定位是R语言学习和实践。您若是想入群,请添加我的微信:luqin360,备注:R语言入群。

      我们很高兴向您介绍blorr包,这是一组用于在R中构建和验证二进制逻辑回归模型的工具,它是为初学/中级R用户设计的。

      • 全面回归输出

      • 变量选择过程

      • 双变量分析,模型拟合统计和模型验证工具

      • 各种图形和底层数据

      如果您知道如何使用glm()构建模型,您会发现blorr非常有用。大多数函数使用类glm的对象作为输入。因此,您只需要使用glm()构建一个模型,然后将其传递给blorr中的函数。一旦你掌握了足够的R知识,你就可以转向tidymodels等提供的更直观的方法,因为它们提供了更多的灵活性,而blorr没有。

      安装

      # Install release version from CRAN
      install.packages("blorr")

      # Install development version from GitHub
      # install.packages("devtools")
      devtools::install_github("rsquaredacademy/blorr")

      Shiny 程序

      blorr包括一个Shiny的应用程序,可以使用

      blr_launch_app()

      继续阅读,了解更多关于blorr的特点,或者查看blorr网站上有关使用该包的详细文档。

      数据

      为了展示blorr的特点,我们将使用银行营销数据集。这些数据与葡萄牙一家银行机构的直接营销活动有关。营销活动是以电话为基础的。通常,同一客户需要多个联系人,以便访问产品(银行定期存款)是否已(“是”)认购(“否”)。它包含原始数据集的随机样本(~4k),可以在

      https://archive.ics.uci.edu/ml/datasets/bank+marketing.

      双变量分析

      让我们从对每个可能的变量和结果变量进行仔细的双变量分析开始。我们将使用信息值和似然比卡方检验为我们的模型选择初始预测变量集。双变量分析目前仅适用于分类预测器。

      blr_bivariate_analysis(bank_marketing, y, job, marital, education, default, 
        housing, loan, contact, poutcome)
      模型|使用R语言的blorr包做逻辑回归

      WOE和信息值

      证据权重(WoE)用于评估特征的不同属性的相对风险,以及将特征转换为变量的手段。 它也是一个非常有用的分箱工具。 任何具有平均odds的组的WoE为零。 负WoE表示该属性的违约值比例高于总体比例,表示风险较高。

      信息值用于根据预测能力对变量的顺序进行排名。 高信息值表示高辨别能力。 在评估高度预测特征时,信息值的值将始终为正值,并且可能高于3。 信息值小于0.1的特征通常被视为弱,而追求超过0.30的值。

      blr_woe_iv(bank_marketing, job, y)
      模型|使用R语言的blorr包做逻辑回归

      可视化

      k <- blr_woe_iv(bank_marketing, job, y)
      plot(k)
      模型|使用R语言的blorr包做逻辑回归

      多个变量

      我们可以使用blr_woe_iv_stats()为多个变量生成WOE和信息值。

      blr_woe_iv_stats(bank_marketing, y, job, marital, education)

      逐步回归

      对于初始模型,所有的自变量都被放入模型中。我们的目标是包含有限数量的自变量(5-15个),这些自变量都是重要的,而不牺牲太多的模型性能。不包含太多变量的原因是模型会过度拟合,在验证样本上测试时将变得不稳定。变量约简使用正向或向后或逐步变量选择过程。我们将使用blr_step_aic_both()来筛选模型的预测器。

      模型

      model <- glm(y ~ ., data = bank_marketing, family = binomial(link = 'logit'))

      逐步选择摘要

      blr_step_aic_both(model)

      可视化

      model %>%
        blr_step_aic_both() %>%
        plot()
      模型|使用R语言的blorr包做逻辑回归

      回归结构

      模型

      我们可以使用双变量分析和逐步选择过程来筛选预测因子,并使用glm()建立模型。下面模型中使用的预测因子是为了说明,不一定是从二元分析和变量选择过程中筛选出来的。

      model <- glm(y ~  age + duration + previous + housing + default +
                   loan + poutcome + job + marital, data = bank_marketing, 
                   family = binomial(link = 'logit'))

      使用blr_regress()生成全面回归输出。它接受下列任何一种

      • 使用glm()建立的模型

      • 使用公式和数据建立的模型

      使用模型

      让我们看看由blr_regress()生成的输出:

      blr_regress(model)

      如果要检查odds比估计值,请将odd_conf_limit设置为TRUE。当我们观察到处理大型数据集时,计算时间显著增加,所以odds比估计值并没有被显式地计算出来。

      使用公式

      让我们使用模型公式和数据集来生成上述结果。

      blr_regress(y ~  age + duration + previous + housing + default +
                   loan + poutcome + job + marital, data = bank_marketing)

      模型拟合统计特性

      模型拟合统计数据可用来评估模型与数据的匹配程度,并比较两个不同的模型。输出包括似然比检验、AIC、BIC和一系列伪r平方测度。你可以阅读更多关于伪r平方的信息 https://stats.idre.ucla.edu/other/mult-pkg/faq/general/faq-what-are-pseudo-r-squareds/.

      单一模型

      blr_model_fit_stats(model)
      模型|使用R语言的blorr包做逻辑回归

      模型验证

      Hosmer Lemeshow测试

      Hosmer和Lemeshow针对具有二元响应的逻辑回归模型开发了拟合优度检验。 该测试涉及基于估计概率的百分位将数据划分为大约十组大致相等的大小。 观察结果按其估计的均匀结果概率的递增顺序排序。 通过Pearson卡方统计量来概括这些组中观察到的和预期观察数之间的差异,然后将其与具有t自由度的卡方分布进行比较,其中t是组的数量减去2.较低的拟合优度值是首选。

      blr_test_hosmer_lemeshow(model)
      模型|使用R语言的blorr包做逻辑回归

      增益表和提升图

      提升曲线是在特定截止点捕获的累积事件百分比的图形表示。截止值可以是一个特定的十分位数或百分位数。与排序过程类似,数据按分数的降序排列,然后分组为十分位数/百分位数。然后计算每个十分位/百分位的累积观察数和事件数。lift曲线是使用累积样本百分比作为x轴,事件累积百分比作为y轴创建的。

      blr_gains_table(model)
      模型|使用R语言的blorr包做逻辑回归

      提升图

      model %>%
          blr_gains_table() %>%
          plot()
      模型|使用R语言的blorr包做逻辑回归

      ROC曲线

      ROC曲线是逻辑回归模型截断有效性的图形表示。ROC曲线是利用所有可能的截止点的敏感性和特异性绘制的,即所有概率得分。图是用y轴上的敏感性和x轴上的1-特异性绘制的。ROC曲线上的任意一点代表一个对应于截止点的灵敏度X(1-特异度)测度。ROC曲线下的面积作为模型的验证尺度——面积越大,模型越好。

      model %>%
          blr_gains_table() %>%
        blr_roc_curve()
      模型|使用R语言的blorr包做逻辑回归

      KS图

      KS统计量同样是模型有效性的度量,它是使用升力曲线创建的。创建提升曲线是绘制了发生事件的%。如果我们也在相同的尺度上绘制没有发生时间的% ,在x轴上绘制样本的%,我们将得到另一条曲线。发生事件和没有发生事件的提升曲线之间的最大距离称为KS。对于一个好的模型,KS应该很大(>=0.3),并且应该尽可能地接近事件发生率。

      模型|使用R语言的blorr包做逻辑回归

      10等分提升图

      十等分提升图显示每个十分位数的全局平均事件率的提升。 对于具有良好辨别力的模型,最高十分位数应具有大于全局平均值的事件率。

      model %>%
        blr_gains_table() %>%
        blr_decile_lift_chart()
      模型|使用R语言的blorr包做逻辑回归

      十分位捕获率

      如果模型具有良好的区分能力,那么与底层十分位数相比,顶层十分位数应该具有更高的事件率。

      model %>%
        blr_gains_table() %>%
        blr_decile_capture_rate()
      模型|使用R语言的blorr包做逻辑回归

      洛伦茨曲线

      洛伦茨曲线是一种简单的图形装置,它说明了有关变量在分布上的不平等程度。它是一种不平等的可视化表示,用于衡量预测模型的区分能力。

      blr_lorenz_curve(model)
      模型|使用R语言的blorr包做逻辑回归

      残留与影响诊断

      blorr可以生成22个图,用于residual, influence 和 leverage诊断。

      influence诊断

      blr_plot_diag_influence(model)
      模型|使用R语言的blorr包做逻辑回归


      模型|使用R语言的blorr包做逻辑回归

      Leverage诊断

      blr_plot_diag_leverage(model)
      模型|使用R语言的blorr包做逻辑回归

      Fitted Values 诊断

      blr_plot_diag_fit(model)
      模型|使用R语言的blorr包做逻辑回归

      更多学习

      blorr网站包含了关于使用该包的全面文档,包括下面的文章,其中涵盖了使用blorr的各个方面。

      原文链接:
      https://blog.rsquaredacademy.com/introducing-blorr/

      你若是觉得有用,清点赞并分享给其它朋友。更多数据知识,请点击阅读原文。您有任何问题,请留言。

      公众号推荐

      数据人才(ID:datarencai)

      (一个帮助数据人才找工作的公众号,

      也分享数据人才学习和生活的有趣事情。)

      模型|使用R语言的blorr包做逻辑回归

      欢迎关注和随喜分享。


      测试结尾

      请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!

      • 分享:
      作者头像
      weinfoadmin

      上一篇文章

      生信星球一周年~豆豆感想
      2019年5月12日

      下一篇文章

      GTF与GFF的小趣事
      2019年5月14日

      你可能也喜欢

      3-1665801675
      R语言学习:重读《R数据科学(中文版)》书籍
      28 9月, 2022
      6-1652833487
      经典铁死亡,再出新思路
      16 5月, 2022
      1-1651501980
      R语言学习:阅读《R For Everyone 》(第二版)
      1 5月, 2022

      搜索

      分类

      • R语言
      • TCGA数据挖掘
      • 单细胞RNA-seq测序
      • 在线会议直播预告与回放
      • 数据分析那些事儿分类
      • 未分类
      • 生信星球
      • 老俊俊的生信笔记

      投稿培训

      免费

      alphafold2培训

      免费

      群晖配置培训

      免费

      最新博文

      Nature | 单细胞技术揭示衰老细胞与肌肉再生
      301月2023
      lncRNA和miRNA生信分析系列讲座免费视频课和课件资源包,干货满满
      301月2023
      如何快速批量修改 Git 提交记录中的用户信息
      261月2023
      logo-eduma-the-best-lms-wordpress-theme

      (00) 123 456 789

      weinfoadmin@weinformatics.cn

      恒诺新知

      • 关于我们
      • 博客
      • 联系
      • 成为一名讲师

      链接

      • 课程
      • 事件
      • 展示
      • 问答

      支持

      • 文档
      • 论坛
      • 语言包
      • 发行状态

      推荐

      • iHub汉语代码托管
      • iLAB耗材管理
      • WooCommerce
      • 丁香园论坛

      weinformatics 即 恒诺新知。ICP备案号:粤ICP备19129767号

      • 关于我们
      • 博客
      • 联系
      • 成为一名讲师

      要成为一名讲师吗?

      加入数以千计的演讲者获得100%课时费!

      现在开始

      用你的站点账户登录

      忘记密码?

      还不是会员? 现在注册

      注册新帐户

      已经拥有注册账户? 现在登录

      close
      会员购买 你还没有登录,请先登录
      • ¥99 VIP-1个月
      • ¥199 VIP-半年
      • ¥299 VIP-1年
      在线支付 激活码

      立即支付
      支付宝
      微信支付
      请使用 支付宝 或 微信 扫码支付
      登录
      注册|忘记密码?