Техническое задание (ТЗ) на разработку программы для прогнозирования временных рядов потребления электроэнергии
Цель проекта:
Разработать программу для прогнозирования потребления электроэнергии на основе временных рядов с использованием метода Random Forest. Программа должна принимать исторические данные потребления електрической энэргии, обучать модель, сохранять модель и масштабировщик, а также использовать натренированную модель для прогнозирования будущего потребления и сохранять результаты в файле.
Входные данные:
Файл CSV с историческими данными, который содержит следующие колонки:
year: Год наблюдения. month: Месяц наблюдения. day: День наблюдения. hour: Час наблюдения. weekday: День недели. temp: Температура воздуха (°C). function: Потребление электрической энергии (МВт/ч). Целевая переменная: Целевой переменной является потребление электрической энергии (колонка function).
Основные этапы программы:
Загрузка данных:
Импорт данных из CSV-файлов.
Разделение данных на признаки и целевую переменную (потребление электроэнергии).
Масштабирование данных:
Использование масштабировщика (например, StandardScaler) для приведения данных в единый масштаб (нормализация или стандартизация).
Создание временных окон:
Формирование наборов признаков и целевых значений для каждого временного окна (например, 24 часа).
Признаки: year, month, day, hour, weekday, temp.
Целевая переменная: function (потребление электроэнергии).
Обучение модели:
Использование модели RandomForestRegressor для обучения на данных временных рядов.
Разделение данных на обучающую и тестовую выборки для оценки модели.
Оценка модели по метрике RMSE или другим подходящим метрикам.
Сохранение модели и масштабировщика:
Сохранение обученной модели и масштабировщика в файлы для дальнейшего использования.
Использование временных окон для прогнозирования:
Использование модели для прогнозирования будущих значений на основе новых данных.
Сохранение результатов прогнозирования:
Прогнозируемые значения должны быть сохранены в CSV-файл для дальнейшего анализа
Технические требования:
Язык
программирования: Python 3.x.
Используемые
библиотеки:
pandas
scikit-learn
numpy
Критерии успешности выполнения:
Программа
корректно обучает модель на исторических данных и сохраняет её в файл.
Программа
использует обученную модель для прогнозирования на новых данных и
сохраняет результаты.
Программа
ведет логирование всех ключевых процессов (обучение, прогнозирование,
ошибки).
Структура
программы и код хорошо документированы, есть инструкции по запуску и
использованию программы.
Программа
должна выдавать прогноз с общим отклонением не более 5%. Это означает, что
средняя ошибка между фактическими данными (в тестовой выборке) и прогнозом
не должна превышать 5% от реальных значений.
A War Of A Madman's Making is a quietly brilliant, totally free political sim where you have to try to survive as a deranged dictator's henchman
Valve gets the original Half-Life 2 development team back together for a huge 20th anniversary update—and the game is now free for the weekend on Steam
If you spend more time downloading Skyrim mods than actually playing them, 'Vanilla Plus' modding is the excuse you need to dive back in
Unreal Gold and Unreal Tournament are now free on the Internet Archive, and Epic says that's A-okay