一、功能

产生自回归滑动平均模型\(ARMA(p,q)\)的数据。

二、方法简介

自回归滑动平均模型\(ARMA(p,q)\)为

\[x(n)+\sum_{i=1}^{p}a_{i}x(n-i)=\sum_{i=0}^{q}b_{i}w(n-i)
\]

其中\(a_i(i=1,2,...,p)\)是自回归系数,\(b_i(i=1,2,...,q)\)是滑动平均系数,\(w(n)\)是白噪声。

给定白噪声\(w(n)\)的均值和方差,便可以由上式产生\(ARMA(p,q)\)的数据。

三、使用说明

是用C语言实现产生二项分布随机数的方法如下:

/************************************
a ---一维数组,长度为(p+1),ARAM(p,q)模型的自回归系数。
b ---一维数组,长度为(q+1),ARAM(p,q)模型的滑动平均系数。
p ---RAM(p,q)模型的自回归阶数。
q ---RAM(p,q)模型的滑动平均阶数。
mean ---白噪声正态分布均值mu。
sigma ---白噪声正态分布均方差sigma。
seed ---随机数种子
x ---一维数组,长度n,存放ARAM(p,q)模型的数据。
n ---放ARAM(p,q)模型的长度。
************************************/
#include "stdlib.h"
#include "gauss.c" void arma(double *a, double *b, int p, int q, double mean, double sigma, long int *seed, double *x, int n)
{
int i;
int k;
double s;
double *w; w = malloc(n * sizeof(double));
for(k = 0; k < n; k++)
w[k] = gauss(mean, sigma, seed);
x[0] = b[0] * w[0];
for(k = 1; k <= p; k++){
s = 0.0;
for(i = 1; i <= k; i++)
s += a[i] * x[k - 1];
s = b[0] * w[k] - s;
if(q == 0){
x[k] = s;
continue;
}
m = (k > q) ? q : k;
for(i = 1; i <= m; i++)
s += b[i] * w[k - i];
x[k] = s;
} for(k = (p + 1); k < n; k++){
s = 0.0;
for(i = 1; i <= p; i++)
s += a[i] * x[k - i];
s = b[0] * w[k] - s;
if(q == 0){
x[k] = s;
continue;
}
for(i = 1; i <= q; i++)
s +=b[i] * w[k - i];
x[k] = s;
}
free(w);
}

gauss.c文件参见正态分布的随机数

ARMA(p,q)模型数据的产生的更多相关文章

  1. 第二章平稳时间序列模型——AR(p),MA(q),ARMA(p,q)模型及其平稳性

      1白噪声过程: 零均值,同方差,无自相关(协方差为0) 以后我们遇到的efshow如果不特殊说明,就是白噪声过程. 对于正态分布而言,不相关即可推出独立,所以如果该白噪声如果服从正态分布,则其还将 ...

  2. 时间序列算法(平稳时间序列模型,AR(p),MA(q),ARMA(p,q)模型和非平稳时间序列模型,ARIMA(p,d,q)模型)的模型以及需要的概念基础学习笔记梳理

    在做很多与时间序列有关的预测时,比如股票预测,餐厅菜品销量预测时常常会用到时间序列算法,之前在学习这方面的知识时发现这方面的知识讲解不多,所以自己对时间序列算法中的常用概念和模型进行梳理总结(但是为了 ...

  3. 常用数字信号的产生(C实现)-ARMA模型数据生成

    ARMA模型属于信号现代谱估计的范畴,AR模型常用于信号的线性预测.AR模型最后归结为线性方程,MA最后为非线性方程,因此,AR模型使用较多. AR模型最后归结为解Yule-Walker方程,对应矩阵 ...

  4. 5、处理模型数据ModelAndView、Map、Model以及@SessionAttributes注解

    Spring MVC提供了以下几种途径输出模型数据 —— ModelAndView: 处理方法返回值类型为ModelAndView时,方法体即可通过该对象添加模型数据.数据会添加到request域中. ...

  5. springmvc学习(五)——处理模型数据

    Spring MVC 提供了以下几种途径输出模型数据: ModelAndView: 处理方法返回值类型为 ModelAndView 时, 方法体即可通过该对象添加模型数据Map 及 Model: 入参 ...

  6. SpringMVC(九):SpringMVC 处理输出模型数据之ModelAndView

    Spring MVC提供了以下几种途径输出模型数据: 1)ModelAndView:处理方法返回值类型为ModelAndView时,方法体即可通过该对象添加模型数据: 2)Map及Model:处理方法 ...

  7. Spring MVC 处理模型数据(@ModelAttribute)

    SpringMVC中的模型数据是非常重要的,因为MVC中的控制(C)请求处理业务逻辑来生成数据模型(M),而视图(V)就是为了渲染数据模型的数据. 直白来讲,上面这句话的意思就是:当有一个查询的请求, ...

  8. SpringMvc:处理模型数据

    SpringMvc提供了以下途径输出模型数据: -ModelAndView:处理方法返回值类型为ModelAndView,方法体即可通过该对象添加模型数据 -Map或Model:入参为org.spri ...

  9. Asp.Net MVC4.0 官方教程 入门指南之五--控制器访问模型数据

    Asp.Net MVC4.0 官方教程 入门指南之五--控制器访问模型数据 在这一节中,你将新创建一个新的 MoviesController类,并编写代码,实现获取影片数据和使用视图模板在浏览器中展现 ...

随机推荐

  1. JAVA 基础编程练习题49 【程序 49 子串出现的个数】

    49 [程序 49 子串出现的个数] 题目:计算字符串中子串出现的次数 package cskaoyan; public class cskaoyan49 { public static void m ...

  2. Hadoop入门学习笔记之一

    http://hadoop.apache.org/docs/r1.2.1/api/index.html 适当的利用 null 在map中可以实现对文件的简单处理,如排序,和分集合输出等. 需要关心的内 ...

  3. jquery清除元素的点击事件

    $("#id").css("pointer-events", "none");

  4. shell中变量的测试与替换

    在某些时刻我们经常需要判断某个变量是否存在,若变量存在则使用既有的设置,若变量不存在则给予一个常用的设置. (1) 变量未被设置或者内容为空,则替换为新的内容. new_var=${old_var-c ...

  5. 环境变量配置文件profile

    环境变量配置文件 在Ubuntu中有如下几个文件可以设置环境变量1./etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时, ...

  6. Mybatis插件之Mybatis-Plus(SpringBoot)

    这边只在SpringBoot下进行简单查询的测试,接下来会博客会介绍增删改的操作. 数据库表结构如下: 开始测试: 1.新建工程(trymp_springboot)并把项目结构建立好 2.导入pom. ...

  7. poj 2342 【Anniversary party】树形dp

    题目传送门//res tp poj 题意 给出一棵有权树,求一个节点集的权值和,满足集合内的任意两点不存在边 分析 每个点有选中与不选中两种状态,对于第\(i\)个点,记选中为\(sel_i\),不选 ...

  8. spark调优篇-spark on yarn web UI

    spark on yarn 的执行过程在 yarn RM 上无法直接查看,即 http://192.168.10.10:8088,这对于调试程序很不方便,所以需要手动配置 配置方法 1. 配置 spa ...

  9. taskverse学习

    简介 taskverse是<linux二进制分析>一书作者编写的一个隐藏进程的检测工具,它使用/proc/kcore来访问内核内存,github的地址在这里:https://github. ...

  10. k8s之dashboard认证、资源需求、资源限制及HeapSter

    1.部署dashboard kubernetes-dashboard运行时需要有sa账号提供权限 Dashboard官方地址:https://github.com/kubernetes/dashboa ...