★ この非線形回帰は可能? ★

 279 この非線形回帰は可能?  河村  2000/01/20 (木) 12:12
  282 Re: この非線形回帰は可能?  青木繁伸  2000/01/20 (木) 13:13
   285 Re^2: この非線形回帰は可能?  青木繁伸  2000/01/20 (木) 14:20
    287 Re^3: この非線形回帰は可能?  河村  2000/01/20 (木) 15:04
   283 Re^2: この非線形回帰は可能?  青木繁伸  2000/01/20 (木) 13:22
    301 Re^3: この非線形回帰は可能?  マンボウ  2000/01/21 (金) 00:09
     304 Re^4: この非線形回帰は可能?  青木繁伸  2000/01/21 (金) 10:48
      350 Re^5: この非線形回帰は可能?  河村  2000/01/24 (月) 15:16
    290 Re^3: この非線形回帰は可能?  ひの  2000/01/20 (木) 16:17
     294 Re^4: この非線形回帰は可能?  青木繁伸  2000/01/20 (木) 16:35
      298 Re^5: この非線形回帰は可能?  青木繁伸  2000/01/20 (木) 19:38
       300 Re^6: この非線形回帰は可能?  ひの  2000/01/20 (木) 23:46


279. この非線形回帰は可能?  河村  2000/01/20 (木) 12:12
何度かお世話になっております。有り難うございます。

回帰分析でyをx1とx2で説明する際,理論的には,y=a(x1+b1)(x2+b2)
のような非線型のモデル(a,b1,b2を回帰で求める)が最も妥当と思われるケースなのですが,これは実行可能でしょうか?
ちなみに展開すると,
y=aX+c2x1+c1x2+c3 (但し,X=x1*x2,c1=a*b1,c2=a*b2,c3=a*b1*b2)
となるので,これで線型回帰に持っていこうとしましたが,単純には行きません。
回帰係数a,c1,c2,c3が独立でなく,c1*c2=a*c3 という制約があるからです。
SASを使っていますが,回帰係数に対する制約式は,例えば c1+c2=a+c3 のような線型でしか設定できない,との記述がありました。
別の方法も含めて,アドバイス頂ければ幸いです。宜しくお願い致します。

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


282. Re: この非線形回帰は可能?  青木繁伸  2000/01/20 (木) 13:13
> 回帰分析でyをx1とx2で説明する際,理論的には,y=a(x1+b1)(x2+b2)
> のような非線型のモデル(a,b1,b2を回帰で求める)が最も妥当と思われるケースなのですが,これは実行可能でしょうか?

シンプレックス法ではうまく行かないでしょうか。もとの式そのままで計算できるし,微分とかも必要ないのでよさそうに思うんですが。
うまく行ったとしても,シンプレックス法では a,b1,b2 の推定しかできないので,それ以上の分析に制限がありますが。

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


285. Re^2: この非線形回帰は可能?  青木繁伸  2000/01/20 (木) 14:20
http://aoki2.si.gunma-u.ac.jp/lecture/mb-arc/simplex2.xls
に VBA で書いたシンプレックス法による非線形回帰プログラム(テストデータつき)をおいておきます。

一応ちゃんとパラメータの推定ができました。

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


287. Re^3: この非線形回帰は可能?  河村  2000/01/20 (木) 15:04
> http://aoki2.si.gunma-u.ac.jp/lecture/mb-arc/simplex2.xls
> に VBA で書いたシンプレックス法による非線形回帰プログラム(テストデータつき)をおいておきます。
> 一応ちゃんとパラメータの推定ができました。

早速有り難うございます。
わざわざプログラムまで試作頂き恐縮です。ものすごいクイックレスポンスですね。
しかしやはり,R2,t値など,評価・検定面の出力も必要ですので,SASでできないか,今SASにも問合せをかけたところです。

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


283. Re^2: この非線形回帰は可能?  青木繁伸  2000/01/20 (木) 13:22
一変数関数の極値を求めることをちらっと考えていたので,ぼけた答えをしてしまったかもしれません。

SASは(も)よくわかりませんが,非線形最小二乗法というのはありませんか?(Simplex 法もその一つの方法ですが)

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


301. Re^3: この非線形回帰は可能?  マンボウ  2000/01/21 (金) 00:09
> SASは(も)よくわかりませんが,非線形最小二乗法というのはありませんか?(Simplex 法もその一つの方法ですが)

Simplex 法もその「解を求める」一つの方法ですが

というべきなんでしょうね(言葉足らずかな)。
解析プロシージャの目次なんかにのせる場合には

●非線形最小二乗法
  ○Simplex法
  ○Newton法
  ○Marquardt法

なんていう風になるということでしょう?

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


304. Re^4: この非線形回帰は可能?  青木繁伸  2000/01/21 (金) 10:48
> Simplex 法もその「解を求める」一つの方法ですが
>
> というべきなんでしょうね(言葉足らずかな)。

はい。そんな感じで書いたのですが,ちょっとおおざっぱすぎたと反省しております。

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


350. Re^5: この非線形回帰は可能?  河村  2000/01/24 (月) 15:16
SASジャパンによると,非線形の最小2乗法は,NLINプロシジャで実行できるとのことです。
SASユーザとして,そんなことも知らなかったわけですが,早速使ってみようと思います。
アルゴリズムや出力内容についてはまだチェックしていません。
とりあえずご報告まで。

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


290. Re^3: この非線形回帰は可能?  ひの  2000/01/20 (木) 16:17
> SASは(も)よくわかりませんが,非線形最小二乗法というのはありませんか?(Simplex 法もその一つの方法ですが)

細かい揚げ足取りですが,Simplex法は関数の最大値(or最小値)を求める一般的な手法のひとつであって,非線形最小二乗法の手法のひとつではありません。もちろん非線形最小自乗法のパラメータの計算にも使えますが。

ここで挙げられている程度の非線形回帰なら,エクセルのソルバーでも十分解けるでしょう。

求めたパラメータの信頼限界などはブートストラップ法で求めることができますが,これは自分でプログラムを書くしかないでしょうね。

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


294. Re^4: この非線形回帰は可能?  青木繁伸  2000/01/20 (木) 16:35
> Simplex法は関数の最大値(or最小値)を求める一般的な手法のひとつであって,非線形最小二乗法の手法のひとつではありません。

おっしゃるとおりですね。

> 求めたパラメータの信頼限界などはブートストラップ法で求めることができますが,これは自分でプログラムを書くしかないでしょうね。

パラメータに関して偏微分したヤコビ行列を使ったニュートン法やマルカート法ではパラメータの標準誤差が求まるのでパラメータの有意性検定もできますね。
昔簡単なプログラムを書いたことがあるのだけど,忘れてしまいました。

# ソルバー はまともに使ったことがないな〜。勉強してみようっと。

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


298. Re^5: この非線形回帰は可能?  青木繁伸  2000/01/20 (木) 19:38
> # ソルバー はまともに使ったことがないな〜。勉強してみようっと。

ソルバーってのは簡易インストールでは(今使っているマシンには)インストールされていなかったので,カスタムインストールしました。

なるほど。これは数値微分をしてニュートン法などを使っているんですね(ユーザには隠して裏で)。シンプレックスよりはいい。

ただし,ニュートン法などは関数や初期値によっては局所解に収束してしまうこともあるので,ちょっと注意が必要かな。

ひのさん流にいえば,ニュートン法なども関数の最大値/最小値を求める方法に過ぎないのだから....じゃ,非線形最小二乗法っていったい何なの?という気がする。

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


300. Re^6: この非線形回帰は可能?  ひの  2000/01/20 (木) 23:46
> ひのさん流にいえば,ニュートン法なども関数の最大値/最小値を求める方法に過ぎないのだから....じゃ,非線形最小二乗法っていったい何なの?という気がする。

最小二乗法は誤差の平方和を最小にするようにしたときにもっともモデルへの当てはまりがよいとする,パラメータ推定のための統計モデルです。誤差が正規分布するなどの幾つかの条件が満たされる場合にはこれが最尤推定法になります。

モデルがパラメータに関して非線形であるときには非線形最小二乗法と呼ばれます。

ニュートン法などは,誤差の平方和を最小化するパラメータの値を(解析的計算ではなく)数値計算によって求めるのに使うことのできる計算方法ということになります。

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


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