• ベストアンサー

目的関数

母集団薬物動態解析などで出てくる目的関数とは具体的にどのようなものなのでしょうか? 実際にはNOMMEMというソフトを使用してそれぞれの薬物動態パラメータにある要因が関与するかを目的関数の低下の程度をみて判断しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.2

1. 薬物動態解析って何をするのか  薬物動態のモデル(典型的には、薬物の血中濃度が時間とともにどう変化するかを表す式)が分かっているのだけれども、その式の中には未知の係数(パラメータ)が幾つか入っている。(パラメータは個体に固有の値を取る。例えば、血液量だったり、腎機能の指標だったり。)で、実際に薬を投与して血中濃度を繰り返し測定する。得られた測定データとモデルとがなるべく合うようにパラメータの値を決めたい。すなわち 「時刻t[j]に於ける実測値 D[j] (j=1,2,…,N) とモデル(たとえばパラメータa,b,cを含む) M(t,a,b,c) とが与えられているとき、 M(t[j],a,b,c)≒D[j] (j=1,2,…,N) になるようにa,b,cを決定したい。」 これが解きたい元々の問題です。  ですが「≒」じゃあ近似の度合いをどう測るのかはっきりしません。 2. 最小二乗法を応用する。  そこで、実測値とモデルとの差 r[j] = D[j]-M(t[j],a,b,c) を考える(これを残差(residue)と言います)。 ●しかし、単に「残差を小さくしたい」と言ってしまうと、残差は正にも負にもなりうるから具合が悪い(残差が0であるよりも残差が-1である方が「残差は小さい」のですから)。そこで「残差の2乗を小さくしたい」と要求する。 ●さらに、特定の時点だけじゃなくてどの時点t[j](j=1,2,…)に於いても全体として「残差の2乗を小さくしたい」訳です。  そこで、残差の2乗を全てのjについて総和したもの(残差二乗和) E(a,b,c) = Σ(r[j]^2) (Σはj=1~Nの総和、^2は2乗) を考えて、E(a,b,c)が最小になるようなa,b,cを求める、という形に定式化します。  このやり方を「最小二乗法」と言い、また、E(a,b,c)を「目的関数」とか「評価関数」と呼びます。  さらにr[j]の分散S[j]が分かっている場合には、 F(a,b,c) = Σ(r[j]^2)/S[j] を使う方が妥当です。なぜなら、こうすると「分散S[j]が大きい時点t[j]に於ける測定値は元々ばらつきが大きい訳だから、そういう測定値とモデルとのずれが少々大きくても構わない。けれども、分散が小さい時点では測定値とモデルが良く合っていなくてはいけない。」という事情をうまく織り込めるからです。これを「重み付き最小二乗法」と言います。 3. 数学的には  「最小二乗法」は薬物動態解析に限らず、あらゆる科学の分野で広く応用されている基本的で強力な方法です。しかし、目的関数は必ずしも残差二乗和に限る訳ではない。別の目的関数の方が適しているような問題もあります。なので最小二乗法の他にも色々な目的関数の作り方があって、それらをひっくるめて「近似理論」とか「モデル・フィッティング」と呼びます。  ところで、ANo.1の回答にある線形計画法における「目的関数」は、「利益」(を最大にしたい)とか、「コスト」(を最小にしたい)とか、文字通りナマナマしい「目的」を表す関数です。けれども、モデル・フィッティングで言う「目的関数」は実測値とモデルとがずれている度合いを示す一種の尺度の役割をしています。  また、「変分法」というものがあります。たとえば、「スタートからゴールまで落差100m水平距離100mの斜面にボールを転がしたときに、一番はやくボールがゴールに到達するような斜面の形は?」というのは変分法の問題で、この場合(数個のパラメータではなくて)曲線の形全体を決定することを要求しています。ですが変分法においても、やはり最小にしたい「目的関数」(すなわちボールがゴールに到達するまでの時間)があります。  で、いずれにしても数学的には「ある関数を最大(または最小)にしたい」という形になっていることは同じなので、これらをひっくるめて「極値問題」と呼んで、その「ある関数」を「目的関数」とか「評価関数」と呼びます。  が、これは脱線。 4. 母集団薬物動態解析における目的関数  さて、最近ではベイズ統計を使った動態解析(母集団薬物動態解析)が盛んに使われています。これは、同じ被験者についてD[j]を繰り返し測る代わりに、ごく少数回測定したデータを用います。また、(被験者ごとにパラメータa,b,cは異なっているのだけれども、)母集団についてパラメータa,b,cの平均値は分かっていてA,B,Cである、分散も分かっていてP,Q,Rである、という場合に G(a,b,c) = F(a,b,c)+(((A-a)^2)/P+((B-b)^2)/Q+((C-c)^2)/R) という目的関数を最小にするようにa,b,cを決めるのがこのやり方です。  この的関数Gは、最小二乗法の目的関数と「平均値からのずれが小さいこと」を表す項の和になっています。これは要するに「測定値が少ない(つまり情報が少ない)ことを、母集団についての知識(A,B,C, P,Q,R)で補っている」わけで、イーカゲンなやりかたではあります。が、現実に何度も測定する訳にはいかない(被験者の負担が大きい、あるいは測定のコストが大きい)ような場合にはそれなりに有効です。  そして、薬物動態解析にこのやりかたを使っても良い、ということを米国FDAが認めちゃったものですから、盛んに使われている訳です。

その他の回答 (1)

  • info22
  • ベストアンサー率55% (2225/4034)
回答No.1

NOMMEMは使ったことがありませんので良く分かりません。 多分、目的関数とは LP(線形計画)法や数理計画法 http://web10.affrc.go.jp/top/seika/2002/kyusyu/ky341.html http://blog.so-net.ne.jp/Minky/archive/c5377265 などでいう目的関数のことだと思います。 つまり複数のパラメータセットを、色々な制約式のもとでどの様に組み合せたら利益やコスト(損失)を最大または最小に出来るかという時に使う評価式の事で、この式のことを目的関数と言います。 具体的例題 http://www.kogures.com/hitoshi/webtext/lp-zushiki/index.html http://www.swa.gr.jp/lop/lop_ip01.html http://homepage1.nifty.com/gfk/liner.htm

関連するQ&A