2015-02-20 3 views
1

Я пытаюсь использовать функцию MFP в R аналогично тому, как я использую эквивалентную команду в Stata. Обычно при выполнении линейной регрессии в Stata я использую команду mfp перед командой regress, а Stata дает «лучшие» преобразования ковариатов в модели регрессии. Например. в Stata я использую командуФункция MFP с LM в R howto

mfp: regress variable1 variable2 

Там, кажется, функция mfp в библиотеке (mfp) в R, который я хотел бы использовать.

например. in R:

summary(mfp(variable1 ~ fp(variable2))) 

Это дает мне результаты регрессии, но R заставляет его каким-то образом превратиться в модель GLM. Недостатком этого является то, что я не получаю общее R-квадрат по сравнению с линейной моделью (LM).

Кто-нибудь знает, как сделать LM с функцией MFP в R?

+1

Я не» Здесь нет никаких подробностей о реализации R, но дайте общее замечание: широкое отношение должно состоять в том, что R вполне может иметь свои самые разные способы ведения дел. Это больше не обещает вести себя как другое программное обеспечение, чем наоборот. Я пользователь Stata, поэтому не партизан здесь, просто полностью сочувствую возможности совершенно разных стилей. Все, что было сказано, похоже на вопрос о необходимости более тщательного изучения документации, а не в смысле проблемы программирования. –

ответ

1

Я не знаю регрессии в R, но на этот вопрос можно ответить с первых принципов в любом пакете статистики. R-квадрат является квадратом корреляции Пирсона между наблюдаемыми и прогнозируемыми ответами в множественной линейной регрессии, которая включает в себя перехват. (например, Draper and Smith, 1966, стр. 62). Итак, 1) Добавьте предсказанные значения из R-регрессии в набор данных; 2) вычислить корреляцию Пирсона r между ответами & Прогнозируемые значения; 3) Площадь r.

Литература: NR Draper and H Smith (1966) Прикладной регрессионный анализ, Wiley, NY. http://en.wikipedia.org/wiki/Multiple_correlation

1

Из функции справки из мфу, следует (используя пример кода):

model1 <- mfp(variable1 ~ fp(variable2), family=gaussian, data=...) 
summary(model1) 

Вы можете вычислить R-квадрат, используя следующий код:

cor(model1$Y, model1$fitted.values)^2 
Смежные вопросы