首页
/ Darts库中概率时间序列的采样操作指南

Darts库中概率时间序列的采样操作指南

2025-05-27 03:36:47作者:齐冠琰

概述

在时间序列分析中,概率时间序列(Probabilistic Time Series)是一种能够表示预测不确定性的重要数据类型。Darts作为一款强大的时间序列分析库,提供了处理这类数据的丰富功能。本文将详细介绍如何在Darts中从概率时间序列中提取单个样本,并将其转换为常规的TimeSeries对象。

概率时间序列采样方法

Darts提供了多种从概率时间序列中提取样本的方法,但需要注意的是,这些方法返回的是NumPy数组而非TimeSeries对象:

  1. random_component_values() - 返回一个2D数组(T, C),包含时间点和每个组件的随机样本
  2. values(sample=0) - 返回一个2D数组(T, C),包含时间点和指定索引处的样本
  3. all_values() - 返回一个3D数组(T, C, S),包含所有时间点、组件和样本

转换为TimeSeries对象

若需要将采样结果转换为TimeSeries对象,可以使用with_values()方法。这个方法会创建一个新的TimeSeries,保留原始序列的组件和时间信息,但使用新的数值。

基本用法如下:

sample_values = series.values(sample=0)  # 获取第一个样本的数值
new_series = series.with_values(np.expand_dims(sample_values, 1))

需要注意的是,with_values()方法要求输入数组的维度与原始序列匹配。对于概率时间序列,通常需要先使用np.expand_dims调整数组维度。

实际应用场景

这种采样转换操作在以下场景中特别有用:

  1. 可视化特定样本路径
  2. 将概率预测结果与确定性模型进行比较
  3. 作为后续确定性分析的输入
  4. 模型评估和基准测试

总结

Darts库提供了灵活的方法来处理概率时间序列的采样和转换。通过结合values()with_values()方法,用户可以轻松地从概率预测中提取特定样本路径,并将其作为常规时间序列进行进一步分析。这种功能大大增强了时间序列分析的工作流程,特别是在需要将概率结果与确定性方法结合使用的场景中。

登录后查看全文
热门项目推荐
相关项目推荐