No.21005 Re: nlsで推定できるモデル式について 【青木繁伸】 2014/04/15(Tue) 20:49
プログラムを見せられただけでは,データが提示されないと,追試できません。
一般的に言えば,データに欠陥がない限り,何でもあてはめできるでしょう。
ただ,アルゴリズムにより初期値に敏感なものもあるので,ある程度の試行錯誤,よりよい初期値の推定値を用いること,初期値に敏感でないアルゴリズムによるなど,工夫が必要なこともあるでしょう。
No.21006 Re: nlsで推定できるモデル式について 【晴】 2014/04/16(Wed) 10:55
ありがとうございます。用いたデータは以下の通りです。
P Dis DT
0.407 10 5
0.694 10 10
中略
0.1 100 15
0.112 100 20
0.126 100 25
説明変数の値は,10<=Dis<=100,5<=DT<=25の範囲で5刻みであり,Pは,モデル式にa=2.2,b=-0.964,c=0.442,d=0.552を代入しただけの値(小数第4位で四捨五入)です。
よろしくお願いいたします。
No.21007 Re: nlsで推定できるモデル式について 【青木繁伸】 2014/04/16(Wed) 11:18
21006 の P は「モデル式にa=2.2,b=-0.964,c=0.442,d=0.552を代入しただけの値(小数第4位で四捨五入)」なんでしょ?
summary によって,a, b, c, d にきわめて近い推定値が表示されているでしょう(Estimate の列)。
> summary(result)
Formula: P ~ 1/(exp(-a * (Dis^b) * DT + c * log(Dis) + d) + 1)
Parameters:
Estimate Std. Error t value Pr(>|t|)
a 2.1975635 0.0031932 688.2 <2e-16
b -0.9637574 0.0004493 -2144.8 <2e-16
c 0.4418875 0.0005869 753.0 <2e-16
d 0.5523523 0.0022497 245.5 <2e-16
Residual standard error: 0.0002683 on 91 degrees of freedom
Number of iterations to convergence: 4
Achieved convergence tolerance: 6.474e-07
plot(result$m$fitted(), Data$P) を表示すると,ほぼ一直線状に点が表示されるでしょう。
も し,「小数第4位で四捨五入」なんてけちなことをやらずにできうる限り正確な P を使えば,a, b, c, d は,P を作るときに使った値になるでしょう。もっとも,そのようなことはしてはいけないと,オンラインヘルプに書いてあります。そんなことをする意味がないか ら。
Warning: Do not use nls on artificial "zero-residual" data.
あてはめはできると思いますから,「うまくいくかどうか試す」なんてことしなくて,実際の P とDis, DT を使って nls で係数の推定をすればよいでしょう。それでうまくいかないときは,その理由,対応策を考えればよいだけの話です。
No.21008 Re: nlsで推定できるモデル式について 【晴】 2014/04/16(Wed) 12:53
ご迷惑をおかけしましたが,助かりました。
Rの操作の基本を知らなかったために,上のプログラムをsourceで読み込めば,summaryの最後まで自動的に流れると思っていました。
ありがとうございました。
● 「統計学関連なんでもあり」の過去ログ--- 046 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る