メインコンテンツ

coefTest

多項回帰モデルの係数に対する線形仮説検定

R2023a 以降

    説明

    p = coefTest(mdl) は、mdl 内の係数推定値がすべてゼロであるかどうかに対する F 検定の p 値を計算します。

    p = coefTest(mdl,H) は、H × B = 0 に対する F 検定を実行します。B は係数ベクトルを表します。H を使用して、F 検定に含める係数を指定します。

    p = coefTest(mdl,H,C) は、H × B = C に対する F 検定を実行します。

    [p,F] = coefTest(___) は、前の構文におけるいずれかの入力引数の組み合わせを使用して、F 検定統計量 F も返します。

    [p,F,r] = coefTest(___) は、検定に対する分子の自由度 r も返します。

    すべて折りたたむ

    fisheriris データ セットを読み込みます。

    load fisheriris

    列ベクトル species には、3 種類のアヤメ (setosa、versicolor、virginica) が格納されています。行列 meas には、花に関する 4 種類の測定値、がく片の長さと幅 (cm) と花弁の長さと幅 (cm) が格納されています。

    関数array2tableを使用して、アヤメの測定値と種類のデータから table を作成します。

    tbl = array2table(meas,...
        VariableNames=["SepalLength","SepalWidth","PetalLength","PetalWidth"]);
    tbl.Species = species;

    花弁の測定値を予測子データ、種類を応答データとして使用して、多項回帰モデルを当てはめます。

    mdl = fitmnr(tbl,"Species ~ PetalLength + PetalWidth^2")
    mdl = 
    Multinomial regression with nominal responses
    
                                    Value       SE       tStat       pValue  
                                   _______    ______    _______    __________
    
        (Intercept_setosa)           136.9    12.587     10.876    1.4933e-27
        PetalLength_setosa         -17.351    7.0021     -2.478      0.013211
        PetalWidth_setosa          -77.383     24.06    -3.2163     0.0012987
        PetalWidth^2_setosa        -24.719    8.3324    -2.9666     0.0030111
        (Intercept_versicolor)      8.2731    14.489      0.571         0.568
        PetalLength_versicolor     -5.7089    2.0638    -2.7662     0.0056709
        PetalWidth_versicolor       35.208     21.97     1.6026       0.10903
        PetalWidth^2_versicolor    -14.041    7.1653    -1.9596      0.050037
    
    
    150 observations, 292 error degrees of freedom
    Dispersion: 1
    Chi^2-statistic vs. constant model: 309.3988, p-value = 7.9151e-64
    

    mdl は、ノミナル多項回帰モデルをデータに当てはめた結果を含む多項回帰モデル オブジェクトです。カイ二乗統計量と "p" 値は、当てはめたモデルの性能が切片項のみから構成される縮退したモデルと比べて高くないという帰無仮説に対応します。"p" 値が大きく、この帰無仮説を棄却するだけの十分な証拠がないことを示しています。

    "F" 検定を実行して、係数が切片項を除いてすべてゼロであるという帰無仮説を検定します。既定の 95% の有意水準を使用します。

    p = coefTest(mdl)
    p = 
    3.5512e-133
    

    出力の "p" 値が小さく、すべての係数がゼロであるという帰無仮説を棄却するだけの十分な証拠があることを示しています。当てはめたモデルの係数の少なくとも 1 つが 95% の有意水準で統計的に有意であると結論付けるだけの十分な証拠があります。

    carsmall データ セットを読み込みます。

    load carsmall

    変数 AccelerationWeight、および Model_Year には、自動車の加速度、重量、およびモデル年のデータがそれぞれ格納されています。変数 MPG には、自動車の燃費を示すガロンあたりの走行マイル数 (MPG) のデータが格納されています。

    関数discretizeを使用して MPG のデータを 4 つの応答カテゴリに並べ替えます。

    MPG = discretize(MPG,[9 19 29 39 48]);
    tbl = table(MPG,Acceleration,Weight,Model_Year);

    加速度、重量、およびモデル年の関数として、自動車の燃費の多項回帰モデルを当てはめます。

    mdl = fitmnr(tbl,"MPG ~ Acceleration + Model_Year + Weight",CategoricalPredictors="Model_Year")
    mdl = 
    Multinomial regression with nominal responses
    
                            Value         SE         tStat       pValue   
                           ________    _________    _______    ___________
    
        (Intercept_1)        154.38       15.697      9.835     7.9576e-23
        Acceleration_1       -11.31      0.53323     -21.21    7.7405e-100
        Weight_1           0.098347    0.0034745     28.306    2.9244e-176
        Model_Year_76_1      182.33       4.5868      39.75              0
        Model_Year_82_1     -1690.4       4.6231    -365.64              0
        (Intercept_2)        177.87       14.211     12.516     6.0891e-36
        Acceleration_2       -11.28      0.48884    -23.076    8.1522e-118
        Weight_2           0.090009    0.0030349     29.658    2.6661e-193
        Model_Year_76_2      187.19       4.2373     44.176              0
        Model_Year_82_2      -136.5       3.4781    -39.244              0
        (Intercept_3)        103.66       14.991     6.9146     4.6928e-12
        Acceleration_3      -11.359      0.48805    -23.274    8.2157e-120
        Weight_3           0.080071    0.0033652     23.794    3.8879e-125
        Model_Year_76_3      283.31       4.7309     59.885              0
        Model_Year_82_3     -34.727       4.0878    -8.4953     1.9743e-17
    
    
    94 observations, 267 error degrees of freedom
    Dispersion: 1
    Chi^2-statistic vs. constant model: 169.6193, p-value = 5.7114e-30
    

    mdl は、ノミナル多項回帰モデルをデータに当てはめた結果を含む多項回帰モデル オブジェクトです。既定では、4 番目の応答カテゴリが基準カテゴリとなります。table 出力の各行は 1 列目のモデルの項の係数に対応します。tStat 列と pValue 列に、対応する係数がゼロであるという帰無仮説についての "t" 統計量と "p" 値がそれぞれ格納されています。Model_Year の項の "p" 値が小さいことから、モデル年は mdl に対して統計的に有意な影響を与えることがわかります。たとえば、項 Model_Year_76_2"p" 値は、1976 年に製造された自動車が ln(π2π4) に対して統計的に有意な影響を与えることを示します。ここで、πi"i" 番目のカテゴリの確率です。

    数値インデックス行列を使用して、係数のグループに統計的に有意な係数が含まれているかどうかを調べることができます。数値インデックス行列を使用して、Model_Year の項に対応する係数がすべてゼロであるという帰無仮説を検定します。

    idx_Model_Year = [0 0 0 1 0 0 0 0 0 0 0 0 0 0 0;...
                      0 0 0 0 1 0 0 0 0 0 0 0 0 0 0;...
                      0 0 0 0 0 0 0 0 1 0 0 0 0 0 0;...
                      0 0 0 0 0 0 0 0 0 1 0 0 0 0 0;...
                      0 0 0 0 0 0 0 0 0 0 0 0 0 1 0;...
                      0 0 0 0 0 0 0 0 0 0 0 0 0 0 1;...
    ];
    
    [p_Model_Year,F_Model_Year,r_Model_Year] = coefTest(mdl,idx_Model_Year)
    p_Model_Year = 
    0
    
    F_Model_Year = 
    4.8985e+04
    
    r_Model_Year = 
    6
    

    返された "p" 値から、Model_Year に対応するカテゴリ係数の少なくとも 1 つが統計的にゼロとは異なることがわかります。この結果は、Model_Term の各係数の "p" 値が小さいことと整合します。

    入力引数

    すべて折りたたむ

    多項回帰モデル オブジェクト。関数 fitmnr で作成される MultinomialRegression モデル オブジェクトとして指定します。

    仮説行列。rs 列のフルランク数値インデックス行列として指定します。ここで、r は検定する係数の線形結合の個数、s は係数の総数です。

    • H を指定した場合、出力 pH × B = 0 に対する F 検定の p 値です。B は係数ベクトルを表します。

    • HC を指定した場合、出力 pH × B = C に対する F 検定の p 値です。

    例: [1 0 0 0 0] は、5 つの係数のうち 1 番目の係数を検定します。

    データ型: single | double | logical

    帰無仮説を検定するための仮定値。H と同じ行数の数値ベクトルを指定します。

    HC を指定した場合、出力 pH × B = C に対する F 検定の p 値です。B は係数ベクトルを表します。

    データ型: single | double

    出力引数

    すべて折りたたむ

    F 検定の p 値。範囲 [0,1] の数値として返されます。

    F 検定の検定統計量の値。数値として返されます。

    F 検定の分子の自由度。正の整数として返されます。F 統計量では、分子の自由度が r、分母の自由度が mdl.DFE です。

    バージョン履歴

    R2023a で導入