选课类别:基础 | 教学类型:理论课 |
课程类别:研究生课程 | 开课单位:统计与金融系 |
课程层次:硕士 | 学分:2.0 |
一开始选课的时候老师就说了,这门课的难度差别很大,有的人觉得很容易,有的人觉得很难。因为之前上过《实用统计软件》,所以对于我来说难度不算很大,基本上就是统计专业本科上的《实用统计软件》的扩充。课程有两本参考书,前85%的内容和课件都是参考Statistical Computing with R这本书,最后讲到sapply族函数的时候用的是Advanced R。
这门课的前半部分比较容易,但如果对完美的、更高效率、更高级的统计编程感兴趣的话,后半部分课程还是有好几个地方可以自己展开多学点东西的,比如用C++的语言搭配Rcpp提升运算速率,以及如何写出一个能通过CRAN检验的完整的漂亮的R包。这两个部分老师在课堂上只是涉及到了冰山一角,自己在实际操作过程中会遇到各种各样的问题。
Cpp部分有很详细的参考书叫Seamless R and C++: Integration with Rcpp,但是这本书比较繁杂,节奏比较慢,不适合用来应付作业快速上手。如果只是应付作业的话,用Advanced R 第19章 High performance functions with Rcpp 就足够了。主要会遇到的问题就是C++中数组从0开始编号,和长度为1的NumericVector要用[0]取一次子集才能当做double型数据。
关于写R包,R studio推荐的绝对权威的参考指南就是Writing R Extensions,上面事无巨细地讲解了每个会碰到的部分。如果你编译R包的时候报错,控制台也会提示你去看这本书的某某章节。这门课最后的期末大作业就是自己写一个带vignettes的R包,需要包含所有作业中出现过的函数,自己再额外实现两个文献中/课程上的复杂计算函数。
这门课的作业是同学互批,因为各个同学之间水平、理解都不一样,所以做得好的经常会被误伤。对于这个,最好的解决办法就是把题目的分析、原理、注释、结果、评注都老老实实地写上去,这样被误伤的概率小很多,期末做作业汇总的时候也方便很多。
希望大家都能享受统计编程的快乐!
课程内容比较简单,基本都在本科的实用统计软件学过,水学分必备,基本没学到什么新东西,老师喜欢点到,每节课都要点名,这点要小心,最后给分倒是不错,虽然会用一个莫名其妙的反抄袭程序计算作业相关性。
内容:随机数,Monte Carlo,Resampling,MCMC,R package。因为没什么新意,就记得这些了。。。大部分都是实用统计软件学过的。
张老师讲课声音比较小,听课体验一般。因为感觉都是学过的,我听的也不太认真。收获不大。
平时作业不多,每周花一两个小时写点程序就好,由于作业是互相评分,经常拿到不公正的得分(好气)。大作业居然是写一个R package然后把平时的作业放进去,再实现两个新的函数(话说有同学实现了算样本偏度的函数是什么鬼。。。),虽然觉得没啥意义,但总比机考强。
总体来说挺水的,可以来水个学分,也不用考试~