主要内容

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

曲線近似アプリにおける近似の比較

対話型の曲線近似のワークフロー

次のトピックでは6次までの多項方程式と単項指数方程式を使用して国勢調査データに当てはめます。その手順では,以下を実行する方法を示します。

  • データを読み込み,異なるライブラリモデルを使用してさまざまな近似を探索。

  • 以下を使用して最適な近似を探索:

    • グラフィカルな近似結果の比較

    • 近似係数および適合度の統計量を含む数値的な近似結果の比較

  • 最適な近似結果をMATLAB®ワークスペースにエクスポートし,コマンドラインでモデルを解析。

  • セッションを保存し,すべての近似およびプロットのMATLABコードを生成。

データの読み込みと近似の作成

データ変数は,曲線近似アプリを使用したデータ近似に先立ちMATLABワークスペースに読み込まれていなければなりません。この例では,データはMATLABファイルcensus.matに保存されています。

  1. データを読み込みます。

    负载的人口普查

    ワークスペースには次の2つの新しい変数が含まれています。

    • cdateは1790年から1990年までの10年ごとの年度を示す列ベクトルです。

    • 流行は,cdateの年度に対応する米国の人口数が記された列ベクトルです。

  2. 曲線近似アプリを開きます。

    cftool

  3. 変数名cdate流行[Xデータ][Yデータ]のリストから選択します。

    曲線近似アプリによって,X入力(予測子データ)とY出力(応答データ)に対する既定の近似が作成されプロットされます。既定の近似は線形多項式近似タイプです。この近似設定が,[次数][1][多項式]を表示することを観察します。

  4. [次数]リストから[2]を選択して,近似を2次多項式に変更します。

    曲線近似アプリにより新しい近似がプロットされます。曲線近似アプリでは既定で[自動近似]が選択されているため,近似設定を変更すると,新しい近似が計算されます。大きなデータセットなど再近似に時間がかかる場合は,[自動近似]チェックボックスをオフにしてこの機能を無効にすることができます。

    曲線近似アプリによる,2次多項式を使用した国勢調査データの近似結果が[結果]ペインに表示され,ライブラリモデル,近似係数および適合度の統計量をここで確認できます。

  5. [近似名]poly2に変更します。

  6. [表示](残差プロット]を選択して残差を表示します。

    残差は,より適切に近似できる可能性を示しています。そのため,国勢調査データセットのさまざまな近似の探索を続けます。

  7. 新しい近似を追加して,その他のライブラリの方程式を試します。

    1. (近似テーブル]で近似を右クリックし,["poly2“の複製]を選択します(または,[近似]メニューを使用します)。

      ヒント

      特定のタイプ(多項式など)の近似では,近似をコピーした方が必要な手順が少なくなるため,新しい近似ではなく["fitname“を複製]を使用します。複製した近似には,同じデータ選択と近似設定が含まれます。

    2. 多項式の[次数]3.に変更し,近似の名前をpoly3に変更します。

    3. 高い次数の多項式で近似すると,[結果]ペインに次の警告が表示されます。

      方程条件很差。删除重复的数据点或尝试居中和缩放。

      データを正規化するには,[データのセンタリングとスケーリング]チェックボックスをオンにします。

    4. 手順一およびbを繰り返し,6次までの多項式近似を追加し,さらに指数近似を追加します。

    5. 新しい近似ごとに,[結果]ペインの情報と,曲線近似アプリの残差のプロットを確認します。

      適切な近似の残差は,明確なパターンがなくランダムになります。同じ符号の残差が連続する傾向があるなど,なんらかのパターンがある場合は,より適切なモデルが存在する可能性を示しています。

スケーリングについて

この近似手順では非常に大きな値を含む行列の基底としてcdateの値を使用するため,スケーリングについての警告が発生します。cdateの値の広がりが原因でスケーリングの問題が発生します。この問題に対処するために,cdateデータを正規化することができます。正規化により予測子データがスケーリングされ,その後の数値計算の精度が向上します。cdateを正規化する方法の1つは,ゼロ平均にセンタリングし,単位標準偏差にスケーリングすることです。これに相当するコードは次のとおりです。

(cdate -意味着(cdate)。/性病(cdate)

メモ:

正規化の後,予測子データが変化するため,近似係数の値も元のデータに比べて変化します。ただし,データの関数形式と結果として得られる適合度の統計量は変化しません。また,曲線近似アプリのプロットでは元のスケールでデータが表示されます。

最適な近似の決定

最適な近似を決定するには,グラフィカルな近似結果と数値的な近似結果の両方を検証する必要があります。

グラフィカルな近似結果の検証

  1. 近似と残差のグラフを検証することにより最適な近似を決定します。それぞれの近似のプロットを順に表示するには,[近似テーブル]の近似をダブルクリックします。グラフィカルな近似結果は以下を示しています。

    • 多項方程式の近似と残差はどれも似ているため,最適なものを選択することが難しくなっています。

    • 単項指数方程式の近似と残差は,全体的に近似が適切でないことを示しています。したがって,これは不適切な選択であり,最適な近似の候補から指数近似を削除できます。

  2. 2050年までの近似の振る舞いを検証します。国勢調査データの近似の目標は,最適な近似を外挿して将来の人口値を予測することです。

    1. (近似テーブル]の6次多項式近似をダブルクリックし,この近似のプロットを表示します。

    2. [ツール](座標軸の範囲]を選択し,プロットの座標軸の範囲を変更します。

    3. [X (cdate)][最大値]2050に変更し,[メインのY(流行))[最大値]400に増やしてから输入キーを押します。

    4. 近似のプロットを検証します。データ範囲外での6次多項式近似の振る舞いから,これは外挿に適した選択ではないため,この近似は棄却できます。

数値的な近似結果の評価

グラフィカルな近似の検証でそれ以上近似を排除できない場合,数値的な近似結果を検証する必要があります。曲線近似アプリには,次の2種類の数値的な近似結果が表示されます。

  • 適合度の統計量

  • 近似係数の信頼限界

適合度の統計量は,曲線がデータをどの程度適切に近似できるかの判断に役立ちます。係数の信頼限界によって係数の精度が決まります。

数値的な近似結果を検証します。

  1. 近似ごとに,適合度の統計量が[結果]ペインに表示されます。

  2. (近似テーブル]ですべての近似を同時に比較します。列見出しをクリックすると,統計量の結果で並べ替えることができます。

  3. 誤差の二乗和(SSE)と自由度調整済み決定係数の統計量を検証すると,最適な近似の決定に役立ちます。RSSEの統計量は近似の最小二乗誤差であり,値がゼロに近いほど近似が適切であることを示します。一般に,自由度調整済み決定係数の統計量は,係数をモデルに追加するときに近似品質の最も優れた指標になります。R

    exp1の最大のSSEは,この近似が適切でないことを示しています。これについては,近似と残差の検証により既に判断済みです。上交所値が最小なのはpoly6です。ただし,データ範囲外でのこの近似の振る舞いから,これは外挿に適した選択ではありません。新しい軸の範囲を使用したプロットの検証により,この近似は棄却済みです。

    その次にSSE値が適切なのは5次多項式近似poly5であり,これが最適な近似である可能性があります。ただし,残りの多項式近似のSSEと自由度調整済み決定係数の値はすべて互いに非常に近い値です。Rどれを選択したら良いでしょうか。

  4. 最適な近似の問題を解決するには,[結果]ペインで残りの近似の信頼限界を検証します。(近似テーブル]の近似をダブルクリックすると,その近似の图が開き(既に開いている場合はフォーカスが移動),[結果]ペインが表示されます。“近似の图”には,単一の近似の近似設定,結果ペインおよびプロットが表示されます。

    5次多項式とpoly2近似の图を並べて表示します。結果を並べての検証は近似の評価に役立ちます。

    1. 2つの近似の图を同時に表示するには,曲線近似アプリの右上にあるレイアウトコントロールを使用するか,[ウィンドウ](左/右に並べる]または(上/下に並べる]を選択します。

    2. 表示する近似を変更するには,近似の图をクリックして選択してから(近似テーブル]の近似をダブルクリックして表示します。

    3. 近似poly5poly2の両方について[結果]ペインで係数と範囲(p1p2など)を比較します。係数の95%信頼限界が計算されます。係数の信頼限界によって係数の精度が決まります。[結果]ペインで方程式(f (x) = p1 * x + p2 * x…)を確認し,各係数のモデル項を調べます。p2Poly2の項p2 * xPoly5の項p2 * x ^ 4を示していることに注意してください。正規化した係数と正規化していない係数を直接比較しないでください。

      ヒント

      次に示すように広いスペースでプロットと結果を表示して比較するには,[表示]メニューを使用して[近似設定]または(近似テーブル]を非表示にします。[結果]ペインを非表示にしてプロットのみを表示することもできます。

      5次多項式の係数p1p2およびp3については,範囲がゼロと交差します。そのため,これらの係数がゼロではないという確信はもてません。高次数のモデル項の係数がゼロになる場合,それらの項は近似に寄与しておらず,このモデルが国勢調査データに過適合していることを示しています。

      一方,2次近似ではp1p2およびp3の信頼限界が小さくゼロと交差しないため,poly2は,近似係数がかなり正確に求められたことを示しています。

      こうして,グラフィカルな近似結果と数値的な近似結果の両方を検証すると,国勢調査データを外挿するための最適な近似としてpoly2を選択することになります。

メモ:

定数項1次および2次の項に関連する近似係数は正規化されたどの多項方程式でもほぼ同一です。ただし,多項式の次数が大きくなると,高次の項に関連する係数範囲がゼロと交差し,過適合の可能性があることがわかります。

ワークスペースでの最適な近似の解析

[ワークスペースに保存)を使用すると,選択した近似および関連する近似結果をMATLABワークスペースにエクスポートできます。近似はMATLABオブジェクトとして保存され,関連する近似結果は構造体として保存されます。

  1. (近似テーブル]で近似poly2を右クリックし,[" poly2 "をワークスペースに保存)を選択(または,[近似]メニューを使用)します。

  2. (好的)をクリックし,既定の名前で保存します。

    fittedmodelは曲线拟合工具箱™のcfitオブジェクトとして保存されます。

    >> whoos fittedmodel Name Size Bytes Class fittedmodel 1x1 822 cfit . >> whoos fittedmodel Name Size Bytes Class fittedmodel 1x1 822 cfit . >> whoos fittedmodel

fittedmodelcfitオブジェクトを調べ,モデル,近似係数,近似係数の信頼限界を表示します。

系数(95%置信限):p1 = 0.006541 (0.006124, 0.006958) p2 = -23.51 (-25.09, -21.93) p3 = 2.113e+004 (1.964e+004, 2.262 2e+004)

構造体を調べ,適合度の統計量を表示します。

dfe: 18 adjrsquare: 0.9986 rmse: 2.9724

输出構造体を調べ,残差などの近似に関連する追加情報を表示します。

输出输出= nummobs: 21 numparam: 3 residuals: [21x1 double] Jacobian: [21x3 double] exitflag: 1算法:'QR分解和求解'迭代:1

さまざまな後処理関数を使用して,指定したデータ範囲で近似を評価(内挿または外挿),微分または積分することができます。

たとえば,fittedmodelを値のベクトルについて評価して2050年まで外挿するには以下を入力します。

Y =拟合模型(2000:10:2050)Y = 274.6221 301.8240 330.3341 360.1524 391.2790 423.7137
国勢調査データの近似と外挿した近似値をプロットします。
Plot (fittedmodel, cdate, pop) hold on Plot (fittedmodel, 2000:10:2050, y) hold off
対話型およびコマンドラインでの近似解析の例や手順の詳細,すべての後処理関数のリストについては,近似の後処理を参照してください。

コマンドラインを使用したこの対話型の国勢調査データの解析を再現する例については,多項式の曲線近似を参照してください。

作業の保存

このツールボックスには,作業を保存するための複数のオプションが用意されています。1つ以上の近似および関連する近似結果を変数としてMATLABワークスペースに保存できます。さらに,この保存した情報をドキュメンテーションにするために,またはデータの外挿と解析を拡張するために使用できます。作業をMATLABワークスペース変数に保存するだけでなく,次のことができます。

  • 現在の曲線近似セッションを保存するには,[ファイル][セッションの保存)を選択します。セッションファイルには,セッション内のすべての近似と変数が含まれていて,レイアウトが記憶されています。詳細は,セッションの保存と再読み込みを参照してください。

  • MATLABコードを生成し,セッション内のすべての近似とプロットを再作成するには,[ファイル][コード生成)を選択します。曲線近似アプリはセッションからコードを生成し,MATLABエディターにファイルを表示します。

    近似とプロットを再作成するには,コマンドラインから元のデータを入力引数に指定してそのファイルを呼び出します。また,このファイルを新しいデータと共に呼び出し,複数のデータセットの近似プロセスを自動化できます。詳細は,曲線近似アプリからのコードの生成を参照してください。

関連するトピック