常见问题解答
tsfresh 是否支持不同长度的时间序列?
是的,它支持不同长度的时间序列。但是,一些特征计算器可能要求时间序列具有最小长度。如果向计算器传入的时间序列长度较短,则这些特征会返回 NaN。
是否可以从滚动/偏移的时间序列中提取特征?
是的,
tsfresh.dataframe_functions.roll_time_series()
函数可以方便地从您的数据创建滚动时间序列 DataFrame。您只需将数据转换为 tsfresh 支持的 数据格式 之一即可。然后,tsfresh.dataframe_functions.roll_time_series()
将返回一个包含滚动时间序列的 DataFrame,您可以将其传递给 tsfresh。更多详细信息请见此处:滚动/时间序列预测。如何在 Windows 系统上使用 tsfresh?
我们建议使用 Anaconda。安装后,打开 Anaconda Prompt,创建一个环境并设置 tsfresh(请注意,我们使用了多进程,这在 Windows 系统上可能存在问题。)
conda create -n ENV_NAME python=VERSION conda install -n ENV_NAME pip requests numpy pandas scipy statsmodels patsy scikit-learn tqdm activate ENV_NAME pip install tsfreshtsfresh 是否支持时间序列中的不同采样率?
是的!tsfresh 中的特征计算器不关心采样频率。您需要使用第二种输入格式,即堆叠式 DataFrame(参见 数据格式)
tsfresh 是否支持不规则间隔的时间序列?
是的,但要小心。正如其名称所示,
column_sort
(即时间戳)参数仅用于对观测值进行排序。除了排序之外,tsfresh 在计算中不使用时间戳。虽然许多特征不需要时间戳(或仅需要它进行排序),但其他特征会假定观测值在时间上是均匀间隔的(例如,每次观测之间相隔一秒)。由于 tsfresh 忽略了间隔,因此在使用高度不规则序列时选择特征时应格外小心。即使只提取 :class:`tsfresh.feature_extraction.settings.EfficientFCParameters`,tsfresh 运行也需要很长时间。我还能做些什么来加快处理速度?
如果您正在使用并行化(默认选项),您可能需要检查您没有过度分配可用的 CPU 内核。请查看 notes-for-efficient-parallelization-label 获取消除此问题的步骤,这可以显著加快处理速度。