模块安装
使用到的库是pycwt,安装非常简单,直接使用pip即可
pip install pycwt
导入模块
import numpy as np
import matplotlib.pyplot as plt
import pycwt as wavelet
from pycwt.helpers import find
from matplotlib.pyplot import MultipleLocator
下载数据
# 从网页获取数据
url = 'http://paos.colorado.edu/research/wavelets/wave_idl/nino3sst.txt'
dat = np.genfromtxt(url, skip_header=19)
print(dat.shape)
(504,)
设置参数
title = 'NINO3 Sea Surface Temperature' # 标题
label = 'NINO3 SST' # 标签
units = 'degC' # 单位
t0 = 1871.0 # 开始的时间,以年为单位
dt = 0.25 # 采样间隔,以年为单位
N = dat.size # 时间序列的长度
t = np.arange(0, N) * dt + t0 # 构造时间序列数组
去趋势&标准化
p = np.polyfit(t - t0, dat, 1) # 线性拟合
dat_notrend = dat - np.polyval(p, t - t0) # 去趋势
std = dat_notrend.std() &nbs