★ ロジスティック曲線の非線形回帰について ★

 175 ロジスティック曲線の非線形回帰について  m-imaoka  2002/07/29 (月) 18:13
  186 Re: ロジスティック曲線の非線形回帰について  青木繁伸  2002/07/29 (月) 22:35
  176 Re: ロジスティック曲線の非線形回帰について  青木繁伸  2002/07/29 (月) 19:21
   179 Re^2: ロジスティック曲線の非線形回帰について  DISIR  2002/07/29 (月) 21:20
    184 Re^3: ロジスティック曲線の非線形回帰について  青木繁伸  2002/07/29 (月) 22:19
   177 Re^2: ロジスティック曲線の非線形回帰について  青木繁伸  2002/07/29 (月) 20:20
    178 Re^3: ロジスティック曲線の非線形回帰について  青木繁伸  2002/07/29 (月) 20:31
     190 Re^4: ロジスティック曲線の非線形回帰について  m-imaoka  2002/07/30 (火) 11:04
      193 Re^5: ロジスティック曲線の非線形回帰について  青木繁伸  2002/07/30 (火) 18:29
       205 Re^6: ロジスティック曲線の非線形回帰について  m-imaoka  2002/08/01 (木) 17:55


175. ロジスティック曲線の非線形回帰について  m-imaoka  2002/07/29 (月) 18:13
薬品会社勤務です。
薬効の数値分析を行うのに
弊社で購入した専用ソフトは
以下の回帰式を使用してデータをフィットさせています。
Y=A+((B-A)/1+((C/X)^D)))
    A = minimum y              0
    B = maximum y             100
    C = logEC50              -1 or 1
    D = Slope Factor         -1 or 1
それで,こちらの掲示板で非線形回帰のロジスティック回帰についての
記事について拝見させて頂いたのですが
上記の回帰式も,非線形回帰の中のロジスティック回帰のバリエーション
の1つで,導関数を求めればJavaScriptのソースを変更することで
データをフィットさせることができるのでしょうか?
数学は苦手ですので,よろしければ導関数についても具体的にコメントをお願いいたします。

     [このページのトップへ]


186. Re: ロジスティック曲線の非線形回帰について  青木繁伸  2002/07/29 (月) 22:35
> 数学は苦手ですので,よろしければ導関数についても具体的にコメントをお願いいたします。

私も,数学なんて,だいっきらいです。
でも,Mathematica があるから,導関数でも何でも平気です。

     [このページのトップへ]


176. Re: ロジスティック曲線の非線形回帰について  青木繁伸  2002/07/29 (月) 19:21
> Y=A+((B-A)/1+((C/X)^D)))

変なカッコの付け方ですね。

Y = A + (B-A) / (1+(C/X)^D)

なのでしょうか?
>     A = minimum y              0
>     B = maximum y             100
>     C = logEC50              -1 or 1
>     D = Slope Factor         -1 or 1
これは,パラメータではなくて定数ということですか?おかしいですね。

     [このページのトップへ]


179. Re^2: ロジスティック曲線の非線形回帰について  DISIR  2002/07/29 (月) 21:20
> > A = minimum y 0
> > B = maximum y 100
> > C = logEC50 -1 or 1
> > D = Slope Factor -1 or 1
>
> これは,パラメータではなくて定数ということですか?おかしいですね。

レスポオンスを0%,100%に固定するのはよく行われ,EC50と傾き(Hill Slope )
を求める場合はかなりあります。Hill Slopeまで固定することはほとんどありませんが,皆無ではありません。

     [このページのトップへ]


184. Re^3: ロジスティック曲線の非線形回帰について  青木繁伸  2002/07/29 (月) 22:19
> > > A = minimum y 0
> > > B = maximum y 100
> > > C = logEC50 -1 or 1
> > > D = Slope Factor -1 or 1
> >
> > これは,パラメータではなくて定数ということですか?おかしいですね。
>
> レスポオンスを0%,100%に固定するのはよく行われ,EC50と傾き(Hill Slope )
> を求める場合はかなりあります。Hill Slopeまで固定することはほとんどありませんが,皆無ではありません。

これ全部が条件なら,4通しかなくなるんですが(^_^;)
(a,b,c,d)=(0,100,-1,-1),(0,100,-1,1),(0,100,1,-1),(0,100,1,1)
もちろん,そういう意味ではなくて
0<a<b,  0<b<100,  -1<c,d<1 だと思うんですけどね。
ちゃんと人に伝えることも必要な技量ですよね。

     [このページのトップへ]


177. Re^2: ロジスティック曲線の非線形回帰について  青木繁伸  2002/07/29 (月) 20:20
> Y = A + (B-A) / (1+(C/X)^D)

であるとして,Function は,
function Function(kdif, i)
{
    var temp1, temp2, temp3

    temp1 = p[2] / x_value
    temp = 1 + Math.pow(temp1, p[3])
    if (kdif) {
        temp2 = temp*temp
// 以下順に,a, b, c, d についての偏微分
        fj[i][0] = 1 - 1 / temp
        fj[i][1] = 1 / temp
        fj[i][2] = (p[0] - p[1]) * p[3] * Math.pow(temp1, p[3] - 1) / temp2 / x_value
        fj[i][3] = (p[0] - p[1]) * Math.pow(temp1,  p[3]) * Math.log(temp1) / temp2
    }
// 関数値
    return p[0] + (p[1] - p[0]) / temp
}
完全なプログラムは,
http://aoki2.si.gunma-u.ac.jp/JavaScript/fit-logistic3.html
の,88番(この番号は固定ではない)。

     [このページのトップへ]


178. Re^3: ロジスティック曲線の非線形回帰について  青木繁伸  2002/07/29 (月) 20:31
0.01    19.0
0.1     33.3
0.5     49.4
1       57.1
2       64.6
3       68.8
5       73.7
10      79.5
15      82.5
20      84.3

に対して,Marquardt 法により,a=0,b=100,c=1,d=0 を初期値として,a=10.006787787518,b=99.241551006366,c=0.80215827662617,d=0.49927893218154 に収束しました。

     [このページのトップへ]


190. Re^4: ロジスティック曲線の非線形回帰について  m-imaoka  2002/07/30 (火) 11:04
わざわざ,ありがとうございます。
こちらの実験データでも数値は収束しています。

それから数式へご指摘ですが
私の間違いで
Y=A+((B-A)/1+((C/X)^D)))
ではなく
Y=A+((B-A)/(1+((C/X)^D)))
で計算の優先順位をはっきり認識させるべく,
くどいくらい全てに()がついております。
私も,マニュアルをそのまま書き写したので
数式をきちんと把握しておりませんでした。
(書き写すのも間違えていましたが(^^;)
先生のご指摘どおりです。

パラメータに関しても,初期値のつもりで書いていたのですが
説明不足で申し訳ありませんでした。
あと,DISIRさんのおしゃられる通り,データによっては
最大値や最小値を100%or0%固定したりしています。

統計に詳しい人から,分からないのだから
素直に,専門ソフトそうでなければSASを使いなさいと
言われていたのですが
もう少しきちんと統計学の勉強をしてみようと思います。
ありがとうございました。

     [このページのトップへ]


193. Re^5: ロジスティック曲線の非線形回帰について  青木繁伸  2002/07/30 (火) 18:29
> 統計に詳しい人から,分からないのだから
> 素直に,専門ソフトそうでなければSASを使いなさいと
> 言われていたのですが

Excel のソルバーを使えば,導関数のことなど気にせず非線形最小二乗法によるパラメータ推定ができます。
http://aoki2.si.gunma-u.ac.jp/Hanasi/StatTalk/solver.html

     [このページのトップへ]


205. Re^6: ロジスティック曲線の非線形回帰について  m-imaoka  2002/08/01 (木) 17:55
> Excel のソルバーを使えば,導関数のことなど気にせず非線形最小二乗法によるパラメータ推定ができます。
> http://aoki2.si.gunma-u.ac.jp/Hanasi/StatTalk/solver.html

早速使ってみました。
専用ソフトで分析した数値とソルバーで分析した数値を比較していました。
フィテッィングしているデータについては
ほとんど問題にならないくらいの誤差です。
専用ソフトはフィッテイングしていないと判断した場合,数値を返してこないので
何とも言えないですが,ソルバーは値を返してくれます(^-^)
最初はセルに[#NUM]エラーが返るところが
あるのでのでおかしいと思っていたのですが
Xの値の対数を適宜,符号を揃えると問題ありませんでした。
(専用ソフトの説明に自動でXの対数をモデルに適用するために
変換していますと,書かれたいた意味が分かりました(^^;)
現在,一括処理を行えるようにマクロを組んでいます。
ありがとうございました。

     [このページのトップへ]


● 「統計学関連なんでもあり」の過去ログ--- 020 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る