No.08309 非線形最小二乗法のパラメータの有意性検定  【まるお】 2008/11/20(Thu) 17:14

はじめて利用いたします。

非線形最小二乗法で式の中のある一つのパラメータが0と見なせるかどうかを検定したいと考えています。
たとえば線形回帰分析との類推からつぎのような方法が使えるでしょうか。

全パラメータ(数はP個)をつかった式を推定,この残差平方和をもとめる,これをSE*とする。
つぎに,ひとつパラメータを抜いた式を推定し,この残差平方和をもとめる。これをSEとする。
(SE−SE*)/(SE*/(N−P))を検定統計量としてF(1,N−P)で検定する。

あと,もう一点どうしても理解でいないのですが,回帰分析の教書ではこの残差平方和の差がカイ二乗分布になると書いているのですが,重回帰の場合には理屈がどうもわかりません。このことに関して書かれている文献等お教えいただけないでしょうか

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)
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
> 非線形のパラメータのt値とはどのように計算するのか検討がつかず

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 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る