Использование периодограммы для обнаружения сезонности временных рядовPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Использование периодограммы для обнаружения сезонности временных рядов

Сообщение Anonymous »

Я работаю над захватом сезонности временных рядов, используя участок периодограммы, я хочу использовать десять лучших частотных компонентов для создания временных рядов сезонности, до сих пор я наложил периодограмму: < /p>

data=elec_price[:48*365]
from scipy.signal import periodogram
f, Pxx_den = periodogram(data)
< /code>

Данные представляют собой подмножество цен на один год с 30 -минутными интервалами
и захватили десять лучших частотных компонентов из списка Fourier_coefficients после сортировки по амплитуде < /p>

fourier_coefficients=Pxx_den.tolist()
fourier_coefficients=pd.DataFrame(fourier_coefficients,columns=['amplitude'])
< /code>

Верхние частоты с самыми высокими амплитудами:
365,2,730,22,52,5,729,8
, что мне нужно сделать дальше, так это использование этих высших частотных компонентов, чтобы получить сезонность серии «Я», я не сгенерировал, я подумал, что это не так, что я подумал, что я не сдвинул, что не зарегистрировал их, не зарегистрировал их. Это правильный путь, потому что я помню, что должна быть воображаемая часть частотного компонента, но я не могу найти ее из данных периодиаграммы, во -вторых, я только предполагаю, что каждый из этих компонентов - это волна греха. < /p>

sin_waves=fourier_coefficients.drop(columns=['frequency coneficient','amplitude']).copy()
sin_waves[' sin_wave_1']=0
sin_waves[' sin_wave_2']=0
sin_waves[' sin_wave_3']=0
sin_waves[' sin_wave_4']=0
sin_waves[' sin_wave_5']=0
sin_waves[' sin_wave_6']=0
sin_waves[' sin_wave_7']=0
sin_waves[' sin_wave_8']=0
for i in range(8761):
sin_waves[' sin_wave_1']= fourier_coefficients['amplitude'][365]*math.sin(math.pi*i*365/8761)
sin_waves[' sin_wave_2']= fourier_coefficients['amplitude'][2]*math.sin(math.pi*i*2/8761)
sin_waves[' sin_wave_3']= fourier_coefficients['amplitude'][730]*math.sin(math.pi*i*730/8761)
sin_waves[' sin_wave_4']= fourier_coefficients['amplitude'][22]*math.sin(math.pi*i*22/8761)
sin_waves[' sin_wave_5']= fourier_coefficients['amplitude'][52]*math.sin(math.pi*i*52/8761)
sin_waves[' sin_wave_6']= fourier_coefficients['amplitude'][5]*math.sin(math.pi*i*5/8761)
sin_waves[' sin_wave_7']= fourier_coefficients['amplitude'][729]*math.sin(math.pi*i*729/8761)
sin_waves[' sin_wave_8']= fourier_coefficients['amplitude'][8]*math.sin(math.pi*i*8/8761)
sin_waves['accumulated_sin_wave']=(sin_waves[' sin_wave_1']+sin_waves[' sin_wave_2']
+ sin_waves[' sin_wave_3']+sin_waves[' sin_wave_4']+sin_waves[' sin_wave_5']+
sin_waves[' sin_wave_6']+sin_waves[' sin_wave_7']+sin_waves[' sin_wave_8'])
< /code>

8761 - это количество образцов в данных.

i построил Sinaves ['accumulated_sin_wave'] < /code> < /p>

Вот сюжет для сезонных компонентов в первом году: < /p>
. src = "https://i.sstatic.net/ueoy90.png"/>

Итак, мне интересно, что мне делать, а не просто на график>

Подробнее здесь: https://stackoverflow.com/questions/553 ... ime-series
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»