• 締切済み

ロジスティック曲線の解法(最小二乗法)について困っています。

初めてgooを利用させて頂きます。 以下のロジスティック曲線の解法(a,bの解法)にいて、教えてください。(過去の実績を基に、将来値の推計する際に利用しようと思っています。) ロジステック曲線式 Y=K/(1+e^(a-bx)) Kは、定数。 で、a,bを求める解法がどうしても分かりません。 最小二乗法で求めるみたいですが・・・ a,bの答えは、以下のようになるのは、分かっております。 a=(Σx・Σxy-Σx^2・Σy)/{logx・(nΣx^2-ΣxΣy)} b=(nΣx^2-(Σx)^2)/(nΣxy-ΣxΣy) a,bを求める解法を教えてください。よろしくお願いします。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ちなみに、y=ax+bを最小二乗法を用いた解法は、 S=Σ(y-ax-n)^2 の最小値を求めるために、Sをa,bで微分して0と置いて解くまでは、理解して、a,bを求めることが出来ました。 ロジステックだと、aの分母にlogxが、なぜ付いてるのかが分かりません。

みんなの回答

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

 「分かっております」の式は明らかに嘘。  一瞥しておかしいと分かるのは、Σの外にxがある、という点です。実際に、a=... の式にデータを代入してaを計算しようと取りかかってみれば、すぐに立ち往生するでしょう。xというのはサンプル点の列x[k] (k=1,2,.....,n)のことであり、Σの中であれば、k=1,2...nについて総和を取ればよい。ですが、logxの所には、n個あるxのうち、はてさてどれを代入すりゃいいの??  つまり、そもそも式として体をなしていないんです。(おかしいところは、それだけじゃないのですが。)  じゃ、どうしましょうか。  既に出ている回答のように、非線形最小二乗法の問題として扱う。というのが、ご質問に対するストレートな回答でしょう。大変そうに見えても、やってみりゃどうということはありません。(詳しいやり方をご所望なら回答します。)  ところで「過去の実績を基に、将来値の推計する」ことの実務上の目的は何だろう。K(Yは最大幾らで頭打ちになるか)が既知だというのだから、あと予測したいと言えば、頭打ちになる時期なのではないか。たとえば「Kの95%に達するのはいつ頃か」とか。  そういう予測をしたいと思うような状況では、「過去の実績」をグラフにすると(立ち上がりの部分を除けば)ほとんど直線になってるかも知れません。だとすると、 Y = Ax+B A=Kb/4 B=(2-a)K/4 という直線(ご質問の式の、x=a/bにおける接線)をデータにフィッティングしたって大した違いはない。なぜならご質問にあるモデルでは、(A, Bから)a,bを決めれば曲線全体が決まってしまうからです。これをやる場合、Y≒KやY≒0のデータは、もしあれば単に捨ててしまう。  もしかして、いや「過去の実績」はまだ立ち上がり掛けたばかりのところであって、直線には見えない、ということですと、ご質問のモデルがホントに妥当そうなのか、まだ何とも言えず、この時点で立てた予測はかなり怪しい。幾ら非線形最小二乗法を使って丁寧に計算したって、さして役に立たないんじゃないでしょうか。  ところで、非線形最小二乗法でガチに答を出そうというのであっても、最初に出発点となる近似解を見つける必要があるんです。で、そのために、まずはこの直線をフィッティングすることになります。

回答No.2

こんにちは. まず,パラメター [a, b] で記述できるロジスティック曲線に乗ることが期待されるデータ列 (x1, y1),(x2, y2) …があるものとします. ここで,パラメター [a, b] で記述できるロジスティック曲線を L と書くとき, 残差平方和 Σ L(xi) - yi を最小とするような [a, b] を推定するものとします (以下,この関数を f(a, b) とします). 公式などで解が一息に計算できないのは残差平方和の関数 f(a,b) が パラメター [a, b] の二次元平面のどこで最小値となるか簡単に計算できないためです (実際,複雑な曲面になりそうな気がします). そこで, [a, b] に適切な値 [a', b'] を設定し, この近くの領域 [a' + a'', b' + b''] を考え, 残差平方和の関数 f(a' + a'' , b' + b'') が最小となるように [a'', b''] を動かすことにします. このために, f(a,b) を [a', b'] の近傍でテーラー展開し二次近似します. この近似した関数を g と書き, [a'', b''] の関数と見ると, その最小値を与える [a'', b''] はある線型方程式系(ここでは 2*2 です)の解として計算できます. そして,[a', b'] ← [a' + a'', b' + b''] と代入してパラメターを更新します. ただし,これは「二次近似した関数 g」の最小値を与えるパラメターですから, [a', b']近傍の関数の形によっては二次近似が良く機能せず, 元の関数の最小値を与えないことがあります. そこで,「関数の近似」と「パラメターの更新」を交互に反復し, 関数の値が減らなくなるまでこの手続きを反復します. この種の手続きは Newton 法と呼ばれ, 非線型最小二乗法を解くための標準的な手法の一つです. 他には Gauss-Newton 法 Levenberg-Marquardt 法などがあります. ただ,結構難しいので,細かいことを考えないのであれば, Excel のソルバを使うのが良いかもしれません. 「ロジスティック曲線 エクセル」等のキーワードで検索するとそれらしいものが出てきますよ.

hiro154649
質問者

お礼

ありがとうございます。 簡単に計算出来そうではないので、エクセル等を考慮してみます。 助かりました。

回答No.1

こんにちは. 何が聞きたいのか良く分かりませんが… > a,bの答えは、以下のようになるのは、分かっております。 であれば,答えはその通りであり,何の疑問もないように思います. *** ただし *** ,ロジスティック曲線の当てはめ問題は, 所謂 「非線型最小二乗問題」と呼ばれる種類の問題であり, 通常,データ x, y を公式に突っ込めばパラメターa, b, (場合によっては K も) が求まるという種類の問題ではありません. その「答え」とやら,本当に正しいと確信を持ってますか? また,直線当てはめについて勉強されているようですが, これは最小二乗法のなかでも「線型最小二乗法」という種類の問題だからこそ, 当てはめの公式が存在して簡単に解けるのです. 非線型最小二乗法はそれより進んだ内容なので,一般の場合, 単純に偏微分して零云々では解けません.

hiro154649
質問者

補足

丁寧な回答ありがとうございます。 ロジステック曲線の答えは、ネット上に答えだけ載っていたので、正しいと確信は、もっておりません。(どのネットのページかも今は分からなくなっています。) (説明不十分でしたが)今回の質問の意図は、「式からa,bを求める答えの導き方」が知りたかったです。 このロジスティック曲線は、直線式に当てはめただけでは、解くことが出来ないんですね。 この場合どういう方法で、解けばいいか教えて頂けませんか。

関連するQ&A

  • 最小二乗法

    レポートで最小二乗法を使おうとしているのですが、Y=aX+b を求める時X、Y、X^2、XYをグラフでまとめたのですが、桁数がバラバラです。有効数字を設定すべきでしょうか?それとも正確性を求めてしない方がよいのでしょうか?教えてください。

  • べき乗則を最小二乗法で求める

    卒業研究で計測した分布をべき乗則 y = ax^k に類似させるべく最小二乗法を計算しようと思ってるのですが 自力で計算した結果 k = {loga×Σ(logy) - Σ(logy × logx)} / Σ(logx)^2 a = Σ(yx^k)/Σ{x^(2k)} で行き詰まって係数の計算までに至りません 最小二乗法で調べてみても簡単な一次式の例しか出ず参考になりません どなたか適切な計算方法について説明お願いします

  • ロジスティック曲線について

    はじめまして~ 今、ロジスティック曲線を使って、植物の生長をつくっているものです。 式は、一般的なy=a/(1+bexp-(cx))を使っています。 作成したモデル式のパラメータが示す意味を考えてみると、a=yの最大値、cは反応速度の急激さであることは、うまく表せているのですが、bの示す意味がつかめません。 いろいろ、本を読んでみると、bはおおよそ、aの10分の1くらいになる。 または、ロジステック曲線をY=A+BX1-CX2とおいた時、2個の独立変数(X1、X2)からなる重回帰式でこれを解いていくと、bは説明変数X1とyの最大値をかけたものになる・・・というところまでは、なんとなくつかめた(?)ような気がします…(汗) そこで、このbというパラメータの意味を教えていただけないでしょうか??よろしくお願いします。 ちなみに、y=2.730/(1+362.054exp(-0.08*x))という式が今現在できています。

  • 円の最小二乗法の公式

    いくつかのデータから最小二乗法で近似曲線を求めたいのですが、よくわかりません。そのデータ集の近似曲線は円になります。 最小二乗法を調べ、1次、2次関数についてはわかりました。ある点の座標を(x1,y1), (x2,y2)…、近似曲線上の座標を(x1,y’1),(x2,y’2)… とした時、 (y’1-y1)^2 + (y’2-y2)^2 … が最小となるような係数a,b などを偏微分 → 連立方程式で求めるという方法でした。 円についても、同様の方法で r^2 = (x-a)^2 + (y-b)^2 のような近似曲線の式が求められるのでしょうか?1次関数などのように、y’1-y1を求めようとすると、±√ が出てきてしまい、ややこしくなる気がしますが、これを解くしかないのでしょうか?もしくは別の解法があるのでしょうか?詳しく教えていただけたらと思います。よろしくお願いします。

  • 最小二乗法の解き方

    こんにちは。 最小二乗法で解くらしいんですが、解き方がわかりません。 問題は、 ||(Axーb)||=0 (Aはm×n行列)(m>n)            (xはn×1) のとき、b=0で ||x||=(x^T)x=1の条件でxを最小二乗法 でどうやって求めたらよいのでしょうか。 よろしくお願いします

  • 最小二乗法

    n組のデータ (xi, yi) を,特定点(X0, Y0) を通る直線 y = ax+b でフィッティングしたい。最小二乗法で係数a,bを求めるため の式を導きなさい。 という問題で 各データの残差を二乗した和が最小になるときのa,bを求めるのですが 特定点(X0,Y0)を通るにはどうすればよいでしょうか? ただ単に、特定点を通らずフィッティングするやりかたはわかるのですが・・・。 よろしくお願いします。

  • 最小2乗

    (1) (x,y)=(-3,4),(-2,1),(-1,0),(0,-1),(1,1),(2,2),(3,3)を 方程式 y = ax^2 + bx + c で最小2乗法に当てはめたときの a,b,cを求める (2) 要素(x,y,z)=(1,3,2),(2,1,1),(3,2,4),(4,5,3),(5,4,5)が z = ax + by + p とモデル化されるとき、残差の2乗Σp^2 が 最小になるように定式化して、最小となるa,bを求める という問題です。 これらを行列を用いて解きたいのですが、どのようにすればよいか分かりません。よろしくお願いします。

  • 最小二乗法について

    xは操作条件で、yは実験結果のプロットに対して、 最小二乗法でy=ax+bという回帰直線を引きました。 すると、aとbでは、aのほうが信頼性があるというのですが、 これはどういうことなのでしょうか?

  • 最小二乗法について

     y=ax+b+c/x という式での最小二乗法の求め方を 教えてください。

  • 最小二乗法の応用について

    実験により、xに対するyの値をxの値をかえながら、N回測定した。測定したxに対するyの関係をグラフに描くと、次の二次関数で表現するのが適当であることがわかった。 y=ax*x+bx+c この時、最小二乗法によりパラメータa、b、cの値を求める式を導出せよ。という問題なのですが、どのようにしたら最小二乗法で求めることができるのですか? どうか教えてください