Aspiring Data Science – Telegram
Aspiring Data Science
385 subscribers
465 photos
12 videos
12 files
2.15K links
Заметки экономиста о программировании, прогнозировании и принятии решений, научном методе познания.
Контакт: @fingoldo

I call myself a data scientist because I know just enough math, economics & programming to be dangerous.
Download Telegram
#scoring #binning #woe #gini #psi

Вот еще была интересная либа vtb_scorekit.

"Алгоритм работы этого метода следующий:

Ищется разбиение на максимальное кол-во бинов. Для этого может использоваться либо наш собственный алгоритм, основанный на деревьях, либо библиотека optbinning.

Далее в найденном биннинге проводятся проверки

на тренд WOE — он может быть либо монотонным, либо V (или /\)‑образным, но во втором случае Gini переменной должно быть выше относительно монотонного тренда на заданную в параметрах величину. Такая дополнительная проверка позволяет исключить случайные отклонения от монотонности в трендах

стабильность тренда WOE — тренд должен сохраняться на всех тестовых сэмплах, и доверительные интервалы WOE в соседних бинах не должны пересекаться

стабильность Gini — Gini на всех тестовых сэмплах не должно сильно отличаться относительно обучающей выборки и все значения должны попадать в доверительные интервалы, рассчитанные бутстрэпом.

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

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

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

Тут уже есть из коробки многофакторный анализ, проводящийся в 4 этапа:

"Сначала будут отсечены слабые и не стабильные факторы по заданным трешхолдам Gini и PSI факторов

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

На третьем этапе проводится итерационный отбор факторов, который может отбирать переменные как для максимизации заданной метрики, так и по p-value переменных.

В самом конце исключаются малозначимые факторы и вошедшие в модель со знаком, противоречащим бизнес-логике."

https://habr.com/ru/companies/vtb/articles/743392/
👍1🔥1
#abtesting

Про ухудшающий эксперимент интересно, и про опасность подмены метрик, как и излишнего оптимизма. "Катить по серому" - забавно.

https://www.youtube.com/watch?v=gMx-juYkNCw
#abtesting

Самое лучшее выступление по А/Б тестам с управленческой точки зрения, что я видел.

Фишка культуры А/Б тестирования в том, что ценность мнения CEO компании становится равной ценности мнения любого сотрудника.

Наверное, это один из главных барьеров к распространению этого подхода к принятию решений.

https://youtu.be/_sx5LV23hIE?si=B7wuha09eOp2XVYj
#dummy #baselines #sklearn #timeseries

Чёт я задумался, что Dummy* модели в sklearn совсем не предназначены для временных рядов. Сел сочинять Feature Request, посмотрим, если не зарубят, даже сам над ним поработаю.

И, кстати сказать, неудобно, что на практике всегда перебираешь все доступные стратегии, чтобы создать хоть какой-то разумный бэйз.

У меня пока такие идеи:

1) дать возможность указывать окно, как в pandas при вычислении rolling/expanding. Вводим для этого параметр scope:str={"rolling","expanding","all"}. Если scope!="all", стратегия применяется не ко всему датасету, а к окошку. параметры **kwargs передаются напрямую в метод scope ряда pandas.

Для полной поддержки взвешенных окон придётся добавить **extra_kwargs:

kwargs=dict(window=5, win_type="gaussian")
extra_kwargs=dict(std=0.1)
# Supplementary Scipy arguments passed in the aggregation function
y.rolling(**kwargs).mean(**extra_kwargs)


2) добавить strategy="lag" (только для scope="rolling")

3) добавить strategy="best", которая будет внутри перебирать все остальные стратегии, чтобы выдать пользователю самую сильную базу. Также придётся добавить параметр scoring, как в cross_validate, чтоб можно было сравнивать стратегии.

4) добавить strategy="ewm" на базе того же пандас. параметры **kwargs передаются напрямую в метод ewm pandas.

5) добавить strategy="apply" (для scope!="all") для применения кастомных аггрегирующих функций. Будет транслироваться в

def mad(x):
return np.fabs(x - x.mean()).mean()

kwargs=dict(window=4)
extra_kwargs=dict(func=mad, raw=True)

y.rolling(**kwargs).apply(**extra_kwargs)


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

Ещё придётся думать о сортировке y (если это ряд pandas с datetimelike-индексом) и заполнении пропусков (у окон есть параметр min_period, так что пропуски вполне могут появиться). Думаю заполнять пропуски либо backfill-ом, либо стратегией, применённой ко всему датасету. Нужен новый параметр fill_na:str={"backfill","strategy"}, видимо.

Есть ещё предложения по стратегиям?

В общем, запостил FR: https://github.com/scikit-learn/scikit-learn/issues/29813
2🏆1
Forwarded from Data Secrets
⚡️ Breaking: чтобы выйти из кризиса, Nvidia начала выпускать женские сумочки
Please open Telegram to view this post
VIEW IN TELEGRAM
#ai #gpt

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

Исследование также выявило некоторые недостатки в работе ИИ, такие как отсутствие разнообразия идей. Даже при чётком указании не повторяться, ИИ быстро про это забывал. Кроме того, ИИ не смог последовательно проверять и оценивать идеи и получал низкие баллы за согласие с человеческими суждениями. Важно отметить, что исследование также выявило определённые ограничения в методологии. В частности, оценка «оригинальности» идеи, даже группой экспертов, остаётся субъективной, поэтому планируется провести более комплексное исследование, в котором идеи, генерируемые как ИИ, так и людьми, будут полностью оформлены в проекты, что позволит более глубоко изучить их влияние в реальных сценариях. Тем не менее, первые результаты исследования, безусловно, впечатляют."

https://3dnews.ru/1110837/ii-prevzoshyol-uchyonih-v-generatsii-innovatsionnih-issledovatelskih-idey
#hardware #hdd

"Роботизированная система производства Dobot Robotics на основе ИИ от Microsoft использует компьютерное зрение для распознавания различных типов жёстких дисков и выбора способа их разборки.

По данным Microsoft, этот новый подход NoShred направлен на достижение 90 % повторного использования и переработки жёстких дисков к 2025 году. Роботы обеспечивают безопасность данных, уничтожая только компоненты, несущие данные, и извлекая ценные материалы. Следует отметить, что во многих случаях компании, которые должны уничтожать свои диски, не делают этого, и они в конечном итоге собирают пыль в складских помещениях или отправляются на свалки.

На сегодняшний день по разным оценкам во всём мире ежегодно заканчивают свой жизненный цикл от 20 до 70 миллионов жёстких дисков. Только Microsoft в 2022 году уничтожила два миллиона жёстких дисков, причём процент разобранных и переработанных устройств компания не сообщила."

https://3dnews.ru/1110950/microsoft-razrabotala-robotov-dlya-razborki-i-pererabotki-dvuh-millionov-gyostkih-diskov-v-god
#mlstories

Моя типичнейшая ошибка повторяется - один класс моделей, нет HPT ) Когда-то будет дописана статья, как надо правильно.

Из интересного: в реальном времени сработало обнаружение data drift, использовали теневую модель.

https://www.youtube.com/watch?v=ejWCMlKBt4A
👍2
#ai #gpt

Ты же количество букв в слове не могла правильно посчитать, блэт, что щас было-то?!

"Will it empower us or making us dumber?

If one really knows what (s)he is doing, so the "artificial science assistants" should lift us.

But, also, it will have the pervert outcome to make us lazier and not so willing anymore to really take the time to fully and sometimes painfully, "ingest" the subject matter to better digest it and make it consubstantiate to our (shareable) scientific culture.

Socrates never wrote but let Plato do it for him. He said that the invention of writing was a loss to true knowledge assimilation as before one has to ingest all the available surrounding knowledge by direct exposition from a living master. He was right provided one could have a Socrates as a master but of course he was wrong for the collective distribution of knowledge.

Mutatis, mutandis, we are facing a similar issue now with the "commoditization" of scientific research (mathematically grounded) method.

Anyway, what a wonderful time to be alive!"

https://youtu.be/a8QvnIAGjPA?si=T6HLlmPjXZkHT5Kj
#persons

Вообще Кайл Кабасарес этот интересный чувааак.

"I currently work for the Bay Area Environmental Research Institute (BAERI) as a Data Scientist at the NASA Ames Research Center in Moffett Field, California. I am developing machine learning models and am using NASA’s Pleiades supercomputer to analyze terabytes to petabytes worth of satellite data. With improvements in spatial and temporal resolution, Low-Earth Orbit and Geostationary satellites record data at an unprecedented rate. The sheer volume of this data and the speed at which it is being delivered makes it difficult for scientists to analyze and convey their findings efficiently. My goal is to combine the power of machine learning models and supercomputing systems to rapidly investigate, process, and model these enormous datasets to better understand our planet.

I graduated from the University of California, Irvine with my PhD in Physics in June 2023. During my PhD, I worked under the supervision of Professor Aaron Barth and developed custom Python-based software for the purpose of measuring the masses of supermassive black holes from data taken from the Atacama Large Millimeter/submillimeter Array and the Hubble Space Telescope. My dissertation can be read online for free here.

When I’m not doing research, I enjoy creating YouTube videos that involve my experiences in graduate school, showing how to solve physics problems step-by-step, and occasionally comedic physics & astronomy sketches showcasing my “Oscar-worthy” acting skills. I also enjoy playing the piano and guitar."