★ ステップワイズ重回帰に二次式を入れる方法 ★

2783. ステップワイズ重回帰に二次式を入れる方法 tany 2004/03/17 (水) 18:28
├2808. Re: ステップワイズ重回帰に二次式を入れる方法 ET 2004/03/21 (日) 18:13
│└2810. Re^2: ステップワイズ重回帰に二次式を入れる方法 青木繁伸 2004/03/22 (月) 11:03
│ └2817. Re^3: ステップワイズ重回帰に二次式を入れる方法 ET 2004/03/23 (火) 05:28
│  └2818. Re^4: ステップワイズ重回帰に二次式を入れる方法 青木繁伸 2004/03/23 (火) 10:00
└2785. Re: ステップワイズ重回帰に二次式を入れる方法 青木繁伸 2004/03/17 (水) 18:51
 └2788. Re^2: ステップワイズ重回帰に二次式を入れる方法 tany 2004/03/17 (水) 20:07
  └2790. Re^3: ステップワイズ重回帰に二次式を入れる方法 青木繁伸 2004/03/17 (水) 21:09
   └2792. Re^4: ステップワイズ重回帰に二次式を入れる方法 tany 2004/03/17 (水) 22:13
    └2793. Re^5: ステップワイズ重回帰に二次式を入れる方法 青木繁伸 2004/03/17 (水) 22:43
     └2798. Re^6: ステップワイズ重回帰に二次式を入れる方法 tany 2004/03/18 (木) 11:06
      └2800. Re^7: ステップワイズ重回帰に二次式を入れる方法 青木繁伸 2004/03/18 (木) 11:39
       └2801. Re^8: ステップワイズ重回帰に二次式を入れる方法 tany 2004/03/18 (木) 21:46


2783. ステップワイズ重回帰に二次式を入れる方法 tany  2004/03/17 (水) 18:28
ステップワイズ重回帰分析で二次式で回帰をする変数を入れたいのですが,どのようにしたら良いのでしょうか?

具体的には
従属変数:生物の種数
独立変数:面積,草刈の多様さ,草刈回数
という変数で,どの条件が種数に効いているのか知りたいのです.
草刈回数と種数が上に凸の二次式の関係になるのですが,どうすればよいのでしょうか?

よろしくお願いします.

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


2808. Re: ステップワイズ重回帰に二次式を入れる方法 ET  2004/03/21 (日) 18:13
こんにちは。
やりとりを興味深く拝見しました。
実は私も似たような問題で悩んでおります。

> 従属変数:生物の種数
> 独立変数:面積,草刈の多様さ,草刈回数
> という変数で,どの条件が種数に効いているのか知りたいのです.
> 草刈回数と種数が上に凸の二次式の関係になるのですが,どうすればよいのでしょうか?

この場合,

従属変数:生物の種数
独立変数:面積,草刈の多様さ,(草刈の多様さ)^2,草刈回数,(草刈回数)^2

というふうに独立変数を増やせば良いということは分かります。

面積は広ければ広いほど生物の種類は増える。
草刈りは適度にやるのがよろしい(およそ年にJ回程度が最もよろしい)。
草刈り方法も適度に変えてみるのがよろしい(およそK種類程度が最もよろしい)。

ということが言えそうなことも何となく想像できます。

が,最後に寄与度を相互に比較したいという場合はどうしたら良いのでしょうか。

たとえば,
「空き地における多様な生態系」を維持するために結局のところ我々は「草刈りの多様さ」と「草刈り回数」のどちらに気を配ったらよいのか,
という問いを立てた場合,
あるいは,
「草刈りの多様さ」や「草刈り回数」にいくら気を配ろうが大差なく結局は空き地の面積がものをいう,
という仮説を検証したい場合,
一体どうしたら良いのでしょうか。

たとえば,草刈りの多様さに関するベータ値というのは,
「(草刈りの多様さ)^1のベータ値」
「(草刈りの多様さ)^2のベータ値」
というふうにバラバラに出てきてしまうわけですから,
「両方合わせた総合的ベータ値」というものでも出てこないかぎり,
結局のところ,
この寄与度の大小を「草刈り回数」や「面積」との関係で比較検討することは無理ですよね。

御教示いただけると嬉しいのですが。

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


2810. Re^2: ステップワイズ重回帰に二次式を入れる方法 青木繁伸  2004/03/22 (月) 11:03
私より適切なコメンテーターがいらっしゃると思いますが,とりあえず。


一次の項と二次の項の評価について

二次まで考えるときには,a*(x-b)^2+c という形に変形して解釈すると x, x^2 を別々に評価する必要はないと思います。
また,このように式変形すると,データは本当に上に凸の放物線だろうか,本当は2つの折れ線,あるいは a*(x-b)^4+c かもしれないということになるかも。

x, x^2 と y, y^2 およびそのほかの項(変数)の寄与の程度の考察について

ステップワイズ変数選択には,いろいろ否定的な見方もありますが,段階的に変数を追加していって(モデルを改良していって),各段階での当てはまり具合(従属変数の説明のされ具合)を検討するということも行われます。
あるモデルに,x, x^2 を追加したときと,y, y^2 を追加したときの寄与率(決定係数)を見るというのはいかがでしょう。決定係数が有意に増加したかどうか検定すればいいと思います。

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


2817. Re^3: ステップワイズ重回帰に二次式を入れる方法 ET  2004/03/23 (火) 05:28

> 一次の項と二次の項の評価について
>
> 二次まで考えるときには,a*(x-b)^2+c という形に変形して解釈すると x, x^2 を別々に評価する必要はないと思います。

これは,
投入する独立変数を,

v,
w,
x,
x^2,
y,

とするのをやめて,

v,
w,
a*(x-b)^2+c,
y,

としてしまう,ということですか。
間違っていたらすみません。

でも,もしも,こういう処理が許されるのであれば,

例えば
「ジャンプしたときに指先がバレーボールのネットを何センチ越えるか」
を予測したいときには,
選手の身長と体重のどちらにより着目したら良いか,
などの問題を考えるときに役立ちそうですね。

まずは,

体重,
(体重)^2,

だけを投入して,
a*(体重-b)^2+c,
という回帰式を求めておき,今度はそれを身長と一緒に

身長,
a*(体重-b)^2+c,

という具合に投入し,上記2変数それぞれの寄与度(ベータ値)を比較すれば,
選手の身長と体重のどちらにより着目したら良いか,
がハッキリするわけですね。

でも,そもそも,こういう処理って許されるのでしょうか。

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


2818. Re^4: ステップワイズ重回帰に二次式を入れる方法 青木繁伸  2004/03/23 (火) 10:00
> 投入する独立変数を,
>
> v,
> w,
> x,
> x^2,
> y,
>
> とするのをやめて,
>
> v,
> w,
> a*(x-b)^2+c,
> y,
>
> としてしまう,ということですか。

いいえ。コメントは,多項式回帰で一次と二次の項を含むときについて書いたものです。
f(x)= ax^2+bx+c のとき。解釈の時には,式変形すれば,頂点の推定値が得られ,その前後で相関が逆になるということが式の上で明らかになるということを,蛇足ながら述べただけです。

> まずは,
>
> 体重,
> (体重)^2,
>
> だけを投入して,
> a*(体重-b)^2+c,
> という回帰式を求めておき,今度はそれを身長と一緒に
>
> 身長,
> a*(体重-b)^2+c,
>
> という具合に投入し,上記2変数それぞれの寄与度(ベータ値)を比較すれば,
> 選手の身長と体重のどちらにより着目したら良いか,
> がハッキリするわけですね。
>
> でも,そもそも,こういう処理って許されるのでしょうか。

どうでしょう。PLS 回帰というのと関係があるのかもしれません。
しかし,上のような簡単な場合には,最終結果を式変形したものと,直接一回だけ重回帰分析したものと結果は当然変わってくるわけで,上のような解析は普通は認められないと思います。
適当なデータを取り上げて(作って)シミュレーションしてみるといいかも。

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


2785. Re: ステップワイズ重回帰に二次式を入れる方法 青木繁伸  2004/03/17 (水) 18:51
> 草刈回数と種数が上に凸の二次式の関係になるのですが,

まえもって(草刈回数)^2 を計算して元の変数と一緒にファイルに書き込んでおけばよいのではないでしょうか?

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


2788. Re^2: ステップワイズ重回帰に二次式を入れる方法 tany  2004/03/17 (水) 20:07
> まえもって(草刈回数)^2 を計算して元の変数と一緒にファイルに書き込んでおけばよいのではないでしょうか?

そのまま2乗してしまうと上に凸のまま横に広がるだけで線形にはならないのですが,通常は二次式のものは二乗するものなのでしょうか?

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


2790. Re^3: ステップワイズ重回帰に二次式を入れる方法 青木繁伸  2004/03/17 (水) 21:09
> そのまま2乗してしまうと上に凸のまま横に広がるだけで線形にはならないのですが,通常は二次式のものは二乗するものなのでしょうか?

おっしゃっていることがよく分からないのですが,

x 3, 3, 4, 2, 5 6, ....
などとああるとき,
y 9, 9, 16,, 4, 25, 36 ....
というのを用意して,x と y をともに独立変数としたら,結果として
f(x,y)= a+bx+cy = a+bx+cx^2 ということになるでしょう?

#同じような原理で(おおげさ),1/x とか sin(x) とか x^(0.432) なんかも組み込むことはできるわけです。ただし,そう言う項を組み込むのが理論的に意味があるならばということですが。

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


2792. Re^4: ステップワイズ重回帰に二次式を入れる方法 tany  2004/03/17 (水) 22:13
すみません
何も考えずに2乗していました.

y=ax^2+bx+c の場合は
そのまま2乗するのではなく,
z=x^2+b/ax という計算をすれば良いわけですね.

これならうまくいきそうです.
ありがとうございました.

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


2793. Re^5: ステップワイズ重回帰に二次式を入れる方法 青木繁伸  2004/03/17 (水) 22:43
私の読解力がないのでしょうが,あなたの記述がどうもよくわかりません。
y    x
20.1    2.3
39.8    4.1
61.2    5.5
75.4    6.3
94.7    7.3
122.0    8.5
144.1    9.4
のようなデータがあって,y=a*x^2+b*x+c のような二次式(この段階では上に凸だろうと下に凸だろうと無関係)に当てはめたいと言っているようなもんなのでしょう?
そう言う場合には,
y    x    x^2
20.1    2.3    5.29
39.8    4.1    16.81
61.2    5.5    30.25
75.4    6.3    39.69
94.7    7.3    53.29
122.0    8.5    72.25
144.1    9.4    88.36
というデータを用意して,右二列(x,x^2)を独立変数にして,左端の列(y)を予測する重回帰分析をすればいいのでしょうと私は言っています。通じてますか(失礼しました)。
Excel で分析してみると,
       係数      標準誤差
切片   5.558112278    0.64115925
x      3.531426802    0.234698767
x^2    1.19346699     0.01957829
のような結果になります(主要部分を抜粋)
つまり,
y=1.19346699*x^2 + 3.531426802*x + 5.558112278
となるわけです。
あなたの理解でやってみて,それで,ちゃんと予測式が作れればそれでいいですが。

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


2798. Re^6: ステップワイズ重回帰に二次式を入れる方法 tany  2004/03/18 (木) 11:06
こちらの説明不足でどうもかみ合っていないみたいですね.

> y=a*x^2+b*x+c のような二次式(この段階では上に凸だろうと下に凸だろうと無関係)に当てはめたいと言っているようなもんなのでしょう?

私は予測式を二次式にしたいのではなく,独立変数が3つあり,そのうちの一つが従属変数と二次式の回帰を示し,これらを使ったステップワイズ重回帰がしたいということで質問をしました.

結果的に二次式になるかもしれませんが,それを目的としているわけではないのです.

たびたびお手数をおかけしますが,よろしくお願いします.

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


2800. Re^7: ステップワイズ重回帰に二次式を入れる方法 青木繁伸  2004/03/18 (木) 11:39
> 私は予測式を二次式にしたいのではなく,独立変数が3つあり,そのうちの一つが従属変数と二次式の回帰を示し,これらを使ったステップワイズ重回帰がしたいということで質問をしました.
>
> 結果的に二次式になるかもしれませんが,それを目的としているわけではないのです.

それは分かっています。

要するに必要な変数変換をしたデータを用意すればいいと言っているだけです。独立変数が一つであろうと三つであろうと,それらが二次の曲線回帰であろうと,五次の曲線回帰であろうと,分析方法を例示するには,事細かに全容を書く必要はないでしょう。やってみて,うまくいけばそれでいいです。

例えば,
x, x^2, 1/x, y, y^2, z, z^2, sqrt(z)
などを用意して,それ全部を使ってステップワイズ変数選択で重回帰を行えばいいのでしょう。

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


2801. Re^8: ステップワイズ重回帰に二次式を入れる方法 tany  2004/03/18 (木) 21:46
>やってみて,うまくいけばそれでいいです。

わかりました.
いろいろやってみます.

どうもありがとうございました.

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


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