вы можете использовать библиотеку, опубликованную @tartakynov, и, чтобы не повторять точно такой же временной ряд в прогнозе (переоснащение), вы можете добавить новый параметр в функцию с именем n_param
и установить нижнюю границу h
для амплитуд частот.
def fourierExtrapolation(x, n_predict,n_param):
обычно вы обнаружите, что в сигнале есть некоторые частоты, которые имеют значительно более высокую амплитуду, чем другие, поэтому, если вы выберете эти частоты, вы сможетеВыделив периодическую природу сигнала
, вы можете добавить эти две строки, которые определяются определенным числом n_param
h=np.sort(x_freqdom)[-n_param]
x_freqdom=[ x_freqdom[i] if np.absolute(x_freqdom[i])>=h else 0 for i in range(len(x_freqdom)) ]
, просто добавив это, вы сможете прогнозировать хороший и плавный прогноз
еще одна полезная статья о FFt: прогноз FFt в R