Иными словами, на мой взгляд, мы можем использовать t-test, когда более менее уверены, что распределение генеральной совокупности близко к нормальному. Я думаю, что это можно установить несколькими способами:
1. Убедиться, что не было ошибок при формировании выборок. Эти ошибки могут убрать нормальность.
2. Проверить для начала, а не нормальна ли сама выборка. Посмотреть на коэффициенты ассиметрии (skewness) и эксцесса (kurtosis). Думаю, можно и проверить тестами Шапиро-Уилка или Колмогорова-Смирнова.
3. Проверить методом бутстрэпа на нормальность распределения выборочных средних.
Не очень-то густые инсайты. Теперь осталось понять требование к гомогенности дисперсий.
1. Убедиться, что не было ошибок при формировании выборок. Эти ошибки могут убрать нормальность.
2. Проверить для начала, а не нормальна ли сама выборка. Посмотреть на коэффициенты ассиметрии (skewness) и эксцесса (kurtosis). Думаю, можно и проверить тестами Шапиро-Уилка или Колмогорова-Смирнова.
3. Проверить методом бутстрэпа на нормальность распределения выборочных средних.
Не очень-то густые инсайты. Теперь осталось понять требование к гомогенности дисперсий.
Итак, теперь про равенство дисперсий. Одно из предположений т-критерия Стьюдента состоит в том, что выборочные дисперсии равны. Кажется очевидным, что перед использование теста, необходимо проверить выборки на это самое равенство. Если же дисперсии не равны, то можно отказаться от т-теста Стьюдента в пользу т-теста Уэльча для выборок с разными дисперсиями. Почему же это нужно?
Оказывается, т-критерий Стьюдента начинает плохо себя вести, когда и размеры, и дисперсии выборок отличаются. Особенно ему плохеет, когда большая выборка имеет меньшую дисперсию. В таких ситуациях и рекомендуется использовать т-критерий Уэлча. А чтобы узнать, равны ли дисперсии, раньше предлагалось использовать тесты равенства дисперсий, к примеру, тест Левене.
Получается, что необходимо использовать тест Левене, а потом выбирать подходящий т-критерий? И тут всё становится слегка запутанным. Как и многие статистические тесты, тест Левене имеет свою мощность. Получается, он тоже с некоторой долей вероятности может допускать ошибки первого и второго рода. И в этот момент оказывается, что выигрыш от использования теста Левене и выбора более подходящего варианта из тестов Стьюдента и Уэлча не перекрывает выигрыш от просто постоянного использования т-критерия Уэлча (который работает слегка хуже на выборках одинакового размера с одинаковой дисперсией).
Практические выводы:
1. Т-критерий Стьюдента можно более-менее безопасно использовать при равных выборках или когда бОльшая выборка имеет пропорционально бОльшую дисперсию.
2. Можно просто постоянно использовать т-критерий Уэлча, особенно если выборки разного размера.
#t_test #т_критерий
Оказывается, т-критерий Стьюдента начинает плохо себя вести, когда и размеры, и дисперсии выборок отличаются. Особенно ему плохеет, когда большая выборка имеет меньшую дисперсию. В таких ситуациях и рекомендуется использовать т-критерий Уэлча. А чтобы узнать, равны ли дисперсии, раньше предлагалось использовать тесты равенства дисперсий, к примеру, тест Левене.
Получается, что необходимо использовать тест Левене, а потом выбирать подходящий т-критерий? И тут всё становится слегка запутанным. Как и многие статистические тесты, тест Левене имеет свою мощность. Получается, он тоже с некоторой долей вероятности может допускать ошибки первого и второго рода. И в этот момент оказывается, что выигрыш от использования теста Левене и выбора более подходящего варианта из тестов Стьюдента и Уэлча не перекрывает выигрыш от просто постоянного использования т-критерия Уэлча (который работает слегка хуже на выборках одинакового размера с одинаковой дисперсией).
Практические выводы:
1. Т-критерий Стьюдента можно более-менее безопасно использовать при равных выборках или когда бОльшая выборка имеет пропорционально бОльшую дисперсию.
2. Можно просто постоянно использовать т-критерий Уэлча, особенно если выборки разного размера.
#t_test #т_критерий
Может кому-то это будет интересно и здесь. Для меня удивительно, что вычислительная сложность, которую мы обычно ассоциируем с алгоритмами, играет важную роль и в представлении знаний. К примеру, не так много людей знают, что кроме P и NP классов сложности, есть еще и PSPACE, EXPTIME, NEXPTIME, EXPSPACE. И разрешимость многих логик (дескриптивных, модальных), о которых я буду писать позже, лежит как раз за пределами NP.
В книге же по алгоритмам Бхаргавы таких сложностей нет. Там разбираются самые основы простым языком. Поэтому, если вы хотите погрузиться в мир алгоритмов, эта книга станет хорошим началом пути.
В книге же по алгоритмам Бхаргавы таких сложностей нет. Там разбираются самые основы простым языком. Поэтому, если вы хотите погрузиться в мир алгоритмов, эта книга станет хорошим началом пути.
Forwarded from Учим Питон
А не начать ли нам книжный клуб? :D
А начать. И начнем мы с того, что нужно знать каждому программисту - алгоритмы. Если коротко, то алгоритм - это последовательность действий, решающая определенную задачу за конечно время. И хороший программист должен знать, как оценивать эффективность алгоритмов, как создавать эффективные алгоритмы и какие алгоритмы используются в его инструментах.
И начнем мы с книги для начинающих:
Бхаргава А. - Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих
План таков:
1. Заполучить книгу (купить, скачать из файлов ВК и т.д.)
2. Каждую неделю читать одну главу.
Итак, начинаем сегодня с главы "1. Знакомство с алгоритмами". Читаем её до следующих выходных. В конце следующей недели я сделаю небольшую выжимку по главе и подготовлю опрос.
Вопросы можно задавать в нашем чате в телеграмме: https://t.me/learnpythonforfun_chat.
#книжный_клуб #алгоритмы
А начать. И начнем мы с того, что нужно знать каждому программисту - алгоритмы. Если коротко, то алгоритм - это последовательность действий, решающая определенную задачу за конечно время. И хороший программист должен знать, как оценивать эффективность алгоритмов, как создавать эффективные алгоритмы и какие алгоритмы используются в его инструментах.
И начнем мы с книги для начинающих:
Бхаргава А. - Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих
План таков:
1. Заполучить книгу (купить, скачать из файлов ВК и т.д.)
2. Каждую неделю читать одну главу.
Итак, начинаем сегодня с главы "1. Знакомство с алгоритмами". Читаем её до следующих выходных. В конце следующей недели я сделаю небольшую выжимку по главе и подготовлю опрос.
Вопросы можно задавать в нашем чате в телеграмме: https://t.me/learnpythonforfun_chat.
#книжный_клуб #алгоритмы
Telegram
Учим Питон (Чат)
Курс с нуля: https://stepik.org/course/58852/
Курсы для прохождения: https://docs.google.com/document/d/1N-SxSRbe5eaV3z4BEknNVB1G7EKgtfdgVmTyy-q95fY/edit?usp=sharing
Правила: https://vk.com/@learnpythonforfun-pravila-gruppy-i-chatov
Курсы для прохождения: https://docs.google.com/document/d/1N-SxSRbe5eaV3z4BEknNVB1G7EKgtfdgVmTyy-q95fY/edit?usp=sharing
Правила: https://vk.com/@learnpythonforfun-pravila-gruppy-i-chatov
Кстати, а кто-нибудь помнит, что мы начинали проходить курс по статистике? Ну ладно, я начинал. Вот он: https://stepik.org/course/76
В общем, прошлая тема была t-test. В какой-то мере мы с ней разобрались, следующая тема qq-плот. Как мне кажется, я нашел шикарный материал по этой теме.
В общем, прошлая тема была t-test. В какой-то мере мы с ней разобрались, следующая тема qq-плот. Как мне кажется, я нашел шикарный материал по этой теме.
Говорят, неплохой playlist по нейронным сетям:
https://www.youtube.com/watch?v=VMj-3S1tku0&list=PLAqhIrjkxbuWI23v9cThsA9GvCAUhRvKZ
https://www.youtube.com/watch?v=VMj-3S1tku0&list=PLAqhIrjkxbuWI23v9cThsA9GvCAUhRvKZ
YouTube
The spelled-out intro to neural networks and backpropagation: building micrograd
This is the most step-by-step spelled-out explanation of backpropagation and training of neural networks. It only assumes basic knowledge of Python and a vague recollection of calculus from high school.
Links:
- micrograd on github: https://github.com/k…
Links:
- micrograd on github: https://github.com/k…
Я снова занят написанием диссертации. Но недавно нашел кое-что новое для себя:
https://en.wikipedia.org/wiki/False_discovery_rate
https://en.wikipedia.org/wiki/Q-value_(statistics)
А чуть позже постараюсь кратко написать и про эту штуку:
https://en.wikipedia.org/wiki/Bonferroni_correction
https://en.wikipedia.org/wiki/False_discovery_rate
https://en.wikipedia.org/wiki/Q-value_(statistics)
А чуть позже постараюсь кратко написать и про эту штуку:
https://en.wikipedia.org/wiki/Bonferroni_correction
Wikipedia
False discovery rate
In statistics, the false discovery rate (FDR) is a method of conceptualizing the rate of type I errors in null hypothesis testing when conducting multiple comparisons. FDR-controlling procedures are designed to control the FDR, which is the expected proportion…
Еще один источник для тех, кто хочет погрузиться в обработку языка:
https://web.stanford.edu/~jurafsky/slp3/
https://web.stanford.edu/~jurafsky/slp3/
Если вы вдруг захотите стать исследователем в области ИИ, то вот подборка курсов:
https://github.com/ahmedbahaaeldin/From-0-to-Research-Scientist-resources-guide
https://github.com/ahmedbahaaeldin/From-0-to-Research-Scientist-resources-guide
GitHub
GitHub - ahmedbahaaeldin/From-0-to-Research-Scientist-resources-guide: Detailed and tailored guide for undergraduate students or…
Detailed and tailored guide for undergraduate students or anybody want to dig deep into the field of AI with solid foundation. - ahmedbahaaeldin/From-0-to-Research-Scientist-resources-guide
Еще два материала, которые рекомендуют для подготовки к собеседованиям:
https://www.statlearning.com/ - книги по машинному обучению
https://www.youtube.com/watch?v=5N9V07EIfIg&list=PLOg0ngHtcqbPTlZzRHA2ocQZqB1D_qZ5V&index=1 - youtube-плэйлист по нему же.
https://www.statlearning.com/ - книги по машинному обучению
https://www.youtube.com/watch?v=5N9V07EIfIg&list=PLOg0ngHtcqbPTlZzRHA2ocQZqB1D_qZ5V&index=1 - youtube-плэйлист по нему же.
YouTube
StatsLearning Lecture 1 - part1
Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.
Мне тут в личку группы Учим Питон сам автор прислал статью, и я решил поделиться ею здесь: https://habr.com/p/802773/
Тема интересная, потому что, как мне кажется, визуализация данных - это 90% процентов успеха в анализе. Сначала проводишь разведочный анализ по графикам, а потом результаты анализа надо презентовать.
В статье мне понравился общий ход мыслей: думать о том, чтобы человеку было легко. Если бы мне надо было делать похожие графики, то я бы, как и автор, использовал разные цвета, визуально группировал бы одинаковые сущности, добавлял размерность через толщину/цвет точек.
С чем я не согласен. Я бы практически не трогал прозрачность элементов. В комнате плохой проектор? Часть данных будет не видна. Плохо печатает принтер? Часть данных сольется в одном цвете. В общем, я бы старался разные группы данных различать градиентом. Дополнительно, я бы побоялся включать более четырех линий в один график - мне такие воспринимать сложно. Ну и напоследок, я бы увеличил шрифты, а линию предсказания сделал бы прерывистой/пунктирной.
Если у кого есть вопросы/предложения, можете писать их в комментариях тут - автор обещал заглянуть и ответить :)
Тема интересная, потому что, как мне кажется, визуализация данных - это 90% процентов успеха в анализе. Сначала проводишь разведочный анализ по графикам, а потом результаты анализа надо презентовать.
В статье мне понравился общий ход мыслей: думать о том, чтобы человеку было легко. Если бы мне надо было делать похожие графики, то я бы, как и автор, использовал разные цвета, визуально группировал бы одинаковые сущности, добавлял размерность через толщину/цвет точек.
С чем я не согласен. Я бы практически не трогал прозрачность элементов. В комнате плохой проектор? Часть данных будет не видна. Плохо печатает принтер? Часть данных сольется в одном цвете. В общем, я бы старался разные группы данных различать градиентом. Дополнительно, я бы побоялся включать более четырех линий в один график - мне такие воспринимать сложно. Ну и напоследок, я бы увеличил шрифты, а линию предсказания сделал бы прерывистой/пунктирной.
Если у кого есть вопросы/предложения, можете писать их в комментариях тут - автор обещал заглянуть и ответить :)
Habr
Управление цветами в Seaborn: как визуализировать данные красиво
Привет, Хабр! В этой статье я расскажу про своё видение работы с цветом при визуализации графиков. Буду показывать все на примерах — уверен, они вам понравятся. Я покажу не только картинки было-стало,...
👍2
Я тут недавно поучаствовал в локальном онлайн-хакатоне от своего университета (https://bbdc.csl.uni-bremen.de/en/2024-2/professional-track/). Занял 14 место из 17, в своё оправдание могу сказать, что времени у меня было не очень много и я не использовал нейронные сети. Хакатон длился около месяца.
Задание.
В рамках задания были представлены данные акселерометра и фотоплетизмографа (штука, которая "меряет" пульс) + данные о пульсе, поле, возрасте, номере устройства. Участникам предлагалось классифицировать по этим данным настроение (['HAPPY', 'RELAXED', 'SAD', 'ANGRY']) и контекст (['WALKING', 'CONVERSATION', 'VIEW_BOOTH', 'OTHER']).
Что я сделал.
Мне показался скучным путь решения через натравливание нейронки, поэтому я пошел другим путем. В дополнение к трем осям, я вычислил общий вектор амплитуды через корень суммы квадратов. Сначала я прогнал данные через никзочастотный фильтр, чтобы убрать шумы. Потом применил RobustScaler, чтобы убрать выбросы и отмасштабировать данные. Затем я обнаружил пики для каждой оси. Дополнительно я вычислил метрики по этим пикам: ритм, среднее время шага, ско времени шага, регулярность шагов и т.д. Метрики были вычислены для интервалов, предшествующих событию измерения. Я использовал библиотеку sensormotion. Потом все эти фичи были скормлены в HistGradientBoostingClassifier из sklearn. Для классификации настроения и контекста я использовал окна разной длины.
Что я бы сделал по-другому.
Мне кажется, что главная ошибка, которую я допустил - мало времени провел над инжинирингом фич. По сути, получилось, что я скормил много мусора в классификатор, а он там что-то извлёк. Стоило лучше разобраться с тем, как работают алгоритмы детектирования пиков с самого начала, подумать о лучшем фильтре, посмотреть, какие ещё метрики могут быть использованы.
Ещё я хотел подумать, как решить проблему сопоставления осей. К примеру, что если одни часы имеют отличную ориентацию от других часов. В общем, надо было больше потратить времени на приведение входных данных в порядок.
Итог.
Я поучаствовал в хакатоне, мне было интересно поработать с данными, выучить новые уроки, немного набить руку. После окончания диссертации собираюсь засесть за ML+DL, надеюсь, после этого в хакатонах у меня дело пойдет пободрее 🙂
Задание.
В рамках задания были представлены данные акселерометра и фотоплетизмографа (штука, которая "меряет" пульс) + данные о пульсе, поле, возрасте, номере устройства. Участникам предлагалось классифицировать по этим данным настроение (['HAPPY', 'RELAXED', 'SAD', 'ANGRY']) и контекст (['WALKING', 'CONVERSATION', 'VIEW_BOOTH', 'OTHER']).
Что я сделал.
Мне показался скучным путь решения через натравливание нейронки, поэтому я пошел другим путем. В дополнение к трем осям, я вычислил общий вектор амплитуды через корень суммы квадратов. Сначала я прогнал данные через никзочастотный фильтр, чтобы убрать шумы. Потом применил RobustScaler, чтобы убрать выбросы и отмасштабировать данные. Затем я обнаружил пики для каждой оси. Дополнительно я вычислил метрики по этим пикам: ритм, среднее время шага, ско времени шага, регулярность шагов и т.д. Метрики были вычислены для интервалов, предшествующих событию измерения. Я использовал библиотеку sensormotion. Потом все эти фичи были скормлены в HistGradientBoostingClassifier из sklearn. Для классификации настроения и контекста я использовал окна разной длины.
Что я бы сделал по-другому.
Мне кажется, что главная ошибка, которую я допустил - мало времени провел над инжинирингом фич. По сути, получилось, что я скормил много мусора в классификатор, а он там что-то извлёк. Стоило лучше разобраться с тем, как работают алгоритмы детектирования пиков с самого начала, подумать о лучшем фильтре, посмотреть, какие ещё метрики могут быть использованы.
Ещё я хотел подумать, как решить проблему сопоставления осей. К примеру, что если одни часы имеют отличную ориентацию от других часов. В общем, надо было больше потратить времени на приведение входных данных в порядок.
Итог.
Я поучаствовал в хакатоне, мне было интересно поработать с данными, выучить новые уроки, немного набить руку. После окончания диссертации собираюсь засесть за ML+DL, надеюсь, после этого в хакатонах у меня дело пойдет пободрее 🙂
BBDC
Professional Track - BBDC
tada, neues logo!
👍3
Всё ещё пишу свою диссертацию, но осталось уже буквально пара недель и затем, вероятно, я смогу вернуться к изучению статистики, NLP, нейронок и прочих вещей.
Из обновлений: в мае я собираюсь поучаствовать в стартап кэмпе с одной NLP-темой. Попробую предложить сервис извлечения основной информации из научных статей для борьбы с галлюцинациями у LLM моделей.
Еще нашел недавно интересную книжку:
Rodrigues, Miguel RD, and Yonina C. Eldar, eds. Information-theoretic methods in data science. Cambridge University Press, 2021.
В ней рассказывается о теории информации и дата сайнс - давно мечтал почитать что-то подобное.
В общем, пока что всё. И небольшой опрос напоследок :)
Из обновлений: в мае я собираюсь поучаствовать в стартап кэмпе с одной NLP-темой. Попробую предложить сервис извлечения основной информации из научных статей для борьбы с галлюцинациями у LLM моделей.
Еще нашел недавно интересную книжку:
Rodrigues, Miguel RD, and Yonina C. Eldar, eds. Information-theoretic methods in data science. Cambridge University Press, 2021.
В ней рассказывается о теории информации и дата сайнс - давно мечтал почитать что-то подобное.
В общем, пока что всё. И небольшой опрос напоследок :)
Вы что-нибудь слышали про bias-variance tradeoff?
Anonymous Poll
29%
Да
47%
Нет
24%
Посмотреть ответы
Нашел ещё один учебник по машинному обучению: https://education.yandex.ru/handbook/ml. В некоторых местах (про Байесовский подход), он мне показался довольно сложным и спутанным. Но, думаю, сойдет как альтернативный источник знаний.
Меня уже долгое время волнует вопрос: зачем люди делают всё новые и новые учебники, вместо того, чтобы сделать ресурс, где одни и те же темы будут объяснены под разными углами. У самого сделать такой ресурс просто не доходят руки :(
Меня уже долгое время волнует вопрос: зачем люди делают всё новые и новые учебники, вместо того, чтобы сделать ресурс, где одни и те же темы будут объяснены под разными углами. У самого сделать такой ресурс просто не доходят руки :(
education.yandex.ru
Учебник по машинному обучению
Онлайн-учебник по машинному обучению от ШАД — для тех, кто не боится математики и хочет разобраться в технологиях ML.
Что могу сказать, пара недель дописывания немного затянулась. К счастью, вчера я уже подал диссертацию, а это значит две вещи. Во-первых, через 2-4 месяца у меня будет защита. Во-вторых, мне надо повторить те статистические методы, что я использовал 😬
Итак, небольшой план на ближайшие пару месяцев:
1. Chi-square test
2. Fisher exact test
3. ANOVA
4. Factor Analysis
5. Structural Equation Modeling
6. Effect sizes, power analysis.
P.S. Покупка графического планшета не сделала создание постов проще, зато можно использовать стилус как элемент фото.
Итак, небольшой план на ближайшие пару месяцев:
1. Chi-square test
2. Fisher exact test
3. ANOVA
4. Factor Analysis
5. Structural Equation Modeling
6. Effect sizes, power analysis.
P.S. Покупка графического планшета не сделала создание постов проще, зато можно использовать стилус как элемент фото.
👍4
pearson1900.pdf
822.9 KB
Я тут попробовал разобраться, почему работает тест хи-квадрат. Чуть позже напишу про него подробнее, но я наконец понял, зачем нужен был матанализ в универе. Я ничего из него не помню и, честно, не смог пока разобраться в хи-квадрате. Если кто-то хочет окунуться в глубины отчаяния, вот оригинальная работа Пирсона по хи-квадрат. В более простом виде, вывод можно посмотреть на вики (https://en.wikipedia.org/wiki/Pearson%27s_chi-squared_test#Derivation). А я, как и сказал, постараюсь на днях описать, а что же это за тест, как его применять, и только в общих чертах, почему же он работает.
Вопрос: как делать посты?
Я решил, что неплохо бы делать посты на тему всяких статистических штук, но я не очень понимаю, как это сделать лучше. С одной стороны в постах будут картинки и формулы, поэтому телеграм не особо-то подходит. С другой же - давать ссылки на колаб-ноутбуки кажется не эффективным, люди просто не будут переходить.
Я решил, что неплохо бы делать посты на тему всяких статистических штук, но я не очень понимаю, как это сделать лучше. С одной стороны в постах будут картинки и формулы, поэтому телеграм не особо-то подходит. С другой же - давать ссылки на колаб-ноутбуки кажется не эффективным, люди просто не будут переходить.
Я тут сделал небольшой шаблон на английском для материалов по статистике. В нем сочетаются две идеи. Первая: материал должен быть интересен для читающих, люди должны понимать, зачем им это читать. Поэтому в пояснениях можно увидеть требования давать примеры использования и давать общие пояснения. Вторая идея - наш мозг работает чередуя периоды возбуждения и релаксации. Поэтому в шаблоне интересный и простой материал (мотивация, примеры) чередуется с более сложным (основные формулы и разбор принципов работы). Надеюсь, что нибудь из этого получится.
👍1
Задача.
Есть три коробки:
первая содержит две золотых монеты.
вторая содержит две серебряные монеты.
третья содержит одну золотую и одну серебряную монету.
После выбора случайной коробки и случайной монеты из нее, выбранная монета оказалась золотой. Какова вероятность того, что вторая монета в выбранной коробке также золотая?
Есть три коробки:
первая содержит две золотых монеты.
вторая содержит две серебряные монеты.
третья содержит одну золотую и одну серебряную монету.
После выбора случайной коробки и случайной монеты из нее, выбранная монета оказалась золотой. Какова вероятность того, что вторая монета в выбранной коробке также золотая?