[Перевод] Kaggle. Enefit — прогнозирование энергетического поведения потребителей

Обзор

Цель конкурса — создать модель прогнозирования энергетического потребления для снижения затрат на нарушение энергетического баланса.


Этот конкурс направлен на решение проблемы энергетического дисбаланса, ситуации, когда ожидаемая к использованию энергия не соответствует фактически используемой или произведенной энергии. Потребители, которые как потребляют, так и генерируют энергию, вносят значительный вклад в энергетический дисбаланс. Несмотря на то, что они составляют лишь небольшую часть всех потребителей, их непредсказуемое использование энергии вызывает логистические и финансовые проблемы у энергетических компаний.

Описание

Рабочие процессы NLP все чаще включают переписывание текста, но еще многое предстоит узнать о том, как эффективно использовать подсказки LLM. Это соревнование по машинному обучению призвано стать новым способом углубиться в эту проблему.

Задача: восстановить подсказку LLM, используемую для переписывания заданного текста. Ваше решение будет протестировано на наборе данных из более чем 1300 оригинальных текстов, каждый из которых сочетается с переписанной версией из Gemma, нового семейства открытых моделей Google.

О нас

Enefit — одна из крупнейших энергетических компаний в Балтийском регионе. Как эксперты в области энергетики, мы помогаем клиентам индивидуально и гибко планировать свое экологическое путешествие, а также реализовывать его с использованием экологически чистых энергетических решений. В настоящее время Enefit пытается решить проблему дисбаланса, разрабатывая внутренние прогностические модели и полагаясь на сторонние прогнозы. Однако эти методы оказались недостаточными из-за их низкой точности в прогнозировании энергетического поведения потребителей. Недостатки этих современных методов заключаются в их неспособности точно учесть широкий спектр переменных, влияющих на поведение потребителей, что приводит к высоким затрата

Оценивание

Решения оцениваются по средней абсолютной ошибке (MAE) между прогнозируемой доходностью и наблюдаемым целевым показателем. Формула:

8967156e7acb998be7caf513ddb33c25.png

где:

  • n общее количество точек данных.

  • {y}_{i} прогнозируемое значение для точки данных i.

  • {x}_{i} наблюдаемое значение для точки данных i.

Участие

Вы должны принять участие в этом конкурсе, используя предоставленный python API временных рядов, который гарантирует, что модели не будут заглядывать вперед во времени. Чтобы использовать API, следуйте шаблону в этом блокноте.

Период обучения моделей

  • 1 ноября 2023 года — дата начала.

  • 24 января 2024 года — крайний срок подачи заявок. Вы должны принять правила соревнований до этой даты, чтобы принять участие в соревнованиях.

  • 24 января 2024 года — Крайний срок объединения команд. Это последний день, когда участники могут присоединиться к командам или объединить их.

  • 31 января 2024 года — последний срок подачи заявок.

Все крайние сроки — 11:59 по Гринвичу соответствующего дня, если не указано иное. Организаторы конкурса оставляют за собой право обновлять график проведения конкурса, если сочтут это необходимым.

Период тестирования моделей

Рейтинговая таблица будет периодически обновляться.

Ожидается 1–3 обновления до окончательной оценки.

30 апреля 2024 года — Дата окончания конкурса

Призы

1-е место — 15 000 долларов

2-е место — 10 000 долларов

3-е место — 8 000 долларов

4-е место — 7 000 долларов

5-е место — 5 000 долларов

6-е место — 5000 долларов

Требования к коду

Заявки на участие в этом конкурсе должны быть поданы как блокноты. Для того, чтобы кнопка «Отправить» была активна после фиксации, должны быть выполнены следующие условия:

  • Время работы CPU Notebook <= 9 часов

  • Время работы GPU Notebook <= 9 часов

  • Доступ в Интернет отключен

  • Разрешен свободный и общедоступный доступ к внешним данным, включая предварительно обученные модели

  • Файл отправки должен иметь имя submission.csv и быть сгенерирован API.

Пожалуйста, ознакомьтесь с часто задаваемыми вопросами по конкурсу кода для получения дополнительной информации о том, как отправить решение. И просмотрите документ по отладке кода, если вы столкнулись с ошибками отправки.

Описание обучающей выборки

Ваша задача в этом конкурсе — спрогнозировать количество произведенной и потребленной электроэнергии эстонскими потребителями энергии, установившими солнечные панели. У вас будет доступ к данным о погоде, соответствующим ценам на энергию и записям установленной мощности фотоэлектрических установок.

Это конкурс прогнозирования с использованием API временных рядов. Рейтинговая таблица будет определена с использованием реальных данных, собранных после окончания периода подачи решений.

Все наборы данных соответствуют одному и тому же соглашению о времени. Время указано в EET/EEST. Большинство переменных представляют собой сумму или среднее значение за период в 1 час. Столбец datetime (независимо от его названия) всегда указывает начало 1-часового периода. Однако для наборов данных о погоде некоторые переменные, такие как температура или облачный покров, задаются на определенное время, которое всегда является концом 1-часового периода.

Файлы

train.csv

  • county — Идентификационный код округа.

  • is_business — Логическое значение для определения того, является ли просьюмер бизнесом или нет.

  • product_type — Идентификационный код со следующим сопоставлением кодов типам контрактов:  {0: "Combined", 1: "Fixed", 2: "General service", 3: "Spot"}.

  • target — Объем потребления или производства для соответствующего сегмента за час. Сегменты определяются с помощью  county,  is_business, and product_type.

  • is_consumption — Логическое значение, указывающее, является ли целью этой строки потребление или производство.

  • datetime — Эстонское время в EET (UTC+2) / EEST (UTC+3). Оно описывает начало 1-часового периода, на который задан целевой показатель.

  • data_block_id — Все строки, имеющие одинаковый идентификатор data_block_id, будут доступны в одно и то же время прогноза. Это зависит от того, какая информация доступна, когда прогнозы фактически составляются, в 11 часов утра каждое утро. Например, если значение data_block_id прогноза погоды для predictins, сделанного 31 октября, равно 100, то историческое значение data_block_id погоды на 31 октября будет равно 101, поскольку исторические данные о погоде фактически доступны только на следующий день.

  • row_id — Уникальный идентификатор для строки.

  • prediction_unit_id — Уникальный идентификатор для комбинации county, is_business и product_type. В тестовом наборе могут появляться или исчезать новые единицы прогнозирования.

    gas_prices.csv

  • origin_date — Дата, когда стали доступны цены на день вперед.

  • forecast_date — Дата, когда прогнозируемые цены должны быть актуальны.

  • [lowest/highest]_price_per_mwh — Самая низкая/самая высокая цена природного газа, действующая на рынке на день вперед в этот торговый день, в евро за эквивалент мегаватт-часа.

  • data_block_id

    client.csv

  • product_type

  • county — Идентификационный код округа. Смотрите county_id_to_name_map.json для сопоставления идентификационных кодов с названиями округов.

  • eic_count — Агрегированное количество точек потребления (EICs — Европейский идентификационный код).

  • installed_capacity — Установленная фотоэлектрическая солнечная панель мощностью в киловаттах.

  • is_business — Логическое значение для определения того, является ли просьюмер бизнесом или нет.

  • date

  • data_block_id

    electricity_prices.csv

  • origin_date

  • forecast_date — Представляет собой начало 1-часового периода, когда цена действительна

  • euros_per_mwh — Цена на электроэнергию на день вперед указана в евро за мегаватт-час.

  • data_block_id

    forecast_weather.csv Прогнозы погоды, которые были бы доступны во время прогнозирования. Получено из Европейского центра среднесрочных прогнозов погоды.

  • [latitude/longitude] — Координаты для прогноза погоды.

  • origin_datetime — Временная метка, указывающая, когда был сгенерирован прогноз.

  • hours_ahead — Количество часов между генерацией прогноза и прогнозом погоды. Каждый прогноз охватывает в общей сложности 48 часов.

  • temperature — Температура воздуха на высоте 2 метров над землей в градусах Цельсия. Рассчитано на конец 1-часового периода.

  • dewpoint — Температура точки росы на высоте 2 метров над землей в градусах Цельсия. Рассчитано на конец 1-часового периода.

  • cloudcover_[low/mid/high/total] — Процентная доля неба, покрытого облаками, в следующих диапазонах высот: 0–2 км, 2–6, 6+ и всего. Рассчитано на конец 1-часового периода.

  • 10_metre_[u/v]_wind_component — Составляющая скорости ветра [в восточном/северном направлении], измеренная на высоте 10 метров над поверхностью в метрах в секунду. Рассчитано на конец 1-часового периода.

  • data_block_id

  • forecast_datetime — Временная метка прогнозируемой погоды. Сгенерировано из origin_datetime плюс hours_ahead. Это представляет начало 1-часового периода, на который прогнозируются данные о погоде.

  • direct_solar_radiation — Прямое солнечное излучение, достигающее поверхности в плоскости, перпендикулярной направлению движения Солнца, накапливается в течение часа в ватт-часах на квадратный метр.

  • surface_solar_radiation_downwards — Солнечное излучение, как прямое, так и рассеянное, достигающее горизонтальной плоскости на поверхности Земли, накапливается в течение часа в ватт-часах на квадратный метр. snowfall — Snowfall over hour in units of meters of water equivalent.

  • total_precipitation — Накопленная жидкость, состоящая из дождя и снега, которая выпадает на поверхность Земли в течение описанного часа, в единицах измерения метров.

    historical_weather.csv Historic weather data.

  • datetime — Это означает начало 1-часового периода, за который измеряются погодные данные.

  • temperature — Измеряется в конце 1-часового периода.

  • dewpoint — Измеряется в конце 1-часового периода.

  • rain — Отличается от общепринятых прогнозов. Количество осадков в крупномасштабных метеорологических системах за час в миллиметрах.

  • snowfall — Отличается от общепринятых прогнозов. Количество выпавшего снега за час в сантиметрах.

  • surface_pressure — Давление воздуха на поверхности в гектопаскалях.

  • cloudcover_[low/mid/high/total] — Отличается от общепринятых прогнозов. Облачность на 0–3 км, 3–8, 8+ и общая.

  • windspeed_10m — Отличается от общепринятых прогнозов. Скорость ветра на высоте 10 метров над землей в метрах в секунду.

  • winddirection_10m — Отличается от условных прогнозов. Направление ветра на высоте 10 метров над землей в градусах.

  • shortwave_radiation — Отличается от общепринятых прогнозов. Глобальное горизонтальное облучение в ватт-часах на квадратный метр.

  • direct_solar_radiation

  • diffuse_radiation — Отличается от общепринятых прогнозов. Рассеянное солнечное излучение в ватт-часах на квадратный метр.

  • [latitude/longitude] — Координаты метеостанции.

    data_block_id

  • public_timeseries_testing_util.py 

    Необязательный файл, предназначенный для упрощения запуска пользовательских автономных тестов API. Подробности смотрите в документации к скрипту. Вам нужно будет отредактировать этот файл перед его использованием.

  • example_test_files

    Данные, предназначенные для иллюстрации того, как функционирует API. Включает те же файлы и столбцы, предоставляемые API. Первые три идентификатора data_block_id являются повторениями последних трех идентификаторов data_block_id в наборе данных.

  • example_test_files/sample_submission.csv 

    Действительный образец отправки, предоставляемый API. Смотрите в этой записной книжке очень простой пример того, как использовать образец отправки.

  • example_test_files/revealed_targets.csv 

    Фактические целевые значения за день до прогнозируемого времени. Это составляет два дня задержки по сравнению с прогнозируемым временем в test.csv.

  • enefit

    Файлы, которые позволяют использовать API. Ожидайте, что API доставит все строки менее чем за 15 минут и зарезервирует менее 0,5 ГБ памяти. Копия API, которую вы можете загрузить, использует данные из example_test_files/. Вы должны сделать прогнозы на эти даты, чтобы улучшить API, но эти прогнозы не учитываются. Ожидайте, что первоначально данные будут предоставлены примерно за три месяца, а к концу периода прогнозирования — до десяти месяцев.

Цитирование

Kristjan Eljand, Martin Laid, Jean-Baptiste Scellier, Sohier Dane, Maggie Demkin, Addison Howard. (2023). Enefit — Predict Energy Behavior of Prosumers. Kaggle.

https://kaggle.com/competitions/predict-energy-behavior-of-prosumers

© Habrahabr.ru