Не стоит приписывать другим людям воображаемые вами намерения.
Комментарий по каким-то причинам попал на модерацию. Одобрил я его сразу после выходных как только добрался до компьютера.
И минус тоже не я поставил.
Тут очень многое зависит от данных: их полноты, консистентности, содержащейся в них неопределенности и, конечно же, формы распределений.
Если данные идеальны, то для построения модели с 10 переменными, вам нужно ровно 10 точек данных.
Но в реальной жизни идеальные данные не встречаются. В них всегда есть неполнота и случайность.
Обычные бизнесовые данных зачастую происходят из экспоненциального семейства распределений (нормального, Пуассона, Бернулли, логистического и т.д.).
Для них можно использовать эмпирическое правило: N = C * p2,
где N — кол-во точек данных, p — размерность данных (кол-во признаков), С — константа, зависящая от имеющейся в данных неопределенности, по сути от модельной ошибки или степени невязки между параметрами и прогнозируемой переменной (обычное значение 3-10).
Так что если у вас 30 признаков, то желательно иметь не менее 3000 точек, а при 10 признаках — не менее 300.
[Сжатие] 10:1 позволяет уменьшить размер хранимых данных (reduction ratio) на 90%, в то время как коэффициент в 50:1 увеличивает этот показатель на 8% и дает 98% reduction ratio (см. график ниже). Но это только 8% разницы…
Вот бы вам зарплату платили по таким формулам!
Курс рубля к доллару 60:1 дает reduction rate 98.3%, но мы вам пересчитали зарплату по курсу 6000 рублей за доллар, который увеличивает reduction rate до 99.98%. Обратите внимание, это даже больше на целых 1.68%!
Вот держите ваши 30 долларов.
Расскажите, пожалуйста, более подробно, как именно хранятся профили и сессии в базе: это два поля — ключ и профиль целиком, например, как json, или же несколько атрибутов профиля хранятся в кортеже или все атрибуты? А что вы предлагаете делать, когда структура атрибутов меняется?
Нигде в статье не написано, что в gbm реализована логит-модель.
Вы сами-то свою статью читали?! Вот цитаты:
В этой статье речь пойдет о логистической регрессии и ее реализации в одном из наиболее производительных пакетов машинного обучения "R" — "XGboost"
или
Сразу оговорюсь, что в "R" существует несколько линейных функций для обучения логит-модели, таких как "glm" из стандартного пакета функций, но здесь мы рассмотрим более продвинутый вариант, имплементированный в пакете "XGboost".
Огромное количество ручной работы, ничем не обоснованного хаотического выбора (например, почему смотрим только чеки, а не на все остальное?) и полное отсутствие доказательств и выводов.
И еще очень удобно, что в самом начале сразу заданы 10 счетов, на которые приходят нелегальные и отмытые деньги. Чиновник украл деньги, перечислил их дизайнеру за честно выполненный дизайн загородного дома чиновника. И вот псевдо-аналитики с помощью Palantir нашли этого самого дизайнера и "как бы" намекают, что он деньги-то и украл. А чиновник сидит в своем новом доме и похихикивает.
Можно взять любого работающего в России (хоть директора, хоть уборщицу или мясника на рынке) и провести к нему цепочку денег из Роснефти или Газпрома — это вообще ничего не доказывает.
Любой более-менее зарабатывающий бизнесмен в любой стране владеет многими юрлицами, постоянно открывая новые и время от времени закрывая существующие, и совсем не потому что он что-то скрывает, уходит и выводит. Нет, это совершенно нормальная бизнес деятельность. Юрлица как раз и предназначены для отделения разных видов деятельности, разграничения полномочий и ответственности, правовой организации деловых партнерских взаимоотношений, определения и изоляции финансовых результатов.
Короче, г… но этот ваш Palantir. Мы когда обналищиков и транзитчиков вычисляли и то более умными алгоритмами пользовались, без всяких экспертов и аналитиков, которые даже не могут формально описать, чем обнальщик от транзитчика отличается.
Patsy — это библиотека для подготовки данных и описания моделей, а все расчеты придется делать самостоятельно. В данном примере, с помощью patsy я лишь описал модель в виде удобной формулы, получив на выходе массивы все с теми же исходными данными, но немного в другом формате, которые затем передал для расчета модели в numpy.
Scikit-learn — очень богатая библиотека статистических методов и алгоритмов машинного обучения. Многие люди пользуются только ей, поскольку в ней есть все, что (им) нужно.
Statsmodels немного удобнее людям, переходящим на Python с R. В ней есть только стат.методы, причем по набору методов она сильно пересекается со scikit-learn. Хотя и в той и другой есть что-то уникальное, например, модель для таймсерий ARIMA есть только в statsmodels.
Так что без patsy можно обойтись. Основной анализ данных я обычно провожу с помощью scikit-learn, но и statsmodels бывает полезен и удобен.
Важным свойством оценок по МНК является существование только одного локального минимума, совпадающего с глобальным.
Вообще говоря, это не верно. Минимум будет единственным только в случае выпуклости оптимизируемого функционала. А он будет выпуклым далеко не для всех распределений, поэтому априорные сведения о случайной ошибке все же не будут лишними.
Поэтому оценка a* является единственной.
При фреквентистском подходе к оцениванию, оценка по МНК для выпуклого функционала будет единственной.
Но это, вообще говоря, не единственная оценка искомого параметра a.
А если перейти на байесовы методы, то a вообще является распределением.
Совершенно справедливое замечание. Спасибо.
Для меня любое упоминание МНК допустимо только в контексте независимых величин с одинаковой дисперсией.
Но поскольку предложение я сформулировал наоборот — от МП к МНК — то ваша поправка имеет существенное значение.
В паскале была функция sqr(x) = x2
Не стоит приписывать другим людям воображаемые вами намерения.
Комментарий по каким-то причинам попал на модерацию. Одобрил я его сразу после выходных как только добрался до компьютера.
И минус тоже не я поставил.
Тут очень многое зависит от данных: их полноты, консистентности, содержащейся в них неопределенности и, конечно же, формы распределений.
Если данные идеальны, то для построения модели с 10 переменными, вам нужно ровно 10 точек данных.
Но в реальной жизни идеальные данные не встречаются. В них всегда есть неполнота и случайность.
Обычные бизнесовые данных зачастую происходят из экспоненциального семейства распределений (нормального, Пуассона, Бернулли, логистического и т.д.).
Для них можно использовать эмпирическое правило: N = C * p2,
где N — кол-во точек данных, p — размерность данных (кол-во признаков), С — константа, зависящая от имеющейся в данных неопределенности, по сути от модельной ошибки или степени невязки между параметрами и прогнозируемой переменной (обычное значение 3-10).
Так что если у вас 30 признаков, то желательно иметь не менее 3000 точек, а при 10 признаках — не менее 300.
Вот бы вам зарплату платили по таким формулам!
Курс рубля к доллару 60:1 дает reduction rate 98.3%, но мы вам пересчитали зарплату по курсу 6000 рублей за доллар, который увеличивает reduction rate до 99.98%.
Обратите внимание, это даже больше на целых 1.68%!
Вот держите ваши 30 долларов.
Lua
Денис. спасибо. А когда примерно появится в открытом доступе Bastida?
Расскажите, пожалуйста, более подробно, как именно хранятся профили и сессии в базе: это два поля — ключ и профиль целиком, например, как json, или же несколько атрибутов профиля хранятся в кортеже или все атрибуты? А что вы предлагаете делать, когда структура атрибутов меняется?
Вы сами-то свою статью читали?! Вот цитаты:
или
И опять неверно. Линейная регрессии не требует нормальности ошибок.
После этих слов нарисованы неправильные матрицы:
Их не получится перемножить. Вы забыли θ0.
И еще очень удобно, что в самом начале сразу заданы 10 счетов, на которые приходят нелегальные и отмытые деньги. Чиновник украл деньги, перечислил их дизайнеру за честно выполненный дизайн загородного дома чиновника. И вот псевдо-аналитики с помощью Palantir нашли этого самого дизайнера и "как бы" намекают, что он деньги-то и украл. А чиновник сидит в своем новом доме и похихикивает.
Можно взять любого работающего в России (хоть директора, хоть уборщицу или мясника на рынке) и провести к нему цепочку денег из Роснефти или Газпрома — это вообще ничего не доказывает.
Любой более-менее зарабатывающий бизнесмен в любой стране владеет многими юрлицами, постоянно открывая новые и время от времени закрывая существующие, и совсем не потому что он что-то скрывает, уходит и выводит. Нет, это совершенно нормальная бизнес деятельность. Юрлица как раз и предназначены для отделения разных видов деятельности, разграничения полномочий и ответственности, правовой организации деловых партнерских взаимоотношений, определения и изоляции финансовых результатов.
Короче, г… но этот ваш Palantir. Мы когда обналищиков и транзитчиков вычисляли и то более умными алгоритмами пользовались, без всяких экспертов и аналитиков, которые даже не могут формально описать, чем обнальщик от транзитчика отличается.
Scikit-learn — очень богатая библиотека статистических методов и алгоритмов машинного обучения. Многие люди пользуются только ей, поскольку в ней есть все, что (им) нужно.
Statsmodels немного удобнее людям, переходящим на Python с R. В ней есть только стат.методы, причем по набору методов она сильно пересекается со scikit-learn. Хотя и в той и другой есть что-то уникальное, например, модель для таймсерий ARIMA есть только в statsmodels.
Так что без patsy можно обойтись. Основной анализ данных я обычно провожу с помощью scikit-learn, но и statsmodels бывает полезен и удобен.
Вообще говоря, это не верно. Минимум будет единственным только в случае выпуклости оптимизируемого функционала. А он будет выпуклым далеко не для всех распределений, поэтому априорные сведения о случайной ошибке все же не будут лишними.
При фреквентистском подходе к оцениванию, оценка по МНК для выпуклого функционала будет единственной.
Но это, вообще говоря, не единственная оценка искомого параметра a.
А если перейти на байесовы методы, то a вообще является распределением.
А вообще, почитайте про обобщенные линейные модели, там очень много интересного.
Для меня любое упоминание МНК допустимо только в контексте независимых величин с одинаковой дисперсией.
Но поскольку предложение я сформулировал наоборот — от МП к МНК — то ваша поправка имеет существенное значение.
В составе mxnet есть аналогичный пример, так что можете самостоятельно поэкспериментировать.