【发布时间】:2020-02-12 05:55:31
【问题描述】:
我有以下数据集,我希望在 pred1、pred2、pred3、pred5 和 pred6 中找到最好的变量来构建回归模型来预测 resp1 和 @987654332 @。
到目前为止,我只发现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)
我尝试^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)
样本数据集: https://www.filehosting.org/file/details/846977/testdat.csv
如果您尝试生成回归模型来预测resp1,然后使用pred1、pred2、pred3 中的一个或多个变量来预测resp2,则高度考虑拥有多个变量。 pred5 和 pred6。你会怎么做?
【问题讨论】:
-
您的问题是什么?你有理由认为 R 平方应该高于 0.53 吗?您是否将自己限制在单个变量的线性回归上?由于您正在绘制样条曲线,您是否对基于样条曲线的模型感兴趣?
-
我只是试图找到最好的变量来预测
resp1和resp2。我希望使用回归模型。@Gregor-reinstateMonica -
我还是不明白你需要什么帮助。你考虑样条回归吗?还是你想坚持线性回归?如果模型中有多个变量呢?你只关心R^2吗?或者您是否担心过度拟合,并希望使用测试集来确保您的模型是通用的?拟合模型的教科书很多……你希望这里有什么,教程或教科书的总结?这不是这个网站的真正用途......
-
如果您尝试生成一个回归模型来预测
resp1,然后通过使用pred1、pred2中的一个或多个变量来预测resp2,则高度考虑具有多个变量、pred3、pred5和pred6。你会怎么办? @Gregor-reinstateMonica -
您会说您正在寻找变量选择方法吗?我会使用 LASSO 或 glmnet 来选择变量,请参阅
glmnet包。对于您展示的第二张图片,它显然是非线性的,因此我可能会使用 mgcv 包中的 GAM。
标签: r regression data-analysis prediction