内挿

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

内挿(ないそう、: interpolation補間とも言う)とは、ある既知の数値データ列を基にして、そのデータ列の各区間の範囲内を埋める数値を求めること、またはそのような関数を与えること。またその手法を内挿法(補間法)という。内挿するためには、各区間の範囲内で成り立つと期待される関数と境界での振舞い(境界条件)を決めることが必要である。

最も一般的で容易に適用できるものは、一次関数(直線)による内挿(直線内挿)である。ゼロ次関数(ステップ関数)によってデータ列を埋めること(0次補間)を内挿と呼ぶことはあまりないが、内挿の一種である。

内挿と外挿(補外)とのアルゴリズムの類似性から、それぞれ内挿補間、外挿補間と誤って呼称されることがある。本来、補間と内挿は同義であり、内挿補間と重ねて呼ぶ必要はない。

内挿方法の選択[編集]

内挿のもたらす結果は、平滑化最小自乗近似と似ているが、これらは全く違ったものである。内挿は、ある区間の間に成り立つ関数モデルや境界条件を仮定し、その関数のパラメータのうちのいくつか(または全て)を決定する。このため、入力数値データ列には誤差が含まれないか、無視できると仮定している。一方、平滑化や最小自乗近似は誤差が含まれる数値データ列の関係をもっともらしく推定する数列や関数モデルを与える。

物理現象を測定したデータを入力とする内挿では、その物理現象に適用できるもっともらしい内挿方法を選択することが必要である。しばしば、そうした測定値やコンピュータアニメーションにおけるキャラクターの運動などで線形補間や多項式補間が好まれて適用されるのは、単にアルゴリズムのソフトウェアへの実装が容易で計算機負荷が少ないというだけでなく、多くの物理現象を表す関数がテイラー展開可能であり、その高次の項が無視できるほど小さいと仮定できるからである。

そうでない場合は、適した内挿方法を選択する必要がある。

代表的な補間方法、補間関数[編集]

例として、このような点がデータとして与えられたとき、これらの点の間の値を補間することを考える。
  • 0次補間(最近傍補間、最近傍点補間)
最近傍補間。
線形補間。
多項式補間。
  • キュービック補間(3次補間)
2次元信号の補間の場合、たとえば直交座標では直行する二つの軸に沿った二つの関数を計算することになる。このため、線形補間はバイリニア、3次補間はバイキュービック(双三次補間、双三次関数補間)と呼ばれる。
  • キュービックコンボリューション
字義的には3次畳み込みという意味であるが、下記の補間関数を用いる3次補間を指すことがある。aは補間関数の性質を制御するための変数(-0.5~-2程度が用いられる)

h(t) = \begin{cases} 
(a + 2)|t|^3 - (a + 3)|t|^2 + 1, &  0 \leq |t| < 1 \\
a|t|^3 - 5a|t|^2 + 8a|t| -4a, & 1 \leq  |t| < 2 \\
0, & 2 \leq |t| \\
\end{cases}
スプライン補間。
隣り合う点に挟まれた各区間に対し、個別の多項式を用いた補間法。各区間で、境界条件として導関数の連続性を仮定する。CADグラフィックソフトウェアでは、滑らかな曲線や曲面を与える機能として知られる。
n は補間関数の性質を制御するための変数。n=2 とした補間関数はLanczos-2、n=3 とした補間関数はLanczos-3と呼ばれる。

h(t) = \begin{cases} 
\mathrm{sinc} (t) \cdot \mathrm{sinc} (\frac{t}{n}), &  |t| \leq n \\
0, & n < |t| \\
\end{cases}

関連項目[編集]