Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

B 型スプラインと平滑化スプライン

このツールボックスで、節点tj, ..., tj+kをもつ B スプラインの定義は次で与えられます。

B j , k ( x ) = B ( x | t j , ... , t j + k ) = ( t j + k t j ) [ t j , ... , t j + k ] ( x ) + k 1 .

これは B スプラインのいくつかの妥当な正規化の 1 つにすぎません。次となるように選択されています。

j = 1 n B j , k ( x ) = 1 , t k x t n + 1 .

ただしBスプラインの上記の公式を理解しようとする代わりに,GUIbspliguiのリファレンス ページで B スプラインの基本プロパティを確認し、GUI を使用してこの興味深い関数を直接経験します。このツールボックスの目的の最も重要な特性は、その名前に文字 B が入っている理由でもあります。

"与えられた次数の(一変量) 区分的多項式の各空間がBスプラインで構成された基底 (Basis) をもつ (B スプラインの "B" の由来)。"

B スプラインのプロパティ

Bj,kは区間 (tj..tj+k)でのみ非ゼロになるため、内挿または最小二乗近似、あるいは微分方程式の近似解によって決定されるスプラインの B スプライン係数に対する線形システムは、"帯状"となり、その線形システムを特に簡単に解くことができます。たとえば、i=1, ..., n に対して s(xi)=yiとなるように、節点シーケンス t1≤ t2≤··· ≤ tn+kを使用して次数 k のスプライン s を作成するには、次のように線形システムを使用します。

j = 1 n B j , k ( x i ) a j = y i i = 1 : n

これは不明な B スプライン係数 ajを表し、各方程式に最大の k 非ゼロ エントリがあります。

また、スプラインに関する多くの理論事項は、B スプラインで最も簡単に記述または実証されます。たとえば、すべての j に対してBj,k(xj)≠0である場合に限り (Schoenberg-Whitney 条件)、節点シーケンス(t1, ..., tn+k)を使用して次数k のスプラインで一意にサイト x 1 < < x n の任意のデータと一致させることができます。B スプラインでの計算には、安定した "再帰関係"を使用すると便利です。

B j , k ( x ) = x t j t j + k 1 t j B j , k 1 ( x ) + t j + k x t j + k t j + 1 B j + 1 , k 1 ( x )

これは、B 型から pp 型への変換にも役立ちます。この双対関数を示します。

a j ( s ) : = i < k ( D ) k i 1 Ψ j ( τ ) D i s ( τ )

は、tjと tj+kとの間の任意のサイト τ において ψj(t):=(tj+1–t)··· (tj+k–1–t)/(k–1)! の場合の値および微分について、スプライン s の j 番目の B スプライン係数で役に立つ式を示します。これは、aj(s) が区間 [tj..tj+k] において s と密接に関係していることを示し、pp 型から b 型への変換の最も効率のよい方法と考えられます。

変分アプローチと平滑化スプライン

上記の "構造的"アプローチの他にもスプラインを得る方法はあります。"変分"アプローチでは、スプラインが "最適な内挿"、たとえば特定のサイトにおける、一致するすべての指定関数値の中で最も小さい m 次導関数を持つ関数として得られます。結局、それらの使用可能な多くのスプラインの中で、区分的多項式または (おそらく) 区分的指数のスプラインのみが多く使用されます。実際特に関心が高いのは、"平滑化スプライン" s = spです。この場合、x∊[a..b]、すべての i および対応する正の重み wiを使用する特定のデータ (xi,yi) および特定の"平滑化パラメーター"p に対して、最小化を行います。

p i w i | y i f ( x i ) | 2 + ( 1 p ) a b | D m f ( t ) | 2 d t

上記は m 階微分を持つすべての関数 f に対して行われます。これで、平滑化スプライン s は、すべてのデータ サイトにブレークを持つ次数 2m のスプラインであることがわかります。平滑化パラメーター p が適切に選択され、以下の"誤差測定"

E ( s ) = i w i | y i s ( x i ) | 2

小さくし、以下の"粗さ測定"

F ( D m s ) = a b | D m s ( t ) | 2 d t

小さくするという要求間の適切なバランスが保たれます。必要なのは、s のデータに含まれる情報をできる限り多くし、推定されるノイズをできる限り少なくすることです。このためのアプローチの 1 つ (spapsで使用される) は、E(f) を指定された許容誤差よりも大きくしないという条件に従って、F(Dmf) をできる限り小さくすることです。計算上、spapsは (等価の) 平滑化パラメーターρ=p/(1–p)を使用します。つまり、ρE(f) + F(Dmf)を最小化します。これは柔軟性の高い粗さ測定を使用する場合にも役に立ちます。

F ( D m s ) = a b λ ( t ) | D m s ( t ) | 2 d t

ここでは、λ に適切な正の重み関数を使用します。

関連するトピック