Как заметить необычное действие новостей

Предположим, что Вы смогли, отслеживают упоминания новостей о различных объектах, как говорят "Steve Jobs" и "Steve Ballmer".

Что такое пути, которые могли Вы говорить, был ли объем упоминаний на объект в данный период времени необычен относительно их нормальной степени частоты появления?

Я предполагаю, что для более популярного человека как Steve Jobs увеличение подобных 50% могло бы быть необычным (увеличение 1 000 - 1 500), в то время как для относительно неизвестного генерального директора увеличение 1 000% в течение данного дня могло быть возможным (увеличение 2 - 200). Если бы у Вас не было способа масштабироваться, то тот Ваш индекс необычности мог бы быть во власти неуслышанного-ofs получения их 15 минут известности.

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

5
задан ʞɔıu 11 June 2010 в 15:20
поделиться

4 ответа

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

Вы также можете попробовать некоторую нормализацию - очень простой способ заключается в том, что каждая категория имеет общее количество упоминаний ( m ), процентное изменение по сравнению с последним периодом времени ( δ ), а затем некоторое нормализованное значение ( z ), где z = m * δ . Давайте посмотрим на таблицу ниже ( m0 - предыдущее значение m):

Name                m    m0    δ    z
Steve Jobs       4950  4500    .10      495
Steve Ballmer     400   300    .33      132
Larry Ellison      50    10    4.0      400
Andy Nobody        50    40    .20      10

Здесь изменение на 400% для неизвестного Ларри Эллисона приводит к значению z 400, изменению на 10% в лучшую сторону. известный Стив Джобс - 495, а мой пик в 20% все еще низкий 10. Вы можете настроить этот алгоритм в зависимости от того, какие веса вы считаете хорошими, или использовать стандартное отклонение или скользящее среднее, чтобы определить, далеко ли это от их " Ожидаемые результаты.

3
ответ дан 14 December 2019 в 18:59
поделиться

Слишком упрощенно... хранить имена людей и количество статей, созданных за последние 24 часа с их именем. Сравните с историческими данными.

Реальная жизнь. Если вы пытаетесь динамически выбирать имена людей, как вы собираетесь это делать? При поиске в статьях как вы выхватываете имена? Как только вы выделили новое имя, нужно ли искать все статьи о нем? Как отделить Стива Джобса из Apple от Стива Джобса, нового звездного бегуна, который генерирует много статей?

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

0
ответ дан 14 December 2019 в 18:59
поделиться
  • Создайте базу данных и храните историю историй с отметкой времени. Затем у вас есть история историй с течением времени по каждой категории новостей, которые вы отслеживаете.
  • Периодически рассчитывайте количество историй в единицу времени (вы выбираете единицу).
  • Проверить, отличается ли текущее значение от исторических данных более чем на X стандартных отклонений.

Некоторые данные будут более изменчивыми, чем другие, поэтому вам может потребоваться соответствующая настройка X. X = 1 - разумная отправная точка

2
ответ дан 14 December 2019 в 18:59
поделиться

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

Я действительно недостаточно разбираюсь в продольных методах, чтобы дать вам здесь твердый ответ , но вот что я, вероятно, сделал бы, если бы вы заперли меня в комнате, чтобы реализовать это прямо сейчас:

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

  2. При подготовке к созданию своего рода смоделированного «вероятностного распределения» (здесь я использую термины вольно), более свежие данные должны быть взвешены больше, чем прошлые данные - например, через тысячу лет, услышав одно упоминание о ( this) Стива Джобса можно считать заслуживающим внимания событием, поэтому вы не захотите использовать ожидаемые подсчеты с сегодняшнего дня (скользящее среднее Энди использует тот же принцип). Для каждого количества (дня) в вашей базе данных создайте вероятность выборки, которая со временем убывает. Вчера - наиболее подходящие данные, и их следует отбирать часто; 30 лет назад не должно.

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

  4. Сравните ваше фактическое количество историй за день, о котором идет речь, с этим распределением. Какой процент смоделированных подсчетов превышает ваш реальный? Это примерно (боже, не позволяйте экономистам смотреть на это) вероятность того, что в этот день произойдет ваш реальный или больший счет. Теперь вы решаете, что актуально - 5% - это норма, но это произвольная, глупая норма. Просто просмотрите результаты какое-то время и посмотрите, что кажется вам релевантным. Конец.

Вот что отстой в этом методе: в нем нет никакой тенденции. Если у Стива Джобса было 15 000 неделю назад, 2000 три дня назад и 300 вчера, то есть явная тенденция к снижению. Но описанный выше метод может учесть это только за счет уменьшения весов для более старых данных; у него нет возможности спроецировать эту тенденцию вперед. Предполагается, что процесс в основном стационарен - что с течением времени не происходит никаких реальных изменений, только более и менее вероятные события из одного и того же случайного процесса.

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

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

0
ответ дан 14 December 2019 в 18:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: