★ 検量線式の検証 ★

6783. 検量線式の検証 Nao 2005/05/25 (水) 08:48
└6784. Re: 検量線式の検証 青木繁伸 2005/05/25 (水) 10:55
 └6787. Re^2: 検量線式の検証 Nao 2005/05/25 (水) 12:14
  ├6793. Re^3: 検量線式の検証 マスオ 2005/05/25 (水) 23:33
  │└6794. Re^4: 検量線式の検証 Nao 2005/05/26 (木) 11:13
  │ └6799. Re^5: 検量線式の検証 青木繁伸 2005/05/26 (木) 16:39
  │  └6800. Re^6: 検量線式の検証 Nao 2005/05/26 (木) 19:51
  ├6789. Re^3: 検量線式の検証 ひの 2005/05/25 (水) 13:12
  └6788. Re^3: 検量線式の検証 青木繁伸 2005/05/25 (水) 13:05


6783. 検量線式の検証 Nao  2005/05/25 (水) 08:48
吸光度(Y)と希釈濃度(X)より検量線を算出する解析ソフトについて検証を行っているのですが,検量線式をy=A+B*(1-exp(-x/C))と想定したアルゴリズムの場合検算結果が一致しません。
例えば以下のデータでは
x 0.001 0.100 0.250 0.500 0.750 1.000 1.400
 y 0.129 0.157 0.192 0.234 0.286 0.349 0.427

A=0.108 B=0.319 C=0.794 R^2=0.951となりますが,
 ExcelのソルバーあるいはSASのNONLINでの結果と一致しません。
 メーカーに問い合わせても納得のいく回答は得られていません。
 誰か分かる方がおられましたらご教示ください。
 なお,本ソフトにおいてはA+Bの値が最高濃度(1.400)のy値(0.427)になるようにしているようです。

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


6784. Re: 検量線式の検証 青木繁伸  2005/05/25 (水) 10:55
図を描いてみると,#6783の中にある係数値では,あてはめは全くダメダメちゃんだということが分かるはずですが?
制約条件を付けて解析した結果もダメですね。
制約なしで以下の解を得ますが,あなたも同じ解でしたか(でしょうね)

メーカが責任ある回答できないとは,どういうことでしょう。

x y 制約なしのときの予測値 #6783中の値
0.001 0.129 0.133121957 0.108253185
0.1 0.157 0.154049468 0.132349148
0.25 0.192 0.185734518 0.165432833
0.5 0.234 0.238480615 0.212525446
0.75 0.286 0.291148911 0.251139494
1 0.349 0.343739521 0.28280146
1.4 0.427 0.427723196 0.322038764

制約なし #6783中の値
a 0.132910506 0.108
b 35.81273867 0.319
c 0.00590438 0.794

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


6787. Re^2: 検量線式の検証 Nao  2005/05/25 (水) 12:14
ご回答ありごとうございました。
収束条件(A+B=0.427)を与えて実施し場合,Excelソルバーを用いた結果では以下のようになりました。
A=0.115 B=0.312 C=0.782 R^2=0.937

初期値の設定の仕方や探索方法の条件設定により多少の違いはあると思いますが,私が納得いかないのは出てきた係数値を当てはめて残差平方和より逆算したR^2が一致しない(私の結果では0.935になります)点です。バグかもしれません。
いずれにしてもこのアルゴリズムについては使わないようにします。

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


6793. Re^3: 検量線式の検証 マスオ  2005/05/25 (水) 23:33
> 私が納得いかないのは出てきた係数値を当てはめて残差平方和より逆算したR^2が一致しない(私の結果では0.935になります)点です。

意味のないR^2の謎はたぶん,
Ymax = 0.427 = A+B とおくと,
Ymax-y=B*exp(-x/C) なので,
対数をとって線形回帰してB,Cをもとに戻すと(Ymaxのポイントは除く),
Excelでは
R^2=0.951163695
B=0.318433512
C=0.798533149
yが実測値からのものなら3桁目は丸め誤差でしょう.

ロジスティック曲線 y=A+B/(1+(x/C)^D) への当てはめもあるのなら,
Ymin = A
Ymax = A+B
としてから変換して線形回帰していると思います.

手元の機器に付属のソフトでは,Levenberg-Marquard法での非線形当てはめ機能があるようですが,昔の名残か,互換性からか,上記の線形回帰の方法も残っているようです.
今では非線形計算もあっという間になってしまったので,その初期値に使う値ですね.

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


6794. Re^4: 検量線式の検証 Nao  2005/05/26 (木) 11:13
>> Ymax = 0.427 = A+B とおくと,
> Ymax-y=B*exp(-x/C) なので,
> 対数をとって線形回帰してB,Cをもとに戻すと(Ymaxのポイントは除く),
> Excelでは
> R^2=0.951163695
> B=0.318433512
> C=0.798533149
どうもありがとうございました。
やっと謎が解け感謝しております。
本ソフトの検証でどうしてもこのアルゴリズムのみが検算結果と一致しなかったのでその原因究明に悩んでいた次第です。

ところで対数変換を行い線型回帰式にしてR^2 0.951傾き-0.548, 切片-0.497と算出されましたが,そこからB, Cの値が導出できません。

数学が苦手な者で誠に申し訳わけありませんが,宜しければ具体的な手順について教えてください。

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


6799. Re^5: 検量線式の検証 青木繁伸  2005/05/26 (木) 16:39
> ところで対数変換を行い線型回帰式にしてR^2 0.951傾き-0.548, 切片-0.497と算出されましたが,そこからB, Cの値が導出できません。

対数変換をするとき,回帰式に exp があるので,対数は,自然対数を取るべきで,Excel は自然対数は ln で計算することに注意されるとよいと思います。
b*exp(-x/c) の自然対数を取ると,ln(b)-x/c となるので,回帰分析の結果,切片は-1.14434158078323,傾きは-1.25229616438788となります。ln(b)=- 1.14434158078323なのでb=exp(-1.14434158078323)=0.318433512。また,-1/c=- 1.25229616438788なので,c=1/1.25229616438788=0.798533149ですね。

前のコメントで,私は回帰式をa+b*exp(-x*c) と誤解していたみたいでした。cは逆数を取ってください。

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


6800. Re^6: 検量線式の検証 Nao  2005/05/26 (木) 19:51
> 対数変換をするとき,回帰式に exp があるので,対数は,自然対数を取るべきで,Excel は自然対数は ln で計算することに注意されるとよいと思います。


自然対数の関数を勘違いしていました。
これで全て解決しました。
いろいろお世話になりました。

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


6789. Re^3: 検量線式の検証 ひの  2005/05/25 (水) 13:12
> ご回答ありごとうございました。
> 収束条件(A+B=0.427)を与えて実施し場合,Excelソルバーを用いた結果では以下のようになりました。
> A=0.115 B=0.312 C=0.782 R^2=0.937
>
> 初期値の設定の仕方や探索方法の条件設定により多少の違いはあると思いますが,私が納得いかないのは出てきた係数値を当てはめて残差平方和より逆算したR^2が一致しない(私の結果では0.935になります)点です。バグかもしれません。

表示された有効数字3桁の係数値から計算すればその程度の誤差は当たり前です。Excel内部は倍精度ですからもっと桁数の多い係数値を元に計算しているはずです。

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


6788. Re^3: 検量線式の検証 青木繁伸  2005/05/25 (水) 13:05
そもそも曲線回帰のときの R2 は意味がないのでは?

また,制約付きの解がおかしいのは,図を描けば明らかだったでしょう?

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


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