首页 > 解决方案 > 添加组合变量时 SAS 企业指南 DF 为 0 和 B

问题描述

我试图获得不同年龄和性别之间成本的相对性。所以最终的结果应该表明,随着年龄的增长,成本会增加。创建虚拟变量后,我在 SAS 中使用了以下代码:

proc reg data= data1; model logDollar= M0 M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11 M12 M13 M14 M15 M16 M17 M18 M19 M20 M21 M22 M24 
M25 M26 M27 M28 M29 M30 M31 M32 M33 M34 M35 M36 M37 M38 M39 M40 M41 M42 M43 M44 M45 M46 M47 M48 M49 M50 M51 
M52 M53 M54 M55 M56 M57 M58 M59 M60 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 
F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31 F32 F33 F34 F35 F36 F37 F38 F39 F40 
F41 F42 F43 F44 F45 F46 F47 F48 F49 F50 F51 F52 F53 F54 F55 F56 F57 F58 F59 F60

  ;
weight membership;
run; 

上面的代码工作正常。我的下一步是消除噪音。例如,城镇东边的人往往花费更多,我不希望这反映在曲线上。然后我在代码中添加了新变量:

model logDollar= M0 M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11 M12 M13 M14 M15 M16 M17 M18 M19 M20 M21 M22 M24 
M25 M26 M27 M28 M29 M30 M31 M32 M33 M34 M35 M36 M37 M38 M39 M40 M41 M42 M43 M44 M45 M46 M47 M48 M49 M50 M51 
M52 M53 M54 M55 M56 M57 M58 M59 M60 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 
F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F30 F31 F32 F33 F34 F35 F36 F37 F38 F39 F40 
F41 F42 F43 F44 F45 F46 F47 F48 F49 F50 F51 F52 F53 F54 F55 F56 F57 F58 F59 F60

HealthyEast
HealthyNorth
HealthyWest

UnhealthyEast
UnhealthyNorth
UnhealthyWest
UnhealthySouth

;
weight membership;
run; 

现在我的模型显示这些新变量的 DF=0。有谁知道如何解决这一问题?以下是部分结果: 在此处输入图像描述

标签: sasregression

解决方案


你真的,真的不应该为每个年龄都有一个虚拟变量。相反,将年龄视为连续变量。HealthyWest另外,如何UnhealthyWest计算?他们是完全相反的吗?如果是这样,您也不会得到这些估计值。

您的模型应该是:

proc glm data=have;
class sex healthyEast healthyNorth healthyWest;
model logDollar= sex age sex*age
HealthyEast
HealthyNorth
HealthyWest
;
weight membership;
run; 

Sex 是 M/F,Age 是数字字段,HealthEast/North/West 是二元分类数据。


推荐阅读