BEAST: 一种用于变点检测和时间序列分解的贝叶斯集成算法
BEAST (贝叶斯突变、季节性和趋势估计器)是一种快速、通用的贝叶斯模型平均算法,用于将时间序列或一维序列数据分解为单独的组件,如突变、趋势和周期/季节性变化,如[Zhao等人(2019)所述。BEAST对于变点检测(如断点、结构性中断、连接点、制度转变或异常)、趋势分析、时间序列分解(如趋势vs.季节性)、时间序列分段和中断时间序列分析非常有用。请参阅使用BEAST的精选研究列表。
快速安装
BEAST用C/C++实现,但可从R、Python、Matlab和Octave访问。按如下方式安装:
- Python:
pip install Rbeast
- Matlab:
eval(webread('http://b.link/rbeast',weboptions('cert','')))
- Octave:
eval(webread('http://b.link/rbeast'))
- R语言:
install.packages("Rbeast")
快速使用
Python、Matlab和R的单行代码:
# Python示例
import Rbeast as rb; (Nile, Year)=rb.load_example('nile'); o=rb.beast(Nile,season='none'); rb.plot(o)
# Matlab/Octave示例
load('Nile'); o = beast(Nile, 'season','none'); plotbeast(o)
# R示例
library(Rbeast); data(Nile); o = beast(Nile); plot(o)
R语言安装
R包**Rbeast
**已存放在CRAN。(在CRAN上还有另一个名为"beast"的贝叶斯时间序列包,与BEAST算法无关。我们的包是Rbeast
。另外,Rbeast
与著名的"通过采样树进行贝叶斯进化分析"算法无关。)在R中使用以下命令安装Rbeast
:
install.packages("Rbeast")
在R中运行和测试Rbeast
Rbeast中的主要函数是beast(Y, ...)
、beast.irreg(Y, ...)
和beast123(Y, metadata, prior, mcmc, extra)
。下面的代码片段提供了基本用法的起点。
library(Rbeast)
data(Nile) # 尼罗河年流量
out = beast(Nile, season='none') # 'none': 仅趋势数据,无季节性
print(out)
plot(out)
?Rbeast # 查看更多关于`beast`用法的详细信息
tetris() # 如果你敢浪费生命中的几分钟
minesweeper() # 如果你敢再多浪费几分钟
Matlab安装
通过运行以下命令,将 Matlab 版本的 BEAST 自动安装到您选择的本地文件夹:
beastPath = 'C:\beast\'
eval( webread('http://b.link/rbeast') )
%%%%%%%%%%%%%%%%%%%%%%%%%%% 自动安装注意事项 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 1. 您选择的路径需要写入权限;变量名必须为'beastPath'。 %
% 2. 如果 webread 出现证书错误,请运行以下命令替代: %
eval( webread( 'http://b.link/rbeast', weboptions('cert','') ) ) %
% 3. 如果自动安装失败,请手动下载所有文件(见下文) %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
上述命令将把 Github 上 Rbeast\Matlab 文件夹中的所有文件下载到选定的文件夹:如果缺少
beastPath
,将使用默认的临时文件夹(例如 Windows 10 中的C:\Users\$user_name$\AppData\Local\Temp\Rbeast
)。如果自动脚本失败,请从 Github 手动下载 Matlab 文件。这些文件包括从 C 源代码编译的 Matlab mex 库(例如 Windows 的Rbeast.mexw64
、Linux 的Rbeast.mexa64
、MacOS 的Rbeast.mexmaci64
)以及一些类似 R 接口的 Matlab 包装函数(例如beast.m
和beast123.m
),还有一些测试数据集(例如 Nile.mat 和 co2.mat)。
我们在自己的 Win10、Ubuntu 22.04 和 macOS High Sierra 机器上生成了 Matlab mex 二进制库。如果它们在您的机器上失败,可以从
Rbeast\Source
下的 C 源代码文件编译 mex 库。如有需要,我们很乐意与您合作,为您的特定操作系统或机器进行编译。下面还提供了从 C 源代码编译的其他信息。
在 Matlab 中运行和测试 Rbeast
Matlab API 与 R 的类似。以下是一个快速示例:
help beast
help beast123
load('Nile.mat') % 从1871年开始的尼罗河年流量
out = beast(Nile, 'season', 'none','start', 1871) % 没有季节性的仅趋势数据
printbeast(out)
plotbeast(out)
Octave 的安装
与 Matlab 相同。目前仅支持 Windows 平台。如果需要其他平台(例如 Linux 和 Mac 上的 Octave),请联系作者 zhao.1423@osu.edu 寻求支持。
Python 的安装
一个名为 Rbeast
的包已经存放在 PyPI: https://pypi.org/project/Rbeast/。在控制台中运行以下命令进行安装:
pip install Rbeast
二进制 wheel 文件是为 Windows、MacOS 和 Linux 上的 Python 3.7 到 3.11 版本(x86_64 或 arm64 CPU)构建的。如果安装失败,请使用
pip install Rbeast --no-binary :none:
从源代码安装以构建包,这需要 C/C++ 编译器(例如 Linux 上需要 gcc 或 Mac 上需要 xcode)。如有需要,请联系 Kaiguang Zhao (zhao.1423@osu.edu) 帮助为您的操作系统平台和 Python 版本构建软件包。
在 Python 中运行和测试 Rbeast
Nile
是尼罗河的年流量,从 1871 年开始。作为年度观测,它没有周期性成分(即season='none'
)。
import Rbeast as rb # 导入 Rbeast 包作为`rb`
nile, year = rb.load_example('nile') # 一个样本时间序列
o = rb.beast( nile, start=1871, season='none')
rb.plot(o)
rb.print(o)
o # 查看输出变量 o 中的输出字段列表
第二个例子googletrend
是美国谷歌搜索词"beach"受欢迎程度的月度时间序列。这个月度时间序列是规律间隔的(即 deltat=1 month
=1/12 year
);它有一个周期为 1 年的循环成分。也就是说,每个周期的数据点数量是period
/ deltat
= 1 年 / 1 月 = 1/(1/12) = 12。
beach, year = rb.load_example('googletrend')
o = rb.beast(beach, start= 2004.0, deltat=1/12, period = 1.0) # 时间单位未知或任意
o = rb.beast(beach, start= 2004.0, deltat=1/12, period ='1.0 year') # 时间单位为分数年
o = rb.beast(beach, start= 2004.0, deltat='1 month', period =1.0) # 时间单位为分数年
rb.plot(o)
rb.print(o)
Julia/IDL 的安装(即将推出)
Julia 和 IDL 的包装器正在开发中:我们欢迎感兴趣的开发者的贡献和帮助。如有兴趣,请联系 Kaiguang Zhao,邮箱 zhao.1423@osu.edu。
BEAST 描述
时间序列数据的解释受模型选择的影响。不同的模型可能会对相同的数据给出不同甚至矛盾的模式、趋势和机制估计——这个局限性可以通过本软件包中的贝叶斯估计器(用于突变、季节性和趋势,简称 BEAST)来缓解。BEAST 试图通过放弃"单一最佳模型"的概念,并通过贝叶斯模型平均方案将所有竞争模型纳入推断,来改进时间序列分解。它是一个灵活的工具,可以揭示时间序列观测中的突变(即变点)、周期性变化(例如季节性)和非线性趋势。BEAST 不仅告诉您变化何时发生,还量化了检测到的变化有多大可能是真实的。它不仅检测分段线性趋势,还检测任意非线性趋势。BEAST 适用于各种实值时间序列数据,无论是遥感、金融、公共卫生、经济、气候科学、生态学还是水文学。应用示例包括用于识别生态数据中的体制转变、从卫星图像中绘制森林干扰和土地退化图、检测经济数据中的市场趋势、精确定位气候数据中的异常和极端事件,以及揭示生物数据中的系统动态。有关 BEAST 的详细信息,请参阅 Zhao et al. (2019)。该论文可在 https://go.osu.edu/beast2019 获取。
计算说明
作为一种贝叶斯算法,BEAST 速度很快,可能是同类贝叶斯时间序列分析算法中最快的实现之一。(但与非贝叶斯方法相比,它仍然较慢。)对于处理少量到数千个时间序列的应用,计算不会成为实际问题。但对于可能涉及数百万或数十亿时间序列的遥感/地理空间应用,计算对于台式计算机用户来说将是一个巨大挑战。我们建议首先在单个时间序列或小图像块上测试 BEAST,以确定 BEAST 是否适合您的应用,如果适合,估计处理整个图像可能需要多长时间。
无论如何,对于那些处理堆叠时间序列图像的用户,不要使用beast
或beast.irreg
。请改用 beast123
,它可以处理 3D 数据立方体并允许并行计算。如果您认为 BEAST 对您的应用有价值,我们也欢迎您咨询 Kaiguang Zhao (zhao.1423@osu.edu) 以获得具体建议。
参考文献
-
Zhao, K., Wulder, M. A., Hu, T., Bright, R., Wu, Q., Qin, H., Li, Y., Toman, E., Mallick B., Zhang, X., & Brown, M. (2019). 利用贝叶斯集成算法检测卫星时间序列数据中的变点、趋势和季节性,以跟踪突变和非线性动态。 遥感环境, 232, 111181. (BEAST 论文)
-
Zhao, K., Valle, D., Popescu, S., Zhang, X. 和 Mallick, B., 2013年。使用贝叶斯模型平均及变量和波段选择的植物生化高光谱遥感。遥感环境,132期,102-119页。(BEAST使用的MCMC采样器)
-
Hu, T., Toman, E.M., Chen, G., Shao, G., Zhou, Y., Li, Y., Zhao, K. 和 Feng, Y., 2021年。利用谷歌地球引擎上的Landsat时间序列绘制工作景观中的细粒度人类干扰图。国际摄影测量与遥感杂志,176期,250-261页。(一篇应用论文)
从C源代码编译(仅适用于开发人员和专家)
虽然不是必需的,但如果需要,可以为特定机器编译代码。有关详细信息,请查看GitHub上的Rbeast\Source文件夹。
报告错误或获取帮助
BEAST按原样分发,不保证适用于特定应用。上面分发的版本仍是测试版,有进一步改进的潜在空间。如果您遇到软件缺陷(即错误),请报告问题。提供错误发生条件的详细描述将有助于识别错误,您可以直接发送电子邮件给其维护者Kaiguang Zhao博士,邮箱地址为zhao.1423@osu.edu。或者,使用GitHub上的问题跟踪器报告软件问题并请求功能增强。
致谢
BEAST由Yang Li、Tongxi Hu、Xuesong Zhang和Kaiguang Zhao开发。BEAST的开发得到了微软Azure for Research(CRM0518513)、美国地质调查局104B资助以及俄亥俄州高等教育部有害藻华研究计划资助的支持。Xuesong Zhang的贡献得到了美国农业部农业研究局的支持。
使用BEAST/Rbeast的精选出版物
尽管BEAST最初发表用于生态和环境应用,但它被开发为一种通用工具,适用于所有学科中产生的时间序列或类时间序列数据。BEAST不是一种启发式算法,而是一个严格的统计模型。以下是使用BEAST进行统计数据分析的精选同行评审出版物列表。
学科 | 出版物标题 |
---|---|
遥感 | 李军、李志强、吴浩然、尤楠,2022年。地表温度时间序列分析的趋势、季节性和突变检测方法:评估与改进。遥感环境,10.1016/j.rse.2022.113222 |
古气候学 | Anastasia Zhuravleva等,2023年。加勒比海盐度异常导致公元时期北大西洋环流和气候变化。科学进展,DOI:10.1126/sciadv.adg2639 |
种群生态学 | Henderson, P. A. (2021)。Southwood生态方法(第5版)。牛津大学出版社,第475-476页 |
心脏病学 | Ozier, D.,Rafiq, T.,de Souza, R.和Singh, S.M.,2023年。在原发性预防植入式心律转复除颤器植入前使用沙库巴曲缬沙坦。加拿大心脏病学开放获取期刊。 |
空间生态学 | Laurin, G.V.等,2024年。比较地面林冠下和卫星光谱数据以改进和整合森林物候监测系统。生态指标,158,p.111328。 |
人类世科学 | Thomas, E.R.等,2023年。帕尔默冰芯作为人类世系列全球界线层型剖面和点的候选。人类世评论,p.20530196231155191。 |
生物医学工程 | Saghbiny, E.等,2023年9月。基于切割扭矩的脊柱手术中的穿透检测及离体实验验证。计算机和机器人辅助手术新技术会议。 |
政治学 | Reuning, K.,Whitesell, A.和Hannah, A.L.,2022年。Facebook算法变化可能放大了地方共和党的影响。研究与政治,9(2),p.20531680221103809。 |
食品科学 | Zaytsev, V.等,2024年。通过传感器阵列和细菌群落分析监测肉类质量和变化点检测。分析化学学报,p.343022。 |
商业科学 | 李志刚和田野,2024年。新冠疫情期间中国和欧洲碳市场价格与成交量之间的偏斜多重分形相关性。应用能源,371,p.123716。 |
生态地理学 | Smith, M.M.和Pauli, J.N.,2024年。小而相连的岛屿在气候变化下可以维持种群和遗传多样性。生态地理学,p.e07119。 |
认知科学 | Prein, J.C.等,2024年。生命周期中注视跟随的变化:过程层面的视角。发展科学,p.e13546。 |
神经科学 | Aqel, K.等,2024年。使用特征系统实现算法(ERA)重建安乐死过程中的啮齿动物脑信号。科学报告,14(1),p.12261。 |
冰川学 | Ramón, C.L.等,2024年。水电水库深层冰川水分流对亚北极湖泊热动力学的影响。水文学杂志,635,p.131081。 |
第四纪科学 | Gibson, D.K.等,2024年。全新世太阳辐射和海表温度对美国中部大陆极锋急流和降水的影响。第四纪科学评论,340,p.108865。 |
地理学 | 吕瑞等,2024年。干扰对山地生态系统服务的影响:基于BEAST和贝叶斯网络的见解。应用地理学,162,p.103143。 |
流域水文学 | Sakizadeh, M.等,2023年。伊朗西北部乌鲁米耶湖流域部分地区流量长期趋势分析及土地利用与土地覆盖对水产量的交互作用:基于SWAT模型和统计学习方法。水资源,15(4),p.690。 |
海洋学 | Oehlert, A.M.等,2023年。北大西洋海洋-气候动力学扰动使巴哈马白化泥沙生产量增加三倍。地球物理研究杂志:海洋,128(11),p.e2023JC020021。 |
水利工程 | 徐新等,2022年。基于BEAST时间序列分解的大坝位移分段建模方法。测量,202,p.111811。 |
社交媒体 | Barrie, C.等,2023年。测量媒体自由度。 |
政治经济学 | Benchimol, J.和Palumbo, L.,2023年。制裁与俄罗斯在线价格。 |
生理学 | Shakeel, M.,Brockmann, A. 糖摄入对果蝇局部搜索和蜜蜂舞蹈行为的时间效应。比较生理学A,(2023)。https://doi.org/10.1007/s00359-023-01670-6 |
伤害与危险 | Delavary, M.等,2024年。伊朗道路交通死亡率:2011年3月至2020年2月的纵向趋势和季节性分析。国际伤害控制与安全促进杂志,31(1),pp.125-137。 |
土木工程 | Langtry, M.等,2024年。数据对具有智能能源存储的建筑物中模型预测控制性能预测的影响。能源与建筑,p.114605。 |
鱼类学 | Kaeding, L.R.,2023年。气候变化和非本地食鱼动物对著名鲑科鱼类种群的影响,种群恢复的要求,及与溯河洄游鲑科鱼类种群的相似性。水生科学,85(4),p.88。 |
遥感 | Mulverhill, C.等,2023年。使用协调的Landsat Sentinel-2数据对高纬度森林进行连续监测和年内变化检测。国际摄影测量与遥感杂志,197,pp.309-319。 |
物理化学 | Faran, M. 和 Bisker, G., 2023. 通过随机景观方法预测非平衡自组装时间。物理化学B杂志。 |
力学生物学 | Faran, M., Ray, D., Nag, S., Raucci, U., Parrinello, M. 和 Bisker, G., 2024. 蛋白质折叠状态分类的随机景观方法。化学理论与计算杂志。 |
分析化学 | Simic, M., Neuper, C., Hohenester, U. 和 Hill, C., 2023. 光流体力诱导作为过程分析技术。分析与生物分析化学,第1-11页。 |
生态系统科学 | Lyu, R., Zhao, W., Pang, J., Tian, X., Zhang, J. 和 Wang, N., 2022. 走向可持续的自然保护区管理:使用贝叶斯网络量化干扰对生态系统服务的威胁。生态系统服务,58,第101483页。 |
环境科学 | Nickerson, S., Chen, G., Fearnside, P., Allan, C.J., Hu, T., de Carvalho, L.M. 和 Zhao, K., 2022. 在巴西亚马逊地区,每兆瓦安装的水电,森林损失在聚集的小型水坝附近显著高于单个大型水坝。环境研究快报。 |
地质学 | Fan, X., Goeppert, N. 和 Goldscheider, N., 2023. 量化中欧受雪影响的温带流域岩溶泉流量对气候变异和变化的历史和未来响应。水文地质学杂志,第1-17页。 |
野生动物 | Smith, Matthew M. 和 Jonathan N. Pauli. "即使在湖冰减少的情况下,连通性仍然维持着群岛避难所内的遗传多样性和种群持续性。"变化景观中森林食肉动物的物种恢复机制:173。 |
气候科学 | Duke, N.C., Mackenzie, J.R., Canning, A.D., Hutley, L.B., Bourke, A.J., Kovacs, J.M., Cormier, R., Staben, G., Lymburner, L. 和 Ai, E., 2022. ENSO驱动的平均海平面极端振荡破坏关键海岸红树林——一个新出现的威胁。PLOS气候,1(8),第e000003页 |
金融 | Candelaria, Christopher A., Shelby M. McNeill, 和 Kenneth A. Shores. (2022). 什么是学校财政改革?使用贝叶斯变点估计器揭示学校财政改革的普遍性和多样性。(EdWorkingPaper: 22-587)。来自布朗大学安纳伯格研究所:https://doi.org/10.26300/4vey-3w10 |
公共卫生 | Linnell, K., Fudolig, M., Schwartz, A., Ricketts, T.H., O'Neil-Dunne, J.P., Dodds, P.S. 和 Danforth, C.M., 2022. 疫情初期公园游览的空间变化。arXiv预印本 arXiv:2205.15937。 |
生物气象学 | Li, Y., Liu, Y., Bohrer, G., Cai, Y., Wilson, A., Hu, T., Wang, Z. 和 Zhao, K., 2022. 森林损失对美国本土局部气候的影响:卫星时间序列观测的证据。环境科学总论,802,第149651页。 |
应用数学 | Ferguson, Daniel, 和 Francois G. Meyer. 使用随机块模型对大型图集的概率密度估计,考虑谱信息。arXiv预印本 arXiv:2207.02168 (2022)。 |
交通科学 | Delavary, M., Kalantari, A.H., Mohammadzadeh Moghaddam, A., Fakoor, V., Lavalliere, M. 和 Wilhelm Siebert, F., 2023. 伊朗道路交通死亡率:2011年3月至2020年2月的纵向趋势和季节性分析。国际伤害控制与安全促进杂志,第1-12页。 |
水质 | He, Ziming, Jiayu Yao, Yancen Lu, 和 Danlu Guo. "检测和解释澳大利亚东南部河流水质的长期变化。"水文过程:e14741。 |
空气质量 | Wu, S., Yao, J., Wang, Y. 和 Zhao, W., 2023. 基于小波视角的中国典型城市群PM2.5浓度影响因素。环境研究,第116641页。 |
水文学 | Zohaib, M. 和 Choi, M., 2020. 基于卫星的全球尺度灌溉用水量及其当前趋势。环境科学总论,714,第136719页。 |
能源工程 | Lindig, S., Theristis, M. 和 Moser, D., 2022. 光伏性能损失率计算的最佳实践。能源进展,4(2),第022003页。 |
病毒学 | Shen, L., Sun, M., Song, S., Hu, Q., Wang, N., Ou, G., Guo, Z., Du, J., Shao, Z., Bai, Y. 和 Liu, K., 2022. 抗新冠疫情非药物干预对手足口病的影响——中国西北部西安的时空视角。医学病毒学杂志。 |
药学 | Patzkowski, M.S., Costantino, R.C., Kane, T.M., Nghiem, V.T., Kroma, R.B. 和 Highland, K.B., 2022. 国防卫生局政策发布前后军事卫生系统阿片类药物、曲美布汀和加巴喷丁类药物处方量。临床药物研究,第1-8页。 |
地理学 | Cai, Y., Liu, S. 和 Lin, H., 2020. 基于密集Landsat时间序列使用BEAST算法监测2000年至2019年洞庭湖湿地的植被动态。应用科学,10(12),第4209页。 |
海洋学 | Pitarch, J., Bellacicco, M., Marullo, S. 和 Van Der Woerd, H.J., 2021. 基于21年月度欧空局海洋色彩气候变化倡议数据得出的全球福莱尔-乌尔指数、色调角度和透明度盘深度图。地球系统科学数据,13(2),第481-490页。 |
光伏 | Micheli, L., Theristis, M., Livera, A., Stein, J.S., Georghiou, G.E., Muller, M., Almonacid, F. 和 Fernadez, E.F., 2021. 通过检测清洁和变点改进光伏污染提取。IEEE光伏杂志,11(2),第519-526页。 |
气候科学 | White, J.H., Walsh, J.E. 和 Thoman Jr, R.L., 2021. 使用贝叶斯统计检测阿拉斯加降水趋势。国际气候学杂志,41(3),第2045-2059页。 |
实地水文学 | Merk, M., Goeppert, N. 和 Goldscheider, N., 2021. 大型倾斜式溶解计长期高分辨率测量观察到的土壤深度干燥。水文与地球系统科学,25(6),第3519-3538页。 |
森林生态学 | Moreno-Fernandez, D., Viana-Soto, A., Camarero, J.J., Zavala, M.A., Tijerin, J. 和 Garcia, M., 2021. 利用光谱指数作为森林衰退的早期预警信号:以易旱的海岸松林为例。《环境科学总论》, 793, p.148578. |
大气科学 | 陈廷伟, 黄廷轩, 马兵, 高飞, 徐艳芳, 李荣杰, 马毅 和 张杰, 2021. CALIOP观测的渤海和黄海上空气溶胶类型的时空分布特征。《红外与激光工程》, 50(6), p.20211030. |
陆地生态学 | Dashti, H., Pandit, K., Glenn, N.F., Shinneman, D.J., Flerchinger, G.N., Hudak, A.T., de Graaf, M.A., Flores, A., Ustin, S., Ilangakoon, N. 和 Fellows, A.W., 2021. 生态系统人口学模型(EDv2.2)在模拟干旱研究区总初级生产能力和活动中的表现。《农业与森林气象学》, 297, p.108270. |
统计学 | Storath, M. 和 Weinmann, A., 2023. 不连续信号的平滑样条。《计算和图形统计学杂志》, (刚接受), pp.1-26. |
环境工程 | Bainbridge, R., Lim, M., Dunning, S., Winter, M.G., Diaz-Moreno, A., Martin, J., Torun, H., Sparkes, B., Khan, M.W. 和 Jin, N., 2022. 浅层滑坡的检测和预报:来自自然实验室的经验教训。《地理信息、自然灾害与风险》, 13(1), pp.686-704. |
渔业 | Theis, S., Wallace, A., Poesch, M., Portiss, R. 和 Ruppert, J.. (2024). 平衡安大略湖多伦多滨水区近岸鱼类群落的船载电鱼采样工作量与成本。《渔业管理与生态学》. 10.1111/fme.12733. |
水文学 | 杨欣, 田帅, 游文军 和 姜哲, 2021. 基于时间序列分解重建连续的GRACE/GRACE-FO陆地水储量异常。《水文学杂志》, 603, p.127018. |
景观生态学 | Adams, B.T., Matthews, S.N., Iverson, L.R., Prasad, A.M., Peters, M.P. 和 Zhao, K., 2021. 地形和植被组合过程促进温带森林景观中的春季物候变异性。《农业与森林气象学》, 308, p.108578. |