时间序列-LSTM长期预测

该博客介绍了如何构建多维数据集用于LSTM进行长期时间序列预测,并展示了损失变化图的学习过程。作者鼓励读者点赞关注并提供互关支持。
摘要由CSDN通过智能技术生成

文章目录


这个是我在github上看到的,学习完进行记录

数据格式

在这里插入图片描述

代码部分
#!usr/bin/env python
# -*- coding:utf-8 _*-
"""
@author: liujie
@software: PyCharm
@file: LSTM长期预测.py
@time: 2020/11/13 15:48
"""
'''
LSTM长期预测:
    使用LSTM算法对时间序列进行长期预测,标签是多维的,这里是二维,时间步长这里是12,
    预测天数这里是10都可作为参数调节
'''
import warnings
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.metrics import mean_squared_error, mean_absolute_error
from sklearn.preprocessing import StandardScaler

import tensorflow as tf
from tensorflow import keras
from keras.layers.recurrent import LSTM
from tensorflow.keras import layers, optimizers, metrics, losses, callbacks


# 读取数据并绘图
def read_data(filepath):
    data_origin = pd.read_excel(filepath, header=0)
    # print(data_origin.head())
    # data_origin = data_origin.replace(0,np.NAN)
    # data_origin.dropna(inplace=True)
    # data_origin.fillna(method='pad',inplace=True)
    # 画图
    fig = plt.figure(figsize=(15, 5))
    fig.add_subplot()
    plt.plot(data_origin.iloc[:-200, 1])  # iloc通过整数位置为基础的索引来选择
    plt.show(block=False)
    return data_origin

#
# 归一化
def min_max_scaler(data):
    # x = (x - x_min) / (x_max - x_min)
    data_1 = (data - data.min()) / (data.max() - data.min())

    return data_1


# 反归一化
def inverse_data(y_test_pred, data_origin
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值