核心思想
求自相关函数,比较第0个值(无延迟)与可能周期位置(或第一个峰值)的值是否相近
1 2 3 4 5 6 7 8 9 10 11 12 13
| from statsmodels.tsa.stattools import acf
rx = acf(x,fft=True, unbiased=True, nlags=np.size(x)-1)
if param['if_judge_periodicity_for_known_period'] == True: peak_value = rx[param['period_size']] else: peaks_detected = peakdetect(rx)[0] peak_value = peaks_detected[0][1]
periodicity_ratio = peak_value/rx[0]
|