生物医薬品データの曲面近似
Curve Fitting Toolbox™ ソフトウェアには、麻酔薬の相互作用の研究用サンプル データがいくつか用意されています。曲線フィッター アプリを使用して応答曲面をこのデータに当てはめ、薬物相互作用の効果を分析できます。応答曲面モデルは、複合薬における薬力学的相互作用の振る舞いを理解するための優れた方法です。このデータは、[1] の結果に基づいています。
通常、麻酔はオピオイドと鎮静催眠薬で構成される 2 つ以上の薬物の作用です。この例では、薬物クラス プロトタイプとしてプロポフォールとレミフェンタニルを使用します。これらの間の相互作用は、この複合薬に対する鎮痛反応と鎮静反応の 4 つの異なる基準により測定されます。痛覚測定、テタニ、鎮静作用および喉頭鏡検査が、プロポフォールとレミフェンタニルのさまざまな濃度の組み合わせにおける代用薬の効果の 4 つの基準を構成します。
この複合薬の応答曲面を対話的に作成するには、次のようにします。
[現在のフォルダー] ブラウザーを使用して
matlab\toolbox\curvefit\curvefit
フォルダーを見つけて表示します。ファイル
OpioidHypnoticSynergy.txt
を右クリックし、[データのインポート] を選択します。インポート ツールが表示されます。[インポート] タブの [区切り文字] セクションで、[列区切り記号] の値は既定の
[タブ]
のままにします。インポート用に選択されている 6 つの変数、
Propofol
、Reminfentanil
、Algometry
、Tetany
、Sedation
、Laryingoscopy
を確認します。[インポート] セクションで、[選択のインポート] をクリックして [データのインポート] を選択し、用量反応データを MATLAB® ワークスペースにインポートします。インポート ツールを閉じます。
または、データをプログラムによってインポートすることもできます。次のコードを入力して、ファイルから用量反応データを MATLAB ワークスペースに読み込みます。
data = importdata("OpioidHypnoticSynergy.txt"); OpioidHypnoticSynergy = array2table(data.data, ... "VariableNames",data.textdata);
応答曲面を作成するには、X 入力および Y 入力として 2 つの薬物を選択し、Z 出力として 4 つの効果のうちの 1 つを選択しなければなりません。変数をワークスペースに読み込んだ後、曲線フィッター アプリを開いて変数を対話的に選択します。また、関数
curveFitter
を使用している場合は、初期の近似変数を指定できます。この例では、曲線フィッター アプリを開きます。
curveFitter
曲線フィッター アプリ内の [曲線フィッター] タブで、[データ] セクションの [データの選択] をクリックします。[近似データの選択] ダイアログ ボックスで、まず、[X データ]、[Y データ]、[Z データ] のドロップダウン リストから
[OpioidHypnoticSynergy]
テーブルを選択します。次に、新しいドロップダウン リストから、変数の[Propofol]
、[Remifentanil]
、[Algometry]
を選択します。アプリによって、
Algometry
データの新しい応答曲面が作成されます。既定の近似はデータ点を通過する内挿曲面です。次のいずれかの方法で現在の曲面近似のコピーを作成します。
[曲線フィッター] タブの [ファイル] セクションで [複製] ボタンを選択する。
[近似テーブル] ペインで近似を右クリックし、["untitled fit 1" を複製] を選択する。
データを近似する独自の方程式を定義します。[曲線フィッター] タブの [近似タイプ] セクションで、矢印をクリックしてギャラリーを開きます。ギャラリーで、[カスタム] グループの [カスタム式] をクリックします。
[近似オプション] ペインで、エディット ボックスに例として入力されているカスタム式テキストを選択して削除します。
カスタム式のエディット ボックスを使用して、MATLAB コードを入力しモデルを定義できます。モデルを定義する方程式は、データ変数
x
およびy
と、一連の固定パラメーターまたは推定可能なパラメーターあるいはその両方のパラメーターに依存しなければなりません。この論文のモデルは次のとおりです。
ここで、CA および CB は薬物の濃度、IC50A、IC50B、α および n は推定する係数です。
これを MATLAB コードで次のように定義できます。
Effect = Emax*(CA/IC50A + CB/IC50B + ... alpha*(CA/IC50A).*(CB/IC50B)).^n ./ ... (1 + (CA/IC50A + CB/IC50B + ... alpha*(CA/IC50A ).*(CB/IC50B)).^n);
近似する変数と推定するパラメーターをアプリに指示するために、変数名
CA
およびCB
をx
およびy
に書き換える必要があります。エディット ボックスにカスタム式を入力するときに、x
とy
を含めなければなりません。効果の出力は正規化されるため、Emax = 1
と仮定します。カスタム式のエディット ボックスに次のテキストを入力します。
(x/IC50A + y/IC50B + alpha*(x/IC50A).*(y/IC50B)).^n ./ (1 + (x/IC50A + y/IC50B + alpha*(x/IC50A).*(y/IC50B)).^n)
曲線フィッター アプリが、カスタム式モデルを使用して曲面をデータに当てはめます。
[近似オプション] ペインで、近似オプションの一部を変更します。[詳細オプション] をクリックしてセクションを展開します。
[ロバスト] の値を
[LAR]
に設定します。[係数の制約] テーブルで、[alpha] 係数について、[開始点] の値を
1
に、[下限] を–5
に設定します。新しいオプションを使用して近似が更新されます。
[結果] ペインを見てみます。次の結果のいずれも表示できます。
モデルの方程式
推定係数の値
適合度の統計量
残差のプロットを表示し、曲面に対する点の分布を確認します。[曲線フィッター] タブの [可視化] セクションで [残差プロット] をクリックします。
曲線フィッター アプリのセッションで現在選択されている近似と、開かれているプロットについて、コードを生成します。[曲線フィッター] タブの [エクスポート] セクションで [エクスポート] をクリックし、[コード生成] を選択します。
曲線フィッター アプリはセッションからコードを生成し、MATLAB エディターにファイルを表示します。このファイルには現在のセッションで選択した近似と、開いていたプロットが含まれます。
ファイルを
createFit.m
という既定の名前で保存します。近似とプロットを再作成するには、コマンド ラインから元のデータまたは新しいデータを入力引数に指定してそのファイルを呼び出します。
この場合、元のデータがワークスペースに引き続き表示されるので、元のデータの変数で関数を実行できます。
[fitresult,gof] = createFit(OpioidHypnoticSynergy.Propofol, ... OpioidHypnoticSynergy.Remifentanil, ... OpioidHypnoticSynergy.Algometry)
この関数は、セッション内で選択した近似の Figure ウィンドウを作成します。曲線フィッター アプリで対話的に作成した曲面と残差の両方のプロットがカスタム近似の Figure に表示されます。
Algometry
の代わりにTetany
応答の新しい近似を作成します。[fitresult,gof] = createFit(OpioidHypnoticSynergy.Propofol, ... OpioidHypnoticSynergy.Remifentanil, ... OpioidHypnoticSynergy.Tetany)
プロットに新しい応答ラベルが必要な場合は、ファイルを編集する必要があります。生成したコードを開始点として、ニーズに合うように曲面近似およびプロットを変更できます。使用できるメソッドの一覧については、
sfit
を参照してください。
同じ問題例をプログラムによって曲面で近似する方法については、カスタム式による生物医薬品データの曲面近似を参照してください。
参照
[1] Kern, Steven E., Guoming Xie, Julia L. White, and Talmage D. Egan. “A Response Surface Analysis of Propofol–Remifentanil Pharmacodynamic Interaction in Volunteers.” Anesthesiology 100, no. 6 (June 1, 2004): 1373–81. https://doi.org/10.1097/00000542-200406000-00007.