【问题标题】:Dataset in timeseries - finding closely related patterns时间序列中的数据集 - 寻找密切相关的模式
【发布时间】:2016-12-13 11:36:13
【问题描述】:

我有一个包含离散数据的(大)数据集。这些离散数据表示与时间相比的能量输出。 (千瓦 - 时间)

这些能源使用模式代表家庭中的不同机器。 (烤箱、微波炉、加热装置、烹饪盘……)

让我们看一个示例:

此图显示了从 04:00 到 22:00 的 Gas 使用模式。 您可以清楚地看到,在 15:00-20:00 左右,这些模式非常相似。

数据集给出以下值:

2015-11-14 15:18:00+00:00     0.609137
2015-11-14 15:19:00+00:00     0.609137
2015-11-14 15:20:00+00:00     0.609137
2015-11-14 15:21:00+00:00     0.609137
2015-11-14 15:22:00+00:00     0.609137
2015-11-14 15:23:00+00:00     0.609137
2015-11-14 15:24:00+00:00     0.609137
2015-11-14 15:25:00+00:00     0.609137
2015-11-14 15:26:00+00:00     1.270988
2015-11-14 15:27:00+00:00     7.344390
2015-11-14 15:28:00+00:00     3.302752
2015-11-14 15:29:00+00:00     3.456667
2015-11-14 15:30:00+00:00     3.441979
2015-11-14 15:31:00+00:00     2.857143
2015-11-14 15:32:00+00:00     2.857143
2015-11-14 15:33:00+00:00     7.536670
2015-11-14 15:34:00+00:00     2.627737
2015-11-14 15:35:00+00:00     2.712480
2015-11-14 15:36:00+00:00     2.926829
2015-11-14 15:37:00+00:00     2.943902
2015-11-14 15:38:00+00:00     3.000000
2015-11-14 15:39:00+00:00     5.660000
2015-11-14 15:40:00+00:00     5.030244
2015-11-14 15:41:00+00:00     2.926829
2015-11-14 15:42:00+00:00     2.926829
2015-11-14 15:43:00+00:00     2.926829
2015-11-14 15:44:00+00:00     2.997336
2015-11-14 15:45:00+00:00     3.025210
2015-11-14 15:46:00+00:00     7.729800
2015-11-14 15:47:00+00:00     3.076923
2015-11-14 15:48:00+00:00     3.086207
2015-11-14 15:49:00+00:00     3.103448
2015-11-14 15:50:00+00:00     7.579576
2015-11-14 15:51:00+00:00     3.363513
2015-11-14 15:52:00+00:00     3.185841
2015-11-14 15:53:00+00:00     3.185841
2015-11-14 15:54:00+00:00     3.211172
2015-11-14 15:55:00+00:00     3.302752
2015-11-14 15:56:00+00:00     7.520113
2015-11-14 15:57:00+00:00     3.713875
2015-11-14 15:58:00+00:00     3.353168
2015-11-14 15:59:00+00:00     3.302752
2015-11-14 16:00:00+00:00     3.348886
2015-11-14 16:01:00+00:00     3.428571
2015-11-14 16:02:00+00:00     7.942857
2015-11-14 16:03:00+00:00     3.428571
2015-11-14 16:04:00+00:00     3.400801
2015-11-14 16:05:00+00:00     3.364486
2015-11-14 16:06:00+00:00     3.324359
2015-11-14 16:07:00+00:00     3.302752
2015-11-14 16:08:00+00:00     7.889744
2015-11-14 16:09:00+00:00     3.214286
2015-11-14 16:10:00+00:00     3.183271
2015-11-14 16:11:00+00:00     3.157895
2015-11-14 16:12:00+00:00     3.176060
2015-11-14 16:13:00+00:00     3.185841
2015-11-14 16:14:00+00:00     7.854474
2015-11-14 16:15:00+00:00     3.333333
2015-11-14 16:16:00+00:00     3.437908
2015-11-14 16:17:00+00:00     3.529412
2015-11-14 16:18:00+00:00     3.618538
2015-11-14 16:19:00+00:00     5.508159
2015-11-14 16:20:00+00:00     6.274038
2015-11-14 16:21:00+00:00     3.755921
2015-11-14 16:22:00+00:00     3.789474
2015-11-14 16:23:00+00:00     8.093718
2015-11-14 16:24:00+00:00     3.870968
2015-11-14 16:25:00+00:00     3.824788
2015-11-14 16:26:00+00:00     3.789474
2015-11-14 16:27:00+00:00    11.414509
2015-11-14 16:28:00+00:00     8.344301
2015-11-14 16:29:00+00:00     7.751156
2015-11-14 16:30:00+00:00     7.553191
2015-11-14 16:31:00+00:00     7.367347
2015-11-14 16:32:00+00:00     7.346939
2015-11-14 16:33:00+00:00     7.346939
2015-11-14 16:34:00+00:00     7.346939
2015-11-14 16:35:00+00:00     7.346939
2015-11-14 16:36:00+00:00     7.324898
2015-11-14 16:37:00+00:00     7.246531
2015-11-14 16:38:00+00:00     7.346939
2015-11-14 16:39:00+00:00     7.246531
2015-11-14 16:40:00+00:00     7.200000
2015-11-14 16:41:00+00:00     7.200000
2015-11-14 16:42:00+00:00     7.200000
2015-11-14 16:43:00+00:00     8.249231
2015-11-14 16:44:00+00:00     8.630769
2015-11-14 16:45:00+00:00     4.770385
2015-11-14 16:46:00+00:00     0.730223
2015-11-14 16:47:00+00:00     0.730223
2015-11-14 16:48:00+00:00     0.730223
2015-11-14 16:49:00+00:00     0.730223
2015-11-14 16:50:00+00:00     0.730223
2015-11-14 16:51:00+00:00     0.730223
2015-11-14 16:52:00+00:00     0.730223
2015-11-14 16:53:00+00:00     0.773099
2015-11-14 16:54:00+00:00     3.302752
2015-11-14 16:55:00+00:00     5.411433
2015-11-14 16:56:00+00:00     5.990769
2015-11-14 16:57:00+00:00     3.573333
2015-11-14 16:58:00+00:00     3.333333
2015-11-14 16:59:00+00:00     3.068027
2015-11-14 17:00:00+00:00     2.448980
2015-11-14 17:01:00+00:00     2.448980
2015-11-14 17:02:00+00:00     7.548449
2015-11-14 17:03:00+00:00     2.834646
2015-11-14 17:04:00+00:00     2.923382
2015-11-14 17:05:00+00:00     3.130435
2015-11-14 17:06:00+00:00     3.070931
2015-11-14 17:07:00+00:00     2.975207
2015-11-14 17:08:00+00:00     6.961221
2015-11-14 17:09:00+00:00     3.611077
2015-11-14 17:10:00+00:00     2.880000
2015-11-14 17:11:00+00:00     2.940197
2015-11-14 17:12:00+00:00     2.950820
2015-11-14 17:13:00+00:00     3.075466
2015-11-14 17:14:00+00:00     3.103448
2015-11-14 17:15:00+00:00     3.151543
2015-11-14 17:16:00+00:00     3.157895
2015-11-14 17:17:00+00:00     7.774371
2015-11-14 17:18:00+00:00     3.130435
2015-11-14 17:19:00+00:00     3.113343
2015-11-14 17:20:00+00:00     3.103448
2015-11-14 17:21:00+00:00     3.103448
2015-11-14 17:22:00+00:00     3.103448
2015-11-14 17:23:00+00:00     7.758621
2015-11-14 17:24:00+00:00     3.103448
2015-11-14 17:25:00+00:00     3.114243
2015-11-14 17:26:00+00:00     3.130435
2015-11-14 17:27:00+00:00     3.104571
2015-11-14 17:28:00+00:00     3.076923
2015-11-14 17:29:00+00:00     7.743590
2015-11-14 17:30:00+00:00     3.076923
2015-11-14 17:31:00+00:00     3.080902
2015-11-14 17:32:00+00:00     3.103448
2015-11-14 17:33:00+00:00     3.097701
2015-11-14 17:34:00+00:00     3.076923
2015-11-14 17:35:00+00:00     6.096410
2015-11-14 17:36:00+00:00     4.797931
2015-11-14 17:37:00+00:00     3.103448
2015-11-14 17:38:00+00:00     3.178975
2015-11-14 17:39:00+00:00     3.185841
2015-11-14 17:40:00+00:00     3.185841
2015-11-14 17:41:00+00:00     4.784888
2015-11-14 17:42:00+00:00     6.226648
2015-11-14 17:43:00+00:00     3.214286
2015-11-14 17:44:00+00:00     3.289482
2015-11-14 17:45:00+00:00     3.309165
2015-11-14 17:46:00+00:00     3.495146
2015-11-14 17:47:00+00:00     6.772965
2015-11-14 17:48:00+00:00     4.827506
2015-11-14 17:49:00+00:00     3.645022
2015-11-14 17:50:00+00:00     3.673469
2015-11-14 17:51:00+00:00     8.037809
2015-11-14 17:52:00+00:00     3.789474
2015-11-14 17:53:00+00:00     3.789474
2015-11-14 17:54:00+00:00     3.789474
2015-11-14 17:55:00+00:00    10.986235
2015-11-14 17:56:00+00:00     7.869376
2015-11-14 17:57:00+00:00     6.763103
2015-11-14 17:58:00+00:00     6.626263
2015-11-14 17:59:00+00:00     6.496753
2015-11-14 18:00:00+00:00     6.543651
2015-11-14 18:01:00+00:00     6.895425
2015-11-14 18:02:00+00:00     6.959276
2015-11-14 18:03:00+00:00     7.038462
2015-11-14 18:04:00+00:00     6.923077
2015-11-14 18:05:00+00:00     6.961538
2015-11-14 18:06:00+00:00     7.000000
2015-11-14 18:07:00+00:00     7.000000
2015-11-14 18:08:00+00:00     6.961538
2015-11-14 18:09:00+00:00     6.923077
2015-11-14 18:10:00+00:00     7.038462
2015-11-14 18:11:00+00:00     6.959276
2015-11-14 18:12:00+00:00     7.058824
2015-11-14 18:13:00+00:00     6.981900
2015-11-14 18:14:00+00:00     7.018100
2015-11-14 18:15:00+00:00     1.565446
2015-11-14 18:16:00+00:00     0.596026
2015-11-14 18:17:00+00:00     0.596026
2015-11-14 18:18:00+00:00     0.596026
2015-11-14 18:19:00+00:00     0.596026
2015-11-14 18:20:00+00:00     0.596026
2015-11-14 18:21:00+00:00     0.596026
2015-11-14 18:22:00+00:00     0.596026
2015-11-14 18:23:00+00:00     0.596026
2015-11-14 18:24:00+00:00     0.596026

从 0.6kW 左右开始,在 8kW 达到峰值

现在,在数据集中,这些重复出现的模式有很多不同。 如您所见,06:00 到 07:45 和 14:15 到 15:45 的模式也非常相似。 现在我正在尝试找到一种方法将这些模式链接彼此。

例如,创建一个包含“相似”模式的列表,每个模式都给它们一个 ID 或属性,然后将它们过滤掉,这样我就得到了一个列出彼此密切相关的模式的列表。

请注意,数据集可能包含超过一年的结果。

我想做的是比较基线在模式之前和之后的持续时间。 使用阈值比较最高峰。 还有其他想法吗?

【问题讨论】:

    标签: python design-patterns time series recurring


    【解决方案1】:

    您可能正在尝试做的是(非常类似于)Non-Intrusive Load Monitoring。 George Hart 在九十年代初/八十年代末写了一篇关于此的论文(这是他的简短总结,参考论文:http://www.georgehart.com/research/nalm.html)。那篇论文可能是一个好的开始。

    Hart 的方法(这是 90 年代最新研究的基础,或在该领域进行比较)是:

    1. 平滑时间序列,因此仅存在有意义的加载步骤。不是高斯平滑,而是删除所有值不稳定的数据点,比如原始数据中的 3 个观察值。
    2. 然后创建您仍然看到的负载变化的直方图。 Hart 包括了第二个变量,包括您似乎拥有的下一个电阻负载的电感负载。此 (2d) 直方图应向您显示清晰的集群。这些集群应该很容易用任何基本的机器学习方法来定义。

    我发现Oliver Parsons blog 是一种非常容易了解该主题最新动态的方法。祝你好运!

    (我过去在 NILM 上做过一个项目。学术参考资料的来源。)

    【讨论】:

    • 非常感谢!确实。我正在撰写关于非侵入式负载监控的论文,我们必须能够识别每种模式并将其链接到特定的家居用品
    猜你喜欢
    • 2021-10-04
    • 2014-01-08
    • 2011-06-28
    • 2023-03-17
    • 2021-05-01
    • 2010-09-21
    • 2019-05-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多