Comments 14
Этот прием — перемножение переменных — чрезвычайно полезен
В этом разрезе стоит обратить на пакет glmulti для R — он осуществляет автоматический перебор взаимодействий между переменными и дает на выход top-N моделей. Читаю с удовольствием, пишите! Очень интересна тема валидации моделей, и модели со смешанными эффектами. Особенно последнее дурманит мой разум и не дает спать по ночам...
+3
Было бы здорово сразу IPython Notebooks выложить на гитхаб
+2
Вел дан! Для полноты картины можно было бы добавить код отрисовки графиков, а для того графика с параллельными линиями ещё пририсовать внизу график с остатками, для усиления видимости эффекта.
+1
Собрал весь код в ipython notebook.
0
Отличная статья! Еще несколько таких и, уверен, многие перейдут с MathLab/MathCad/Mathematica на подобное окончательно. Тем более, что отрисовка графиков с помощью numphy становится чуть ли не единым стандартом для научных статей.
0
Простите, но в какой области Вы пишите/читаете научные статьи?
Нет, в среднесрочной перспективе не перейдут, это разные инструменты. Да и незачем.
PS: MatLab — от Matrix, а не от Mathematics, там нет h в названии.
Нет, в среднесрочной перспективе не перейдут, это разные инструменты. Да и незачем.
PS: MatLab — от Matrix, а не от Mathematics, там нет h в названии.
+1
Спасибо за статью, очень познавательно и интересно.
В статье рассмотрено несколько Python библиотек: scikit-learn, statmodels и Patsy. Есть ли между ними какая-то принципиальная разница кроме синтаксиса (может, в функциональности или быстродействии)? С какой библиотеки лучше начинать свое изучение Machine Learning?
В статье рассмотрено несколько Python библиотек: scikit-learn, statmodels и Patsy. Есть ли между ними какая-то принципиальная разница кроме синтаксиса (может, в функциональности или быстродействии)? С какой библиотеки лучше начинать свое изучение Machine Learning?
+2
Patsy — это библиотека для подготовки данных и описания моделей, а все расчеты придется делать самостоятельно. В данном примере, с помощью patsy я лишь описал модель в виде удобной формулы, получив на выходе массивы все с теми же исходными данными, но немного в другом формате, которые затем передал для расчета модели в numpy.
Scikit-learn — очень богатая библиотека статистических методов и алгоритмов машинного обучения. Многие люди пользуются только ей, поскольку в ней есть все, что (им) нужно.
Statsmodels немного удобнее людям, переходящим на Python с R. В ней есть только стат.методы, причем по набору методов она сильно пересекается со scikit-learn. Хотя и в той и другой есть что-то уникальное, например, модель для таймсерий ARIMA есть только в statsmodels.
Так что без patsy можно обойтись. Основной анализ данных я обычно провожу с помощью scikit-learn, но и statsmodels бывает полезен и удобен.
Scikit-learn — очень богатая библиотека статистических методов и алгоритмов машинного обучения. Многие люди пользуются только ей, поскольку в ней есть все, что (им) нужно.
Statsmodels немного удобнее людям, переходящим на Python с R. В ней есть только стат.методы, причем по набору методов она сильно пересекается со scikit-learn. Хотя и в той и другой есть что-то уникальное, например, модель для таймсерий ARIMA есть только в statsmodels.
Так что без patsy можно обойтись. Основной анализ данных я обычно провожу с помощью scikit-learn, но и statsmodels бывает полезен и удобен.
+2
Спасибо за статью.
Лучше все таки сразу использовать метрику, оценка на глаз может промахнуться :)
В R после добавления переменной x2*x3 переменные x2 и x3 можно в модели не указывать, т.е. будет y~x1+x2*x3.
Переменная X имеет какой то физический смысл? Из за неравномерного распределения x3 от X, модель с X будет лучше, т.е. y~X+x1+x2*x3
x1 больше похож на шум, надо чистить/преобразовывать или убирать. Т.е. для glm будет лучше y~x2*x3
Лучше все таки сразу использовать метрику, оценка на глаз может промахнуться :)
В R после добавления переменной x2*x3 переменные x2 и x3 можно в модели не указывать, т.е. будет y~x1+x2*x3.
Переменная X имеет какой то физический смысл? Из за неравномерного распределения x3 от X, модель с X будет лучше, т.е. y~X+x1+x2*x3
x1 больше похож на шум, надо чистить/преобразовывать или убирать. Т.е. для glm будет лучше y~x2*x3
+1
В R после добавления переменной x2x3 переменные x2 и x3 можно в модели не указывать, т.е. будет y~x1+x2x3.
верно, а если оставлять в исходном виде (перемножение (взаимодействие) переменных, g <- glm(y ~ x1 + x2 + x3 + x2x3, data=df)), то использовать надо :, а не , так как * это комбинация факторов
верно, а если оставлять в исходном виде (перемножение (взаимодействие) переменных, g <- glm(y ~ x1 + x2 + x3 + x2x3, data=df)), то использовать надо :, а не , так как * это комбинация факторов
0
В этой задаче зависимость от пары факторов (х2 и х3) легко угадать. А что делать в общем случае? (Мне думается, для автоматизации нужен факторный анализ).
+1
Sign up to leave a comment.
Линейные модели: простая регрессия