カーブフィッティング

 

このレッスンでは線形と非線形の回帰の方法を学びます。

外れ値付き線形フィット

  1. 前回のレッスンで保存したプロジェクトを開き、プロジェクトエクスプローラのルートレベルにカーブフィッティングという名前の新しいフォルダを追加します。
  2. <Origin EXE Path>\Samples\Curve Fitting\Outliers.datファイルをインポートします。
  3. 2つ目の列を選択し、散布図を作成します。
  4. メニューの解析: フィット: 線形フィットを選択します。開いたダイアログでデフォルトの設定のままOKをクリックして、線形フィットを実行します。
  5. グラフでフィット結果テーブルを右クリックし、表中の値を選択します。切片傾きピアソンのrを除いてすべての入力を削除します (CTRLキーを押しながら複数選択します)。OKをクリックし、必要に応じて結果れーぶるの大きさを変更します。
  6. 左側のツールバーにある現プロットを対象にマスクを付加するボタンButton Mask Data.pngをクリックし、他のポイントと明らかに離れている右下のポイントをマスクします。
  7. グラフページの左上にある錠前アイコンYellow Lock.pngがデータが変更されたこと示す黄色に変わりますが、フィット結果を更新する必要があります。
  8. ESCキーを押してカーソルをポインタモードに戻します。黄色の錠前アイコンをクリックし、表示されたメニューから再計算モード:自動を選択します。フィット結果が更新されます。
  9. 標準ツールバーにある再計算ボタンButton Run for All OPS.pngをクリックすると、プロジェクト内のすべての未決定状態の操作を更新することができます。

  10. グラフに戻りマスクツールを使用して上部にある外れ値をマスクします。結果が自動的に更新されることが分かります。グラフはこの画像に近い状態になります:
    Mini tut curve fit 1.png

非線形曲線フィット

  1. 新しいワークブックを開き、<Origin EXE Path>\Samples\Curve Fitting\Gaussian.datファイルをインポートします。
  2. ロングネームがAmplitudeの列を選択し、散布図を作成します。
  3. ワークブックに戻り、ロングネームがErrorの列を選択してから右クリックし、コンテキストメニューから列XY属性の設定:Yエラーバーを選択します。
  4. マウスカーソルを選択している列の右端に近づけます。マウスカーソルの形状がDrag Drop Cursor.pngに変わります。この状態で列をグラフにドラッグアンドドロップします。データがエラーバーとして散布図に追加さえれます。
  5. このデータをフィットしましょう。メニューから解析:フィット:非線形曲線フィットを選択してNLFitダイアログを開きます。
  6. 関数選択ページで、カテゴリドロップダウンでPeak Functionsを選択し、関数ドロップダウンでGaussを選択しますj。
  7. フィットボタンをクリックしてフィットを実行し、次のダイアログでいいえを選択してグラフウィンドウをアクティブなままにしておきます。
  8. 次にy00に修正し結果を更新しようと思います。グラフの左上の角にある緑の錠前アイコンをクリックして、パラメータを変更を選択します。
  9. 先ほどのダイアログが最後に実行した設定の状態で再度開きます。パラメータタブに移動し、y0固定ボックスにチェックを入れ、0と入力します。
    GST Curve Fitting 01.png
  10. フィットボタンをクリックしてファイルを更新し、ダイアログを閉じます。グラフの更新されたテーブルでy0 = 0 \pm 0となっていることを確認できます。

パラメータを共有したグローバルフィット

  1. 新しいワークブックを開き、<Origin EXE Path>\Samples\Curve Fitting\Exponential Decay.datファイルをインポートします。
  2. 3つのY列を選択し、折れ線グラフを作成します。
  3. すべてのデータプロットを同時に0.4から1.0のx範囲でフィットしようと思います。インターフェースの左側にドックされているツールツールバーで、 click the down arrow button on the right of アクティブプロットから選択ボタンButton Select On Active Plot.pngの右側にある下向き三角のボタンをクリックします。表示されたメニューから全てのプロットから選択を選択します。グラフに移動し、0.4から1.0のx範囲をカバーして、3つの曲線がすべて含まれるようにドラッグして四角を描きます。
    Mini tut curve fit 2.png
  4. CTRL+Yキーを押すと、素早くNLFitダイアログが開きます。カテゴリExponential をセットし、関数ExpDec1をセットします。
  5. 設定タブの下にあるデータ選択をクリックし、 入力データノードを開いて3つの曲線が追加されていることを確認します。Range#ノードを開いてデータの範囲を行インデックスまたはx値のどちらかで修正することができます。
  6. 範囲選択が複数のプロットで行われていない場合は、Originは複数のプロットを含んでいるグラフレイヤからアクティブなデータプロットを選択します。この場合、入力データの右側にあるButton Right Triangle.pngボタンをクリックして現在のページのすべてのプロットを追加するを選択することができます。

  7. 複数データフィットモードグローバルフィットに変更し、パラメータータブに切り替えて収束までフィットボタンFit until converge.pngをクリックして、3つすべての曲線を同時にダイアログを開いたままフィットします。
  8. グローバルフィット中にパラメータを共有することができます。time constant t1共有ボックスにチェックを入れます。他の曲線の時間パラメータがパラメータリストから削除されたことに気が付くはずです。
  9. フィットボタンをクリックし、次のダイアログではいを選択してレポートシートに切り替えます。このダイアログが表示されない場合はグラフの緑色の錠前アイコンをクリックして結果に行くを選択します。
  10. レポートをした方向にスクロールして概要テーブルを表示します。すべてのtime constants t1 が同じ値で共有されていることが分かります。
    GST Curve Fitting 02.png
  11. 概要ノードの横にある下向き三角のボタンをクリックし、新しいシートとしてコピーを作成を選択します。フィット結果を含んだ新しいシートがブックに追加されます。
  12. 列DとEを選択し、縦棒グラフを作成して振幅パラメータ(A1)が3つのデータセット全体でどのように変化するかを表示します。
    Mini tut curve fit 3.png