Main Content

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

フランケ データの曲面近似

曲線近似アプリには、フランケの二変量テスト関数から生成されたサンプル データが用意されています。このデータは、曲線近似アプリでさまざまな近似設定を試すのに適しています。

サンプル データを読み込み、曲面近似を作成、比較、エクスポートするには、以下の手順に従います。

  1. サンプル データを読み込んで曲線近似アプリで使用するには、MATLAB® コマンド ラインで load franke と入力します。変数 xy および z がワークスペースに表示されます。

    このサンプル データは、曲線近似アプリでさまざまな近似設定を試すための適切なデータを作成するために、フランケの 二変量テスト関数から生成され、ノイズとスケーリングが追加されています。フランケ関数の詳細については、次の論文を参照してください。

    Franke, R., Scattered Data Interpolation:Tests of Some Methods, Mathematics of Computation 38 (1982), pp. 181–200.

  2. このデータを近似データと検証データに分けるには、次の構文を入力します。

    xv = x(200:293);
    yv = y(200:293);
    zv = z(200:293);
    x = x(1:199);
    y = y(1:199);
    z = z(1:199); 

  3. このサンプル データを使用して曲面で近似するには

    1. 曲線近似アプリを開きます。cftool と入力するか、[アプリ] タブで [曲線近似] を選択します。

    2. 曲線近似アプリで変数 xy および z を対話的に選択します。

      または、曲線近似アプリを (必要に応じて) 開くよう cftool(x,y,z) と入力する際に変数を指定し、既定の近似を作成することもできます。

    変数を選択すると、曲線近似アプリによりデータ点がプロットされます。xy および z を選択すると、既定の曲面近似が自動的に作成されます。既定の近似はデータ点を通過する内挿曲面です。

  4. Lowess 近似タイプを試します。曲線近似アプリのドロップダウン リストから [Lowess] 近似タイプを選択します。

    曲線近似アプリにより局所平滑化回帰近似が作成されます。

  5. 近似設定を変えてみます。[範囲] エディット ボックスに 10 と入力します。

    範囲を既定の設定から合計データ点数の 10% に減らすと、よりデータに近い曲面が生成されます。この範囲によって、それぞれの平滑化値を決定するために使用される隣接データ点が定義されます。

  6. [近似名] を編集して Smoothing regression に変更します。

  7. 手順 2 でデータを近似データと検証データに分けた場合、この検証データを選択します。検証データを使用すると、近似に使用していない他のデータとの比較により曲面が適切なモデルであることを確認するのに役立ちます。

    1. [近似][検証データを指定] を選択します。[検証データを指定] ダイアログ ボックスが開きます。

    2. ドロップダウン リストから [X 入力][Y 入力] および [Z 出力] の検証変数 xvyv および zv を選択します。

    プロット内の選択した検証データと、[結果] ペインおよび [近似テーブル] の検証統計量 (SSE および RMSE) を確認します。

  8. 現在の曲面近似をコピーして、比較用の別の近似を作成します。[近似]["Smoothing regression" を複製] を選択するか、[近似テーブル] の近似を右クリックし、[複製] を選択します。

    同じ近似設定、データおよび検証データで新しい近似の Figure が作成されます。また、新しい行が近似テーブルの下部に追加されます。

  9. 近似タイプを [多項式] に変更し、近似名を編集し Polynomial に変更します。

  10. [x] および [y][次数][3] に変更し、両方の次元について 3 次多項式で近似します。

  11. x および y 軸のスケールを確認し、[結果] ペインに表示される次の警告メッセージを確認します。

    Equation is badly conditioned. Remove repeated data points
             or try centering and scaling.
    

    [データのセンタリングとスケーリング] チェック ボックスをオンにして正規化し、x と y のスケールの大きな違いを補正します。

    曲面近似を正規化すると [結果] ペインの警告メッセージが消えます。

  12. [結果] ペインを見てみます。以下を確認 (および必要に応じてコピー) できます。

    • モデルの方程式

    • 推定係数の値

    • 適合度の統計量

    • 検証の適合度の統計量

    Linear model Poly33:
         f(x,y) = p00 + p10*x + p01*y + p20*x^2 + p11*x*y...
                        + p02*y^2 + p30*x^3 + p21*x^2*y 
                        + p12*x*y^2 + p03*y^3
           where x is normalized by mean 1977 and std 866.5
           and where y is normalized by mean 0.4932 and std 0.29
    Coefficients (with 95% confidence bounds):
           p00 =      0.4359  (0.3974, 0.4743)
           p10 =     -0.1375  (-0.194, -0.08104)
           p01 =     -0.4274  (-0.4843, -0.3706)
           p20 =      0.0161  (-0.007035, 0.03923)
           p11 =     0.07158  (0.05091, 0.09225)
           p02 =    -0.03668  (-0.06005, -0.01332)
           p30 =     0.02081  (-0.005475, 0.04709)
           p21 =     0.02432  (0.0012, 0.04745)
           p12 =    -0.03949  (-0.06287, -0.01611)
           p03 =      0.1185  (0.09164, 0.1453)
    
    Goodness of fit:
      SSE: 4.125
      R-square: 0.776
      Adjusted R-square: 0.7653
      RMSE: 0.1477
    
    Goodness of validation:
      SSE : 2.26745
      RMSE : 0.155312
    

  13. この近似情報をワークスペースにエクスポートするには、[近似][ワークスペースに保存] を選択します。このコマンドを実行すると、観測値とパラメーターの数、残差、近似モデルなどその他の情報もエクスポートされます。

    この近似モデルを、X および Y の値で曲面を予測または評価する関数として扱うことができます。詳細については、ワークスペースへの近似のエクスポートを参照してください。

  14. 残差のプロットを表示し、曲面に対する点の分布を確認します。ツール バー ボタン をクリックするか、[表示][残差プロット] を選択します。

  15. 残差プロットを右クリックし、[X-Z 表示に移動] を選択します。X-Z 表示は必須ではありませんが、この表示を使用すると削除する外れ値を簡単に確認できます。

  16. 外れ値を削除するには、ツール バー ボタン をクリックするか、[ツール][外れ値を排除] を選択します。

    マウス カーソルをプロットに移動すると、カーソルが十字に変わり、外れ値選択モードであることが示されます。

    1. 表面プロットまたは残差プロットで排除する点をクリックします。または、クリックしてドラッグすることにより四角形を指定し、囲まれたすべての点を削除します。

      削除したプロットの点は、プロット内に赤い星印として表示されます。

    2. [自動近似] を選択している場合、その点を含まずに曲面で再近似されます。そうでない場合は、[近似] をクリックして曲面で再近似します。

    3. 回転モードに戻るには、ツール バー ボタン を再度クリックし、[外れ値を排除] モードをオフにします。

  17. 近似を並べて比較するには、タイル ツールを使用します。[ウィンドウ][左/右に並べる] を選択するか、ツール バー ボタンを使用します。

  18. [近似テーブル] で情報を確認します。セッション内のすべての近似について適合度の統計量を比較し、どれが最適かを判断します。

  19. 対話型の曲面近似セッションを保存するには、[ファイル][セッションの保存] を選択します。セッションを保存して再読み込みすると複数の近似にアクセスできます。セッション ファイルには、セッション内のすべての近似と変数が含まれていて、レイアウトが記憶されています。

  20. 近似を対話的に作成し比較した後で、曲線近似アプリのセッションですべての近似とプロットのコードを生成できます。[ファイル][コード生成] を選択します。

    曲線近似アプリはセッションからコードを生成し、MATLAB エディターにファイルを表示します。このファイルには現在のセッションにあるすべての近似とプロットが含まれます。

  21. ファイルを createFits.m という既定の名前で保存します。

  22. 近似とプロットを再作成するには、コマンド ラインから (元のデータまたは新しいデータを入力引数に指定して) そのファイルを呼び出します。この場合、元の変数がワークスペースに引き続き表示されます。

    • ファイルの最初の行を強調表示して評価します (function という単語は除きます)。右クリックして [評価] を選択するか、F9 を押すか、または次をコピーしてコマンド ラインに貼り付けます。

      [fitresult, gof] = createFits(x, y, z, xv, yv, zv)

    • この関数は、セッション内に存在していた各近似の Figure ウィンドウを作成します。曲線近似アプリで対話的に作成した曲面と残差の両方のプロットが多項式近似の Figure に表示されることを観察します。

    • 必要に応じて、生成したコードを開始点として、ニーズに合うように曲線近似およびプロットを変更できます。使用できるメソッドの一覧については、sfitを参照してください。

すべての近似設定および近似を比較するためのツールの詳細については、以下を参照してください。