帮助我拟合此非线性多元回归方法,该回归方法已经克服了之前的所有努力


9

编辑:自从发布此帖子以来,我在这里还跟了一个额外的帖子。

以下是本文的摘要:我正在研究一个模型,并尝试了线性回归,Box Cox变换和GAM,但并没有取得太大进展

R目前,我正在使用模型来预测大联盟(MLB)级别的小联盟棒球运动员的成功。因变量,进攻职业生涯胜过替补球员(oWAR),是美国职业棒球大联盟(MLB)级别成功的代名词,用球员在其职业生涯中参与的每场比赛的进攻贡献总和来衡量(详细信息此处-http ://www.fangraphs.com/library/misc/war/)。自变量是z得分的小联盟进攻变量,用于统计数据,被认为是在大联盟级别取得成功的重要预测指标,包括年龄(年轻球员的成功率更高,他们的前景更好),淘汰率[SOPct ],步行率[BBrate]和调整后的产量(进攻性产品的全球量度)。另外,由于次要联赛有多个级别,因此我为次要联赛的比赛水平提供了虚拟变量(双A,高A,低A,新秀和短赛季,三A [主要联赛之前的最高水平]作为参考变量])。注意:我已经将WAR重新缩放为一个从0到1的变量。

变量散点图如下:

散点图

作为参考,因变量oWAR具有以下图表:

因变量图

我从线性回归开始,oWAR = B1zAge + B2zSOPct + B3zBBPct + B4zAdjProd + B5DoubleA + B6HighA + B7LowA + B8Rookie + B9ShortSeason获得了以下诊断图:

linearRegressionDiagnostics

存在明显的问题,即缺乏残差的无偏性和缺乏随机变化。此外,残差不正常。回归结果如下所示:

linearRegressionResults

遵循上一个线程中的建议,我尝试了Box-Cox转换,但没有成功。接下来,我尝试了带有日志链接的GAM,并收到了以下图表:

花键

原版的 诊断检查

新的诊断图 GAMDiag

样条曲线似乎有助于拟合数据,但诊断图仍显示拟合差。编辑:我以为我原来是在看残差与拟合值,但我不正确。最初显示的图被标记为“原始”(上方),我后来上传的图被标记为“新诊断图”(也在上方)

GAM结果

[R2 模型的数量增加了

但是该命令产生的结果gam.check(myregression, k.rep = 1000)并不令人满意。

GAMResults2

谁能建议该模型的下一步?我很高兴提供您认为可能对理解我到目前为止所取得的进步有用的任何其他信息。感谢您的任何帮助,您可以提供。


2
我在R的GAM入门入门中找到了代码-www3.nd.edu/~mclark19/learn/GAMS.pdf代码:library(car)scatterplotMatrix(mydata [,c(1,1:8)],pch = 19,cex = .5,reg.line = F,lwd.smooth = 1.25,spread = F,ellipse = T,col = c('gray60','#2957FF','#FF8000'),col.axis ='gray50')
zgall1

1
您可以共享您的数据集吗?另外,该散点图矩阵为+1。太好了
Zach 2013年

1
太糟糕了,它看起来像一个有趣的数据集。我的建议是尝试其他一些机器学习算法,例如随机森林。
Zach 2013年

2
随机森林基于决策树。请查看R中的randomForest软件包以及随机森林的维基百科页面:en.wikipedia.org/wiki/Random_forest
Zach

2
“因变量...被测量为球员在其职业生涯中所参与的每场比赛的进攻贡献之和。” 这跳给我。一个严重的混淆因素是玩家已经玩了多长时间,这两者都在于[a]更长的游戏时间意味着更多的时间来“收集” oWAR [b]更好的玩家可能会玩更长的时间。
Affine

Answers:


6

很好 我认为这种情况适合比例赔率半参数序数逻辑模型。lrmR rms软件包中的功能将适合该模型。目前,您可能需要四舍五入ÿ只有100-200级 不久rms将发布具有新功能的的新版本,该功能orm可以有效地允许模型中的数千个截距,即ÿ完全连续[更新:2014年出现]。比例赔率模型βs不变于 ÿ转变了。这意味着分位数也是不变的。当您想要一个预测均值时,ÿ 假定在适当的间隔范围内。


1
从级别上讲,您是说将Y变量装到100-200个存储桶中吗?如果是这样,是否有选择箱尺寸的首选方法?它们应该大小相等吗?
zgall1 2013年

1
除非我们有连续的解决方案,否则请暂时进行装箱。您可以将其分为100个百分位数,例如require(Hmisc); cut2(y, g=100, levels.mean=TRUE)
Frank Harrell 2013年

当您说rms即将发布新版本的时,您是否知道何时发布?
zgall1 2013年

如果您使用linux,我现在可以给您,否则请等待2周。
Frank Harrell 2013年

我不使用Linux,所以我不得不等待。请让我知道它何时可用。
zgall1 2013年

1

我认为,重新设计因变量和模型可以在这里取得丰硕的成果。从中查看您的残差lm(),看来主要问题是职业WAR高(定义为所有WAR之和)的球员。请注意,您的最高预测(定标)WAR为0.15(最大值为1)!我认为此因变量有两件事加剧了这个问题:

  • 玩时间更长的玩家有更多时间来收集战争
  • 好的玩家往往会留在更长的时间,因此有机会有更长的时间来收集战争

但是,在预测的背景下,将时间明确地用作控制(无论以任何方式,无论是权重还是计算平均职业WAR的分母)作为时间,都会适得其反(我还怀疑它的影响也将是非线性的)。因此,我建议使用lme4或在混合模型中不太明确地建模时间nlme

您的因变量将是季节性WAR,而您会有不同的数字 Ĵ=一世 每个球员的赛季数 一世。该模型将玩家作为随机效果,并且遵循以下原则:

sw ^一个[R一世Ĵ=α+σ一世2+<其他东西>+ε一世Ĵ

使用lme4,这看起来像
lmer(sWAR ~ <other stuff> + (1|Player), data=mydata)

您仍然可能需要继续 sw ^一个[R,但我认为这对反馈循环有所帮助。


我不确定我是否完全理解。如果因变量是季节性WAR,则自变量是什么?每个球员都有相同的小联盟统计数据吗?我们本质上是在说小联盟统计数据A可以导致大联盟WAR B,C,D和E吗?
zgall1 2013年

此外,自发布此模型以来,我还提供了另一篇帖子,您可能想在这里查看:stats.stackexchange.com/questions/61711/…–
zgall1
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.