java 时间序列预测_如何进行时间序列简单预测?

这篇博客展示了如何在Java中使用ARIMA模型进行时间序列预测。通过SparkSession读取CSV数据,转换为Double类型并应用ARIMA模型进行预测,最后输出未来10个观测值的预测结果。
摘要由CSDN通过智能技术生成

是的我已经将ARIMA应用于单一变量时间序列的火花中 .

public static void main(String args[])

{

System.setProperty("hadoop.home.dir", "C:/winutils");

SparkSession spark = SparkSession

.builder().master("local")

.appName("Spark-TS Example")

.config("spark.sql.warehouse.dir", "file:///C:/Users/abc/Downloads/Spark/sparkdemo/spark-warehouse/")

.getOrCreate();

Dataset lines = spark.read().textFile("C:/Users/abc/Downloads/thunderbird/Time series/trainingvector_arima.csv");

Dataset doubleDataset = lines.map(line>Double.parseDouble(line.toString()),

Encoders.DOUBLE());

List doubleList = doubleDataset.collectAsList();

//scala.collection.immutable.List scalaList = new

Double[] doubleArray = new Double[doubleList.size()];

doubleArray = doubleList.toArray(doubleArray);

double[] values = new double[doubleArray.length];

for(int i = 0; i< doubleArray.length; i++)

{

values[i] = doubleArray[i];

}

Vector tsvector = Vectors.dense(values);

System.out.println("Ts vector:" + tsvector.toString());

//ARIMAModel arimamodel = ARIMA.fitModel(1, 0, 1, tsvector, true, "css-bobyqa", null);

ARIMAModel arimamodel = ARIMA.autoFit(tsvector, 1, 1, 1);

Vector forcst = arimamodel.forecast(tsvector, 10);

System.out.println("forecast of next 10 observations: " + forcst);

}

这段代码适合我 . 此处,您要预测的任何值都将作为输入数据传递 .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值