You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将自定义时间序列传入pyunicorn.timeseries.surrogates?

pyunicorn Surrogates模块自定义时间序列传入方法

报错原因

两种错误写法的问题本质:

  • 直接通过类名调用实例方法Surrogates.white_noise_surrogates(Data_2)时,没有完成类的实例化,参数位置错位,触发缺少必填位置参数的报错。
  • Data_2是本地加载的numpy数组,不是Surrogates类的内置属性,Surrogates.Data_2的写法完全不符合类的调用逻辑,因此触发属性不存在的报错。官方示例中的SmallTestData()是模块内置的测试数据集生成方法,和外部加载的自定义数据无关。

正确操作流程

pyunicorn的Surrogates类要求输入的时间序列为二维numpy数组,形状格式为(变量数量, 时间点总数),单列txt存储的单变量时间序列加载后是一维数组,需要先调整形状再传入。

  1. 补全numpy依赖导入
  2. 加载本地txt数据,调整数组形状符合接口要求
  3. 传入处理好的数组实例化Surrogates对象
  4. 调用实例下的对应代理生成方法即可

可直接运行的参考代码

import numpy as np
from pyunicorn.timeseries import Surrogates

# 加载本地单列时间序列文件
Data_2 = np.loadtxt("/path-to-data.txt")
# 单变量序列调整为(1, 时间点数量)的二维格式
ts = Data_2.reshape(1, -1)

# 实例化代理生成对象
surrogate_generator = Surrogates(original_data=ts)

# 生成对应类型的代理序列
# 白噪声代理
white_surrogates = surrogate_generator.white_noise_surrogates()
# 相关噪声代理
corr_surrogates = surrogate_generator.correlated_noise_surrogates()

补充说明

如需批量生成多组代理,可在调用代理方法时传入n_surrogates参数指定数量,例如surrogate_generator.white_noise_surrogates(n_surrogates=20)即可生成20组同维度的代理时间序列。如果是多列存储的多变量时间序列,加载后确认数组形状为(变量数, 时间点总数)即可直接传入,无需reshape操作。

内容的提问来源于stack exchange,提问作者Philipp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 20:15:44