или каким методом пользуются для поиска нелинейных зависимостей??
У R , для этих целей, использовую ppsr пакет (predict power score) который вроде как на деревьях построен и для больших массивов (в отл от корреляции) считается или Ооч медленно или вообще в ошибку может выпасть
У питона (сейчас наткнулся) есть phid который (как я понял) примерно+- тоже самое делает (хз что с производительностью у него на больших таблицах)
Иногда помогает Крамер или логорифмирование как говорят
Собственно отсюда и вопрос, кто что у себя в работе использует?
https://www.r-bloggers.com/2017/07/generalized-additive-models/
Можно построить матрицу диаграмм рассеяния с помощью ggpairs
А почему f_1(x_1) а не k_1*f_1(x_1)?
Хмм Это то что используете ? Просто, условно, при EDA, получили на вход табл, создать гам модель , создать лм, сравнить ановой - несколько геморрней, чем вывести табл с Корр и пср
Если честно я редко использую не линейные модели. Не обязательно делать прят так как тут в блоге написано))
Так вам ещё выбрать функции надо :)
Это обычно то, что запускаю если нелинейная модель нужна, да
Да, так периодически делаю, но порой попадаются табл - 20+ столбцов, для каждой из них построить диаграмму - посмотреть, тож такое себе удовольствие Давайте конкретизирую Сейчас при беглом еда получил на вход табл 50+ столбцов, вывел табл имя столбца х, столбца у, коф Корр и коф пср - отсортировал Возможно, есть более интересные/правильные/сота и ТД методы, которые при моем подходе - не участвует)) Отсюда и вопрос, кто что исп
Не уверен что я правильно понял вопрос… тренирую GBM (xgboost) и смотрю feature importance
Сравнивать с линейной моделью кстати не обязательно, если вы решили моделировать нелинейную зависимость, то линейная вас по видимому изначально чем то не устроила
GAM же (из коробки), судя по названию, не учитывает кросс-эффекты, или я что-то упускаю?
Но фор улу все равно писать придется))))
На сколько я понимаю - да
А если вопрос академический и задача как раз в том, чтобы не учесть взаимодействия
По сути да, это же интерпретируемость, т.е оцифровка значимости (влияния). Это как раз и рассчитывает ppsr (правда там деревья а не градиент)
Интересно получилось бы ))
Деревья - прошлый век, у них же обычно большая variance, лучше лес или гбм. Я вижу это так: если (из-за большой variance) я не могу доверять предсказаниям деревьев для таргет переменной, почему я должен доверять деревьям в плане variance importance. Variance importance имеет смысл использовать если она получена из «хорошей модели» (хорошеть определяется на hold-out
Не узнал вас в мантии… Если на кросс-эффекты пофиг, то тогда не вижу почему бы не ГАМ
В точку Я тоже пришел к выводу что если psr на деревьях, то у него наследуются проблемы, например на большом фрейме с зашумленными данными у деревьев скор может спокойно уступать лм
Если вас не интересует значимость в классическом понимании, а достаточно importance можно попробовать boruta
Тогда следующая ступень: почему бы и не линейная модель от f(X). Вплоть до radial basis function можно извращаться!
А в этом случае (мол, на деревья засматриваетесь) SHAP на бустинге предлагаю
Добавить warped регрессию и горя не знать вообще
У shap есть недостатки? Вроде долго считается? Ещё что-то?
Идеал - не строить модель а вывести список с коэф, что бы понять, на что смотрим в первую очередь, что чуть позже Если с модели брать, то как то в плане логики у меня диссонанс возникает Типа строим модель (хорошую 😈), смотрим важные для нее признаки, возвращаемся к еда и работаем с этими фичами?
Я не знаю о недостатках shap, но я и не залазил ему в математику
Кстати. Вот про него слышал, но не изучал и не применял. Самое время думаю )) В моем представлении, это что то из разряда pca было...
Это враппер над случайным лесом, который добавляет случайные фичи и фильтрует реальные фичи с учётом значимости рандомных
Типа если у рандомной выше значимость то факт фичу отметать ?
Да, может получится диссонанс - для того чтобы сделать модель требуется модель. Но я отвечал на вопрос «найти нелинейные зависимости», а для чего это будет дальше использоваться не задумывался: можно более детально изучать в ручном режиме и какие-то выбросить, или построить на них GAM (возможно вручную добавив кросс-эффекты) или просто оставить в анкете только топ-предикторы а остальные выкинуть как несущественные.
1. GAM https://t.me/r_in_action/239 Взаимодействие там есть, читаем книги и лекции. 2. RuleFit https://cran.r-project.org/web/packages/xrf/readme/README.html
1. Так там все взаимодействия надо вроде как вручную добавлять, при большом количестве предикторов рука устанет все тестить
Сам пока не пробовал, но Макс Кун хвалил https://github.com/mayer79/hstats
Обсуждают сегодня