Curve Fitting Toolbox

主な機能

  • 曲線近似および曲面近似のための曲線近似アプリ
  • カスタムの方程式を使用した線形および非線形の回帰
  • 最適化された開始ポイントとソルバー パラメーターを備えた回帰モデルのライブラリ
  • B スプライン、薄板スプライン、およびテンソル積スプラインなどの補間方法
  • 平滑化スプライン、局所回帰、Savitzky-Golay フィルター、および移動平均などの平滑化手法
  • 異常値の除去、データの分割、スケーリング、重み付けなどの前処理ルーチン
  • 補間、外挿、信頼区間、積分と導関数などの後処理ルーチン
Surface generated using the Curve Fitting app.

Surface Fitting Tool を使用して生成した面。このツールでは、線形回帰、非線形回帰、補間、平滑化などのさまざまな近似方法が利用可能です。

Curve Fitting Toolbox での作業

Curve Fitting Toolbox には、線形回帰と非線形回帰、スプラインと補間、平滑化など、曲線や面をデータに近似させるために広く使用されている手法が用意されています。このツールボックスでは、異常値を含むデータ セットを近似するためのロバスト回帰のオプションがサポートされています。関数または曲線近似アプリからすべてのアルゴリズムにアクセスできます。

Fitting multiple candidate models to a single data series using the Curve Fitting app.

曲線近似アプリを使用した、複数の候補モデルの単一のデータ系列への近似。近似した表面は視覚的に比較するか、決定係数2、調整済み決定係数2、二乗誤差の和、二乗平均平方根誤差などの適合度を表す評価指標を使用して比較できます。

対話的なデータ近似

曲線近似アプリは、以下のような一般的なタスクを簡略化します。

  • MATLAB® ワークスペースからのデータのインポート
  • 探索的データ解析を行うためのデータの可視化
  • 複数の近似アルゴリズムを使用した近似の生成
  • モデルの精度の評価
  • 補間と外挿、信頼区間の生成、積分と導関数の計算などの後処理の実行
  • さらに詳細な解析のために MATLAB ワークスペースへ近似をエクスポート
  • 作業をキャプチャし、タスクを自動化するための、MATLAB コードの自動生成
MATLAB function generated with the Surface Fitting Tool.

曲線近似アプリで生成された MATLAB 関数。

コマンド ラインでの作業

コマンド ラインで作業すると、解析や可視化のためにカスタム関数を作成することができます。これらの関数により、次のことが可能になります。

  • 新しいデータ セットを使用して解析を複製
  • 複数のデータ セットを使用して解析を複製 (バッチ処理)
  • MATLAB 関数への近似ルーチンの埋め込み
  • ツールボックスの基本機能の拡張

Curve Fitting Toolbox では、次の例に示すように、シンプルで直観的なシンタックスを使ってコマンドラインから近似を実行できます。

  • 線形回帰:fittedmodel = fit([X,Y], Z, 'poly11');
  • 非線形回帰:fittedmodel = fit(X, Y, 'fourier2');
  • 補間:fittedmodel = fit([Time,Temperature], Energy, 'cubicinterp');
  • 平滑化:fittedmodel = fit([Time,Temperature], Energy, 'lowess', ‘spanâ€, 0.12);

近似操作の結果は、“fittedmodel.†という名前のオブジェクトに格納されます。プロット、評価、積分や導関数の計算などの後処理解析は、次の例に示すようにこのオブジェクトにメソッドを適用して実行できます。

  • プロット:plot(fittedmodel)
  • 微分:differentiate(fittedmodel, X, Y)
  • 評価:fittedmodel(80, 40)

Curve Fitting Toolbox では、対話的な近似からコマンド ラインに移行できます。このアプリを使用すれば、自動的に MATLAB コードを生成できます。また、アプリで近似オブジェクトを作成し、MATLAB ワークスペースにエクスポートして、さらに詳細な解析を行うことも可能です。

Extending the capabilities of the toolbox with a custom visualization.

カスタムの可視化を使用してツールボックスの機能を拡張。ヒート マップの色は、近似した面と参照モデル間の偏差に対応しています。

回帰

Curve Fitting Toolbox では、線形回帰と非線形回帰が利用可能です。

線形回帰

このツールボックスでは、次のものを含め、100 を超える回帰モデルが利用可能です。

  • 線と平面
  • 高次多項式 (曲線で最高 9 次、面で最高 5 次)
  • フーリエ級数とべき級数
  • ガウス
  • ワイブル関数
  • 指数
  • 有理関数
  • 正弦の和

これらの標準的な回帰モデルのすべてには、近似の質を向上するため最適化されたソルバー パラメーターと開始条件が用意されています。また、カスタムの方程式を使用してユーザー独自の回帰モデルを指定することも可能です。

曲線近似アプリでは、ドロップダウン メニューを使用して複雑なパラメトリック モデルに基づいた近似を生成できます。コマンド ラインでは、直観的な名前を使用して同じモデルにアクセスできます。

Nonlinear regression using a second-order Fourier series.

2 次元フーリエ級数を使用した非線形回帰。引数 “fourier2” を fit コマンドに渡す (左上) か、Fit Editor で 2 次元フーリエ級数を選択 (右上) できます。

Surface generated using the Custom Equation option of the Curve Fitting app.

曲線近似アプリのカスタム方程式のオプションを使用して生成した面。カスタムの方程式を指定するか、MATLAB 関数を入力できます。

Curve Fitting Toolbox の回帰解析のオプションでは、次のことが可能です。

  • 2 種類のロバスト回帰 (二重平方と最小絶対残差) から選択
  • ソルバーの開始条件を指定
  • 回帰係数を制約
  • 信頼領域アルゴリズムまたは Levenberg-Marquardt 法のアルゴリズムを選択
Adjusting fit options using the Curve Fitting app.

曲線近似アプリを使用した近似オプション調整。ロバスト回帰の種類、使用する最適化ソルバー、開始条件と制約に対する最適化ソルバーの動作を設定できます。

スプラインと補間

Curve Fitting Toolbox では、B スプライン、薄板スプライン、テンソル積スプラインなど、さまざまな補間方法が利用可能です。Curve Fitting Toolbox には、分割/節点の操作、最適な節点の配置、データポイントの重み付けなど、高度なスプライン操作のための関数が用意されています。

A cubic B-spline and the four polynomials from which it is made.

3 次元 B スプラインと 4 つの多項式。スプラインは滑らかな区分的多項式で、大きな区間の関数を表現するために使用されます。

多項式スプラインは、区分的多項式形式 (ppform) か B 形式で表現できます。ppform はスプラインを節点と局所的な多項式の係数で記述します。スプラインが広範囲にわたって評価される場合に便利です。B 形式はスプラインを B スプラインの線形結合として、具体的に言えば節点の順番と B スプラインの係数として記述します。

また Curve Fitting Toolbox では、次のような補間の方法も利用可能です。

  • 線形補間
  • 近傍法補間
  • 区分的 3 次補間
  • 重調和面補間
  • 区分的 3 次エルミート補間多項式 (PCHIP: Piecewise Cubic Hermite Interpolating Polynomial)

Curve Fitting Toolbox のスプライン近似を作成するためのコマンドでは、ベクトル値のグリッド データを使用できるため、任意の次元の曲線や面を作成できます。

Linear interpolation using the Curve Fitting app.

曲線近似アプリを使用した線形補間。

平滑化

平滑化アルゴリズムは、重要なパターンは維持しながら、データ セットからノイズを除去するために幅広く使用されています。Curve Fitting Toolbox では平滑化スプラインと局所回帰がサポートされており、変数間の関係を指定しなくても予測モデルを生成することができます。

Localized regression model.

局所回帰モデル。平滑化の手法は、変数間のパラメトリックな関係を指定せずに予測モデルを生成するために使用できます。

ノンパラメトリック近似
変数間の関係を記述する関数を指定できない場合に、予測モデルを開発します。

Curve Fitting Toolbox は、1 次多項式 (lowess) または 2 次多項式 (loess) を使用する局所回帰をサポートしています。またこのツールボックスでは、データ セット内の異常値に対応するために、ロバスト局所回帰のオプションも用意されています。さらに Curve Fitting Toolbox では、Savitzky-Golay フィルターなどの移動平均平滑機能も利用可能です。

Exploratory data analysis using a Savitzky-Golay filter.

Savitzky-Golay フィルターを使用した探索的データ解析。データを平滑化すると、周期的な要素を識別できます。

データのプレビューと前処理

Curve Fitting Toolbox では、探索的データ解析 (EDA: Exploratory Data Analysis) から、モデルの開発、後処理分析との比較へと進むといった包括的なワークフローがサポートされています。

2 次元または 3 次元でデータ セットをプロットできます。このツールボックスには、異常値の除去、データ系列の区分化、データ ポイントの重み付けや除外のためのオプションが用意されています。

Curve Fitting Toolbox では、データ セットを自動的に中央に揃えてスケールすることで、データを正規化して、近似の質を向上することができます。中央揃えとスケールのオプションは、変数のスケールが大きく異なる場合や、データ ポイント間の距離が次元によって異なる場合に使用できます。

Normalizing data with the Center and scale option to improve fit quality.

中央揃えとスケールのオプションでデータを正規化して、近似の質を向上。

Outlier exclusion using the Curve Fitting app.

曲線近似アプリを使用した外れ値の除外 (上)。除外規則を作成 (左) 特定の条件に一致するすべてのデータ ポイントを排除できます。また、グラフィカルな除外オプション (下) 使用すると、データ ポイントをクリックしてサンプルから削除することができます。

Weighting data points using the Curve Fitting app.

曲線近似アプリを使用したデータ ポイントの重み付け。

モデルの開発、比較、管理

Curve Fitting Toolbox では 1 つのデータ セットに対して複数の候補モデルを近似できます。その後、記述統計、視覚的調査、検証を組み合わせて使用して、適合度を評価できます。

記述統計

Curve Fitting Toolbox には、次のような広範囲の記述統計が用意されています。

  • 決定係数および調整済み決定係数
  • 二乗誤差の和、二乗平均平方根誤差
  • 自由度

近似テーブルでは並べ替え可能な表にすべての候補モデルがリストされ、複数のモデルをすばやく比較したり、対比したりすることができます。

The Curve Fitting app, which provides a sortable table of candidate models.

曲線近似アプリ - 並べ替え可能な候補モデルのリスト。

データの視覚的調査

ツールボックスを使うと、モデルを視覚的に調査して統計の概要ではわからない近似に関する問題を見つけることができます。たとえば、次のような作業が可能です。

  • 面と残差のプロットを並べて生成して、残差に見られるパターンを探す
  • 複数のモデルを同時にプロットして、重要な領域でどれだけデータに良い近似をするかを比較する
  • 2 つのモデル間の差を新しい面としてプロットする
Surface generated with the Curve Fitting app.

曲線近似アプリで生成した面。ヒート マップの色は、近似した面と参照モデル間の偏差に対応しています。

検証の手法

Curve Fitting Toolbox では、過剰近似 (オーバーフィッティング) を防止する検証手法がサポートされています。トレーニング データ セットを使用して予測モデルを生成し、モデルを検証データ セットに適用して、適合度を評価できます。

後処理解析

データ系列を最も良く表す曲線や面を選択したら、後処理解析を実行できます。Curve Fitting Toolbox では、次の作業を行うことができます。

  • プロットの作成
  • モデルを使用した値の推定 (評価)
  • 信頼区間の計算
  • 予測区間の推定
  • 曲線の下の面積の計算 (積分)
  • 導関数の計算
Postprocessing analysis with the Curve Fitting Tool.

曲線近似アプリを使用した後処理解析。近似曲線とともに自動的に生データの散布図が作成されます。 また、近似曲線の 1 階導関数と 2 階導関数も表示されます。

次の例はコマンド ラインからの後処理で、近似処理で作成されたオブジェクトに直観的なコマンドを適用する方法を示します。

  • 評価:EnergyConsumption = fittedmodel(X, Y)
  • プロット:EnergySurface = plot(fittedmodel)
  • 積分:Volume_Under_Surface = quad2d(fittedmodel, Min_X, Max_X, Min_Y, Max_Y)
  • 微分:Gradient = differentiate(fittedmodel, X,Y)
  • 信頼区間の計算:Confidence_Intervals = confint(fittedmodel)
Using command-line postprocessing to calculate and plot a gradient.

コマンドライン後処理を使用した勾配の計算とプロット。

製品評価版の入手
または製品の購入

基礎からはじめる MATLAB データ解析入門

Web セミナーを表示する