3
我有一些數據是使用受限三次樣條建模的。我在rms
包中使用rcs
轉換函數來生成線性模型的轉換變量。這是一個使用5節的例子。使用受限三次樣條的新數據的預測值
library('rms')
my_df <- data.frame(
y = -4 * -100:100 + -1.5 * (-100:100)**2 + 3 * (-100:100)**3 + rnorm(201, 0, 1e5),
x = -100:100
)
mod <- lm(y ~ rcs(x, 5), data = my_df)
我適合數據後,我想找到的預測y
值x
值的特定領域。這裏就是我現在做的:
new_data <- data.frame(x = -3:3)
predict(mod, newdata = new_data)
然而,這將產生警告消息:
Warning message:
In rcspline.eval(x, nk = nknots, inclx = TRUE, pc = pc, fractied = fractied) :
5 knots requested with 7 unique values of x. knots set to 5 interior values.
這是什麼意思,什麼是怎麼回事?我預計節結點應該已經在mod
中定義,所以我不明白爲什麼它似乎試圖找到我給它的七個x
值的新結。我可以通過在new_data
中提供更多的x
值,並忽略那些我不需要的值來避免警告消息,但我關心的是predict
實際上在做什麼。
這是記錄在任何地方嗎? – user102162