生物统计学本科生SAS软件高级编程教学的探索与实践
作者:张汝阳,魏永越,赵杨,于浩,陈峰
来源:《教育教学论坛》 2017年第52期
    张汝阳,魏永越,赵杨,于浩,陈峰
    (南京医科大学公共卫生学院,江苏南京211166)
    摘要:生物统计学专业旨在培养高素质的复合型统计应用人才。SAS软件高级编程是优秀生物统计学人才的必备技能。因此,SAS软件高级编程教学对专业人才培养至关重要。目前,国内开设生物统计学专业的医学院校屈指可数,且SAS软件高级编程教学经验相对缺乏。本文以我校生物统计学本科生的课程教学实践为例,对课程设置、教学内容、授课方式、考核形式、参考教材、软硬件设施和教学效果进行了总结和思考,以期进一步提高教学质量、保障生物统计学本科生的职业竞争力。
    关键词:生物统计学;本科生;SAS软件高级编程
    中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2017)52-0114-03
    2011年,经国务院学位委员会批准,统计学独立成为理学一级学科,下设两个二级学科:统计学、应用统计学。生物统计学是隶属于应用统计学之下的三级学科[1]。为适应我国生物医药领域对生物统计人才的需求,加快培养专业人才,南京医科大学在2012年正式开设全日制应用统计学专业(生物统计学方向),每年面向全国招收约30名本科生,四年制,授予理学学士学位[2]。该专业的总体目标是培养“具备系统的统计学知识、了解统计学理论、掌握统计学的基本思想和方法,具有利用计算机软件分析数据的能力,能在生物、医药等领域工作的高素质、复合型的统计应用人才”[3]。
    SAS软件是全球商业智能和分析软件与服务领袖。全世界超过6万家企业利用SAS软件进行数据挖掘,以便准确地进行业务决策。在新药临床试验领域,SAS软件更是使用最广泛的分析平台。根据培养目标,我们在第3学年的第1学期开设了《SAS软件高级编程》课程。该课程是《SAS应用基础》的进阶课程,旨在培养学生编程思维,传授编程技巧,提高数据管理和分析的技能,达到“技术高、速度快、失误少”的业务水平,满足相关领域专业人才的需求。
    由于我国开设生物统计学专业的医学院校屈指可数,缺乏健全的课程方案参考[4]。在兄弟院校、制药企业、我校公共卫生学院、教务处、研究生院等多方专家指导之下,我们结合用人单位实际工作需要制定了课程方案。结合之前2003级五年制预防医学专业(生物统计学方向)的办学经历、近5年四年制理学生物统计学专业办学经验,我们已经持续10年对生物统计学本科生培养进行了一系列探索和改革。针对《SAS软件高级编程》课程,我们也不断根据学生的教学意见反馈、雇主用工反馈等,将
课程设置、教学内容、授课方式等逐年完善。我们在此对该课程进行总结与思考。
    一、课程设置
    《SAS软件高级编程》是生物统计学专业的必修课程,学时设置为72。其中,理论学时24,实验学时48。学生通过考核,可获得4个学分。
    二、教学内容
    我们一共安排了18次课程。理论教学及实践操作内容包括:
手机上哪个学编程的软件好    1.基础知识复习。复习先修课程《SAS应用基础》,承前启后。从教学内容和学生心理上,做好由“简”入“难”的衔接。另外,展示基于SAS软件完成的项目,突出高级编程技能的作用和优势,激发学生课程学习的热情和积极性。
    2.宏变量及宏程序。介绍宏程序的基本结构、基本概念和语法、宏变量类型、宏变量的赋值与解析,让学生认识宏程序;介绍宏的创建、编译、保存、调用与更新,以及日志的解读和宏调试,让学生能够管理宏程序。
    3.宏的循环体介绍。介绍循环方式、条件判断、中止、跳转语句,让学生理解程序“批量处理”、“容
错”、“自动化”等概念;介绍SQL过程与DATA步与宏变量的交互方式、动态构造SAS宏语句,让学生掌握“用程序写程序”的关键技能;介绍宏的嵌套、包装,让学生理解“分而治之、逐个击破”的概念,掌握撰写复杂程序的技能。
    4.系统宏函数介绍。介绍字符函数、运算函数、引用函数、属性函数等用法,以及如何使用逃逸符赋值、解析特殊字符等,让学生全面掌握系统函数,撰写高效、简洁的宏程序。
    5. 数据集函数介绍。介绍ATTRN、VarNum、FetchOBS、GetVarN、Open、Close等数据集函数,使得学生能够快速获取数据集本身及变量的基本信息,以便高效地进行宏变量与数据集间的信息交互。
    6.DATA步使用技巧。介绍不同读取数据方式的效率、创建数据集的技巧、数据集横向与纵向拼接、记录的修改、循环语句、条件语句、RETAIN语句、外部数据导入、记录导出、记录的扩展、变量排序技巧、数据集转置,数组类型、变量格式化、自定义变量格式、格式互转等常见技巧,以期提高管理的软件技能。
    7.SQL过程数据管理。介绍SQL过程中表格与视图的差别、表格的创建、更新、拼接、删除、记录的查询、多重查询等。同时,比较DATA步与SQL过程中相同功能的运算速度,给出实际应用的参考建议。
    8.IML矩阵运算I。介绍矩阵性质、矩阵元素、创建矩阵、运算符号、矩阵运算、下标运算、矩阵更新、缺失处理、矩阵函数等。
    9.IML矩阵运算II。介绍IML程序设计语言(循环、条件判断、跳转、定义模块、调用模块)、矩阵与SAS数据集相互转换(打开、显示数据集、转换为矩阵、读取记录、读取变量等)、IML环境下对SAS数据集的操作等。通过两次IML矩阵运算课程,使得学生可以利用SAS软件实现指定的复杂统计算法。
    10.模拟试验I。介绍蒙特卡洛的典故、思想、步骤;介绍各种统计分布的随机函数;介绍产生纵向和横向模拟数据的方式、优缺点。以“分别从不同分布的总体中抽样,探讨不同样本含量、抽样次数对样本均数、标准差、标准误的分布的影响”为案例,介绍模拟试验的基本步骤:理解模拟试验目的→建立模拟试验流程→预估模拟试验结果→调试各步SAS的程序→统筹撰写SAS宏程序→运行程序等待结果→整理结果绘制报告。
    11.模拟试验II。设计多种案例,供学生上机操作,巩固模拟试验技能。例如:从正态分布中随机抽取样本,根据样本估计总体均数的95%可信区间。重复1000次,有多少次能估计到总体均数?不同的样本含量、不同的可信度对结果有什么影响?
    12.ODS输出传送系统。介绍ODS的功能;介绍ODS常用语句,包括:管理输出对象,打开、关闭
、管理ODS目标(输出为rtf文件、自定义文件的格式等)。
    13.DDE文件交互技术。介绍Excel文件数据导入为SAS数据集、SAS数据集输出到Excel、整理或修改Excel文件格式、SAS数据集输出到Word等。
    14.常见报表过程。着重介绍TABULATE过程的选项、含义,以及自定义表格样式。
    15.综合案例I:撰写宏用于:(1 )批量进行单因素或多因素的线性回归分析;(2)批量进行组间均数、率或中位数的描述和比较;(3)评价Fisher确切概率法和卡方检验的统计学性质。
    16.综合案例II:撰写宏用于:(1 )批量安装多个SAS宏程序;(2)实现二分法搜索目标值;(3)自动生成MIXED过程中CONTRAST语句两两比较的代码。
    17.综合案例III:(1 )从同一个正态分布总体中随机抽取2 个样本,设定检验水准0.05,对均数进行检验。重复1000次,拒绝H0的比例多大?改变检验水准、样本含量,比例有何变化?从均数不同、方差相同的两个正态分布总体中随机抽样。重复上述步骤,结果如何?(2)配对设计的两均数比较,如果不用配对t检验而采用成组t检验,对一类错误和检验效能有何影响?改变样本含量有何影响?(3)多组均数比较,如果不考虑ANOVA的结果,而直接用两两比较,对一类错误和检验效能有何影响?
    18.综合案例IV:(1 )从二元正态分布中随机抽样,并对样本进行回归分析,画出回归曲线。重复上述过程100次,看到什么图形?(2)同时对两个假设进行统计学检验,若要控制总一类错误0.05,一般每个检验水准设为0.025。可否一个0.04,另一个0.01?(3)Permutation检验可以利用手头样本来进行假设检验,对总体分布没有要求。请利用已有方法进行验证,并编写程序,对变异系数进行检验。
    三、授课方式
    根据教学内容,采用“量体裁衣”的策略进行授课。课程初期,采用“教师讲解示范、学生上机操作、现场互动答疑”的形式,确保学生“听懂了、学会了”。课程后期,学生已经掌握大部分编程技能。授课方式改为“以学生为主体”,采用“教师—学生互动交流”的形式,即:学生代表给出编程思路,其他学生给出补充意见,教师再次点评并完善编程思路。学生在课堂当场完成实践内容,并进行现场程序与结果的展示。我们期望发挥学生的主观能动性,提高教学效果。
    四、考核形式
    课程成绩由平时成绩(30%)和卷面成绩(70%)组成。课程结束后,教师通过南京医科大学ELearning课程中心平台发放练习。学生通过平台接收题目、提交程序代码和图表结果。教师评阅打分后,折算平时成绩。期末考试为上机考试。以实际项目为考题,要求学生在指定时间内完成编程,并
提交代码和结果。教师评阅打分后,折算成卷面成绩。
    五、参考教材及软硬件设施
    由于缺乏合适的教材,我们目前采用内部自编讲义授课。内容主要参考以下白皮书《SAS Macro Pro-gramming Made Easy》、《SAS Macro Language Reference》和《SAS SQL Procedures User’s Guide》。
    软件设施:我院生物统计学系拥有正版SAS软件的授权许可。
    硬件设施:本课程涉及统计模拟试验、大型数据管理与分析等计算密集型工作。为提高学生上机体验,保证教学质量,我院搭建了高性能计算集成系统。该系统包括1个胖节点(1TB内存,8颗8核处理器)、18个刀片计算节点(每个节点64GB内存,含2颗16核CPU)、2个管理节点和一个储存系统。该集21个节点的总内存为2280 GB,CPU共704核,浮点运算能力理论峰值达到5.38千万亿次级。在此系统基础上,我们专门为生物统计学专业本科生部署了云端机房,可同时容纳约60名学生进行上机操作与考试。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。