[英]Monotone spline in R
我正在嘗試在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)
我將解決問題1,因為評論中已解決了問題2。
splines2文檔將M樣條基礎稱為“單調回歸樣條”基礎,但是我認為這具有誤導性。 估計單調回歸樣條的方法是使用I樣條基礎, 但要限制回歸系數為非負數 。 I樣條曲線是M樣條曲線的積分,因此不會減少。 因此,它們的任何非負線性組合也將不變。 因此,您可以將splines2 :: iSpline與nnls :: nnls之類的非負回歸方法一起使用,以估計單調回歸函數。
有關M樣條,I樣條和單調回歸的說明,請查看:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.