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

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Обзор

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


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

Описание

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

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

О нас

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

Оценивание

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

где:

  • 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 - Объем потребления или производства для соответствующего сегмента за час. Сегменты определяются с помощью  countyis_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

Источник: https://habr.com/ru/articles/798583/


Интересные статьи

Интересные статьи

Модульные ноутбуки — давно не новость, и каждый раз мы видим одну и ту же удручающую картину. Очередной стартап предлагает «модульность» на уровне «можно красненький», «можно синен...
Привет! Предлагаем немного отвлечься от сложных актуальных тем и поговорить о... шампанском. Точнее, о том, как его совершенствуют с помощью Mashine Learning.Французский производитель шампанских вин B...
Уже не только дети и подростки, но и многие вполне взрослые люди никогда не слышали звука модемного коннекта. Если несколько лет назад видео, где озадаченным детишкам показывают дискеты, дисковые те...
Работая с типовыми клиентскими задачами, мы в CreativePeople достаточно быстро столкнулись с ограничениями Google Analytics (версия Universal Analytics), которые не позволяли нам решать их к...
В статье рассмотрены причины возникновения и способы избежания неопределённого поведения при обращении к синглтону в современном c++. Приведены примеры однопоточного кода. Ничего compiler-specifi...