はじめよう実験計画

実験を早く終わらせるための技術

少数データで効率よく実験条件を探索するには(AutoXP3マニュアル)

少数データを効率よく実験するために、必要最低限の機能だけを実装したアプリをつくりました。

ブラウザで動作しますが、ShinyliveというWebAssembly技術を利用したアプリのため、データをサーバーとやり取りせず、ユーザーのPC内で計算が完結します。

ぜひ一度使用してみていただきたいです。

アプリはこちら → AutoXP3 (最初の読み込みだけ時間かかります...)

特徴
  • 実験データの簡単アップロード(Excel対応)
  • 入力テンプレートのダウンロード機能
  • 連続・カテゴリ変数の同時解析に対応
  • セミパラメトリックベイズモデルによる高精度フィッティング
  • 予測値(μ)と不確実性(σ)の同時表示
  • 変数ごとの影響を可視化するプロット機能
  • ベイズ最適化に基づく次実験点の自動提案
  • 少数データでも安定したモデリングが可能
  • ブラウザ上で動作するが、サーバーにデータを送信しないので安心
  • 研究開発・プロセス最適化に活用可能
紹介動画

youtu.be

実験データのアップロードからテンプレートのダウンロード、モデルフィッティングの流れ、各変数ごとの可視化、予測値と不確実性の読み取り方までを簡単に説明しました。さらに、ベイズ最適化に基づく次の実験条件の提案機能も紹介。研究・プロセス開発など、少数データで効率よく実験条件を探索したい方におすすめの内容です。

ココナラで本アプリの使い方や、内部のプログラムについて説明可能です。

少数データで効率よく実験条件を探索します 決定的スクリーニング計画/ベイズ最適化/etc.

AutoXP3使い方マニュアル

AutoXP3 とは?

AutoXP3 は、セミパラメトリックベイズをベースにしたベイズ最適化ツールです。 少数の実験データから数理モデルを自動構築し、出力値を最大化(または最小化)するために次に試すべき実験条件を提案します。

原料配合・製造条件の探索・材料設計など、「実験コストが高くてたくさん試せない」場面で威力を発揮します。

アプリへのアクセス方法

リンク→ https://long-rh.github.io/AutoXP3/

起動直後の画面。左パネルでファイルをアップロードし、右の4タブで作業を進める

画面は左の操作パネルと、右の4ステップタブで構成されています。

  1. Data — アップロードしたデータと変数定義を確認

  2. Model — GPモデルのパラメータ調整とフィット精度の確認

  3. Analyze — 入出力関係の可視化・感度分析

  4. Optimize — 次の実験候補点の提案(ベイズ最適化)


Step 00

Excelテンプレートの構成

AutoXP3 にアップロードするExcelファイルは 2つのタブDataDefinition)で構成されます。 画面左下の「Download Excel template」リンクからテンプレートを入手してください。

📄 Dataタブ

Dataタブ

 

1列目は実験の識別子(id)、続いて入力変数(X1, X2, X3)と出力変数(Y1)の実測値を行ごとに記録します。 カテゴリ変数(X3)は文字列(A / B など)で入力します。

📋 Definitionタブ

Definitionタブ

 

各変数の探索範囲・種類・目的を定義します。列の意味は以下の通りです:

  1. Min / Max — 探索空間の下限・上限。連続変数は数値、カテゴリ変数はカテゴリ値

  2. Standard — Analyzeタブで他のXを固定するときのデフォルト値

  3. Typecontinuous(連続)または categorical(カテゴリ)

  4. Interval — 連続変数の候補グリッド間隔(次の実験提案の刻み幅)

  5. Purpose — 出力変数のみ設定。> で最大化、< で最小化

💡 Tip: Yの列には Purpose を必ず設定してください。 > なら大きいほど良い、< なら小さいほど良いという最適化の方向性をモデルに伝えます。


Step 01

データのアップロードと確認

準備したExcelファイルをAutoXP3にアップロードします。

  1. 「Browse...」 ボタンをクリックし、Excelファイル(.xlsx)を選択

  2. 「Upload complete」と表示されたらアップロード完了

  3. Fit model」ボタンをクリックしてモデルを構築

1. Dataタブ — アップロードしたデータとDefinitionが表示される

 

「1. Data」タブでは、Uploaded Data(実験データ)と Definition(変数定義)の2テーブルが確認できます。 左パネルの「Input / Output info」に認識された変数の種類(連続・カテゴリ)と目的関数の方向(>)も表示されます。

確認ポイント: Dataタブを開いて、変数の型・範囲・Purposeが意図通りに読み込まれているかを必ず確認してください。 特にカテゴリ変数のラベルや出力変数のPurposeのミスは最適化結果に直接影響します。


Step 02

モデルのフィットと確認

AutoXP3は セミパラメトリックベイズ回帰 を採用しています。線形項(β)と非線形カーネル項(u)を組み合わせたモデルです:

y = X β + u + ε β ~ N(μ₀, Σ₀) (線形係数の事前分布) u ~ N(0, K)  (RBFカーネルによる非線形項) ε ~ N(0, σ² I) (観測ノイズ)

2. Modelタブ — フィット精度と予測値 vs 実測値のプロット

 

「2. Model」タブでは、GPモデルのハイパーパラメータ調整と精度確認ができます。

パラメータ

デフォルト

説明

RBF length

0.4

RBFカーネルの長さスケール(l^2)。小さいほど局所的な変動に敏感

RBF noise

0.05

観測ノイズの分散(σ²)。測定誤差が大きければ増やす

Modelタブのグラフは予測値 vs 実測値(Prediction vs Obtained)のプロットです。 点が対角線に沿っていること、右下に表示される が1に近いほどモデルのフィットが良好です。

フィッティングモデルの情報

 

Modelタブにはフィッティング結果の詳細も表示されます。線形係数の事後平均(mu_beta)、各ハイパーパラメータ、 残差分散(eps var.)とRMSE・R²が確認できます。

💡 Tip — パラメータ調整のヒント: R²が低い場合は「Refit」ボタンを押しながら RBF length を調整してみてください。 値を大きくすると滑らかなモデルに、小さくすると局所的な変動を捉えます。 ノイズが大きいデータでは RBF noise を大きめに設定すると安定します。


Step 03

Analyzeでデータとモデルを可視化

「3. Analyze」タブでは、入力変数と出力変数の関係をインタラクティブに可視化できます。 モデルの信頼性確認や変数の感度分析に使います。

3. Analyzeタブ — X軸・Y軸の変数を選択してモデルの予測カーブを確認

 

  1. X (horizontal) — グラフの横軸に使う入力変数を選択

  2. X (vertical) — グラフの縦軸に使う変数を選択

    1. X(horizontal)と同じ場合は、X vs Y1のグラフ

    2. X(horizontal)と異なる場合は、X(horizontal) vs X(vertical)でY1のコンター図

  3. 選択していない他の入力変数は、Definitionの Standard 値で固定されます

グラフには 実線(GPの予測平均)破線(1σ信頼区間)、 そして 実測データ点 が重ねて表示されます。 データが少ない領域ほど信頼区間が広がる様子がわかります。

💡 活用例: 各変数を順番にX軸に設定して可視化することで、どの変数がY1に最も影響を与えているか(感度分析)を直感的に把握できます。 信頼区間が広い領域=まだデータがない領域は、次の実験候補にもなりやすいです。


Step 04

次の実験点の提案(ベイズ最適化)

「4. Optimize」タブの 「Suggest next experiments」 ボタンを押すと、 次に試すべき実験条件の候補リストが生成されます。

4. Optimizeタブに次に実験するべき条件が提案される

テーブルの各列の意味:

列名

説明

Candidate

候補点の識別子(cand1, cand2, ...)

X1, X2, X3

提案される入力変数の値

Pred mean Y1

GPモデルによるY1の予測平均値

Pred sd Y1

Y1の予測標準偏差(不確実性の指標)

UCB(Y1)

UCB獲得関数のスコア(候補の優先順位)

Scope

Optimize(活用)またはExplore(探索)の区分

候補は UCB(Upper Confidence Bound) 獲得関数でスコアリングされています:

UCB(x) = μ(x) + κ · σ(x) μ(x):GPの予測平均(高いほど良い条件) σ(x):GPの予測標準偏差(不確実性が高い=未探索領域) κ  :探索と活用のバランスパラメータ

  • Optimize(活用) — 予測平均が高く、モデルが自信を持っている領域。現時点でベストな条件付近の候補。

  • Explore(探索) — 不確実性が大きい未探索領域。実験することでモデルの精度が大きく向上する候補。

💡 実験戦略のヒント: UCBスコア上位の候補から実験を選びます。Optimize候補は現在のモデルで最良と予測される条件、 Explore候補は新しい情報をもたらす条件です。 初期段階ではExploreを多めに、モデルが成熟してきたらOptimizeに絞るとバランス良く探索できます。

  1. 優先度の高い候補(UCBスコア上位)から実験を選ぶ

  2. 実験を実施し、得られた結果をDataシートに追記

  3. 再度「Fit model」→「Suggest next experiments」を繰り返す

  4. これを繰り返すことで、少ない実験回数で最適条件へ収束していく


AutoXP3の内部モデルの説明

AutoXP3はセミパラメトリックベイズという手法を使っています。

セミパラメトリックベイズの解説

www.doe-get-started.com

ガウス過程回帰の解説

セミパラメトリックベイズはガウス過程回帰が前提知識になります。

www.doe-get-started.com