ARIMA模型的预测分为以下几部分
1、导入相关库
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import statsmodels.api as sm
from statsmodels.stats.diagnostic import acorr_ljungbox
from statsmodels.graphics.tsaplots import plot_pacf, plot_acf
plt.rcParams['font.sans-serif'] = ['Simhei']
plt.rcParams['axes.unicode_minus'] = False
import statsmodels.tsa.stattools as st
2、导入数据
由于ARIMA方法对数据的平稳性有很高的要求,所以如果你的数据波动较大的话,还需要先进行降噪等操作来处理,我之前的数据波动性很大,然后我导师给我讲了一种方法——小波分解,处理尖峰波动数据很有效。下面是我数据的处理前后对比图,
效果还是挺明显的。下面是小波分解的代码,直接把你的数据传进去,然后定义一个新的csv文件,把新的csv文件地址放上去,降噪后的数据直接就输出到这个新建的csv文件里了
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import math
import pywt
plt.rcParams['font.family'] = ['sans-serif']
plt.rcParams['font.sans-serif'] = ['SimHei']
# 封装成函数
def sgn(num):
if (num > 0.0):
return 1.0