每天看个2-3章节,一周左右看完。其中大部分章节都是先得到一个结果,然后发现“翻车了”,再经过修正的。感觉是第一次见这种,有点儿意思。下面摘抄各章的干货。
cha1 数据分析引言:分解数据
page4 数据分析的过程
确定 | 分解 | 评估 | 决策 |
---|---|---|---|
了解问题,确定问题 | 分解问题和数据,使其成为更小的组成部分 | 对前两步了解到的情况进行评估 | 重新组合结论,做出决策/建议 |
问题:得到错误或不完整的信息
page21 心智模型
解决:通过新的数据发现新的目标群体
cha2 实验:检验你的理论
page43 观察分析法:被研究的人自行决定自己属于哪个群体的一种研究方法
page45 反向思考因果 因果之间的导向关系
问题: page47 混杂因素: 研究对象的差异不是试图比较的因素,最终导致结果敏感度变差
解决:设置控制组(对照组)
cha3 最优化:寻找最大值
page80 最优化问题:一些约束条件和一个目标函数
page92 Solver使用
问题:缺失重要假设
解决:矫正假设
cha4 数据图形化:图形让你更精明
page126 画二维图形以及平均值的线
cha5 检验假设:假设并非如此
page146 正/负相关 : 同增为正
page152 证伪:剔除无法证实的假设
page159 诊断性: 将假设与证据逐条进行比较,看哪种假设具有最强的证据支持
cha6 贝叶斯统计:穿越第一关
page175 假阳:本是阴性,误诊为阳性
page182 贝叶斯公式
P(L|+) = P(L)P(+|L)/(P(L)P(+|L)+P(~L)P(+| ~L))
page186 新的信息会改变基础概率
cha7 主观概率:信念数字化
page198 主观概率 : 用数字形式的概率表示自己对某事的确认程度
page208 标准偏差:分析点与数据集平均值的差距
page217 用贝叶斯规则修正主观概率
cha8 启发法:凭人类的天性做分析
page233 用量化理论了解元素之间的相互作用,知道如何处理变量
page236 启发法
cha9 直方图:数字的形状
-
R软件的安装
-
脚本无法通过网络连接打开,脚本中的网址也打不开,下载csv文件并更改脚本,输入 employees <-
read.csv("~/Desktop/Study/DataAnalysis/hfda_data/hfda_ch09_employees.csv",header=TRUE) -
输入employees,正确输出csv文件中内容
hist(employees$received, breaks=50)
sd(employees$received)
summary(employees$received)
hist(employees$received[employees$year==2007], breaks=50)
hist(employees$received[employees$year==2008], breaks=50)
hist(employees$received[employees$gender=="M"], breaks=50)
hist(employees$received[employees$gender=="F"], breaks=50)
hist(employees$received[employees$negotiated==FALSE], breaks=50)
hist(employees$received[employees$negotiated==TRUE], breaks=50)
page 276 raise_amount改为received
cha10 回归:预测
page284 算法:为完成某个计算而执行的任何过程
page289 散点图:将不同变量放在一起进行比较的方法
用R画散点图
> employees <- read.csv("D:/杂/9780596153946-master/hfda_data/hfda_ch10_employees.csv",header=TRUE)
> head(employees,n=30)
page298 回归线:最准确地贯穿平均值图中的各个点的直线
page300 相关性:两种变量之间的相互关系
计算数据的相关系数
> cor(employees$requested[employees$negotiated==TRUE],employees$received[employees$negotiated==TRUE])
[1] 0.6656481
创建线性回归方程
gotiated==TRUE]~requested[negotiated==TRUE],data=employees)
> myLm$coefficients
(Intercept) requested[negotiated == TRUE]
2.3121277 0.7250664
> my_raise <- 5
> 2.3 + 0.7*my_raise
[1] 5.8
cha11 误差:合理误差
page321 外插法:用回归方程预测数据范围以外的数值
page330 机会误差/残差:实际结果与预测结果之间的偏差
page336 回归线的机会误差=均方根误差
计算均方根误差
> summary(myLm)
Call:
lm(formula = received[negotiated == TRUE] ~ requested[negotiated ==
TRUE], data = employees)
Residuals:
Min 1Q Median 3Q Max
-13.5560 -0.5914 -0.0601 0.3879 16.9173
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.31213 0.21775 10.62 <2e-16 ***
requested[negotiated == TRUE] 0.72507 0.02573 28.18 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2.298 on 998 degrees of freedom
Multiple R-squared: 0.4431, Adjusted R-squared: 0.4425
F-statistic: 794 on 1 and 998 DF, p-value: < 2.2e-16
page346 分割:将数据分拆为几个组
分段计算线性回归
ted >10]~requested[negotiated==TRUE & requested >10],data=employees)
> myLmSmall <- lm(received[negotiated==TRUE & requested <=10]~requested[negotiated==TRUE & requested <=10],data=employees)
> summary(myLmSmall)$coefficients
Estimate Std. Error
(Intercept) 0.7933468 0.22472009
requested[negotiated == TRUE & requested <= 10] 0.9424946 0.03151835
t value Pr(>|t|)
(Intercept) 3.530378 4.378156e-04
requested[negotiated == TRUE & requested <= 10] 29.903041 6.588020e-134
> summary(myLmSmall)$sigma
[1] 1.374526
> summary(myLmBig)$coefficients
Estimate Std. Error t value
(Intercept) 7.813403 1.8760371 4.164845
requested[negotiated == TRUE & requested > 10] 0.302609 0.1420151 2.130824
Pr(>|t|)
(Intercept) 4.997597e-05
requested[negotiated == TRUE & requested > 10] 3.457618e-02
> summary(myLmBig)$sigma
[1] 4.544424
cha12 关系数据库:你能关联吗?
参考
countif(range,criteria)
page368 这里不用输入.csv
=COUNTIF(hfda_ch12_articles.!B:B, hfda_ch12_issues!A2)
SUMIF(range,criteria,sum_range)
=SUMIF(hfda_ch12_sales!B:B, hfda_ch12_issues!A2, hfda_ch12_sales!C:C)
画文章数-销量图
> dispatch <- read.csv("C:/Users/thinkpad/Desktop/dispatch analysis.csv", header=TRUE)
> plot(Sales~jitter(Article.count), data=dispatch)
画作家-评论量图
> plot(Sales~jitter(Article.count), data=dispatch)
> articleHitsComments <- read.csv("C:/Users/thinkpad/Desktop/hfda_ch12_articleHitsComments.csv", header=TRUE)
> library(lattice)
> xyplot(webHits~commentCount|authorName, data=articleHitsComments)
cha13 整理数据:井然有序
page398 excel公式
page404 正则表达式 模式
用正则表达式修正lastname
> hfhh <- read.csv("C:/Users/thinkpad/Desktop/hfda_ch13_data_for_R.csv", header=TRUE)
> NewLastName <- sub("\\(.*\\)", "", hfhh$LastName)
> head(NewLastName)
存储lastname
> hfhh$LastName <- NULL
> hfhh["LastName"] <- NewLastName
> write.csv(hfhh, file="hfhh.csv")
排序
>hfhhSorted <- hfhh[order(hfhh$PersonID), ]
> head(hfhhSorted, n=50)
去除重复的人
> hfhhNamesOnly <- hfhhSorted
> hfhhNamesOnly$CallID <- NULL
> hfhhNamesOnly$Time <- NULL
> hfhhNamesOnly <- unique(hfhhNamesOnly)
> head(hfhhNamesOnly, n=50)
> write.csv(hfhhNamesOnly, file="C:/Users/thinkpad/Desktop/hfhhNamesOnly.csv")
page414 保存原始数据-直观显示数据最终数据集-识别数据中重复的模式-整理和重新构建-使用经过打理的数据