当前位置: 首页 > article >正文

基于贝叶斯核张量回归的可扩展时空变系数模型

4dd45b5f4b87076e0d95ce9ce7e0cebe.png

文章信息

5f3062ccefdb32a4794e7b5f72557aad.png

本周阅读的论文是一篇2024年发表在《Bayesian Analysis》上利用贝叶斯核回归技术处理高维时间序列的文章,题目为《Scalable Spatiotemporally Varying Coefficient Modeling with Bayesian Kernelized Tensor Regression》。

6cd0cff378b22f61c28eeb504cdc1258.png

摘要

00ee148124f7133b33940ce0475caa46.png

作为空间统计中的一项回归技术,时空变系数模型(STVC)是一项挖掘空间和时间上的非平稳和可解释的协变量关联性的重要工具。然而,由于其高昂的计算消耗,难以将其应用与大规模的时空分析中。为了解决这项挑战,我们拓展STVC模型至一个三维张量框架中,并将时空变系数重构为一个低秩张量回归问题。低秩分解可以有效地对数据集的全局模式进行建模,并且大大减少了参数的数量。为了进一步整合局部时空依赖性,作者在时间和空间因子矩阵上使用高斯过程先验。作者将整个框架成为贝叶斯核张量回归(BKTR),核张量分解是一种具有低秩协方差结构的多变量时空过程建模的新方法。在模型推断方面,作者使用有效的马尔科夫链-蒙特卡罗(MCMC)算法,使用Gibbs采样更新因子矩阵,使用切片采样更新内核超参数。在人工合成和真实世界数据集上的大量实验表明了BKTR在模型估计和参数推断方面的优越性能。

46581a4978db65d3096304ce1721cd1a.png

介绍

529bd6989f37fa7b9a758cea0374661a.png

局部空间回归旨在刻画响应变量与相应协变量在空间中观察到的非平稳性和异质关联性,这是通过假设回归系数随空间局部变化而实现的。局部空间回归提供了复杂关系的可解释性,并已成为地理学、生态学、经济学、环境、公共卫生和气候科学等许多领域的重要技术。通常来说,一个响应变量y的局部空间回归模型可以写成如下所示:

e3aabeb0ac5ea1866fa09aa955f66996.png

其中,s表示一个空间位置的索引(比如经度和纬度),x(s)和β(s)分别表示位置s上的协变量向量和回归系数,ε(s)表示精度为τ的高斯白噪声过程。该回归模型可以进一步扩展为局部时空回归用以进一步刻画系数的时间变化。对于一个在一系列时间点15e1f49f093cbb878bca1738b2c07968.png从一系列位置cbce4d3c9d6d0ee85117b299bc18d7d8.png观察到的响应矩阵4f8dc76b4e26d30cd6407c49943d18d2.png,定义在笛卡尔积1c72ccff70dc74adffd11ad85fad2c21.png上的局部时空回归模型表示如下:

81bb29221b884ca665a59aeb3e57603e.png

其中,m和n分别表示行和列的索引。在建模上述模型时,参数的更新总是需要大量的计算费用,导致无法在大规模案例中使用。

本文提出一种可选择的估计策略,即贝叶斯核张量回归(BKTR),用以在大规模数据集上进行贝叶斯时空回归分析。受到低秩回归和张量回归的启发,作者使用低秩张量分解编码不同维度的依赖性。为了进一步整合局部空间和时间依赖性,作者对空间和时间因子向量使用高斯过程先验,因此将常规的张量分解转化为核分解模型。假定张量的秩为R,则时间复杂度变为6daef58ddd8bb93eaeb58ab6f711fa22.png,大幅降低了时间复杂度。除了空间和时间框架,作者还考虑了响应矩阵Y中有部分元素无法被观察到或者损坏的情况。这类场景在实际应用中十分常见,从新兴的众包和移动传感系统(如Google Waze)收集的交通状态数据,这些系统的观测在空间和时间上本质上是稀疏的。实验结果表明,即使在缺失率很高的情况下,底层的贝叶斯张量分解框架使模型可以有效估计模型系数以及无法观察的数据。

92006cc70e2d216d92e7f071b3a94dcb.png

贝叶斯核张量分解

319f01f42ac0177c4201ed05c99f66f4.png

  • 模型介绍

令是一个M×N×P的张量,第(m,n)个模-3纤维(mode-3 fiber)是时间和位置上的协变量向量,即a765247d309fc884e548c3f414137bea.png。例如,在共享单车需求的时空建模应用中,响应矩阵4ef5468feb4389de4b163be3bca6c0d3.png是一个N天内M辆自行车每日出发行程的矩阵,而张量变量bf1bd52872a51ea67fbe8f104f3de8e4.png表示对应位置和时间上的P个时空协变量集合。使用a09b7ae2cc2e3f9b1b48cef29184c0d3.png定义 vec(Y),则上述公式可以重新写为:

4470e362f6c38641aff612af9d716781.png

其中,448e05c2edda4371f5a6517f54003fdc.png409b24e1902af8355ef0207a2504f4e9.png分别是张量和的展开,Khatri-Rao积d1f7461ac9c448f483f1963f04b3c275.png是一个大小为aed231f6e1d43149f155f748de8882bd.png的块对角矩阵,且de040de4095c8396871764c32f9557c6.png。假设,

e916847fadceb17413ef12644b758772.png

服从一个秩为a804e5486c5a598017ecdfc44804cbf4.png 的CP分解,则上式可以重写为,

9a85e3e958e613a4125dada4aa564967.png

其中,5a66b8b0c0d6053c2d1d74d5cffadbd4.png表示一个扩展协变量矩阵,该公式的参数量为R(M+N+P),远低于没有使用CP分解情况下的参数量(MNP)。

局部空间和时间处理对于建模时空数据是非常重要的。然而,仅靠低秩假设无法编码这种局部依赖性。为了解决这个问题,作者按照GP因素分析策略假设U和V的特定高速过程先验,对W使用一个共轭正态先验,接着提出一个全贝叶斯方法以估计上述模型。图1展示了文章所提出的模型框架,成为贝叶斯核张量回归(BKTR),其图形模型如图2所示。

0bbc3d93b2ebd3a7fe83ccbf66f030cd.png

图1:BKTR框架计算示意图

01d066ae73aa75746665f15c6501eac5.png

图2:BKTR的图模型

在实际应用中,依赖数据通常只有部分可以被观察,这部分数据的集合被定义为集合,且满足5c41e01708226e1503ddf52348925c52.png。作者定义D作为0-1指示矩阵,如果f30388d4d6cf09eaef9ec8db41d88e0c.png,则41bf4d307dd5f3a5506704eabb36d950.png;否则989fe6b310fd33793852b8d5f1455639.png。是一个大小为35947d5f77e7d3994e13906c0b4219fd.png的指示矩阵,通过从一个2904c7cd189db22fa5d093949370d79c.png指示矩阵中删除掉vec(D)中0值所在的行所获得,那么观测数据向量可以通过0b1c1ddd7e193c926fae035171a0448f.png获得,进一步的,

96cd923dc9e44fe2021fdd2f0b4e70ac.png

对于空间和时间因子矩阵U和V,作者在向量的分量上分别使用相同的GP先验:

0bfec7e90763fc965b6345050100d329.png

其中,16aac4bcba56e35aa36e8d0ad5897116.png59af4fa458fffbd3aed39c14678a20f8.png分别是从两个有效核函数9c32d24d989ca7e85a8b0532aeaf9674.png1650798e29d69822b254027660cd5dc6.png中构建的空间和时间协方差矩阵,其中和是核函数的长度-尺度超参数。需要注意的是,作者通过W捕捉方差,因此通过将方差设置为1从而限制和为相关矩阵。另外,作者将核超参数重新参数化为对数变换变量以确保参数的非负性并假设它们的先验服从正态分布,即27741c9aaa6a663981c80999feae7212.png3fb2ff00eb1edadfba32c7f1af9f8eab.png。对于因子矩阵W,假设所有列服从一个相同的零均值高斯分布,其中精度矩阵服从Wishart共轭先验:

9048454405e1bb60e7bd553e5ad0dc28.png

其中,是一个的正定尺度矩阵,4af8be7c42ecf37cff70e151ee51f6e1.png表示自由度。最后,在噪声精度上使用共轭伽马先验3e0a9f719f0293971354929ddb5ede8f.png

基于上述先验和超先验,可以写出BKTR中的系数的协方差函数。具体来说,考虑两个数据对,分别是1c8908d74f015aee2bc0775109f1e342.png80d0d40b6956c7d57d5acdb4aeb4e05d.png,那么这两个数据对之间的协方差如下,

e3003e00723fff8dec9f86d8b03e9dc2.png

给定的先验,则有,

9998aad687db3fbed43f1ef804845e5c.png

结合上述协方差公式,可得,

fb55c193f1f1ad46eb97e8bbbee4215b.png

相同的,如果边缘U,则可以推出,

a757800c7833909690e0088738663291.png

  • 模型推断

作者采用Gibbs采样来估计模型参数,包括系数因子{U,V,W},精度τ,以及精确度矩阵。对于核超参数9b791a7241e9a87bfeb3a3fbdab465f0.png,由于条件分布不容易采样获得,因此使用slice sampler。

1. 采样系数因子{U,V,W}

采样因子矩阵可以视为一个贝叶斯线性回归问题。以W为例,可以得到下式,

df663d8cc9a10d3b0d6eca79bcfeb00a.png

其中,U和V已知,vec(W)是需要估计的系数。考虑到每个成分向量的先验是独立且相同的,那么整个向量化的W的先验分布可以写成e45fe81788527688766a4c2ec709c812.png。由于d5d280f13406450352db83ca625ef8ab.png的先验和似然均服从高斯分布,因此其后验也服从高斯分布,其中精度和均值如下:

a4c8529f16d317d6f9da866e33748377.png

其中,9fcd6b24db771a73b7b70b5d90984058.png,大小为c2d9273f7a0931d81ce2854792fe0b69.pngUV的后验分布可以使用不同的张量展开所获得。为了对U进行采样,使用mode-1展开,并使用vec(U)重构回归模型如下:

095bb518c43c91b64aff529bc728cc21.png

其中,8326cf08a6d78221651cdb1d40eb81b6.png1ee78595fac423355d8cb37058805442.png。因此,vec(U)的后验存在一个闭合形式——高斯分布,其精度和均值分别如下

7c3fc06b0b49a930c816f3f7f511fa90.png

其中,1df9874c80fd8384dab8454748b5de6c.png7cd54c6b5c54dabc8be70d470d88c96e.png。关于vec(V)的后验可以通过应用mode-2的张量展开来获得。上述的推导为整个因子矩阵提供了后验,即50bca61188f4d7ae6f5c5a5311512752.png,因此时间复杂度为989b1ef40d2de68441e50c519cf55f99.png

2. 采样核超参数c5721155c95591fd407f6c6234656579.png

如图2所示,通过Metropolis-Hastings算法,在因子矩阵的条件下采样核超参数应该是简单的。然而,实际中,在这种分层的GP模型中,以潜在变量{U,V}为条件通常会引起后验01ed1ab09d7a6eb3403aacb33d8fa544.png的急剧峰值,使马尔可夫链混合缓慢,导致更新不良。为了解决这个问题,作者从模型中积分出潜在因素得到边际似然,并基于切片采样法从他们的边际后验分布中采样aed5e1f5f7a91a15cb09e50707328338.png,即在推导边际后验0b52cb9ba99a657e91bd7f546041606b.png时对U进行积分;同样,通过对V积分从而推导边际后验de21874ea0498f8f0cde29d6fd701bad.png。以的超参数为例,令f6eabe8a08f7f9da8247fbc234670577.png,其中67c2a7877f942b823b52be1f26644b92.png,对2500dc6f918cf956c0c274ea509d91e9.png进行积分,可以获得:

8a8ca4eea23d7a294b812daf0c758811.png

其中205dcd2c746d050676d10d2ad376de16.png以及4a214358d4c9a4a1395f5cb8ca3d7e84.png。则的边际后验为:

bb865da998a1f234c868068e15450d77.png

切片采样方法对采样尺度的选择具有鲁棒性,且易于实现。采样可以采用相近的方式。需要注意的是,采样是在对数转换的变量上执行的,以避免数值问题。

3. 采样

给定共轭Wishart先验,的后验分布1497203328ecbcfde54cf793979ca167.pngbb2573a9a6d881a1ad149f900dac418b.png,其中88b0f774ff32c06677ee51d0c64a06d1.png,且980cc23d63cfd755ed1578610fc6fe03.png

4. 采样精度τ

由于文章使用了共轭Gamma先验,τ的后验分布仍然是一个Gamma分布,其形状和速率分别是,

7bc6d47f1a43cf9a736152adb444c13c.png

  • 模型实现

BKTR的实现过程如算法1所示。具体来说,将9b1e53cbff6e49eb098c0423f1fa4e6b.png视为一个块,并从的后验分布中通过切片采样对其进行更新,接着从d480c2d24d6a9dfe8874ac1a9981ff57.png中更新U。相似的操作同样用于采样3a4508eecbc36572a9d8aeec5bf241f6.png。对于MCMC推断,模型首先经过K1次迭代热启动,然后接下来的K2次迭代的结果作为估计值。

3c86a22d28cd013e024e0937380af062.png

  • 模型扩展性

与原始的STVC相比,BKTR大幅降低了在更新超参数方面需要的计算量,更新因子矩阵U需要 05c66332cb0568c89ec5925731391ca0.png的时间,对于超参数的切片采样,切片采样循环内的每次更新需要63931fb362fe4602e99c1881a5b8e6e8.png的时间在计算似然函数。这样在计算时间上的巨大收益使模型能够分析大规模的现实世界时空数据和多维关系,而通常STVC是不可行的。

基于上述的分析,BKTR的计算成本依赖于秩R,且BKTR可以在大规模数据集上使用,比如558a246370094d9ef78a08bf34e4de47.png。但是,应该注意的是,默认的BKTR在空间位置的数量M或者时间点N变得很大时(比如,M大于104)仍然会遇到计算问题。最常见的解决方案是按列更新三种因子矩阵,可以减少时间消耗至2de06168cce5349aa898c3b5c85de03c.png。通过这个更新方案,可以避免使用Kroneceker乘积学习潜在因子和超参数。另外,还可以使用稀疏近似和预测过程去建模每个潜在因子向量,即使用M0个推断点,其中M0<<M,那么时间复杂度降为02483cf801f40ef56c43e1905fee62ab.png。最后,考虑到通过切片采样学习超参数是昂贵的,进一步降低计算成本的另一种可能的解决方案是使用交叉验证来指定核超参数。核超参数的选择在回归中通常不是敏感的,因此交叉验证可以在适度粗糙的分辨率下进行。然而,直接实现基于MCMC采样的交叉验证方法仍然很耗时,因为这种迭代过程需要对每个超参数组合运行几次。

dff3ed99310bbfbd6aeb20f8008ed440.png

实验研究

b4f73a3666ca2dbc60be4b1fc30f0d7a.png

文章在三个仿真数据集上进行了实验来测试BKTR的性能。具体来说,进行了以下三个研究:(1)一个低秩结构化关联分析,用以检验不同秩设置和不同观测/缺失率场景下BKTR的估计精度和统计特性;(2)小规模分析,用以比较BKTR和STVC以及一个纯低秩张量回归模型;(3)中等规模分析,用以测试BKTR在更在使用的STVC建模上的性能。感兴趣的读者可以阅读原文实验部分。

0b650fcd144f0289ec026bd525633fbd.png

结论

c2664bf8ffbbfe68cd259fc5f889b4f2.png

本文引入了一个有效的解决大规模局部时空回归分析的方法。作者提出使用低秩CP分解用以参数化模型系数,有效地将参数数量由16141298ab6658c6f17991e1aea0c44c.png降低至1a128d18c047631e2d8e4d69ee54ca46.png。与现有张量回归的研究不同,提出的模型BKTR通过整合GP先验去刻画较强的局部空间和时间依赖性,从而超越了低秩假设。框架同样学习了一个低秩多线性核,该核具有表现力,能够为非平稳和复杂过程提供见解。在虚拟和真实的数据集上的数值实验表明BKTR能够高效、可靠地再现局部时空过程。


http://www.kler.cn/a/397937.html

相关文章:

  • 8.C++面向对象5(实现一个较为完善的日期类)
  • Rust 语言学习笔记(五)
  • CSS Modules中的 :global
  • 【Redis】Redis的一些应用场景及使用策略
  • 【计算机毕设】无查重 基于python豆瓣电影评论舆情数据可视化系统(完整系统源码+数据库+开发笔记+详细部署教程)✅
  • [Admin] Dashboard Filter for Mix Report Types
  • 一、Nginx反向代理(七层代理)二、Nginx的TCP/UDP调度器(四层代理)
  • Postgresql源码(138)alter table增加列的执行流程分析
  • MySQL系列之数据授权(privilege)
  • GBase8c 数据库审计项配置审计日志维护
  • 【安卓恶意软件检测-论文】DroidEvoler:自我进化的 Android 恶意软件检测系统
  • Notepad++的完美替代
  • Spring Boot 启动时修改上下文
  • 如何设置MySQL 数据库的默认字符集和默认排序规则
  • 【Golang】——Gin 框架中间件详解:从基础到实战
  • 【C++ 算法进阶】算法提升十五
  • 19-简单理解JavaScript中的Promise:手写Promise实现
  • Redis高可用-主从复制
  • 无人机吊舱基础——CKESC电调小课堂09
  • 永夜星河主题特效2(星河背景 + 闪烁文字+点击星星 + 文字弹出特效)
  • skywalking各项指标说明
  • Robot | 用 RDK 做一个小型机器人(更新中)
  • 222. 完全二叉树的节点个数【 力扣(LeetCode) 】
  • uniapp 跨域前端代理
  • FPGA 第8讲 简单组合逻辑--半加器
  • uni-app快速入门(三)--UniApp生命周期