Pull to refresh
56
2.1
Alexey Evdokimov @PastorGL

Software engineer. Practicioner, not a theorist.

Send message
Чтобы подстроиться под плотность, надо сначала вычислить плотность.

Сейчас у нас реализован вариант с виртуальной сеткой, в котором этой проблемы вообще нет, и партиционирование равномерное.
На новых девайсах конкретно эта приложенька уже не работает (сколько уж лет не обновлялась). Вообще, в Play Store подобного вагон и маленькая тележка, но бесплатные поделки в основном либо такие же заброшенные, либо просто мусорные с кучей странных разрешений в манифесте.
А вы посмотрите структуру доходов гугла :) Они зарабатывают деньги на рекламе, а не на софте, отсюда и постоянные убийства супер-популярных сервисов типа Google Reader. То же и с остальными перечисленными, это высокотехнологические конгломераты с большими отделами разработки, но деньги им приносит всегда что-то другое.
Чем больше допущений, тем больше false positives. Эвристика по определению штука неточная, она всегда работает в рамках некоей гипотезы.

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

Вот смотрите. Берём какой-нибудь микрорайон, из которого ведут две дороги и электричка. Все жители этого микрорайона будут пользоваться только этими двумя дорогами и электричкой, потому что других путей вовне нет. И треки у них всех до ближайшей развязки или ТПУ с пересадками на 95% будут совпадать. Эвристика, основанная на таком совпадении, сматчит вам весь микрорайон, и чем больше времени вы будете брать, тем сильнее будет совпадение, потому что за год шанс уехать в командировку через аэропорт больше людей, чем за месяц, и скорее всего все они выберут один и тот же наиболее короткий маршрут.

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

В любой эвристике такая закавыка: она имеет тенденцию начинать видеть закономерности там, где их нет, если данных много. И наоборот.

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

И откуда мне знать вообще, что там пытается сделать с теми же данными кто-то другой? ¯\_(ツ)_/¯
У вас просто алгоритмы под другое заточены.

И я это несколько раз повторяю в статье открытым текстом, да.

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

Данные с трекеров купить вообще нельзя, их никто не продаёт. У Стравы дыра была, отдавали данные кому попало без проверок.
1. Очень уникальный. Локация собирается покуда приложенька с картографическим и/или рекламным SDK, её собирающем, выполняется. Если она висит в фоне — то сильно реже. Закрыли или выгрузили приложеньку из фона — всё, трек оборвался. Спустились в метро — SDK послал вас непонятно куда.

2. Вопрос в общем-то теряет смысл, если не делать оооочень широких и непроверяемых допущений.

3. На них должны быть открыты одинаковые приложеньки одновременно (либо такие, которые юзают одинаковый SDK), чтобы паттерны сбора совпали, и попали они в выгрузку одного поставщика. Звучит весьма маловероятно. Если телефонов два, то используются они обычно для разных целей, и приложения на них стоят разные.

Но если накопить объём за год, и составить несколько сотен эвристик, заточенных на частные кейсы, кто-нибудь да найдётся. Но это работа на целый исследовательский институт, как вы понимаете.
У меня двор-колодец, закрытый с трёх сторон. Видно в лучшем случае 1–3 спутника, пока из него не выйдешь.
Главное свойство программного продукта — отчуждаемость. Когда вы можете передать его в эксплуатацию владельцу какой-то другой инфраструктуры, а не вашей внутренней.

Соответственно, программные продукты вы не производите, максимум что можете (пока что теоретически) — это предоставлять какой-то сервис на вашей инфре. Но пока он не станет основным для вашего бизнеса, полноценной ИТшной конторой вы не сможете быть.

Может, стоит вынести разработку в отдельный от додо бизнес?
Я пишу автоматику для выделения некоторой популяции по набору критериев. Парой комментов выше уже приводил пример, каких именно. Если кому-то нужен будет одиночный пользователь, при должном наборе он найдётся. Точнее, найдутся все подходящие кандидаты, а дальше уже только вручную.
Я техлид на основном проекте этой конторы. Можете посмотреть, кто наши заказчики, и какие проекты мы делаем.
Посчитать не проблема, доказать — проблема.

Вот вы говорите «близкими координатами». А что значит «близкими»?

Я в качестве подопытного использовал себя, конечно. Так на моём устройстве систематическая ошибка определения координат сносит меня куда-то в полквартала от адреса, где я живу. Уже с полтысячи человек проверять. А на месте работы GPS вообще не ловит, и координаты определяются по cell id и вайфай сетям с точностью в 150 метров в самом лучшем случае. И крупный транспортный узел близко, в котором 90% из этих полутысячи соседей тоже есть, причём многие наследили куда больше меня. Но себя я нашёл, конечно, но только потому что я знаю, где и когда я ещё был.

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

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

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

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

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

У нас популяционный анализ заказывает ООН. Для реализации различных гуманитарных программ в бедных странах, таких как Таиланд и Филиппины. Это реальная помощь реальным людям.

Там почти 100% населения онлайн (мобильная связь там сразу с 4G началась), и охват данными хороший.
Я пишу такую автоматику на Spark и запускаю её в AWS. Я в точности знаю, сколько это стоит, и сколько на это надо времени. И вообще, существует ли она (нет, потому что мне приходится писать её с нуля).

Вы сейчас пытаетесь мне доказать, что моя работа — это вот так раз плюнуть? Ну-ну.
Вы, очевидно, не владеете темой, и даже не представляете, насколько дорого отыскать нужный userid в коммерческом датасете какого-нибудь Tamoco или SafeGraph. Их там сотни миллионов. И это очень грязные данные, из которых извлечь знания ещё надо постараться.

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

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

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

Так что данная статья походит на мультик, в котором «нас сосчитали!» Да, мы вас сосчитали (и себя в том числе). Только всех разом, а не каждого по отдельности.

Information

Rating
1,303-rd
Location
Ижевск, Удмуртия, Россия
Registered
Activity

Specialization

Backend Developer, Software Architect
Lead
Big data
Spark
Java
Database
Geoinformation systems
Software development
Algorithms and data structures
Development management
Automation of processes
ETL