Aspiring Data Science
327 subscribers
390 photos
10 videos
6 files
1.46K links
Заметки экономиста о программировании, прогнозировании и принятии решений, научном методе познания.
Контакт: @fingoldo

I call myself a data scientist because I know just enough math, economics & programming to be dangerous.
Download Telegram
#competitions #watersupply

Крис Мольнар упомянул крайне интересное соревнование Water Supply Forecast Rodeo. Кто хочет поучаствовать?! Йихаа, бэйби!! )

Решил влезть в эту сореву. Подкупает несколькими вещами:

1) общественно полезная работа. всегда мечтал сделать что-то полезное для общества в масштабе. это вам не сбербанковские конкурсы, которые только для пиара и где хорошие решения организаторам неинтересны

2) дают данные. notebooks-only соревы я не люблю: организаторы получаю от участников бесплатно идеи, а большинство участников получает хрен.
тут, кажется, можно сильно прокачаться в альтернативных данных. список источников курируется и довольно велик. странно, что пока спутниковые снимки не завезли, вроде пока только табличные данные.

3) это близко к моим научным и практическим интересам: временные ряды, но только в части фичей. таргеты скорее из классики ML Нужно предсказывать по каждому из 26 источников воды суммарный водяной поток за сезон в любую дату до завершения сезона. По сути, можно провести аналогию с 26 активами на бирже, только трейдеры/кванты хотят предсказывать за период не суммы, а экстремумы ряда. Причём наверняка между "сайтами" есть связи, как и между активами.

4) данных не то чтобы супермного по объёмам, гранулярность дневная, вполне может влезть на мой рабочий комп.

5) у меня уже есть модули создания фичей для временных рядов, обучения моделек с разными препроцессингами над одними и теми же фичами с логированием в облачный mlflow, простым ансамблированием

6) как раз, возможно, получится докрутить feature selection и hyperparameters tuning и заюзать здесь. а может, и на полноценный стэкинг хватит.

7) призовой фонд в полмиллиона баксов наверняка привлечёт мировых топов в соревновательном DS, и я смогу сравнить силу своих ML решений с лидерами отрасли. пока вижу 350+ команд.

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

Лично мне, кстати, противно смотреть рекомендации кэгглеров, посвящённые чисто эксплойтам дата ликов.
#watersupply #competitions

Чёт ещё не начал участвовать, а уже разочарование. Ребята уверенно заложили data leak бомбу прям под свой фундамент. Ещё и ресурсы на это оттянут. Ну и нахер надо на это своё время тратить?

"Hi, wanted to participate in this competition and create value for the society. However, I feel that artificial data limitations introduced by the organizers to be able to run the Hindcast stage will influence Forecast stage (where help of DS folks is REALLY need) in a negative way:

spirit of the competition requires that at forecast issue dates ALL present information should be accounted for (for features only, not for targets). However, your current data withholding (for the Hindcast stage) creates artificial gaps in features for no reason. For example, at the day of forecast issue I want to know running water inflow for every 12 preceding months. Or 24. It’s very natural for TS feature creation. But you simply don’t allow this currently. Contestants need to fight to overcome such gaps. Why should we spend extra efforts developing worse models?

I understand the desire of keeping Hindcast data private to be able to estimate true predictive power of the models early. However, ground truth data is in public open APIs and easily downloadable. And there are ways to overfit on ground truth data indirectly. Do you want to make the Hindcast stage a “data leakage” stage? Then at least do that without artificial features/data limiting, so that people don’t spend time and carbon footprint on solutions that go nowhere.

My suggestions:

1) allowing all data up to forecast issue dates without gaps and length limitations, to not waste contestants time on fighting windmills
2) using known in advance TimeSeriesSplit cross-validation schema with big enough folds number, to decrease data leakage impact and judge submissions more fairly. Do not allow hardcoded hyperparameters. Do the training inside of submitted scripts, not only the inference.
3) lowering prices for the Hindcast stage in favor of Forecast stage"

https://community.drivendata.org/t/nagative-influence-of-the-hindcast-stage-possible-fixes/9249
#watersupply #competitions

Я уже думал, что всем похер, но внезапно 1 из 350+ участников соревнования выразил мне поддержку.
Заметьте: в основе соревнования лежит, как я понимаю, желание точнее прогнозировать наличие водных ресурсов в США для целей ирригации, снабжения питьевой водой, и прочих важных вещей. Правила соревнования явно поощряют оверфит, и делают разработанные модели малополезными для практического использования. Это ясно любому с минимальным опытом в DS. Что делает 99% участников за месяц соревнования с большим призовым фондом? Правильно, молчит и пилит оверфитнутые модели. Мне просто стало уже противно. Это как был один хер, каггл грандмастер, который выиграл очередное соревнование по оценке привлекательности питомца с помощью дата лика, а потом давал интервью в духе, мол, а чо такого. Лычку и бабки получить чтобы, всё сгодится.

"Hi Jay @jayqi,

I hope this message finds you well. I am writing to address some concerns I have regarding the current rules of the competition. Allow me to introduce myself as a machine learning specialist with a background in hydrology.

In my capacity as a hydrologist, it is evident to me that the long-term distribution of river flow exhibits a pronounced seasonality, characterized by high-water and low-water periods. This phenomenon is well-documented in hydrology articles and can be effectively described using methods such as a moving average with a multi-year window. Notably, the choice of data, whether target or USGS data, is inconsequential to this approach. However, I have observed that the current rules prohibit the utilization of such features.

I wish to bring to your attention that this restriction was imposed a month after the competition commenced. This raises two important points: firstly, the rules appear to evolve as the competition progresses, and secondly, participants who may have already implemented this approach in their models are now compelled to alter their model architectures.

In fact, this ban means it is impossible to use certain classes of models. Does it means it is impossible to use autoregressive or ESP-like models that leverage historical meteorological data?

Additionally, I comprehend the organizers’ rationale behind not permitting the use of the target to generate features. However, what perplexes me is the restriction on utilizing other approved data sources to compute long-term features or anomalies. For instance, why cannot approved data sources be employed for this purpose?

Furthermore, in the field of machine learning, it is customary to refrain from making explicit hypotheses about the impact of specific features on the studied process. Instead, assessments are typically based on an analysis of feature importance. My findings align with those of @fingoldo, and I am willing to share the feature importance chart if deemed necessary. While I acknowledge the organizers’ prerogative to impose restrictions on the source data, I find it unusual that these restrictions extend to entire classes of models or the feature engineering process. Given that we are participating in a machine learning and data analytics competition, rather than a hydrology contest, I propose that it may be more relevant to focus on the methodologies employed within ML field.

I sincerely hope you will consider these arguments, and I kindly request that the current restrictions be reconsidered. Allowing competitors the freedom to experiment with various models and approaches to feature engineering would enhance the overall quality and innovation of the submissions."

https://community.drivendata.org/t/negative-influence-of-the-hindcast-stage-possible-fixes/9249/6
#milestones #plans #2023

Итоги моего 2023-го года.

Бизнес-проекты

К сожалению, у меня трудности с доведением замыслов до готового продукта, даже если технически всё реализовать я могу - теряется как-то быстро интерес, что ли. В 2023-м я "технически сделал" 1 такой продукт/сервис для поиска подходящих облачных серверов, #opticloud, но никуда в паблик пока не вывел. Также за этот год появились идеи как минимум 6 интересных стартапов (от знакомств и обучения языкам до оптимизации СУБД), над некоторыми я даже неплохо поработал и добился начального прогресса. Благодаря неожиданно вышедшему на связь старому товарищу поработал над ML в оценке недвижимости. В планах на 2024-й продолжить работу над этими проектами, и, самое важное, зарелизить как минимум 1 общедоступный цифровой продукт.

Совместная работа

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

ML

За год удалось вернуться к многим своим старым идеям о взаимной информации и отборе признаков, переписать свою старую библиотечку с visual basic на python с многопроцессорностью и gpu, сформулировать идеи экспериментов и сравнений, которые надо провести. Начал писать свою FS-либу #diogenes, сейчас она включает в себя на 95% готовые модули filters и wrappers с кастомной реализацией SelectBest и #RFECV и превосходит по функциональности и качеству всё то, что я знаю из общедоступных решений. В планах на 2024-й её доведение до ума и интеграция со своей библиотекой оптимизации гиперпараметров.

Обучение

В основном я прокачивал знания в ML, просматривая/прослушивая ютуб-ролики, на эту тему (эффективного усваивания подобного материала) появились идеи ещё нескольких стартапов )

Соревнования

В очередной раз подтвердилось моё понимание, что ML-соревы - это бесполезная трата времени. Насколько я был воодушевлён, решив поучаствовать в #watersupply, настолько же оказался разочарован, увидев, какие тупые искусственные ограничения туда добавили организаторы. Ещё более меня разочаровали 350+ дата сайентистов, которые слова не сказали против таких правил, позволяющих пилить оверфитнутые решения, бессмысленные с точки зрения практики. В итоге, после препирания (моего и ещё 1 неравнодушного участника) с админами площадки, незадолго от дедлайна пришло уведомление, что идиотские ограничения убраны, что ещё более усилило, как это модно говорить, чувство кринжа.

Правда, в начале года я выиграл мини-сореву по предсказанию цен на электричество #electricity, но там каждому участнику была гарантирована компенсация в $2k независимо от места, и я ничего не терял. С тех пор, кстати, я сильно прокачал модуль генерации признаков для временных рядов, использованный в сореве.

Публицистика

Написал несколько статей на medium. Площадка - говно, но и хабр не лучше, а куда-то писать надо было.

Трейдинг

Это одна из тем, к которой я регулярно возвращаюсь со времён университета, и отступаю из-за нехватки знаний. В этот раз уже знаний, кажется, хватает, но завяз в тонкостях реализации. Проделана большая работа в нескольких поднаправлениях, в частности, сделано хорошее логирование экспериментов в MFlow, с ансамблями и стекнгом. Ожидается существенный прогресс от интеграции с Диогеном. Надо, как всегда, побыстрее делать простое работающее решение, и постепенно улучшать. В этом плане я решил попробвать сначала поработать с трейдером, предоставив ему информационную поддержку в виде веб-панельки с прогнозами, какие активы имеют высокую вероятность роста/падения в ближайшее время, посмотрим, будет ли она полезной. В планах на 2024-й, безусловно, полностью автоматизированная торговля на основе ML моделей.