根据预定事件和之前的行为估计电池电压

数据挖掘 时间序列 算法 预言
2022-02-26 06:21:53

我的目标是估计电池是否有足够的电量为某些其他系统供电。记录其他系统的电源状态(即是否打开),以及太阳能电池板在阳光下为电池充电的时间。这些记录是几个月前的记录。

我现在的问题是,当我想使用以前的数据和事件来估计/推断未来的电压时,我应该研究什么主题/算法(以使供电系统的调度更容易,例如如果电池将被取消则取消它们排水过多)?可以计算即将到来的充电时间,并且还可以知道系统何时通电。

所有数据集(即电压、充电时间、事件)都可以作为时间序列(但具有不同的时间戳/采样率)。

2个回答

进行某些预测的最简单方法之一是使用像 ARIMA 这样的模型,该模型查看最近的先前观察结果来预测未来的一些步骤。ARIMA 代表自回归综合移动平均线:

  • 自回归意味着某事物着眼于它自己的(自动)历史值
  • 集成指的是_differencing,一步tp帮助去除非平稳性
  • 移动平均线只是意味着模型还考虑了移动平均线(有助于将预测保持在合理的范围内)

这是对要点的详细解释。

在您的情况下,考虑到要使用的数据的天气和时间等因素,您可能会从使用季节性中受益。为此,有一个扩展的 ARIMA,称为 SARIMA - 其中 S 代表季节性。Python 的 statsmodels 包中有一个实现——或者如果你想使用 R,那么也许可以看看forecast伟大的 Rob Hyndmansarima包,或者


如果您想使用更现代和更前沿的东西,那么您实际上是在谈论递归神经网络 (RNN)。不知道你对那里有多熟悉?您应该理解的一个关键术语:LSTM - 一种考虑过去数据、当前数据并在特定时间点维护模型状态的单元。

查看演练(示例),看看它是否对您有意义。


ARIMA 类型的模型很容易运行,结果也很容易解释,所以你真的知道发生了什么。像 RNN 之类的东西的性能应该会更好,但它很少能走上成功之路……当然,这取决于你的数据。

我建议使用LSTM-RNN它们是一种非常方便的技术,可以处理基于多个输入的时间序列的特征预测。这是因为它们可以将所有输入/输出之间的时间依赖性作为黑盒处理,从而使您免于麻烦。

本教程正是您正在寻找的。它为您提供了使用 Python/Keras 快速原型化算法的代码,并且对于与您的问题非常相似的问题,它对我来说效果很好。