No.08322 Re: 非線形最小二乗法のパラメータの有意性検定 【青木繁伸】 2008/11/21(Fri) 18:42
> 非線形最小二乗法で式の中のある一つのパラメータが0と見なせるかどうかを検定したい
ちゃんとしたソフトなら,非線形最小二乗法による結果において,パラメータが0かどうかの検定結果が示されていると思いますけど?
不適切なソフトを使った結果を補完するための情報を求めるのは不毛です。
適切なソフトを使えば問題は解決するでしょう。Coefficients:ある変数を含めたモデルと含めないモデルの優劣を検定するのは,尤度比検定を行えばよいでしょう。ある変数があるかないかの二つのモデルの優劣は,その変数の役割の説明になっているという見解には賛成します。
Estimate Std. Error z value Pr(>|z|)
(Intercept) -2.48354 1.10994 -2.238 0.0253 *
abcdef 0.16911 0.08277 2.043 0.0410 * #### ここのP値を見ればよい
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 30.789 on 22 degrees of freedom
Residual deviance: 25.143 on 21 degrees of freedom #### モデルの妥当性を見るにはこの数値を見ればよい
AIC: 29.143 #### モデルの妥当性を見るにはこの数値を見ればよい
No.08323 Re: 非線形最小二乗法のパラメータの有意性検定 【まるお】 2008/11/22(Sat) 14:04
コメントありがとうございます。手元のソフトがSplusとRなのですが,
どちらもnlsの結果にsummaryをかけたのですがt値まではでますが,
p値まで計算されていなかったので,最後にいったいどの確率分布でpを計算
すればよくわからず,F検定でなんとかならないかとおもった次第です。あと,
疑うわけではありませんが,非線形のパラメータのt値とはどのように計算
するのか検討がつかず,モデル比較の方法を考えてみました。
尤度比検定ですね!,さっそく調べます。
ありがとうございます。
No.08330 Re: 非線形最小二乗法のパラメータの有意性検定 【青木繁伸】 2008/11/22(Sat) 21:05
> 手元のソフトがSplusとRなのですが,どちらもnlsの結果にsummaryをかけたのですがt値まではでますが,p値まで計算されていなかったので
段落の途中で,勝手にリターンキーを押して改行しない方が良いですよ。読みにくくなります。
え〜??nls で P 値が表示されない?おかしいなあ,どんなふうにしたらそうなりましたか?
nls の example やってみても,P値出ますけど?> example(nls)> 非線形のパラメータのt値とはどのように計算するのか検討がつかず
nls> require(graphics)
nls> DNase1 <- subset(DNase, Run == 1)
nls> ## using a selfStart model
nls> fm1DNase1 <- nls(density ~ SSlogis(log(conc), Asym, xmid, scal), DNase1)
nls> summary(fm1DNase1)
Formula: density ~ SSlogis(log(conc), Asym, xmid, scal)
Parameters:
Estimate Std. Error t value Pr(>|t|)
Asym 2.34518 0.07815 30.01 2.17e-13 ***
xmid 1.48309 0.08135 18.23 1.22e-10 ***
scal 1.04146 0.03227 32.27 8.51e-14 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Estimated の所にある数値を Std. Error の所にある数値で割ったら t value の所の数値になりますよ
> 2.34518 / 0.07815
[1] 30.0087
No.08366 Re: 非線形最小二乗法のパラメータの有意性検定 【まるお】 2008/11/25(Tue) 12:39
青木先生ありがとうございます。紹介いただいた例はRですね。私はSで計算していました。SでだめならRはだめだ ろうと思って試してませんでした。確かにRだと,p値まで出力してくれるのですね。Sはバージョンにもよると思いますが,以下のSのヘルプの事例で得たオ ブジェクトのサマリーをかけてもやはりp値はでませんでした。> conc <- c(0.333, 0.167, 0.0833, 0.0416, 0.0208, 0.0104, 0.0052)とだめでした。本当にありがとうございます。
> vel <- c(3.636, 3.636, 3.236, 2.666, 2.114, 1.466, 0.866)
> Micmen <- data.frame(conc = conc, vel = vel)
> param(Micmen, "K") <- 0.02
> param(Micmen, "Vm") <- 3.7
> fit <- nls(vel ~ (Vm * conc)/(K + conc), data = Micmen)
> summary(fit)
Formula: vel ~ (Vm * conc)/(K + conc)
Parameters:
Value Std. Error t value
K 0.0178867 0.000992795 18.0165
Vm 3.9109400 0.055770000 70.1262
Residual standard error: 0.0671906 on 5 degrees of freedom
Correlation of Parameter Estimates:
K
Vm 0.754
No.08368 Re: 非線形最小二乗法のパラメータの有意性検定 【青木繁伸】 2008/11/25(Tue) 13:01
おわかりだと思いますけど,
2 * pt(abs(tval), rdf, lower.tail = FALSE)
とすれば,P値は求まります。(rdfはデータ組数-パラメータ数,上の場合だと7-2=5)
No.08374 Re: 非線形最小二乗法のパラメータの有意性検定 【まるお】 2008/11/25(Tue) 16:18
わかってはいるのですが,nlsのt値といったところでつい,疑ってしまい,確認しなければとおもったしだいです。関数の使い方までおしえていただき頭が下がります。
● 「統計学関連なんでもあり」の過去ログ--- 042 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る