【原创】python利用长短期记忆模型lstm进行时间序列预测分析数据分析报告论文(附代码数据)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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))

相关文档
最新文档