04-10-07 证据评估 - 学习笔记
章节信息
核心主题:证据类型、证据质量评估、数据陷阱、Android性能数据分析
学习目标:掌握证据评估方法,识别低质量证据,避免被误导
关键要点:证据类型分类、质量评估框架、常见证据陷阱、技术场景案例
核心概念
1. 什么是证据?
证据的定义
证据(Evidence):用于支持或反驳某个论点的信息、数据、事实、案例等。
证据的作用:
- 支撑结论的可信度
- 增强论证的说服力
- 帮助读者做出判断
证据≠真相:
证据只是通往真相的线索 证据本身也需要评估 不是所有证据都有同等价值为什么需要评估证据?
原因1:并非所有证据都可靠
"90%的开发者推荐这个框架" → 调查对象是谁?样本量多大? → 问题怎么设计的?是否引导性? → 数据来源是第三方还是厂商自己?原因2:证据可能被误用
"使用协程后,性能提升了50%" → 什么场景下? → 是否有其他因素影响? → 所有场景都能吗?原因3:证据可能不充分
"某个大公司在使用这个方案" → 一个案例能代表普适性吗? → 他们的场景和我们一样吗? → 他们遇到了什么问题?原因4:证据可能过时
"2018年的测试显示这个框架最快" → 现在还是这样吗? → 其他框架有没有改进? → 测试环境和现在一致吗?2. 证据的类型
类型1:个人经验(Personal Experience)
定义:个人的亲身经历、观察、感受
特点:
- 真实性:确实发生过
- 主观性:个人视角
- 局限性:样本量=1
- 难验证:只有当事人知道
强度:★★☆☆☆(较弱)
例子:
技术文章:"我用Kotlin重写项目后,bug减少了30%" 分析: - 真实性:可能是真的 - 代表性:只是一个案例 - 因果性:真的是Kotlin的功劳吗? - 适用性:对我的项目适用吗? 评估:证据不充分,需要更多支持使用场景:
- 作为引子,引起兴趣
- 提供直观感受
- 补充其他证据
- 不能作为主要证据
类型2:案例研究(Case Studies)
定义:对特定对象的深入研究和分析
特点:
- 详细性:有完整描述
- 深入性:有分析过程
- 具体性:有真实案例
- 局限性:样本量小
强度:★★★☆☆(中等)
例子:
文章:"Netflix如何使用微服务架构" 内容: - 背景:原有架构的问题 - 方案:微服务架构设计 - 实施:迁移过程和挑战 - 结果:性能提升、可扩展性改善 - 教训:遇到的问题和解决方案 评估: - 详细性:[通过] 有完整描述 - 深入性:[通过] 有分析和数据 - 代表性:❓ Netflix的场景特殊,不一定适用 - 结论:案例价值高,但要谨慎借鉴评估要点:
- 案例的代表性如何?
- 案例的场景和我的场景相似吗?
- 案例是否有利益关系?(成功案例宣传)
- 案例是否有完整描述?(还是只说好的)
使用场景:
- 学习最佳实践
- 了解实施挑战
- 参考架构设计
- 不能直接照搬
类型3:统计数据(Statistical Data)
定义:通过调查、测试、监控等方式获得的量化数据
特点:
- 客观性:数字说话
- 量化性:可以比较
- 科学性:可以验证
- 复杂性:容易被误用
强度:★★★★☆(较强)
例子:
报告:"我们的测试显示,框架A比框架B快30%" 需要评估: - 数据来源:谁做的测试? - 样本量:测试了多少次? - 测试方法:测试条件是什么? - 统计意义:30%是平均值还是最佳情况? - 标准差:数据波动大吗?评估要点:
- 数据来源可靠吗?
- 样本量足够大吗?
- 测试方法科学吗?
- 数据是否被选择性呈现?
- 有没有统计显著性?
使用场景:
- 性能对比
- 趋势分析
- 市场调研
- 注意数据陷阱
类型4:科学研究(Scientific Research)
定义:经过严格科学方法验证的研究成果
特点:
- 严谨性:方法科学
- 可重复性:可以验证
- 同行评审:经过审查
- 权威性:学术认可
强度:★★★★★(最强)
例子:
论文:"Garbage Collection Performance Analysis" 特点: - 方法:详细描述实验设计 - 数据:完整的测试数据 - 分析:统计分析和结论 - 局限:说明研究局限性 - 评审:经过同行评审 评估:可信度高评估要点:
- 研究方法科学吗?
- 是否经过同行评审?
- 研究对象是否代表性?
- 结论是否保守?
- 是否说明局限性?
使用场景:
- 理论基础
- 理解原理
- 技术选型参考
- 理论和实践有差距
类型5:专家意见(Expert Opinion)
定义:领域专家基于经验和知识的看法
特点:
- 权威性:来自专家
- 经验性:基于实践
- 主观性:个人观点
- 场景性:特定背景
强度:★★★☆☆(中等,取决于专家和场景)
例子:
采访:"Google工程师谈Kotlin的优势" 需要考虑: - 专家背景:真的是专家吗? - 利益关系:有没有利益冲突? - 场景限制:Google的场景特殊 - 观点依据:基于什么得出结论? 评估:有参考价值,但不能盲从评估要点:
- 专家真的是这个领域的专家吗?
- 有没有利益冲突?
- 专家的观点是共识还是个人观点?
- 专家是否说明了适用场景?
使用场景:
- 了解行业趋势
- 学习最佳实践
- 参考技术方向
- 不能替代自己思考
类型6:类比(Analogy)
定义:通过相似情况进行推理
特点:
- 形象性:容易理解
- 启发性:提供思路
- 局限性:不够严谨
- 风险性:容易误导
强度:★★☆☆☆(较弱)
例子:
文章:"选择框架就像选择汽车" "如果你需要速度,就像选跑车,选框架A" "如果你需要空间,就像选SUV,选框架B" 问题: - 框架选择比选车复杂得多 - 类比过度简化了问题 - 忽略了技术细节 - 可能误导决策 评估:有启发性,但不能作为决策依据评估要点:
- 类比的相似性够强吗?
- 是否过度简化?
- 是否忽略重要差异?
- 是否误导性?
使用场景:
- 帮助理解概念
- 启发思考
- 不能作为主要证据
3. 证据质量评估框架
评估维度1:相关性(Relevance)
问题:这个证据和结论相关吗?
评估标准:
高相关: **正确做法** - 证据直接支持结论 **正确做法** - 证据针对同样的场景 **正确做法** - 证据回答了核心问题 低相关: **错误做法** - 证据和结论关系不大 **错误做法** - 证据针对不同场景 **错误做法** - 证据回答了其他问题例子:
结论:"协程比RxJava更适合该项目" 高相关证据: **正确做法** - "在类似项目中,协程的性能测试数据" **正确做法** - "协程和RxJava在我们场景下的对比分析" **正确做法** - "团队学习协程vs RxJava的成本评估" 低相关证据: **错误做法** - "Google推荐使用协程"(权威但不直接相关) **错误做法** - "协程是现代异步方案"(正确但过于宽泛) **错误做法** - "协程在服务端很流行"(不同场景)评估维度2:可靠性(Reliability)
问题:这个证据可信吗?
评估标准:
高可靠: **正确做法** - 来源权威(官方、学术、第三方) **正确做法** - 方法科学(严谨的测试、调查) **正确做法** - 数据完整(有完整描述) **正确做法** - 可验证(可以重复) 低可靠: **错误做法** - 来源不明 **错误做法** - 方法不清 **错误做法** - 数据不全 **错误做法** - 无法验证检查清单:
□ 数据来源是谁? □ 有利益冲突吗? □ 方法科学吗? □ 数据完整吗? □ 可以验证吗? □ 有没有其他来源佐证?评估维度3:充分性(Sufficiency)
问题:这个证据足够支持结论吗?
评估标准:
充分: **正确做法** - 证据数量多 **正确做法** - 证据类型多样 **正确做法** - 证据相互支持 **正确做法** - 覆盖各个方面 不充分: **错误做法** - 只有一个证据 **错误做法** - 只有一种类型 **错误做法** - 证据相互矛盾 **错误做法** - 只覆盖部分方面例子:
结论:"Jetpack Compose性能更好" 充分证据: **正确做法** - 官方性能测试报告 **正确做法** - 第三方独立测试 **正确做法** - 多个真实项目案例 **正确做法** - 不同场景的测试数据 **正确做法** - 社区的测试复现 不充分证据: **错误做法** - 只有一个案例 **错误做法** - 只说"性能更好"没有数据 **错误做法** - 只测试了一种场景评估维度4:代表性(Representativeness)
问题:这个证据有代表性吗?
评估标准:
有代表性: **正确做法** - 样本量足够大 **正确做法** - 样本多样性足够 **正确做法** - 场景贴近实际 **正确做法** - 考虑了不同情况 无代表性: **错误做法** - 样本量太小 **错误做法** - 样本单一 **错误做法** - 场景特殊 **错误做法** - 只选择了最好的情况例子:
声称:"我们的框架比竞品快30%" 需要检查: □ 测试了多少场景?(样本量) □ 测试了哪些场景?(覆盖性) □ 场景是否贴近实际?(真实性) □ 是否包含不利情况?(全面性) □ 是否有选择性呈现?(诚实性)评估维度5:时效性(Timeliness)
问题:这个证据过时了吗?
评估标准:
时效性好: **正确做法** - 最近的数据(6个月内) **正确做法** - 考虑了最新变化 **正确做法** - 仍然适用 时效性差: **错误做法** - 数据过旧(2年以上) **错误做法** - 环境已经变化 **错误做法** - 不再适用技术领域的时效性:
快速迭代领域(框架、工具): - 6个月内:很新 - 1年内:较新 - 2年内:需谨慎 - 2年以上:可能过时 稳定领域(算法、原理): - 5年内:仍然有效 - 10年以上:经典内容4. 常见证据陷阱
陷阱1:样本偏差(Sample Bias)
定义:样本不具代表性,导致结论偏差
表现:
"我们调查了100个开发者,90%推荐Kotlin" 潜在问题: - 这100个人是怎么选的? - 是否只调查了Kotlin用户? - 是否在Kotlin社区调查的? - 不使用Kotlin的人的意见呢?识别方法:
问自己: □ 样本是如何选择的? □ 样本是否代表目标群体? □ 有没有选择性偏差? □ 有没有幸存者偏差?Android案例:
**错误做法** - 错误:"我们测试了旗舰机," → 问题:只测试旗舰机,中低端机呢? **正确做法** - 正确:"我们测试了高中低端机型,高端,中端30%,低端10%" → 样本全面,结论可信陷阱2:选择性呈现(Cherry Picking)
定义:只呈现有利证据,隐藏不利证据
表现:
"使用新架构后,主页加载速度" 可能隐藏的信息: - 其他页面的加载速度呢? - 内存占用增加了吗? - 崩溃率变化了吗? - 电池消耗如何?识别方法:
问自己: □ 只呈现了正面数据吗? □ 有没有其他相关指标? □ 负面影响是什么? □ 完整情况如何?Android案例:
**错误做法** - 片面:"采用协程后,代码行数" → 问题:只说代码少了,性能、稳定性、维护性呢? **正确做法** - 全面:"采用协程后: - 代码行数 - 异步逻辑更清晰 - 但学习成本增加 - 需要团队培训 - 迁移工作量2周" → 全面呈现,可信度高陷阱3:混淆相关性和因果性(Correlation ≠ Causation)
定义:A和B同时发生,不代表A导致了B
表现:
"使用Kotlin后,bug减少了30%" 可能的原因: - 真的是Kotlin的功劳吗? - 可能同时做了其他改进(code review、测试) - 可能团队经验增加了 - 可能项目本身变简单了识别方法:
问自己: □ 有其他可能的原因吗? □ 是否排除了其他因素? □ 是否建立了因果关系? □ 是否有对照组?Android案例:
**错误做法** - 错误推理: "迁移到MVVM后,崩溃率下降了20%" → 结论:"MVVM更稳定" → 问题:可能同时修复了很多bug **正确做法** - 正确推理: "迁移到MVVM后,崩溃率下降了20%" → 分析:同时做了哪些改动? → 对照:未迁移的模块崩溃率变化? → 结论:综合因素,MVVM可能有贡献但不是唯一原因陷阱4:小样本谬误(Small Sample Fallacy)
定义:基于太少样本得出结论
表现:
"我用了这个库,没问题,推荐使用" 问题: - 样本量=1 - 你的场景可能特殊 - 可能还没遇到问题 - 不具普遍性识别方法:
问自己: □ 样本量多大? □ 样本量足够支持结论吗? □ 是否需要更多验证?Android案例:
**错误做法** - 小样本: "我们在一个功能中试用了Compose,体验很好,全面推广" → 问题:只有一个样本,可能不具代表性 **正确做法** - 足够样本: "我们在5个不同类型的功能中试用了Compose: - 简单列表:[通过] 体验好 - 复杂表单:⚠️ 有些问题 - 自定义动画:[未通过] 不如XML灵活 - 性能要求高:[通过] 表现好 - 需要兼容旧代码:[未通过] 困难 结论:Compose适合某些场景,不适合全面推广"陷阱5:幸存者偏差(Survivorship Bias)
定义:只看到成功的案例,忽略失败的案例
表现:
"看,Google、Facebook都在用微服务,我们也应该用" 忽略的信息: - 有多少公司尝试后失败了? - 失败的案例为什么不被报道? - 成功的公司有什么特殊条件?识别方法:
问自己: □ 只看到成功案例吗? □ 失败的案例有多少? □ 为什么没有失败案例的报道? □ 成功案例有什么特殊性?Android案例:
**错误做法** - 幸存者偏差: "很多大公司都采用了组件化架构,我们也应该" → 问题:有多少公司尝试后放弃了? **正确做法** - 全面分析: "大公司采用组件化的成功案例: - Google、阿里、美团等 但也有失败/困难的案例: - 小团队维护成本太高 - 过度设计导致复杂度增加 - 组件边界划分困难 分析:组件化适合大规模团队,不适合小团队"陷阱6:权威陷阱(Appeal to Authority)
定义:因为权威说的就认为是对的
表现:
"Google推荐Kotlin,所以Kotlin就是最好的" 问题: - Google推荐的原因是什么? - Google的场景和你的场景一样吗? - 权威也可能错误或有偏见识别方法:
问自己: □ 权威的依据是什么? □ 权威是否在这个领域真的权威? □ 权威是否有利益关系? □ 适合权威的就适合我吗?陷阱7:时效陷阱(Outdated Evidence)
定义:使用过时的证据
表现:
"2015年的测试显示RxJava是最好的异步方案" 问题: - 现在是2024年,情况变了 - Kotlin协程已经成熟 - RxJava本身也在进化 - 过时的证据不再适用识别方法:
问自己: □ 证据是什么时候的? □ 环境有什么变化? □ 证据是否仍然适用? □ 有没有更新的证据?本章总结
证据评估是批判性思维的"硬功夫"。即使逻辑完美、假设合理,如果证据本身不可靠,结论依然是空中楼阁。
七大陷阱速查:
| # | 陷阱 | 一句话概括 | 一句话对策 |
|---|---|---|---|
| 1 | 个人经历 | 个案不能代表整体 | 看样本量和代表性 |
| 2 | 典型事例 | "典型"可能是幸存者偏差 | 区分轶事和数据 |
| 3 | 当事人证词 | 利益相关者的话有偏见 | 看独立第三方验证 |
| 4 | 权威意见 | 权威也可能错或有偏见 | 看专业匹配度和利益关系 |
| 5 | 类比 | 类比≠论证 | 找本质差异 |
| 6 | 权威陷阱 | 诉诸权威代替独立思考 | Google推荐不代表最适合你 |
| 7 | 时效陷阱 | 过去的证据不代表现在 | 检查证据的时效性 |
评估证据的三问:
- 来源可靠吗?—— 证据来自哪里?有没有偏见?
- 证据充分吗?—— 样本够大吗?有没有对照组?
- 证据仍然适用吗?—— 环境变化了吗?有没有更新的证据?
记住:证据的效力决定了结论的效力。再好的逻辑,配上差的证据,结论也不可靠。