R语言优雅的进行广义可加模型泊松回归分析
创作时间:
作者:
@小白创作中心
R语言优雅的进行广义可加模型泊松回归分析
引用
CSDN
1.
https://blog.csdn.net/dege857/article/details/140666143
泊松回归是一种用于分析计数数据的回归方法,在许多领域都有广泛的应用。本文将介绍如何使用R语言中的tidygam包进行广义可加模型(GAM)的泊松回归分析。通过一个具体的婴儿手势数据集,详细展示了模型建立、预测值生成以及可视化图表的绘制过程。
数据准备
首先,我们需要导入所需的R包和数据。数据使用的是tidygam自带的gest
数据集,这是一个关于10、11和12个月婴儿手势数量的数据集。
library(tidygam)
library(mgcv)
library(dplyr)
library(ggplot2)
data("gest")
theme_set(theme_light())
这个数据表包含了来自孟加拉、中国和英国背景的60名婴儿所做的三种手势的计数。变量说明如下:
dyad
:ID标识background
:表明来自哪个国家months
:月份,只有10,11,12共3个月gesture
:手势的类型count
:手势的计数,这是结局变量
基本模型
我们先建立一个基本的GAM模型,分析月份与手势计数的关系。
gs <- gam(
count ~ s(months, k = 3),
data = gest,
family = poisson
)
生成预测值:
gs_pred <- predict_gam(gs)
绘制图形:
gs_pred %>%
plot(series = "months")
由于生成的Y轴是count的对数值,我们需要转换一下:
predict_gam(gs, tran_fun = exp) %>%
plot(series = "months")
按国家分类的模型
如果想了解不同国家的差异,可以在模型中加入background
变量:
gs_by <- gam(
count ~ s(months, by = background, k = 3),
data = gest,
family = poisson
)
绘制分类图形:
gs_by %>%
predict_gam(length_out = 20, series = "months", tran_fun = exp) %>%
plot(comparison = "background")
可以使用ggplot2的方法进一步美化图形:
gs_by %>%
predict_gam(length_out = 20, series = "months", tran_fun = exp) %>%
plot(comparison = "background") +
scale_color_brewer(type = "qual") + scale_fill_brewer(type = "qual")
包含两个非连续变量的模型
如果考虑两个非连续变量的影响,可以在模型中定义:
gs_by_2 <- gam(
count ~ s(months, by = background, k = 3) +
s(months, by = gesture, k = 3),
data = gest,
family = poisson
)
绘制图形:
gs_by_2 %>%
predict_gam(length_out = 20, series = "months", tran_fun = exp) %>%
plot(comparison = "gesture") +
scale_color_brewer(type = "qual") + scale_fill_brewer(type = "qual") +
facet_grid(~ background)
交互效应模型
如果想了解background
和gesture
的交互关系,需要先生成一个交互变量:
gest <- gest %>%
mutate(back_gest = interaction(background, gesture))
然后使用这个交互变量进行模型分类:
gs_i <- gam(
count ~ s(months, by = back_gest, k = 3),
data = gest,
family = poisson
)
summary(gs_i)
绘制交互效应图形:
predict_gam(
gs_i, tran_fun = exp,
separate = list(back_gest = c("background", "gesture"))
) %>%
plot(series = "months", comparison = "gesture") +
facet_grid(~ background)
这样一个亚组交互图形就生成好了。
热门推荐
示波器(逻辑分析仪中)的采样频率,存储深度,和带宽
示波器三大核心参数详解:采样率、存储深度与带宽
车前草:从生长环境到药用价值的全面解析
中国科幻IP出海 奈飞版《三体》开讲“中国故事”
练起来!「超慢跑+快步走」间歇训练更燃脂!2Way训练方式出炉!
博物馆研学,在行走的课堂中品读世界
郑州专项治理摩托车突出交通违法行为,“能否取消禁摩”再次引关注
孕期过敏,用对抗过敏药
产品经理如何展示作品集
谷医堂中医调理:牛奶性寒,体寒的人喝了会伤脾胃吗?
警惕“以贷养贷”陷阱 护航青年发展
中医:从舌头看健康,舌象分析,常见的6种舌苔问题!调理建议
高温超导:探索量子多体理论的新前沿
心脏血管检查全攻略:7种方法帮你判断血管是否堵塞
如何锻炼自己当众讲话的能力?(建议收藏)
如何面对父母不同意我去澳洲留学的困惑
清朝的巡抚本来没有兵权,为何后来权利会那么大?
仙侠剧热潮下:剖析《琉璃》《苍兰诀》《长月烬明》与《沉香如屑》
心肺复苏操作指南:关键时刻能救命的急救技能
心肺复苏的团队合作与协调
堪称封神的退场诗词
八字喜用神为木的字大全:五行平衡与命名艺术
AI技术助力投资组合优化:基于网络模型的极端风险控制策略
4个就业率较高的大学专业,即便读民办院校,毕业也能轻松找工作
AI解读世界:普通人如何利用人工智能赚钱
回眸2024特稿丨科创赋能万象新——南阳市实施创新驱动引领高质量发展
一箭5星异常?邻居日本的火箭“太空一号”:二次发射再次失败!
数说三农丨小龙虾掀起消费热潮
租房定金最多不超过多少
什么植物做绿肥最好?绿肥植物的种植与选择指南