- 2014年中国高校SAS数据分析大赛初赛\
1. Base基础
完成代码功能:编写一段SAS宏函数,该宏函数需要实现以下功能:
输入参数:SAS源数据集名,输出图形的路径,输出的百分比堆积直方图前缀名,输出的百分比堆积条形图前缀名,目标字段(即使用颜色区分不同类型目标字段在所需分析的字段分布上的分布差异, 本题为Response字段);
实现功能:自动读取SAS源数据集字段名和字段属性,若该字段属性为数值,则在指定目录下生成直方图(文件名为:直方图前缀+’_’+字段名);若该字段属性为字符型,则在指定目录下生成条形图(文件名为:条形图前缀+’_’+字段名)
输出表样如下(输出图形样式可以略有差异):
2. 统计分析
精算学技术当中,投保对象损失的概率是非常重要的变量,比如,财险中的车险,对于汽车产生损失的概率进行估计,而更加成熟的是在寿险当中对于投保人死亡概率的估计。在目前的应用当中,对于年龄和死亡率之间的关系进行分析,建立模型是整个过程的关键,由于外在环境的复杂性,两者的关系非常难以捉摸。目前一种非常经典的模型用来描述这样的关系,就是h-p模型,模型有两种表达形式,一种是绝对死亡概率模式:
一种是odds模式:
代表国民分年龄(1岁1组)的死亡概率(为已知项),X代表年龄(为已知项); A--G是模型中的8个待估参数。
此模型是分段模型,第一项反映婴幼儿死亡概率的变化,共含有A, B, C三个参数:A的估计值非常接近在一岁时的死亡概率(q(1))值,它反映婴幼儿的死亡水平;参数B专门针对婴儿期(x=0)死亡概率的迅速下降而设;C表示在婴幼儿年龄段内死亡率下降的速度,可以解释为少儿适应环境的快慢,C值越高,婴幼儿年龄段内死亡率下降的速度越快。
模型中第二项含有E、D、F三个参数,形式与对数正态分布的概率密度形式很相象,这一项对应于男性青壮年时期意外事故死亡风险和女性在生育期内死亡风险的增加。
第三项主要针对老年人口的死亡风险变化。参数G代表老年死亡概率的基本水平;或者说一个人口从出生到老年过程中的死亡率基础水平, H则表示这一死亡率随年龄上升的增长率或死亡概率增加的速度。
数据MORTALITY是某次普查中,我国某个省市的分年龄死亡概率,利用此数据估计h-p模型,要求如下:
(1)首先依年龄对于死亡概率数据进行描述性分析,探讨其分布的特点。由于模型是分段模型,分段依据是年龄,因此,需要给出你下面要用的年龄分段,共分三段,需要给出分段阈值,并进行分析和说明。
(2)根据上面的分段结果,采用odds模式,估计模型参数,给出模型的形式,要求:
· 保存参数迭代过程为一个单独的数据集;
· 参数估计结果保存为单独数据集,要求包括拟合值和拟合残差;
· 做出拟合值和原始数据对比的图形。
(3)对于模型拟合的问题进行探讨。
3. 时间序列
数据集timeser_com中存放着某地区每个电信基站的通话时长和短信包信息。date代表时间变量,Cell代表基站编码,tcherl和sms分别代表通话和短信量。问题如下:
(1) 根据date创建时间变量date_new;
(2) 清理数据,根据CELL和date_new变量剔除重复记录,对tcherl和sms使用三次样条曲线进行插值;
(3) ARIMA过程步识ARIMA(p,d,q)滞后阶数并简要说明确定该模型的原因(提示:通过单位根检验检验差分阶数的合理性);
(4) 估计得到的模型系数,对每个基站的tcherl和sms两个变量进行向前30步的预测数据。
4. 运筹优化
某家具厂生产桌子、椅子、书柜和床四中产品,其中每件产品所需的劳动力和原材料以及售价如下表:
表1
劳动力(hrs) | 金属(kg) | 木材(m^3) | 售价(元) | |
桌子 | 2 | 1 | 3 | 94 |
椅子 | 1 | 1 | 3 | 79 |
书柜 | 3 | 1 | 4 | 125 |
床 | 2 | 1 | 4 | 109 |
其中劳动力表示完成一件产品单位劳动力所需要花费的小时数(hours)。
下表给出了单位劳动力和原材料的成本,
表2
劳动力(hrs) | 金属(kg) | 木材(m^3) | |
成本(元) | 14 | 20 | 11 |
可用量 | 225 | 117 | 420 |
其中可用量表示在一天中该公司三种资源的可以使用的最大量。
问题1. 假设该公司所有的产品能够完全售罄,请问该公司如何安排一天中各个产品的数量,才能使其利润达到最大化?运用SAS中OR模块或者自编SAS程序求解此问题。
问题2. 假设该公司每天的原材料料的最大供应量保持不变,但是劳动力可以通过员工加班来增加供应量,限定每天总加班量不超过15(hrs),并且劳动力加班费用为17.5元/小时。下表是该公司未来12天的四种产品的需求量,
表3
序号 | 桌子 | 椅子 | 书柜 | 床 |
1 | 20 | 10 | 30 | 0 |
2 | 30 | 20 | 40 | 10 |
3 | 50 | 60 | 20 | 0 |
4 | 40 | 40 | 10 | 10 |
5 | 30 | 30 | 0 | 30 |
6 | 20 | 20 | 10 | 50 |
7 | 10 | 10 | 20 | 80 |
8 | 0 | 10 | 40 | 60 |
9 | 0 | 20 | 50 | 40 |
10 | 10 | 30 | 60 | 30 |
11 | 30 | 20 | 60 | 20 |
12 | 20 | 20 | 50 | 10 |
规定每天没有使用完的原材料和剩余的产品转入仓库,并且每单位原材料的一天的仓储费用是0.25(元),每件产品一天的仓储费用是0.5(元)。由于产品仓库容量有限,最多保存60件产品。请问该公司如何安排这12天的生产才能使其利润最大化。
要求:
(1) 给出优化过程的数学表达式(包括目标函数、约束条件)。
(2) 给出SAS程序以及输出结果 (优化的结果包括各个产品的数量以及最大利润值)。
说明:表1-3中的数据,分别保存在以下三个数据集:product_data、resource_data、product_demand,您可以根据需要使用这些SAS数据集。
详细看附件