星期日, 二月 16, 2014

从模拟角度理解混合模型第三:广义和加性混合模型(完)

之前讨论的混合效应模型均是最常见的线性模型基础上的扩展。但在实际使用中会发现用到其它情况,例如要处理分类问题,需要logistic回归模型。再比如说线性关系不存在,需要用加性模型来处理复杂的非线性关系。这两种模型分别归于广义线性模型和加性模型。那么在这两种模型基础上再考虑解释变量的混合效应,要分别衍生出广义混合效应模型和加性混合效应模型。在R中lme4包可以处理广义混合效应模型,而mgcv包可以处理加性混合效应模型。在之前文章一样,我们先模拟这两种数据,再分别进行建模。代码来源于《Regress by simulation》

星期三, 一月 29, 2014

用模拟来理解混合效应模型之二:Random Intercept and slope model

在之前的这篇文章中,混合效应模型的意义已经说的比较清楚了,简言之,样本中不能穷尽总体level的变量都是随机效应。也可以这么认为,会影响目标变量,但我们不关心的解释变量都是随机效应。之前文章的随机效应只影响模型的intercept,那么也会有影响slope的随机效应。我们先来看一下这种混合效应模型的假设,再用假设来生成数据,并建模和绘图。

Yij = b0 + (b1+si)*Xij +  bi + eij 

* b0: fixed intercept
* b1: fixed slope
* X: fixed effect
* bi: random effect(influence intercept)
* eij: noise
* si: random effect(influence slope)

《R语言与Bioconductor生物信息学应用》已经出版

《R语言与Bioconductor生物信息学应用》一书主要是使用R语言来解决生物信息学问题。主要作者是两位在生物信息学界有极深造诣的科研人士,高山和欧剑虹,这二位的博客地址如下:
http://blog.sciencenet.cn/u/gaoshannankai
http://pgfe.umassmed.edu/ou/
我本人也完成了其中部分章节的写作。此书的特点在于:

  • 从实际课题出发,提出解决这个问题的思路,结合用到的原理或基础知识,但更偏重整个解决问题的框架和流程,选用R这种简单易学但功能强大的语言,把讲解延伸到具体程序代码,让读者100%经历整个课题研究过程。
  • 最大的创新点是:实际课题直接来作者发表的SCI文章,全部都是真枪实弹,不杜撰所谓“实际应用”。国内外尚未见到与SCI文章紧密结合的生物信息书籍。
  • 本书是多名R领域专家(全部都是一线科研工作者)通过互联网联手写作。在前期网上调研的基础上,尽量在本书内突出大多数人普遍关心而又难找相关资料的问题。
  • 所见即所得,学到的知识可以通过简单编程(仅仅代码拷贝粘贴)加以实现,印象深刻,学了不会忘。提出三板斧学习法,让无基础的人也能编程。
  • 本书作者通过QQ群直接面向读者答疑,并且共享了大量的参考资料和习题答案。使用正版书籍的读者都可以入群享受最好的服务。不在书中罗列基础知识凑字数,也不使用光盘,既能减轻读者负担,又能保护环境。



星期一, 一月 20, 2014

R语言公开课在网易上线

对于R语言的初学者来讲,有一些视频教学的参考是很好的帮助。为此我们在网易云课堂上线了R语言免费教学视频。请猛戳这里

星期日, 一月 19, 2014

一份数据挖掘小书评

书看得多了,渐渐有了品味,所以看那些英文版的时候也不再有很膜拜的感觉。不过再差的书,总会有些许长处或教训,值得借鉴。下面列出一些在数据挖掘实现方面的书,主要是基于R和python的。


  • Data mining with R Learning with Case studies: 我的启蒙书,很好的案例教学,这种书应该出更多些。
  • Data Mining Applications with R: 风格类似上面,多人合作的案例讲解,非常不错,就是每个例子略为简短了一点。
  • Machine Learning for Hackers: 也是以案例为主,但是内容质量不能保持在同一水准上,代码讲的比较细。
  • An Introduction to Statistical Learning: 比较系统的讲解了统计学习的内容,以及相应的R包函数,优点在于有习题。
  • Machine Learning with R: 同样是系统的列出各机器学习算法对应的R包函数,直观理解很好,而且讲了一些caret包的使用。比较新的书。
  • Applied predictive modeling: 对预测算法讲的最细,涉及R包最多,由于作者是caret的开发者,所以要学习caret则必看此书。
  • Big Data Analytics with R and Hadoop: 刚出的大数据挖掘书籍,讲解了如何用RHadoop来整合R和hadoop,什么时候会有R和spark的书出来啊。

  • programming_collective_intelligence: 有些年头的书了,但确实是经典,原理讲的简洁,就讲python代码实现,喜欢这种风格。
  • Machine Learning in Action: 和上面风格类似,不过实现是主要基于python的numpy库,这样代码量要精简很多,也很好。
  • Python for data analysis: 主要讲pandas库,精彩例子不多,可以直接去看帮助文档。
  • Learning scikit-learn Machine Learning: 主要以scikit-learn扩展库为工具做机器学习,比较简单,可以直接去看帮助文档。
  • Building Machine Learning Systems with Python: 和上面那本类似,讲函数功能为主,原理直觉没涉及到。