时间序列:预测误差的ACF,自,相关,ACFofforecasterror

发表时间:2020-02-17

**

时间序列:误差自相关(ACF of forecast error)

**
误差自相关是对误差(观测值与预测值的差值)进行自相关计算,通过观察误差自相关曲线可以得出是否预测模型完全预测应有的趋势性、季节性、随机性。误差自相关是一个检测性的指标,需要在预测模型构建并计算出预测值后计算来对其进行评估。
e.g.
(Zemkoho, 2020)
数据源:
Dates Original Data NF1 NF2
Feb-91 148 164 164
Mar-91 152 148 148
Apr-91 144 152 152
May-91 155 144 144
Jun-91 125 155 155
Jul-91 153 125 125
Aug-91 146 153 153
Sep-91 138 146 146
Oct-91 190 138 138
Nov-91 192 190 190
Dec-91 192 192 192
Jan-92 147 192 164
Feb-92 133 147 139.5
Mar-92 163 133 144.5
Apr-92 150 163 149.5
May-92 129 150 158
Jun-92 131 129 112
Jul-92 145 131 156
Aug-92 137 145 142
Sep-92 138 137 133.5
Oct-92 168 138 190
Nov-92 176 168 181
Dec-92 188 176 184
Jan-93 139 188 153.5
Feb-93 143 139 129.5
Mar-93 150 143 159.1666667
Apr-93 154 150 142
May-93 137 154 146.6666667
Jun-93 129 137 124.6666667
Jul-93 128 129 149.6666667
Aug-93 140 128 127.5
Sep-93 143 140 137
Oct-93 151 143 182.3333333
Nov-93 177 151 165.3333333
Dec-93 184 177 185.3333333
Jan-94 151 184 146
Feb-94 134 151 142.0833333
Mar-94 164 134 149.5
Apr-94 126 164 156.0833333
May-94 131 126 122.8333333
Jun-94 125 131 121.3333333
Jul-94 127 125 139.5
Aug-94 143 127 129.75
Sep-94 143 143 141.1666667
Oct-94 160 143 172.1666667
Nov-94 190 160 174.4166667
Dec-94 182 190 194.25
Jan-95 138 182 145.75
Feb-95 136 138 129.7
Mar-95 152 136 154.45
Apr-95 127 152 139.3
May-95 151 127 124.8
Jun-95 130 151 137.9
Jul-95 119 130 140.25
Aug-95 153 119 126.1

输出误差自相关曲线
从图中不难看出误差自相关(ACF of forecast error)呈现明显的季节性趋势,因此预测模型的季节性指标存在欠拟合现象
实现代码

# -*- coding: utf-8 -*-
"""
Created on Thu Feb  6 15:23:01 2020

@author: abz1e14
"""
from pandas import read_excel
from matplotlib import pyplot

AustralianBeer  = read_excel('BeerErrorsData.xls', sheet_name='NF1NF2', usecols = [1], 
                             header=0, squeeze=True, dtype=float)
NaiveF1  = read_excel('BeerErrorsData.xls', sheet_name='NF1NF2', usecols = [2], 
                      header=0, squeeze=True, dtype=float)
NaiveF2 = read_excel('BeerErrorsData.xls', sheet_name='NF1NF2', usecols=[3], 
                     header=0, squeeze=True, dtype=float)

# Plot for the original data set
AustralianBeer.plot(label='Original data', legend=True)
pyplot.show()

# Evaluating the errors from both NF1 and NF2 methods
Error1 = AustralianBeer - NaiveF1
Error2 = AustralianBeer - NaiveF2

# Plot of the error time series
Error1.plot(label='NF1 error plot', legend=True)
Error2.plot(label='NF2 error plot', legend=True)
pyplot.show()

# Creating an autocorrelation plot
from pandas.plotting import autocorrelation_plot
autocorrelation_plot(Error1)
autocorrelation_plot(Error2)
pyplot.show()

References
Zemkoho, Alain. (2020). MATH6011. University of Southampton.

文章来源互联网,如有侵权,请联系管理员删除。邮箱:417803890@qq.com / QQ:417803890

微配音

Python Free

邮箱:417803890@qq.com
QQ:417803890

皖ICP备19001818号-4
© 2019 copyright www.pythonf.cn - All rights reserved

微信扫一扫关注公众号:

联系方式

Python Free