我的目标是估计电池是否有足够的电量为某些其他系统供电。记录其他系统的电源状态(即是否打开),以及太阳能电池板在阳光下为电池充电的时间。这些记录是几个月前的记录。
我现在的问题是,当我想使用以前的数据和事件来估计/推断未来的电压时,我应该研究什么主题/算法(以使供电系统的调度更容易,例如如果电池将被取消则取消它们排水过多)?可以计算即将到来的充电时间,并且还可以知道系统何时通电。
所有数据集(即电压、充电时间、事件)都可以作为时间序列(但具有不同的时间戳/采样率)。
我的目标是估计电池是否有足够的电量为某些其他系统供电。记录其他系统的电源状态(即是否打开),以及太阳能电池板在阳光下为电池充电的时间。这些记录是几个月前的记录。
我现在的问题是,当我想使用以前的数据和事件来估计/推断未来的电压时,我应该研究什么主题/算法(以使供电系统的调度更容易,例如如果电池将被取消则取消它们排水过多)?可以计算即将到来的充电时间,并且还可以知道系统何时通电。
所有数据集(即电压、充电时间、事件)都可以作为时间序列(但具有不同的时间戳/采样率)。
进行某些预测的最简单方法之一是使用像 ARIMA 这样的模型,该模型查看最近的先前观察结果来预测未来的一些步骤。ARIMA 代表自回归综合移动平均线:
这是对要点的详细解释。
在您的情况下,考虑到要使用的数据的天气和时间等因素,您可能会从使用季节性中受益。为此,有一个扩展的 ARIMA,称为 SARIMA - 其中 S 代表季节性。Python 的 statsmodels 包中有一个实现——或者如果你想使用 R,那么也许可以看看forecast伟大的 Rob Hyndman的sarima包,或者包。
如果您想使用更现代和更前沿的东西,那么您实际上是在谈论递归神经网络 (RNN)。不知道你对那里有多熟悉?您应该理解的一个关键术语:LSTM - 一种考虑过去数据、当前数据并在特定时间点维护模型状态的单元。
查看演练(示例),看看它是否对您有意义。
ARIMA 类型的模型很容易运行,结果也很容易解释,所以你真的知道发生了什么。像 RNN 之类的东西的性能应该会更好,但它很少能走上成功之路……当然,这取决于你的数据。
我建议使用LSTM-RNN。它们是一种非常方便的技术,可以处理基于多个输入的时间序列的特征预测。这是因为它们可以将所有输入/输出之间的时间依赖性作为黑盒处理,从而使您免于麻烦。
本教程正是您正在寻找的。它为您提供了使用 Python/Keras 快速原型化算法的代码,并且对于与您的问题非常相似的问题,它对我来说效果很好。