草庐IT

线性模型:AR、MA、ARMA、ARMAX、ARX、ARARMAX、OE、BJ等

AI强仔 2023-06-05 原文

目录

1 AR 1
2 MA 1
3 ARMA 1
4 ARMAX 2
5 ARX 2
6 ARARX 3
7 ARARMAX 3
8 OE 3
9 BJ 3
10. ARIMA

各种线性模型,这些模型算数学基础模型,不仅在计量经济学,也在工业控制等各领域有应用。包括AR、MA、ARMA、ARMAX、ARX、ARARMAX、OE、BJ等。

1 AR

自回归模型(Autoregressive model,简称AR模型)。指x与x自己之前的状态(t-i)相关,公式如下:

2 MA

q阶移动平均(moving average)模型,简记为MA(q)。主要指x和随机误差(噪声)ε及之前t-i的随机误差(噪声)ε有关,公式如下:

3 ARMA

自回归滑动平均模型(Autoregressive moving average model,简称:ARMA模型)。是研究时间序列的重要方法,如模型标题所述,ARMA由自回归模型(简称AR模型)与移动平均模型(简称MA模型)为基础“混合”构成。

公式如下,将x换成了y,一个意思。即y和(t-q)之前的y、(t-q)的随机误差ε、t时的ε相关。

4 ARMAX

ARMAX(Autoregressive Moving Average with Extra Input)。
在ARMA基础上增加了一个额外输入项u,公式如下,其中e指ε:

矩阵表示可简化为,其中q表示向前追溯:

即A(q)提供了输入和噪声共同的极点(分母为0时,A(q)移到等式右边就变为分母了),B(q)时提供输入零点。

5 ARX

有源自回归(Auto-Regressive with Extra Inputs,ARX)模型。ARX就是AR模型加了一个额外输入。或者说ARX等于ARMAX去掉MA,即去掉(t-q)之前的随机误差ε,也就是去掉ARMAX公式的C,如下,v(t)只是当前随机误差,无(t-q)之前的:

6 ARARX

可以看到和ARMAX很像,C变成1/D,分子变分母,就增加了极点(分母等于0时),提供了噪声(误差)的极点表示。其中A(q)提供了输入和噪声共同的极点,而D只是提供噪声的极点。

7 ARARMAX

在ARMAX基础上增加了1/D,即不仅有C也有D。

8 OE

输出误差模型(output error)。
不同于ARX的是,没有了A(q),即没有提供了输入和噪声共同的极点;而是换成了F,只提供输入的极点。

9 BJ

Box-Jenkins模型。在OE模型基础上增加了C、D,故BJ模型对输入和噪声均可独立建模。

10.ARIMA

ARIMA(p,d,q)模型是ARMA(p,q)模型的扩展.

ARIMA模型(英语:Autoregressive Integrated Moving Average model),差分整合移动平均自回归模型,又称整合移动平均自回归模型(移动也可称作滑动).

增加了差分项,即t与t-1项的差。 而二阶差分是指,再第一次差分的基础上再做差分,而不是t与t-2的差。

能够适用ARMA模型进行分析预测的时间序列必须满足的条件是平稳非白噪声序列。

非平稳时间序列,在消去其局部水平或者趋势之后,其显示出一定的同质性,也就是说,此时序列的某些部分 与其它部分很相似。这种非平稳时间序列经过差分处理后可以转换为平稳时间序列,那 称这样的时间序列为齐次非平稳时间序列,其中差分的次数就是齐次的阶。

有关线性模型:AR、MA、ARMA、ARMAX、ARX、ARARMAX、OE、BJ等的更多相关文章

  1. ruby - ActiveRecords 选择(:id). 收集与采摘(:id) methods: Why is pure AR "pluck" slower? - 2

    我正在尝试从我的文章模型中获取所有ID。我可以通过两种方式做到这一点:Article.select(:id).collect{|a|a.id}ArticleLoad(2.6ms)SELECT"articles"."id"FROM"articles"或2.2.1:006>Article.pluck(:id)(4.3ms)SELECT"articles"."id"FROM"articles"什么给了?为什么AR比Ruby版本慢?即使我对Ruby方法进行基准测试,它似乎也更快:Benchmark.measure{Article.select(:id).collect{|a|a.id}}Art

  2. 线性代数让我想想:快速求三阶矩阵的逆矩阵 - 2

    快速求三阶矩阵的逆矩阵前言一般情况下,我们求解伴随矩阵是要注意符号问题和位置问题的(如下所示)A−1=1[  ][−[  ]−[  ]−[  ]  −[  ]]=A−1=1[  ][   M11−[M12]   M13−[M21]   M22−[M23]     M31−[M32]   M33]⊤\begin{aligned}&A^{-1}=\frac{1}{[\\]}\left[\begin{array}{cccccc}&-[\\]&\\-[\\]&&-[\\]\\\\&-[\\]&\\\end{array}\right]=\\\\&A^{-1}=\frac{1}{[\\]}\left[\b

  3. 用于进行线性或非线性最小二乘近似的 Ruby 库? - 2

    是否有Ruby库允许我对一组数据进行线性或非线性最小二乘法逼近。我想做的是:给定一系列[x,y]数据点针对该数据生成线性或非线性最小二乘法近似值库不必弄清楚它是否需要进行线性或非线性近似。库的调用者应该知道他们需要什么类型的回归我不想尝试移植某些C/C++/Java库来获得此功能,因此我希望有一些现有的Ruby库可供我使用。 最佳答案 尝试使用“statsample”gem。您可以使用下面提供的示例执行对数、指数、幂或任何其他转换。我希望这有帮助。require'statsample'#IndependentVariablex_da

  4. 图形学-变换(平移矩阵,旋转矩阵,缩放矩阵,线性变换,仿射变换,齐次坐标) - 2

    1.变换1.1什么是变换?变换(Transform)是计算机图形学中非常重要的一部分。变换包含模型变换(Modelingtransform)以及视图变换(Viewtransform)。模型变换指的是变换模型(被拍摄物体)的位置,大小和角度;视图变换指的是变换照相机的位置和角度。从相对运动的角度来看,两种变换是可以相互转化的。1.2模型变换1.2.1二维变换缩放变换缩放变换(Scale)中,如果一个图片以原点(0,0)为中心缩放𝑠倍。那么点(𝑥,𝑦)变换后数学形式可以表示为写成矩阵形式为:当然,我们也可以给x轴和y轴不同的缩放倍数𝑠𝑥和𝑠𝑦。在非均匀情况下,缩放变换的矩阵形式为反射变换反射变换(

  5. 记录一次挖矿病毒kthreaddk和rcu_bj,导致CPU飙高处理 - 2

    htop命令存在kthreaddk和rcu_bj进程,cpu飙高 占用一般cpu或者70-80%1、检查定时任务查看是否有#crontab-l 检查root账号是否有异常定时任务有的话crontab-e修改定时任务保存并检查所有的用户有没有定时任务(注:我的是gitlabgit账户被入侵)异常进程直接删除crontab-ugit-l查看git账号是否有异常定时任务 如有恶意定时任务删除#ls-l/proc/pid  查看进程文件#crontab-r  清空定时任务2、删除相关植入的恶意文件文件中/usr/lib/sys恶意文件 直接清空文件数据脚本执行先杀进程再清空日志后回收内存基本可以清掉数

  6. 数据结构笔记NO.1(绪论、线性表、栈队列和矩阵的压缩存储) - 2

    第一章、绪论1、数据结构三要素:逻辑结构、存储结构(物理结构)、数据的运算。(1)逻辑结构:是指数据元素之间的逻辑关系,即从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。(2)存储结构(物理结构):是指数据在计算机中的表示(又称映像),是用计算机语言实现的逻辑结构,它依赖于计算机语言。顺序存储:把逻辑上相邻的元素存储在物理位置上也相邻的存储单元中,元素之间的关系由存储单元的邻接关系来体现(e.g.数组)。优点:①可以实现随机存取;②每个元素占用最少的存储空间;缺点:只能使用相邻的一整块存储单元,因此可能产生较多的外部碎片;链式存储:不要求逻辑上相邻的元素在物理位置上也相邻,借助指示

  7. sql - 何时使用 ORM(Sequel、Datamapper、AR 等)与纯 SQL 进行查询 - 2

    我的一位同事目前正在设计如下所示的SQL查询以生成报告,这些报告通过外部数据查询显示在excel文件中。目前只需要DB上的上报流程(无CRUD操作)。我试图说服他最好使用ruby​​ORM以便能够在rails/sinatra应用程序中显示数据。尽管在显示数据方面有明显的优势,但学习使用像Sequel或Datamapper这样的ORM对他有什么优势?他正在编写的SQL查询显然相当复杂,并且对SQL比较陌生,他经常提示它非常耗时且令人困惑。是否可以使用ORM编写极其复​​杂的查询?如果是这样,哪个最合适(我听说Sequel对遗留数据库有好处)?在进行复杂的数据库查询时,学习Ruby和使用O

  8. ruby - 在 Ruby 中创建一个线性嵌套哈希? (我来自 Perl) - 2

    我是一个Perl的人,我已经做了一段时间这样的哈希:my%date;#Assumethescalarsarecalledwith'my'earlier$date{$month}{$day}{$hours}{$min}{$sec}++现在我正在学习Ruby,到目前为止我发现使用这棵树是做很多键和一个值的方法。有什么方法可以只用一行来使用我在Perl中使用的简单格式吗?@date={month=>{day=>{hours=>{min=>{sec=>1}}}}} 最佳答案 不幸的是,没有简单实用的方法。一个Ruby等价物将是一个丑陋、丑陋

  9. 基于线性矩阵不等式LMI的鲁棒H无穷控制算法设计,多性能指标的H无穷控制算法推导,多面体模型 - 2

    catalogue关键字一些符号和特殊表示预备知识正文(一)不确定系统的数学表示(二)线性时不变定常系统的LMI稳定性定理(判据)2.1系统模型2.2当u=w=0时系统的LMI稳定性判据2.3.当u=0,w!=0时的保H无穷性能定理(三)多面体模型表示的不确定系统在不同工况下的稳定性定理3.1不确定系统模型的多面体表达式3.2参数无关的鲁棒状态反馈控制率:u=kx3.2.1闭环系统鲁棒稳定性3.2.2闭环系统鲁棒稳定性、保H无穷性能3.3参数相关的鲁棒状态反馈控制率:u=ai*ki*x3.3.1.状态反馈控制下的闭环系统鲁棒稳定性定理(w=0)3.3.2.状态反馈控制下的保H无穷性能、闭环系统

  10. javascript - 变换矩阵线性组合的旋转动画导致放大缩小 - 2

    我有一个3x3矩阵(startMatrix),它表示图像的实际View(平移、旋转和缩放)。现在我创建一个新矩阵(endMatrix),它有一个恒等矩阵、新的x和y坐标、新的Angular和新的比例,例如:endMatrix=translate(identityMatrix,-x,-y);endMatrix=rotate(endMatrix,angle);endMatrix=scale(endMatrix,scale);endMatrix=translate(endMatrix,(screen.width/2)/scale,screen.height/2)/scale);和功能(标准的

随机推荐