0

40 個の内部ノットを持つ 106 個のデータ セットに対して次数 4 の B スプライン基底を作成しようとしています。私がこれまでに見たすべてのプロットされた基底関数は、非常に滑らかできれいに広がった曲線で構成されています. これは、ノットと比較してデータ ポイントの比率が非常に低いという特性ですか、それとも何かひどく間違ったことをしているのですか?

また、プロパティの場合、スプラインの基底を作成する前に、さらにデータを生成する必要がありますか?

require(splines)
set.seed(100)
x = sort(runif(106, 91.78525, 123))
equidistant.knots = seq(min(x) + 0.761, max(x) - 0.761, length=40)
equidistant.ret = bs(x, knots = equidistant.knots, degree = 4, intercept = FALSE, Boundary.knots = range(x))
plot(equidistant.ret[,1]~x, ylim=c(0,max(equidistant.ret)), type='l', lwd=2, col=1, 
 xlab="Cubic B-spline basis", ylab="")
for (j in 2:ncol(equidistant.ret)) lines(equidistant.ret[,j]~x, lwd=2, col=j)

よりスパイキーな基底関数

4

0 に答える 0