Data&Knowledge
130 subscribers
25 photos
21 files
160 links
Работаем с данными
Download Telegram
Data&Knowledge
Точный тест Фишера Тема на эту неделю "Точный тест Фишера" (Fisher’s Exact Test). Этот тест применяется, на малых выборках, когда использование критерия хи-квадрат невозможно. Интересно, что тест опирается на гипергеометрическое распределение и не является…
Точный тест Фишера

У нас был набор вопросов на неделю:
Как и почему работает тест Фишера?
Почему он называется точным?
Какие границы его применимости?
Покажет ли он такие же результаты, как и тест хи-квадрат на больших выборках?
Попробую на них ответить.

Вообще, тест Фишера применяется тогда же, когда можно применить тест хи-квадрат: есть несколько категориальных переменных, каждая из которых может принимать несколько значений. В отличие от теста хи-квадрат тест Фишера может применяться на достаточно малых данных или когда выборка не сбалансирована.

Как и почему работает тест Фишера?

Тест Фишера опирается на гипергеометрическое распределение. Напомню, что такое гипергеометрическое распределение. Это дискретное вероятностное распределение, которое моделирует вероятность k успехов в n извлечений объекта из выборки, при этом извлечения происходят без возвращения, всего в выборке N объектов, K объектов с искомой фичей, и каждое извлечение является либо успехом либо неудачей.
Давайте представим, что мы проводим некоторый эксперимент. К примеру, смотрим, насколько курение влияет на вероятность рака легких. Если мы знаем, сколько у нас всего курильщиков/некурильщиков, сколько среди них людей с раком легких/без рака легких, то мы можем смоделировать эту проблему с помощью гипергеометрического распределения. Вся выборка у нас будет размера N (курильщики + некурильщики), K объектов с искомой фичей (рак легких), и в первой клетке таблицы сопряжения мы получаем k успехов (курильщики с раком легких). Тест Фишера же состоит в том, чтобы посчитать, насколько вероятен текущий или более экстремальный вариант данных (к примеру, получить больше курильщиков с раком легких).

Почему он называется точным?

Тест называется точным, потому что ситуация точно моделируется гипергеометрическим распределение. Хи-критерий, к примеру, является приближенным, потому что выборочное распределение стремится к распределению Хи-квадрат с увеличением размера выборки.

Какие границы его применимости?

Тест Фишера является вычислительно сложным из-за присутствия факториалов. Однако, сейчас с помощью приближенных методов можно вычислять критерий Фишера для таблиц любых размеров. Дополнительно, стоит помнить, что критерий Фишера дает консервативные оценки, поэтому иногда применяют корректировку, к примеру, Mid-P correction.
ANOVA

ANOVA, или дисперсионный анализ, часто используется для выявления различий между несколькими группами. Я начал читать материалы и продолжил курс на степике (https://stepik.org/lesson/8083/step/1). Как всегда, у меня есть набор вопросов:

Что такое F-распределение (распределение Фишера), на которое и опирается ANOVA?
Какие границы применимости метода?
Какие требования к входным данным?
Как правильно выбрать post-hoc тесты?

#ANOVA
👍1
Наткнулся на еще один ресурс по машинному обучению, с интерактивными графиками:
https://mlu-explain.github.io
Не помню, была ли эта ссылка на сборник материалов для подготовки к ML:https://habr.com/ru/articles/708752/

Мы же когда-то хотели начать проходить матан и алгебру. У меня они до сих пор в планах, но уже на следующий год - я решил посвятить пару месяцев изучению языка страны, в которой живу 🥲
👍2
Небольшой апдейт.

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

Я наконец-то купил видеокарту (4070 TI Super). Теперь можно продолжить курс по NLP и начать гонять нейронки.

Я сейчас активно работаю над темой "контекст пользователя", постараюсь через два месяца сделать пост по этой теме: какую информацию мы используем во время работы, как мы переключаемся между задачами, как это можно делать эффективнее.

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

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

Знаете, как ученые узнают правду о мире? Они формулируют гипотезы и проводят эксперименты, чтобы принять или опровергнуть эти предположения. К примеру, у нас есть гипотеза: Земля круглая. Мы можем её проверить эмпирическим путем - пронаблюдав, как корабли уходят за горизонт. Гипотезы нам нужны для того, чтобы не подводить итоги наблюдений под желаемый результат, а формулировать результирующие знания, отвечая на заранее поставленный вопрос. Сначала гипотеза и только потом эксперимент.

Интересно, что такой метод можно использовать и в реальной жизни. Метод работает и на малых, и на больших событиях. К примеру, хотим мы узнать, как к нам относится интересный нам человек. Мы формулируем гипотезу: человек симпатизирует нам. Мы ищем способ проверить гипотезу, к примеру: если мы наступим человеку на ногу, то он улыбнется нам. Да, проверять гипотезы, пожалуй, надо с умом.

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

Мы разбогатели, чего же еще желать? Мы можем узнать правду, даже если о ней не говорят! Пусть государство А внезапно стало поставлять боеприпасы государству Б. Мы хотим узнать причину. Мы можем сформулировать несколько гипотез. Вот одна из них: государство А хочет заполучить военный опыт от государства Б взамен на боеприпасы. Проверка гипотезы: через несколько месяцев мы увидим солдат из государства А , воюющих за государство Б. Проверить такую гипотезу легко: надо просто следить за новостями через несколько месяцев. И если гипотез будет несколько и каждая будет тестироваться несколькими способами, то в конечном итоге мы сможем раскрыть некоторую часть правды, которая не должна быть нам доступна.

Вот так вот, гипотезы вместе с теориями и моделями являются важнейшими столпами науки. И их можно использовать в реальной жизни.
Хочу поделиться небольшим видео с Ричардом Фейнманом. В нем он показывает, почему мы не можем узнать всё об окружающем нас мире. Даже если мы сформулируем теорию, которая сможет объяснить абсолютно всё, эта теория всё равно не сможет объяснить сама себя. Тут интересна аналогия: если у нас есть один фломастер, то мы можем закрасить всё, кроме этого фломастера, но если у нас есть два фломастера....Интересно, а может ли быть такое же в науке, когда у нас есть две фундаментальных теории, которые объясняют всё и самих себя.
https://www.youtube.com/watch?v=36GT2zI8lVA
👍3
Небольшой апдейт.

А почему не пройти курс по NLP? Мы его уже начинали проходить, но как-то заглохло. Я хочу в ближайшие два месяца сосредоточиться на практических задачах из курса. Идея в том, что надо брать очередную задачу и пытаться достичь более хорошего результату. Вот курс: https://stepik.org/course/54098/syllabus
Пример задачи прикладываю.
Еще я начал планировать, как сделать научный канал про продуктивность. И внезапно оказалось, что тщательная подготовка видео по любой теме будет занимать 2-3 месяца. Оказалось, что немалая часть каналов по продуктивности только прикрывается научностью. Авторы выдвигают некий тезис, находят пару тройку статей, подтверждающих его, приправляют собственным опытом...и всё. Толкового обзора там нет, ведь толковые обзоры делать крайне трудозатратно. Так и получается, что мы живем в обществе с гигантскими объемами доступной информации, но из-за экономических реалий у нас нет возможности извлечь максимальную пользу из этой информации. Печально.
И напоследок. Если вам по какой-то причине интересна философия науки, то могу порекомендовать книжку

Philosophy of Science: A Very Short Introduction by Samir Okasha


Она несложная и описывает основные вехи в развитии философии науки. Я не нашел в ней каких-то серьезных неточностей или упущений, хотя кому-то она может показаться слегка поверхностной.
Предлагаю желающим поиграться с заданиями с семинаров из курса по NLP.
Первое такое задание: https://stepik.org/lesson/247966/step/10?unit=220078
Так надо сначала скачать их библиотечку: https://github.com/sic-rus-ai/stepik-dl-nlp/tree/master

В той же папке есть ноутбук с кодом: task2_word_embeddings.ipynb. Предлагаю поработать над этой штукой до конца недели, а потом поделиться результатами. Единственное "но", код для gensim модели в моем окужении не работает, но он для экспериментов особо и не нужен. В видео к семинару дается краткое объяснение, что делает код.
Планы на следующий год

Итак, 2024 год подходит к концу. Год получился каким-то скомканным, многое из задуманного так и не удалось осуществить. И тем не менее, я бы хотел поделиться новыми планами на 2025 год.

1. Пройти курс по NLP.
В ближайшие два месяца мне бы хотелось завершить курс со степика по NLP (https://stepik.org/course/54098). Хотелось бы поглубже погрузиться во всё это, а потом попробовать сделать некий прототип для изучения языка с AI.

2. Начать проходить высшую математику.
Может быть это и прозвучит странно, но для меня это высокоприоритетная задача. Оказалось, что математика является не только основанием для data science, но и базой для того, чтобы заниматься серьезной наукой. В общем, мне хочется, чтобы математика и логика стали для меня удобными инструментами. Я думаю, что до начала середины года получится начать пару курсов.

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

4. Пройти курс по обработке изображений.
Какой курс проходить, я пока не знаю, но жена недавно подкинула мне интересную идею. Если коротко, то мне надо будет по 2D-изображению строить 3D-персонажа из заготовленных кусков. Соответственно, сгенерированный персонаж должен быть похож на изначальное изображение.

5. Поучаствовать в хакатонах.
Мне надо развивать софт- и хард-скиллы, поэтому участие в хакатонах кажется логичным следующим шагом. Надеюсь, что летом-осенью всерьез приступлю к этому делу.

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

Всех с наступающим Новым Годом 🎉🎉🎉
👍1
А у меня есть прикладная задачка из области UX. Представьте, что у нас есть VR-игра. У нас есть датчики роста, микрофон и тд. Есть проблема: так как игра бесплатная, то туда заходит слишком много детей. Из-за этого взрослые с деньгами уходят из игры. Как решить эту проблему?
Чтобы разграничить детей и взрослых, мы можем создавать отдельные сессии.
Задачка с небольшим подвохом.

Это задачка может помочь понять научный метод и тестирование гипотез.
Имеется четыре карты, половина каждой из которых замаскирована (наложена черная маска). Какие маски нужно снять, чтобы узнать, правда ли, что если на карточке есть круг слева, то и справа есть круг?
Какие маски нужно снять, чтобы узнать, правда ли, что если на карточке есть круг слева, то и справа есть круг?
Anonymous Quiz
13%
A
3%
A и B
34%
A и C
25%
A и D
0%
B и C
3%
B и D
3%
C
19%
Посмотреть ответы
Небольшая идея. Было бы круто сделать иметь сервис для корректирования оценки после накрученных отзывов. К примеру, пусть у нас два товара со средними отзывами:

Товар 1:
Отл. ————————
Хор. —————
Удв. —
Плх. ——

Товар 2:
Отл. ———
Хор. ————
Удв. ———
Плх. —

Кажется, что у первого товара гораздо больше хороших и отличных отзывов, значит, и товар лучше. Однако, можно заметить, что у первого товара и плохих отзывов больше. Более того, у него плохих отзывов больше, чем удовлетворительных. То есть люди часто были сильно недовольны товаром. Получается, если отбросить вероятно покупные отзывы у товара 1, то товар 2 будет выглядеть лучше.

В общем, интересно создать модель, которая по частотам хороших-плохих отзывов будет выставлять скорректированную оценку товару.
Друзья, можете пройти опрос на 5 минут?
Я тут подумываю попробовать делать ютюб-видео о продуктивности на основе научных статей, хочу узнать, какие темы людям более интересны.

https://forms.gle/sR4gJqZKqVGpXTQD9

Потом зашарю тут ответы.

П.С. Ссылка обновлена.
А я тут нашел прикольную книжку по power analysis (анализ статистической мощности). Мощность - это такая штука, которая говорит нам о способности теста выявить статистически значимую разницу, если она действительно существует. Связанное понятие - effect size (размер эффекта?) - такая штука, которая показывает величину воздействия независимой переменной на зависимую (к примеру, курения сигарет на рак легких).
В общем, начал читать книжку, она на английском, но пока что читается довольно легко:
Statistical Power Analysis for the Behavioral Sciences
Routledge, 2nd, 1988
Jacob Cohen

https://annas-archive.org/md5/aaa90371cd9c588dc5530cfeb909f3f2
Игра нас обманывает?

Небольшая задача на подумать. Я тут недавно начал играть в одну карточную игру. В ней надо строить свою башню и разрушать башню противника. При этом делать это надо за карты, каждая карта тратит определенный вид ресурсов. У каждого игрока есть показатели добычи этих ресурсов, которые могут менять во время игры при помощи карт с соответствующими возможностями. Ресурсов три типа и, соответственно, три типа карт. Карт разных типов в колоде практически одинаковое количество. После вытаскивания очередной карты, она возвращается в колоду.

Я заметил, что иногда очень сложно отстроить свою башню или разрушить башню противника. Я стал считать.

Ситуация первая.
6 ходов подряд выпадала карта одного типа ресурсов.

Ситуация вторая.
10 ходов подряд не выпадает карта одного типа ресурсов.

Ситуация третья.
При минимальной башне мне не выпадают карты на отстройку башни.

Подкручена ли раздача карта? Как можно убедиться в этом?
Я сделал небольшой анализ опроса о том, какие видео на тему продуктивности больше нравятся людям. Для желающих, там есть небольшое домашнее задание:
https://colab.research.google.com/drive/1MjXCaO3fZxgnzySRzjzdb-AWUBHnAOEG?usp=sharing
Пройти курс по NLP

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

https://stepik.org/course/54098/ - собственно, сам курс.

https://www.youtube.com/playlist?list=PLAqhIrjkxbuWI23v9cThsA9GvCAUhRvKZ - отличный ютюб-плэйлист по нейронным сетям, у этого же автора есть материалы по LLM.

https://web.stanford.edu/~jurafsky/slp3/ - часто рекоммендуемый курс от Стэнфордского университету.

https://d2l.ai/ - одна из лучших книжек по глубокому обучению, люди её очень советуют.
https://annas-archive.org/md5/dd7d63a1003b7907b199d4f9cce0a62e - Deep Learning by Ian Goodfellow & Yoshua Bengio & Aaron Courville - еще одна неплохая фундаментальная книжка.

В общем, ресурсы у нас есть, потихоньку продолжаем страдать изучать 🥲