问题描述
我有许多不同组件的时间序列数据。这些组件最初都带有标签,所以我知道它们是什么。然后,当我得到相同的组件,但是这次标记不同或根本没有标记时,我需要知道哪个是哪个。假设这n个组件之间没有依赖性,那么如何知道哪个是哪个?
示例
+-------------------+-------+-------+-------+
| ts|label_1|label_2|label_3|
+-------------------+-------+-------+-------+
|2020-08-17 00:00:00| 19.4| 4.0| 25.0|
|2020-08-17 00:10:00| 3.4| 3.7| 25.0|
|2020-08-17 00:20:00| -7.2| 3.2| 25.0|
|2020-08-17 00:30:00| -5.9| 3.1| 25.0|
|2020-08-17 00:40:00| -7.1| 3.2| 25.0|
|2020-08-17 00:50:00| -5.8| 2.7| 25.0|
|2020-08-17 01:00:00| -5.6| 2.0| 25.0|
|2020-08-17 01:10:00| -4.6| 1.8| 25.0|
|2020-08-17 01:20:00| -3.9| 1.1| 25.0|
|2020-08-17 01:30:00| -5.3| 3.5| 24.0|
|2020-08-17 01:40:00| 107.0| 4.8| 24.0|
|2020-08-17 01:50:00| 0.9| 3.9| 25.0|
|2020-08-17 02:00:00| 34.5| 4.0| 24.0|
|2020-08-17 02:10:00| 22.2| 4.0| 24.0|
|2020-08-17 02:20:00| 71.0| 4.6| 23.0|
|2020-08-17 02:30:00| 134.0| 5.0| 23.0|
|2020-08-17 02:40:00| 109.6| 4.8| 23.0|
|2020-08-17 02:50:00| -6.8| 3.6| 23.0|
|2020-08-17 03:00:00| 35.2| 4.1| 23.0|
|2020-08-17 03:10:00| 141.1| 5.1| 23.0|
+-------------------+-------+-------+-------+
我想到了尝试在每个时间序列数据中识别形状并将这些形状作为特征。还考虑过获取摘要统计信息并进行这些功能。
不过,我不确定如何进行模型训练和未知组件的标注。 我正在寻找示例代码。
# df_y1 is the input dataframe
featCol = ['label_1','label_2','label_3']
va = VectorAssembler(inputCols = featCol,outputCol='features')
dfFeat = va.transform(df_y1)
from pyspark.ml.stat import Summarizer
summarizer = Summarizer.metrics("max","min","variance","mean","norml1","norml2")
df_summary = dfFeat.select(summarizer.summary(dfFeat.features).alias('features'))
df_summary.show(truncate=False)
-------------------------------------------------------------------------------+
|labels |
+------------------------------------------------------------------------------+
|[[1435.5,7.2,35.0],[-10.2,0.0,18.0],[72827.72853887171,2.634534574364183,12.829884361448627],[111.13393854748607,2.783379888268156,23.42877094972066],[82404.90000000004,1992.9000000000005,16775.0],[7804.803940522785,86.20145010381208,634.1853041501356]]|
到目前为止已经了解了这一点,并陷入了下一步
因此,我再次询问要知道新的时间序列数据流是label_1,label_2还是label_3(鉴于上述示例)需要采取的步骤。再次注意,列数可能超过1000。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)