Анализ временных рядов: прогнозирование категориальных переменных

У меня есть данные о возникновении неисправностей машины (с точки зрения 0 и 1) с интервалами в 1 минуту. 0 означает, что ошибки не было, а 1 означает, что произошла конкретная ошибка. Таким образом, непрерывные нули означают, что в течение определенного периода времени не возникало никаких сбоев, а непрерывные 1 означают, что в течение определенного времени постоянно возникали сбои. Я предоставил образец структуры данных, как показано ниже, теперь, как я могу выполнить анализ временных рядов сбоя A на данных, представленных ниже, и на основе анализа, как я могу сделать прогноз, например «Когда сбой A произойдет в будущих временных метках?»

      # Time series multivariate
import pandas as pd
import numpy as np

df = pd.DataFrame({'timestamp':pd.date_range('2022-05-01 00:01:00', periods=18, freq='T'),
                   'fault_code':['A']*4+['B']*3+['A']*2+['C']*5+['B']*2+['A']*1+['D']*1
                  }) 
df['pulse']    = 1

df_ts = df.pivot(index="timestamp", columns="fault_code", values="pulse")
df_ts = df_ts.fillna(0)
display(df_ts)



         fault_code A   B   C   D
timestamp               
2022-05-01 00:01:00 1   0   0   0
2022-05-01 00:02:00 1   0   0   0
2022-05-01 00:03:00 1   0   0   0
2022-05-01 00:04:00 1   0   0   0
2022-05-01 00:05:00 0   1   0   0
2022-05-01 00:06:00 0   1   0   0
2022-05-01 00:07:00 0   1   0   0
2022-05-01 00:08:00 1   0   0   0
2022-05-01 00:09:00 1   0   0   0
2022-05-01 00:10:00 0   0   1   0
2022-05-01 00:11:00 0   0   1   0
2022-05-01 00:12:00 0   0   1   0
2022-05-01 00:13:00 0   0   1   0
2022-05-01 00:14:00 0   0   1   0
2022-05-01 00:15:00 0   1   0   0
2022-05-01 00:16:00 0   1   0   0
2022-05-01 00:17:00 1   0   0   0
2022-05-01 00:18:00 0   0   0   1

# Time Series Plot 
import matplotlib.pyplot as plt
import seaborn as sns

sns.set_theme(style="whitegrid") # darkgrid, whitegrid, dark, white, and ticks

faults=['A',
        'B',
        'C',
        'D'
       ]

plt.figure(figsize = (15,4))
sns.lineplot(data=df_ts[faults])
plt.show()

График временных рядов вышеуказанных данных

      I want next occurrence of Fault A
         fault_code  A 
timestamp    
2022-05-01 00:19:00  ?   
2022-05-01 00:20:00  ? 
2022-05-01 00:21:00  ? 
2022-05-01 00:22:00  ? 
2022-05-01 00:23:00  ? 
2022-05-01 00:24:00  ? 
2022-05-01 00:25:00  ?

? asks what forecasted value either o or 1

0 ответов

Другие вопросы по тегам