1
スプライン関数
物理などの実験で、入力パラメータを変化させて出力を観測するものを考える。このとき、入力パラメータ を離散的に変化させて出力を測定するのが普通である。つまり、元の現象が何であれ、我々が実験や統計の結 果として入手できるデータは離散的なものである。よって、測定しなかった入力パラメータに対する出力が欲 しい場合は、得られた離散的なデータから推定する必要がある。
古典的な補間法としてEdward Waringにより提唱され、今日Lagrangeの補間法として知られているもの がある。これはn個の点{(xi, yi)}ni=1を多項式により補間するものである。但し、各xiは互いに異なるもの とする。多項式piで、pi(xj) = δijなるものが存在すれば P (x) = n ∑ i=1 yipi(x) (1) として求める補間多項式が得られる。このようなpiは pi(x) = n ∏ j=1 j6=i x− xj xi− xj (2) とすることで実現できる。 このように補間は充分次数の高い多項式を用意すれば必ず実現できる。ところが、Rungeは図1に示すよ うな例を挙げ、多項式による近似が必ずしも良い近似とはならないことを指摘した。これは一つの多項式で全 体を表そうとしたことによる問題である。そこで、単一の多項式によって補間するのでなく、区分的多項式に よって補間する方法の研究が進められた。 本章では[1]、[2]を参考に、スプラインによる補間や平滑化、並びに補外の方法を述べる。この章を通して、 特に断らない限り実数値関数のみを扱う。 実数の増加列: a = ξ0< ξ1· · · < ξn= b を考える。[a, b]上の連続関数で、各区間[ξi−1, ξi]に制限したときに多項式となるようなものを区分的多項式 図1 y = 1/(1 + 25x2) (点線)を5点−2, −1, 0, 1, 2で補間したもの(実線)。
と呼ぶ。今の場合、区分的多項式Pはn個の多項式p0, . . . , pn−1を用いて P (x) = p0(x) ξ0≤ x < ξ1, .. . pn−1(x) ξn−1≤ x < ξn と定義されるが、それぞれの次数を考えてその最大値を区分的多項式の次数とする*1: deg P := max 0≤i≤n−1deg pi. 高々 k次の区分的多項式で、Ck−1(a, b)に属するものを、高々 k次のスプライン関数と呼ぶ。スプライ ンとは、元々は製図用具の名前で曲線定規の一種である。{ξi}ni=1−1 のことを節点あるいはノットと呼び、 ξ = (ξ1, . . . , ξn−1)をノット・ベクトルと呼ぶ。高々k次のスプライン関数全体はR上の線型空間を成すが、 これをS (k; ξ)やS (k; ξ0, . . . , ξn)などと表す。次数やノットは省略することもある。 S (k; ξ)の要素sを任意に取る。これは、各区間[ξi−1, ξi]上では多項式であるから、区間[a, b]からノット 全体{ξi}ni=0を除いた集合上ではk回連続微分可能である。sの次数に注意すれば、s(k)が階段関数であるこ とがわかる。そこでs(k)を、区間[0,∞)の指示関数Hを用いて s(k)(x) = ck+ n∑−1 i=1 diH(x− ξi), x∈ [a, b] \ {ξi}ni=0 と表す。両辺をk回積分することで s(x) = k ∑ j=0 cjxj+ 1 k! n∑−1 i=1 di(x− ξi)k+, x∈ [a, b] (3) なる表示が得られる。ここに(x− ξi)k+は切断冪級数で (x− ξi)k+= { H(x− ξi) k = 0 ( max{0, x − ξi} )k k = 1, 2, . . . である。n + k個のパラメータ{ci}kj=0,{di}ni=1−1によってS (k; ξ)の要素が区別されるから、S (k; ξ)はR 上n + k次元である。 (3)はS (k; ξ)の要素の表示の一つであるが、実はこの表示は数値計算上好ましくないため、より適した基 底を考える必要がある。次節で述べるBスプラインは、この目的に合致したものである。
1.1
定義
S (k; ξ0, . . . , ξn)の基底として台の狭いものを取りたい。具体的には、0 ≤ p < q ≤ nに対し、その台が [ξp, ξq]であるようなS (k; ξ0, . . . , ξn)の要素を考える。もしsがこのような関数であれば s(x) = q ∑ i=p di(x− ξi)k+, x∈ [ξp, ξq] *10 の次数は−∞ と考える。という形をしているはずである。但し各diは q ∑ i=p di(x− ξi)k = 0, x≥ ξq を充たさなければならない。これは q ∑ i=p diξji = 0, j = 0, 1, . . . , k (4) と同値な条件である。 ここで、高々n− 1次の多項式fとn個の互いに異なる点x1, . . . , xnを用意し、{(xi, f (xi))}ni=1に対して Legendreの補間法を適用する。得られた多項式をP とすると、P− f は高々n− 1次の多項式で、相異なる n個の零点{xi}ni=1を持つ。よってP = f である。この結果を単項式に適用して xl= n ∑ i=1 xli n ∏ j=1 j6=i x− xj xi− xj , l = 0, 1, . . . , n− 1 を得るが、この両辺のxn−1の係数を比較すれば δl,n−1 = n ∑ i=1 xli n ∏ j=1 j6=i 1 xi− xj , l = 0, 1, . . . , n− 1 (5) がわかる。 (5)は、q = p + k + 1のときに(4)で係数diを di= p+k+1∏ j=p j6=i 1 ξi− ξj , i = p, p + 1, . . . , p + k + 1 と定めれば良いことを示唆している。 以上を踏まえて、スプライン関数Bk p を Bpk(x) := p+k+1∑ i=p p+k+1∏ j=p j6=i 1 ξj− ξi (x− ξi)k+, x∈ R, p = 0, 1, . . . , n − k − 1 (6) で定義する。これはBスプラインと呼ばれる。添え字のpは、台が[ξp, ξp+k+1]であることを示している。図 2にB1, B2, B3の概形を示した。
1.2
基底としての
B
スプライン
B ス プ ラ イ ン の B は 基 底 の 意 味 で あ り 、S (k; ξ0, . . . , ξn) の 基 底 を 成 す 。た だ 、こ の ま ま で は S (k; ξ0, . . . , ξn)の次元がn + kであるのに対し、Bスプラインはn− k個しか定義されていない。そこで 2k個のノットを新たに付け加える。これらをξ−k, ξ−k+1, . . . , ξ−1, ξn+1, ξn+2, . . . , ξn+kとする。ノットの位 置に関しては i < j⇒ ξi< ξj (7)B1 B2 B3 図2 ノットを等間隔に取った場合のBスプライン。 を充たす限り、どこでも良い。これでn + k個のBスプライン{Bpk} n−1 p=−kが定義できたことになる。後はこ れらがS (k; ξ0, . . . , ξn)の元として一次独立であることを言えば、{Bpk} n−1 p=−kが基底であることがわかる。こ のために、Bスプラインのような狭い台を持つスプライン関数の零点の個数についての次の補題を使う。 1.1[補題] 0≤ p < q ≤ nに対して、その台が[ξp, ξq]であるようなs∈ S (k; ξ0, . . . , ξn)を考える。sの 零点の個数をrとすると r≤ q − (p + k + 1) が成り立つ。 この補題は零点の個数と、高階の導関数の符号が変化する回数とを比較して数えれば証明できる。零点の個 数の上限を与える結果であるが、台の狭さの下限を与えているとも考えられる。また、この結果からBスプ ラインBk p は区間(ξp, ξp+k+1)に零点を持たないことがわかる。区間(ξp, ξp+1)上でBpkの値を計算すると正 であるから、Bk p は区間(ξp, ξp+k+1)上で常に正である。 {Bk p} n−1 p=−kの一次独立性を示す。このために s = n−1 ∑ p=−k λpBpk を考える。sが[a, b]上恒等的に0であるとして、係数λpがすべて0であることを言えば良い。Bpkの定義か らsは(−∞, ξ−k]で0である。[a, b]上0であるとすると、補題1.1から(−∞, b]で0でなければならないこ とがわかる。sを[ξ−k, ξ−k+1]上に制限すれば s(x) = λ−kB−kk , x∈ [ξ−k, ξ−k+1] であるからλ−k= 0がわかる。次の区間[ξ−k+1, ξ−k+2]上に制限すれば s(x) = λ−kBk−k+ λ−k+1B−k+1k , x∈ [ξ−k+1, ξ−k+2] で、λ−k = 0であるからλ−k+1 = 0がわかる。この議論を繰り返せば、すべてのλpが0であることがわ かる。 これで次の定理が得られた。
1.2[定理] 点列{ξj}n+kj=−kは条件(7)を充たすものとし、{Bpk} n+k p=−kは(6)で定義されるBスプラインと する。このとき{Bk p} n+k p=−kはS (k; ξ0, . . . , ξn)の基底となる。 Bスプラインを用いて補間しようとすると、Bスプラインの値が必要となる。ところが(6)を用いて直接計 算すると、xの増加とともに桁落ちが顕著となる。これでは(3)の欠点を単にBスプラインに押し込めただけ であり、実用的でない。低次のBスプラインの値から高次のBスプラインの値を求めるための漸化式が存在 する。 1.3[定理](Cox-de Boor) kは1以上の整数とし、{ξj} p+k+1 j=p は条件(7)を充たすものとする。このとき Bスプラインについて Bpk(x) = (x− ξp)B k−1 p (x) + (ξp+k+1− x)Bp+1k−1(x) ξp+k+1− ξp (8) が成り立つ。 証明は、区間を限定してから右辺を定義に戻って整理すれば良い。B0 p は区間[ξp, ξp+1)の指示関数である が、これらを充分多く用意すれば高次のBスプラインを求めることができる。 後にスプライン関数による平滑化を考えるが、このときスプライン関数の微分を用いる。k次のスプライン の微分は(k− 1)次のスプラインになるので、Bk p の微分は{B k−1 j }の線型結合で表される。更に台を考えれ ば、Bk−1 p , B k−1 p+1 を用いて表されることが期待されるが、実際次が成り立つ。 1.4[定理] kは1以上の整数とし、{ξj} p+k+1 j=p は条件(7)を充たすものとする。B k p の微分は d dxB k p(x) = k ξp+k+1− ξp ( Bpk−1(x)− Bp+1k−1(x)) (9) と表される。但しk = 1の場合はxがノットの位置にないものとする。 証明は、右辺を定義に戻って整理すれば良い。 定数をBスプラインの定義に込めて ˜ Bkp = (k + 1)Bkp とする。0でない定数を乗じただけであるから、{ ˜Bk p}もまたS の基底である。よってk次のスプライン関 数sは{ ˜Bk p}の線型結合で表される。定理1.4によれば、s0は{ ˜Bkp−1}の線型結合で表されるが、特にノット が等間隔であれば、次の有用な表示が得られる。 1.5[系] kは1以上の整数とし、ノットは条件(7)を充たすものとする。これに加え、ノットは等間隔に 配置されているものとし、隣合うノットの間隔をhとする。s =∑jβjB˜jkの微分は hs0 =∑ j ∆βjB˜jk−1 と表される。ここに∆βj= βj− βj−1である。更にn階の微分は hns(n)=∑ j ∆nβjB˜jk−n と表される。
標語的には、微分が差分に変換される、と言える。 以上により、区間の指示関数を用意すれば、高次のスプライン及びその微分が単純な計算により求められる ことがわかった。
1.3
スプライン関数による補間
データ{(xi, yi)}n+ki=1 をS (k; ξ0, . . . , ξn)の元で補間することを考える。但しxiは a≤ x1< x2<· · · < xn+k≤ b (10) を充たすものとする。データの個数とS (k; ξ0, . . . , ξn)の次元とが一致しているため s(xi) = yi, i = 1, . . . , n + k なるs∈ S (k; ξ0, . . . , ξn)が存在するかどうかは重要な問題である。S (k; ξ0, . . . , ξn)の元をBスプラインの 線型結合で表すために、2k個のノットを追加する。補間が可能であるための簡単な判定条件が存在する。 1.6[定理](Schoenberg-Whitney) 条件(10)を充たす{(xi, yi)}n+ki=1 に対する連立方程式: n−1 ∑ p=−k λpBpk(xi) = yi, i = 1, 2, . . . , n + k (11) は、{Bjk−k−1(xj)}n+kj=1 がすべて0でないとき、またそのときに限り一意な解{λp}np=−1−kを持つ。 [証明] i行j列成分がbij = Bjk−k−1(xi)であるような行列Bを考えれば、定理はBの可逆性と対角成分 がすべて0でないこととが同値であることを主張している。 ある成分bij が0とするとxi ∈ (ξ/ j−k−1, ξj)である。xi ≤ ξj−k−1なら、p≥ j − k − 1, x ≤ xiに対して Bp(x) = 0である。これはi0≤ i, j0 ≥ jに対してbi0j0 = 0であることを意味する。一方、xi≥ ξjであれば、 i0≥ i, j0≤ jに対してbi0j0 = 0となる。よってあるjに対してbjj = 0であれば、B,tBのいずれか一方が ( X 0 Y Z ) の形をしている。ここにX はj次正方行列、Z は(n + k− j)次正方行列である。この形の行列の行列式はdet X· det Zで与えられる。X のj列目はすべて0であるからdet X = 0で、Bは可逆でない。
次に対角成分がすべて0でないとして、Bが可逆であることを示す。これにはker Bが0であることを示 せば良い。このため s(x) = n−1 ∑ p=−k λpBpk(x) とおき、sに s(xi) = 0, i = 1, . . . , n + k を課す。sが恒等的に0でないとすると、ノットξ−k≤ ξp< ξq ≤ ξn+kで、[ξp−1, ξp], [ξq, ξq+1]上ではsが 0で、(ξp, ξq)上ではsは高々有限個の零点しか持たないようなものが存在する。Bの対角成分は0でないか ら、すべてのjに対してxj ∈ (ξj−k−1, ξj)が成り立つ。よって{xj}qj=p+k+1⊂ (ξp, ξq)である。これからs が区間(ξp, ξq)内に、少なくともq− p − k個の零点を持つことになるが、これは補題1.1に矛盾する。従っ てsは恒等的に0であり、定理1.2により係数λpはすべて0である。
区間[a, b]内の互いに異なる点{xi}ni=0と[a, b]上の関数f とに対し、{(xi, f (xi))}ni=0を補間する多項式が Lagrangeの補間法により得られるが、この多項式のxn の係数を[x 0, x1, . . . , xn]f で表し、差分商と呼ぶ。 (1),(2)から、[x0, x1, . . . , xn]fは [x0, x1, . . . , xn]f = n ∑ k=0 f (xk) n ∏ j=0 j6=k 1 xk− xj (12) と書ける。f として、切断冪級数: f (ξ) = (−1)k+1(x− ξ)k+ をとれば、Bスプライン(6)が得られる: Bkp(x) = [ξp, ξp+1, . . . , ξp+k+1] { (−1)k+1(x− · )k+}. このようにBスプラインと差分商との間には深い関係があるが、更に次が成り立つ。 1.7[定理] 区間[a, b]内の互いに異なる点{xi}k+1i=0 とf ∈ C k+1[a, b]とに対し [x0, x1, . . . , xn]f = 1 k! ∫ b a Bk(x)f(k+1)(x)dx が成り立つ。ここにBkはBスプライン: Bk(x) = k+1 ∑ i=0 (x− xi)k+ k+1∏ j=0 j6=i 1 xj− xi である。 [証明] 部分積分を繰り返せば ∫ b a (x− xi)k+f (k+1)(x)dx = k ∑ l=0 (−1)l k! (k− l)!(b− xi) k−lfk−l(b) + (−1)k+1k!f (x i) がわかる。Bkの定義に従って足し上げると、(5)により右辺第一項からの寄与は k+1 ∑ i=0 k ∑ l=0 (−1)l k! (k− l)!(b− xi) k−lfk−l(b) k+1∏ j=0 j6=i 1 xj− xi = k ∑ l=0 (−1)l k! (k− l)!f k−l(b) k+1 ∑ i=0 (b− xi)k−l k+1∏ j=0 j6=i 1 xj− xi = 0
と消えてしまう。よって ∫ b a Bk(x)f(k+1)(x)dx = (−1)k+1k! k+1 ∑ i=0 f (xi) k+1∏ j=0 j6=i 1 xj− xi = k! k+1 ∑ i=0 f (xi) k+1∏ j=0 j6=i 1 xi− xj = k![x0, x1, . . . , xn]f が成り立つ。 この定理は、次の自然スプラインを導出するときに使う。 スプラインが曲線定規の名前であることは既に 述べた。内部にバネと重りが配置されており、重りの位置を調整することで弾性エネルギーを最小にするよう な形に変形する。ここで取り扱う自然スプラインは正にこの性質を抽出したものである。
1.4
導出
区間[a, b]内の点x1< x2 <· · · < xmとその関数値{f(xi)}mi=1 とを考える。C2[a, b]の元sで、補間の 条件: s(xi) = f (xi), i = 1, . . . , m (13) を充たすもののうち ∫ b a ( s00(x))2dx (14) を最小にするものを求めたい。 m = 2なら線型補間が解であるからm > 2とする。(13)から [xp, xp+1, xp+2]s = [xp, xp+1, xp+2]f, p = 1, . . . , m− 2 (15) が従う。この右辺を定理1.7を用いて書き直せば ∫ b a B1p(x)s00(x)dx = [xp, xp+1, xp+2]f, p = 1, . . . , m− 2 となる。ここにB1pは Bp1(x) = p+2 ∑ i=p (x− xi)+ p+2∏ j=p j6=i 1 xj− xi である。 そこで、問題を、条件: ∫ b a B1p(x)u(x)dx = [xp, xp+1, xp+2]f, p = 1, . . . , m− 2 (16)
を充たす[a, b]上の連続関数uで E(u) = ∫ b a ( u(x))2dx (17) を最小化するものを見付けることと読み替える。 求めるuが{Bp1} m−2 p=1 の線型結合で表されていなければ、[a, b]上で{Bp1} m−2 p=1 のすべてと直交し、かつu とは直交しないようなvが取れる。任意の実数αに対して、u + αvもまた条件(16)を充たす。uとvとが直 交していないため、E(u + αv) < E(u)となるようにαを選ぶことができ、最小性に反する。 uの基底{B1 p} m−2 p=1 に関する係数を求める。u = ∑ λjBj1と表して(16)に代入すると ∫ b a Bp1x (m−2 ∑ j=1 λjBj1(x) ) dx = [xp, xp+1, xp+2]f, p = 1, . . . , m− 2 が得られる。係数行列が可逆であれば良いが、これは単射であることがわかれば良い。このため ∫ b a Bp1x (m−2 ∑ j=1 µjBj1(x) ) dx = 0, p = 1, . . . , m− 2 を考える。これから ∫ b a (m−2 ∑ j=1 µjBj1(x) )2 dx = 0 が得られるが、定理1.2によりµj= 0がわかる。よって条件(16)からuが決定される。 sはuを2回積分すれば得られる。このとき、積分定数はs(x1), s(x2)が、それぞれf (x1), f (x2)に一致す るように選ぶ。条件(15)を順次適用すれば、条件(13)が充たされていることがわかる。よってこのsが求め るものである。2階微分が1次のスプラインであるから、sは3次のスプラインである。これは3次の自然ス プラインと呼ばれている。sの特徴として、2階微分のx1, xmにおける値が0であり、区間[a, b]上で高々3 次の区分的多項式として表され、区間[a, x1], [xm, b]上では直線であることが挙げられる。 高次の自然スプラインを定義する。後に定理1.8で見るように、補間の性質を持つ自然スプラインの次数は 必ず奇数である。区間[a, b]上の(2k + 1)次のスプラインは、条件: s(j)(x1) = s(j)(xm) = 0, j = k + 1, k + 2, . . . , 2k (18) を充たすとき、(2k + 1)次の自然スプラインと呼ばれる。ここにx1, xmは端のノットである。端のノットが 区間の端点と一致していない場合は、[a, x1], [xm, b]上で高々k次の多項式として表されることを要請する。 この意味は定理1.9を見ればわかる。 高々(2k + 1)次の自然スプライン全体をSN(2k + 1; x1, . . . , xm)で表す。次数やノットは省略することも ある。定理1.8で、m≥ k + 1のとき、SN(2k + 1; x1, . . . , xm)の次元がmであることを示す。
1.5
自然スプラインの性質
自然スプラインによる補間は、m≤ kでなければ一意に存在する。1.8[定理] 区間[a, b]内の点x1< x2<· · · < xmを考え、kは1≤ k ≤ m − 1を充たす整数とする。こ のとき[a, b]上の任意の連続関数f に対して s(xi) = f (xi), i = 1, . . . , m (19) を充たすs∈ SN(2k + 1; x1, . . . , xm)が一意に存在する。 [証明] もしa < x1なら、[a, x1]での関数の形は[x1, x2]での関数の形から定まる。xm< bの場合にも同 様のことが言えるので、a = x1, xm= bと仮定して差し支えない。S (2k + 1; x1, . . . , xm)の次元は(2k + m) 次元であるが、自然スプラインには2k個の制約条件(18)が課されるため、SN(2k + 1; x1, . . . , xm)の次元 はm以上となる。そこでl := dimSN(2k + 1; x1, . . . , xm)とおき、定理1.6の証明と同様に、基底から定ま る係数行列を考える。これが単射であることがわかれば、l = mと問題のs∈ SN(2k + 1; x1, . . . , xm)の存 在と一意性とが示されるので ¯ s(xi) = 0, i = 1, . . . , m, ¯s∈ SN(2k + 1; x1, . . . , xm) (20) について考える。この方程式系からs = 0¯ が従うことを示す。(18)と、¯s(2k+1)が各区間(x i, xi+1)上では定 数であることと、(20)とから E(s¯(k+1))= ∫ xm x1 ( ¯ s(k+1)(x))2dx = (−1)k m∑−1 i=1 ∫ xi+1 xi ¯ s0(x)¯s(2k+1)(x)dx = (−1)k m∑−1 i=1 ¯ s(2k+1)(xi+) ( ¯ s(xi+1)− ¯s(xi) ) = 0 となる。ここにxi+は区間(xi, xi+1)内の任意の点である。¯s(k+1)は連続であるから、恒等的に0となる。 よってs¯は高々k次の多項式である。k ≤ m − 1と(20)とを考えればs¯が恒等的に0であることがわか る。 この節の初めに述べた事実を証明する。 1.9[定理] 記号の設定は定理1.8と同じものとする。定理1.8で得られるsは、補間の条件(19)を充たす Ck+1[a, b]の元の中で ∫ b a ( s(k+1)(x))2dx を最小にする唯一つの関数である。 [証明] 補間の条件(19)を充たすCk+1[a, b]の元を一つ取り、s˜とする。このとき E(˜s(k+1))= E(s(k+1))+ E(˜s(k+1)− s(k+1))+ 2 ∫ b a ( ˜ s(k+1)(x)− s(k+1)(x))s(k+1)(x)dx が成り立つが、右辺第三項は定理1.8の証明と同様にして0であることが証明できるので E(˜s(k+1))= E(s(k+1))+ E(˜s(k+1)− s(k+1))≥ E(s(k+1))
から最小性が従う。この不等式で等号が成り立つのは˜s(k+1)− s(k+1)= 0のときであるから、s˜− sは高々k 次の多項式である。ところが(19)から、s˜− sは少なくともm個の零点を持つ。k≤ m − 1であるからs˜− s は恒等的に0であり、一意性が言えた。 図3に、同一のデータ(黒丸)を自然スプラインで補間したもの(左上)とそうでないスプラインで補間し たもの(左下)とを掲げた。用いたスプラインの次数は3次で、ノットはデータに重ねた。それぞれのBス プライン成分が細い線で示されている。また、それぞれの右には、それぞれの2階の導関数を描いた。 実験などから得られたデータには誤差が含まれているのが普通であるから、補間によるアプローチでは結果 が誤差に影響されてしまう。誤差は測定の度に変化するものであるから、これは好ましくない。特に補外によ り予測を行う場合、この問題は顕著となる。そこでデータに含まれる誤差にあまり影響されない頑健な手法が 必要となる。ここではスプラインによる平滑化であるPスプライン法について述べる。 データ{(xi, yi)}ni=1(a≤ x1<· · · < xn≤ b)のスプラインによる補間とは s(xi) = yi, i = 1, . . . , n を充たすsを見付けることであった。(2k + 1)次のスプラインによる平滑化とは P (s) = n ∑ i=1 ( yi− s(xi) )2 + λ ∫ b a ( s(k+1)(x) )2 dx を最小化するsを見付けることである。ここに、λは非負の実数であり、平滑化パラメータと呼ばれる。k = 1 の場合、つまり3次のスプラインによる平滑化がよく使われている。右辺第一項はデータとの二乗誤差を表し ている。補間ではこれが0になる。第二項は罰則項あるいはペナルティ項と呼ばれる。Pスプライン法の名前 はここに由来する。通常、二乗誤差を小さくしようとすると、曲線の凹凸が激しくなる。第二項はこの凹凸の 程度を表す項である。前節で述べたように、これは弾性エネルギーに由来する。λの大きさを調節すること で、二乗誤差と凹凸の程度とのどちらをより重視するかが決められる。Pスプライン法は、この二つの間の拮 抗を表現したものと言える。 f ∈ Ck+1[a, b]を任意に取り、{(x i, f (xi))}ni=1を補間するSN の元をsとする。次数を、定理1.8の条件 を充たすように選べばsは一意に存在する。このとき、二乗誤差は両者とも変わらないが、罰則項は定理1.9 によりsの方が小さい。よってP (s)≤ P (f)であり、P (s)を最小にする関数は自然スプラインであることが わかった。従って、考察の対象を自然スプラインに限って良い。 図3 自然スプラインによる補間(左上)とそうでないスプラインによる補間(左下)。それぞれの図の右 には、それぞれの2階の導関数が描かれている。
参考文献
[1] M.J.D. Powell. Approximation Theory and Methods. Cambridge University Press, 1981. [2] 竹澤邦夫. みんなのためのノンパラメトリック回帰(上). 吉岡書店,第3版, 2007.