# FORECAST(historyValues, model, params)
用来实现时间序列的预测。
时间序列预测算法原理就是根据一组给定的历史数据的值,运用科学的数学算法计算出将来的若干期可能会出现什么值。
返回值是预测结果对象,有下面这些属性和方法属性或方法名:
- value 第一个预测的值。
- error 获取时间序列分析模型的误差。
- values 返回未来多期的预测值,是一个double数组。
- allvalues 返回对过去的时期的预测值和未来的预测值,是一个double数组,forecast 函数会针对已知的历史数据也预测一下它的值,通对已知的历史数据的预测可以判断此预测模型的预测值是否接近真实值,此属性返回的数组的长度是历史数据的 长度和要预测的期数之和。
- msg 获取分析模型遇到的异常信息,是个字符串。
- state 分析模型当前的状态,是个字符串,可能是下面这些值之一:
- fail: 分析模型求解失败状态.由于模型参数或者数据的问题没有能够成功分析出结果,分析模型将处于求解失败状态;
- done: 分析模型求解完成状态.模型成功计算出分析结果时的状态,处于该状态的分析模型结果可以用于其它的分析和展示;
- warnning: 分析模型求解警告状态.模型计算出分析结果的状态,但是结果可能不是很准确;
- name 分析模型的名字信息,是个中文的模型的名称。
- hcalcy(double x) 根据给定的x值计算对应的y值,用于在统计图上绘制一个平滑的曲线,链接真实的历史值和预测值。
- fcalcy(double x) 根据给定的x值计算对应的y值,用于在统计图上绘制一个平滑的曲线,链接预测的历史值和预测值。
# 参数
historyValues 历史数据,应该是一个一维浮点数组,如[1,2,3] 或 A3$。
model 模型名,是个字符串,大小写不敏感,支持下面这些模型:
- PolyOne,一次多项式预测模型
- PolyTwo,二次多项式预测模型
- PolyThree,三次多项式预测模型
- PolyFour,四次多项式预测模型
- Expo,指数预测模型
- MoveAve,平均移动预测模型
- OnceExp,一次指数预测模型
- TwiceExp,二次指数预测模型
- WinterSeason,温特线性季节指数平滑预测模型
- BoxJenkins,博克斯-詹金斯预测模型
- Gray,灰色预测模型
- GRAYM,等价于Gray模型
- ARIMA,ARIMA时间序列分析模型,ARIMA模型的参数D=0时等价于BoxJenkins模型
- NENET,神经网络时间序列分析模型
- SEASN,季节时间序列分析模型
- TREND,趋势时间序列分析模型,此模型支持参数TREND:
- 参数TREND=LINEAR时等价于PolyOne模型
- 参数TREND=SQUARE时等价于PolyTwo模型
- 参数TREND=CUBIC时等价于PolyThree模型
- AUTO,自动时间序列分析模型,自动为用户选择一个历史误差最小的时间序列分析模型,具体来讲是从ARIMA时间序列分析模型、灰色预测模型、神经网络时间序列分析模型、季节时间序列分析模型和趋势时间序列分析模型等五个模型中按照模型的历史经验误差选取一个误差最小的模型作为最终的分析模型。
params 模型参数,是形如a=1;b=2;c=3这样的名值对,支持下列参数,大小写不敏感:
参数名称 | 参数说明 | 参数取值和含义 | 默认值 | ARIMA | GRAYM | NENET | SEASN | TREND | AUTO |
---|---|---|---|---|---|---|---|---|---|
PERIOD | 预测期数 | 正整数 | 1 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
P | 自回归阶数 | 正整数 | 1 | 支持 | |||||
D | 数据差分阶数 | 非负整数 | 0 | 支持 | |||||
Q | 移动平均阶数 | 非负整数 | 0 | 支持 | |||||
TREND | 趋势类型 | LINEAR(线性趋势), SQUARE(二次趋势), CUBIC(三次趋势), EXPONE(指数趋势) | LINEAR | 支持 | 支持 | ||||
SEASON | 季节长度 | 正整数 | 4 | 支持 |
0条评论
评论