D0I:10.13374/j.issn1001-053x.1987.01.008 北京钢·铁学院学报 第9卷第1期 Journal of Beijing University Val.9 No.1 1987年1月 of Iron and Steel Technology Jan。1987 AR模型的两种 计算量较小的建模方法 张思宇 陈克兴 (冶金机械教研室) 摘 要 建棋方法是时间序列分析的核心问题之一,本文给出了两种基子最小二乘法的自回归模 型(AR模型)的建棋方法,采取预留少量数据递补进入计算的办法,使矩阵XTX可以用分块 矩阵求逆公式递推求逆,或者用矩阵的Crouts分解法递推求解。同时引入了Wino唱rad向盘内 积快速算法,充分利用各向量和各矩阵之间的关系来减少计算工作量。使计算量比一般最小 二乘建棋方法大幅度减少,达到与Marple©算法和Butg的最大熵谱法可比的径度, 关键词:建模,数据递补,递推 Two Modelling Methods of AR with Less Computational Operations Zhang Siyu Chen Kexing Abstract Method of modelling is a major question of the time series analysis.Two modelling methods,of autoregressive (AR)model based on the LS approach are proposed in this paper.By means of reserving a few data to enter calcu- lating successively,the matrix XTX can be inversed recursively by the inver- sing formula of block matrix or result from the Crout resolving method.Mo- reover,a quick scalar product algorithm,advanced by S.Winograd,is emp- 1985-10-17收税 48
第 卷 第 期 北 京 钢 铁 学 院 学 报 入 。 年 月 。 模型的两种 计算量较小的建模方法 张思宇 陈克兴 冶金机械教研室 摘 要 建模方法是时 间序列分析的核心 问题之一 本文给出了两种基于最小二乘法的 自回归 模 型 人 模型 的建模方法 。 采取预留少量数据递补进入计算的办法 , 使矩阵 可以 用分块 矩阵求逆公式递推求逆 , 或者 用矩阵的 分解法递推求解 同时引入了 向量 内 积快速算法 , 充分利用各向量和各矩阵之间 的关系来减少计算工作量 。 使计算量比一般最小 二乘建模方法大幅度减少 , 达 到与 算法和 的最大嫡谱法可比的程度 。 关键词 建模 , 数据递补 , 递推 夕 少“ ” 夕 衫 价 , , , , 一 一 收 稿 DOI :10.13374/j .issn1001-053x.1987.01.008
loyed and the relations between vectors or matrices are applied for reducing computational operations,The operations have been largely reduced so that they are less than the operations of normal LS approach,and they can be compared with the famous Marple algorithm and Burg's maximum entropy spectral analysis method. Key words:modelling,supplement data successively,recursion 引 言 自回归模型(AR模型)是时间序列分析方法常采用的模型。它的形式简单,建模比较容 易。在许多场合还用来代替较为复杂的自回归滑动平均模型(ARMA模型),以简化模型结 构和减少建模计算工作量1)。 建模方法是时间序列分析的核心问题之一。AR模型的建模方法有最小二乘估计、最小 平方和估计、极大似然估计等几类(23)。其巾基于最小二乘原理的建模方法有多种,并且包括 几种递推算法(3,4)。本文基于最小二乘估计的基本原理,在样本数据的取用上与常用的AR 建模方法不同,从而导出了两种新的建模方法。其中引入了Winograd向量内积快速算法, 并充分利用建模过程中各量之间的关系来减少计算工作量,使之达到与Bu「g的最大熵谱法和 Marple算法(5)可比的程度。 1预留候补数据和递推求逆 设有一组样本数据{X,X,…,X},它构成一个平稳的、均值为零的时间序列。可以 用一个n阶的自回归模型来描述它: X:=Pa,IXt-1+a,zXt-2+..+aXt-n+at a:~NID(0,o)。 (1) 这个模型记为AR((n)。建模的任务是以一定的方法估计出上式中的n个模型系数(Pn,, P,2,…,P。,。)。最小二乘估计定义残差平方和 E,,6=之a=之(X-pa,1X1-po,eX-2--Pain Xt-n)2。(2) t-a 这里若改变,b可以得到不同的数据取用形式。然后,利用多元函数求极值的方法,在残差平 方和最小的意义下估计出AR模型的系数。用矩阵表示为Φ,=(XtX)-1XY。当a= n+1,b=N时(N是样本长度),上式中 Xn………X X+1 X= Pa,n XN-1…XN-n XN 49
五 , , , , 引 言 自回归模型 模型 是时 间序列分析方法常采 用的模型 。 它 的形式简单 , 建模比较容 易 。 在许多场 合还 用 来代替较为 复杂 的 自回归滑动平均模型 模型 , 以简化模型 结 构 和减少 建模计 算工作量〔 〕 。 建模方法是 时 间序列分析的核心 问题之一 。 模型 的建模方法有最小二 乘估 计 、 最 小 平方和估计 、 极大似然估计 等几 类, 〕 。 其 中基 于最小二乘原理 的 建模方法有 多种 ,并 且包 括 几种递 推算法 〔 ” , 魂〕 。 本文基于最小二 乘估计的基本原理 , 在样本数据的取 用 上与常用 的 建模方法 不 同 , 从而 导 出 了两 种新的建模方法 。 其 中引人 了 向量 内积快速算法 , 并充分利 用 建模过程中各量之 间的关 系来减少计 算工作量 , 使 之达到与 的最大嫡谱法 和 算法〔 〕可 比的程度 。 预 留候补数据和递推求逆 设 有一 组样本数 据笼 , , … , , 它构 成一个平稳 的 、 均值为 零的时 间序列 。 可 以 用 一个 阶的 自回归模型 来描述它 甲 。 , 一 甲 。 , 一 … 甲 。 , 。 一 。 , 孟 。 这 个模型记为 。 建模的任 务是 以一定 的方法 估计 出上 式 中的 个模型系数 甲 。 , ,… ,甲 。 , 。 。 最 小二乘估计 定 义残 差平方和 ‘ 甲 , , 。 , , 万 圣 艺 一 甲 。 , , 一 , 一 甲 。 , 卜 一 、一 甲 。 , 。 卜。 。 这 里 若改 变 , 可 以 得到不 同的数 据取用 形 式 。 然后 , 利用 多元 函数 求极值的方法 ,在残差平 方 和最小 的意 义 下估计 出 模型 的系数 。 用 矩 阵 表 示 为巾 ‘ 二 一 ’ 丁 。 当 二 , 时 是 样本长度 , 上式中 示 二 一 · · … 一 。 一 、 刁‘ … , … ︿切甲
这就是常用的普通最小二乘AR模型建模方法。 最小二乘估计具有精度高,所得到的自回归谱的性能优良等优点。如文献〔3〕指出的, 它是目前最基本的AR模型的建模方法之一。然而上述公式的直接求解,无论采用什么解法计 算量都比较大;并且它一般只适合一次去估计一个某阶数的模型,在最佳模型的阶数未知的 情况下是不利的。这是普通最小二乘建模方法的两个主要弱点。这里采用预留少量数据递补 进入计算的办法,使这两个弱点同时得到改善,并且不损失估计精度。 令样本数据序列的排列为{X-m,X-m+1,…,X一1,X0,X:,…,XN},其中{X-m, X-m+1,…X一1}一段称为候补数据序列。 令a=1,b=N,由(2)式对于AR(n)有: E,m=芝a,=芝(X,-9a,1-1--paaX-a) (3) 它的解Dn=Cpa,:,pn,2,…,pa,n)T=(XXa)-1XY, (4) 其中: Xo X,…X-n+1 X0…X-n+2 X: Xn= (5) XN-1 XN-2 XN- X 这里数据的取用长度是{X一n十1,·,X、}。每次升阶时,由候补数据序列中依次递补上 个数据。对于AR(n+1)模型有 E+1,1,N=空a:=芝(X,-pa+1,1X-1--pa+1,+1X-a-) (6) t=1 t=1 解为: n+1=[+1,,n+1,n1=(XTo+iXn+1)-1X'n+iY (7) 其中 X0X1…X-m+1|X-n X1 X:X0…X-n+2|X-a+1 X2 Xm+1= 」: =〔XnZn〕,Y= (8) l8 XN-1 XN-2 XN-n XN-n-1 N 这里数据的取用长度是{X-,…,XN}。递补了X-n一个数据。X矩阵的行数不变,右侧 增加了一列Z。,Y矩阵不变。这时有性质: XX+-〔2]x2-〔22z, (9) 4v-[)Y=CY. (10) 这里XTn+1Xa+1矩阵的左上角n×n阶方阵就等于X:Xm,且XTa十1Y列向量的前n个元素 就等于XY。(9)式的结构刚好可以利用矩阵分块求逆公式来计算它的逆,并且与低一阶 50
这就是常用 的普通最小二乘 模型建模方法 。 最小二乘估计 具有精 度高 , 所得到 的 自回归谱的性能优 良等优 点 。 如文献 〔 〕 指出的 , 它是 目前最基 本的 模型的建模方法 之一 。 然而上述 公式的直接求解 , 无论采 用什么 解法计 算量都 比较大 并且它 一般 只适合一次去估计一 个某阶数 的模型 , 在最佳模型 的阶数未知 的 情况 下是 不利 的 。 这 是 普 通 最小 二 乘建模方法 的两 个主要 弱 点 。 这里 采 用预 留少量数据递 补 进 人计算的办法 , 使这两 个弱 点 同时得到 改善 , 并且不损失估计精度 。 令样本数据 序列 的排列为 一 , 一 , … , 一 , 。 , , … , , 其中 一两 一 , … 一 一 段称 为候补数 据序列 。 令 , , 由 式对 于 有 , , ,。 二 艺 艺 一 甲 。 , 一 一 · 一 甲 , 。 一 一 盛 它 的解 其 中 巾 。 〔切 。 , , 甲 , , … , 印 。 , 。 〕 百 。 一 百 , … 一 … 一 悦 ,﹄ 一 … 。 一 这 里 数 据的取用长度是 一。 , … , 。 每 次升 阶时 , 由候补数据序列 中依次递 补上 一个数据 。 对 于 模型有 , , , 、 艺 圣 叉 一 尸、 , 甲 一 甲 , , , 一 · 一 甲 , 。 一 一 “ 解 为 其 中 中 〔 印 , ,, … 〕 二 了 一 叫 一 、 十 气 一 一’ 二 一 一 一 一 一 , 〔 ‘ 〕 ’ ‘ 七…、 … ﹄ 这 里数据 的取 用长度 是 一 。 , … , 。 递 补了 石 一个数据 。 矩 阵的行数不 变 , 右侧 增加 了一列 。 , 矩 阵不 变 。 这 时有性质 ’ 一 十 〔和 〔 · · 〕 〔数 尝〕 〔 撰〕 〔 粼〕 。 这 里 叶 矩 阵的左 上 角 只 渝方 阵就等 于 工 。 , 且 。 列 向量 的前 个元 素 就等于 万 。 式的结构刚好 可 以利 用矩阵分块求逆公式来计算它 的逆 , 并且与低一阶
矩阵的逆(XXn)1构成递推关系。(10)式则直接给出了XT。+1Y与XY的关系。 分块矩阵的求逆公式如下(6):设R矩阵是一个非奇异矩阵, R-〔8H, 则 E-1+E-1FDGE-1-E-1FD-1 R-1= -D-1GE-1 D-1 其中D=H-GE~1F。把(9)式代入此公式,并设 R。1=(XXn)1,有 R:1+-1-RiiXi1ZaZiX.Ri1--1-R-1nXiZo R1a+1=(XTn+1Xm+1)1= Ca an -1ZiXRal 1 (11) 其中aa=ZZn-ZX.R1XZn。 (12) 这就建立了AR(n)和AR(n+1)模型之间的递推关系。由求AR(n)模型时已知 的Ra1=(XXm)~1递推求出(X"n+1Xm+1)-1,进而求得AR(n+1)模型,从而减少了 计算量。目前一般的AR模型建模策略是:先逐个求出AR(1)、AR(2)、…AR (如ax)这样若千个模型,然后根据一定的检验准则,并考虑其它因素,如AR谱的质量,模型 的精度等,最后选定其中某一阶模型AR(n)(1≤n≤nmax),作为最终模型。本文提出 的方法适用于这二过程。取预留数据个数m≥nmax即可。 除样本很短,没有预留数据的余地外,该方法是可行的。虽然当模型阶数变化时,数 据的取用长度有变化,但变化很小。同时就每一阶模型而言,无论等于几,都是独立地由 最小二乘估计得出的,在残差平方和最小的意义下都是精确的,没有损失估计精度。 2减少计算量的其它措施 我们研究了各运算过程量的多种形式、规律和特点,以及以往常用的最小二乘法计算机 程序,认为有下述一些关系和方法可用来进一步减少计算工作量。 (1)XTX矩阵是对称矩阵,由线性代数的基本定律可知R-1=(XTX)·1也是对称矩 阵,因此只需计算它的上三角区元素就可以了。 (2)由于采用递补数据的办法,有一系列递推关系可以利用,这是本文方法突出的优 点。 设 r(0,0) (0;1)…r(0,n-1) XIX= r(1,0) r(1,1)…r(1,n-1) (13) r(n-1,0)r(n-1,1)…r(n-1,n-1) N1 其中r(i,j)=∑X-iX-j。 (14) t=0 51
矩 阵的逆 万 。 一 ‘ 构 成递推关 系 。 式 则直接给 出了 。 与 二 的关系 。 厂仗 、尸 分 块粗阵的求 逆 公式如下 一 〔 〕 设 矩 阵 是一个非 奇 异矩 阵 , 则 一 〔 一 一 一 一 一 尸 一 ’ 〕 其中 一 一 ‘ 。 把 式代 入此公式 , 并设 石 二 百 。 一 ‘ , 有 一 。 一 一 , , 百 。 孟 一 一 一 。 万 。 一鱼一 王 孟‘ 其中 。 百 。 一 蕊 ‘ 石‘ 百 这 就建立 了 和 十 模型 之 间的递 推关 系 。 由求 模 型 时 已知 的 孟‘ 王 。 一 ‘ 递 推求 出 、 一 ‘ , 进而 求 得 模型 , 从而减少 了 计算量 。 目前一般的 模型 建模 策 略 是 先 逐 个 求 出 、 、 … 二 这 样若 干个模型 , 然后根据一 定 的检验准 则 , 并考虑 其它 因素 , 如 谱 的质量 , 模型 的精度等 , 最后选定 其 中某一 阶模型 《 《 , 作为最终模型 。 本文提 出 的方法适 用于这一 过 程 。 取预 留数据个数 二 即可 。 除样本很短 , 没 有预 留数 据 的 余地 外 , 该 方法 是可行 的 。 虽然 当模型 阶数 变化时 , 数 据的取用长度有 变化 , 但 变化 很小 。 同时就每一 阶模型而言 , 无论 等于几 , 都 是独 立地 由 最小 二乘估计得 出的 , 在 残差 平方和 最小 的意义 下都是精确 的 , 没 有损失估计精度 。 减少计算量 的其它措施 我 们研究 了各运算过程量 的 多种 形 式 、 规律和特 点 , 以 及以 往常 用 的最小二乘法计算机 程 序 , 认为有下述 一些关 系和方法 可 用来进一步减 少计算工 作量 。 ’ 矩 阵是对称矩 阵 , 由线 性代数 的基本定律可知 一 ‘ ’ 一 ‘ 也 是对称矩 阵 , 因此 只需 计算它 的上三角区元 素就可 以 了 。 由于采 用递 补数据的办法 , 有一 系列递推关 系可 以利 用 , 这 是 本文方法突 出的优 点 。 万 。 , 万 … , , … 一 , 一 , … 一 , 一 其中 , 一 艺 一 一
又 r(0,0)…r(0,n-1)1r(0,n) X+1X+1= r(n-1,0)…r(n-1,n-1)1r(n-1,n) 1---- 〔经. r n,0)...r n,n-1)I r(n,n) N一1 于是ZZ。=r(n,n)=∑X2t-,考虑到由XTa-1Xm-1递推到XX时有Zn-1Zm-1 t0 N-1 =r(n-1,n-1)=∑X2t-n+1。有递推关系 t=0 N-1 N-1 Z日Z。=zX2-n=ΣXt-n+1-X2N-n+X2_n=ZTn-1Zm-1-XN-n+X:。 t=0 t=0 (16) 由(12)武有XhY=〔Y门. N-1 每次升阶时只需计算ZY=∑Xt+1Xt- t=0 =r(-1,n)。这个值必须由样本直接计算。 类似(16),对于XZ有递推关系 N-1 r(0,n) X,Xt-n t=0 -Xx+XoX t=0 N-1 N-1 XIZ=r(1,n) Xt-Xt-n = XtXt-n+1-XN-1XN-+X_iX. t=0 t=0 t 年 N-1 N-1Xt-n+2X-n+1-XN-n+1XN-n+ r(n-1,n) X-+X- X-n+1X-a r(-1,n-1) XN Xo r(0,n-1) XN- XN-1 +X-n X-1 (r(n-2,n-1) XN-+1 X-n+1 ZTn-1Y XN Xo XN-1 X一1 XTn-1Zn-1 XN-n +X-n (17) XN-+1 X-n+1) (3)虽然每次升阶时只需要由样本数据直接计算ZY这一个数,但计算量是比较多的, 尤其当数据量N较大时更甚。这里引入了Winograd向量内积快速算法(),用它来计算多个 向量的内积时,大约可以减少一半的乘法运算量。由下边的推导可以看出,引入这一算法的 收益是很大的。Winograd:算法的原理如下: 52
又 , … , 一 , 、 十 、 十 一 , 一 一 , 一 一 , 荟 。 艺 。 盖 。 万 。 〕 , … , 一 , 于 是 万 。 , 二 艺 “ 卜 。 。 考虑到由 一 一 递推到 荟 。 时有 , 一 一 二 一 , 一 二 艺 “ 卜 。 。 有递推关系 万 。 。 一。 一 一。 。 。 一 一 一 一 兰 。 由 式有 十 每 次升阶时只需计算 王 二 一 。 一 , 。 这个值必须 由样本直接计算 。 类似 , 对于 王 有递推关 系 一… , 一 一 一 , 一 。 。 , 一 艺 一 一 一 一 一 一 。 一 。 十 一。 ‘ 、苦分 一 、 一 一 。 一 。 , , 一 一 一。 ‘ 一一 、 ‘ 产卫‘ 一 , 一 , 一 , 一 一 , 一 一… 一 一 一 一 一 。 一 。 丁 。 一 。 一 一 一 一 一 一 一 一 虽 然每 次升 阶 时 只需 要 由样本数据直接讨算 工 这 一个数 , 但计算量 是 比较 多的 , 尤 其 当数 据量 较大时 更甚 。 这 里 引人 了 向量 内积快速算法〔 〕 , 用它 来计算多个 向量的 内积时 , 大 约可 以减少一半的乘 法运算量 。 由下边 的推导可 以看 出 , 引入这一算法 的 收 益 是很大的 。 算法的原理如下