回帰分析を行って出力された「パラメーター推定値」の部分に関して、標準偏回帰係数(標準β)は表示できますが、標準偏回帰係数の95%信頼区間を表示させる方法が分かりません。この方法をご存じの方がいらっしゃったら、ご教示いただけますと幸いです。
よろしくお願いいたします。
P.S.「標準偏回帰係数=偏回帰係数x(説明変数の標準偏差/目的変数の標準偏差)」を用いて標準偏回帰係数の95%信頼区間を計算できるのではないかと考え、試しに「一変量の分布」から得られた「説明変数の標準偏差」と「目的変数の標準偏差」を用いて標準偏回帰係数(標準β)を求めてみましたが、レポート上の標準偏回帰係数(標準β)の値と少し異なっていました。
(In Japanese)
■点推定値について
線形回帰分析モデルに対する通常の最小2乗推定(OLS; ordinary least squares)における偏回帰係数の点推定値は、おっしゃる通り、
標準偏回帰係数=偏回帰係数×(説明変数の標準偏差/目的変数の標準偏差)
という関係がありますです。
ただし、「モデルのあてはめ」におけるデフォルトでは、欠測値をリストワイズ法で処理します。リストワイズ法とは、目的変数 y および説明変数の組 x1, x2,...,x_pにおいて1つでも欠測値があると、その行をごっそり計算から除外するという方法です。
もし、説明変数がすべて連続尺度であれば、「多変量の相関」より、リストワイズ除去した後の平均と標準偏差を求めることができます。
(1) [分析] > [多変量の相関]を選択する。
(2) 呼び出された起動ウィンドウの左下における[分散推定]のコンボボックスで[リストワイズ]を選択する。
(3) 目的変数(y)および説明変数の組(x1,x2,...x_p)のすべてを[Y, 列]に指定し、[OK]ボタンをクリックする。
(3) 先頭の「多変量」の赤い三角ボタンをクリックして、[基本統計量]> [多変量の基本統計量]を選択する。
他の方法として、欠測値の1つもないデータだけを抽出したデータテーブルを次の手順で作成することもできます。
(1) [テーブル] > [欠測値パターン表示]を選択する。
(2) 目的変数(y)および説明変数の組(x1,x2,...x_p)のすべてを[列の追加]に指定し、[OK]ボタンをクリックする。
(3) 作成したデータテーブルにおける先頭の行を選択する。この先頭の行は「欠測値のある列数」が0になっており、「パターン」がすべて0となっている。
(4) 元のデータテーブルをアクティブにする。上記(3)の操作により、欠測値が1つもない行だけが選択状態になっている。
(5) [テーブル] > [サブセット]を選択する。
(6) ラジオボタンにて[選択した行]および[すべての列」を選択し、[OK]ボタンをクリックする。
もしも、データに欠測値がなく、かつ、手計算との違いがごくわずかな場合には、手計算をするときに数値を丸めているからかもしれません。JMPのレポートでは、数値を丸めて表示しています。より下の桁数を見るには、表の列を右クリックして呼び出されるメニューより、[列の表示形式]を選択し、総桁数を「20」などに変更してください。もしくは、表を右クリックして呼び出されるメニューより、[データテーブルへの出力]を選択すると、JMPデータテーブルに結果の表が出力されますので、そのJMPデータテーブルのセルをクリックして、丸めていない細かい数値をコピーすることができます。
リストワイズ法による欠測値処理は、データの欠測機構が、完全にランダムな欠測(MCAR; missing completely at random)のときにのみ妥当な推定方法となります。もし、お使いのJMPが、JMP ProもしくはJMP Student Editionであれば、「構造方程式モデル」プラットフォームにおいて、多変量正規正規分布を仮定した完全情報最尤推定法(full information maximum likelihood)を行えます。「構造方程式モデル」プラットフォームは、[分析]>[多変量]>[構造方程式モデル]から起動できます。「構造方程式モデル」プラットフォームでは、パス図でのモデル指定が必要となってきます。ご興味がある場合はその旨をご返信ください。多変量正規正規分布を仮定した完全情報最尤推定法では、母集団分布が多変量正規分布であれば、欠測機構がランダムな欠測(MAR; missing at random)であれば妥当な推定方法となります。
■信頼区間について
標準偏回帰係数の信頼区間ですが、点推定値がb sy/sx_jであることから(ここで、bは偏回帰係数、syは目的変数の標準偏差、sx_jは第j番目の説明変数の標準偏差)、(l sy/sx_j, u sy/sx_j)を近似的な信頼区間とすることも考えられなくもないです。ここで l は信頼区間の下限、uは信頼区間の上限です。しかし、この近似が良くなるのは、syおよびsx_jがかなり精度よく推定されていて、sy/sx_iが定数のように扱える場合に限ります。通常、bと同様、syとsx_jはばらつきをもつと考えられるので、この方法はそれほど良くないと考えられます。
単回帰係数の場合には、標準偏回帰係数は相関係数に一致します。母集団分布が二変量正規分布である場合の相関係数の標本分布は、Cramer(1946, pp.397-401)などに示されており、数値積分が必要ですが(母集団分布が二変量正規分布の場合には)理論的には正確な信頼区間を求めることができます。ただ、数値積分が必要なため、実用的には、伝統的にFisherのz変換法で求めることが広まっています。JMPの「多変量の相関」でもFisherのZ変換法で相関係数の信頼区間を求めています。
標準偏回帰係数に限らず、良い近似をもつ標本分布を求めるのが難しい状況で汎用的に使われている統計手法に、ブートストラップ法があります。「モデルのあてはめ」の線形回帰分析および「構造方程式モデル」プラットフォームでもブートストラップ法を行えます。
<「モデルのあてはめ」での線形回帰分析の場合>
(0) 以下の(5)の計算に時間がかかるため、JMPで作業途中の分析やデータ加工がある場合には、念のために保存しておく。
(1) レポートの「パラメータ推定値」表で右クリックし、[標準β]を選択する。
(2) 表示された「標準β」の列を右クリックし、[ブートストラップ]を選択する。
(3) [ブートストラップ標本数]を指定する(たとえば、10000回)
(4) 再現性のために乱数シード値も指定しておく。
(5) [OK]ボタンをクリックする。
→ ブートストラップの標本抽出が始まります。時間がかかります。
(6) 作成されたデータテーブルにおいて、左上にある「一変量の分布」テーブルスクリプトの緑色の三角ボタンをクリックする。
以上の操作により、ブートストラップ分布とそこから計算された信頼区間が表示されます。
"BC"とは"bias-corrected"の略であり、Efron(1982,pp.82-84)で述べられているバイアス補正パーセント点法(bias-corrected percentile method)という方法でブートストラップ信頼区間は計算されています。
※「モデルのあてはめ」で線形回帰分析をあてはめる場合で欠測値がある場合でブートストラップ法を用いる場合には、上記の「欠測値パターン表示」で完全データにした後に実行したほうがいいように思えます。いずれにしても、点推定値の場合と同様、完全にランダムな欠測(MCAR; missing completely at random)のときにしか妥当ではありません。
<JMP ProもしくはJMP Student Editionでの構造方程式モデルの場合>
(0) 以下の(2)の計算に時間がかかるため、JMPで作業途中の分析やデータ加工がある場合には、念のために保存しておく。
(1) パス図を描いて線形重回帰モデルをあてはめた後、そのモデルのレポートより[標準化したパラメータ推定値」を選択する。
(2) レポート先頭の「構造方程式モデル」の赤い三角ボタンより、[推測方法]> [ブートストラップ推測]を選択する。
■補足
JMP, JMP Pro, JMP Student Editionでは行えませんが、欠測値がある場合の手法として多重補完法(multiple imputation method)という方法もあります。多重補完法も、ブートストラップ法と同様、特に複雑な解析的な導出なしに、汎用的に利用できる統計手法です。多重補完法を行いながら、ブートストラップ法を行うということも考えられますが、JMP, JMP Pro, JMP Student Editionでは多重補完法はサポートされていません。また、たとえ実行するにしても、計算時間もかなりかかってしまうのではないかと思います。
■参考文献
Cramér, H.(1946) Mathematical Methods of Statistics. Princeton University Press.
Efron, B.(1982) The Jacknife, the Bootstrap and Other Resampling Plans. Society for Industrial and Applied Mathematics.
ブートストラップ法は、元データから標本再抽出を繰り返して信頼区間を近似する方法であり、重回帰分析においても利用できます。標本サイズがかなり小さすぎる場合、もしくは、説明変数の個数がかなり多すぎる場合には、重回帰分析の推定が失敗するブートストラップ標本が頻出することもあるかもしれませんが、単回帰分析でも、重回帰分析でも行えます。下図の赤線を引いた部分が、バイアス補正パーセント点法によるブートストラップ信頼区間です。
ブートストラップ法が必ず失敗する例は、最大値や最小値、もしくは1%点や99%点などの分布の隅のほうのパラメータを推定する場合です。ブートストラップ標本の最大値(もしくは最小値)はデータの最大値(もしくは最小値)を超えることはないので、ブートストラップ法による推測が必ず失敗します。
(In Japanese)
■点推定値について
線形回帰分析モデルに対する通常の最小2乗推定(OLS; ordinary least squares)における偏回帰係数の点推定値は、おっしゃる通り、
標準偏回帰係数=偏回帰係数×(説明変数の標準偏差/目的変数の標準偏差)
という関係がありますです。
ただし、「モデルのあてはめ」におけるデフォルトでは、欠測値をリストワイズ法で処理します。リストワイズ法とは、目的変数 y および説明変数の組 x1, x2,...,x_pにおいて1つでも欠測値があると、その行をごっそり計算から除外するという方法です。
もし、説明変数がすべて連続尺度であれば、「多変量の相関」より、リストワイズ除去した後の平均と標準偏差を求めることができます。
(1) [分析] > [多変量の相関]を選択する。
(2) 呼び出された起動ウィンドウの左下における[分散推定]のコンボボックスで[リストワイズ]を選択する。
(3) 目的変数(y)および説明変数の組(x1,x2,...x_p)のすべてを[Y, 列]に指定し、[OK]ボタンをクリックする。
(3) 先頭の「多変量」の赤い三角ボタンをクリックして、[基本統計量]> [多変量の基本統計量]を選択する。
他の方法として、欠測値の1つもないデータだけを抽出したデータテーブルを次の手順で作成することもできます。
(1) [テーブル] > [欠測値パターン表示]を選択する。
(2) 目的変数(y)および説明変数の組(x1,x2,...x_p)のすべてを[列の追加]に指定し、[OK]ボタンをクリックする。
(3) 作成したデータテーブルにおける先頭の行を選択する。この先頭の行は「欠測値のある列数」が0になっており、「パターン」がすべて0となっている。
(4) 元のデータテーブルをアクティブにする。上記(3)の操作により、欠測値が1つもない行だけが選択状態になっている。
(5) [テーブル] > [サブセット]を選択する。
(6) ラジオボタンにて[選択した行]および[すべての列」を選択し、[OK]ボタンをクリックする。
もしも、データに欠測値がなく、かつ、手計算との違いがごくわずかな場合には、手計算をするときに数値を丸めているからかもしれません。JMPのレポートでは、数値を丸めて表示しています。より下の桁数を見るには、表の列を右クリックして呼び出されるメニューより、[列の表示形式]を選択し、総桁数を「20」などに変更してください。もしくは、表を右クリックして呼び出されるメニューより、[データテーブルへの出力]を選択すると、JMPデータテーブルに結果の表が出力されますので、そのJMPデータテーブルのセルをクリックして、丸めていない細かい数値をコピーすることができます。
リストワイズ法による欠測値処理は、データの欠測機構が、完全にランダムな欠測(MCAR; missing completely at random)のときにのみ妥当な推定方法となります。もし、お使いのJMPが、JMP ProもしくはJMP Student Editionであれば、「構造方程式モデル」プラットフォームにおいて、多変量正規正規分布を仮定した完全情報最尤推定法(full information maximum likelihood)を行えます。「構造方程式モデル」プラットフォームは、[分析]>[多変量]>[構造方程式モデル]から起動できます。「構造方程式モデル」プラットフォームでは、パス図でのモデル指定が必要となってきます。ご興味がある場合はその旨をご返信ください。多変量正規正規分布を仮定した完全情報最尤推定法では、母集団分布が多変量正規分布であれば、欠測機構がランダムな欠測(MAR; missing at random)であれば妥当な推定方法となります。
■信頼区間について
標準偏回帰係数の信頼区間ですが、点推定値がb sy/sx_jであることから(ここで、bは偏回帰係数、syは目的変数の標準偏差、sx_jは第j番目の説明変数の標準偏差)、(l sy/sx_j, u sy/sx_j)を近似的な信頼区間とすることも考えられなくもないです。ここで l は信頼区間の下限、uは信頼区間の上限です。しかし、この近似が良くなるのは、syおよびsx_jがかなり精度よく推定されていて、sy/sx_iが定数のように扱える場合に限ります。通常、bと同様、syとsx_jはばらつきをもつと考えられるので、この方法はそれほど良くないと考えられます。
単回帰係数の場合には、標準偏回帰係数は相関係数に一致します。母集団分布が二変量正規分布である場合の相関係数の標本分布は、Cramer(1946, pp.397-401)などに示されており、数値積分が必要ですが(母集団分布が二変量正規分布の場合には)理論的には正確な信頼区間を求めることができます。ただ、数値積分が必要なため、実用的には、伝統的にFisherのz変換法で求めることが広まっています。JMPの「多変量の相関」でもFisherのZ変換法で相関係数の信頼区間を求めています。
標準偏回帰係数に限らず、良い近似をもつ標本分布を求めるのが難しい状況で汎用的に使われている統計手法に、ブートストラップ法があります。「モデルのあてはめ」の線形回帰分析および「構造方程式モデル」プラットフォームでもブートストラップ法を行えます。
<「モデルのあてはめ」での線形回帰分析の場合>
(0) 以下の(5)の計算に時間がかかるため、JMPで作業途中の分析やデータ加工がある場合には、念のために保存しておく。
(1) レポートの「パラメータ推定値」表で右クリックし、[標準β]を選択する。
(2) 表示された「標準β」の列を右クリックし、[ブートストラップ]を選択する。
(3) [ブートストラップ標本数]を指定する(たとえば、10000回)
(4) 再現性のために乱数シード値も指定しておく。
(5) [OK]ボタンをクリックする。
→ ブートストラップの標本抽出が始まります。時間がかかります。
(6) 作成されたデータテーブルにおいて、左上にある「一変量の分布」テーブルスクリプトの緑色の三角ボタンをクリックする。
以上の操作により、ブートストラップ分布とそこから計算された信頼区間が表示されます。
"BC"とは"bias-corrected"の略であり、Efron(1982,pp.82-84)で述べられているバイアス補正パーセント点法(bias-corrected percentile method)という方法でブートストラップ信頼区間は計算されています。
※「モデルのあてはめ」で線形回帰分析をあてはめる場合で欠測値がある場合でブートストラップ法を用いる場合には、上記の「欠測値パターン表示」で完全データにした後に実行したほうがいいように思えます。いずれにしても、点推定値の場合と同様、完全にランダムな欠測(MCAR; missing completely at random)のときにしか妥当ではありません。
<JMP ProもしくはJMP Student Editionでの構造方程式モデルの場合>
(0) 以下の(2)の計算に時間がかかるため、JMPで作業途中の分析やデータ加工がある場合には、念のために保存しておく。
(1) パス図を描いて線形重回帰モデルをあてはめた後、そのモデルのレポートより[標準化したパラメータ推定値」を選択する。
(2) レポート先頭の「構造方程式モデル」の赤い三角ボタンより、[推測方法]> [ブートストラップ推測]を選択する。
■補足
JMP, JMP Pro, JMP Student Editionでは行えませんが、欠測値がある場合の手法として多重補完法(multiple imputation method)という方法もあります。多重補完法も、ブートストラップ法と同様、特に複雑な解析的な導出なしに、汎用的に利用できる統計手法です。多重補完法を行いながら、ブートストラップ法を行うということも考えられますが、JMP, JMP Pro, JMP Student Editionでは多重補完法はサポートされていません。また、たとえ実行するにしても、計算時間もかなりかかってしまうのではないかと思います。
■参考文献
Cramér, H.(1946) Mathematical Methods of Statistics. Princeton University Press.
Efron, B.(1982) The Jacknife, the Bootstrap and Other Resampling Plans. Society for Industrial and Applied Mathematics.
”大変丁寧なご回答をいただき、誠にありがとうございます。お陰様で、JMPの標準偏回帰係数と計算した値で違いが生じる理由や、計算で求めた標準偏回帰係数の信頼区間が近似値となる理由をよく理解することができましたご説明いただいた標準偏回帰係数の信頼区間を求める方法も試してみたいと思います。また追加でご質問させていただくかもしれませんが、どうぞよろしくお願い致します。
<「モデルの該当はめ」での線形回帰分析の場合>でご説明いただいたブートストラップ法で、単回帰分析の標準偏回帰係数の95%信頼区間を求めることができました。ありがとうございます!
追加でお聞きしたいのですが、この方法は重回帰分析でも適応可能でしょうか?重回帰分析の標準βの列からも「ブートストラップ法」を選択でき、実際に実行してみたら、偏回帰係数 の95%信頼区間× (説明変数の標準偏差 / 目的変数の標準偏差)の計算から求めた値に近い値を得ることができました。追加の質問で恐縮ですが、どうぞよろしくお願いいたします。
ブートストラップ法は、元データから標本再抽出を繰り返して信頼区間を近似する方法であり、重回帰分析においても利用できます。標本サイズがかなり小さすぎる場合、もしくは、説明変数の個数がかなり多すぎる場合には、重回帰分析の推定が失敗するブートストラップ標本が頻出することもあるかもしれませんが、単回帰分析でも、重回帰分析でも行えます。下図の赤線を引いた部分が、バイアス補正パーセント点法によるブートストラップ信頼区間です。
ブートストラップ法が必ず失敗する例は、最大値や最小値、もしくは1%点や99%点などの分布の隅のほうのパラメータを推定する場合です。ブートストラップ標本の最大値(もしくは最小値)はデータの最大値(もしくは最小値)を超えることはないので、ブートストラップ法による推測が必ず失敗します。
ひとつ重要なことを言い忘れていましたが、ブートストラップ法は漸近論に基づいており、標本サイズが小さい場合には近似が悪くなります。
再度のご回答を誠にありがとうございます。ブートストラップ法でうまくいかないケースについても理解できました。
私が使用するデータ数は少ないものでも400くらいはあり、「分布」の端にあるパラメータを推定する必要もないため、この方法を用いても問題ないと思います。
ただ、「重回帰」析で使用する説明変数の数が最大で19あり、もしこの数が大きすぎるのであれば、使用しない方が良さそうです。