関数 > データ解析 > 補間と予測 > 例: 最小二乗スプライン
例: 最小二乗スプライン
Spline2、Binterp、DWS
Spline2関数を使用して、Binterpによる最小二乗スプライン補間の計算に必要な節の最適なセットを求めます。
1. データセットを定義します。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
w は、y のランダムな誤差の推定標準偏差を指定する重みベクトルです。
2. 必要なスプライン多項式の次数を定義します。
クリックしてこの式をコピー
3. Spline2 関数を呼び出します。
クリックしてこの式をコピー
クリックしてこの式をコピー
ベクトル b の 1 つ目の成分は B スプラインの次数です。2 つ目の成分は区間の数 (knots - 1) です。3 つ目以降のいくつかの成分は節の値です。残りの成分には、B スプラインの基底関数の係数が格納されています。
自動生成された場合、最初と最後の節は元の x データの終点と一致します。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
4. 値の範囲として x の範囲を指定して Binterp 関数を呼び出します。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
spline1i 行には、i の範囲内で定義されている点における補間値と 1 次、2 次、3 次微分係数が格納されています。
5. 元のデータと補間スプラインをプロットします。
クリックしてこの式をコピー
Durbin-Watson 統計量に従って、節の最適な数と間隔が決まります。この統計量が 2 前後の場合に良好な適合を得られます。この統計量を求めるには、DWS関数を使用するか、行列 b から関連する要素を抽出します。
クリックしてこの式をコピー
クリックしてこの式をコピー
6. Spline2 の最後のオプションの引数として、Durbin-Watson 検定の有意水準 (棄却水準) をパーセント表記ではなく 0 から 1 の小数表記で指定します。
クリックしてこの式をコピー
クリックしてこの式をコピー
必ずしも当てはまらないことがありますが、一般的には、棄却水準が高くなるにしたがって、節が増えて計算時間が長くなります。
7. Spline2 で使用される節の数を計算します。
クリックしてこの式をコピー
8. DWS 関数を呼び出して、Durbin-Watson 統計量を計算します。
クリックしてこの式をコピー
9. 2 本の補間スプラインをプロットします。
クリックしてこの式をコピー
クリックしてこの式をコピー
重みなしで補間できます。
クリックしてこの式をコピー
クリックしてこの式をコピー
重みなしで補間できますが、棄却水準は指定する必要があります。
クリックしてこの式をコピー
クリックしてこの式をコピー
スプラインの微分係数
補間スプラインの 1 から 3 次微分係数をプロットします。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
独自の節の指定
B スプライン補間に独自の節を指定できます。
1. 一連の節を定義します。
クリックしてこの式をコピー
2. 補間スプラインをプロットします。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
重みベクトルなしで節を指定できます。
クリックしてこの式をコピー
クリックしてこの式をコピー
外れ値
スプライン補間で外れ値を除去したときの効果を確認できます。
1. GrubbsClassic関数を呼び出して、外れ値になる可能性が最も高い点を検出します。
クリックしてこの式をコピー
クリックしてこの式をコピー
データの 2 つ目のピークの最上部に疑わしい点があります。
2. データセットおよび重み関数からその点を除去します。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
3. 新しいデータセットについて Spline2 関数を呼び出します。
クリックしてこの式をコピー
Durbin-Watson 統計量によると、適合が改善しています。
クリックしてこの式をコピー
クリックしてこの式をコピー
4. 疑わしいデータ値における両方の補間結果を比較します。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
外れ値を除去した補間ではスプラインがわずかに下がっています。
これは役に立ちましたか?