Идеология курса

Призыв

Добро пожаловать на страничку курса “R для теории вероятностей и математической статистики”. Чувствуй себя как дома.

Нашёл на этой страничке ошибку? Нашёл какой-то ультраполезный ресурс? Придумал какое-то интересное задание для семинара? Есть конструктивная критика? Не молчи, напиши мне об этом на почту filfonul@gmail.com, в Telegram (@Ppilif) или Вконтакте.

Правила получения ништяков

Все разбиваются на команды по три человека. На курсе будет три домашки. В каждой будет два вида задач: рыбёшки и киты. Рыбёшка - маленькая и не очень сложная задачка, которая стоит мало баллов. Кит - большая рисёрчерская задача, которая стоит много баллов. Внутри команды вы сами решаете, кто какие задачи решает, потом собираете решения вместе и получаете баллы на команду. Например, одного человека можно послать решать первые десять рыбёшек, второго вторые десять, а третий попробует расколоть кита. Ну либо можно всем вместе колоть кита. Или одну рыбёшку на худой конец.

У каждого, кто записался на курс, уже есть зачёт: 4 балла из 10. Для того, чтобы получить за курс 10, команда должна насобирать 100 баллов. Оценка ставиться на всю команду разом.

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

ВНИМАНИЕ! Каждая найденная опечатка, орфографическая и пунктуационная ошибка приносит нашедшей её команде дополнительные 0.1 балла.

Идеология курса

Поздравляю! Впервые ты оказался около опасной черты. Твоих математических навыков стало хватать для постижения жизни. Именно этим мы и займёмся. Смотреть на жизнь мы будем через язык R.

Спокойно. Не бойтесь. Мы не будем программировать алгоритм дейкстры и рисовать блок-схемы. Изначально язык R создавался не для этого, а для статистики. Он очень удобен для неё и используется в большом числе компаний. Вот список. Именно для этого его будем использовать и мы.

Курс идёт 8 недель. Каждую неделю по две пары. Занятия полупрактические. Смотрим презентации, код, решаем задачи у доски. Цель курса — прокачать интуитивное понимание тервера и матстата, впервые посмотреть, как они используются на практике. Вспомнить, что вы проходили на лекциях и переосмыслить, а также увидеть что-то новое, на что времени на лекциях не хватило. Давай выведем наши знания по терверу и матстату на новый уровень!

Agenda

  1. Вспомнить всё! Говорим о том, есть ли в мире место случайности, какие случайные величины для чего используют. Генерируем их в R. Говорим о том, что такое ЗБЧ и ЦПТ и что бывает за их нарушение.
  2. Про то, что делать, если в киндере попался краб, а ты хочешь игуану. Решаем кучу задач, которые наверняка попадутся тебе на собесе в крутую компанию на аналитика. Говорим про метод первого шага, разложение в сумму индексов, получение неслучайного из случайного, а также обсуждаем беспорядки и парадокс дней рождений.
  3. О том, как варить распределения. О том, какими бывают сходимости случайных величин и как они выглядят. О том, как рождаются распределения из матстата.
  4. Что хочет любой статистик? Несмещённости, состоятельности и эффективности! Говорим про точечные и интервальны оценки. Смотрим на весь матстат сквозь метод максимального правдоподобия. Кушаем конфеты и пытаемся выяснить, что за фигня такая информация Фишера и как её вообще придумали.
  5. Правдоподобие и гипотезы. Ищем среди однукурсников наркоманов. Обсуждаем прелесть средних, говорим про дельта-метод, смотрим на матстат сквозь метод моментов.
  6. Нонстоп по гипотезам. Доли средние и дисперсии. А также про то, что такое pvalue.
  7. Бутстрап, АБ-тесты. Ворота и поющие коты. Резкое погружение в мир финансов и попытка понять, как толстые хвосты придавили Талеба, а также как под колокол нормального распределения заползают чёрные лебеди.
  8. Кто такой преподобный Байес, что за идея пришла к нему в голову 300 лет назад и как его заклинания защищают сегодня вашу почту от спама. Учимся колдовать и приобщаемся к основной религии текущей технологической революции. А вы думали, я с вами в игрушки играю?

Логи семинаров 2019

Домашние задания сдаются либо в юпитерских тетрадках, либо в pdf-ке, свёрстанной через RStudio в связке с markdown или LaTeX.

домашка шаблон в юпитере баллы дедлайн решение
1 Генерация случайных величин Хочу шаблон 100 12.05.19 решение
2 Точечные оценки, доверительные интервалы, сходимости Хочу шаблон 100 09.06.19 решение
3 Метод максимального правдоподобия, метод моментов Хочу шаблон 100 10.07.19 решение
4 Проверка гипотез Хочу шаблон 100 10.07.19 решение


Посиделка 8

На паре вы устроили бунт и отказались погружаться в мир финансов, потребовав Байесовских методов. Мне пришлось импровизировать. Подробнее про байеса можно найти много интересных вещей в [нашей небольшой виньетке,](https://github.com/FUlyankin/book_about_bayes/tree/master/Review%20chapters) которая только пишется. Если читаете её и находите ошибки или непонятные места, сообщайте мне, я их буду исправлять.

Посиделка 7

Посиделка 6

Посиделка 5 (30 мая)

Посиделка 4 (23 мая)

Два моих семинара, где я пытался рассказать про статистику людям, которые вообще про неё не знают:

Ещё три странички для чтения:

Выложил решение первой домашки. Со мной можно и нужно спорить. Половину задач я ворую, половину придумываю. Как человек, я могу ошибаться :)

Посиделка 3 (16 мая)

Я выложил вторую домашку, обратите внимание что там сначала идут задачки на доверительные интервалы и оценки, в конце идут сходимости. В первую очередь решайте задачи на доверительные интервалы! Про них мы будем говорить на 4 посиделке.

Посиделка 2 (25 апреля)

Посиделка 1 (18 апреля)

Логи семинаров 2018

Все данные, которые мы исользовали на семинарах, можно найти на яндекс диске.

Торжественно клянусь переделать все свои кривые презентации в следующем году в техе или маркдауне.

Посиделка 8

Решали кучу ручных задач на мощности, уровни значимости и поиск оптимальных критериев через лемму Неймана-Пирсона.

Посиделки 6 и 7

Говорим о доверии и доверительных интервалах. Как с ними связана проверка гипотез, что такое А-Б тест. Как создать успешный паблик и узнать об этом. Что такое мощность критерия и какие критерии состоятельны. А также немного про бутстрап и отношение правдоподобий.

Посиделка 5

Оцениваем вероятность скушать жёлтый M&Ms, ищем наркоманов среди одногруппников, оцениваем вероятность выжить на Титанике. И всё это методом максимального правдоподобия. В перерыве кушаем конфетки, оставшиеся после эмпирических изысканий.

Посиделка 4

Что хочет любой статистик? Несмещённости, состоятельности и эффективности! Метод максимального правдоподобия в повседневной жизни и в картинках.

Посиделка 3

О том, какими бывают сходимости случайных величин и как они выглядят. Что такое ЦПТ и дельта-метод? Как тяжёлые хвосты придавили Талеба.

Посиделка 2

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

Посиделка 1

Вспомнить всё! Говорим о том, есть ли в мире место случайности, какие случайные величины используются для моделирования каких явлений. Генерируем в R случайные величины.

Вы не обязаны понимать весь код из тетрадок. Особенно код по построению графиков. Но вот весь код, который вы копипастите в решение домашек, понять надо бы.

Полезности и почиташки

Тут лежат всякие глобальные полезные ссылки на разные материалы. Ещё больше ссылок ищите в тетрадках к семинарам!

Книги по терверу и матстату на русском:

Книги по R

Другие крутые источники:

Jupyter, R, Anaconda и другие пафосные слова

Мы с вами выяснили, бывают разные языки программирования и разные IDE (редакторы) для них. На паре мы сказали, что будем работать в Rstudio. Если вам очень сильно хочется, вы можете попробовать Jupyter. Изначально в нём всё настроено для написания кода на python. Но к его ядру можно подключить и R. Однако придётся немного помучиться. Если вы не собираетесь в ближайшее время использовать python, то лучше не надо мучиться.

Во-первых, как установить R и Rstudio вы уже знаете. Если нет, то смотрите инструкцию тут. Там же есть инструкция по установке LaTeX, если вы хотите работать в связке с ним.

Установите пакет knitr, install.packages("knitr"). Настроим взаимодействие между программами. Заходим в Tools/Global options. Находим вкладку Sweave. В ней выбираем в верхнем поле knitr, во втором поле XeLaTeX. После этого шаблон должен собраться. Чтобы создать новый файл, являющейся помесью R и LaTeX, нужно нажать file/new file/R Sweave. Туда не помешает скопировать преамбулу из шаблона.

Если мы хотим работать в связке R + Markdown, настраивать ничего не нужно. Нажмите file/new file/R Markdown. Откроется шаблон файла. Допишите в шапке файла lang: ru, чтобы включился русский язык. Всё. Можно работать.

Во-вторых, про Jupyter. Самый простой способ установить его и в купе с ним python и кучу других ништяков, это поставить анаконду. Так называется дистрибутив, в который собраны все эти ништяки. В анаконде много лишнего. Если вы не хотите лишнего, и у вас мак или линукс, ниже будет инструкция, как установить всё по красоте. Как подключить R к Jupyter можно почитать вот в этой статье. Но там всё на английском и много лишнего, поэтому так уж и быть, держите пошаговую инструкцию. Все выделенные команды можно копипастить в R и запускать.

  1. Установить Anaconda. Выбирайте третий питон.
  2. Запустить Rstudio. Установить вот эти пакеты: install.packages(c('repr', 'IRdisplay', 'evaluate', 'crayon', 'pbdZMQ', 'devtools', 'uuid', 'digest'))
  3. Установить ещё один пакет (c github): devtools::install_github('IRkernel/IRkernel')
  4. Сделать ядро R видимым для Jupyter: IRkernel::installspec()
  5. Запустите Anaconda Navigator. Там запустите Jupyter Notebook. Внимание! Не перепутайте его с Jupyter lab.
  6. Справа сверху будет квадратная кнопка с надписью New. Выскакиевает выбор между python и R. Если не выскакивает, значит вы что-то сделали не так, либо эта инструкция не работает, потому что я сам не пробовал ей следовать, а просто написал.

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

  1. Откройте терминал. Если вы никогда его до этого не открывали, у вас уже начались сложности. Но я верю, что вы справитесь.
  2. Оказывается, что на macOS уже стоит питон. Можно убедиться в этом, прописав в терминале python --version и нажав энтер.
  3. Мы хотим ещё питона. Хотим зоопарк. Для этого поставим менеджер недостающих пакетов под названием домашняя пивоварня. Для этого копируем в терминал команду для её установки /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)". Жмём энтер.
  4. Как только установился homebrew, прописываем в терминале brew install python3. Это установит третий питон.
  5. Устанавливаем Jupyter notebook командой pip3 install jupyter
  6. Запускаем RStudio и повторяем шаги 2-4 из инструкции выше.
  7. Запускаем jupyter notebook, прописав в терминале jupyter notebook и нажав энтер. Он откроется в браузере, и вы сможете выполнить пункт 6 из инструкции выше.
  8. Тыкните мышкой на терминал и нажмите одновременно клавиши cmd и N. Откроется ещё один терминал. Переходим в него.
  9. Остался последний штрих. Небольшая награда за страдания. Установим утилиту под названием корова говорит: brew install cowsay. Как только она установилась, запустим команду cowsay hello. У вас в терминале появится разговаривающая корова. Попробуйте команду cowsay -d hello. У вас в терминале дохлая разговаривающая корова. Как дохлая корова может разговаривать? Хороший вопрос.

Небольшие пояснения: терминал это очень крутая штука. С помощью него можно делать многие классные вещи. Например, устанавливать разный софт, как мы это сделали только что. Каждый раз, когда вы захотите запустить jupyter, надо будет открывать терминал и писать в нём jupyter notebook, а потом жать энтер. Так это делают все бруталы. Если вы девушка, запускаете юпитер через консоль и у вас есть парень, сообщите ему про это. Особенно если он сидит на анаконде. Это примерно то же самое, что забить за него гвоздь в стену.

На линуксе всё как на маке, но без brew, а с sudo apt-get, но вы сами разберётесь. У вас же линукс.

Наш курс про R, но если вам хочется освоить питон, то хорошими для старта будут следующие источники на русском языке бесплатно и без смс:

Благодарности и лицензия

Спасибо за помощь в создании этого курса Демешеву Борису Борисовичу! Его материалы по терверу и запал энтузиазма сделали его возможным. Спасибо за помощь в стенографировании домашек Белякову Юре (формулы). Спасибо огромной своре второкурсников за поиски ошибок и опечаток (Сороковниной Свете, Кидло Ире, Нуртудинову Камилю, Курилкиной Юле и Евстафьеву Серёже и многим-многим другим)

Материалы курса распространяются на условиях лицензии Creative Commons Attribution-Share Alike 4.0. При использовании обязательно упоминание автора курса и аффилиации. При наличии технической возможности необходимо также указать активную гиперссылку на страницу курса. Все материалы публикуются как общественное достояние.