first commit

This commit is contained in:
2026-06-11 03:33:14 +08:00
commit 5f555bf342
599 changed files with 142347 additions and 0 deletions

View File

@@ -0,0 +1,39 @@
# Analysis Depth Guide
Move beyond “method A > method B”.
## Four-layer depth ladder
### 1. Observation
What changed?
- absolute gap
- relative gap
- stability change
- subgroup pattern
### 2. Interpretation
What is the most defensible explanation?
- optimization stability
- inductive bias match
- subject/domain shift handling
- data scarcity sensitivity
### 3. Constraint
What prevents overclaiming?
- low sample size
- only one dataset
- missing subgroup coverage
- no robustness sweep
### 4. Decision
What should happen next?
- promote into durable result note
- run an ablation
- stop an unpromising branch
- update the active plan
## Good report sentence pattern
- “We observe X.”
- “This supports Y because Z evidence is present.”
- “However, the claim is bounded by A.”
- “Therefore the next decision is B.”

View File

@@ -0,0 +1,28 @@
# Common Pitfalls in Experimental Analysis
## Statistical pitfalls
- Reporting only the best run
- Mixing seed-level and subject-level units
- Running many contrasts without correction
- Reporting significance without effect size
- Using parametric tests after failed assumptions without explanation
## Visualization pitfalls
- No real figure despite readable data
- Plot without uncertainty information
- Overcrowded multi-panel figure with no message hierarchy
- Caption missing n / error-bar meaning
- Figure not referenced or interpreted in text
## Reasoning pitfalls
- Confusing correlation with mechanism
- Treating trend as conclusion
- Ignoring negative results
- Hiding instability behind a mean value
- Turning raw logs into durable conclusions too early
## Reporting pitfalls
- Writing paper prose before evidence is stabilized
- Mixing analysis artifact with final narrative artifact
- Not separating blocker from conclusion
- Forgetting to state what decision the analysis changes

View File

@@ -0,0 +1,30 @@
# Figure Interpretation Guide
A scientific figure is incomplete until the text answers:
1. why the figure exists,
2. what the reader should notice,
3. why that observation matters.
## Minimal interpretation block
For each figure, provide:
- **Purpose**: the research question this figure addresses
- **Observation**: the concrete pattern seen in the plot
- **Interpretation**: the mechanism or explanation supported by the evidence
- **Implication**: what decision, next experiment, or claim changes because of it
## Caption checklist
A usable caption should specify:
- what is plotted,
- what each axis means,
- sample size,
- what error bars / ribbons represent,
- any normalization or smoothing,
- any significance marker convention.
## Anti-patterns
- restating the axis labels as “interpretation”
- giving only aesthetic comments
- making causal claims unsupported by the plot
- repeating the caption without adding insight

View File

@@ -0,0 +1,561 @@
# Statistical Methods for ML/AI Experiments
完整的统计分析方法指南,用于 ML/AI 实验结果分析。
## 基础统计量
### 均值 (Mean)
**定义**: 所有观测值的平均值
**公式**: μ = (Σx) / n
**报告格式**: "模型在测试集上达到 85.3% 的准确率"
### 标准差 (Standard Deviation, SD)
**定义**: 衡量数据分散程度
**公式**: SD = √[Σ(x - μ)² / (n-1)]
**报告格式**: "准确率为 85.3% ± 2.1%(标准差)"
**何时使用**: 描述数据的变异性
### 标准误 (Standard Error, SE)
**定义**: 样本均值的标准差
**公式**: SE = SD / √n
**报告格式**: "准确率为 85.3% ± 0.7%(标准误)"
**何时使用**: 估计均值的不确定性
### 标准差 vs 标准误
| 特性 | 标准差 (SD) | 标准误 (SE) |
|------|------------|------------|
| 含义 | 数据的分散程度 | 均值估计的不确定性 |
| 随样本量变化 | 不变 | 减小(∝ 1/√n |
| 用途 | 描述数据变异 | 推断总体均值 |
| 报告场景 | 描述性统计 | 推断性统计 |
**重要**: 论文中必须明确说明使用的是标准差还是标准误。
### 置信区间 (Confidence Interval)
**定义**: 总体参数的可能范围
**95% 置信区间公式**: CI = μ ± t(α/2, n-1) × SE
**报告格式**: "准确率为 85.3% [95% CI: 83.9%, 86.7%]"
**解释**: 95% 的置信区间意味着如果重复实验多次95% 的区间会包含真实值。
## 预先检验(必须执行)
在进行参数检验前,必须验证数据是否满足检验的假设条件。
### 1. 正态性检验 (Normality Test)
**目的**: 验证数据是否服从正态分布
**何时需要**: 使用 t-test、ANOVA 等参数检验前
**常用方法**:
#### Shapiro-Wilk 检验
- **适用**: 样本量 n < 50
- **零假设**: 数据服从正态分布
- **判断**: p > 0.05 → 接受正态分布假设
- **使用场景**: 小样本,最常用
#### Kolmogorov-Smirnov 检验
- **适用**: 样本量 n ≥ 50
- **零假设**: 数据服从正态分布
- **判断**: p > 0.05 → 接受正态分布假设
- **使用场景**: 大样本
#### Anderson-Darling 检验
- **适用**: 所有样本量
- **优点**: 对尾部偏离更敏感
- **使用场景**: 需要检测尾部异常时
#### Q-Q 图 (Quantile-Quantile Plot)
- **类型**: 图形化方法
- **判断**: 点接近直线 → 正态分布
- **优点**: 直观展示偏离程度
- **使用场景**: 配合数值检验使用
**不满足正态性时的处理**:
1. 数据转换log, sqrt, Box-Cox
2. 使用非参数检验Wilcoxon, Mann-Whitney U
3. 增加样本量(中心极限定理)
### 2. 方差齐性检验 (Homogeneity of Variance)
**目的**: 验证多组数据的方差是否相等
**何时需要**: 使用独立样本 t-test、ANOVA 前
**常用方法**:
#### Levene 检验
- **适用**: 最常用,对非正态分布鲁棒
- **零假设**: 各组方差相等
- **判断**: p > 0.05 → 接受方差齐性假设
- **使用场景**: 默认选择
#### Bartlett 检验
- **适用**: 数据严格正态分布时
- **零假设**: 各组方差相等
- **判断**: p > 0.05 → 接受方差齐性假设
- **使用场景**: 正态性已验证
#### Brown-Forsythe 检验
- **适用**: Levene 检验的改进版
- **优点**: 对非正态分布更鲁棒
- **使用场景**: 数据明显偏态时
**不满足方差齐性时的处理**:
1. 使用 Welch's t-test不假设方差相等
2. 使用 Welch's ANOVA
3. 数据转换
4. 使用非参数检验
### 3. 独立性检验
**目的**: 验证观测值之间是否独立
**何时需要**: 所有统计检验前
**常见违反独立性的情况**:
- 时间序列数据(自相关)
- 重复测量(同一对象多次测量)
- 聚类数据(同一组内的观测)
**处理方法**:
- 时间序列:使用时间序列分析方法
- 重复测量:使用配对检验或混合效应模型
- 聚类数据:使用多层模型或聚类标准误
### 4. 异常值检测
**目的**: 识别和处理极端值
**常用方法**:
#### IQR 方法
- **定义**: 异常值 = Q1 - 1.5×IQR 或 Q3 + 1.5×IQR 之外
- **使用场景**: 最常用,简单直观
#### Z-score 方法
- **定义**: |Z| > 3 为异常值
- **使用场景**: 数据近似正态分布
#### Grubbs 检验
- **适用**: 检测单个异常值
- **使用场景**: 正态分布数据
**处理异常值**:
1. 检查是否为数据错误
2. 报告异常值的存在
3. 进行敏感性分析(有/无异常值)
4. 使用鲁棒统计方法
## 预先检验决策树
```
开始
样本量 < 30
↓ 是
检查正态性Shapiro-Wilk
↓ 不满足
使用非参数检验
↓ 否
检查正态性K-S 或 Q-Q 图)
↓ 满足
两组比较?
↓ 是
检查方差齐性Levene
↓ 满足
独立样本 t-test
↓ 不满足
Welch's t-test
↓ 否
多组比较?
↓ 是
检查方差齐性Levene
↓ 满足
ANOVA
↓ 不满足
Welch's ANOVA
```
## 预先检验报告模板
**论文中应报告**:
"在进行参数检验前,我们使用 Shapiro-Wilk 检验验证了数据的正态性(方法 A: W = 0.96, p = 0.23; 方法 B: W = 0.95, p = 0.18),使用 Levene 检验验证了方差齐性F = 1.23, p = 0.31)。所有检验均满足参数检验的假设条件。"
**如果不满足假设**:
"Shapiro-Wilk 检验显示数据不满足正态性假设(方法 A: W = 0.87, p = 0.01),因此我们使用非参数的 Mann-Whitney U 检验进行比较。"
## 假设检验(参数检验)
### 1. t-test两组对比
**用途**: 比较两个方法的性能差异
**假设条件**:
- 数据服从正态分布
- 方差齐性(独立样本 t-test
- 观测值独立
#### 独立样本 t-test (Independent Samples t-test)
**使用场景**: 比较两个独立组的均值
- 例:方法 A vs 方法 B 在不同数据集上的性能
**假设**:
- H₀: μ₁ = μ₂(两组均值相等)
- H₁: μ₁ ≠ μ₂(两组均值不等)
**报告格式**: "方法 A (85.3% ± 2.1%) 显著优于方法 B (82.1% ± 1.8%), t(18) = 3.45, p = 0.003"
**何时使用**: ✅ 两个独立组,满足正态性和方差齐性
#### 配对样本 t-test (Paired Samples t-test)
**使用场景**: 比较同一组对象在两种条件下的表现
- 例:同一数据集上,方法 A vs 方法 B 的性能
**假设**:
- H₀: μd = 0差值的均值为0
- H₁: μd ≠ 0差值的均值不为0
**报告格式**: "在10个数据集上方法 A 显著优于方法 B, t(9) = 4.23, p = 0.002"
**何时使用**: ✅ 配对数据,同一对象的前后对比
#### Welch's t-test
**使用场景**: 两组方差不相等时
-方差齐性检验不通过Levene's test p < 0.05
**优点**: 不假设方差相等,更鲁棒
**报告格式**: "方法 A 显著优于方法 B, Welch's t(16.3) = 3.21, p = 0.005"
**何时使用**: ✅ 方差齐性检验失败时的替代方案
### 2. ANOVA多组对比
**用途**: 同时比较三个或更多方法
**假设条件**:
- 数据服从正态分布
- 方差齐性
- 观测值独立
#### 单因素 ANOVA (One-Way ANOVA)
**使用场景**: 比较多个独立组的均值
- 例:方法 A vs B vs C vs D 的性能对比
**假设**:
- H₀: μ₁ = μ₂ = μ₃ = ... = μk所有组均值相等
- H₁: 至少有一组均值不同
**报告格式**: "不同方法之间存在显著差异, F(3, 36) = 8.45, p < 0.001"
**何时使用**: ✅ 三个或更多独立组
**重要**: ANOVA 只告诉你"至少有一组不同",需要事后检验找出具体哪些组不同。
#### 重复测量 ANOVA (Repeated Measures ANOVA)
**使用场景**: 同一组对象在多个条件下的表现
- 例:同一数据集上,多个方法的性能对比
**假设**:
- H₀: 所有条件下的均值相等
- H₁: 至少有一个条件的均值不同
**报告格式**: "不同方法之间存在显著差异, F(3, 27) = 12.34, p < 0.001"
**何时使用**: ✅ 配对数据,多个条件的对比
#### 双因素 ANOVA (Two-Way ANOVA)
**使用场景**: 研究两个因素的影响及其交互作用
-方法类型因素1× 数据集大小因素2对性能的影响
**报告格式**:
- "方法类型主效应显著, F(2, 54) = 15.23, p < 0.001"
- "数据集大小主效应显著, F(2, 54) = 8.91, p < 0.001"
- "交互作用不显著, F(4, 54) = 1.23, p = 0.31"
**何时使用**: ✅ 研究多个因素及其交互作用
#### Welch's ANOVA
**使用场景**: 方差不齐时的 ANOVA 替代方案
**报告格式**: "不同方法之间存在显著差异, Welch's F(3, 18.5) = 7.89, p = 0.002"
**何时使用**: ✅ 方差齐性检验失败时
### 3. 事后检验 (Post-hoc Tests)
**目的**: ANOVA 显著后,找出具体哪些组不同
**常用方法**:
#### Tukey HSD (Honestly Significant Difference)
**使用场景**: ANOVA 后的标准事后检验
- **优点**: 控制家族错误率
- **适用**: 各组样本量相等或接近
- **报告**: "Tukey HSD 检验显示,方法 A 显著优于方法 B (p = 0.003) 和方法 C (p = 0.012)"
**何时使用**: ✅ 默认选择,最常用
#### Bonferroni 校正
**使用场景**: 保守的事后检验
- **优点**: 简单,控制家族错误率
- **缺点**: 过于保守
- **报告**: "Bonferroni 校正后,方法 A 显著优于方法 B (p = 0.002)"
**何时使用**: ✅ 需要严格控制 Type I 错误时
#### Scheffé 检验
**使用场景**: 最保守的事后检验
- **优点**: 适用于所有对比(包括复杂对比)
- **缺点**: 功效最低
- **报告**: "Scheffé 检验显示,方法 A 显著优于方法 B (p = 0.015)"
**何时使用**: ✅ 需要进行复杂对比时
#### Dunnett 检验
**使用场景**: 多个实验组与一个对照组比较
- **优点**: 专门设计用于与对照组比较
- **报告**: "Dunnett 检验显示,方法 A、B、C 均显著优于基线方法 (p < 0.01)"
**何时使用**: ✅ 有明确的对照组(基线方法)时
## 假设检验(非参数检验)
**何时使用非参数检验**:
- 数据不满足正态分布假设
- 样本量很小n < 30
- 数据为序数或等级数据
- 存在明显的异常值
### 4. Wilcoxon 检验(配对数据)
**用途**: 配对数据的非参数检验t-test 的非参数替代
**使用场景**: 同一数据集上,两个方法的性能对比
-10个数据集上方法 A vs 方法 B
**假设**:
- H₀: 两组的中位数相等
- H₁: 两组的中位数不等
**报告格式**: "Wilcoxon 符号秩检验显示,方法 A 显著优于方法 B, Z = 2.81, p = 0.005"
**何时使用**: ✅ 配对数据,不满足正态性假设
### 5. Mann-Whitney U 检验(独立数据)
**用途**: 独立样本的非参数检验,独立样本 t-test 的非参数替代
**使用场景**: 两个独立组的性能对比
- 例:方法 A 在数据集1上 vs 方法 B 在数据集2上
**假设**:
- H₀: 两组的分布相同
- H₁: 两组的分布不同
**报告格式**: "Mann-Whitney U 检验显示,方法 A 显著优于方法 B, U = 45, p = 0.012"
**何时使用**: ✅ 独立样本,不满足正态性假设
**别名**: Wilcoxon 秩和检验
### 6. Kruskal-Wallis 检验(多组对比)
**用途**: 多组独立样本的非参数检验ANOVA 的非参数替代
**使用场景**: 三个或更多方法的性能对比
- 例:方法 A vs B vs C vs D
**假设**:
- H₀: 所有组的分布相同
- H₁: 至少有一组的分布不同
**报告格式**: "Kruskal-Wallis 检验显示,不同方法之间存在显著差异, H(3) = 15.23, p = 0.002"
**何时使用**: ✅ 多组独立样本,不满足正态性假设
**事后检验**: Dunn 检验(带 Bonferroni 校正)
### 7. Friedman 检验(重复测量)
**用途**: 配对数据的多组非参数检验,重复测量 ANOVA 的非参数替代
**使用场景**: 同一数据集上,多个方法的性能对比
-10个数据集上方法 A vs B vs C vs D
**假设**:
- H₀: 所有条件下的分布相同
- H₁: 至少有一个条件的分布不同
**报告格式**: "Friedman 检验显示,不同方法之间存在显著差异, χ²(3) = 18.45, p < 0.001"
**何时使用**: ✅ 配对数据,多组对比,不满足正态性假设
**事后检验**: Nemenyi 检验或 Wilcoxon 符号秩检验(带 Bonferroni 校正)
### 8. Sign 检验
**用途**: 最简单的配对数据非参数检验
**使用场景**: 只关心方向(哪个更好),不关心差异大小
- 例:方法 A 在多少个数据集上优于方法 B
**假设**:
- H₀: 正负差异的数量相等
- H₁: 正负差异的数量不等
**报告格式**: "Sign 检验显示,方法 A 在 10 个数据集中的 8 个上优于方法 B, p = 0.055"
**何时使用**: ✅ 只关心胜负,不关心差异大小
**优点**: 最鲁棒,对异常值不敏感
**缺点**: 功效最低
## 统计检验选择流程图
```
数据类型?
配对数据?
↓ 是
两组对比?
↓ 是
正态性检验
↓ 满足
配对 t-test
↓ 不满足
Wilcoxon 符号秩检验
↓ 否(多组)
正态性检验
↓ 满足
重复测量 ANOVA
↓ 不满足
Friedman 检验
↓ 否(独立数据)
两组对比?
↓ 是
正态性检验
↓ 满足
方差齐性检验
↓ 满足
独立 t-test
↓ 不满足
Welch's t-test
↓ 不满足
Mann-Whitney U 检验
↓ 否(多组)
正态性检验
↓ 满足
方差齐性检验
↓ 满足
ANOVA + 事后检验
↓ 不满足
Welch's ANOVA + Games-Howell
↓ 不满足
Kruskal-Wallis + Dunn 检验
```
## 多重比较校正
**问题**: 多次检验增加 Type I 错误(假阳性)概率
**公式**: P(至少一次错误) = 1 - (1-α)^k其中 k 为检验次数
**常用方法**:
| 方法 | 公式 | 保守程度 | 使用场景 |
|------|------|----------|----------|
| Bonferroni | α' = α/k | 最保守 | 少量检验 |
| Holm-Bonferroni | 逐步校正 | 较保守 | 中等数量检验 |
| FDR (Benjamini-Hochberg) | 控制错误发现率 | 较宽松 | 大量检验,探索性分析 |
## 效应量
**定义**: 衡量差异的实际大小,独立于样本量
**常用指标**:
| 效应量 | 适用场景 | 解释 |
|--------|----------|------|
| Cohen's d | t-test | \|d\| < 0.2 小0.2-0.5 中≥0.8 大 |
| η² (Eta squared) | ANOVA | 0.01 小0.06 中0.14 大 |
| r (相关系数) | 非参数检验 | 0.1 小0.3 中0.5 大 |
**报告**: 必须同时报告 p-value 和效应量
## 实验设计要点
**重复次数**: 最少 3-5 次,推荐 5-10 次,高方差任务 10+ 次
**随机种子**: 报告所有使用的随机种子,确保可重现
**交叉验证**: k-fold (k=5 或 10) 用于评估泛化性能
## 常见错误
1. **Cherry-picking**: 只报告最好结果 → 报告所有实验
2. **p-hacking**: 尝试多种分析找显著结果 → 预先确定方法
3. **混淆 SD 和 SE**: 不说明使用哪个 → 明确标注
4. **忽略多重比较**: 多次检验不校正 → 使用 Bonferroni/FDR
5. **只报告 p-value**: 缺少效应量 → 同时报告两者
## 报告检查清单
- [ ] 报告均值和标准差/标准误(明确标注)
- [ ] 报告实验重复次数
- [ ] 执行预先检验(正态性、方差齐性)
- [ ] 选择适当的统计检验
- [ ] 报告完整统计信息检验统计量、自由度、p-value
- [ ] 报告效应量
- [ ] 多重比较进行校正
- [ ] 说明随机种子设置
## 参考资源
- [Nature Statistics Checklist](https://www.nature.com/documents/nr-reporting-summary-flat.pdf)
- [ASA Statement on P-Values](https://www.amstat.org/asa/files/pdfs/p-valuestatement.pdf)
- [Reporting Statistics in Psychology](https://apastyle.apa.org/instructional-aids/numbers-statistics-guide.pdf)
## 总结
统计分析的核心原则:
1. **预先检验** - 验证假设条件
2. **完整报告** - 均值、标准差/标准误、样本量
3. **适当检验** - 根据数据特征选择方法
4. **多重校正** - 多次比较时校正 α
5. **效应量** - 不只报告 p-value
6. **可重现** - 提供足够细节
遵循这些原则可以确保实验结果的统计严谨性和可信度。

View File

@@ -0,0 +1,42 @@
# Statistical Reporting Standard
## Minimum reporting package
For every major comparison, report:
- metric definition and direction,
- unit of analysis,
- sample size / run count,
- descriptive statistics,
- uncertainty estimate,
- inferential test,
- effect size,
- correction strategy when multiple contrasts exist,
- limitation if assumptions or sample size are weak.
## Required fields
### Descriptive
- `mean ± std` when repeated runs are comparable
- `95% CI` when inference is discussed
- median / IQR when distribution is strongly non-normal
### Inferential
- exact test name
- test statistic and degrees of freedom when applicable
- p-value format
- effect size
- correction method for multiple comparisons
## Do not do these
- report only best run
- report only p-values
- hide non-significant comparisons
- treat unstable trends as conclusions
- switch tests without stating why
## Default wording rule
Use three layers:
1. **Observation** — what changed numerically
2. **Support** — what the test/effect size says
3. **Boundary** — what remains uncertain

View File

@@ -0,0 +1,269 @@
# Visualization Best Practices for ML/AI Papers
论文级可视化的最佳实践指南。
## 核心原则
1. **清晰性** - 信息传达清晰,无歧义
2. **准确性** - 数据表示准确,不误导
3. **可访问性** - 色盲友好,黑白打印可读
4. **专业性** - 符合学术出版标准
## 图表格式要求
### 矢量图 vs 位图
| 格式 | 类型 | 使用场景 | 质量 |
|------|------|----------|------|
| PDF/EPS | 矢量图 | 图表、曲线、示意图 | ✅ 推荐 |
| SVG | 矢量图 | 网页展示 | ✅ 可用 |
| PNG | 位图 | 照片、截图 | ⚠️ 需高分辨率≥600 DPI |
| JPG | 位图 | 照片 | ❌ 避免用于图表 |
**规则**: 所有图表使用矢量图格式PDF/EPS照片使用高分辨率位图PNG ≥600 DPI
## 配色方案
### 色盲友好配色
**推荐配色方案**:
#### Okabe-Ito 配色(最常用)
- 橙色: #E69F00
- 天蓝: #56B4E9
- 绿色: #009E73
- 黄色: #F0E442
- 蓝色: #0072B2
- 红色: #D55E00
- 粉色: #CC79A7
- 黑色: #000000
#### Paul Tol 配色
- 适用于定性数据
- 提供多种配色方案(亮色、柔和、对比)
### 配色原则
1. **最多使用 5-7 种颜色** - 过多颜色难以区分
2. **避免红绿组合** - 红绿色盲无法区分
3. **测试黑白打印** - 确保灰度下可读
4. **使用不同线型** - 配合颜色使用(实线、虚线、点线)
## 图表类型选择
### 折线图 (Line Plot)
**使用场景**: 展示趋势、训练曲线、时间序列
**要点**:
- 使用误差带(阴影区域)表示标准差/标准误
- 线宽 1.5-2.0 pt
- 标记点大小适中4-6 pt
- 网格线透明度 0.3
**示例**: 训练损失曲线、准确率随 epoch 变化
### 柱状图 (Bar Plot)
**使用场景**: 性能对比、消融实验
**要点**:
- 使用误差条表示不确定性
- 柱子宽度一致
- 间距适当(柱宽的 20-30%
- 加粗最佳结果的柱子
**示例**: 不同方法的准确率对比
### 箱线图 (Box Plot)
**使用场景**: 展示分布、识别异常值
**要点**:
- 显示中位数、四分位数、异常值
- 适合展示多次运行的结果
- 可与散点图叠加
**示例**: 多次运行的性能分布
### 散点图 (Scatter Plot)
**使用场景**: 展示相关性、聚类效果
**要点**:
- 点的大小和透明度适当
- 使用不同形状区分类别
- 添加趋势线(如需要)
**示例**: 预测值 vs 真实值、特征空间可视化
### 热力图 (Heatmap)
**使用场景**: 混淆矩阵、相关性矩阵、注意力权重
**要点**:
- 使用顺序配色(单色渐变)或发散配色(双色渐变)
- 添加数值标注(如空间允许)
- 色条colorbar清晰标注
**示例**: 混淆矩阵、注意力可视化
## 图表元素规范
### 坐标轴
**X 轴和 Y 轴**:
- 标签字体大小: 10-12 pt
- 刻度字体大小: 8-10 pt
- 标签清晰描述变量和单位
- 刻度间距合理
**坐标轴范围**:
- Y 轴通常从 0 开始(除非有特殊原因)
- 不要截断坐标轴夸大差异
- 使用科学计数法表示大数值
### 图例 (Legend)
**位置**: 不遮挡数据,通常放在右上角或外部
**内容**:
- 简洁描述每条曲线/柱子
- 字体大小 8-10 pt
- 使用与图中一致的颜色和线型
### 标题和标签
**图标题**: 通常不在图内添加标题,使用 caption 代替
**Caption**:
- 独立完整,不依赖正文
- 说明图表内容、实验设置、关键观察
- 字体大小 9-10 pt
**示例**: "图 1: 不同模型在测试集上的准确率对比。误差条表示 5 次运行的标准差。我们的方法(蓝色)在所有数据集上均优于基线方法。"
## 误差表示
### 误差条 (Error Bars)
**类型**:
- 标准差 (SD): 描述数据变异性
- 标准误 (SE): 描述均值不确定性
- 置信区间 (CI): 参数估计范围
**表示方法**:
- 柱状图: 垂直误差条
- 折线图: 误差带(阴影区域)
**必须说明**: 在 caption 中明确说明使用的是哪种误差
### 误差带 (Error Band)
**折线图的误差表示**:
- 使用半透明阴影区域alpha=0.2-0.3
- 颜色与主线一致
- 不要使用误差条(会使图表混乱)
## 尺寸和分辨率
### 图表尺寸
**单栏图** (single-column):
- 宽度: 3.5 inches (约 9 cm)
- 高度: 2-3 inches
**双栏图** (double-column):
- 宽度: 7 inches (约 18 cm)
- 高度: 3-5 inches
**纵横比**: 通常 4:3 或 16:9
### 分辨率
**矢量图**: 无需考虑分辨率
**位图**:
- 最低: 300 DPI
- 推荐: 600 DPI
- 高质量: 1200 DPI
## 常见错误
### 错误 1: 使用位图格式
**错误**: 保存为 PNG/JPG
**正确**: 保存为 PDF/EPS
### 错误 2: 非色盲友好配色
**错误**: 红色和绿色组合
**正确**: 使用 Okabe-Ito 配色
### 错误 3: 缺少误差表示
**错误**: 只显示均值
**正确**: 添加误差条/误差带
### 错误 4: 坐标轴截断
**错误**: Y 轴从 80% 开始(夸大差异)
**正确**: Y 轴从 0% 开始(或说明原因)
### 错误 5: 图表过于复杂
**错误**: 一张图包含 10+ 条曲线
**正确**: 拆分为多张图或使用子图
### 错误 6: 字体过小
**错误**: 标签字体 6 pt
**正确**: 标签字体 10-12 pt
## 检查清单
提交前检查:
- [ ] 使用矢量图格式PDF/EPS
- [ ] 配色色盲友好Okabe-Ito 或 Paul Tol
- [ ] 黑白打印可读(测试过)
- [ ] 包含误差条/误差带
- [ ] Caption 中说明误差类型
- [ ] 坐标轴标签清晰(包含单位)
- [ ] 图例不遮挡数据
- [ ] 字体大小适当≥8 pt
- [ ] 线宽适当1.5-2.0 pt
- [ ] Caption 独立完整
## 工具推荐
**Python**:
- matplotlib: 基础绘图
- seaborn: 统计可视化
- plotly: 交互式图表
**配色工具**:
- ColorBrewer: 配色方案选择
- Coblis: 色盲模拟器
**格式转换**:
- Inkscape: SVG 编辑和转换
- Adobe Illustrator: 专业图形编辑
## 参考资源
- [Ten Simple Rules for Better Figures](https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1003833)
- [Okabe-Ito Color Palette](https://jfly.uni-koeln.de/color/)
- [Paul Tol's Notes on Colour](https://personal.sron.nl/~pault/)
## 总结
论文级可视化的关键:
1. **矢量图格式** - PDF/EPS
2. **色盲友好** - Okabe-Ito 配色
3. **误差表示** - 误差条/误差带
4. **清晰标注** - 坐标轴、图例、caption
5. **黑白可读** - 测试灰度打印
遵循这些原则可以创建清晰、准确、专业的论文图表。