首页 > 代码库 > 时间序列分析之 ARIMA 模型的JAVA实现
时间序列分析之 ARIMA 模型的JAVA实现
最近要用ARIMA模型预测用户的数量变化,所以调研了一下ARIMA模型,最后用JAVA实现了ARIMA算法。
一、ARIMA原理
ARIMA的原理主要参考的是ARIMA原理。
二、JAVA实现
弄懂了原理,用JAVA进行了实现,主要参考的步骤是ARIMA实现步骤,JAVA代码如下
(1)AR类,用于构建AR模型
package arima; import java.util.*; public class AR { double[] stdoriginalData=http://www.mamicode.com/{};>
(2)MA类,用于构建MA模型
package arima; import java.util.Vector; import arima.ARMAMath;
public class MA { double[] stdoriginalData=http://www.mamicode.com/{};>
(3)ARMA类,用于构建ARMA模型
package arima; import java.util.*; public class ARMA { double[] stdoriginalData=http://www.mamicode.com/{};>
(4)ARIMA类,用于构建ARIMA模型
package arima; import arima.ARMAMath; import java.util.*; public class ARIMA { double[] originalData=http://www.mamicode.com/{};>
(5)ARIMAiFlex类,用于构建AR模型
package arima; import java.util.Hashtable; import java.util.*; public class ARIMAiFlex { int count=0; int [] model=new int[2]; int[][] modelOri=new int[][]{{0,1},{1,0},{1,1},{0,2},{2,0},{2,2},{1,2},{2,1},{3,0},{0,3},{3,1},{1,3},{3,2},{2,3},{3,3}}; modelandpara mp=null; int predictValuetemp=0; int avgpredictValue=http://www.mamicode.com/0;>
(6)ARMAMath类,常见的数据计算任务
package arima; import Jama.Matrix; public class ARMAMath { public double avgData(double[] dataArray) { return this.sumData(dataArray)/dataArray.length; } public double sumData(double[] dataArray) { double sumData=http://www.mamicode.com/0;>
(7)test1,用于导入数据进行测试
package arima; import java.io.*; import java.util.ArrayList; import java.util.Scanner;
public class test1 { public static void main(String args[]) { Scanner ino=null; try { /*********************************************************/ ArrayList<Double> arraylist=new ArrayList<Double>(); ino=new Scanner(new File("E:\\work\\Arima\\Arima\\Data\\ceshidata.txt")); while(ino.hasNext()) { arraylist.add(Double.parseDouble(ino.next())); } double[] dataArray=new double[arraylist.size()]; for(int i=0;i<dataArray.length;i++) dataArray[i]=arraylist.get(i); ARIMAiFlex myarima=new ARIMAiFlex(dataArray); currentAlgorithm cc=new currentAlgorithm(dataArray); /*********************************************************/ } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ ino.close(); } } }
时间序列分析之 ARIMA 模型的JAVA实现
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。