преобразование переменных для использования для прогнозирования в регрессионной модели - PullRequest
0 голосов
/ 12 февраля 2020

У меня есть следующий набор данных, я буду sh, чтобы найти лучшие переменные среди pred1, pred2, pred3, pred5 и pred6, чтобы построить регрессионную модель для прогнозирования resp1 и resp2.

Пока что я выясняю, что pred2 похоже на тот, который используется для resp1.

library(ggplot2)

testdat <- read.csv("testdat.csv", header = T)

plot(testdat$pred2,testdat$resp1)
m1<-lm(resp1~pred2, data=testdat)
smooth <- smooth.spline(testdat$pred2,testdat$resp1, spar=1)
lines(smooth, col='red', lwd = 2, lty = 2)

enter image description here

Я пытался ^2, sqrt, log сделать преобразования, когда я проверяю summary(m1), нет Что бы я ни пытался, R-squared кажется не выше 53%, отчаянно.

То же самое с преобразованием переменных для предсказания resp2, не выше 66%

plot(testdat$pred3,testdat$resp2)

m1<-lm(resp2~pred3, data=testdat)
smooth <- smooth.spline(testdat$pred3,testdat$resp2, spar=1)
lines(smooth, col='red', lwd = 2, lty = 2)

enter image description here

Образец набора данных: https://www.filehosting.org/file/details/846977/testdat.csv

Рекомендуется иметь более одной переменной, если вы пытаемся сгенерировать регрессионную модель для прогнозирования resp1, а затем resp2, используя одну или несколько переменных из pred1, pred2, pred3, pred5 и pred6. Что бы вы сделали?

1 Ответ

0 голосов
/ 12 февраля 2020

Если вы хотите использовать линейную регрессию, вы можете выполнить тест RESET для ваших данных и поработать оттуда:

resettest(resp1~pred2, data=testdat, power = 2:3, type = "regressor)

Если значение p.value ниже 0,05, то вам нужно изменить модель. И используйте скорректированный R2 вместо R2 для сравнения моделей.

В противном случае может потребоваться дополнительная информация о ваших данных (например, какова их природа?)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...