数据统计分析报告
基于用户上传的数据和分析需求,运用专业统计方法完成数据分析并生成Word格式统计分析报告。方法体系全面参考SPSSAU平台(spssau.com),覆盖14大统计模块。
你的工作方式
数据分析报告生成涉及以下阶段:
- 数据理解与需求确认 — 读取数据、识别结构、确认分析需求
- 方法选择与方案设计 — 匹配统计方法、制定分析方案
- 数据预处理 — 清洗、编码、转换
- 统计分析执行 — 用Python执行统计计算与检验
- 报告撰写与交付 — 生成Word格式分析报告
Phase 1:数据理解与需求确认
1.1 读取数据文件
接收用户上传的Excel(.xlsx/.xls/.csv)文件后:
- 用Python(pandas)读取数据,获取:行数、列数、列名、数据类型
- 自动识别每列的数据类型:定类(类别型,唯一值≤20且非连续数值)或定量(连续数值型)
- 展示数据概览:样本量、变量列表及类型、缺失值统计
1.2 确认分析需求
根据用户描述和自动识别的数据结构,判断分析需求:
- 用户明确指定方法:直接使用指定方法,确认数据格式是否符合要求
- 用户描述研究问题:将问题拆分为X和Y,根据数据类型匹配方法(读取
references/statistical-methods.md中的方法选择框架) - 用户仅提供数据未说明需求:基于数据特征推断可能的分析方向,向用户询问确认
询问用户时,提供结构化的选项而非开放式问题。示例:
我已读取您的数据(200行×15列)。识别到以下可能的 分析方向:
- 差异性分析 — 比较不同组别(如性别、学历)在某指标上的差异(t检验/方差分析)
- 相关与回归 — 分析变量间的影响关系(相关分析/线性回归/Logistic回归)
- 问卷信效度 — 检验量表的可靠性和有效性(Cronbach α/探索性因子分析)
- 综合评价 — 对多指标对象进行排名或评分(TOPSIS/熵权法/DEA)
- 聚类分析 — 对样本或变量进行分组(K-means/层次聚类)
- 描述性统计 — 仅做数据概况描述
请选择您需要的分析方向(可多选),或描述您的具体研究问题。
1.3 确认门
在执行分析前,向用户确认分析方案:
- 列出选定的分析方法及理由
- 说明每种方法的X/Y变量分配
- 告知前置假设检验需求(如正态性、方差齐性)
用户确认后进入Phase 2。
Phase 2:方法选择与方案设计
2.1 方法匹配逻辑
读取 references/statistical-methods.md 获取完整方法列表。核心匹配规则:
| X 类型 | Y 类型 | 研究问题类型 | 首选方法 | |--------|--------|------------|---------| | 无 | 定类 | 数据分布 | 频数分析 | | 无 | 定量 | 数据概况 | 描述分析 | | 定类(2组) | 定量 | 组间差异 | 独立样本t检验 | | 定类(3+组) | 定量 | 组间差异 | 单因素方差分析 | | 定类 | 定类 | 关联性 | 卡方检验 | | 定量 | 定量 | 相关性 | Pearson/Spearman相关 | | 定量/定类 | 定量 | 影响关系 | 线性回归 | | 定量/定类 | 定类(2类) | 影响关系 | 二元Logit回归 | | 定量/定类 | 定类(3+类) | 影响关系 | 多元Logit回归 |
2.2 前置检验
以下分析需先执行前置检验,根据结果决定使用参数或非参数方法:
- 差异分析:先做正态性检验→通过用参数法(t/ANOVA),不通过用非参数法(Mann-Whitney/Kruskal-Wallis)
- 方差分析:通过正态性后,再做方差齐性检验→齐用常规ANOVA,不齐用Welch ANOVA
- 回归分析:检验多重共线性(VIF>10需处理)和残差正态性
2.3 复合分析流程
常见的多步骤分析流程:
问卷研究标准流程:信度分析 → 效度分析(EFA) → 描述统计 → 相关分析 → 回归分析 → 中介/调节效应
综合评价流程:权重确定(AHP/熵权法/CRITIC) → 综合评分(TOPSIS/灰色关联) → 排序与分级
Phase 3:数据预处理
使用Python(pandas/scipy/statsmodels)执行以下预处理:
- 缺失值处理:报告缺失比例;定量变量用均值/中位数填补,定类变量用众数填补或保留为缺失
- 异常值检测:用IQR法(1.5倍四分位距)或Z-score法(|Z|>3)标记异常值,报告但不自动删除
- 数据编码:定类变量需转为数值编码(分类哑变量或标签编码)
- 数据转换:非正态数据可尝试对数转换(ln)、平方根转换
- 标准化:综合评价等方法需Z-score标准化或极差标准化
- 多选题编码:多选题拆分为0/1哑变量列
Phase 4:统计分析执行
4.1 执行环境
- 语言:Python 3.12
- 核心库:pandas, numpy, scipy.stats, statsmodels, scikit-learn, pingouin
- 可视化:matplotlib(生成图表图片用于嵌入Word报告)
- 安装检查:首次执行前运行
pip install pingouin statsmodels scikit-learn matplotlib确保依赖可用
4.2 执行脚本模板
对每种分析方法,执行Python脚本完成计算。脚本模板结构:
# 1. 读取数据
import pandas as pd
df = pd.read_excel('data_path')
# 2. 执行统计检验(以独立样本t检验为例)
from scipy import stats
group1 = df[df['X'] == cat1]['Y']
group2 = df[df['X'] == cat2]['Y']
t_stat, p_value = stats.ttest_ind(group1, group2)
# 3. 生成图表
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei', 'WenQuanYi Micro Hei', 'DejaVu Sans']
# ... 生成图表并保存为图片
# 4. 输出结果到JSON供报告使用
results = {'t_statistic': t_stat, 'p_value': p_value, ...}
4.3 结果解读标准
- p值约定:p < 0.01 标记 **(极其显著),p < 0.05 标记 *(显著),p ≥ 0.05 标记 ns(不显著)
- 效应量:报告Cohen's d(t检验)、η²(ANOVA)、R²(回归)等效应量指标
- 置信区间:优先报告95%置信区间
- 自动化解读:对每个检验结果生成简明中文解读文字
4.4 常用方法执行要点
描述性统计:均值、标准差、中位数、最小值、最大值、偏度、峰度
独立样本t检验:
- 检验正态性(Shapiro-Wilk)→方差齐性(Levene)→选择等方差/不等方差t检验
- 报告:t值、自由度、p值、均值差、Cohen's d、95%CI
单因素方差分析:
- 前置检验→ANOVA→事后多重比较(Tukey HSD/Scheffé)
- 报告:F值、p值、η²、各组均值±标准差、事后比较结果
相关分析:
- 正态数据用Pearson,非正态用Spearman
- 报告:相关系数r、p值、样本量
线性回归:
- 报告:R²、调整R²、F值、回归系数β、标准误、t值、p值、VIF
- 检查:多重共线性(VIF>10)、残差正态性、残差同方差性
信度分析(Cronbach α):
- 报告:总体α值、各题项CITC、删除该项后的α值
- 判断:α≥0.8很好,0.7≤α<0.8较好,0.6≤α<0.7可接受,α<0.6需修订
探索性因子分析(EFA):
- 报告:KMO值、Bartlett球形检验、因子方差贡献率、旋转后因子载荷矩阵
- 判断:KMO≥0.7适合因子分析,变量载荷≥0.5归属清晰
Logistic回归:
- 报告:模型χ²、伪R²、OR值、Wald检验、p值、Hosmer-Lemeshow检验
聚类分析:
- 报告:聚类数目确定(肘部法则/轮廓系数)、各类特征描述、聚类可视化
综合评价方法:
- TOPSIS:报告各评价对象与正/负理想解距离、相对接近度、排名
- 熵权法:报告各指标信息熵、权重、综合得分
- DEA:报告各DMU效率值、规模报酬状态
Phase 5:报告撰写与交付
5.1 报告结构
使用 Word / DOCX 技能生成Word文档。报告结构如下:
# [数据统计分析报告]
## 一、研究概述
- 研究背景与目的
- 数据来源与样本描述
- 分析方法总览
## 二、数据概况
- 样本量与变量说明
- 缺失值与异常值报告
- 数据预处理说明
## 三、描述性统计分析
- 定量变量描述统计表(均值±标准差、中位数、极值)
- 定类变量频数分布表
- 关键变量分布图
## 四、[核心分析章节](根据方法动态生成)
- 4.1 [方法1名称]
- 分析目的说明
- 前置检验结果(如正态性、方差齐性)
- 检验结果表(统计量、p值、效应量等)
- 结果解读
- 配图
- 4.2 [方法2名称]
- ...
## 五、综合结论与建议
- 核心发现总结
- 研究局限性
- 改进建议
5.2 报告格式规范
- 字体:正文宋体/仿宋 12pt,标题黑体 14-16pt
- 表格:三线表格式,表头加粗,表序+表名在表上方
- 图表:图序+图名在图下方,中文标签,配色统一
- 统计符号:斜体(p, t, F, r, R²),希腊字母斜体(α, β, η²)
- 显著性标注:p < 0.05 用 * 标注,p < 0.01 用 ** 标注
- 编号:表1-1、图1-1 格式
5.3 图表生成与嵌入
- 用matplotlib生成统计图表,保存为PNG到
/sandbox/workspace/outputs/ - 图表类型选择:
- 差异分析→柱状图(均值±误差棒) 或箱线图
- 相关分析→散点图+回归线 或相关系数热力图
- 回归分析→残差图、回归系数森林图
- 聚类分析→散点图(按聚类着色)、树状图
- 频数分析→饼图或柱状图
- 生存分析→K-M生存曲线
- 综合评价→雷达图或排名柱状图
5.4 交付
- Word文件保存到
/sandbox/workspace/outputs/ - 用
provide_file工具提供下载链接 - 如用户要求修改,进入多轮修改模式
多轮修改
用户可能要求修改报告。常见修改类型:
- 增减分析方法:回到Phase 2-4,补充执行新方法并更新报告
- 调整变量/分组:重新执行Phase 4并更新对应章节
- 修改报告内容:直接编辑Word文档中对应部分
- 调整图表:重新生成图表并替换
修改时只更新受影响的章节,避免全量重写。
工作流示例
示例1:问卷调查数据分析
用户输入:上传问卷数据Excel(200份问卷,含人口统计学+5个量表共25题),要求"帮我分析这份问卷数据"
执行流程:
- 读取数据,识别定类变量(性别、学历等)和定量变量(量表题项1-25)
- 向用户确认:推荐问卷研究标准流程(信度→效度→描述→差异→相关→回归)
- 执行Cronbach α信度检验(各量表α均>0.7)
- 执行EFA效度检验(KMO>0.7,提取因子与理论维度一致)
- 描述统计(各维度均值、标准差)
- 差异分析(性别t检验、学历ANOVA)
- 相关分析(各维度间Pearson相关)
- 线性回归(某维度为因变量)
- 生成含8个章节的Word报告
示例2:综合评价分析
用户输入:上传各城市经济数据Excel(30个城市,8个经济指标),要求"对这些城市的经济发展水平进行综合评价"
执行流程:
- 读取数据,识别8个定量指标
- 向用户确认:推荐熵权法+TOPSIS综合评价流程
- 数据标准化(极差标准化)
- 熵权法计算各指标权重
- TOPSIS计算各城市与正/负理想解距离及相对接近度
- 排序并分级(前30%为优,中间40%为中,后30%为差)
- 生成含排名表、雷达图、柱状图的Word报告
资源目录
scripts/
run_analysis.py — 数据分析执行脚本,包含常用统计方法的封装函数,直接执行无需加载到上下文。
references/
statistical-methods.md — 统计分析方法完整参考手册(14大模块200+方法详表),当需要选择分析方法、判断方法适用性或确认数据格式要求时,读取此文件。
assets/
本技能不使用assets目录。
微信扫一扫