对于多维非线性数据的预测分析,我们选择其实不多,有几个方案:其一,用非线性回归分析,但这基于你已了解该非线性的规律去做,若它不怎么规则,那就不合适。其二,用机器学习的算法去分析,就如我的程序,我用了随机森林,但机器学习有诸多局限性,随机森林则对超出原数据边界的预测无能为力,而神经 等其它机器学习,则不能分析连续数据,若经过变换,将牺牲一定的预测效果。其三,灰色模型,这个模型则是一个很吸引人研究的东西,它的优势在于:容纳非线性数据,不用摸索数据的规律,不需要大量取样,你甚至不需要关注你在分析的是基于什么业务的数据。缺点是:方法不成熟,很多程序员写出来的灰色模型都发现了Bug,例如预测结果出现负值,奇异性无法消除,至今这些问题没有获得确实的解决方案。
无论怎样,多于某个领域,灰色模型是值得继续推广和研究的,这个领域就是描绘一些事务的展望,我们通过灰色模型,可以得到一种偏离原数据较远的展望性预测。但使用上有很多地方需要注意:
1、灰色模型数学方法的选择,目前较多使用的有有gm(1,1),gm(1,n),gm(0,n),gm(1,1)是最稳定少bug的,但这只适合一维的情况,当你要同时分析多个因素时,只能用多维的灰色模型,而二阶或高阶的灰色模型,则极少人问津,毕竟我们一阶的都没用得得心应手。然而对于gm(1,n),我是研究得最多的,我已写出R语言平台下的程序,有机会我会把源码放出。但目前gm(1,n)依然存在很多缺陷,个别预测结果出现疯狂偏离,也有负值出现。面对这些问题,目前我认为最好的解决办法是,舍缺部分相关数据,以求稳定度,我试过用改变数据的办法,如加值、无量纲、标准化等,都不凑小,唯独舍弃部分数据,达到了最好效果。至于gm(0,n),这很值得一试,其中0代表了不做微分,仅作累加的数学方法,已有人实践过此法,精确率很高,而数据还不是递增那种,而是有起伏的类型,所以我接下来会关注这个方法。
2、预测的办法,灰色模型需要提供新的自变量值才能得出预测结果,其实这点和多维回归分析一样,只不过我们做多了一维时序数据的预测,以为它可以单凭本身预测未来一段时间的走势,这就错了,它只能预测一个值,而且要输出假设或已知的个维度自变量值。另外,很多人套用数学方法写程序,程序是出来了,却无法做最后一步,获得预测结果,它只能自检精确率。其实要预测结果,我们可以加一个子程序,里面用回同样的数学方法,不同的是这次只做一次循环,具体不再阐述,因为我有更方便的方法,就是把新的自变量值加到原数据最后,一并作为灰色建模程序处理,这样输出的最后一个检验值G(n)便是要预测的值了。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!