我想用几个x值来预测y (x1,x2,x3,x4,x5,x6)。线性模型非常简单,但我不知道如何使用更多x变量的loess.smooth、smooth.splines和sm.regression。我尝试使用数据集或矩阵作为x,但这种方式行不通。
x是一个矩阵700x6,而y是一个700个元素数组。
sm1=sm.regression(x, y, h=0.5, add=F, ngrid=300, display="none")Sm.check.data中的错误(x= x,y= y,权重=权重,group = group,:x列太多
ls1=loess.smooth(x, y, span=0.5)simpleLoess(y,x,w,span,度数,FALSE,FALSE,规范化= FALSE,:NA/NaN/Inf在外函数调用(arg 1)中)
我查过了,x里没有任何NA,Nan或Inf。
ss1=smooth.spline(x,y, spar=0.5)xy.coords(x,y)中的错误:'x‘和'y’长度不同
发布于 2014-03-29 23:51:58
这些函数更简单,并为一对x和y变量设计。有合适的替代方案,例如两个名为gam()的函数的形式,一个在包mgcv中,它随R作为推荐包,另一个在 GAM 中,后者是S-PLUS中GAM软件(gam())的R版本,以及Hastie &Tib差拉尼关于通用加法模型的“单”图的原始实现。
这两种方法都适用于所谓的可加性模型,其中的主要假设是模型中的项在附加作用下给出了拟合的响应。如果你想要GAM中基于黄土的平滑,尝试包装gam,但是mgcv有更广泛的惩罚回归样条,并且在单个样条中有一种更现代的平滑选择方法。
https://stackoverflow.com/questions/22737481
复制相似问题