0
             Alloy 97-1-1-1                   Alloy AuCa        
Dentist Method  1500°F  1600°F  1700°F      1500°F  1600°F  1700°F

1        1      813      792     792          907    792     835
         2      782      698     665          1115   835     870
         3      752      620     835          847    560     585

2        1       715      803     813         858    907    882
         2       772      782    743          933    792    824
         3       835      715    673          698    734    681

3        1       743      627    752          858    762    724
         2       813      743    613          824    847    782
         3       743      681    743          715    824    681

4        1       792      743    762          894    792    649
         2       690      882    772          813    870    858
         3       493      707    289          715    813    312

5        1       707      698    715          772    1048   870
         2       803      665    752          824     933   835
         3       421      483    405          536     405   312

上記のデータの SAS コードは次のとおりです。

data gold;

do dentist=1, 2, 3, 4, 5;
    do method=1, 2, 3;
        do alloy= 1,2;
           do temp=1500, 1600, 1700; 
              input y @@; output; 
           end;
          end;
        end;
    end;

cards;
813 792 792     907 792 835
782 698 665     1115 835 870
752 620 835     847 560 585

715 803 813     858 907 882
772 782 743     933 792 824
835 715 673     698 734 681

743 627 752     858 762 724
813 743 613     824 847 782
743 681 743     715 824 681

792 743 762     894 792 649
690 882 772     813 870 858
493 707 289     715 813 312

707 698 715     772 1048 870
803 665 752     824 933 835
421 483 405     536 405 312
;
ODS graphics on;
proc GLM data=gold;
class dentist method alloy temp;
model y=dentist|method|alloy|temp;
run; quit;

どこで私は間違えましたか?

出力の一部を次に示します。

The GLM Procedure
Dependent Variable: y 

    Source DF Sum of Squares Mean Square F Value Pr > F 
    Model  89 1891095.556     21248.265   .       . 
    Error  0  0.000             .     
    Total 89  1891095.556       

    R-Square Coeff Var Root MSE y Mean 
    1.000000  .        .        741.7778 

エラーは Residuals 75772.0 16 4735.7

コード全体が間違っているため、残差/エラーは0であるとは想定されていません。:(

上記のコードの相互作用プロット/グラフを作成する方法も知る必要があります。私のコードの助けをいただければ幸いです。

4

1 に答える 1

2

これはオーバー フィッティングの古典的な例です。

測定値が 90 しかないため、自由度 (DF) が 89 のモデルが得られます。それらに合わせて、使用しています

  • インターセプト1回
  • 異なる歯科医の 5 つの要素に加えて、1 つの制約があります。それらの合計は 0、つまり 4 DF でなければなりません。
  • メソッドの 3 つの要素を足して、再び 1 つの制約を引いて、つまり 2 DF
  • さらに、以下の 8 つの制約を満たす必要がある、歯科医と方法の組み合わせの 15 の要因。これらの制約は完全に独立していないため、これにより DF が 7 だけ削減されます。つまり、DF はGLM8 になります。
    • すべての歯科医について、すべての方法の係数を合計すると 0 になり、
    • すべての方法について、すべての歯科医の係数の合計が 0 になる必要があります

など。

要するに、GLM手順で 1 つのインターセプトと 89 の他の DF を選択して、90 の値のみに適合させることができます。GLMデータに正確に適合するモデルを作成できます。モデルにエラーがないのも不思議ではありません!

それをよりよく理解するには:

たとえば、このように、実際のものとはわずかに異なる偽の測定値を導入します

data gold;
do dentist=1, 2, 3, 4, 5;
    do method=1, 2, 3;
        do alloy= 1,2;
            do temp=1500, 1600, 1700; 
                input y @@; 
                output; 
                Y +.1 * rand('NORMAL', 0, 500);
                output; 
            end;
        end;
    end;
end;
cards;

出力は次のようになります

Source          DF      Sum of Squar    Mean Square     F Value    Pr > F      
Model           89      19556981.91     219741.37       1.45       0.0403      
Error           90      13643754.57     151597.27                                   
Corrected To    179     33200736.48                                                 
                                                                                    
R-Square        Coeff   Root MSE        y Mean                                      
0.589053        51.89   389.3549        750.2041                                    

(ランダム性を導入したため、正確ではありません) 実際、GLM選択する1つの切片と89の係数(DF)を引き続き指定しますが、180の値(1の切片と179のDF)に適合するように要求します

あなたがすべきこと

_(歯科医に 90 回の余分な測定を依頼しない限り) は、より単純なモデルを選択することです。あなたは歯科医の評価には興味がなく、技術、つまり方法、合金、温度だけに興味があると思います。

proc GLM data=gold;
    class dentist method alloy temp;
    model y=method|alloy|temp; ** <- nothing about dentists here **;
run; quit;

結果は次のようになります。

Dependent Variable: y                   
Source              DF      Sum of Squar    Mean Square     F Value     Pr > F
Model               17      905055.156      53238.539       3.89        <.0001
Error               72      986040.4        13695.006              
Corrected Total     89      1891095.556                            
                                                                                            
R-Square            Coeff Var   Root MSE        y Mean 
0.478588            15.77638    117.0257        741.7778 

これは、「エラー」よりも単純なモデル(平均二乗 53238.539)を示しているため、_(平均二乗 13695.006) を説明していないため、これが偶然である可能性は非常に低い(可能性は 0.01% 未満) 。

出力の最後の部分

Source              DF      Type III SS     Mean Square     F Value         Pr > F      
method              2       593427.4889     296713.7444     21.67           <.0001      
alloy               1       105815.5111     105815.5111     7.73            0.0069      
method*alloy        2       54685.0889      27342.5444      2               0.1433      
temp                2       82178.0222      41089.0111      3               0.056       
method*temp         4       30652.4444      7663.1111       0.56            0.6927      
alloy*temp          2       21725.3556      10862.6778      0.79            0.4563      
method*alloy*temp   4       16571.2444      4142.8111       0.3             0.8754      

あなたにそれを伝えます

  • メソッドが違いを生む可能性は非常に高いです(0.01% 未満の確率で、平均二乗値が高いのは偶然によるものです)。
  • 合金が違いを生む統計的に有意な兆候があります(0.69% の確率で、高い平均二乗値は偶然によるものです)。
  • 温度が違いを生む兆候がいくつかあります(5.6% の確率で、高い平均二乗値は偶然によるものです)。これを公開する前に、さらにデータを収集することをお勧めします。
  • 方法と合金の間には相互作用があるかもしれませんが、それを研究するにはさらに多くのデータが必要です

それがあなたの実験から私が結論付けることです。

于 2016-04-24T13:55:57.900 に答える