数据分析需要更好的问题

设计思维和更好的问题

这篇文章的主要内容来自 Roger Peng 最近的一篇博客 Tukey, Design Thinking, and Better Questions。读了之后有些启发便做简单记录。

John Tukey 是美国的数据学,快速傅里叶变换发明人。它在 1962 年发表过一篇题为 “The Future of Data Analysis” 的论文,其中有一句非常著名的话。

Far better an approximate answer to the right question, which is often vague, than an exact answer to the wrong question, which can always be made precise.

Tukey 将数据分析的前三个阶段定义为如下三步:

  1. 识别一个问题 Recognition of problem
  2. 使用一个方法 One technique used
  3. 使用大量其他方式 Competing techniques used

关于文档,还没人告诉你的那点事

学习一个新的工具或者软件,首选方法是阅读开发者写的软件文档,因为TA最清楚怎么回事;其次是阅读最新的英文相关使用讨论或者介绍,因为中文的很多资料往往滞后;再次才是阅读中文相关介绍,而且一定要谨慎参考认真判断。评判一个工具好坏的标准之一也是其文档是否写的足够「好」。

因此无论是开发者还是用户,文档都至关重要。那到底好的文档需要包含哪些内容或者应该如何写出一个尽量好的文档呢?最近看到一篇英文博客:What nobody tells you about documentation ,以下为尽量保留作者原意的不完全翻译版本供你参考。

R 语言可视化之案例

qplot 使用

导入所需数据格式为data.frame

data(mtcars)
df <- mtcars[, c("mpg", "cyl", "wt")]
head(df)

qplot()基本用法

qplot(x, y=NULL, data, geom="auto",
xlim = c(NA, NA), ylim =c(NA, NA))

# geom 画什么图;main 题目;xlab,ylab xy轴标签
# color 颜色;size 点大小;shape 点形状

R 语言可视化之原理概述篇

整体介绍

一张统计图形就是从数据到几何对象(geometric object, 缩写为geom, 包括点、线、条形等)的图形属性(aesthetic attributes, 缩写为aes, 包括颜色、形状、大小等)的一个映射。此外, 图形中还可能包含数据的统计变换(statistical transformation, 缩写为stats), 最后绘制在某个特定的坐标系(coordinate system, 缩写为coord)中, 而分面(facet, 指将绘图窗口划分为若干个子窗口)则可以用来生成数据中不同子集的图形。

要素

  • 数据(data)
  • 映射(mapping): 建立数据与图形元素的关系
  • 几何对象(geom):对数据的渲染和展示
  • 统计变换(stats)
  • 标度(scale)
  • 坐标系(coord)
  • 分面(facet)
  • 主题(theme)

多快好省用 R 处理数据

很早之前我一直都是使用命令行来处理软,cut,sed再grep再加上终极awk基本上就可以随意的按照需求处理各种软件跑出来的文本文件了,再后来就要开始学习python,python 学的怎么样了呢?呵呵。

虽然做过统计学课的助教,上课的时候用的也是R语言,但是博客里并没有几篇R相关的文章。印象中一篇是给初学者的R语言介绍(写这篇文章当时是为了激发一点学生学习R语言的热情),另一篇是R 必备基础知识(写这篇文章当时是因为在写R与统计学基础系列文章,就不得不总结一些R语言的基础知识)。

说实话,我本身对 R 还是非常喜欢和欣赏的,但是日常的使用需求并不高。就拿最基本的文本处理来说,基本上都可以在shell 中进行随心所欲地增删改成,处理成很多R相关软件需要的文本格式,用需要的R包跑一两个命令就可以了。但是目前已经有点厌倦了这样的生活,我后期打算有机会的话用R shiny写一点网页工具给大家娱乐,也打算精进一下 R 的画图技能。这里就have to 用 R 去做一些数据处理,于是就有了这样一系列文章。这篇是关于如何用 R 多快好省的进行数据处理。另外,说句题外话,从我这几天的实际处理数据情况来看,R 有些工作做起来,还是太慢了,也可能是我的业务不够娴熟吧。

R 语言必备基础知识

写着写着R与统计基础莫名其妙地又写开R基础了,一起写吧。

R编程基础

算数运算

常用的+ - * \ ^ 可以直接在console中计算

计算函数

常用的log2(x) log10(x) exp(x) sin(x) tan(x) abs(x) sqrt(x) 也可以直接计算

变量赋值

a <- 3;a <- "b"赋值符号是<-,使用ls()可以显示当前已经创建的对象

DNS 的一个新选择

什么是 DNS

网域名称系统(英文:Domain Name System,缩写:DNS)是将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。通过这个系统我们可以将一个域名对应到其真实的IP地址。例如kaopubear.top的域名是人类可读的,但是机器不能识别,我们必须找到其IP才可以。这里的DNS 就像是一个通讯录,我们把名字输入进去,返回一个固定的手机可识别的电话号码然后拨号。
几乎互联网上的一切活动均由一个 DNS 请求开始。DNS 是互联网的目录。点击每一个链接发每一封邮件时,设备所要做的第一件事都是询问这个目录看能在哪里找到这项内容。

好用的DNS 有什么标准

很简单:快速安全,无劫持,能解析到。

但是如果你用到了一个坑爹的DNS,那问题远比你想象的严重。大多数人都是使用运营商自动分配的DNS,但有时候你会发现自己的网页出现了一些莫名其妙的低俗广告,或者有些网站就是打不开。这就很可能你的DNS给你的域名解析了一个假的IP地址,或者对你的DNS 进行了劫持插入了运营商想让你看到的东西,比如广告。

也就是说,如果想,DNS 可以决定哪些域名给你解析,哪些域名不给你解析,哪些给你解析错。 ISP 和一些有需要的人都能看到你访问的每个网站和使用的每个应用,如果他们想,DNS 提供商可以出售你的使用信息给别人。

给初学者的 R 语言介绍

几点说明:

  1. 文档由R Markdown[^1]写成。

  2. 下文是我暂时能想到的一些内容,水平有限,供大家了解,大牛小神都可以出门右拐不用看哈。

  3. 写作初衷:目前在水中科院上海分院这边生物统计学助教,本文及后续一段时间里的R相关内容主要是为了供这门课的同学参考,同时也是自我总结的过程。


数据科学重要性

摩尔定律[^2]告诉我们计算机的计算能力每两年就会翻一倍,这使得数以百万计的计算机生成了大规模数据集。

海量的数据如何处理成了各行各业都需要面对和解决的问题;如何从海量信息中提取有效信息并总结出一般性的规律也值得我们去思考。

数据驱动下产生的这门学科,被我们称为数据科学(Data science),其中涉及到数据的收集、处理、分析和呈现四大方面。

2012年,哈佛商业评论将Data Scientist定义为21世纪最性感的职业[^3](有图有真相)。

『终极算法』摘抄笔记-贝叶斯学派

贝叶斯定理

对于贝叶斯学派来说,学习“仅仅是”贝叶斯定理的另外一个运用,将所有模型当作假设,将数据作为论据:随着你看到的数据越来越多,有些模型会变得越来越有可能性,而有些则相反,直到理想的模型渐渐突出,成为最终的胜者。

假设你半夜在一个陌生的星球上醒来。虽然你能看到的只是繁星闪烁的天空,你有理由相信太阳会在某个时间点升起,因为多数星球会自传并绕着自己的太阳转。所以你估计相应的概率应该会大于1/2(比如说2/3)。我们将其称为太阳会升起来的“先验概率”,因为这发生在看到任何证据之前。“先验概率”的基础并不是数过去这个星球上太阳升起的次数,因为过去你没有看到;它反映的是对于将要发生的事情,你优先相信的东西,这建立在你掌握的宇宙常识之上。但现在星星开始渐渐暗淡,所以你对于太阳会升起的信心越来越强,这建立于你在地球上生存的经历之上。你的这种信心源自“后验概率”,因为这个概率是在看到一些证据后得出的。天空开始渐渐变亮,后验概率又变得更大了

『终极算法』摘抄笔记-联结学派

赫布律

“当A细胞的轴突和B细胞足够近,并且重复或不断地对其放电时,A、B中的一个细胞或者两个细胞都会经历生长过程或者代谢改变,这样A细胞(作为对B细胞放电的细胞之一)的效率就会得到提高。” 1949年《行为的组织》

这段话经常被转述成“一起放电的神经元也会被串连在一起”。

赫布理论解释了神经元如何组成联接,从而形成记忆印痕(英语:engram(neuropsychology))。赫布理论阐明了细胞集群(Cell Assemblies)的形态和功能:“两个神经元或者神经元系统,如果总是同时兴奋,就会形成一种‘组合’,其中一个神经元的兴奋会促进另一个的兴奋。如果一个神经元持续激活另一个神经元,前者的轴突将会生长出突触小体(如果已有,则会继续长大)和后者的胞体相连接。”

高尔顿·威拉德·奥尔波特根据自联想(auto-association)的思路,进一步提出了关于细胞集群的作用,以及它们在形成记忆痕迹中的角色:

如果系统的输入会导致同样的模式重复出现,那么组成这个模式的元素之间的相互关联性将会大大增强。这意味着,其中任何一个元素都会倾向于触发同组的其他元素,同时(以减少权重的方式)抑制组外其他不相关元素。另一个角度来看,这个模式作为一个整体实现了“自联想”。我们可以把一个学习了(自联想)的模式称为记忆痕迹。

通常认为,从整体的角度来看,赫布学习是神经网络形成记忆痕迹的首要基础。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×