Main Content

決定係数 (R-squared)

目的

決定係数 (R-squared) は、線形回帰モデルの独立変数 X で説明される応答変数 y の変化に比例する量を表します。決定係数が大きいほど、線形回帰モデルで説明される変動性が大きくなります。

定義

決定係数は、モデルで説明される二乗の総和の比率です。Rsquared (近似モデルのプロパティ) は次の 2 つのフィールドをもつ構造体です。

  • Ordinary — 通常の (自由度未調整) 決定係数

    R2=SSRSST=1SSESST.

  • Adjusted — 係数の個数に対する自由度調整済み決定係数

    Radj2=1(n1np)SSESST.

    SSE は二乗誤差の総和、SSR は二乗回帰の総和、SST は二乗和の総和、n は観測数、p は回帰係数の個数です。p には切片が含まれることに注意してください。したがって、たとえば線形近似の場合は p が 2 になります。決定係数は回帰モデルの予測子の変数の追加にともない増加するため、自由度調整済み決定係数はモデルの予測子変数の数に対して調整されます。このため、予測子の数が異なるモデルとの比較に便利です。

使用方法

近似モデル (mdl など) を取得した後、fitlm または stepwiselm を使用して、ドット表記でプロパティのインデックスを使用し、決定係数の値をスカラーとして取得することができます。次に例を示します。

mdl.Rsquared.Ordinary
mdl.Rsquared.Adjusted

また、同じ名前でプロパティを使用して、SSE、SSR、SST を取得することもできます。

mdl.SSE
mdl.SSR
mdl.SST

決定係数の表示

この例では、決定係数と自由度調整済み決定係数の表示方法を説明します。標本データを読み込み、応答変数および独立変数を定義します。

load hospital
y = hospital.BloodPressure(:,1);
X = double(hospital(:,2:5));

線形回帰モデルを当てはめます。

mdl = fitlm(X,y)
mdl = 
Linear regression model:
    y ~ 1 + x1 + x2 + x3 + x4

Estimated Coefficients:
                   Estimate        SE        tStat        pValue  
                   _________    ________    ________    __________

    (Intercept)        117.4      5.2451      22.383    1.1667e-39
    x1               0.88162      2.9473     0.29913       0.76549
    x2               0.08602     0.06731       1.278       0.20438
    x3             -0.016685    0.055714    -0.29947       0.76524
    x4                 9.884      1.0406       9.498    1.9546e-15


Number of observations: 100, Error degrees of freedom: 95
Root Mean Squared Error: 4.81
R-squared: 0.508,  Adjusted R-Squared: 0.487
F-statistic vs. constant model: 24.5, p-value = 5.99e-14

決定係数と自由度調整済み決定係数の値はそれぞれ 0.508 と0.487 です。モデルは応答変数の変動性の約 50% を説明します。

近似 LinearModel オブジェクトのプロパティを使用して決定係数と自由度調整済み決定係数の値にアクセスします。

mdl.Rsquared.Ordinary
ans = 0.5078
mdl.Rsquared.Adjusted
ans = 0.4871

自由度調整済み決定係数の値は通常の決定係数の値より小さくなっています。

参考

| | |

関連するトピック