4

たとえば、次の 1 ノット、次数 1 のスプラインを考えてみましょう。

library(splines)
library(ISLR)

age.grid    = seq(range(Wage$age)[1], range(Wage$age)[2])
fit.spline  = lm(wage~bs(age, knots=c(30), degree=1), data=Wage)
pred.spline = predict(fit.spline, newdata=list(age=age.grid), se=T)

plot(Wage$age, Wage$wage, col="gray")
lines(age.grid, pred.spline$fit, col="red")

# NOTE: This is **NOT** the same as fitting two piece-wise linear models becase
# the spline will add the contraint that the function is continuous at age=30
# fit.1  = lm(wage~age, data=subset(Wage,age<30))
# fit.2  = lm(wage~age, data=subset(Wage,age>=30))

スプライン プロット

結び目の前後の線形モデル (およびその係数) を抽出する方法はありますか? つまり、 の切断点の前後の 2 つの線形モデルをどのように抽出できage=30ますか?

summary(fit.spline)利回り係数を使用しますが、(私の理解では)解釈には意味がありません。

4

2 に答える 2

1

fit.splineこのように係数を手動で抽出できます

summary(fit.spline)

Call:
lm(formula = wage ~ bs(age, knots = 30, degree = 1), data = Wage)
Coefficients:
                                 Estimate Std. Error t value Pr(>|t|)    
(Intercept)                         54.19       4.05    13.4   <2e-16 ***
bs(age, knots = 30, degree = 1)1    58.43       4.61    12.7   <2e-16 ***
bs(age, knots = 30, degree = 1)2    68.73       4.54    15.1   <2e-16 ***
---

range(Wage$age)
## [1] 18 80
## coefficients of the first model
a1 <- seq(18, 30, length.out = 10)
b1 <- seq(54.19, 58.43+54.19, length.out = 10)
## coefficients of the second model
a2 <- seq(30, 80, length.out = 10)
b2 <- seq(54.19 + 58.43, 54.19 + 68.73, length.out = 10)
plot(Wage$age, Wage$wage, col="gray", xlim = c(0, 90))
lines(x = a1, y = b1, col = "blue" )
lines(x = a2, y = b2, col = "red")

線形モデルのように勾配の係数が必要な場合は、単純に使用できます

b1 <- (58.43)/(30 - 18)
b2 <- (68.73 - 58.43)/(80 - 30)

切片はwhenの値を意味するのに対し、線形モデルでは切片はwhenfit.splineの値を意味することに注意してください。wageage = 18wageage = 0

于 2015-04-08T22:23:05.097 に答える
0

ノットの抽出は、主に bspline 回帰で自由度を事前に指定するときに行われます。例:

fit.spline = lm(賃金~bs(年齢, 自由度=5), データ=賃金)

attr(bs(age,df=5),"ノット")

33.33333% 66.66667%

  37        48

例は、293 ページの ISLR ブック (使用しているように見える) にあります。

于 2015-10-21T11:36:10.833 に答える