Introduction of STA663

基于 Python 的计算机统计学

简介

这一套课件实际上是一些相当粗糙的讲座笔记的草稿,基于 IPython notebook ,这门课程从 2015 年春季开始的,针对硕士生的统计学课程,课程地址原本在这里,但是这个链接实际上已经不能访问了。译者注:现在的链接可能应该是在这个链接。这个课程主要介绍的内容是在优化模拟这两方面的各种算法的开发,这些内容也是计算统计学的核心内容。各种各样的算法和数据集的复杂度都会逐渐增加,(一维 -> 多维,固定 -> 自适应,线性 -> 并行 -> 大规模并行,少量数据 -> 巨量数据),这是为了让学这门课的学生能够掌握并联系下面这些内容:

  • 练习可重现的分析(reproducible analysis)
  • 掌握基本的数据管理和处理技能
  • 使用 Python 语言来进行统计计算
  • 使用数学和统计学的链接库来提高效率
  • 能够理解和优化线性代码(serial code)
  • 能够掌握不同的并行开发范式并高效利用

算法上,主要集中在以下两方面:

  • 优化(Optimization)
    • 牛顿-拉普森算法(Newton-Raphson,NR算法),函数式编程和向量化
    • 积分算法(Quadrature),自适应方法
    • 梯度下降法(Gradient descent),用于多个变量的情况
    • 广义线性模型算法(Solving GLMs),多变量 + C/C++ 的接口
    • 期望最大化算法,多变量 + 有限混合模型
  • 仿真和重采样(Simulation and resampling0
    • Bootstrap法,并行编程的基础
    • "Map(映射)"和"Reduce(归约),适用于针对大规模数据的统计
    • 蒙特卡罗模拟算法(Monte Carlo simulations),更大规模的并行编程
    • MCMC算法(马尔可夫链蒙特卡罗(Markov Chain Monte Carlo)),多重采样,使用 GPU 进行编程

我(原作者)相信在 Duke 大学本专业内,这应该是第一次基于 Python 来讲的这门课,所以这门课会非常有意思。这也意味着教这门课需要准备很多新内容,我(原作者)就直接从已有的各种公有领域的 IPython notebook 里面来摘抄了。

Category
Tagcloud
Python Mount&Blade MayaVi Scholar Lens Library Linux QT Data Visualization Poem Hack RaspberryPi NAS Xcode IDE Geology VirtualBox Raspbian Chat Game GlumPy Photo Hate Camera Disease Video University ChromeBook RTL-SDR Microscope Programming Hardware Radio Memory Junck Conda VisPy Software Science Communicate Translation Pyenv Server Kivy Book Telescope Download CUDA Story Discuss Hackintosh DIY Moon Lesson Mac VTK GeoPython