1. 明确研究问题与目标
- 定义核心问题:确定研究目的(如描述现象、检验假设、预测趋势)。
- 提出假设:明确零假设(H₀)和备择假设(H₁),例如:
- H₀:两组均值无显著差异(μ₁ = μ₂)
- H₁:两组均值存在差异(μ₁ ≠ μ₂)。
2. 数据收集与获取
- 数据来源:
- 实验数据(控制变量、随机分组)
- 观测数据(调查、传感器、数据库)
- 公开数据集(如Kaggle、政府统计局)。
- 抽样方法:
- 概率抽样(简单随机、分层抽样)确保代表性。
- 非概率抽样(便利抽样)需注明局限性。
3. 数据清洗与预处理
- 处理缺失值:
- 删除法(缺失比例<5%)
- 插补法(均值/中位数插补、多重插补、KNN插补)。
- 异常值检测:
- 箱线图(IQR>1.5倍四分位距)
- Z-Score(|Z|>3为异常)。
- 数据转换:
- 标准化(Z-Score)或归一化(Min-Max)使不同量纲可比。
- 对数转换(右偏分布)或平方根转换(计数数据)。
4. 探索性数据分析(EDA)
- 描述性统计:
- 集中趋势(均值、中位数、众数)
- 离散程度(方差、标准差、IQR)
- 分布形态(偏度、峰度)。
- 可视化工具:
- 连续变量:直方图、箱线图、散点图(如ggplot2的geom_histogram())
- 分类变量:条形图、马赛克图(如Seaborn的countplot())。
- 相关性分析:
- 连续变量:Pearson/Spearman相关系数(如pandas.DataFrame.corr())
- 分类变量:卡方检验(χ²)。
5. 假设检验与统计建模
- 选择检验方法:
- 参数检验(数据满足正态性、方差齐性):
- t检验(两组均值比较,如scipy.stats.ttest_ind())
- ANOVA(多组均值比较,如statsmodels.stats.anova())。
- 非参数检验(数据不满足假设):
- Mann-Whitney U检验(两组独立样本)
- Kruskal-Wallis检验(多组独立样本)。
- 参数检验(数据满足正态性、方差齐性):
- 回归分析:
- 线性回归(连续因变量):检查R²、残差正态性(Q-Q图)
- Logistic回归(二分类因变量):评估AUC-ROC、混淆矩阵。
6. 模型诊断与验证
- 假设检验:
- 正态性:Shapiro-Wilk检验(p>0.05接受正态性)
- 方差齐性:Levene检验(p>0.05接受齐性)。
- 多重共线性:
- VIF(方差膨胀因子)>10需处理(如删除变量、主成分分析)。
- VIF(方差膨胀因子)>10需处理(如删除变量、主成分分析)。
- 交叉验证:
- k折交叉验证(如sklearn.model_selection.cross_val_score())评估泛化能力。
- k折交叉验证(如sklearn.model_selection.cross_val_score())评估泛化能力。
7. 结果解释与报告
- 效应量:
- Cohen's d(t检验:0.2小,0.5中,0.8大)
- η²(ANOVA:解释方差比例)。
- 置信区间:
- 报告95% CI(如“均值差为5.2,95% CI [2.1, 8.3]”)。
- 报告95% CI(如“均值差为5.2,95% CI [2.1, 8.3]”)。
- 可视化呈现:
- 森林图(回归系数置信区间)
- 热图(相关系数矩阵)。
8. 复现性与文档化
- 代码注释:使用Jupyter Notebook或R Markdown记录步骤。
- 数据与代码共享:上传至GitHub或OSF(Open Science Framework)。
- 版本控制:Git追踪分析流程变更。
9. 高级注意事项
- 多重比较校正:Bonferroni法(调整α=0.05/n)或FDR(Benjamini-Hochberg法)。
- 贝叶斯分析:报告后验概率(如MCMC采样结果)。
- 因果推断:使用工具变量(IV)或倾向得分匹配(PSM)处理混杂变量。
工具推荐
- Python:Pandas(数据处理)、SciPy(统计检验)、StatsModels(回归)、Scikit-learn(机器学习)。
- R:tidyverse(数据清洗)、ggplot2(可视化)、lme4(混合效应模型)。
- 示例代码(Python t检验):
通过以上步骤,可系统完成从数据到结论的统计分析,确保科学性与可重复性。


雷达卡


京公网安备 11010802022788号







