背景:去年夏季接触了这个课题,中间一直在做别的事情,直到最近才又开始研究。
在系统建立之初,是想使用arima模型(因为当初刚开始接触时间序列时,arima模型的文章比较多,理论相对成熟。后来才知道,这个模型预测,并不太好用),进行时间序列的预测模型,后来发现网上由一些编程语言实现的arima模型,存在很多问题,在matlab上的arima模型相比与python以及java的所实现的arima模型,其预测精度明显更高,python版本的arima模型很一般,java版本的最次(仅仅比较在相同数据集的情况下arima模型的预测误差),这或许是因为matlab是专业的收费产品,又或者它的底层源码算法对于arima模型的过程有过改进。
相比之后,决定使用matlab与java混编,进行arima模型的建立,但是很尴尬,由于没有购买matlab,所以在linux中,使用MCR(matlab自带的专门用于构建没有安装matlab的机器上的运行时,可以在没有matlab的机器上运行它的一些函数),容易程序崩溃,而崩溃的原因或者其它一些古怪的错误,发至官网寻求帮助(网上搜索不到错误的解决方案,但是碰到过相同的错误,最后的结果只能是换正版,由官方来解决,或者干脆不用matlab与java进行混编),官网就说,把许可证拿来,才会回复和解决。。。。无奈只能放弃这个道路。
但是系统仍然要建,那么只能从简单开始写起,那么就是移动平均、加权移动平均,指数平滑。它们的精度不咋地。
而后逐渐加大一些难度,线性回归,时间序列分解,多项式,趋势分解等等,那么后面会逐个把所有的算法以及代码实现等内容慢慢补充。
算法仅仅是系统的一部分,即便所有的算法都完成,距离系统的建立还差很多。
未完待续。