题记:
记录下自己论文中态势预测问题中,使用重标极差分析法对时间序列数据集进行可预测分析的过程。网上找到的相关R/S计算Hurst指数的代码,大多没有按照标准计算过程来实现,而相关论文中使用Hurst指数时,往往采用了对数散点图的方式来展示。
最终实现效果:
1、一般的重标极差分析法的计算过程
2、Python实现
水平有限,只是简单实现,没有采用矩阵等方式加速计算过程。
import numpy as np
import matplotlib.pyplot as plt
def my_hurst(obs: list) -> int:
"""
严格按照 R/S 标准流程推导
:param obs: 时间序列数据
:return: Hurst指数
"""
x_res = []
y_res = []
# 划分时间序列的间隔
step = 3
for n in range(step, len(obs), step):
x_res.append(np.log(n))