现有 library/algorithm 用于时间序列中的情节频率检测和预测?
Existing library/algorithm for episodic frequency detection and prediction in a time series?
我正在 Python 中使用播客 RSS 提要。是否有任何现有的库或算法来检测和预测定期发布时间表,给定一系列时间?
例如,如果 an RSS feed 中的五个项目具有以下时间戳:
Fri, 20 Nov 2020 02:16:14 +0000
Fri, 13 Nov 2020 17:51:58 +0000
Fri, 6 Nov 2020 03:08:04 +0000
Fri, 30 Oct 2020 19:09:29 +0000
Fri, 23 Oct 2020 01:23:10 +0000
是否有确定“每周周五”的算法?或者如果 they 是:
Tue, 24 Nov 2020 10:00:00 -0000
Fri, 20 Nov 2020 09:00:00 -0000
Tue, 17 Nov 2020 10:00:00 -0000
Fri, 13 Nov 2020 10:00:00 -0000
Tue, 10 Nov 2020 10:00:00 -0000
确定“每周两次,下一集 27 号星期五”?我相信 Pocket Casts 有这样的功能,但它仍然是专有的。
对于简单的你可以这样使用pd.infer_freq
import numpy as np
import pandas as pd
date_range = [
"Fri, 20 Nov 2020",
"Fri, 13 Nov 2020",
"Fri, 6 Nov 2020",
"Fri, 30 Oct 2020",
"Fri, 23 Oct 2020"]
date_range_2 = [
"Tue, 24 Nov 2020",
"Fri, 20 Nov 2020",
"Tue, 17 Nov 2020",
"Fri, 13 Nov 2020",
"Tue, 10 Nov 2020"]
def get_frequency(date_range):
ts = pd.Series(index=date_range)
return pd.infer_freq(ts.index)
print(f"First Time Series: {get_frequency(date_range)}")
print(f"Second Time Series: {get_frequency(date_range_2)}")
第二个没有输出,但第一个没有输出
First Time Series: -1W-FRI
Second Time Series: None
我正在 Python 中使用播客 RSS 提要。是否有任何现有的库或算法来检测和预测定期发布时间表,给定一系列时间?
例如,如果 an RSS feed 中的五个项目具有以下时间戳:
Fri, 20 Nov 2020 02:16:14 +0000
Fri, 13 Nov 2020 17:51:58 +0000
Fri, 6 Nov 2020 03:08:04 +0000
Fri, 30 Oct 2020 19:09:29 +0000
Fri, 23 Oct 2020 01:23:10 +0000
是否有确定“每周周五”的算法?或者如果 they 是:
Tue, 24 Nov 2020 10:00:00 -0000
Fri, 20 Nov 2020 09:00:00 -0000
Tue, 17 Nov 2020 10:00:00 -0000
Fri, 13 Nov 2020 10:00:00 -0000
Tue, 10 Nov 2020 10:00:00 -0000
确定“每周两次,下一集 27 号星期五”?我相信 Pocket Casts 有这样的功能,但它仍然是专有的。
对于简单的你可以这样使用pd.infer_freq
import numpy as np
import pandas as pd
date_range = [
"Fri, 20 Nov 2020",
"Fri, 13 Nov 2020",
"Fri, 6 Nov 2020",
"Fri, 30 Oct 2020",
"Fri, 23 Oct 2020"]
date_range_2 = [
"Tue, 24 Nov 2020",
"Fri, 20 Nov 2020",
"Tue, 17 Nov 2020",
"Fri, 13 Nov 2020",
"Tue, 10 Nov 2020"]
def get_frequency(date_range):
ts = pd.Series(index=date_range)
return pd.infer_freq(ts.index)
print(f"First Time Series: {get_frequency(date_range)}")
print(f"Second Time Series: {get_frequency(date_range_2)}")
第二个没有输出,但第一个没有输出
First Time Series: -1W-FRI
Second Time Series: None