SAS 在这个(简单?)脚本中做什么?

问题描述 投票:0回答:1

这与之前的问题有关,但我关心的是以下脚本要求 SAS 执行的操作(忽略 i/o 命令):

proc reg;
model hddt=bloc entry/r p;
output out=new r=residual p=predicted;
run;

源代码是一个简单的演示此处概述。相关数据位于帖子底部(从pdf复制)。

我想在 MATLAB 中复制结果。我误解了 SAS 命令并提出了以下(可能有缺陷的)MATLAB 翻译:

data = readtable('data.txt', "VariableNamesLine" ,1);
[pw,wtbl,stats] = anova1(data.HDDT,data.BLOC);

尽管省略了 SAS 脚本中提到的一个因素(条目)(“model hddt=bloc Entry/r p;”),但我的天真的翻译给出了与演示 pdf 中显示的结果类似的结果:

Source     SS      df     MS       F     Prob>F   
 -----------------------------------------------
Groups     1.20463    2   0.6023   0.24   0.7893
Error    220.89537   87   2.53903                
Total    222.10000     89                          

我的 MATLAB 脚本:

Source     SS      df     MS       F     Prob>F
-----------------------------------------------
Groups     1.067    2   0.53333   0.21   0.8111
Error    221.033   87   2.54061                
Total    222.1     89                          

这种相似性似乎是偶然的,因为我排除了 SAS 脚本中出现的因素“Entry”。但如果我在 MATLAB 中包含因子“Entry”和“Bloc”,输出就会变成

>> aov = anova(data(:,{'BLOC','HDDT','ENTRY'}),'HDDT~ENTRY+BLOC');
>> aov

aov = 

2-way anova, constrained (Type III) sums of squares.

HDDT ~ 1 + BLOC + ENTRY

             SumOfSquares    DF    MeanSquares      F         pValue  
             ____________    __    ___________    ______    __________

    BLOC        1.0667        2      0.53333      2.8293      0.067231
    ENTRY        210.1       29       7.2448      38.433    3.1661e-28
    Error       10.933       58      0.18851                          
    Total        222.1       89                                       

这显然是一个双向方差分析。

我现在很困惑。我无权访问 SAS,因此无法验证 pdf 中的输出是否与基于 SAS 脚本和输入数据的预期匹配。这将是消除混乱的第一步。如果不匹配,那么理想情况下,了解如何生成输出(例如包含哪些因素)以及如何在 MATLAB 中复制输出可能会很有用。

以下是标题快照,其中包含根据 pdf 输出的 SAS 模型预测:

enter image description here

我想了解 SAS 脚本应该做什么,以了解我需要对 MATLAB 脚本进行哪些更改。

感谢您的帮助。


数据(data.txt):

PLOT BLOC ENTRY HDDT HT LODG YIELD MOIST
3501 1 8 32 84.5 3 46.8 21.5
3502 1 30 32 82.5 3 78.9 19.8
3503 1 7 31 73.5 3 68.5 20.7
3504 1 26 36 64.5 1 64.5 16.7
3505 1 13 33 75.5 2 69.8 16.4
3506 1 18 31 76.0 2 74.5 16.7
3507 1 27 31 78.0 2 85.5 18.0
3508 1 4 34 81.5 4 67.3 16.4
3509 1 29 30 72.0 2 77.4 16.2
3510 1 19 30 80.5 2 55.5 15.3
3511 1 23 34 70.0 4 68.4 15.0
3512 1 5 33 85.0 5 64.2 13.8
3513 1 2 32 87.0 4 71.2 14.7
3514 1 22 35 79.0 4 62.0 13.3
3515 1 25 36 89.5 4 66.0 14.8
3516 1 6 31 83.0 2 77.3 13.6
3517 1 17 33 83.5 3 99.4 16.6
3518 1 3 32 84.0 3 79.9 16.2
3519 1 24 33 82.5 1 83.1 18.0
3520 1 21 32 80.5 1 84.1 19.4
3521 1 20 31 80.5 2 81.5 19.6
3522 1 16 31 75.5 1 65.1 16.0
3523 1 1 32 88.0 3 67.3 19.4
3524 1 14 33 82.0 2 72.9 18.5
3525 1 28 31 79.5 1 89.9 20.6
3526 1 10 31 85.0 3 82.6 20.8
3527 1 11 31 89.0 2 70.0 16.1
3528 1 15 33 75.5 1 77.3 18.9
3529 1 9 33 79.0 2 82.5 16.1
3530 1 12 32 105.0 2 57.4 16.2
3531 2 23 34 72.0 5 69.7 16.5
3532 2 8 32 88.5 3 79.7 16.4
3533 2 28 31 81.0 1 87.6 16.0
3534 2 6 32 81.5 2 70.3 15.8
3535 2 18 30 81.0 2 74.6 13.7
3536 2 2 33 84.5 3 70.7 15.3
3537 2 20 31 86.5 5 79.5 16.6
3538 2 9 32 79.5 3 80.0 13.4
3539 2 13 33 79.0 2 68.7 14.6
3540 2 27 31 73.5 3 78.2 15.4
3541 2 30 32 82.5 2 74.7 16.4
3542 2 21 33 77.0 2 72.5 16.1
3543 2 25 35 84.0 2 72.6 16.0
3544 2 12 32 93.5 3 60.1 16.0
3545 2 16 31 69.5 3 65.2 15.8
3546 2 29 30 72.5 1 82.7 18.4
3547 2 17 33 82.5 4 79.1 17.1
3548 2 14 33 80.0 2 74.5 19.4
3549 2 10 32 76.5 2 81.4 17.2
3550 2 26 36 66.5 1 50.7 22.6
3551 2 5 33 80.0 2 52.9 22.8
3552 2 7 32 77.0 2 75.1 21.3
3553 2 15 33 76.0 1 67.2 19.5
3554 2 24 33 86.5 4 77.9 18.3
3555 2 19 30 84.0 3 72.7 15.9
3556 2 3 33 85.0 3 73.9 17.4
3557 2 1 33 87.0 4 70.6 18.3
3558 2 4 34 86.0 5 70.1 16.0
3559 2 22 35 81.5 6 57.4 16.2
3560 2 11 31 92.0 3 63.3 15.1
3561 3 21 32 83.0 2 83.0 15.6
3562 3 22 34 85.0 6 56.6 13.7
3563 3 14 33 85.0 4 83.9 14.7
3564 3 7 32 86.5 4 80.6 15.5
3565 3 27 31 82.0 2 96.5 14.8
3566 3 6 32 82.5 2 70.4 15.6
3567 3 26 37 73.0 1 72.4 16.2
3568 3 4 35 85.0 4 80.1 16.0
3569 3 25 37 88.5 3 77.6 16.0
3570 3 9 33 88.0 2 80.5 15.6
3571 3 2 32 83.5 2 79.5 16.6
3572 3 16 31 73.5 1 70.0 16.1
3573 3 24 33 83.5 3 85.7 17.8
3574 3 18 31 82.5 2 73.9 17.4
3575 3 10 32 85.5 3 95.7 17.7
3576 3 15 33 78.5 2 78.8 19.9
3577 3 23 35 76.0 5 74.4 19.5
3578 3 17 33 82.0 3 77.3 18.9
3579 3 13 33 77.5 2 72.4 16.2
3580 3 1 33 92.0 4 67.4 16.2
3581 3 30 32 86.0 4 86.5 19.4
3582 3 28 32 75.5 2 89.4 16.7
3583 3 29 30 76.5 1 72.2 19.3
3584 3 11 31 86.5 2 55.6 15.2
3585 3 5 33 80.5 3 63.0 15.5
3586 3 8 32 79.5 3 74.2 14.1
3587 3 12 32 103.0 2 60.9 14.9
3588 3 3 33 83.0 3 72.9 15.7
3589 3 19 30 83.5 3 76.8 14.1
3590 3 20 30 89.0 4 80.4 15.7
matlab sas anova
1个回答
0
投票

请注意,在 SAS 输出中,模型具有 df=2,每个效应具有 df=1 个连续变量。 二因子回归可能是一个可以接受的名称。

在方差分析模型中,您将效应视为离散变量。块 3 个级别,df=2 条目 30 个级别 df=29。 2 因素方差分析。

我认为正确的模型会将 BLOC 视为 CLASS 变量,并将条目视为连续。 协方差分析,具有连续效应的方差分析。

proc glm;
   class bloc;
   model hddt = bloc entry;
   run;
© www.soinside.com 2019 - 2024. All rights reserved.