这项由日本Sakana AI与国立信息学研究所联合完成的研究,以预印本形式于2026年6月发布在arXiv平台,编号为arXiv:2606.27282。感兴趣的读者可以通过该编号在arXiv上查阅完整论文。

**研究概要:当"厨艺"不如"食材处理"重要**

时间序列预测,说白了就是根据过去的数据猜未来——比如预测明天的气温、下个月的用电量、未来一小时的交通流量。这件事情在金融、能源、物流等领域极其重要,每预测得准一点,背后就可能节省大量成本或避免重大风险。

过去几年,研究界一直在走一条路:把模型做得越来越大、越来越复杂。从专门为时间序列设计的Transformer(一种强大的神经网络结构),到号称能处理任何时间序列的"基础模型",思路都是一样的——既然简单方法不够好,那就用更强大的方法来弥补。然而Sakana AI的研究团队却反其道而行,他们提出了一个颇具挑战性的问题:如果我们不换厨师,而是认真地把食材处理好,结果会如何?

他们选用了机器学习中最经典、最简单的工具之一——岭回归(Ridge Regression)。这种方法诞生于1970年,说起来就是一个加了约束的线性公式,没有任何"深度"可言。研究团队不对这个模型做任何改造,而是把全部精力花在了"怎么把数据喂给它"这件事上:看多长的历史数据、怎么做归一化(让数据的尺度变得合适)、加什么样的扰动来帮助学习,以及正则化强度(一种防止过拟合的参数)怎么设置。

结果令人印象深刻:这个朴素的线性模型,在八个标准测试数据集中,有六个击败了Transformer、MLP(多层感知机)和CNN(卷积神经网络)等复杂模型,而训练成本却只是它们的零头。这背后揭示的核心道理是:以前线性模型看起来表现差,不是因为它们天生不够强,而是因为研究界从来没认真调校过喂给它们的"食材"。

---

**一、这道题到底在问什么**

以天气预报为例。假设你要预测明天正午的气温,你手头有过去三年每隔十分钟的气温记录。现在问题来了:你应该回看多久的历史数据?是过去一周,还是过去一年?数据在喂给预测模型之前,应该怎么"标准化"处理?不同城市的气温序列,应该用同一套参数来预测,还是各自单独调整?

这些问题,在时间序列预测的学术研究中,通常被称为"超参数"(hyperparameter)的设置问题。超参数不是模型本身学来的,而是研究者在训练模型之前手动定下来的规则。一直以来,学术界的惯例是:在同一个数据集上,所有时间跨度的预测都用同一套超参数;不同的数据集之间,超参数也几乎不怎么调整。这么做有其合理性——当你的目标是比较不同模型的架构优劣时,保持其他条件一致确实是公平的。

但问题在于,这个惯例系统性地偏袒了大模型。一个拥有数百万参数的Transformer,哪怕输入的数据处理得不够好,它也有足够的"消化能力"来从中提取信息;而一个简单的线性模型,对输入数据的质量极其敏感——喂错了食材,它就根本发挥不出来。于是,线性模型长期以来背着"不够好"的名声,但这个名声,很可能是不公平的。

Sakana AI的团队决定验证这个猜想。他们的切入口是岭回归,原因很直接:它有解析解(直接用公式算出结果,不需要反复迭代训练),权重完全透明可读,训练时间在GPU上只需几毫秒。这最后一点极其关键——正因为训练速度快,他们才能在同样的时间预算内,把数千种不同的数据处理方式都试一遍,找到最优的那个。

---

**二、厨师不变,只换食材处理方式——搜索的四个维度**

研究团队把"数据处理方式"分解成四个可以调整的维度,然后用自动化搜索的方式在这四个维度上找最优组合。

第一个维度是"回看窗口的长度",也就是模型在预测未来时,能够看到多长的历史数据。研究团队把搜索范围设在32到2048个时间步之间,在对数刻度上均匀取点(对数刻度意味着32、64、128、256……这样的间隔,而非32、33、34……)。这个选择本身就暗示了一个重要直觉:很可能"看得更远"和"看得更近"之间有某种非线性的权衡关系,值得细致探索。

第二个维度是"归一化策略",也就是在把数据送入模型之前,如何调整数据的尺度。打个比方:如果你要比较一个城市一年中每天的气温变化,你得先决定以什么作为"基准"。是用整年的平均气温和波动幅度?还是只用最近一周的数据来定这个基准?研究团队提出了一个关键创新:把归一化的"基准窗口"也做成一个可搜索的参数,允许它只覆盖历史窗口的一个尾部比例(比如只用最近5%的数据来算均值和标准差)。他们把这个比例叫做"局部比率"(local ratio),用字母r表示,搜索范围从0.001到1.0(即0.1%到100%的窗口)。

第三个维度是"数据增强方式",也就是是否在训练数据上加一点点随机扰动来增加样本多样性,帮助模型学得更稳健。研究团队给出了三个选项:不做任何增强、在时间域加高斯噪声(就是随机给每个数据点加减一点点随机值),或者在频率域加高斯噪声(把时间序列分解成不同频率的成分后,对这些成分加随机扰动)。扰动的强度也是一个搜索参数。

第四个维度是"正则化强度"(α),它控制模型有多保守——α越大,模型越倾向于用简单、平滑的权重,而不是拟合训练数据的每一个细节。研究团队用了一个聪明的策略:在每次超参数搜索的试验中,把α的选择做成一个内层的网格搜索,从21个候选值里选最好的,这样α的选择不占用外层的搜索预算。

以上四个维度的搜索,使用了一个叫做Optuna的自动化超参数优化框架,背后的核心算法叫做"树状结构Parzen估计"(TPE)——这是一种智能采样策略,它不会盲目地把所有组合都试一遍,而是根据已有的搜索结果,聪明地猜测哪些区域更可能有好的参数组合,然后优先去那里探索。每个搜索格子运行20次试验,用3折交叉验证评估效果(交叉验证是一种更可靠地估计模型表现的方式,不依赖单次结果的随机性)。

---

**三、分组搜索:在"一刀切"和"各自为政"之间找平衡**

以前的研究通常对一个数据集里所有预测长度(比如预测未来96步、192步、336步、720步)都用同一套超参数,而且对数据集里所有变量也用同一套超参数。这就好像一家餐厅,不管客人点了什么菜、不管每道菜的食材有多大差异,调料的配比永远一样。

Sakana AI的团队引入了一个叫做"分组搜索"的机制,允许超参数在不同的预测长度之间,或者在不同的变量(数据中的不同测量指标)之间,有所不同。他们定义了两个分组粒度:

预测长度上的分组粒度叫gh(horizon group size)。当gh=1时,每一个预测步长都有自己独立的超参数;当gh等于总预测步数时,所有预测步长共享一套超参数。中间的值允许以"块"为单位来共享。

变量上的分组粒度叫gs(series group size)。当gs=1时,数据集里每一条时间序列(每一个变量)都有自己的超参数;当gs等于总变量数时,所有变量共享一套超参数。

这两个参数定义了一个二维网格,把整个搜索空间分成若干个格子,每个格子独立运行一次Optuna搜索。通过调整这两个粒度,研究团队可以在"节省搜索成本"和"充分利用数据异质性"之间灵活权衡。

从实验结果来看,gh的影响很小——不管把预测长度分成多细的组,误差的变化不超过0.4%,说明超参数随预测长度的变化相当平滑。因此,研究团队最终选择了gh=48(即每48个预测步共享一套超参数)作为默认设置,把省下来的搜索预算全部用在gs(变量分组)的探索上。而gs的影响则因数据集差异显著,这一点将在后面详细展开。

---

**四、三个令人意外的发现**

经过大规模搜索,研究团队从数据中读出了三个让人眼前一亮的规律。

**发现一:"看更久的历史"并不总是帮助预测更远的未来**

直觉上,你可能会觉得:预测未来越远,就应该看越久的历史,因为你需要更多的信息来判断长期趋势。这个直觉在部分情况下是对的,但在其他情况下完全是反的。

研究团队对八个数据集拟合了一条幂律曲线,形式是L* = a · H^b,其中L*是最优回看窗口长度,H是预测长度,b是描述两者关系的指数。如果b是正数,意味着预测越远就看越久历史;如果b是负数,意味着预测越远反而应该看更短的历史;如果b接近零,意味着回看窗口和预测长度几乎无关。

结果显示,这个指数b在不同数据集之间差异极大。在ETTm2(一个每15分钟采集一次的电力变压器温度数据集)上,b高达+0.46,印证了"预测越远看越久"的直觉。在Weather(每10分钟采集一次的气象数据集)和Electricity(每小时采集一次的用电量数据集)上,b几乎为零,说明最优回看窗口大约固定在1000步左右,不随预测长度变化。而在Exchange(每日汇率数据集)和Traffic(每小时道路传感器数据集)上,b达到了-0.19,意味着预测越远的未来,反而应该只看最近很短的历史——因为这些数据集的非平稳性(分布随时间漂移)非常强,太久远的历史数据会"误导"模型,让它以为以前的规律现在还适用,结果反而做出更差的预测。

更有趣的是,即使在同一个数据集内部,不同变量之间的b值分布也可以极其宽泛。Weather数据集是个例外,它的不同变量的b值聚集得相对紧凑;而ETTh2、Electricity和Traffic的不同变量,b值一半是正、一半是负,意味着有些变量希望随预测长度增加而增加回看窗口,另一些变量正好相反。这个发现直接说明了:哪怕在同一个数据集里,用一套统一的回看窗口来服务所有变量,都是不够精细的。

**发现二:归一化应该只看"最近的一小段",而非整个历史窗口**

之前的线性预测模型,在做归一化时通常有两种选择:要么用整个训练集的统计信息(全局归一化),要么用当前输入窗口的统计信息(局部归一化,也叫实例归一化)。Sakana AI的团队把局部归一化推进了一步:让它只看输入窗口最后r比例的数据来计算均值和标准差。

搜索结果令人惊讶:在所有测试的数据集和预测长度中,最优的局部比率r几乎从来不是1(即从来不用整个窗口做归一化)。最优的log??r通常落在-2.5到-0.5之间,对应着只用窗口末尾的0.3%到30%的数据来做归一化。在ETTm2和Exchange这两个非平稳性最强的数据集上,最优r甚至接近0.01,意味着只用最后1%的数据来定尺度。

这背后的道理并不难理解:如果一个时间序列的整体水平随时间漂移(比如汇率今年比五年前涨了很多),那么用整个历史窗口算出的均值,就会是一个没有代表性的平均值——它混合了很多不同"时代"的数据。而只用最近一小段来归一化,就相当于告诉模型:"你不用管以前是什么水平,只需要预测接下来的变化相对于最近这段时间的水平是多少。"这种聚焦于当前局部状态的归一化方式,几乎普遍地比用整个窗口的方式更有效。

研究团队还试验了一种更鲁棒的归一化方式(用中位数和四分位距代替均值和标准差),但结果是这种方式在所有测试中都不如标准的均值/标准差归一化——说明在这些数据集里,极端值和大幅波动本身就包含有用的尺度信息,把它们"中和掉"反而丢失了信号。

**发现三:跨变量的参数共享程度,是数据集的一种内在属性**

在多变量时间序列数据集里,不同的变量(比如Weather数据集里的气压、湿度、风速、降雨量)可能有完全不同的动态特性。那么,给不同变量分别调超参数(完全独立),还是共用一套(完全共享),哪个更好?

答案是:看情况,而且差别可以很大。ETTh1(小时级电力变压器温度数据,7个变量)的情况是:完全共享一套超参数,表现最好,如果改成每个变量各自搜索,误差反而上升0.5%到4%。这说明这7个变量来自同一个物理系统,它们的动态特性高度相似,强迫它们共享参数反而起到了一种"互相正则化"的效果,让模型更稳健。Weather数据集(21个气象变量)则完全相反:完全共享时误差最大,随着分组越来越细,误差单调下降,完全独立时(每个变量各自搜索)误差最低,节省了约10%的误差。Electricity(321个用电客户)的最优方案是中间状态:大约每32个变量共享一套参数。

这个发现意味着,"跨变量的共享程度"本身就是数据集的一种深层属性,不能用同一个答案来应对所有数据集。

---

**五、数字说话:跟其他模型比较的结果**

研究团队在八个标准数据集上,以96、192、336、720步四个预测长度的均方误差(MSE,越低越好)作为评估指标,与多个基线方法进行了比较。

在线性模型这个类别里,他们的方法(论文中称为SearchCast)在八个数据集中有七个取得了最低的平均误差,唯一的例外是在ETTh2数据集上与FITS方法持平(0.334对0.333)。相比于同类的OLS(普通最小二乘法),误差降幅在ETTm2上达到4.8%,在ETTh1上达到4.3%,在Exchange上达到惊人的14.8%。这些改善在四个预测长度上都是一致的,而非由某个特定长度主导,说明超参数搜索带来的好处具有普遍性。

在与非线性模型的比较中,SearchCast在八个数据集中的六个上取得了最低或并列最低的平均误差,尽管它完全没有任何非线性能力。两个例外都是输给了PatchTST(一种强大的Transformer变体):在Electricity(321个变量)上,两者并列(0.159对0.159);在Traffic(862个变量)上,SearchCast以0.404输给了PatchTST的0.391。恰恰是这两个数据集变量数量最多,而实验结果也表明,在这两个数据集上,中等程度的变量分组共享有益,这与Transformer能够通过注意力机制在相似的变量之间自动共享表示的能力一致。在另外六个数据集上,SearchCast对PatchTST的优势从Weather上的4%一路攀升到ETTm2上的16%。

值得特别一提的是Exchange数据集上的表现:在最长的720步预测长度上,SearchCast的误差是0.811,而OLS是0.992,差距超过18%。Exchange是每日汇率数据,极度非平稳,而搜索正确地为这个数据集找到了短回看窗口配合强局部归一化的组合,让模型专注于最近的局部趋势而非遥远的历史。

---

**六、权重图揭示了什么——模型在"看"什么**

研究团队还绘制了每个数据集上,岭回归模型权重的分布图:横轴是预测步长,纵轴是"滞后期"(即历史数据中距当前时刻的距离),颜色深浅代表权重大小。这张图直接揭示了模型在利用历史数据时的"注意力分布"。

Exchange的权重高度集中在最近几步,几乎完全忽视了更早的历史,与其短记忆、快速漂移的特性完全吻合。Traffic和ETTh2的权重显示出明显的周期性条带:Traffic在168、336等位置(对应1周、2周)有强烈的权重,反映了每周的交通规律;ETTh2在约24的位置有权重集中,对应每日周期。Electricity的权重模式更复杂,混合了极近期的依赖(滞后0和1步)和一些远期的"锚定点"。Weather和ETTm系列的数据集则把最大权重分散在更远的历史步骤上,验证了为什么这些数据集需要更长的回看窗口。

换句话说,当搜索给某个数据集分配了很长的回看窗口时,模型并不是"平等地使用了整段历史",而是在这段长历史里,只选择性地重视几个特定的相位匹配点(比如正好与预测时刻对齐的季节性周期),长窗口给了模型"够得着"这些远期关键点的能力。

---

**七、数据增强:加点"盐"有没有用**

在所有测试的数据集和预测长度组合中,有60%到70%的情况,搜索选择了加入某种形式的数据增强(时间域或频率域的随机扰动),而非不加任何扰动。时间域噪声和频率域噪声被选中的比例大致相当,时间域稍多。最优的扰动强度σ因数据集而异:Weather和Exchange数据集上,不同预测长度之间最优σ的分布跨度很宽(接近0.1到0.001都被选中),说明短期预测和长期预测需要不同强度的正则化;而ETTm1、Electricity和Traffic上,最优σ的分布更为集中。

这个结果说明,数据增强在时间序列预测中确实有贡献,但它的最佳形态和强度不是通用的,也是需要针对具体数据集和预测任务来调整的。

---

**八、非线性模型究竟多了什么?**

一个自然的疑问是:既然搜索好的线性模型已经打平甚至超越了复杂的非线性模型,那非线性模型有没有捕捉到线性模型看不见的东西?

研究团队用一种叫做"BDS检验"的统计工具来回答这个问题。BDS检验可以判断一段序列的残差(预测误差)是不是纯粹的随机噪声——如果模型已经把所有可预测的信息都提取干净了,剩下的误差应该像随机噪声一样毫无规律;如果还有残余的非随机结构,说明模型还没把能提取的信息提取完。比较不同模型残差的BDS统计量,可以判断哪个模型的残差"更像随机噪声",即哪个模型提取得更彻底。

结果显示:在六个标准数据集上,PatchTST的残差确实比岭回归的残差更接近随机噪声(BDS统计量差值的均值为-7.83,24个比较格子中有18个统计显著)。这说明PatchTST确实捕捉到了一些线性模型无法表达的非线性模式。然而,这些额外捕捉到的结构,并没有转化为更低的预测误差——在这六个数据集上,岭回归仍然持平或优于PatchTST。换句话说,这些非线性模式虽然存在,但对这些数据集的预测精度贡献有限,决定预测表现的主要因素,仍然是那些长程线性规律。

在两个大型数据集(Electricity和Traffic)上,PatchTST确实取得了更低的误差。但有趣的是,BDS检验并没有在这两个数据集上发现PatchTST残差明显更接近随机噪声(8个比较格子中只有1个统计显著)。这意味着PatchTST在这两个数据集上的优势,不是来自于捕捉了更多非线性结构,而可能来自于另一个源头——跨变量的共享表示。Transformer的注意力机制能够在321个或862个高度相似的时间序列之间自动发现和共享规律,这是简单的逐变量独立建模的岭回归做不到的。

---

**九、数据本身的深层结构验证**

为什么长历史数据对某些数据集真的有帮助,而不仅仅是在重复一个明显的季节性规律(比如每天、每周的周期)?研究团队通过分析不同数据集的自相关性来回答这个问题。

自相关性,简单说就是一个时间序列和它自身错开k步之后的版本有多相似。如果自相关性在k=720(对应720步以前的历史)处仍然很高,说明720步以前的值和现在的值之间有真实的线性关联,线性模型可以利用它来预测;如果自相关性在k=720处接近零,说明那段久远的历史对当前的预测毫无帮助。

更重要的是,研究团队在测量自相关性之前,用四种不同强度的去季节化方法处理了数据(从不做任何处理,到用STL方法彻底分离趋势、季节成分和余量)。如果自相关性在去除明显的周期性之后就消失了,那说明长期回看窗口的价值只是在重复利用一个季节性模式;如果自相关性在去季节化后仍然显著,说明长期历史中存在超越普通季节性的深层线性结构。

结果是:六个测试数据集在k=720步处,去季节化后的自相关系数仍然在0.39到0.73之间,置信区间明显高于零。而且四种去季节化方法的结果高度一致,说明这种长程相关性不是任何单一去季节化方式的伪影。尤其是ETTm1和ETTm2,去季节化后的自相关性反而高于原始数据——因为显著的日内周期性被去掉之后,原本被遮蔽的更慢的长程结构反而浮现出来了。

这个发现为搜索到的长回看窗口提供了坚实的统计支撑:当模型被赋予1000步以上的历史数据时,它确实在利用真实存在的远期线性信息,而不仅仅是在重复一个简单的周期性规律。

---

**十、只调回看窗口,能带来多大改善?**

最后,研究团队还单独隔离出"回看窗口长度"这一个因素,在其他所有预处理设置都固定不变的情况下,测试改变窗口长度能带来多大的误差改善。他们固定了一套"通用默认设置"(局部均值归一化、标准正则化网格、无数据增强),然后在一系列窗口长度(从24到2000)上测试H=720步预测的误差。

数据集分成了三个明显的行为模式。ETTh1、ETTh2和Weather属于"强影响型":随着窗口长度从96增加到2000,误差持续下降,降幅达到36%到53%。ETTm2属于"平台型":误差在窗口长度约192到336时迅速下降,然后趋于平稳,总降幅约16%。ETTm1属于"无感型":增加窗口长度几乎不改变误差。

这三种模式无法从数据集的元数据(采样频率、变量数量等)提前预判,必须通过实际搜索才能确定——这正是为什么研究团队主张把窗口长度也纳入自动化搜索的范围。值得注意的是,研究团队还验证了:即便在固定短窗口的情况下把其他超参数搜索到最优,也无法弥补长窗口带来的误差改善,这说明窗口长度本身,而非其他设置,是这部分改善的真正来源。

研究团队还与"最笨的预测方法"——坚持预测法(即用当前时刻的值来预测所有未来时刻的值)进行了对比,证明岭回归在每个数据集上的误差都远低于这个零智能基线,比值从1.44到5.87不等,确认模型在做真正的预测而不是在重复记忆最近的值。

---

说到底,这项研究的核心信息只有一句话:在时间序列预测这件事上,你喂给模型的"食材怎么处理",很可能比"用什么厨师"更重要。多年来,学界把大量精力花在设计更复杂的模型架构上,却几乎忽略了一个基础性的问题:这些模型的输入,有没有经过认真的、针对当前任务的处理?这项研究给出了一个清晰的回答:没有,而且这个忽视的代价是可以量化的。

对于普通人而言,这个发现的意义在于:更强大的预测模型,有时候并不是更精准的保证。真正决定预测好坏的,往往是那些我们不容易直接观察到的"数据处理的细节"。下次当某个复杂的AI预测工具让你眼花缭乱时,也许值得先问一句:它有没有认真想过,该怎么处理给它看的历史数据?

有兴趣深入了解这项工作的读者,可以通过arXiv编号2606.27282找到完整的论文。

---

Q&A

Q1:岭回归(Ridge Regression)和普通线性回归有什么区别?

A:岭回归是在普通线性回归的基础上加了一个"惩罚项",限制权重不能太大。直观上,普通线性回归在数据不够充分时容易"过度自信",给某些输入特征赋予极大的权重,导致对训练数据拟合很好但对新数据预测很差(即过拟合)。岭回归通过惩罚过大的权重,强迫模型保持保守,从而在很多实际问题中比普通线性回归更稳健。它的另一个优点是有解析解,不需要反复迭代训练,训练速度极快。

Q2:局部归一化中"局部比率r"接近0.01是什么意思?

A:局部比率r代表用历史窗口末尾多大比例的数据来计算归一化所需的均值和标准差。r=0.01意味着只用窗口最后1%的数据。举个例子:如果模型的历史窗口是1000步,那么只用最后10步的数据来计算均值和标准差,然后用这两个数值来缩放整个1000步的数据。这种做法的目的是让归一化基准聚焦于数据的"当前状态",避免久远的历史数据(可能来自一个完全不同的分布环境)影响当前的尺度判断。

Q3:SearchCast方法在两个大型数据集(Electricity和Traffic)上为什么输给了PatchTST?

A:Electricity有321个变量,Traffic有862个变量,而且这些变量之间有高度的相似性(分别是不同客户的用电行为和不同道路传感器的流量模式)。PatchTST这类Transformer模型可以通过注意力机制自动在变量之间共享信息,相当于让321个或862个相似的序列"互相帮助"来提升各自的预测精度。岭回归在默认的逐变量独立建模方式下,无法直接利用这种跨变量的相似性。实验也证实了,在这两个数据集上,适度的变量分组(每组约32个)对性能有帮助,这与Transformer的跨变量共享机制所起的作用方向一致。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐