📢 转载信息
原文链接:https://machinelearningmastery.com/prompt-engineering-for-time-series-analysis/
原文作者:Iván Palomares Carrascosa
在本文中,您将学到实用的提示工程模式,这些模式能使大型语言模型(LLMs)在时间序列分析和预测中变得有用且可靠。
我们将涵盖的主题包括:
- 如何构建时间上下文并提取有用信号
- 如何将LLM推理与经典统计模型相结合
- 如何为预测、异常检测和领域约束来构建数据和提示的结构
话不多说,我们开始吧。
时间序列分析的提示工程
图片来源:Editor
引言
听起来可能很奇怪,但大型语言模型(LLMs)可以被用于数据分析任务,包括时间序列分析等特定场景。关键在于将您的提示工程技能正确地转化为特定的分析场景。
本文概述了七种提示工程策略,可用于利用LLMs处理时间序列分析任务。
除非另有说明,这些策略的描述都伴随着围绕零售销售数据场景的说明性示例,具体来说,是考虑一个包含随时间变化的每日销售量的时间序列数据集,以供分析。
1. 情境化时间结构
首先,一个有效的提示要能产生有用的模型输出,就应该帮助模型理解时间序列数据集的时间结构。这包括可能提及的上升/下降趋势、季节性、已知的周期(如促销或节假日)等。这种上下文信息将帮助您的LLM将时间波动解释为——恰恰是波动,而不是噪声。总之,在提示附带的上下文中清晰地描述数据集的结构,通常比在提示中加入复杂的推理指令更有价值。
示例提示:
“这是过去365天的每日销售量(单位)。数据显示出每周季节性(周末销售额较高)、逐渐上升的长期趋势,以及因发薪日促销而在每月月底出现的峰值。请利用这些知识来预测未来30天。”
2. 特征和信号提取
与其要求模型直接从原始数字进行预测,不如提示它首先提取一些关键特征?这可以包括潜在模式、异常值和相关性。要求LLM提取特征和信号,并将其纳入提示中(例如,通过汇总统计或分解),有助于揭示未来预测或波动的根本原因。
示例提示:
“从过去365天的销售数据中,计算日均销售额、标准差,识别出销售额超过均值加两倍标准差的任何日期(即潜在的异常值),并指出任何重复的周或月模式。然后解释可能导致高销售日或低谷的因素,并标记任何不同寻常的异常情况。”
3. 混合LLM + 统计工作流程
面对现实吧:单独使用LLM在需要数值精度和捕捉时间序列中时间依赖性的任务上往往会很吃力。因此,简单地将它们的使用与经典统计模型相结合是获得更好结果的良方。像这样的混合工作流程可以如何定义?诀窍在于将LLM的推理能力——高级解释、假设形成和上下文理解——与ARIMA、ETS等定量模型结合起来。
例如,LeMoLE(LLM增强的线性专家混合模型)就是一个混合方法示例,它利用提示派生的特征来丰富线性模型。
结果结合了上下文推理和统计严谨性:兼得两全其美。
4. 基于Schema的数据表示
虽然原始时间序列数据集通常不适合作为LLM的输入格式,但使用JSON或紧凑表格等结构化Schema可能是让LLM更可靠地解释这些数据的关键,正如多项研究所示。
与提示一起传递的示例JSON片段:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
{
"sales": [
{"date": "2024-12-01", "units": 120},
{"date": "2024-12-02", "units": 135},
...,
{"date": "2025-11-30", "units": 210}
],
"metadata": {
"frequency": "daily",
"seasonality": ["weekly", "monthly_end"],
"domain": "retail_sales"
}
}
|
附带JSON数据和元数据的提示:
“给定以上JSON数据和元数据,分析时间序列并预测未来30天的销售情况。”
5. 提示预测模式
在提示中设计并正确构建预测模式——例如短期与长期范围,或模拟特定的“假设”情景——可以帮助引导模型产生更有用的响应。这种方法对于生成您请求的分析的高度可操作的见解非常有效。
示例:
|
1
2
3
4
5
6
7
|
Task A — Short-term (next 7 days): Forecast expected sales.
Task B — Long-term (next 30 days): Provide a baseline forecast plus two scenarios:
- Scenario 1 (normal conditions)
- Scenario 2 (with a planned promotion on days 10-15)
In addition, provide a 95% confidence interval for both scenarios.
|
6. 异常检测提示
这一项更侧重于特定任务,专注于精心构建可能有助于不仅使用LLM进行预测,还结合统计方法检测异常并推断其可能原因,甚至建议调查内容的提示。关键再次在于,首先使用传统的时间序列工具进行预处理,然后提示模型解释发现的结果。
示例提示:
“使用销售数据JSON,首先标记出销售额偏离周平均值两倍周标准差的任何日期。然后对于每个标记的日期,解释可能的原因(例如,缺货、促销、外部事件),并建议是否需要调查(例如,检查库存日志、营销活动、商店客流量)。”
7. 领域注入推理
领域知识,如零售季节性模式、节假日效应等,可以揭示宝贵的见解,将其嵌入提示中可以帮助LLM执行更有意义且可解释的分析和预测。这归结于利用“数据集上下文”——在语义和特定领域上——作为指导模型推理的灯塔。
这样的提示可以帮助LLM更好地预期月底的销售高峰或因节假日折扣导致的销售下降:
“这是某零售连锁店的每日销售数据。销售往往在每月月底(客户领薪水时)激增,在公共假日下降,在促销活动期间增加。偶尔还会出现库存短缺,导致某些SKU的销售下滑。在分析时间序列和进行预测时,请利用这些领域知识。”
总结
本文描述了七种不同的策略,这些策略在很大程度上得到了近期研究的基础和支持,用于构建更有效的、由LLM辅助的时间序列分析和预测提示。
🚀 想要体验更好更全面的AI调用?
欢迎使用青云聚合API,约为官网价格的十分之一,支持300+全球最新模型,以及全球各种生图生视频模型,无需翻墙高速稳定,文档丰富,小白也可以简单操作。
评论区