DS algo ?

Ответить
Сабина
Уже с Приветом
Сообщения: 19041
Зарегистрирован: Ср янв 11, 2012 3:25 am
Откуда: CA

DS algo ?

Сообщение Сабина »

Решаю такую задачу ....
Думала SQL-ом, аналитическая функция (LAG etc), но потом подумалось что должен быть какой нибудь подходящий DS algoritm. Перекопала свои лекции по ML4BIZ, ничего подходящего не нашла. Решила спросить здешних датасатанистов

Есть timeseries records like

Код: Выделить всё

ID      timestamp  col1      col2     col3. .....

abc1  ts1             val1     val2     val3
abc1  ts2             val1     val2     val3
abc3  ts3             val1     val2     val3
abc1  ts4             val1     val2     val3
abc1  ts5             val1     val2     val3
abc1  ts6             val1     val2     val3
abc3  ts7             val1     val2     val3
abc1  ts8             val1     val2     val3

Нужно извлечь insights like ...
- abc1 has the most changes in col1 over time, abc3 has the most changes in col3 over time
- col3 is the most frequently changed column in the last 24 hours

И все в таком духе.

Anybody ?
https://www.youtube.com/watch?v=wOwblaKmyVw
Аватара пользователя
Komissar
Уже с Приветом
Сообщения: 64875
Зарегистрирован: Пт июл 12, 2002 11:38 am
Откуда: г.Москва, ул. Б. Лубянка, д.2

Re: DS algo ?

Сообщение Komissar »

Это из колледж курса по Data Science. Младшему задали?
Аватара пользователя
Uzito
Уже с Приветом
Сообщения: 8239
Зарегистрирован: Ср фев 06, 2002 4:01 am
Откуда: NJ, USA

Re: DS algo ?

Сообщение Uzito »

Сабина писал(а): Чт апр 01, 2021 4:30 pm Anybody ?
Разве это что-то сложнее COUNT DISTINCT?
Сабина
Уже с Приветом
Сообщения: 19041
Зарегистрирован: Ср янв 11, 2012 3:25 am
Откуда: CA

Re: DS algo ?

Сообщение Сабина »

Uzito писал(а): Чт апр 01, 2021 5:50 pm
Сабина писал(а): Чт апр 01, 2021 4:30 pm Anybody ?
Разве это что-то сложнее COUNT DISTINCT?
А как вы с count distinct посчитсаете какая колонка менялась чаше чем другая ? Там их собственно 500+ и надо еше и ранжировать по частоте update. Это замучаешься с count distinct . Но я думаю что наверняка есть готовый алгоритм для аназлиза timeseries который все это махом делает и еше и charts строит
https://www.youtube.com/watch?v=wOwblaKmyVw
Lisa
Уже с Приветом
Сообщения: 3209
Зарегистрирован: Вт июл 25, 2000 4:01 am

Re: DS algo ?

Сообщение Lisa »

Какой тут может быть ещё алгоритм, кроме как в цикле частоту в каждом столбце посчитать?
Аватара пользователя
Ion Tichy
Уже с Приветом
Сообщения: 13346
Зарегистрирован: Пн дек 06, 2004 10:00 pm
Откуда: Москва->CO
Благодарил (а): 9 раз

Re: DS algo ?

Сообщение Ion Tichy »

Статистика / тер-вер не помогут?
Чем больше дисперсия, тем сильнее расколбас...
Как же это вы без гравицаппы пепелац выкатываете из гаража? Это непорядок...
Сабина
Уже с Приветом
Сообщения: 19041
Зарегистрирован: Ср янв 11, 2012 3:25 am
Откуда: CA

Re: DS algo ?

Сообщение Сабина »

Lisa писал(а): Пт апр 02, 2021 12:36 am Какой тут может быть ещё алгоритм, кроме как в цикле частоту в каждом столбце посчитать?
вы о чем ?
https://www.youtube.com/watch?v=wOwblaKmyVw
Аватара пользователя
Uzito
Уже с Приветом
Сообщения: 8239
Зарегистрирован: Ср фев 06, 2002 4:01 am
Откуда: NJ, USA

Re: DS algo ?

Сообщение Uzito »

Сабина писал(а): Чт апр 01, 2021 8:58 pm А как вы с count distinct посчитсаете какая колонка менялась чаше чем другая ? Там их собственно 500+ и надо еше и ранжировать по частоте update. Это замучаешься с count distinct . Но я думаю что наверняка есть готовый алгоритм для аназлиза timeseries который все это махом делает и еше и charts строит
Если изменения A->B->C-> ...-> ZZY -> ZZZ то для подсчёта изменений достаточно просто count distinct. Если значения меняются A->B->C->B->A->B->C то нужен LAG для нахождения количества 'значение поменялось'. 500 колонок можно перевернуть в строки и нахождение самой изменяемой колонки сведётся просто к сортировке пересчитанного.
Сабина
Уже с Приветом
Сообщения: 19041
Зарегистрирован: Ср янв 11, 2012 3:25 am
Откуда: CA

Re: DS algo ?

Сообщение Сабина »

Uzito писал(а): Пт апр 02, 2021 9:36 am
Сабина писал(а): Чт апр 01, 2021 8:58 pm А как вы с count distinct посчитсаете какая колонка менялась чаше чем другая ? Там их собственно 500+ и надо еше и ранжировать по частоте update. Это замучаешься с count distinct . Но я думаю что наверняка есть готовый алгоритм для аназлиза timeseries который все это махом делает и еше и charts строит
Если изменения A->B->C-> ...-> ZZY -> ZZZ то для подсчёта изменений достаточно просто count distinct. Если значения меняются A->B->C->B->A->B->C то нужен LAG для нахождения количества 'значение поменялось'. 500 колонок можно перевернуть в строки и нахождение самой изменяемой колонки сведётся просто к сортировке пересчитанного.
Это точно не сработает. Во первых там новых данных приплывает 1 ТВ в неделю в этой таблице. Во вторых некоторые из колонок это списки объектов. ( List<Sruct>) , надо custom UDF писать для сравнения значений.
Есть колонки где значения А -> А -> А -> А ... месяцами
https://www.youtube.com/watch?v=wOwblaKmyVw
Ann4Ann
Уже с Приветом
Сообщения: 1239
Зарегистрирован: Чт ноя 14, 2002 5:02 pm
Откуда: S.Peterburg, Russia -->SoFla

Re: DS algo ?

Сообщение Ann4Ann »

Сабина писал(а): Пт апр 02, 2021 1:48 am
Lisa писал(а): Пт апр 02, 2021 12:36 am Какой тут может быть ещё алгоритм, кроме как в цикле частоту в каждом столбце посчитать?
вы о чем ?
ну в принципе да, частоту изменений.
может, я не совсем поняла задачу... на прошлой работе у меня была на питоне и кафке написана стриминговая библиотека для индексации time series. это инженерная задача.
скажем у вас есть несколько тысяч сенсоров с производства и они стримят сигналы каждый со своей частотой .. есть раз в 5 секунд, есть раз в 30, есть раз в час.... пишется конфигурируемая компонента, которая их принимает и считает что там ей надо посчитать. в вашем случае индекс изменений (плюс я б добавила стандартно count, min, max avg) в час, в день, в месяц... и тыды. там же вполне могут быть хуки для более сложных реал тайм алгоритмов. потом из индексов уже и чарты, и простой sql подсчет и что угодно. эти компоненты конфигурятся и выстраиваются и в длину, и в ширину, как для конкретной задачи удобнее. ну и, понятно, что они всегда обрабатывают real time поток, но и в режиме R&D на таком пайплайне датасаянтисты всегда могут запустить replay всего, или какого то куска ts и натренировать что там они тренируют, тут серверлесс он деманд и вперед.
на самом деле это где то похоже и на индексацию видео стрима, и на построение поисковых индексов. вы ж там, вроде, уже это написали. питон там или джава вообще фиолетово, там и кода то совсем мало, я на питоне писала только из за хуков для нашей ds команды. а нельзя ваш же поисковый пайплайн на эти ваши ts напустить чуть подкрутив?
Сабина
Уже с Приветом
Сообщения: 19041
Зарегистрирован: Ср янв 11, 2012 3:25 am
Откуда: CA

Re: DS algo ?

Сообщение Сабина »

Ann4Ann писал(а): Пт апр 02, 2021 10:43 am
Сабина писал(а): Пт апр 02, 2021 1:48 am
Lisa писал(а): Пт апр 02, 2021 12:36 am Какой тут может быть ещё алгоритм, кроме как в цикле частоту в каждом столбце посчитать?
вы о чем ?
ну в принципе да, частоту изменений.
может, я не совсем поняла задачу... на прошлой работе у меня была на питоне и кафке написана стриминговая библиотека для индексации time series. это инженерная задача.
скажем у вас есть несколько тысяч сенсоров с производства и они стримят сигналы каждый со своей частотой .. есть раз в 5 секунд, есть раз в 30, есть раз в час.... пишется конфигурируемая компонента, которая их принимает и считает что там ей надо посчитать. в вашем случае индекс изменений (плюс я б добавила стандартно count, min, max avg) в час, в день, в месяц... и тыды. там же вполне могут быть хуки для более сложных реал тайм алгоритмов. потом из индексов уже и чарты, и простой sql подсчет и что угодно. эти компоненты конфигурятся и выстраиваются и в длину, и в ширину, как для конкретной задачи удобнее. ну и, понятно, что они всегда обрабатывают real time поток, но и в режиме R&D на таком пайплайне датасаянтисты всегда могут запустить replay всего, или какого то куска ts и натренировать что там они тренируют, тут серверлесс он деманд и вперед.
на самом деле это где то похоже и на индексацию видео стрима, и на построение поисковых индексов. вы ж там, вроде, уже это написали. питон там или джава вообще фиолетово, там и кода то совсем мало, я на питоне писала только из за хуков для нашей ds команды. а нельзя ваш же поисковый пайплайн на эти ваши ts напустить чуть подкрутив?
Спасибо за идею , теперь поняла. По идее min, max подойдёт для простых значений.
https://www.youtube.com/watch?v=wOwblaKmyVw
blanko27
Уже с Приветом
Сообщения: 2264
Зарегистрирован: Пн июн 16, 2003 11:41 pm
Откуда: Just like US

Re: DS algo ?

Сообщение blanko27 »

Перед сравнением входные данные обычно нормализуют (вычитая mean и деля на variance), но если у вас абстрактная задача, то можно и так. :)
...а мы такой компанией, возьмем, да и припремся к Элис!
Аватара пользователя
liamkin
Уже с Приветом
Сообщения: 2648
Зарегистрирован: Чт июн 19, 2003 3:22 pm
Откуда: USA

Re: DS algo ?

Сообщение liamkin »

Сабина писал(а): Пт апр 02, 2021 11:08 am
Ann4Ann писал(а): Пт апр 02, 2021 10:43 am
Сабина писал(а): Пт апр 02, 2021 1:48 am
Lisa писал(а): Пт апр 02, 2021 12:36 am Какой тут может быть ещё алгоритм, кроме как в цикле частоту в каждом столбце посчитать?
вы о чем ?
ну в принципе да, частоту изменений.
может, я не совсем поняла задачу... на прошлой работе у меня была на питоне и кафке написана стриминговая библиотека для индексации time series. это инженерная задача.
скажем у вас есть несколько тысяч сенсоров с производства и они стримят сигналы каждый со своей частотой .. /quote]

Спасибо за идею , теперь поняла. По идее min, max подойдёт для простых значений.
Если данных много и они все время поступают - то нужна стриминговая обработка. Иначе захлебнетесь.
И в этом случае легко считать все эти "тренды" в таймсерис.
Сабина
Уже с Приветом
Сообщения: 19041
Зарегистрирован: Ср янв 11, 2012 3:25 am
Откуда: CA

Re: DS algo ?

Сообщение Сабина »

Вопрос уже решён, всем спасибо
https://www.youtube.com/watch?v=wOwblaKmyVw
Ответить

Вернуться в «Работа и Карьера в IT»