从跨数据帧应用的多个GAM中提取模型可靠性(Extracting model reliability from multiple GAMs applied across a dataframe)

编程入门 行业动态 更新时间:2024-10-26 11:16:08
从跨数据帧应用的多个GAM中提取模型可靠性(Extracting model reliability from multiple GAMs applied across a dataframe)

我已经能够在数据帧中迭代地应用通用添加模型,所以sp_a是响应变量......

sp_a <- rnorm (100, mean = 3, sd = 0.9) var_env_1 <- rnorm (100, mean = 1, sd = 0.3) var_env_2 <- rnorm (100, mean = 5, sd = 1.6) var_env_3 <- rnorm (100, mean = 10, sd = 1.2) data <- data.frame (sp_a, var_env_1, var_env_2,var_env_3) library(mgcv) Gam <- lapply(data[,-1], function(x) summary(gam(data$sp_a ~ s(x))))

这会在响应变量和每个解释变量之间迭代地创建GAM。 但是,我将如何从每个模型中提取p值或s.pv。 有人知道怎么做这个吗? 另外,按照他们的AIC分数对它们进行排名会很棒......

Gam1 <- gam(sp_a ~ s(var_env_1)) Gam2 <- gam(sp_a ~ s(var_env_2)) Gam3 <- gam(sp_a ~ s(var_env_3)) AIC(Gam1,Gam2,Gam3)

但是从原来的'Gam'输出中选择它。 感谢您提前提供的任何帮助。

I have been able to apply a General Additive Model iteratively across a dataframe, so where sp_a is the response variable...

sp_a <- rnorm (100, mean = 3, sd = 0.9) var_env_1 <- rnorm (100, mean = 1, sd = 0.3) var_env_2 <- rnorm (100, mean = 5, sd = 1.6) var_env_3 <- rnorm (100, mean = 10, sd = 1.2) data <- data.frame (sp_a, var_env_1, var_env_2,var_env_3) library(mgcv) Gam <- lapply(data[,-1], function(x) summary(gam(data$sp_a ~ s(x))))

This creates a GAM between the response variable and each explanatory variable iteratively. However, how I would then extract p values or the s.pv from each model. Does anybody know how to do this? Also, it would be great to rank them by their AIC score like this...

Gam1 <- gam(sp_a ~ s(var_env_1)) Gam2 <- gam(sp_a ~ s(var_env_2)) Gam3 <- gam(sp_a ~ s(var_env_3)) AIC(Gam1,Gam2,Gam3)

But selecting this from the original 'Gam' output instead. Thank you for any help in advance.

最满意答案

最后,显然我必须删除摘要选项,然后允许我计算所有模型的AIC分数。 其他有趣的格式化方法可以在这里使用lapply在模型列表中找到,因为这些函数适用于不同类型的模型(例如lm,glm)。

Gam <- lapply(data[,-1], function(x) gam(data$sp_a ~ s(x))) sapply(X = Gam, FUN = AIC)

In the end, it was evident I had to remove the summary option, that then allowed me to calculate AIC score for all models. Other interesting ways of formatting can be found here Using lapply on a list of models, as these functions work for different kinds of models (e.g. lm, glm).

Gam <- lapply(data[,-1], function(x) gam(data$sp_a ~ s(x))) sapply(X = Gam, FUN = AIC)

更多推荐

本文发布于:2023-07-19 17:20:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1184008.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:多个   可靠性   模型   数据   GAM

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!