seo做的比较好的网站,怎么进wordpress后台,网页设计欣赏作品,网站建设公司的重要性泊松回归#xff08;Poisson regression#xff09;是以结局变量为计数结果时的一种回归分析。泊松回归在我们的生活中应用非常广泛#xff0c;例如#xff1a;1分钟内过马路人数#xff0c;1天内火车站的旅客流动数#xff0c;1天内的银行取钱人数#xff0c;一周内的销…泊松回归Poisson regression是以结局变量为计数结果时的一种回归分析。泊松回归在我们的生活中应用非常广泛例如1分钟内过马路人数1天内火车站的旅客流动数1天内的银行取钱人数一周内的销售经营数据等等都可以使用泊松回归进行分析。 既往已经有文章《R语言进行泊松回归》初步的介绍了泊松回归本期介绍下如何使用tidygam包来优雅的进行泊松回归tidygam包主要是通过mgcv包来进行分析通过对tidygam包对mgcv包的数据转换后上手难度大大降低可以轻松优雅的进行泊松回归分析。 咱们先导入R包和数据数据使用的是tidygam自带的gest数据
library(tidygam)
library(mgcv)
library(dplyr)
library(ggplot2)
data(gest)
theme_set(theme_light())这个数据是一个10、11和12个月婴儿的手势数量的数据这个数据表包含了来自孟加拉、中国和英国背景的60名婴儿所做的三种手势的计数。我解释一下变量名dyad是ID标识的意思background表明来自哪个国家months月份只有101112共3个月gesture手势的类型count手势的计数这个是 结局变量 先生成gam模型
gs - gam(count ~ s(months, k 3),data gest,family poisson
)这个模型gam是mgcv包生成的解析模型表明月数和手势计数是相关的 生成预测值
gs_pred - predict_gam(gs)绘图一定要用series标明绘制哪个变量
gs_pred %%plot(series months)R包介绍这个时候生成的Y周是count的对数值因此我们还需要转换一下
predict_gam(gs, tran_fun exp) %%plot(series months)如果咱们想了解不同国家的分类可以再gam函数中设定
gs_by - gam(count ~ s(months, by background, k 3),data gest,family poisson
)解析模型表明不同的国家婴儿手势计数都是和月份相关
summary(gs_by)接下来咱们可以绘制分类图形需要再comparison处指明根据哪个变量分类
gs_by %%predict_gam(length_out 20, series months, tran_fun exp) %%plot(comparison background)R包指出虽然使用plot函数绘图但是它的本质上是一个ggplot2绘制的图片所以咱们可以使用ggplot的方法修改它
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)咱们如果考虑有2个非连续的变量可以再模型里面定义
gs_by_2 - gam(count ~ s(months, by background, k 3) s(months, by gesture, k 3),data gest,family poisson
)解析模型这里虽然有变量交叉但是这种做法并不是交互效应应该理解为亚组更加准确
summary(gs_by_2)绘图
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)这样一个亚组交互图形就生成好啦。