数学建模第三次大作业
公司销售额预测与自相关的诊断和消除
摘要
本文针对公司销售额预测与自相关的诊断和消除问题,运用线性拟合,D-W检验,广义差分等方法,并对异常数据进行处理,先后建立了三个逐步改进的线性回归预测模型,检验出随机误差项的自相关性并对其进行了消除,通过matlab等软件求解并预测出公司后面季度的销售额。
问题一中,要求画出数据的散点图,观察用线性模型拟合是否合适。我们首先根据已知数据利用matlab软件绘制散点图,然后对其进行拟合,得到模型一,并对模型一进行F统计量分析和拟合优度分析,判断出该模型具有较高准确性。然后我们通过matlab软件绘制残差图观察每一组数据的拟合情况,经过分析得出第四组数据的残差最大,因此将它作为异常数据剔除,并用剔除后的数据再一次建立了一个更准确的模型二,得出用线性模型拟合的方法对该问合适的结论。
问题二中,要求建立公司销售额对全行业销售额的回归模型,并用D-W检验诊断随机误差项的自相关性。首先我们采用图示检验法,绘制了et?1~et图,从直观的角度得出随机误差项具有自相关性的结论。然后我们进行D-W检验,通过matlab软件算出统计量DW=0.64111(<临界值dL=1.18),从定量的角度证明了随机误差项具有自相关性。
问题三中,要求建立消除随机误差项自相关性后的回归模型。我们通过广义差分法消除模型的自相关性。首先我们构造模型二中残差的线性模型,引入并计算出自相关系数?,通过最小二乘法得到消除自相关性的中间模型,此时DW统计量由0.64111变为1.5967,通过了自相关性检验。然后我们将中间模型的转化量还原成原始量,得到了最终预测模型三。
本文最大的特点在于采用了多种方法对残差的自相关性进行了分析,既直观又准确。本文一共建立了三个预测模型,通过对预测模型进行不断的改进,我们最终得到了十分理想的预测效果。
关键词: 回归分析 时间序列 D-W检验 广义差分
一、问题重述
某公司想用全行业的销售额作为自变量来预测公司的销售额,下表给出了1977-1981年公司销售额和行业销售额的分季度数据(单位:百万元)。 (1) 画出数据的散点图,观察用线性模型拟合是否合适。 (2) 建立公司销售额对全行业销售额的回归模型,并用D-W检验诊断随机误差
项的自相关性。
(3) 建立消除随机误差项自相关性后的回归模型。
年1977季123419781234197912t公司销售额y行业销售额x1234567891020.9621.4021.9621.5222.3922.7623.4823.6624.1024.01127.3130.0132.7129.4135.0137.1141.2142.8145.5145.319811980年1979季3412341234t公司销售额y行业销售额x1112131415161718192024.5424.3025.0025.6426.3626.9827.5227.7828.2428.78148.3146.4150.2153.1157.3160.7164.2165.6168.7171.7
二、模型假设
1、题目中所给数据均真实可靠。 2、在预测各个因素对公司销售额影响时,我们只考虑通过全行业的销售额来预测。
3、在对最初的回归模型进行计算的时候,我们认为?t对时间是独立的。
三、符号说明
符号 意义 公司销售额 行业销售额 第t个时间点 单位 百万元 百万元 y x t yt xt 第t个时间点的公司销售额 第t个时间点行业销售额 回归模型的随机误差 残差 残差的自相关系数 百万元 百万元 百万元 百万元 ?t et ? 四、问题分析
问题一要求建立线性回归模型,我们首先绘制散点图,建立线性函数进行拟合,我们对模型一进行F统计量分析和拟合优度分析,之后我们通过绘制残差图观察每一组数据的拟合情况,若出现残差较大的数据,我们就要对其进行具体的分析,研究较大残差产生的原因是因为模型本身的缺陷还是数据出现异常。研究数据是否符合正常的经济规律,是否能够成为我们预测使用的基础数据,若该数据为异常数据,则不能用其进行预测,应当将其剔除,对模型重新进行拟合和回归分析。
问题二中我们使用剔除异常数据之后的模型做自相关性分析,采用et?1~et图和DW检验从直观和定量的角度检验随机误差项是否具有自相关性。
问题三中,通过第二问的检验,判断出随机误差项是否具有自相关性,如果存在,则利用广义差分法对其进行消除,然后再运用第二问的检验方法对相关性进行检验,最后建立消除了随机误差项自相关性的回归模型对公司销售额进行预测。
五、模型的建立和求解
5.1.1问题一模型的分析
问题一要求建立线性回归模型。我们首先绘制出数据的散点图,对数据点进行拟合,建立线性回归模型,然后利用F统计量,可决系数等统计量进行分析,最后我们通过残差图来观察每个数据点的拟合效果,分析并剔除异常数据,对模型进行改进。
5.1.1问题一模型的建立和求解
为了合理地分析公司销售额y与行业销售额x的关系,我们绘制出公司销售额y与行业销售额散x点图,如下图1所示。
图1
由图1我们可以发现,随着时间t的增加,y的值有明显的线性增长的趋势,因此我们建立一元线性回归模型。
yt??0??1xt??t (5.1.1.1)
模型(5.1.1.1)中我们只考虑了行业销售额对公司销售额的影响,影响yt的其他因素的作用都包含在随机误差?t内,这里我们假设?t对时间相互独立,且服从均值为0的正态分布。
根据题目中的数据,我们利用最小二乘法,通过MATLAB编程求解得到回归系数估计值及其置信区间(置信水平??0.05)。见表1.
表1 参数 参数估计值 -1.45475 参数置信区间 [-1.90465 , -1.00485] ?0 ?1 0.17628 [0.17325 , 0.17932] 我们绘制出散点图和最小二乘拟合出来的直线,观看拟合效果,见图2.
图2
从图2中我们可以看出,线性回归拟合的效果很不错,几乎所有的点都紧密的分布在直线的两侧。下面我们对该模型进行具体的评价和分析。
5.1.2问题一模型的评价、分析与改进
利用最小二乘法可以计算出线性回归模型的参数值,但由此确定的线性回归方程不能立即用于实际问题的分析,还必须对回归方程的线性关系进行各种统计检验和残差分析。
(一)F检验,拟合优度检验,S2检验。 (1)统计量F定义为:
n F???(yi?1ini?y)22?)?(y?yii?1 (5.1.2.1)
/(n?1)其中x和y分别表示变量x和变量y的样本均值。 (2)拟合优度由可决系数R2决定性系数定义如下:
R2?1?
?(yt?1nt?1nt?t)2?y ?y)2 (5.1.2.2)
?(y
t 可决系数越越接近1表示回归直线对样本数据化的拟合程度越高
(3)可决系数描述了回归直线对样本数据点的拟合程度,但是没有表示出
变量yt的观察值与回归直线的绝对离差数额。定义:
S2?2?(y?y)?ttt?1nn?2 (5.1.2.3)
为最小二乘残差值ei方差。其值越小表示误差越小。
通过调用MATLAB中的regress函数我们得到上面各个统计值,见表2:
表2 R2 0.9988 F 14888.14356 P 0.0000 S2 0.0074 从表中我们可以看到可决系数为0.9988非常接近1,且F等于14682.9111,自由度P=0.0000?0.05,S2充分的小,所以模型:
yt??1.45475?0.17628xt (5.1.2.4) 成立。
(二)残差检验
?t,可以反映随机误差项中每一个点的拟合情况,我们做出 残差:et?yt?y模型数据的残差图,见图3。
图3
从图3中我们可以看出,除了第四个数据异常外,其余数据的残差离零点较近,且残差的置信区间都包含零点,这又说明了回归模型:
yt??1.45475?0.17628xt (5.1.2.5) 能够较好的拟合数据。
下面我们对第四个数据进行进一步的分析,我们将图2进行放大,清楚的得到第四个点数据的拟合情况,见图4.
图4
图4箭头处所指出就是第四个数据点,我们可以看出它和其他数据点相比,偏离直线较多。我们找到题目中的数据分析发现,1977年第四季度的公司销售额和行业销售额都较上一年较少,而其他数据都呈现出上升趋势,第四个点处的数据确实存在异常,因此我们把第四个点的数据作为异常数据将其剔除掉。 (三)模型的第一次改进
我们对剔除异常数据后的数据再次进行拟合和统计检验,见表3. 表3 参数估计值 参数置信区间 参数 [-2.04029, -1.17833] ?0 -1.60931 ?1 R2 0.9990 0.17727 F 16752.7743 [0.17438, 0.18015] P 0.0000 S2 0.0060 S2由0.0075降低为0.0059,R2由0.9988变为0.9990, 从表3中我们可以看出,
各个检验证都得到很好的提高,说明改进后的模型:
yt??1.60931?0.17727xt (5.1.2.6) 与第一个模型相比,更适用。
虽然我们得到了较好的模型,但是模型依然存在缺陷,在第二问中我们会对模型残差的自相关性进行具体分析,并在第三问中建立新的改进后的模型。 5.2.1 问题2模型的分析
在对时间序列数据做回归分析的时候,模型的随机误差项?t有可能存在相关性,违背模型关于?t相互独立的基本假设,会出现自相关性。
问题2要求我们建立销售额对全行业销售额的回归模型并用D-W检验随误差
项的自相关性。我们第一问已经建立起了销售额对全行业的销售额回归模型,并证明该模型的合理性,下面我们主要就自相关性进行检验诊断。
我们关于自相关性进行检验分为图示检验法和DW检验法。图示检验法直观的反映自相关性,而D-W检验法具有很高的逻辑性和准确性。两者相互补充,相互完善。
5.2.1问题2模型的建立和求解
(一)自相关性的图示检验法
(1)et?1——et图
残差et?yt-yt可以作为随机误差项?t的估计值,画出et?1——et的散点图,能够从直观上判断?t的自相关性。如果大部分点落在一三象限,表明随机误差项
??t存在正自相关性。
0.20.150.10.050-0.05-0.1-0.15-0.2-0.2-0.15-0.1-0.0500.050.10.150.2
图5 et?1—et图
从图5我们可以看出大部分点都落在第一三象限,所以我们可以判断出随机误差项?t存在正自相关性。 (二)D-W检验法
以上我们通过绘制et?1——et图直观的观察到?t存在正自相关性,为了对?t的正自相关性作定量的诊断,并在诊断后得到新的结果,我们再考虑如下的模型:
?yt??0??1xt??t(t?1,2,3?) (5.2.1.1) ???t???t?1?ut其中?是自相关系数,|?|?1,ut相互独立且服从均值为0的正态分布。 若?=0,则退化为普通的回归模型;若?>0,则随机误差存在正的自相关;若?<0,存在负的自相关。
DW统计量定义如下:
DW??(e?ett?2nt?1)2 (5.2.1.2)
?et?2n2t经过简单的运算可知,当n较大时,
??DW?2?1?????ee?tt?1?t?2?) ??2(1??n2?et??t?2?n (5.2.1.3)
?的取值范围是[-1,1],所以DW的取值范围是[0,4],并且,若??在0因为??在?1附近,附近,则DW在2附近,?t的自相关性很弱(或不存在自相关);若?则DW接近0或4,?t的自相关性很强。
在特定检验水平下,依照样本容量和回归变量数目,查D-W分布表得到检验
临界值dL和dU.
如图7所示:
图7 与DW值对应的自相关状态
下面我们对第一问中进行改进的模型(去除异常点)结果进行具体计算分析, 我们通过MATLAB编程得到
DW1= 0.64111 (5.2.1.4) 对于显著水平??0.05,n?19(去除一个异常数据),k?2,我们得到检验的临界值为dL=1.18,dU=1.40.
DW1=0.83814
注:D-W分布表见本文附录,此处的k指的是模型中参数的个数,附录分布表中的m含义为变量的个数,本问中m?k?1。
由此我们通过et?1——et图示检验法和D-W检验法分别诊断出随机误差项的自相关性。
5.3.1问题三模型的分析
自相关性的诊断说明模型具有不准确性,因此我们需要对模型进行改进,消除模型产生的自相关性。
我们使用广义差分法消除自相关性,然后我们继续通过et?1——et图示检验法和DW检验法进行分析和诊断。如果诊断模型已经没有自相关性,那么我们再使用模型进行预测来检验模型适用性。 5.3.2问题三模型的建立和求解 step1:模型建立
在第二问中我们已经证明了随机误差具有正自相关性,我们设: ?t??t?1?ut (5.3.2.1)
其中?t表示具有自相关性的随机误差,而ut表示模型去掉自相关性之后真正意义上的随机误差,它对时间相互独立,且服从均值为0的正态分布。 有前面第一问中的线性模型我们知道:
yt??0??1xt??t (5.3.2.2)
此模型为一个时间序列,那么由上式我们自然能够得到上一个时刻?与u之
间的关系。
yt?1??0??1xt?1??t?1 (5.3.2.3)
将(5.3.2.3)式的两端同时乘以? ?yt?1???0???1xt?1???t?1 (5.3.2.4)
我们用(5.3.2.3)式减去(5.3.2.4)式得:
yt??yt?1??0(1??)??1(xt??xt?1)?(?t???t?1) (5.3.2.5)
我们令:
?yt??yt??yt?1?*??0??0(1??) ??*?? 又ut??t???t?1 (5.3.2.6)
?11?x*?x??xtt?1?t 把(5.3.2.6)式代入(5.3.2.5)得到普通的回归模型:
yt**??0??1*xt*?ut (5.3.2.7)
Step2模型求解
由问题二中的(5.2.1.3)式我们可以得到:
??1? ?再由(5.2.1.4)式我们得到
DW (5.3.2.8) 2??0.67945 ????yt?yt??yt?1我们将??0.67945代入?*。 (5.3.2.9)
??xt?xt??xt?1
我们通过MATLAB软件编程实现该变换,得到18组数据见下表4,程序见附录。
表4 序序 ****yt(t?1,2?18)号 xt(t?1,2?18)yt(t?1,2?18)号 xt(t?1,2?18)1 43.5066 7.1588 10 45.6382 7.6264 2 44.3721 7.4199 11 50.7292 8.4895 3 44.8376 7.4694 12 51.0473 8.6539 4 45.3749 7.5472 13 53.2769 8.9390 5 48.0480 8.0158 14 53.8232 9.0698 6 46.8623 7.7066 15 55.0131 9.1886 7 48.4752 8.0243 16 54.0350 9.0817 8 46.4407 7.6354 17 56.1838 9.3650 9 49.5766 8.2265 18 57.0775 9.5925 我们做出直线散点效果图,见图8
图8
我们得到模型(5.3.2.7)的参数,结果见表5。 表5 参数 参数估计值 参数置信区间 [-0.796888,-0.110368] ?0 -0.453628 ?1 0.175973 [0.169088, 0.182856] R2=0.9946 F=29368.2641 p=0.0000<0.01 S2=0.0034
我们继续按照第二问中的方法进行自相关性诊断和检验。 我们做出et?1—et图,见下图9 。
0.150.10.050-0.05-0.1-0.1-0.0500.050.10.15
图9
从图9我们可以看出四个象限点内的分布已经不再具有“一三象限”规律。从这个图中我们看出模型的自相关性已经不存在。
为了验证随机误差ut是否满足均值为0的正态分布,我们将随机误差进行分段,画出其频率分布图(通过SPSS软件绘制)。见图10
图10
从图中我们也可以看出残差值的分布基本满足正太分布,且均值为0. 通过MATLAB编程我们计算出
DW2=1.5967 (5.3.2.10)
因为 dU?1.39?DW2?1.5967?2.61?4?dU
所以我们知道模型(5.3.2.7)已经没有自相关性。
所以模型:
* yt??0.68800?0.17832xt?0.10867xt?1?ut
(5.3.2.11)
是完全合理适用的。
下面我们将模型(5.3.2.7)中的转化量还原为原始量: 由(5.3.2.6)式我们得到
?t?yt??yt?1 (5.3.2.12) y xt?xt??xt?1 (5.3.2.13)
把(5.3.2.9)、(5.3.2.11)式代入(5.3.2.12)式,我们得消除自相关性之后最终的模型为:
**?t??1.60931?0.67945yt?1?0.177265xt?0.119564xt?1 y(5.3.2.14)
下面我们对(5.3.2.14)预测模型三和第一问中计算得到的(5.1.2.6)预测模型二进行预测效果对比。(程序见附录)
预测结果见表6
表6 序号 实际值 模型二预测值 模型三预测值 2 21.4000 21.4351 21.4325 3 21.9600 21.9138 21.9085 4 22.3900 22.3215 22.3153 5 22.7600 22.6937 22.6877 6 23.4800 23.4205 23.4176 7 23.6600 23.7041 23.7021 8 24.1000 24.1828 24.1831 9 24.0100 24.1473 24.1471 10 24.5400 24.6791 24.6819 11 24.3000 24.3423 24.3429 12 25.0000 25.0159 25.0205 13 25.6400 25.5300 25.5375 14 26.3600 26.2745 26.2864 15 26.9800 26.8772 26.8927 16 27.5200 27.4976 27.5167 17 27.7800 27.7458 27.7663 18 28.2400 28.2953 28.3191
我们对比模型二和模型三的预测效果发现,两个模型的预测效果都很好,拟合度都能到到0.99以上的水平,我们已经不能通过曲线的绘制对比来观察两个模型的好坏。通过我们的统计我们发现在18组可用数据中,存在有12组预测数据反映模型三比模型二更加接近与实际值,且这些数据几乎都在数据的中后部分,由此我们知道模型三从理论解释更合理,合适,同时在中长期预测中的实际效果也比模型二要好,还能够解释和反映一些经济规律,有助于我们进行机理分析。
综上所述,模型三是本文最优的预测模型。
六、模型的评价和推广
本文一共建立了三个预测模型,通过对模型逐步改进得到最佳的预测模型。预测效果良好。
自相关现象
自相关现象多出现在时间序列数据中,而经济系统的经济行为都具有时间上的惯性。如GDP、价格就业等经济指标都会随经济系统的周期而波动。例如,在经济高涨时期,较高的经济增长率会持续一段时间,而在经济衰退期,较高的失业率也会持续一段时间,这种现象就会表现为经济指标的自相关现象。 自相关诊断方法
对自相关性诊断分析的主要方法有两种一种是图像法,一种是D-W检验法,图像法通过绘制残差图直观的观察出残差正负自相关情况,D-W法则是通过公式准确的计算出DW统计量,查表来判断残差的自相关情况。但是这种诊断方法并不是觉绝对的准确,即使在查表确定了dL和dU之后在DW[0,4]的区间内然让存在两段区间是不能判断其自相关性的。所以我们要充分结合图像和D-W检验法,才能加好的对残差的自相关性进行诊断。
广义差分法的弊端和解决方法
消除的自相关的法方有很多,本题使用了广义差分法。通过本题我们知道广义差分法确实改变了DW统计量,改进了模型,消除了自相关性,但是此方法仍然存在弊端,如使用广义差分法会导致原始中两端数据的一个不能被利用,最终的数据组数比原始数据要少一组,本题第三问中共有20组数据,剔除一个异常点之后仍然有19组数据,再少一组数据也不会出现很大的影响,但是如果当数据只有几组的时候,缺少一组数据会给结果和模型参数的确定带来很大的影响,我们采用Prais-Winsten变换来解决此问题。将第一组观测值变为:y11??2和x11??,将其补充到差分序列中,再使用最小二乘法进行参数估计。
2在使用广义差分法的时候自相关性系数?是一个关键值,本题在求解?的时候使用了?和DW的一个近似关系,这样计算出来的?存在一定的误差,影响到我们模型的准确性,为了得到较为准确的?值我们可以采用科克伦-奥科特迭代
?算法。通过不断使用更新的?(i)?计算出?(i?1)?,当?(i)?与?(i?1)充分接近的时候
?。 停止迭代,得到较为准确的?
六、参考资料
[1] 姜启源等, 《数学模型》(第三版),北京:高等教育出版社 [2] 萧树铁等, 《数学实验》,北京:高等教育出版社 [3] 何晓群等,《应用回归分析》,北京:中国人民大学出版社
[4] 姜启源等编,大学数学实验[M],北京:清华大学出版社,2005.2 [5] 豆丁网:http://www.docin.com/p-53689019.html http://www.docin.com/p-274649627.html
[6] 百度: http://wenku.http://www.32336.cn//view/f8ff86eb551810a6f52486f6.html
七、附录
问题一中绘制散点图的程序:
clear clc
y=[20.96 21.40 21.96 21.52 22.39 22.76 23.48 23.66 24.1 24.01 24.54 24.30 25 25.64 26.36 26.98 27.52 27.78 28.24 28.78]' x=[127.3 130 132.7 129.4 135 137.1 141.2 142.8 145.5 145.3 148.3 146.4 150.2 153.1 157.3 160.7 164.2 165.6 168.7 171.7]' plot(x,y,'ro');hold on;
问题一模型一中回归系数及置信区间求解的MATLAB 程序:
clear clc
t=[1:20];
format('long');
y=[20.96 21.40 21.96 21.52 22.39 22.76 23.48 23.66 24.1 24.01 24.54 24.30 25 25.64 26.36 26.98 27.52 27.78 28.24 28.78]' x=[127.3 130 132.7 129.4 135 137.1 141.2 142.8 145.5 145.3 148.3 146.4 150.2 153.1 157.3 160.7 164.2 165.6 168.7 171.7]' X=[ones(20,1) x]
[b,bint,r,rint,states]=regress(y,X) %输出时不加分号
问题一中绘制拟合曲线与散点对照图的MATLAB程序:
clear clc
y=[20.96 21.40 21.96 21.52 22.39 22.76 23.48 23.66 24.1 24.01 24.54 24.30 25 25.64 26.36 26.98 27.52 27.78 28.24 28.78]' x=[127.3 130 132.7 129.4 135 137.1 141.2 142.8 145.5 145.3 148.3 146.4 150.2 153.1 157.3 160.7 164.2 165.6 168.7 171.7]' plot(x,y,'ro');hold on; X=[ones(20,1) x]
[b,bint,r,rint,states]=regress(y,X); z=b(1)+b(2)*x;
plot(x,z);hold on;
问题一种残差图的绘制:
clear clc
y=[20.96 21.40 21.96 21.52 22.39 22.76 23.48 23.66 24.1 24.01 24.54 24.30 25 25.64 26.36 26.98 27.52 27.78 28.24 28.78]' x=[127.3 130 132.7 129.4 135 137.1 141.2 142.8 145.5 145.3 148.3 146.4 150.2 153.1 157.3 160.7 164.2 165.6 168.7 171.7]'
plot(x,y,'ro');hold on; X=[ones(20,1) x]
[b,bint,r,rint,states]=regress(y,X); rcoplot(r,rint)
问题一中剔除异常数据之后的模型计算
clear clc
y=[20.96 21.40 21.96 22.39 22.76 23.48 23.66 24.1 24.01 24.54 24.30 25 25.64 26.36 26.98 27.52 27.78 28.24 28.78]' x=[127.3 130 132.7 135 137.1 141.2 142.8 145.5 145.3 148.3 146.4 150.2 153.1 157.3 160.7 164.2 165.6 168.7 171.7]' plot(x,y,'ro');hold on; X=[ones(19,1) x]
[b,bint,r,rint,states]=regress(y,X)
问题2中
et?1——et图的绘制
clear clc
t=[1:20];
format('long');
y=[20.96 21.40 21.96 21.52 22.39 22.76 23.48 23.66 24.1 24.01 24.54 24.30 25 25.64 26.36 26.98 27.52 27.78 28.24 28.78]' x=[127.3 130 132.7 129.4 135 137.1 141.2 142.8 145.5 145.3 148.3 146.4 150.2 153.1 157.3 160.7 164.2 165.6 168.7 171.7]' X=[ones(20,1) x]
[b,bint,r,rint,states]=regress(y,X)
for i=1:19 p(i)=r(i); q(i)=r(i+1); end
plot(p,q,'+')
问题2中计算DW的程序:
clear clc
t=[1:19];
format('long');
y=[20.96 21.40 21.96 22.39 22.76 23.48 23.66 24.1 24.01 24.54 24.30 25 25.64 26.36 26.98 27.52 27.78 28.24 28.78]' x=[127.3 130 132.7 135 137.1 141.2 142.8 145.5 145.3 148.3 146.4 150.2 153.1 157.3 160.7 164.2 165.6 168.7 171.7]' X=[ones(19,1) x]
[b,bint,r,rint,states]=regress(y,X)
dw=sum(diff(r).^2)/sum(r.^2)
问题三中x,y的转化:
clear clc
t=[1:19];
format('long');
y=[20.96 21.40 21.96 22.39 22.76 23.48 23.66 24.1 24.01 24.54 24.30 25 25.64 26.36 26.98 27.52 27.78 28.24 28.78]' x=[127.3 130 132.7 135 137.1 141.2 142.8 145.5 145.3 148.3 146.4 150.2 153.1 157.3 160.7 164.2 165.6 168.7 171.7]' X=[ones(19,1) x]
[b,bint,r,rint,states]=regress(y,X) dw=sum(diff(r).^2)/sum(r.^2); ro=1-dw/2 for i=2:19
y1(i-1)=y(i)-ro*y(i-1); x1(i-1)=x(i)-ro*x(i-1); end
x1=x1' y1=y1'
问题三中对转化后的数据进行拟合,计算系数,各统计量,并计算消除自相关性之后新的DW值。
clear clc
t=[1:19];
format('long');
y=[20.96 21.40 21.96 22.39 22.76 23.48 23.66 24.1 24.01 24.54 24.30 25 25.64 26.36 26.98 27.52 27.78 28.24 28.78]' x=[127.3 130 132.7 135 137.1 141.2 142.8 145.5 145.3 148.3 146.4 150.2 153.1 157.3 160.7 164.2 165.6 168.7 171.7]' X=[ones(19,1) x]
[b,bint,r,rint,states]=regress(y,X) dw=sum(diff(r).^2)/sum(r.^2); ro=1-dw/2 for i=2:19
y1(i-1)=y(i)-ro*y(i-1); x1(i-1)=x(i)-ro*x(i-1); end
x1=x1' y1=y1'
X1=[ones(18,1) x1]
[b1,bint1,r1,rint,states1]=regress(y1,X1) Dw2=sum(diff(r1).^2)/sum(r1.^2);
问题三中拟合效果图,残差图,t?1——t图的绘制。 在上面的基础上分别继续运行下面程序: 效果图:
plot(x1,y1,'ro');hold on; z1=b1(1)+b1(2)*x1; plot(x1,z1);hold on;
e
e残差图:
rcoplot(r1,rint1)
et?1——et图的绘制
for i=1:17
p1(i)=r1(i); q1(i)=r1(i+1); end p1 q1
plot(p1,q1,'+')
问题三中使用模型二、模型散进行预测的程序;
在上一一个程序的基础上继续输入下面的程序 z=b(1)+b(2)*x; z2(1)=y(1) for i=2:18
z2(i)=-1.60931+0.67945*z2(i-1)+0.177265*x(i)-0.119564*x(i-1); end