scutdusty

На Пикабу
2281 рейтинг 4 подписчика 6 подписок 14 постов 0 в горячем
Награды:
Участник конкурса "Нейро-Вдохновение"

Творожок Часть 5 разбираемся с ETL и ELT

Загрузка, причесывание итрансформация данных завершены, че с ними делать мы определились. Но что если данных овердохуя?

Задача: Выебать бабу и оставить ее в кровати.

У нас есть два подхода, которые зависят от комплекции бабы и размера кровати:

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

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

В этом суть ETL и ELT подхода к обработке и хранению данных, где Extract – Едешь к бабе, L – Ложишь ее и T – трахаешь.

Если бабенка маленькая и низкорослая, то ты сразу сможешь дотянуться до всего что тебе надо. Если бабища настолько большая что до всего сразу и не дотянуться, то трахать ее тоже можно по частям разметив ее предварительно на слои (типа первый слой – это верх бабы и низ бабы, второй слой – жопа, пизда и рот). Гуглите ODS и DDS.

Продолжение следует…

1

Творожок Часть 4 Что случилось и что делать?

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

Итак...

Я открываю холодильник и вижу, что там есть 3 творожка. А вчера их было 5. А позавчера 8. А в прошлый понедельник их вообще не было.

Посчитайте оборачиваемость творожков, стоимость товарного запаса, постройте линейный график присутствия творожков в холодосе, творожковый индекс инфляции. Делая все эти манипуляции мы отвечает на вопрос "что случилось?". Это называется дескриптивная аналитика. По-русски - описательная. В ней описываются произошедшие события. Они крутятся, вертятся, дробятся, аггрегируются и блядь хуй знает чё с ними ещё делают аналитики, которые застряли на этом этапе. Описательный анализ не требует интенсивной работы головного мозга, так как все формулы вычислений расписаны лет 100, а то и 200 назад. Просто подставляй цифры в формулы, рисуй графики, придумывай KPI и натужно их достигай. Исключение составляют разве что задачи кластеризации и классификации.

Но нужно понимать  почему то или иное событие произошло, почему в одном месте рекорд, а в другом все пошло по пизде? Почему сегодня есть творожки, а в прошлый понедельник их не было. Почему вчера их было 5, а сегодня всего 3? На подобные вопросы отвечает диагностическая аналитика и применяется охуенный, но в то же время один из самых сложных инструментов - факторный анализ. Здесь от аналитика помимо его знаний в области непосредственно аналитики требуется ещё и знание предметной области. И те аналитики, которые либо имели опыт в каком-то конкретном бизнесе или тесно общаются с этим бизнесом имеют большую эффективность. О чем это я? В прошлый понедельник закончились творожки, потому что в предыдущее воскресенье все деньги были спущены на поход в кино, чипсы и Кока-Колу, магазин был закрыт, творожки все разобрали, дома все заболели и сходить было некому, холодильник сломался и некуда их складывать, наступил ядерный апокалипсис. Для факторного анализа основываясь на данных из дескриптивного анализа соединяем графики нахождения творожков в холодосе, их цену, график получения зарплаты, график походов в кино, график закрытия магазина, график частоты отсутствия на полках магазина необходимого товара, график профилактических прививок от всех болезней, график регулярного технического обслуживания холодильника, ну и наконец расписание ядерных апокалипсисов. Вводим во все это хозяйство минимум две одинаковых временных шкалы. Теперь мы начинаем сравнивать показатели в разных временных периодах в разрезе разных факторов, которые могли повлиять на те или иные показатели выявляя закономерности и делая выводы.

Если задрочиться, то на этом этапе можно въебать ML-ку для поиска аномалий и/или выделения неочевидных факторов.

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

Самой последней наиболее дорогой по баблу, но самой милой сердцу любого начальника идет предписывающая аналитика. И если преддиктивная аналитика отвечает на вопрос "что будет если нихера не менять?", то предписывающая аналитика отвечает на вопрос "что будет если что-то все таки поменять?" и "что делать?". И подобные вопросы типа "Как, когда, в каком количестве нужно делать, чтобы не проебать все полимеры". Само собой она основывается на предыдущих трёх уровнях аналитики, типа в субботу нужно купить 12 творожков на сумму 768 рублей, потому что в запасе ещё 3 творожка, прогнозируемое потребление - 2.5 творожка в день, зарплата в пятницу, по субботам скидки, а в магазин в следующий раз мы пойдем в лучшем случае в четверг. Здесь аналитику придется смотреть на бизнес уже глазами руководителя.

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

Продолжение следует...

Показать полностью
3

Творожок Часть 3 Ты нормальный вообще?

Этот вопрос периодически мне задают. У нормальности есть разные критерии и формы. И, немного отодвинув в сторону тему творожков из Поста1 и Поста2 я вам расскажу, что такое нормальный.

Итак.

Знакомьтесь,

Андрей Васильевич - работает директором фирмы “Костромские дилдо”

Елена Афиногенова - жена Андрея Васильевича, домохозяйка

Виталий Тимофеевич - работает директором фирмы “Костромской лубрикат”.

Алевтина Сергеевна - жена Виталия Тимофеевича, работает секретарем в фирме “Костромские дилдо”.

Василий Петрович - техник в фирме “Костромской лубрикат”.

Василиса Рубиковна - курьер в компании “Костромской лубрикат”.

Елена Афиногенова -  немолодая женщина требующая от мужа выполнения супружеских обязанностей. По этой причине Андрей Васильевич вынужден поебывать ее в домашних условиях долгими костромскими вечерами. Но при этом ему намного приятнее поебывать также и Алевтину Сергеевну в своем уютном офисе.

Виталию Тимофеевичу изредка перепадает женской ласки от Алевтины Сергеевны.

Василиса Рубиковна недавно устроилась курьером, и мотается с документами между фирмами, разводя шашни с местным персоналом и периодически ебется в офисах то с Андреем Васильевичем, то с холостяком Василием Петровичем.

Ну а Василий Петрович периодически захаживает домой к ненасытной Елене Афиногеновне, пока ее муж снова "задерживается на совещании".

Все данные выше можно свести в табличку с данными о том, кто кого ебет.

Творожок Часть 3 Ты нормальный вообще? Аналитика, Программирование, Мат, Данные, Анализ данных, Большие данные, Python, Bi, Длиннопост

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

Творожок Часть 3 Ты нормальный вообще? Аналитика, Программирование, Мат, Данные, Анализ данных, Большие данные, Python, Bi, Длиннопост

Теперь те кто ебет и те кого ебут находятся в соответствии один к одному. Это называется первая нормальная форма.

В следующей таблице данных все акты соития по датам.

Творожок Часть 3 Ты нормальный вообще? Аналитика, Программирование, Мат, Данные, Анализ данных, Большие данные, Python, Bi, Длиннопост

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

Поэтому для ебырей и блядей создаем отдельные таблички.

Творожок Часть 3 Ты нормальный вообще? Аналитика, Программирование, Мат, Данные, Анализ данных, Большие данные, Python, Bi, Длиннопост

Это называется вторая нормальная форма.

Однако, в табличке с ебырями у нас от ID зависит имя ебыря, а от него зависит название фирмы ебыря (по научному транзитивная зависимость). В третьей форме такой хуйни быть не должно. Поэтому создаем табличку с фирмами. Это будет третья форма. Рисовать впадлу и так вроде все понятно.

Есть еще Бойс-Кодд нормальная форма (та же третья форма, только более жесткая), где все зависимости должны быть от ключа.

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

Есть еще пятая нормальная форма, где если  Елена Афиногеновна ебется только дома, а Алевтина Сергеевна и дома и в офисе, то это тоже должно быть вынесено в отдельную таблицу кто где ебется.

Но это уже не так важно как первые три формы.

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

А вообще сильно связанные данные типа “Вася ебется с Леной - Лена ебется с Колей и все вместе они учатся в одном ПТУ” - лучше всего хранить в графовой базе. Но об этом как-нибудь в другой раз.

Продолжение следует…

P.S. Все персонажи вымышленные, все совпадения случайны, Кострома - охуенный город.

Показать полностью 4
6

Творожок Часть 2 Я календарь переверну

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

Итак…

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

Творожок Часть 2 Я календарь переверну Аналитика, Программирование, Мат, Данные, Анализ данных, Большие данные, Python, Bi, Длиннопост

8 августа я купил 13 творожков. Нихера себе, с запасиком. И не ходил после этого в магаз в магаз целых… хуй знает сколько дней. Надо щели сделать между столбиками,чтобы видеть дни, когда я не ходил в магазин. Для этого нужно разметить ось X всеми датами которые только возможны между первой и последней покупкой (а может и больше). И для этого в свою модель данных с покупками я щас въебу календарь.

Есть один секрет, как быстро сделать календарь для любой аналитической системы. Сейчас я вам его открою. Заходите в гугл и забиваете в строку поиска “Мастер календарь для /название вашей аналитической системы/”. После этого тыкаете во вторую, третью или максимум четвертую ссылку, пиздите оттуда код, вставляете его к себе, запускаете и Вуаля! Наш календарь готов! Осталось только соединить его с моделькой прислюнявив даты из календаря к датам покупочек.

Творожок Часть 2 Я календарь переверну Аналитика, Программирование, Мат, Данные, Анализ данных, Большие данные, Python, Bi, Длиннопост

Обратите внимание на названия полей в модельке. Так делают хорошие разрабы. Так делают хорошие аналитики. Так делаю я. Так не делают долбоебы, у которых потом поле “количество” хуй пойми откуда взялось - из продаж, наличия на складе или пиздюлей, которых он огребает за такой нейминг.

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

Творожок Часть 2 Я календарь переверну Аналитика, Программирование, Мат, Данные, Анализ данных, Большие данные, Python, Bi, Длиннопост

Выглядит конечно уебищно, но зато все видно.

Продолжение следует…

Показать полностью 2
8

Творожок Часть 1 QA

Я год ждал пока кто-нибудь напишет в сообщество “Аналитика данных” пост про аналитику или про дата менеджмент. Хуй там валялся. Пара каких-то постов ни о чем. Придется самому писать.

Итак.

Речь пойдет о творожках… Почему о творожках, спросите вы. И я с удовольствием отвечу: потому что я и моя дочь едим их на завтрак и иногда в течении дня. Бывают ситуации когда открываешь холодильник, с вожделением протягиваешь руку к прохладной пластиковой баночке, а там хер. Нету ничего. Закончились творожки. Для того чтобы избежать подобной ситуации в будущем - ее нужно уметь прогнозировать.  А какой может быть прогноз без аналитики?

Творожки я покупаю в большом сетевом магазине, по традиции Пикабу назову его так:  начинается на "Пере" и заканчивается на "кресток". Особо пытливые умы думаю догадаются. Каждый раз когда я там пробиваю покупку на кассе, подсовываю скидочную карту, в надежде получить скидочки. В это время заботливый сервер сохраняет список моих покупок. Поэтому зайдя в личный кабинет магазинчика - я могу посмотреть когда, чего, сколько и за сколько деняк я все покупал.

Творожок Часть 1 QA Аналитика, Программирование, Мат, Данные, Анализ данных, Большие данные, Python, Bi, Длиннопост

Скопировав эти данные я получил сырой датасет.  Дата, че купил, сколько и за сколько.

Творожок Часть 1 QA Аналитика, Программирование, Мат, Данные, Анализ данных, Большие данные, Python, Bi, Длиннопост

Питончиком причесываем данные и приводим в съедобный вид:

Творожок Часть 1 QA Аналитика, Программирование, Мат, Данные, Анализ данных, Большие данные, Python, Bi, Длиннопост

И первое что делает аналитик с сырыми данными - изучает их. И поэтому первое что мы разберём - это QA (качество) данных.

Данные проверяются по принципу “КОролевской СОбаке ТОчно ПОхуй на СВОю УНикальность”.

КО - корректность. Проверяем, что в колонке количество у нас числа, а не слово “хуй” например.

СО - согласованность. Если в сырых данных написано “творожок Блядисимо”, нехуй его сокращать или переименовывать, потому что если они попадут в разные таблицы или базы данных вы потом хер поймете один и тот же это творожок или разные.

ТО - точность. Если творожок стоит 63.99 это значит за два творожка я отвалю 127.98, а не 128 рублей. Ясно вам, Округлятели херовы?

ПО - полнота. Забегая вперед скажу, что на творожки за этот год я потратил 26 тысяч рубасов. Сам охуел если честно. Больше всего творожков пришлось на октябрь. Я бы не смог посчитать этого если в данных нет даты или названия продукта.

СВО - своевременность. Данные собрал с 1 декабря прошлого года до 1 декабря нынешнего. На следующий год пересчитаю за полный год. Будет своевременно. И красиво. 

УН - уникальность. Данные не должны дублироваться и чтобы не охуеть от двойных и тройных сумм в дашборде - создаем ключи и ID везде, где это возможно. Легче потом отследить от какой жопы те или другие ноги.

В любом случае в больших организациях за качество данных отвечает владелец бизнес-функции (начальник продаж, начальник закупок, начальник логистики и прочие шишки), а в очень больших - Data Quality Engineer. Поэтому если закупщики при создании карточки товара въебут килограммы туда где должны быть граммы и “хз” туда где должны быть сантиметры - то вместо кучи интересной информации бизнес-пользователи получат кучу говна. И это должна быть проблема бизнес-функции, а не аналитика, который по мнению бизнес-пользователей должен всю эту херню вылавливать и причесывать.

Продолжение следует…

P.S. Где тег "Творожок"?

Показать полностью 3
2

Глобальные переменные

Вопрос для джуна:
Почему нельзя использовать глобальные переменные?

Вопрос для мидла:
Почему иногда можно использовать глобальные переменные?

Вопрос для сеньора:
Почему без глобальных переменных не обойтись?

14

Медовая жвачка

90-е были для нашей семьи тяжёлым временем. Денег не было, а в магазинах появились разные невиданные доселе вкусняшки. На лето, чтобы не мешался под ногами меня отправляли в Крым к деду. Прямо на участке прилегающем к дому у него была пасека. Начиная с мая он периодически подкачивал мед и иногда мне доставался кусочек пчелиных сот с которого капал мед. Я быстро засовывал его в рот и языком придавливал к нёбу, чтобы выдавить жидкую сладость. А потом аккуратно разжевывал соты. Дед называл это медовой жвачкой. А я мечтал о настоящей жвачке, с фруктово-химическим вкусом, вкладышем и надуванием пузыря.
Теперь у меня в куртке жвачка, в рюкзаке жвачка, на рабочем столе жвачка. А хочется придавить маленький кусочек пчелиных сот к нёбу и почувствовать сладость свежего разнотравного крымского меда.

17

Тревожность1

Погулял с собакой - захожу домой, жду лифт. Следом секунд через 30 заходят две девочки школьницы возрастом класс пятый или шестой. Лифт открывается, захожу нажимаю свой этаж и про себя повторяю: "хоть бы они не поехали, хоть бы они не поехали". Фух. Пронесло. Остались внизу ждать следующего лифта.
Конечно это пиздец когда здоровый бородатый мужик с разрядом по боксу с недособакой породы чихуянихуя боится ездить со школьницами в лифте, а они с тобой.
С другой стороны, как отец дочери я понимаю, что лучше так, чем по другому.
Вчера сидел на фудкорте, хавал воппер и вместо того чтобы пялиться по сторонам, не сводил взгляда со своего рюкзака, чтобы его никто не спиздил, потому что в нем лежит кошелек, документы и ноут.
И так всю жизнь приходится следить, чтобы ничего не спиздили, из-за неосторожного слова не убили, не обвинили в насилии или наоборот не трахнули.
Вроде когда-то давно люди сплотились, чтобы этого всего избежать, но какого хера в мире существуют мудаки, из-за которых нормальным людям приходится терпеть неудобства?

Отличная работа, все прочитано!