Sas で調理距離を計算する方法
クック距離は、回帰モデルで影響力のある観測値を特定するために使用されます。
クック距離の公式は次のとおりです。
d i = (ri 2 / p*MSE) * (h ii / (1- h ii ) 2 )
金:
- r iは i番目の剰余です
- pは回帰モデルの係数の数です。
- MSE は平均二乗誤差です
- h iiはi 番目のレバレッジ値です
基本的に、クック距離は、i番目の観測値が削除されたときにモデルのすべての近似値がどの程度変化するかを測定します。
クック距離の値が大きいほど、特定の観測値の影響力は大きくなります。
一般に、クック距離が 4/n ( n = 合計観測値) より大きい観測値は、大きな影響力を持つと考えられます。
次の例は、SAS の回帰モデルの各観測値のクック距離を計算する方法を示しています。
例: SAS でのコックの距離の計算
SAS に次のデータセットがあると仮定します。
/*create dataset*/
data my_data;
input xy;
datalines ;
8 41
12 42
12 39
13 37
14 35
16 39
17 45
22 46
24 39
26 49
29 55
30 57
;
run ;
/*view dataset*/
proc print data =my_data;
PROC REGを使用して単純な線形回帰モデルをこのデータ セットに近似し、次にOUTPUTステートメントとCOOKDステートメントを使用して、回帰モデル内の各観測値のクック距離を計算します。
/*fit simple linear regression model and calculate Cook's distance for each obs*/
proc reg data =my_data;
model y=x;
output out=cooksData cookd =cookd;
run ;
/*print Cook's distance values for each observation*/
proc print data =cooksData;
最終的な結果テーブルには、元のデータセットと各観測値のクック距離が表示されます。
たとえば、次のことがわかります。
- 最初の観測値のクック距離は0.36813です。
- 2 番目の観測値のクック距離は0.06075です。
- 3 番目の観測値のクック距離は0.00052です。
等々。
PROC REGプロシージャは、出力にいくつかの診断プロットも生成します。次の出力にはクック距離プロットが表示されます。
X 軸は観測値の番号を示し、Y 軸は各観測値のクック距離を示します。
カットオフラインが 4/n に配置されていることに注意してください (この場合、n = 12、つまりカットオフは 0.33 です)。データセット内の 3 つの観測値がこのラインよりも大きいことがわかります。
これは、これらの観察結果が回帰モデルに大きな影響を与える可能性があることを示しており、モデルの結果を解釈する前にさらに綿密に調査する必要がある可能性があります。
追加リソース
次のチュートリアルでは、SAS で他の一般的なタスクを実行する方法について説明します。
SAS で残差プロットを作成する方法
SAS でヒストグラムを作成する方法
SAS で点群を作成する方法
SAS で外れ値を特定する方法