1

拥有传感器的时间序列数据:

+----+----------+----------+------+
|day |Feature 1 |Feature 2 |target|
+----+----------+----------+------+
|0   |0.2       |0.1       |0.01  |
+----+----------+----------+------+
|... until day 30

我建立了一个 LSTM 模型,该模型根据前 7 天预测第 30 天的目标值。

model = Sequential()
model.add(LSTM(32, activation='tanh', input_shape=(num_samples, num_features))),
model.add(Dense(32, activation='relu')),
model.add(Dense(1, activation='sigmoid'))

model.compile(loss='mse', optimizer="adam", metrics=['mae', 'mse'])

模型 MSE 为 0.05,但在查看数据时,我可以看到在大多数情况下,第 30 天的目标分数在特定范围之间。所以我的模型预测大部分时间都是正确的,而在出现异常时会错过(这是我想要捕捉的)。

我研究了处理带有分类问题的不平衡数据的技术,例如过采样、欠采样和 SMOTE。但是,我找不到有关时间序列回归问题的任何信息。

4

1 回答 1

1

我对传感器数据一无所知,但你能不能估算丢失的数据元素?

import numpy as np
from sklearn.impute import SimpleImputer
imp = SimpleImputer(missing_values=np.nan, strategy='mean')
imp.fit([[1, 2], [np.nan, 3], [7, 6]])
SimpleImputer()
X = [[np.nan, 2], [6, np.nan], [7, 6]]
print(X)
print(imp.transform(X))

结果:

[[nan, 2], [6, nan], [7, 6]]


[[4.         2.        ]
 [6.         3.66666667]
 [7.         6.        ]]

https://scikit-learn.org/stable/modules/generated/sklearn.impute.IterativeImputer.html

于 2020-06-21T19:47:57.310 回答