FAQ

  1. tsfresh 支持不同长度的时序数据吗?

    是的,它支持不同长度的时序数据。然而,一些特征计算器可能要求时序数据的最小长度。如果将较短的时序数据传递给计算器,这些特征将返回 NaN。

  2. 是否可以从滚动/移位的时间序列中提取特征?

    是的,tsfresh.dataframe_functions.roll_time_series() 函数允许您方便地从您的数据中创建一个滚动时间序列数据框。您只需将数据转换为 tsfresh 数据格式 支持的格式之一。然后,tsfresh.dataframe_functions.roll_time_series() 将返回一个包含滚动时间序列的 DataFrame,您可以将其传递给 tsfresh。您可以在这里找到更多详细信息:滚动/时间序列预测

  3. 如何在Windows上使用tsfresh?

    我们推荐使用 Anaconda。安装后,打开 Anaconda 提示符,创建一个环境并设置 tsfresh(请注意,我们使用多进程处理,这可能会 有问题):

    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 tsfresh
    
  4. tsfresh 支持时间序列中的不同采样率吗?

    是的!tsfresh 中的特征计算器不关心采样频率。你需要使用第二种输入格式,即堆叠的 DataFrame(参见 数据格式

  5. tsfresh 支持不规则间隔的时间序列吗?

    是的,但要小心。正如其名称所示,``column_sort``(即时间戳)参数仅用于排序观察结果。除了排序之外,tsfresh 在计算中不使用时间戳。虽然许多特征不需要时间戳(或仅需要它来排序),但其他特征会假设观察结果在时间上是均匀分布的(例如,每两个观察之间间隔一秒)。由于 tsfresh 忽略了时间间隔,因此在选择与高度不规则的时间序列一起使用的特征时应谨慎。

  6. 即使只是提取 :class:`tsfresh.feature_extraction.settings.EfficientFCParameters`,tsfresh 运行时间也很长。有什么进一步的方法可以加快处理速度吗?

    如果你正在使用并行化(默认选项),你可能需要检查你是否过度分配了可用的CPU核心。查看 notes-for-efficient-parallelization-label 以了解消除这一问题的步骤,这可以显著加快处理速度。