【发布时间】:2019-10-09 17:33:33
【问题描述】:
数据集有时间戳和水流值,现在我想对数据进行建模,以便如果出现任何异常值(突然峰值或非常低的值),它应该发送一个错误通知。我已经尝试使用 ARIMA 模型来训练数据,因为它是时间序列,但它不会产生相关结果,这意味着我做错了。所以请指导我。谢谢。数据集的链接是:https://drive.google.com/open?id=1cFHSVpY0XBxsEayl2k1cK4_qWZ4PvDBd
from sklearn.linear_model import LinearRegression
features = [col for col in x2.columns if 'day' in col]
X = x2['median'].reshape(-1,1)
y = x2['time']
# create linear regression object
reg = linear_model.LinearRegression()
# train the model using the training sets
reg.fit(X, y)
# regression coefficients
print('Coefficients: \n', reg.coef_)
我尝试使用每个时间间隔的所有水流值的中位数作为目标变量,但它也会产生负方差分数。
预期结果应该是给定时间的水流值,它表明它是否在正常范围内。
【问题讨论】:
-
水流正常是什么意思?
-
那么您是否使用过
reg.predict()并使用置信区间来检查正常值? -
@AbhineetGupta 水流正常意味着它在一个范围之间。此处指定的值是正常范围。如果它达到峰值或过低,则被视为异常行为
标签: python machine-learning time-series arima non-linear-regression