Парадокс дней рождений на данных ВКонтакте / Хабр
Привет!
Я решил проверить парадокс дней рождений на данных, которые доступны из ВК.
Что такое парадокс дней рождений?
Попробуйте ответить на вопрос: Какое количество людей в комнате необходимо, чтобы у двух людей были одинаковые дни рождения с вероятностью 0.5? (дата и месяц). Парадокс дней рождений отвечает на этот вопрос.
Для того, чтобы решить задачу стоит выделить несколько предпосылок:
- В модели не будет 29 февраля => в модели 365 дней в году
- Каждый из 365 дней равновероятен.
Конечно, это не совсем реалистично, что дни рождения равновероятны — есть сезонные эффекты, влияющие на даты рождения детей, думаю вы сами можете догадаться какие…
Большинство людей интуитивно отвечают на вопрос задачи: 180. Выглядит логично, 180 человек необходимо для того, чтобы иметь вероятность 0. 5 одинаковых дней рождений(всего же 365 дней). Примерна такая интуиция у всех, кто никогда не слышал про парадокс дней рождений. Правильный ответ на самом деле сильно меньше 180, и даже 150, и даже 100: 23.
Необходим как минимум 1 совпадающий день рождения — поэтому я могу найти вероятность, отсутствия совпадающих дней рождений:
.
Идея такая: я беру первого человека и запоминаю его день рождения, далее второго и вычисляю вероятность, что его день рождения не совпадает с днем рождения первого; далее третьего и его вычисляю вероятность, что его день рождение не совпадет с днями рождения первого и второго.
Решая уравнение, получается, что необходимо 23 человека и вероятность совпадающих дней рождений будет 0.5073, при 100 людях, вероятность равна 0.9999.
Посмотрим парадокс на данных ВК?
В теории у нас при 23 людях вероятность совпадающих дней рождений 0.5073, при 50 людях 0. 97, а при 100 0.99. Проверим это через VK API.
1. Выбираю большое сообщество в ВК. Я решил взять группу MDK во Вконтакте…
В начале я создаю csv файл с колонками, которые мне необходимы.
with open('vk_data.csv', 'w') as new_file: # csv fieldnames = ['id', 'bdate', 'bmonth', 'byear', 'dandm'] csv_writer = csv.DictWriter(new_file, fieldnames=fieldnames, delimiter=',') csv_writer.writeheader() newDict = dict()
Логинюсь в ВК через API и задаю необходимый мне паблик
vk_session = vk_api.VkApi('username', 'password') vk_session.auth() vk = vk_session.get_api() vk_group = vk.groups.getMembers(group_id = 'mudakoff', fields = 'bdate')
Начинаем парсить ВКонтакте, их API позволяет запарсить только 1000 юзеров, поэтому создаю цикл.
for i in range(0, 20): vk_group = vk.groups.getMembers(group_id = 'mudakoff', offset = 1000 * i, fields = 'bdate') for k in range(0, 1000): try: new_file.write(str(vk_group['items'][k]["id"]) + ',' + str(vk_group['items'][k]["bdate"]).replace('.', ',')) new_file.write('\n') except: pass
В теории мы предполагали, что дни рождения равновероятны, а что происходит на практике? Построю гистограмму дней рождений.
Дни рождения по месяцам не являются равновероятнотными событиями, что в целом достаточно логично — это всего лишь предпосылка для решения проблемы дней рождений. Очевидно, что будут наблюдаться различные сезонные являения, для различных локаций. Почему-то июль наиболее популярный месяц для дня рождения подписчиков МДК.
Эмпирически оценю вероятность того, что в группе из 50 произвольных людей найдутся хотя бы двое с одинаковым днём рождения. Для этого я написал цикл, в ходе которого из таблички происходит подвыборка из 50 строк. Для этих 50 строк внутри условия я проверил совпадение дней рождений. Если совпало, то я запомнил это в переменную счётчик, которую я впоследствии, чтобы получить вероятность, поделю на длину цикла.
fifty = df["dandm"].sample(n = 50) for i in range(0, 1000): fifty = df["dandm"].sample(n = 50) for j in fifty.duplicated(): if j == True: counter = counter + 1 break print('Вероятность:', counter / 1000)
Вероятность получается в районе 0.97, что совпадает с теоретическими данными.
Вывод
Интересно было посмотреть, как теория соотносится с эмпирикой и в данном случае данные подтверждают теорию. Стоит отметить, что результат репрезентативен, так как выборка достаточно большая — 20000 человек.
Ресурсы
- Harvard University. Birthday Problem, Properties of Probability | Statistics 110.
URL: www.youtube.com/watch?v=LZ5Wergp_PA&t=150s. Accessed: 08.07.2020
- Birthday Problem. URL: en.wikipedia.org/wiki/Birthday_problem. Accessed: 08.07.2020>
Как поздравить с днем рождения участников группы Вконтакте: пошаговая иструкция
Приветствую! Есть много способов поздравить именинников группы Вконтакте с днем рождения. В этой статье я поделюсь с вам несколькими способами, которыми сама пользовалась в разные периоды времени.
Недавно я стала использовать сервис, который настроила один раз и он автоматически поздравляет людей в моей группе с днем рождения. Расскажу о нем подробно.
Оглавление
- 1 Какие есть способы поздравления именинников Вконтакте?
- 2 Поздравление с днем рождения в личные сообщения
- 3 Поздравление с днем рождения на стене группы Вконтакте
- 4 Пошаговая инструкция по настройке поздравлений с днем рождения во Вконтакте
Какие есть способы поздравления именинников Вконтакте?
Предположим, что у вас есть личная группа Вконтакте (если пока нет — в конце статьи будут бесплатные уроки по ВК или в этой статье) и вы хотите поздравлять своих подписчиков с днем рождения.
Тут два варианта:
- вы хотите поздравлять именинников в личные сообщения;
- вы хотите публиковать поздравления именинников на стене группы.
Возможно также отправлять поздравления вручную (как раньше делала я), или в автоматическом режиме с помощью программ и сервисов (как я делаю сейчас).
Рассмотрим оба варианты по порядку. Буду показывать на примере группы ВК, в которой я реализовала эти способы.
Поздравление с днем рождения в личные сообщения
Это значит, что от имени группы человеку в личные сообщения придет сообщение с поздравлением.
Для того, чтобы вручную отправить поздравление подписчику от имени группы, нужно, чтобы у вас уже был диалог с данным человеком. Иначе, вы написать ему не сможете. Открываете диалог и отправляете человеку поздравление.
Чтобы автоматически приходило сообщение человеку с поздравлением, нужно использовать специальный сервис. Например, можно создать чат-бота с помощью сервиса рассылок Сенлер (жмите, чтобы зарегистрироваться и получить бонус 500р на баланс на оплату сервиса).
Для этого нужно зарегистрироваться в Сенлер, создать подписную страницу и чат-бота. Далее, когда человек будет подписываться на поздравления, ему автоматически будет приходить поздравление в его день рождения.
Если вы совсем не знакомы с продвижением группы Вконтакте, эти бесплатные уроки помогут вам:
Поздравление с днем рождения на стене группы Вконтакте
Раньше, когда группа была небольшой, я создавала посты с поздравления вручную. Это занимало не так много времени. Вот пример такого поста:
Чтобы сделать такой пост, нужно среди участников выбрать тех, у кого день рождение в определенную дату или период.
Дальше скопировать в адресной строке браузера ссылку на страничку человека и заменить начало ссылки https://vk.com/ на значок @
Так человек получит уведомление о том, что его отметили, даже если он давно не заходит в вашу группу, и получит ваше поздравление.
Статья: обзор и как работать с биржей рекламы Вконтакте — Sociate ru
По мере роста группы стало уходить много времени на эти посты, и я решила автоматизировать процесс поздравлений.
Ранее я работала с сервисом ActiveBot. У него большой функционал разных игр и конкурсов для Вконтакте: баллы за активность, рулетка, морской бой, угадай где приз, собери пазл, предсказания, битва за поле, камень, ножницы, бумага; последний комментарий, угадай мелодию, угадай число, угадай слова, анаграммы, собери предметы.
Круто, что они предоставляют бесплатное обучение на настройке. А вообще, оно может и не понадобиться, так как настроить игры и конкурсы легко, справится даже совсем новичок. Но, функционала поздравлений с днем рождения на момент написания статьи там нет.
Я нашла еще один крутой сервис SMM ниндзя. С которым и работаю уже пару месяцев. На нем также можно легко с нуля настраивать различные игры и активности, в том числе поздравления с днем рождения. Пример поста, который сервиса автоматически публикует в группе (вы сможете все настроить по своему желанию):
Разберем его функционал и пошаговую инструкцию по настройке поздравлений в группе.
Статья: как создать динамическую обложку во Вконтакте?
Пошаговая инструкция по настройке поздравлений с днем рождения во Вконтакте
Сначала немного о функционале, чтобы вы знали, какие еще задачи можно решить с помощью сервиса. В каталоге есть следующие игры и модули: рулетка, печеньки с предсказаниями, джекпот, казино, морской бой, розыгрыш, снайпер, собери пазл, валентинки, морская битва, счастливый выстрел, отгадай изображение, сейф, танки, голосование, найди подарок, бинго, аукцион, последний комментарий, сокровища пиратов, дачники против зомби, антивирус, конструктор игры, бот для выдачи призов, привет бот, поздравления с днем рождения, конкурс отзывов, смена обложки, конкурс отзывов 2, авто конкурс репостов, выбрать победителя, коммент бот для стены, фильтр стены, очистка стены, авто постинг прогноза погоды, авто постинг гороскопа.
Модулей много, но сегодня остановимся именно на поздравлениях. Покажу как настраивала я.
Пошаговая инструкция по настройке поздравлений во Вконтакте:
Шаг 1. Пройдите регистрация на сайте SMM ниндзя — РЕГИСТРАЦИЯ.
Вы можете получить бонусные +25% к первому платежу, если при регистрации введите подарочный промокод зубарева
Шаг 2. В левом меню перейдите в раздел «Каталог», выберите модуль «Поздравление с днем рождения» и далее жмите на кнопку «Настроить».
Шаг 3. Переходите к настройкам. Заполните по порядку все необходимые поля.
Выбарите группу, для которой будет создан проект, выберите время публикации.
Придумайте текст для поздравления подписчиков. Или воспользуйтесь шаблоном. Лучше менять под свою группу, делать уникальные поздравления.
Загрузите изображения (открытки) для поздравлений. Можно загрузить несколько, тогда они будут меняться. Я так и сделала, загрузила 3 картинки. А еще аключила автопродление оплаты, чтобы быть уверенной, что не пропущу платеж и все подписчики получат поздравления.
Далее разрешите уведомления и сохраните настройки.
Шаг 4. Пополните баланс и запустите модуль.
Если при регистрации вы введи промокод зубарева то вы полуите бонусные +25% к первому платежу. Далее запустите проект. И он у вас будет отображаться в разделе меню «Мои проекты».
В дальнейшем, вы сможете здесь копировать проект, редактировать, ставить на паузу, завершить и даже удалить.
На этом пошаговая инструкция по настройке поздравлений именинников в группе Вконтакте подошла к концу. Вы узнали, как можно поздравить с днем рождения участников группы Вконтакте вручную и с помощью автоматического сервиса.
Приглашаю вас в свою группу Вконтакте. Добавляйтесь, чтобы оперативно узнавать о новых видео и статьях, а также можно пообщаться по темам блога. Иногда провожу прямые эфиры, трансляции ВК.
С уважением, Любовь Зубарева
App Store: День рожденияPro
Описание
С BirthdaysPro вы всегда будете в курсе предстоящих дней рождения (и годовщин) всех ваших контактов.
Особенности:
• Список дней рождения, отсортированный по дате
• Список контактов, отсортированный по имени
• Также поддерживаются годовщины и другие даты
• Получать до 2 сообщений-напоминаний для каждого события
• Отключить напоминание для определенных контактов
• Повтор напоминания (см. справку)
• Значок на значке с номером текущих событий
• Синхронизация с календарем (без импорта сторонних данных)
• Синхронизация контактов BirthdaysPro с другими устройствами (iCloud, iOS 10 и выше)
• Экспорт в файл (Excel и CSV), кроме социальной сети
• Добавление или редактирование дней рождения непосредственно в адресной книге или BirthdaysPro
• Просмотр возраста, фото и данных адресной книги ваших контактов
• Защита доступа с помощью пароля или Touch ID / Face ID
• Знаки зодиака (западные и китайские)
• Фильтровать источник данных и событие
• Фильтровать группы адресной книги
• Отображать/импортировать дни рождения из социальных сетей ВКонтакте и Одноклассники
• Разные экраны на iPhone и iPad

• И подробнее
Заплати один раз — установи на несколько устройств, связанных с учетной записью iTunes.
Версия 10.4
Расширенный фильтр
Рейтинги и обзоры
156 оценок
Отличный организатор
Супер приложение, у меня много дней рождения, чтобы не отставать, и это меня не подвело. Очень проста в использовании, хорошо организована, и я не знаю, что бы я без нее делала. Моя благодарность создателю за это.
Названия групп
Недавно я загрузил программу Birthday Pro, чтобы лучше отслеживать дни рождения моей семьи.
Мне нравятся многие функции отображения дней рождения в формате списка и автоматического группирования дней рождения в одном месяце.
У меня есть одна проблема с одной функцией, которую я не смог понять, и это группировка дней рождения по фамилии семьи, которая отображается справа от имени человека. Я не знаю, как добавить эту информацию.
Пожалуйста, свяжитесь с нашей службой поддержки через кнопку «Обратная связь и поддержка» на вкладке «Дополнительно».
Вводящий в заблуждение
На фотографиях приложения видно, что оно связано с Facebook и синхронизирует дни рождения. Итак, я купил его. Зашел в настройки, а там написано НОВАЯ IOS НЕ ПОДДЕРЖИВАЕТ FACEBOOK!!!! Итак, если вы ожидаете, что он будет работать с FB, вы будете очень разочарованы, как и я. Кроме того, я до сих пор не смог найти экран, который позволяет отображать годовщины, а также дни рождения, как показано в описании этого приложения.
Офигенный город!!
Скриншоты, которые вы разместили в App Store, показывают, что они синхронизируются с Facebook. Пожалуйста, измените вводящие в заблуждение изображения.
В описании приложения не упоминается поддержка Facebook. С мая 2015 года Facebook значительно сократил свой интерфейс для сторонних приложений, поэтому нам пришлось его удалить.
Приложение поддерживает адресную книгу Facebook, если оно установлено на устройстве.
Годовщины автоматически синхронизируются из адресной книги и отображаются в BirthdaysPro.
Разработчик, Demodit GmbH, указал, что политика конфиденциальности приложения может включать обработку данных, как описано ниже. Для получения дополнительной информации см. политику конфиденциальности разработчика.
Данные не собираются
Разработчик не собирает никаких данных из этого приложения.
Методы обеспечения конфиденциальности могут различаться, например, в зависимости от используемых вами функций или вашего возраста. Узнать больше
Информация
- Продавец
- Демодит ГмбХ
- Размер
- 12,8 МБ
- Категория
- Социальная сеть
- Возрастной рейтинг
- 4+
- Авторское право
- © Демодит ГмбХ
- Цена
- 3,99 $
- Сайт разработчика
- Тех. поддержка
- политика конфиденциальности
Опоры
Еще от этого разработчика
Вам также может понравиться
Happy Birthday Virat Kohli Caption fpr Instargram
Пожалуйста, подпишитесь на нас и поставьте лайк:
Happy Birthday Virat Kohli Заголовок для Instagram — Вират Кохли будет отмечать свой 34-й день рождения 5 ноября этого года. Удивительный и стильный игрок в крикет за многие годы оставил след в крикете. В этом году он будет отмечать свой день рождения в Австралии, где он будет играть за Индию на чемпионате мира T20. Мальчик из Дели известен своим фитнес-режимом и придерживается строгой диеты. Женат на болливудской актрисе Анушке Шарме, у него огромное количество поклонников по всему миру.
Найдите ниже подписи к дню рождения Вирата Кохли , которыми вы можете поделиться в социальных сетях, чтобы поздравить своего любимого игрока в крикет!
С Днем Рождения Вират Кохли Заголовок – Вират Кохли Подписи ко дню рожденияЖелаю Вират Кохли, очень С Днем Рождения ! Дай Бог ему еще больших успехов!
С Днем Рождения, Вират Кохли ! Король крикета покоряет сердца своих поклонников и вдохновляет миллионы на воплощение своей мечты!
Сегодня, 5 ноября, родился король, который правит нашими сердцами своим спортом и стилем! С днем рождения Вират Кохли !
Поздравляем икону крикета Индии Вират Кохли, , с днем рождения! Пусть он продолжает бить рекорды и править миром крикета!
Рекомендуем прочитать:Празднование 34-летия Вирата Кохли с удивительными видео в WhatsApp0149 Virat Kohli — легенда, легенда крикета! Поздравляем его с днем рождения и благословением!
Страсть, стиль и фитнес! Только Virat Kohli знает, как победить их всех! Поздравляем его с днем рождения!
С днем рождения индийский сердцеед и король крикета, Вират Кохли! Мы все тебя любим!
С днем рождения, король Кохли! Желаю тебе продолжать расти и сиять! Индия гордится вами!
Рекомендуем прочитать:Happy Birthday Virat Kohli Пожелания на английском языке
С Днем Рождения, Вират Кохли Подпись для твиттераС днем рождения , единственный и неповторимый Вират Кохли! Повелитель крикетной площадки и миллионов сердец!
От его биты до его улыбки, он знает, как свести всех с ума! С днем рождения, король Кохли!
С днем рождения, Вират Кохли! Ты лучший и самый горячий игрок в крикет!
Должен прочитать:С Днем Рождения Вират Кохли Изображения
С Днем Рождения, Вират Кохли Заголовок
Вират Кохли Поздравления с днем рождения – Вират Кохли Цитаты на день рождения – Вират Кохли Сообщения на день рождения
Вират Кох li Birthday status – ВКонтакте День Рождения изображения – Virat Kohli Birthday Shayari – Virat Kohli Birthday баннер – HBD King Kohli
Вират Кохли Мысли о дне рождения – Вират Кохли Линии дня рождения – Вират Кохли Фото дня рождения – Вират Кохли Плакат ко дню рождения
Virat Kohli День рождения картинки – Virat Kohli Поздравления с днем рождения – Virat Kohli Наклейки на день рождения – Virat Kohli День рождения обои
Virat Kohli День рождения торт фото – Virat Kohli День рождения фото – Vi крыса Кохли день рождения статус WhatsApp
Обязательно прочтите: Универсальный капитан Вират Кохли
Чтобы узнать больше таких статей, как «Happy Birthday Virat Kohli Wishes in English», подписывайтесь на нас в Facebook, Twitter и Instagram.