对时间序列进行分解,包括趋势项、周期项和残差项。
(1)引入包
# import statsmodels.api as sm
from statsmodels.tsa.seasonal import seasonal_decompose
from dateutil.parser import parse
import pandas as pd
import torch
import matplotlib.pyplot as plt
import numpy as np
import os
os.environ['KMP_DUPLICATE_LIB_OK']='True'#防止导入pyplot时服务挂掉
torch.manual_seed(1) # 为CPU设置随机种子
(2)分解实现
df = pd.read_excel(r'C:\Users\20882\Desktop\111.xlsx',parse_dates=['date'], index_col='date')#日期标签名
result_add = seasonal_decompose(df['y'], #数值列名
model='additive', #加 multiplicative乘(不允许有负值或0)
period = 11,#事先不指定周期 None