HOME > ソフトウェアパッケージ > 数値データ解析/可視化 > Igor Pro (イゴールプロ)
新規購入お見積
アップグレードお見積
Igor Pro (イゴールプロ)
製品概要 : データ解析機能

データ解析機能

 

回帰分析 (Curve Fitting)

回帰分析は Igor Pro の最も優れた解析機能のひとつです。線形および一般的非線形回帰分析、一般 的な回帰組み込み関数、組み込み関数に対する自動初期値推定、多様なユーザー定義関数による回帰分析、格子状または多重列データとして独立変数をいくつも含む関数による回帰分析、波形または XYウェーブの部分領域への回帰分析、誤差の推定、重み付けのサポートなど様々な機能があります。

回帰分析ダイアログ
  • 組み込み回帰関数
    • 組み込み回帰関数には線形、多項式、サイン、指数、二重指数、ガウス、ローレンツ、ヒルの微分方程式、シグモイド、ログノーマル、ガウス 2D (2次元ガウスピーク)、多項式 2D (2次元多項式) があります。
      • gauss : ガウス曲線による回帰
      • lor : ローレンツによる回帰
      • exp_XOffset : 減衰指数曲線による回帰
      • dblexp_XOffset : 2つの減衰指数曲線による回帰
      • exp : 減衰指数曲線
      • dblexp : 減衰指数曲線の和
      • sin : シヌソイドによる回帰
      • line : 直線による回帰
      • poly n : n 項か次数 n-1 を伴う多項式による回帰
      • HillEquation : Hill の方程式、S 字関数による回帰
      • sigmoid : Hill の方程式と異なる形状をもつ S 字関数による回帰
      • power : 累乗法による回帰
      • lognormal : ログノーマルのピーク形状を回帰
      • gauss2D : 2次元のガウス曲線を回帰
      • poly2D n : 2次元における次数nの多項式による回帰
        →関連:Igor Pro の定義済み組み込み関数
  • ユーザー定義関数
    • ダイアログにユーザーが定義した回帰式を入力してユーザー定義関数を作成できます。
  • 制限付き回帰
    • 回帰分析ダイアログの「係数」タブにある制限付き回帰を可能にするメニュー。制限セクションに値を入力し、オーバーフロなどのエラーによる回帰の終了を防ぎます。
  • 外部関数 (XFUNC)
    • 外部関数 (XFUNC) は C または C++ で記述されています。XFUNC を作成するには、オプションの「Igor XOP Toolkit」および C/C++ コンパイラが必要です。WaveMetrics や他のユーザーから入手した XFUNC を使用する場合には、この Toolkit は必要ありません。

 

ピークの測定 (Peak Analysis)

ピーク測定の要は FindPeak コマンドです。このコマンドを使用してユーザー独自のピーク測定プロシージャを構築することもできます。また、WaveMetrics によって用意されているプロシージャを使用することもできます。

  • ピークの検出 (Peak Finding)

  • BaseLine Removal


Multi-peak Fitting

Multi-peak fitting は、ピークタイプのデータを解析する場合に役に立つパッケージです。分光法やクロマトグラフィー、質量分析などから得られたデータに使用できます。Multi-peak fitting は、以下のような機能を含みます:

新しい Multi-peak Fit 2 パッケージ
  • Gaussian、Lorenzian、Voigt、および、指数関数的に修正した Gaussian を含む、様々な異なるピーク形状
  • 複数の重なり合ったピークをフィッティングする機能
  • データセットの分析時に、異なるピーク形状を混合して使用する機能
  • ピークの位置や高さ、幅の初期推定を生成する自動ピーク検出
  • 正または負のピークとしてピークを扱う機能
  • ベースラインまたはバックグラウンド関数の選択
  • 手動でピーク検出を行う、または、自動検出されたピークのパラメータを変更するためのインタラクティブなエディター
  • すべての処理をコントロールするインターフェイス
  • ユーザ独自のプラグイン ピーク関数およびベースライン関数を記入可能にするモジュール アーキテクチャ
  • ユーザ独自のコードから基本機能を使用することを可能にするプログラマ インターフェイス

Multi-peak Fit 2 の具体的な操作法につきましては、Multi-peak Fit ガイド ツアーをご覧ください。

 

信号処理 (Signal Processing)

信号処理 (Signal Processing) は、取得した生の時系列データを解析したり補正するために変換する科 学技術的手法です。例えば、スペクトル解析 (FFT 等を使用) やデジタルフィルタリングを使用して取得したデータを補正するような場合が含まれます。Igor は、非常に長い時系列データ (又は「ウェーブフォーム」) にも対応しているという点と、 豊富な組み込み信号処理コマンドをシンプルなダイアログを通じて利用できる点で、信号処理に使用するソフトウェアとしては最適なものです。また、Igor のプログラム言語を使えば、Igor のもつフーリエ変換等のパワーを活用することであらゆる種類のカスタム信号処理アルゴリズムを実装できます。

  • フーリエ変換
    • Igor では高速フーリエ変換 (FFT) アルゴリズムを使用して、離散フーリエ変換 (DFT) の計算を行っています。FFT 操作関数は、信号の振幅と位相を検出するなどの大きな処理内の 1 ステップとして Igor プロシージャから呼出されます。Igor の FFT では素因数分解多次元アルゴリズムを使用しています。素因数分解を行うことによって、ほぼ任意の数のデータポイントを使用することができます。
  • スペクトルウィンドウ
    • FFT 計算は、データが何度も反復して入力されるとの仮定に基づいています。これは、データの初期値と最終値が異なる場合に重要な問題となります。この不連続性は、FFT 計算によって得られるスペクトルに狂いを生じさせます。データの末端をスムーズに接続するウィンドウィングにより、これらの狂いが取り除かれます。
  • パワースペクトル
    • 「パワースペクトル」は、「どの周波数が信号のパワーを含んでいるのか?」という問いに答えを出します。答えは、周波数の関数としてパワー値の分布の形式であらわされます。この場合、「パワー」は、2信号の平均として考慮されます。周波数の領域では、FFT の振幅の2乗となります。パワースペクトルでは、全ての信号が一度に計算されます。言い換えると、時間信号の断片のピリオドグラムはすべて「パワースペクトル密度」の形式で平均化されます。
  • Hilbert 変換
    • Hilbert 変換は、入力信号の位相を90度転換した時間領域信号を計算します。一次元の適用には、変調信号のエンベロープの計算および underdamped な線形・非線形システムでみられる幾何級数的に減衰する正弦曲線 (シヌソイド) の減衰率の測定が含まれます。
  • 時間周波数解析
    • ある信号のフーリエスペクトル (又はパワースペクトル) を計算するとき、フーリエ変換に含まれるすべての位相情報はまとめて整理されてしまいます。信号にふくまれている周波数を調べることはできますが、その周波数が信号のどの部分に出現するかはわかりません。この問題の解決策のひとつに「短時間フーリエ変換」と呼ばれる方法があります。この方法では、スライドする一時ウィンドウを使用してフーリエスペクトルを計算します。ウィンドウの幅を調整することで、結果のスペクトルの時間分解能を決定することができます。
  • デジタルフィルタリング
    • デジタルフィルタは、データが既にデジタル化されている場合に使用する本質的なツールです。データにデジタルフィルタを適用する理由には次のようなものがあります:不要な信号成分 (ノイズ) の削除。必要な信号成分の補正。特定の信号の検出。線形システムのシミュレーション (与えられた入力信号に対する出力信号の計算およびシステムの「変換関数」) 。デジタルフィルタには一般に FIR (Finite Impulse Response:有限インパルス応答) と IIR (Infinite Impulse Response:無限インパルス応答) フィルタの2種類があります。Igor は、主として Smooth 又は SmoothCustom コマンドによる時間領域畳み込みを利用した IFR デジタルフィルタリングを実装しています。SmoothCustom を使用した FIR フィルタ係数の設計は、Igor Filter Design Laboratory を利用すると便利です。IIR デジタルフィルタの設計とデータへの適用も IFDL で可能です。FilterFIR/FilterIIR
  • スムージング
    • スムージングはデータのばらつきをなくすために使用するフィルタリング処理です。ノイズを消すために使用することもあります。Smooth 操作関数にはいくつかのスムージングアルゴリズムが内蔵されています。また、ユーザー独自のスムージング係数を使用することもできます。
      • 2項スムージング
      • Savitzky-Golay スムージング
      • ボックススムージング
      • カスタムスムージング係数
      • 末端効果
  • 畳み込み (Convolution)
    • 畳み込みを使用することで入力信号に対する線形システムの応答を計算できます。線形システムはそのインパルス応答によって定義されます。入力信号とインパルス応答の畳み込みが出力信号応答です。畳み込みは周波数領域におけるフィルタリングの時間領域での同等物です。Igor では Convolve 操作関数を使用して一般的な畳み込みが実装されています。
  • レベルの検出
    • レベルの検出とは、与えられた Y 値を通る、または、与えられた Y 値に達するデータの X 座標を調べるプロセスです。これは「逆補間」と呼ばれることもあります。つまり、レベルの検出とは、「与えられた Y レベルに対応する X 値は何か」という質問に答えることです。この質問に対する Igor の答えには2種類あります。 そのひとつは Y データが単調に増減する Y 値のリストであると想定した場合の答えです。この場合は、Y 値に対応する X 値はひとつしかありません。検索の位置と方向は問題ではありませんから、このような場合には二分探索が最も適しています。もうひとつは、Y データが不規則に変化すると想定した場合の答です。この場合は、Y レベルを通る X 値が複数存在することがあります。返される X 値は、データの探求を開始する位置と方向によって異なります。

 

 

関数の解析

Igor Pro には、個々のデータポイントを操作するばかりではなく、関数について操作する機能も備わっています。

  • 関数のプロット (Plotting of functions)
    • Igor を使うと簡単に関数のグラフを作成できます。 簡単な式の場合は、コマンドライン上で算術式を入力します。Igor のプログラミング言語を利用すると、 任意の複雑な非線形関数をユーザー定義関数として表現でき、これをグラフの作成に利用できます。
  • 微分方程式 (Differential Equations)
    • 常微分方程式の含まれる初期値問題の数値解を、IntegrateODE 操作関数を使用して計算することができます。ユーザー定義関数を作成して連立微分方程式を実装することも可能です。作成した微分方程式の解は、初期条件から前方 (あるいは後方) に順次解を求めていくか、独立変数を増加させて計算されます。
  • 最適化 (Optimization)
    • 関数の極大値又は極小値を求めるには Optimeze 操作関数を使用します。関数がある X 値をもち、そのときの Y 値がその近傍のすべての Y 値より小さい場合、この Y 値を極小値とみなします。
  • 関数の根 (Function Roots)
    • Igor には、非線形関数、連立非線形関数、または実数係数を伴う多項式の根またはゼロを求める機能が用意されています。この機能は、FindRoots 操作関数を使用してコマンドライン上で実行します。
  • 関数の積分 (Integration of Functions)
    • integrate1D 関数を使用して、ユーザー定義関数の数値積分を行うことができます。Integrate1D 関数は、台形、Romberg、ガウス求積の 3 種類の積分法をサポートしています。Integrate1D は、複素関数も処理できます。