统计之都五周年系列活动 漫谈统计分析与 R 语言 刘思喆 范建宁 @首都经济贸易大学 2011 年 5 月 24 日 刘思喆 范建宁 @首都经济贸易大学 2011 年 5 月 24 日
Part 1:统计与 R 语言
一些思考 为什么学统计? “我们这一代最聪明的人竟然都在这里思考着怎样让人们去大量地点击广告,真衰。”——数学天才 Jeff Hammerbacher,2006年,从哈佛毕业一年后加入 Facebook,奠定了 Facebook 业务的基石─精准广告。 两年后,Hammerbacher 开始怀疑人生,2008年,他从Facebook辞职了。 Hammerbacher 最早从事的职业是华尔街的“数量(统计)分析师”。
统计分析师? 一名合格的统计分析师需要什么条件? 把握数据来源(抽样要懂一些,数据库要懂一些) 数据分析方法(统计模型、统计图形、数据挖掘) 业务知识理解(商业问题转化为统计问题) 工具呢?
计算机时必须的,如果没有计算机,则……
工具呢? 软件,我要智能的! 选择灵活的,而不是“傻瓜”的 能解决前沿的统计问题 简单易学 R 语言不出,谁与争锋! 跪求 XX 软件注册码…… ⇒ R 完全免费! XX 软件可以做 XX 分析吗? ⇒ R 不能做什么? 给个学习 R 的理由?
R是什么? Ross Ihaka Robert Gentleman
R的优势 灵活 易学 免费 开源 更新快 √ × 求助方便
R的主页
CRAN(Comprehensive R Archive Networks)
主流统计分析软件功能模块对照
R相关项目(I)
R相关项目(II)
KDNuggets网站对数据挖掘(分析)工具的调查 资料来源:http://www.kdnuggets.com/polls/
加、减、乘、除 > ((3+2)-4*5)/6 [1] -2.5 求和、求积、累加、累乘 一些简单运算 加、减、乘、除 > ((3+2)-4*5)/6 [1] -2.5 求和、求积、累加、累乘 > sum(1:100)+prod(1:4) [1] 5074 > cumsum(1:4) [1] 1 3 6 10 > cumprod(1:4) [1] 1 2 6 24 开方、乘方、对数、指数 >sqrt(5)-log(3)+exp(25)^(1/3) [1] 4161.399 枚举、组合 > combn(1:4,2) [,1] [,2] [,3] [,4] [,5] [,6] [1,] 1 1 1 2 2 3 [2,] 2 3 4 3 4 4 > choose(5,3) [1] 10
与MatLab相媲美的矩阵操作 生成矩阵 X=matrix(1:12, nr=3, nc=4, byrow = TRUE) 转置 T(x) 求逆 > Y=matrix(1:9, nr=3, nc=3, byrow=TRUE) > Y [,1] [,2] [,3] [1,] 1 2 3 [2,] 4 5 6 [3,] 7 8 9 > det(Y) # 行列式 [1] -9.517127e-16
常用的 R 语言命令可以参考 R Reference Card
极坐标图 三叶线 方程 生成 的离散序列,计算极坐标,在极坐标中绘图 > theta = seq(0, 2 * pi, by = 0.01) > rho = 2 * sin(3 * theta) > polar.plot(rho,rp.type="p",poly.col="green", line.col="blue",grid.col="red",lty=2)
向日葵散点图 > data(iris) sunflowerplot(iris[,3:4], col="gold",seg.col="gold")
平滑散点图 smoothScatter(BinormCircle)
散点图矩阵 > idx = as.integer(iris[["Species"]]) > pairs(iris[1:4], upper.panel = function(x, y, ...) points(x, + y, pch = c(17, 16, 6)[idx], col = idx), pch = 20, + oma = c(2, 2, 2, 2), lower.panel = panel.smooth, + diag.panel = panel.hist)
相关矩阵图 > library(corrplot) > corrplot(corr, col = wb, bg="gold2", order="PCA", addcolorlabel="no")
脸谱图(I) > library(TeachingDemos) > faces2(mtcars[, c("hp", "disp", "mpg", "qsec", "wt")], + which = c(14, 9, 11, 6, 5))
脸谱图(II) > library(aplpack) > data(longley) > faces(longley[1:9,],face.type=1)
统计模拟 蒲丰投针 高尔顿板 蒙特卡洛模拟与定积分 参考 animation 包
曼德布洛特集合(Mandelbrot set)
曼德布洛特集合(Mandelbrot set) ……
统计图形这部分内容非常庞大,几乎每个图形后面都要涉及一套统计理论。即便简单的叙述,也至少需要 1 天的时间,这个部分先暂时打住。 大家可以期待谢益辉的《现代统计图形》
Part 2:R 语言应用实例
统计学习和机器学习(Statistical and Machine Learning)
实例——开机率的求解(I) 逻辑增长曲线具有以下性质:y 随着时间t 的增加(至+∞),趋向于K,即K 为y 的饱和值;y 的增长有一个拐点,拐点之前y 的增长速度越来越快,拐点之后,y 的增长速度越来越慢,直至为0。
实例——开机率的求解(II) 红色标记的点表示终端机实际使用率变化,而通过逻辑增长曲线拟合的终端机使用率,使用图中蓝色的曲线表示。从模型预测结果上看,最终终端机使用率将在 xx 天以后达到64.86% 的理论峰值。
旅行商问题(I) 旅行商问题是图论和优化组合的经典问题,TSP包专门求解旅行商问题,其核心函数为solve_TSP(): solve_TSP(x, method, control) 走遍中国问题: 周游全中国,从北京出发,要游遍我国34个省级行政中心,最后回到北京,假设各个城市之间的距离为它们在地球上最短距离,请设计一条线路,是行程最短
旅行商问题(II)
1973-2010年 1 级以上地震及核电站分布
C4.5 决策树的应用 美国男子职业篮球联赛2008-2009 赛季火箭队的赢球模式:同经验一致,得分(PTS) 和篮板(DREB)是火箭队赢球最重要的因素。当全队得分达到102 分以上时,火箭队进攻行云流水,势不可当;一旦球队进攻不力(得分低于102),防守篮板成为主要因素,如果防守篮板数低于31 个,输球概率比较高,但抢断(STL)大于10 次时,仍有希望;防守篮板高于31 时,三分试投数(3PA) 成为关键,如果能够控制在19 次以内,球队赢球的概率依旧较高
中国TOP200流行歌手关系 问题: 歌手的范围如何界定?是中文、英文、日文、韩文、法文等一起考虑,还是一个语种一个语种的考虑?—— 数据量 歌手列表如何获得?——数据获取 歌手间的关系如何获得?——依然是数据获取 如何衡量歌手的关系?——最后才是“模型”
Part 3:统计之都和 R 语言
统计之都 主站:看看大家都在研究什么? 论坛:今天的讲座没听懂? 维基:统计学百科全书? 和统计之都相关的: R语言会议 数据挖掘邀请赛 SNA、LARS、WinBUGS、LDA、精算…… 论坛:今天的讲座没听懂? 维基:统计学百科全书? 和统计之都相关的: R语言会议 数据挖掘邀请赛 Logo:统计印
致谢 感谢首都经济贸易大学老师们组织的统计周活动 感谢郑冰师妹的辛苦工作 感谢R语言前辈们留下的宝贵财富 感谢来听讲座的各位听众 稍等…… 还有范建宁师弟带来的 SNA 方面的知识分享