时间序列中的统计学特征(保持更新)

2019-03-20  本文已影响0人  是风车大渣渣啊

记时间序列为 X=\{x_1, x_2, …, x_n \}

u=\frac{\sum x_i}{n}

\sigma=\sqrt\frac{\sum (x_i-u)^2}{n-1}

u_k=\frac{\sum (x_i-u)^k}{n}

def moment_k(seq, k):
    mean = seq.mean()
    moment_k = np.mean((seq-mean)**k)
    return moment_k

u=\frac{u_3}{\sigma^3}

u=\frac{u_4}{\sigma^4}-3

拟合一条最优的直线,用斜率表示数据的发展趋势

from scipy.stats import linregress
def trend(seq):
    idx = np.array(range(len(seq)))
    slope =  linregress(idx, seq.squeeze())[0]
    return slope

统计序列中波峰波谷的个数,一定程度上可以表示序列波动的频率

def wave(seq):
    count = 0
    res = seq[1:]-seq[:-1]
    count = np.sum(res[:-1]*res[1:] < 0)

    return count
上一篇 下一篇

猜你喜欢

热点阅读