Grafiti LLC

コンフィデンスバンド

信頼区間と信頼帯

基本

Grafitiで線形モデルの信頼区間を算出する方法について、時々質問を受けることがあります。実はそれほど難しくなく、ここではその手法について解説します。ただし、その前に、線形モデルの信頼区間の基礎となる考え方を改めて確認しておきましょう。

まず、Yを変数Xに線形回帰させた場合、Xのある値に対して、Yの値はY=aX+b+eで与えられ、eは “ノイズ項 “である。

ノイズ項は通常、平均0、分散s^2の正規分布と仮定される。 実際のデータセットのコツは、aとbを推定し、s^2の推定値を用いてそれらの推定値から推論を行うことである。

上の式によれば、XにおけるYの平均はaX+bである。

しかし、実際のデータセットでは、aとbの “真の “値を知ることはなく、わかるのは推定値だけである。 したがって、Yの真の平均が発生すると比較的確信できる区間を見つけることが適切である。

この間隔の計算には非常に面倒な公式があるが、ここでは割愛する。 結局のところ、コンピューターは計算を簡単にしなければならない。 そこで、サンプル・データセットUSSTATES.SYDを取り、変数CARDIOとCANCERについて48の有効なケースがあるとします。 Statistics> Regression> Linear ダイアログ・ボックスを使用して、回帰モデルを設定するか、コマンドを発行する:

REGRESS
USE usstates
SAVE regress/MODEL
MODEL cancer=CONSTANT+cardio
ESTIMATE

次にコンピュータはモデルを推定し、定数とCARDIOの係数の推定値を求め、分散分析表をプリントアウトする。

この例では、REGRESS.SYDというファイルも保存されます。REGRESS.SYDには、モデルからの残差、モデル(ESTIMATEという変数)のCARDIOに基づくCANCERの推定値、SEPREDという謎の値が含まれます。 信頼区間を計算するのに使うのはSEPREDである。

SEPREDは「予測値の標準誤差」の略。 ファイルには元のデータの値も保存される。 SAVEコマンドにMODELオプションを追加したので、これらは保存される。

CANCERの予測値に対する95%信頼区間の上限(UPPER)と下限(LOWER)を計算するには、「Data」> 「Transform」> 「Let」ダイアログボックスを使用するか、BASICモジュールを開いて以下のコマンドを実行します。
BASIC
USE regress
LET n=48
LET nvars=2
LET upper = estimate+TIF(.975,n-nvars)*sepred
LET lower = estimate-TIF(.975,n-nvars)*sepred
PRINT upper lower
RUN

そして、各ケースのCANCERの推定値の信頼限界の上限と下限が印刷される。 上記では、TIFは “逆t分布 “の略である。

上記の考え方は、いくつかの異なる方法で一般化することができる。 例えば、2つの変数の回帰でYの平均の信頼区間を求めたい場合は、REGRESSのMODEL文にそれらの変数を追加し、BASICモジュールのNVARSを2から3に変更するだけでよい。 (注:N-NVARS は、有効症例数からモデル内の変数数を引いたものである。 上記の N と NVARS を、モデルに合ったケース数と変数数に設定します。

Xの新しい値におけるYの平均の信頼区間

X変数の1つまたは複数の新しい値におけるYの平均の信頼区間を求めたい場合がある。 Xの新しい値をファイルの最後に置き、関連するYの値をゼロにする。 (Y値が実際に何であるかは気にする必要はない。このY値は単なるプレースホルダーであり、計算には入らない)

次に、ファイルにWTという新しい変数を追加する。 ファイルを保存した後、Data> Frequencyダイアログを使って、重み付け変数としてWTを選択するか、コマンドを実行してください:

FREQUENCY=WT

Statistics> Regression> Linear ダイアログ・ボックスまたはコマンド・ファイルを用いて、回帰モデルを再度推定し、結果を MODEL オプション付きデータ・ファイルに保存することを忘れないようにする。 FREQUENCYコマンドはこの文脈で非常に便利である。回帰計算では、重み1のポイントは1回使われ、重み0のポイントは0回使われる。

したがって,回帰は,YとXの値がわかっているケースについて計算される. 保存された結果のファイルを使って、新しいケースについて、既知のXの値における未知のYの推定平均の信頼区間を導き出すために、上記の計算を使用することができます。

繊細さ

この種の信頼区間に関しては、注意すべき点がいくつかあります。まず、これはXの特定の値におけるYの平均値の信頼区間であり、回帰直線の信頼区間や信頼帯ではありません。 信頼区間の上限(UPPER)と下限(LOWER)をプロットすると、回帰直線の周囲に2本の曲線が現れるのがわかります。USSTATES.SYD ファイルを使用した元の例に戻り、信頼区間の値を計算してプロットしてみましょう: BEGIN PLOT cancer*x(1) /SIZE=0 SMOOTH=LINEAR SHORT YMIN=100 YMAX=300 , XMIN=100 XMAX=500 XLABEL=’CARDIO’ COLOR=BLUE PLOT upper,lower*x(1) /SIZE=0 SMOOTH=SPLINE SHORT YMIN=100 YMAX=300, XMIN=100 XMAX=500 YLABEL=’ ‘ XLABEL=’ ‘ COLOR=RED, OVERLAY END (推定モデルの結果を保存する際、SYSTATは独立変数の名前をX(1)に変更します。 . . X(n)なので、この例ではCARDIOはX(1)と名前を変えている)。
これらの線が、線全体に対する信頼帯を形成していると考えるのは魅力的ですが、それは正しくありません。 問題は、信頼区間の上限と下限が、1点ずつ用いて計算されている点にあります。線全体に対する信頼区間を計算するためには、その線について、定数とXの係数という2つのパラメータが計算されているという事実を考慮に入れる必要があります。 したがって、線全体に対する信頼区間の上下限は次のように表されます: BASIC LET n=48 LET nvars=2 LET upperband = estimate+SQRT(2*FIF(.95,2,n-nvars))*sepred LET lowerband = estimate+SQRT(2*FIF(.95,2,n-nvars))*sepred PRINT upperband lowerband RUN CANCERの推定値の信頼区間と回帰直線の信頼帯をプロットすると、信頼区間よりも信頼帯の方が広いことがわかる: BEGIN PLOT cancer*x(1) / SIZE=0 SMOOTH=LINEAR SHORT YMIN=100 YMAX=300 , XMIN=100 XMAX=500 XLABEL=’CARDIO’ COLOR=BLUE PLOT upper,lower*x(1) /SIZE=0 SMOOTH=SPLINE SHORT YMIN=100, YMAX=300 XMIN=100 XMAX=500 YLABEL=’ ‘, XLABEL=’ ‘ COLOR=RED OVERLAY PLOT upperband,lowerband*x(1) /SIZE=0 SMOOTH=SPLINE SHORT, YMIN=100 YMAX=300 XMIN=100 XMAX=500 YLABEL=’ ‘, XLABEL=’ ‘ COLOR=GREEN OVERLAY END
CANCER(がんによる100,000人当たりの死亡者数)とCARDIO(心血管系疾患による100,000人当たりの死亡者数)の関係は線形であるため、CANCERの推定値の信頼区間と回帰直線の信頼区間の差は小さいが、このように行儀の良いデータでも差は明らかである。 第2に、すべてのオブザベーションの95%が信頼帯内に入るはずだと考えたくなる。 これも真実ではない。 これらは平均値のみの信頼帯である。 オブザベーションの信頼帯を見つけたい場合は、下記のように計算を修正しなければなりません。 BASIC LET n=48 LET nvars=2 LET s_square=177.065 LET upperband = estimate+TIF(.975,n-nvars)*SQR(sepred^2+s_square) LET lowerband = estimate-TIF(.975,n-nvars)*SQR(sepred^2+s_square) PRINT upperband lowerband RUN
ここで S_SQUARE は回帰の平均2乗残差である。 これらは予測区間と呼ばれることもある。 NとNVARSの値を入力するとき、回帰出力の分散分析の表にあるS_SQUAREの値も入力してください。 この計算結果を見たい場合は、以下のコマンドを実行してください: BEGIN PLOT cancer*x(1) /SMOOTH=LINEAR SHORT YMIN=100 YMAX=300 XMIN=100, XMAX=500 XLABEL=’CARDIO’ COLOR=BLUE PLOT upperband,lowerband*x(1) / SIZE=0 SMOOTH=SPLINE SHORT, YMIN=100 YMAX=300 XMIN=100 XMAX=500 YLABEL=’ ‘, XLABEL=’ ‘ COLOR=GREEN OVERLAY END これはデータの周りに信頼帯または予測区間をプロットします。
お買い物カゴ
上部へスクロール