【原创】python利用长短期记忆模型lstm进行时间序列预测分析数据分析报告论文(附代码数据)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
咨询QQ:3025393450
有问题百度搜索“”就可以了
欢迎登陆官网:/datablog
利用长短期记忆模型lstm进行时间序列预测分析数据分析报告
此示例中,使用LSTM神经网络使用2011年4月至2013年2月之间的数据来预测都柏林市议会市政办公室的能源消耗。原始数据集可从.ie获得。
数据处理
假设以15分钟为间隔显示数据,则通过汇总原始数据集中包含的15分钟间隔中每天的消耗量,并形成数据集矩阵以允许指定的滞后时间,来创建每日数据在时间t 减少了电力消耗。从数据集中删除NA值以及不相关的列。
这是原始数据的示例:
首先,形成相关的数据集矩阵以使用LSTM模型进行处理:
数据集矩阵
# Form dataset matrix
def create_dataset(dataset, previous=1):
dataX, dataY = [], []
for i in range(len(dataset)-previous-1):
a = dataset[i:(i+previous), 0]
dataX.append(a)
咨询QQ:3025393450
有问题百度搜索“”就可以了
欢迎登陆官网:/datablog
dataY.append(dataset[i + previous, 0])
return np.array(dataX), np.array(dataY)
然后,将原始格式的数据相应地清除:
数据清理
# fix random seed for reproducibility
np.random.seed(7)
# load dataset
df = read_csv('dccelectricitycivicsblocks34p20130221-1840.csv', engine='python', skipfooter=3)
df2=df.rename(columns=df.iloc[0])
df3=df2.drop(df.index[0])
df3
df3.drop(df3.index[0])
df4=df3.drop('Date', axis=1)
df5=df4.drop('Values', axis=1)
df5
df6=df5.dropna()
df7=df6.values
df7
dataset=np.sum(df7, axis=1, dtype=float)
dataset
现在,这是一个经过修改的numpy数组,显示了每天的总用电量(从模型中删除了NA):
咨询QQ:3025393450
有问题百度搜索“”就可以了
欢迎登陆官网:/datablog
2.进行了Dickey-Fuller测试
3.对时间序列进行对数转换,并再次运行以上两个过程,以确定平稳性的变化
(如果有)
首先,这是时间序列图:
咨询QQ:3025393450
有问题百度搜索“”就可以了欢迎登陆官网:/datablog
咨询QQ:3025393450
有问题百度搜索“”就可以了欢迎登陆官网:/datablog
咨询QQ:3025393450
有问题百度搜索“”就可以了
欢迎登陆官网:/datablog
自相关图和部分自相关图都表现出显着的波动性,这意味着在时间序列的多个间隔中都存在相关。运行Dickey-Fuller测试:
result = adfuller(data1)
print('ADF Statistic: %f' % result[0])
ADF Statistic: -2.703927
print('p-value: %f' % result[1])
p-value: 0.073361
print('Critical Values:')
Critical Values:
for key, value in result[4].items():
print('\t%s: %.3f' % (key, value))