非線形な関係にも対応できる、柔軟な回帰分析モデルを構築
Neural Network Regressionアプリは、ニューラルネットワーク(NN)を使って、複数の説明変数(X)と目的変数(Y)の関係をモデル化・予測するためものです。従来の回帰モデルでは捉えにくい非線形な関係や複雑なデータ構造も、ニューラルネットの柔軟性で表現することができます。このアプリは Pythonの scikit-learn ライブラリをベースとしています。
※インストールの際、必要なPythonライブラリ(scikit-learnなど)が自動的にダウンロードされます。インストールが完了するまで数分お待ちいただき、その後Originを再起動してください。
![]() |
|
作者 | OriginLab Technical Support |
ライセンス | 無料 |
必要バージョン | Origin2022b (9.95)以降、Pro版専用 |
ユーザインタフェースの言語 | 英語 |
カテゴリ | 解析 |
開発元ページ | Neural Network Regressionのページ ※英語のみ |
実行後には、フィット結果、残差プロット、交差検証統計、学習済みモデルのレポートが出力されます。
Neural Network Regressionアプリの「Options」タブでは、次のような学習条件(ハイパーパラメータ)を設定できます。
※隠れ層の構成や学習条件は、データによって最適な組み合わせが異なります。一度でうまくいかない場合もありますが、何度か試すことで精度の高いモデルが見つかります。(参考:構造選定のヒントはこちら)
パラメータ名 | 説明 |
---|---|
Hidden Neurons in Each Layer | 層ごとの隠れニューロン数を空白区切りで入力(例: 4 8 7 4) |
Maximum Iterations | 学習の最大反復回数 |
Learning Rate | 重み更新時の学習率 |
Loss Tolerance | 誤差関数の収束しきい値 |
Epochs Without Change | 誤差改善が見られない場合の打ち切り条件 |
Activation Function | Tanh、Logistic、Identityから活性化関数を選択 |
Standardization | 正規化の手法をNone, Z-scores, Normalize to (0, 1)から選択 |
学習条件の設定についてのご相談やご要望などございましたら、お気軽にご相談ください。
項目 | 意味・解釈 |
---|---|
Number of Points | 使用されたデータ点数 |
Degrees of Freedom | 自由度。データ点数からパラメータ数などを差し引いた値 |
Residual Sum of Squares | 残差平方和。実測値と予測値の差の2乗の合計。小さいほど良い |
R-Square (COD) | 決定係数。モデルがデータをどの程度説明できているかを示す(1に近いほど良好) |
Adj. R-Square | 調整済み決定係数。モデルの複雑さを考慮して補正されたR² |
Root-MSE (SD) | 残差の標準偏差(平均的な誤差の大きさ)。小さいほど良い |
Loss / Iterations | 最終的な損失関数の値と、学習にかかった繰り返し回数 |
Fitted Plot | 元データとNNによるフィット結果の重ね合わせ。精度の視覚的確認に有用 |
Residual Plot | 残差の分布や傾向を確認。偏りやパターンがないかをチェック |
Regression Plot | 予測値と実測値の相関を確認。直線に近いほど良好 |
Loss Curve Plot | 学習中の損失値の推移。滑らかに減少し、平坦になれば収束していると判断できる |
2つのピークを持つ波形データに対して、ニューラルネットワークを使ってフィッティングを行う例です。非線形な波形に対してNNがどのようにフィットできるかを確認できます。
以下のようなステップで操作します。
今回のニューラルネットワークモデルは、与えられた非線形な波形データに対して非常に良好なフィット性能を示していると評価できます。
入力データ(X)を与えることで、対応する出力(Y)を予測できます。実際の操作は以下の通りです。
3つの説明変数(Indep1~3)と1つの目的変数(Dep)の関係を学習する例です。重回帰に似た設定ですが、ニューラルネットを使うことで非線形性や変数間の相互作用にも対応できます。
実際の操作は以下の通りです。
今回のように比較的線形に近いデータであれば、隠れ層の設定を少なめにしたシンプルなネットワーク構成でも、高い予測精度が得られることがわかります。
OriginProには、もうひとつのニューラルネットアプリ「Neural Network Fitting」も用意されています。両者の主な違いは次の通りです。
項目 | Neural Network Regression(NNR) | Neural Network Fitting(NNF) |
---|---|---|
実行環境 | Python(scikit-learn を使用) | R(neuralnet パッケージを使用) |
モデルの再利用 | 可能(学習済みモデルを保存し、予測に再利用可) | 不可(毎回再学習が必要) |
予測機能 | Predictionタブ、Predictionボタン、Pythonスクリプトから実行 | Predictionタブから手動で実行 |
パラメータ設定 | 詳細に指定可能(学習率、収束条件なども) | 基本的な項目のみでシンプル |
ネットワークプロット | 非対応 | 対応(Origin 2021b 以降) |
計算時間 | 構成が複雑な場合はやや重くなる | 比較的高速 |
スクリプトからのモデル再利用 |
nnr.LoadRegressionModel() により、アクティブブックの学習済みモデルを呼び出して新しい入力に対して予測可能。
|
モデルは直接呼び出せないため、スクリプトによる再利用はできない。 |
ご不明な点がございましたら、お気軽にお問合せフォームよりテクニカルサポートまでご連絡ください。
その際、必ず「製品名」「バージョン」「シリアル番号」をご連絡ください。