Приложение: "group_by_simpleLM.cpp"

& A возникает изКак сделать group_by и lm быстрыми? где OP пытался сделать простую линейную регрессию на группу для большого фрейма данных.

Теоретически, серия групповой регрессииy ~ x | g эквивалентно одной объединенной регрессииy ~ x * g, Последнее очень привлекательно, потому что статистический тест между различными группами прост. Но на практике сделать эту большую регрессию не легко в вычислительном отношении. Мой ответ на связанные пакеты отзывов и ответовspeedlm а такжеglm4, но отметил, что они не могут хорошо решить эту проблему.

Большая проблема регрессии трудна, особенно когда есть факторные переменные. Это может объяснить, почему многие люди отказываются от этой идеи и предпочитают разбивать данные по группам и подбирать модели по группам. Нет смысла перечислять методы регрессии по группам (см.Линейная регрессия и группировка по R). Меня волнует скорость.

Для простой линейной регрессии какy ~ x | gразделение данных по группам с использованием стандартных процедур подбора моделей, таких какlm является убийцей производительности. Прежде всего, поднабор большого фрейма данных неэффективен. Во-вторых, стандартные процедуры подгонки модели следуют приведенной ниже процедуре, что накладные расходы на полезные вычисления регрессии.

разобрать формулу модели до объекта «термины» (используяterms.formula);построить каркас модели (используяmodel.frame.default);построить матрицу модели (используяmodel.matrix.default).

Есть умные вычислительные хитрости для простой линейной регрессии. Как я продемонстрировал вБыстрая попарная простая линейная регрессия между переменными в кадре данныхметод ковариации очень быстрый. Можем ли мы адаптировать его к группе с помощью простой линейной регрессии черезgroup_by_simpleLM функционировать?

Ответы на вопрос(1)

Ваш ответ на вопрос