0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

スプライン(非線形回帰モデル) vol.1

Last updated at Posted at 2021-10-24

参考本

多変量解析入門 -線形から非線形へ- 小西貞則著

複雑な非線形構造について

以下、オートバイの衝突実験を繰り返し、衝突した時間から経過した$x$(ミリセカンド)において, 頭部に加わる加速度$y$を計測する.
path1445.png

縦軸:頭部に加わる衝撃の強さ[N]
横軸:衝突後の経過時間ms

これは特定の非線形関数によるモデル化は難しい.

まずスプライン、B-スプライン、動径基底関数などに基づくモデルについて順に述べ、後に基底展開法と呼ばれる方法によって統一的に整理できることを示す。

スプライン

$n$組の観測データに1つの多項式モデルを当てはめるのではなく、説明変数に関わるデータを区分し考える。

繰り返しになるが、全データを1つの多項式モデルで捕らえようとすると、どうしても高次の多項式が必要となる。予測に有効な安定したモデルを得るのは現実的には厳しい。

分割

ある閉区間$[a,b]$上、
$$x_0=a<x_1<x_2<\cdots< x_m < b$$
各$x_i \hspace{1em} i \in \Lambda$を分点(節点)と呼ぶ。
こういった$[x_k, x_{k+1}](x_{m+1}=bとする)$に区分することを分割と呼び、この区分された各区間を各「小区間」と呼ぶ。

各$x_i$でのデータ$y_i$はノイズを伴って
$$y_i=u(x_i)+ \epsilon_i$$
と観測されたとする. データからノイズを分離して、現象の構造を反映する$u(x)$をモデルを通して捉えるために、いくつかの柔軟なモデルが提案されている.

3次スプライン

各小区間で3次多項式を当てはめ、各モデルが分点で滑らかに接続するものとする。

具体的には、各分点で導関数、2次導関数(2回微分した関数)が連続になるように制約をつけて当てはめを行う。

ハイパーパラメーター(更新可能なパラメータ)、$\boldsymbol \theta=(\beta_0, \beta_1, \beta_2, \beta_3, \theta_1, \theta_2, \cdots,\theta_m)^T$とし、$M_{x-t_i}={\rm max} [ 0, x-t_i]$として、

$$u(x;\boldsymbol \theta)= \beta_0+\beta_1 x+ \beta_2 x^2 + \beta_3 x^3 + \sum_{i=1}^{m} \theta_i M_{x-t_i}^3$$

境界付近

一般には境界付近では3次多項式の当てはめは、推定曲線の変動が大きく適当でないことが知られている。
両端区間$[a, t_1]$, $[t_m, b]$では1次式であるという条件を付加したのが自然3次スプラインで次の式で与えられる。

$$u(x;\boldsymbol \theta)= \beta_0+\beta_1 x+ \sum_{i=1}^{m-2} \theta_i (d_{i}(x) - d_{m-1}(x))$$
,
$\boldsymbol \theta= (\beta_0, \beta_1, \theta_1, \theta_2, \cdots, \theta_{m-2})^T$
とし、また
$$d_i(x) = \frac{M_{x-t_i}^3-M_{x-t_m}^3}{t_m-t_i}$$
とおく。

とすると端っこの区間以外は3つ上の式のように書ける。$M$は$x-t_i$が負のとき、$t_i$から左に$x$がある時は0になる。

分子が$x-t_j$ $(j\neq i)$であれば、3乗、$x-t_j$ $(j = i)$であれば2乗の項が残る。展開すると、元々の式と同一となることがわかる. $\theta$,$\beta$やらは元のものと同一でなく、係数は$\square$やら$\triangle$だと思ってほしい。

端っこ、左側に$x$があるときは∑部分の分子が全部0(ダミーの分子が0)
右側の∑のダミー部分は

$$d_i - d_{m-1}= \frac{(M^3_{x-t_i}-M^3_{x-t_m})(t_m-t_{m-1})-(M^3_{x-t_{m-1}}-M^3_{x-t_m})(t_i-t_m)}{(t_i-t_m)(t_m-t_{m-1})}$$
$a^3-b^3= (a-b)(a^2+ab +b^2)$を使えば、
$$=\frac{(t_m-t_i)((x-t_i)^2+(x-t_i)(x-t_m)+(x-t_m)^2)(t_m-t_{m-1})-(t_m-t_{m-1})((x-t_{m-1})^2+(x-t_{m-1})(x-t_m)+(x-t_m)^2)(t_m-t_i)}{(t_m-t_i)(t_m-t_{m-1})}$$

$$=\frac{(t_m-t_i)(t_m-t_{m-1})[((x-t_i)^2+(x-t_i)(x-t_m)+(x-t_m)^2)-((x-t_{m-1})^2+(x-t_{m-1})(x-t_m)+(x-t_m)^2)]}{(t_m-t_i)(t_m-t_{m-1})}$$

$$=(x-t_i)^2-(x-t_{m-1})^2+(x-t_i-x+t_{m-1})(x-t_m)$$
$$=(t_i-t_{m-1})(2x-t_i-t_m)+(t_{m-1}-t_i)(x-t_m)$$
$$=(t_i-t_{m-1})[(2x-t_i-t_m)-(x-t_m)]$$
後ろの項の符号を逆にした。
$$=(t_i-t_{m-1})(x-t_i)$$
よって1次の項と定数項のみ。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?