numpy 检测时间序列数据中的最大增加/减少

zte4gxcn  于 2023-10-19  发布在  其他
关注(0)|答案(1)|浏览(106)

我目前正在进行时间序列分析(只有EDA,没有预测)。我想通过查看完整的时间范围来计算一个特征的最大增加/减少。我可以通过使用pd.diff()按月进行此操作,但也想检查是否有超过一个月的趋势。因此,我尝试了像ruptures这样的库来检测数据中的变化点,但不确定它们是否与我最大的减少/增加点相同。

amrnrhlw

amrnrhlw1#

假设很多,因为正如评论中提到的,需要更多的细节。
我假设你的一个功能看起来有点像这样,并且每个月都有一个值(采样率):

time_series = [100, 110, 90, 120, 80, 130]

对我来说,剩下的听起来像是一个重新采样的问题,你需要决定你想把多少个月聚合成一个值(例如,每年12次)。
然后,您可以继续进行重新采样,并从邻居中近似缺失值(如有必要)。

# Resample based on the specified months per value
 resampled_df = df.resample(f'{months_per_value}').mean()

 # Interpolate missing values to approximate the time series
 resampled_df.interpolate(inplace=True)

 return resampled_df['value'].tolist()

然后,可以在函数中使用resampled_df,就像您习惯于使用当前时间序列数据一样。

相关问题