auto arima代码部分
- rolling_size = 2000,test_size = 1000
这已经算是经过尝试后的局部最优,rmse=0.3884
BP神经网络
数据格式
代码部分
#!usr/bin/env python
# -*- coding:utf-8 _*-
"""
@author: liujie
@software: PyCharm
@file: BP1.py
@time: 2020/11/8 21:57
"""
import warnings
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import tensorflow as tf
from tensorflow import keras
from sklearn.preprocessing import StandardScaler
from tensorflow.keras import layers,optimizers
from sklearn.metrics import mean_squared_error as MSE
# 读取数据
def read_data(datapath):
# read data
data1 = pd.read_csv(datapath,index_col=0)
# 填充或者删去
data1.fillna(method='pad',inplace=True) # 填充
# data.dropna(inplace = True) # 删去
return data1
# 分割数据
def splitdata(data,Sequence_length,horizon):
all_data = []
for dta in range(len(data) - sequence_length -horizon + 1):
all_data.append(data[dta : dta + sequence_length])
all_data = np.array(all_data)
ydata = data[(horizon + sequence_length -1) :]
ydata = list(ydata)
# 加入y变量
all_data = pd.DataFrame(all_data)
all_data['y']