Игра Яндекс Практикума
Игра Яндекс Практикума
Игра Яндекс Практикума

Анализ данных выявил, что Трамп-с-iPhone добрее, чем Трамп-на-Android

Новости Отредактировано

5К открытий5К показов

Программист Дэвид Робинсон в очередной раз листая свою твит-ленту заметил интересный факт — когда Трамп желает удачи олимпийцам, он пишет с iPhone, а когда оскорбляет соперников — с Android. Это породило у Дэвида определённую гипотезу, которая нуждалась в проверке с помощью автоматизированного анализа данных. К счастью, он работает в Stack Overflow в качестве Data Scientist, и может себе позволить этим заняться.

Анализ данных выявил, что Трамп-с-iPhone добрее, чем Трамп-на-Android 1

Справедливости ради, стоит отметить, что эту закономерность он заметил далеко не первым, однако раньше всё основывалось лишь на догадках и поверхностном просмотре твитов. Без программистов никуда ?

Сначала он лёгким движением руки загрузил все твиты Трампа (использя библиотеку twitteR):

			library(dplyr)
library(purrr)
library(twitteR)
# You'd need to set global options with an authenticated app
setup_twitter_oauth(getOption("twitter_consumer_key"),
                    getOption("twitter_consumer_secret"),
                    getOption("twitter_access_token"),
                    getOption("twitter_access_token_secret"))

# We can request only 3200 tweets at a time; it will return fewer
# depending on the API
trump_tweets <- userTimeline("realDonaldTrump", n = 3200)
trump_tweets_df <- tbl_df(map_df(trump_tweets, as.data.frame))
# if you want to follow along without setting up Twitter authentication,
# just use my dataset:
load(url("http://varianceexplained.org/files/trump_tweets_df.rda"))
		

Затем очистил данные от незначительного количества постов с веб-интерфейса, iPad и прочих — нас же интересуют только посты с iPhone и Android, верно?

			library(tidyr)

tweets <- trump_tweets_df %>%
  select(id, statusSource, text, created) %>%
  extract(statusSource, "source", "Twitter for (.*?)<") %>%
  filter(source %in% c("iPhone", "Android"))
		

После этого он решил посмотреть, отличается ли время отправки постов с Android и iPhone:

			library(lubridate)
library(scales)

tweets %>%
  count(source, hour = hour(with_tz(created, "EST"))) %>%
  mutate(percent = n / sum(n)) %>%
  ggplot(aes(hour, percent, color = source)) +
  geom_line() +
  scale_y_continuous(labels = percent_format()) +
  labs(x = "Hour of day (EST)",
       y = "% of tweets",
       color = "")
		

Выяснилось, что да, отличается — публикации с Android происходят преимущественно утром, тогда как публикации с iPhone — днём и ранним вечером:

Анализ данных выявил, что Трамп-с-iPhone добрее, чем Трамп-на-Android 2

Как ещё можно понять, что с Android и iPhone пишут разные люди? Дэвид заметил, что иногда вместо обычного ретвита сообщений, Трамп копирует текст чужого поста и помещает его в кавычки, вроде этого:

Анализ данных выявил, что Трамп-с-iPhone добрее, чем Трамп-на-Android 3

Как выяснилось, подобное форматирование можно встретить только в постах с Android:

Анализ данных выявил, что Трамп-с-iPhone добрее, чем Трамп-на-Android 4

С другой стороны, практически все публикации с прикреплёнными ссылками или изображениями отправляются с iPhone (разница в 38 раз):

Анализ данных выявил, что Трамп-с-iPhone добрее, чем Трамп-на-Android 5

После того, как точно стало понятно, что с Android и iPhone постят совершенно разные люди, Дэвид решил проанализировать настроение постов. Для этого он собрал наиболее часто встречающиеся слова в твитах аккаунта Трампа и посчитал, с какого аккаунта они чаще отправляются, используя коэффициент, формула которого:

Анализ данных выявил, что Трамп-с-iPhone добрее, чем Трамп-на-Android 6

Результаты получились достаточно предсказуемые:

Анализ данных выявил, что Трамп-с-iPhone добрее, чем Трамп-на-Android 7

На основании этого графика можно сделать несколько выводов:

  • С Android не публикуются твиты с хэштегами (за исключением “ретвитов”);
  • Слова вроде “присоединяйтесь”, “завтра” и “19 часов” используются преимущественно с iPhone, т.е. iPhone используется для анонса мероприятий;
  • Почти все грубые, эмоциональные и оценочные выражения (“dumb”, “crazy”, “weak” и т.п.) публикуются с Android.

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

Следите за новыми постами
Следите за новыми постами по любимым темам
5К открытий5К показов