具有挑战性的数据集的模型是什么?(数百个时间序列有很多嵌套)

机器算法验证 时间序列 混合模式 重复测量 随机效应模型
2022-03-03 06:56:49

我有一个相当复杂的数据集要分析,我找不到一个好的解决方案。

事情是这样的:

1.原始数据本质上是昆虫歌曲录音。每首歌曲由几个突发组成,每个突发由子单元组成。所有人都被记录了 5 分钟。爆发的数量及其在记录中的位置可能因个体而异,以及每个爆发的子单元数量。

2.我有每个子单元的载波频率(基频),这就是我要分析的。

我的问题:

1.一个burst内的频率明显不是独立的(虽然很稳定,但是子单元n-1的频率会对子单元n产生影响)。

2.在一段录音中,突发也不是独立的。

3.随着频率随着时间的推移而下降,他们甚至更不独立(个人厌倦了唱歌,所以歌曲的频率越来越低)。下降似乎是线性的。

4.嵌套 = 我有两个位置 A 和 B 的 3 个重复种群。所以我有 A1、A2、A3 和 B1、B2、B3。

我想做的事:

1.表征我的两个位置之间的频率差异(统计测试)

2.表征两个位置之间的频率下降(看看其中一个位置是否下降得更快)

怎么做:

这就是我需要帮助的原因:我不知道。看来我的案例结合了通常不会一起看到的问题。我读过混合模型、GAM、ARIMA、随机和固定效果,但我不能确定最好的方法。当我绘制它时(频率〜子单元编号n),两个位置之间的差异非常明显。我还必须考虑其他变量,例如温度(使频率更高)等。

我想过:

  • 将个体嵌套在他们来自的副本中,并将副本嵌套在位置(个体/副本/位置)内。

  • 使用随机的“爆发”效果,因此我考虑了每次爆发内的可变性。

  • 使用固定的“录音中的突发位置”效果来测量频率下降(希望它实际上是线性的)。

会是正确的吗?

有没有一种特殊类型的模型可以用于这种场景?

1个回答

这只是一些您可能会觉得有用的一般性建议,更多的是路线图而不是食谱。

  • 我的直觉是建立一个贝叶斯层次模型,因为它适合迭代模型开发——我认为你不会找到一个现有的模型,它拥有你所追求的所有花里胡哨。但这使假设检验变得更加困难,我不知道假设检验对您来说有多必要。
  • 听起来你脑子里有一个关于昆虫行为的非正式模型。你说“累了”之类的话,你就知道温度会使频率更高,大概是因为动物有更多的能量。听起来你脑子里有一个关于昆虫如何制作歌曲的生成模型。
  • 这个问题听起来太复杂了,无法“一次性”建模。我认为你必须逐步建立一些东西。我将从一些“强大的简单假设”开始 - 即,丢弃数据集的大部分复杂性,并计划在您获得一个有效的简单模型后将其重新添加。

因此,首先,我会做一些事情,比如将子单元频率逐个突发预处理成一个(平均频率,频率趋势)对 - 用 OLS 做这个,并且只是对频率平均值和趋势进行建模爆发而不是子单元本身。或者,如果子单位的数量与昆虫的疲劳程度有关,您也可以这样做(平均值、趋势、子单位的数量)。然后建立一个贝叶斯层次模型,其中突发的均值和趋势的分布由记录的均值、趋势决定,而这又由位置的均值、趋势决定。

然后添加温度作为记录平均值/趋势的一个因素。

这个简单的模型应该允许您查看由温度和位置确定的记录中各个爆发的平均值和趋势。试着让它工作。

然后我会尝试通过将其添加为由位置和记录确定的变量来估计突发平均频率之间的差异(或趋势,通过划分突发之间的安静时间)。下一步是记录中突发平均值的 AR 模型。

鉴于一些先验和一些关于爆发性质的非常强的假设(所有信息均由平均值和趋势给出),这个基本模型将告诉你:

  • 不同位置和不同温度的突发平均频率如何?
  • 爆发内趋势如何按位置和温度按温度进行不同的位置
  • 外部爆发趋势如何按位置和温度按温度进行不同的位置

一旦你完成了这样的工作,那么可能是时候对子单元本身进行建模并丢弃原始的 OLS 估计了。我会在这一点上查看数据以了解可能适合哪种时间序列模型,并对时间序列模型的参数而不是(均值,趋势)对进行建模。