r - 我应该使用什么 GLM 来尝试和控制努力?
问题描述
可能是一个非常简单的问题,但我正用这个把头撞到墙上。首先,我对 r 或基础知识之外的统计数据不是很熟悉。我为一个濒危物种的非政府组织工作,所以我们的资源很少。我试图确定人口的趋势,同时考虑非常不完整的数据。
我有大约 20 年的数据。每年,志愿者都会去栖息地清点早上离开栖息地的鸟类。关于计算哪些站点以及计算多少站点,每年都有很多变化。我还收集了我认为可能对任何时候计数的数字产生影响的其他指标,例如月相(距最近满月的天数/距最近满月的天数)、过去 1、3、6、12 和 24 个月的累积降水量. 连同年份和努力,这些构成了我的自变量。
我的理解是,我应该使用 GLM 来查看每个变量对因变量(总数)的影响程度,我的想法是我可以看到人口是否真的在增加,而不是总数的普遍增加简单地下降到多年来加大努力。
我玩过 r 并花了很多时间在谷歌上搜索,似乎 GLM 是正确的方法,但我很难找到最能描述这种关系的模型。然后我被介绍给负二项式(而不是准泊松)GLM,它产生了一个 AIK,可以告诉我最合适的情况。
然后我被介绍了 MumIn 疏浚函数,它基本上向我展示了 delta 小于 2 的最佳结果是最好的描述符。
我现在的问题是我陷入了一个我根本不了解的兔子洞,我什至不知道我是否正在查看正确的信息。所以从基础开始,负二项式在我的情况下使用正确的 GLM 吗?
> dput(head(totals))
structure(list(Year = c(2002L, 2003L, 2005L, 2006L, 2007L, 2008L
), Total = c(433L, 627L, 141L, 714L, 609L, 429L), Effort = c(10L,
13L, 14L, 25L, 27L, 21L), Rain.24 = c(957.45, 867.23, 1408.05,
1634.91, 1127.47, 859.42), Rain.12 = c(426.52, 440.71, 878.8,
756.11, 371.36, 488.06), Rain.6 = c(321.72, 272.84, 639.16, 542,
250.71, 395.59), Rain.3 = c(157.94, 65.25, 437.35, 351.1, 86.94,
129.66), Rain.1 = c(27.94, 8.74, 99.3, 70.79, 25.8, 21.05), Nearest.full.moon = c(2L,
7L, 4L, 14L, 6L, 4L)), row.names = c(NA, 6L), class = "data.frame")
我的因变量是“tot”,分布如下:
> tot
[1] 290 433 870 277 714 669 429 479 860 547 654 865 845 1085 883 583 1023 1097 1182
[20] 945
> skewness(tot)
[1] -0.1372469
> var(tot)
[1] 73319.84
> mean(tot)
[1] 736.5
这是我为分析的主要部分运行的代码:
options(na.action=na.omit)
model3 <- glm.nb( Total ~ . , data = totals)
summary(model3)
options(na.action=na.fail)
dredge(model3)
res <- dredge(model3, trace=2)
subset(res, delta <= 2, recalc.weights=FALSE)
options(na.action=na.omit)
summary(model.avg(res, revised.var=FALSE))
importance(res)
抱歉,如果这没有意义,我将尝试根据一些反馈相应地编辑问题。
解决方案
推荐阅读
- python-3.x - 从 Python 类动态确定 SQLite DATATYPE 以创建 COLUMN
- c# - 将事件的订阅者作为线程池中的任务运行
- git - git 功能、发布和修补程序有什么区别?
- android - 如何在firebase android中存储数据
- c# - UWP 复杂文本块前景
- hyperledger-fabric - 在 BYFN for Hyperledger - Fabric 中,如果我们只想通过重命名 org1 名称来运行 byfn,我们需要更新哪些文件来更新 Org 的名称
- angular6 - 如何使用角度 6 中的反应形式验证复选框
- apache-kafka - SpringBoot中的Kafka分区
- javascript - 测试字符串是否匹配正则表达式和包含斜杠的变量
- xml - 在嵌套上下文中使用 position() 的 XPath 不会产生所需的结果