自回归模型是统计上一种处理时间序列的方法,用同一变量例如x的之前各期,亦即x_{1}至x_{t-1}来预测本期x_{t}的表现,并假设它们为一线性关系因为这是从回归分析中的线性回归发展而来,只是不用x预测y,而是用x预测x(自己);公式也可如下表示:自回归模型(Autoregressive Model)是用自身做回归变量的过程,即利用前期若干时刻的随机变量的线性组合来描述以后某时刻随机变量的线性回归模型,它是时间序列中的一种常见形式已知N个数据,可由模型推出第N点前面或后面的数据(设推出P点),所以其本质类似于插值,其目的都是为了增加有效数据,只是AR模型是由N点递推,而插值是由两点(或少数几点)去推导多点,所以AR模型要比插值方法效果更好自回归模型描述了数据序列内部的递推的线性回归关系1.2 参数计算常用方法简述AR模型可以写做Yule-Walker方程形式,利用Levesion-Durbin算法求解,Levesion-Durbin算法是一种地推算法,其思路是利用Toplitz矩阵或Hermitian矩阵的特性,当已知p-1阶模型参数时,用一组地推关系求解p阶模型参数,避开了矩阵求逆运算。
同时,可以根据估计误差,简单地确定模型阶次P此自相关算法先要求解自相关函数,然后求解模型参数AR模型的Yule-Walker方程和理想的Wiener-Hopf方程具有等价性,,AR模型白噪声输入方差和最优前向线性预测的最小方均误差等效p阶AR模型和p阶最优强项香型预测模型等价Burg算法,是利用前后向线性预测方均误差之和最小,直接由有数据Xn(n)递推求解,计算比较简单,可以在随机信号是标准AR过程时,得到精确的功率谱估计,但对淹没在白噪声中的正弦随机序列可能出现谱线分裂现象修正的协方差法,使用快速递归算法,在计算过程中,与Burg算法最大的区别是,再令前后向线性预测方均误差之和最小,不仅令其相对am(m)=k(m)为最小,而是另其相对am(1)、am(2)、...、am(m)为最小该方法可以说是目前功率谱估计的效果最好,但是计算繁琐,编程实现较为困难二、拟合原理所谓拟合是指已知某函数的若干离散函数值{f1,f2,…,fn},通过调整该函数中若干待定系数f(λ1, λ2,…,λn),使得该函数与已知点集的差别(最小二乘意义)最小如果待定函数是线性,就叫线性拟合或者线性回归(主要在统计中),否则叫作非线性拟合或者非线性回归。
表达式也可以是分段函数,这种情况下叫作样条拟合一组观测结果的数字统计与相应数值组的吻合形象的说,拟合就是把平面上一系列的点,用一条光滑的曲线连接起来因为这条曲线有无数种可能,从而有各种拟合方法拟合的曲线一般可以用函数表示,根据这个函数的不同有不同的拟合名字在MATLAB中可以用polyfit 来拟合多项式拟合以及插值还有逼近是数值分析的三大基础工具,通俗意义上它们的区别在于:拟合是已知点列,从整体上靠近它们;插值是已知点列并且完全经过点列;逼近是已知曲线,或者点列,通过逼近使得构造的函数无限靠近它们3、 模型拟合实现若时间序列 是平稳AR序列,根据此序列的一段有限样本值 对 的模型进行统计,称为自回归模型拟合自回归模型拟合主要包括:(1) 判断自回归模型AR的阶数;(2) 估计模型的参数;(3) 对拟合模型进行检验1、AR(p)模型的参数估计目的:为观测数据建立AR(p)模型 (1.1) 假定自回归阶数p已知,考虑回归系数 和零均值白噪声 的方差 的估计。
数据 的预处理:如果样本均值不为零,需将它们中心化,即将它们都同时减去其样本均值 ,再对序列按(1.1)式的拟合方法进行拟合对于AR(p)模型,自回归系数 由AR(p)序列的自协方差函数 通过Yule-Walker方程 唯一决定,白噪声方差 由 决定实际应用中,对于较大的p,为了加快计算速度可采用如下的Levison递推方法递推最后得到矩估计上式是由求偏相关函数的公式:导出2、AR(p)模型参数的最小二乘估计如果 是自回归系数 的估计,白噪声 的估计计定义为通常 为残差我们把能使 达到极小值的 称为 的最小二乘估计相应地,白噪声方差 的最小二乘估计 式中 为 的p个分量3、 AR(p)模型的定阶偏相关函数的分析方法:一个平稳序列是AR(p)序列当且仅当它的偏相关函数是p步截尾的如果 p步截尾:当 时, ;而 ,就以 作为p的估计。
4、拟合模型的检验现有数据 ,欲判断它们是否符合以下模型 式中 被假定为独立序列,且 , 与 独立原假设 :数据 符合AR(p)故在 成立时,下列序列为独立序列 的一段样本值序列步骤如下:1) 首先,根据公式计算出残差的样本自相关函数,2) 利用上一章关于独立序列的判别方法,判断 是否为独立序列的样本值3) 根据判断结果,如果接受它们为独立序列的样本值,则接受原假设,即接受 符合AR(p),否则,应当考虑采用新的模型拟合原始数据序列四、 实例分析1、下表为某地历年税收数据(单位亿元)使用AR(p)预测税收收入,为年度税收计划和财政预算提供更加有效、科学的依据年份1234567税收15.215.918.722.426.928.330.5年份891011121314税收33.840.450.75866.781.283.4注:因为税收具有一定的稳定性和增长性,且与前几年的税收具有一定的关联性,因此可以采用时间序列方法对税收的增长建立预测模型。
2、下面为使用MATLAB 建立模型并求解过程clc, cleara=[15.2 15.9 18.7 22.4 26.9 28.3 30.5 33.8 40.4 50.7 58 66.7 81.2 83.4];a=a'; a=a(:); a=a'; %把原始数据按照时间顺序展开成一个行向量Rt=tiedrank(a) %求原始时间序列的秩n=length(a); t=1:n; Qs=1-6/(n*(n^2-1))*sum((t-Rt).^2) %计算Qs的值t=Qs*sqrt(n-2)/sqrt(1-Qs^2) %计算T统计量的值t_0=tinv(0.975,n-2) %计算上alpha/2分位数e=[1:13];b=diff(a) %求原始时间序列的一阶差分% plot(e,b,'*');m=ar(b,2,'ls') %利用最小二乘法估计模型的参数bhat=predict(m,[b'; 0],1) %1步预测,样本数据必须为列向量,要预测1个值,b后要加1个任意数,1步预测数据使用到t-1步的数据ahat=[a(1),a+bhat{1}'] %求原始数据的预测值,并计算t=15的预测值delta=abs((ahat(1:end-1)-a)./a) %计算原始数据预测的相对误差plot(a,'b');hold onplot(ahat,'r');grid ontitle('历史数据-蓝色线;预测数据-红色线')。