我正在尝试使用R 中的 spline2 包来构建单调样条曲线。
我在评估模型以获取自变量的新值时遇到了麻烦。一般来说,我很难掌握 R 对“预测”的处理及其与 spline2 的关系,以及如何使用生成的 bs 对象。
我尝试按照使用 spline1 的示例进行操作。我的数据位于名为 BRIyII 的数据框中,具有自变量 t 和因变量 P,因此:
plot(BRIyII$t,BRIyII$P)
所以我这样做:
knots=c(9)
myMat=mSpline(BRIyII$t, knots = knots, degree = 3, intercept = TRUE)
mylm=lm(BRIyII$P~myMat)
现在,如果我们:
pr = predict(mylm,data.frame(BRIyII$t))
points(BRIyII$t,pr,col = "red")
所以我的问题是:
1-由于最右边的预测值(红点)低于其左边的值,我是否误解了 m 样条的“单调”性质?
2- 如何评估 BRIyII$t 中定义的值以外的样条曲线?我尝试了几种组合,但我缺乏 R 语法知识。理想情况下,我想做类似的事情:
newdata=seq.int(0,41.5,0.1)