Я хочу предсказать поломки машины. У меня есть данные на ежедневной основе и содержат информацию, такую как «минуты в работе», «количество внешних шоков» или «имя оператора». Я создал дополнительные факторы для хранения зависящих от времени данных, то есть «накопленных минут в работе с момента последнего отказа». См. Ниже df как представление о том, как выглядят данные
df = pd.DataFrame(
{"date" : ["2019/04/24" , "2019/04/25", "2019/04/26", "2019/04/27", "2019/04/28"],
"minutes in operation" : [200, 200, 200, 200, 200],
"accumulated minutes in operation since last break down" : [200, 400, 600, 800, 1000],
"breakdown" : [0, 0, 0, 0, 1]},
index = [1, 2, 3, 4, 5])
Идея состоит в том, что использование машинного обучения правильно классифицирует дни пробоя из числа дней без разбивки. Предсказание плохое на ежедневной основе, что не особенно плохо, так как мне не нужно предсказывать «Это не удастся в этот конкретный c день». Было бы здорово, если бы я мог предсказать, что это произойдет "в ближайшие три дня".
Поэтому я рассматриваю 2 решения:
- Обозначьте 2 дня до события как «1» («разбивка»: [0, 0, 1, 1, 1]). При этом я получаю очень хорошие результаты прогнозирования.
- Объединяйте 3 последовательных дня в одну строку наблюдения и делайте прогнозы на агрегированном уровне.
Мне интересно, является ли это правильным способом прогнозирования «возникновения события во временном окне в 3 дня» или существует ли более ML-pythoni c способ сделать это.