Skip to main content

专业计量经济学MCP工具 - 100%覆盖Stata核心功能,50项专业分析工具,支持CSV/JSON/TXT格式,让大模型更智能地进行数据分析

Project description

aigroup-econ-mcp - 专业计量经济学MCP工具

🎯 100%覆盖Stata核心功能 - 提供50项专业计量经济学分析工具,支持CSV/JSON/TXT多种数据格式

Python MCP License Version Stata Coverage

📋 目录

🚀 快速开始

一键启动(推荐)

# 使用uvx快速启动(无需安装)
uvx aigroup-econ-mcp

Roo-Code、通义灵码、Claude code配置

MCP设置中添加:

{
  "mcpServers": {
    "aigroup-econ-mcp": {
      "command": "uvx",
      "args": ["aigroup-econ-mcp"],
      "alwaysAllow": [
        "descriptive_statistics", "ols_regression", "hypothesis_testing",
        "time_series_analysis", "correlation_analysis", "panel_fixed_effects",
        "panel_random_effects", "panel_hausman_test", "panel_unit_root_test",
        "var_model_analysis", "vecm_model_analysis", "garch_model_analysis",
        "state_space_model_analysis", "variance_decomposition_analysis",
        "random_forest_regression_analysis", "gradient_boosting_regression_analysis",
        "lasso_regression_analysis", "ridge_regression_analysis",
        "cross_validation_analysis", "feature_importance_analysis_tool",
        "logit_regression", "probit_regression", "poisson_count_regression",
        "propensity_score_matching", "difference_in_differences",
        "instrumental_variables_regression", "data_cleaning", "data_merge",
        "reshape_to_long", "reshape_to_wide", "scatter_plot", "histogram_plot",
        "correlation_heatmap", "wls_regression", "gmm_estimation", "bootstrap_analysis"
      ]
    }
  }
}

✨ 核心功能 - 50项Stata功能全覆盖

📊 数据管理 (8项)

  • 数据清洗 - 缺失值处理、异常值检测、数据标准化
  • 数据合并 - 内连接、外连接、左连接、右连接
  • 数据追加 - 纵向数据合并
  • 宽转长 - reshape wide to long格式转换
  • 长转宽 - reshape long to wide格式转换
  • 生成变量 - 9种数学函数,支持复杂表达式
  • 删除变量 - 选择性删除指定变量
  • 保留变量 - 选择性保留指定变量

📈 描述性统计 (4项)

  • 基本统计量 - 均值、方差、偏度、峰度、中位数、四分位数
  • 假设检验 - t检验、F检验、卡方检验、ADF检验、KPSS检验
  • 相关性分析 - Pearson、Spearman、Kendall相关系数
  • 分布分析 - 正态性检验、分布拟合

🔬 基础计量模型 (4项)

  • OLS回归 - 普通最小二乘法回归,完整诊断统计
  • 正则化回归 - Lasso、Ridge回归,自动特征选择
  • 模型诊断 - 残差分析、异方差检验、多重共线性检测
  • 稳健标准误 - HC0-HC3多种稳健标准误计算

🏢 面板数据分析 (5项)

  • 固定效应模型 - 控制个体/时间固定效应
  • 随机效应模型 - 处理随机效应
  • Hausman检验 - 模型选择检验
  • 面板单位根检验 - Levin-Lin-Chu等多种检验方法
  • 面板数据诊断 - 组内相关、异方差检验

⏰ 时间序列分析 (7项)

  • 平稳性检验 - ADF、KPSS检验,趋势强度分析
  • 自相关分析 - ACF、PACF函数计算和解释
  • VAR模型 - 向量自回归模型,最优阶数选择
  • VECM模型 - 向量误差修正模型,协整分析
  • GARCH模型 - 波动率建模和预测
  • 状态空间模型 - 卡尔曼滤波和平滑
  • 方差分解 - 冲击响应方差分解分析

🎯 离散选择模型 (6项)

  • Logit回归 - 二元选择模型,完整统计检验
  • Probit回归 - 二元选择模型,正态分布假设
  • 多项Logit - 多类别选择模型
  • 有序选择模型 - 有序响应变量建模
  • Tobit模型 - 受限因变量回归
  • 泊松回归 - 计数数据回归分析

🔬 高级计量方法 (5项)

  • 倾向得分匹配(PSM) - 因果推断,处理效应估计
  • 双重差分法(DID) - 政策评估,因果效应识别
  • 断点回归(RDD) - 准自然实验设计
  • 分位数回归 - 条件分布分析
  • 生存分析 - Cox比例风险模型

📊 可视化分析 (7项)

  • 散点图 - 带回归线,相关性可视化
  • 直方图 - 带密度曲线,分布可视化
  • 箱线图 - 含离群值标识,分布比较
  • 折线图 - 多系列支持,时间趋势分析
  • 条形图 - 带数值标签,分类比较
  • 相关矩阵热力图 - 彩色编码,相关性可视化
  • 回归诊断图 - 4子图组合,模型诊断

⚙️ 其他功能 (4项)

  • 工具变量法(IV/2SLS) - 内生性处理,弱工具变量检验
  • 广义矩估计(GMM) - 过度识别检验,最优权重矩阵
  • 加权最小二乘(WLS) - 3种权重类型,异方差修正
  • Bootstrap推断 - 置信区间,统计推断

🔧 完整工具列表 (50项)

数据管理工具 (8项)

工具 功能 主要参数 输出
data_cleaning 数据清洗 data, handle_missing, handle_outliers 清洗后数据、处理统计
data_merge 数据合并 left_data, right_data, on, how 合并后数据、匹配统计
data_append 数据追加 data1, data2 纵向合并数据
reshape_to_long 宽转长 data, id_vars, value_vars 长格式数据
reshape_to_wide 长转宽 data, id_var, variable_col, value_col 宽格式数据
variable_generation 生成变量 data, expression 新变量数据
variable_dropping 删除变量 data, drop_vars 删除后数据
variable_keeping 保留变量 data, keep_vars 保留后数据

统计分析工具 (4项)

工具 功能 主要参数 输出
descriptive_statistics 描述性统计 data 均值、标准差、偏度、峰度、相关矩阵
hypothesis_testing 假设检验 data1, data2, test_type 统计量、p值、显著性判断
correlation_analysis 相关性分析 data, method 相关系数矩阵
distribution_analysis 分布分析 data, test_type 分布检验结果

基础计量工具 (4项)

工具 功能 主要参数 输出
ols_regression OLS回归 y_data, x_data R²、系数、t统计量、p值、置信区间
lasso_regression_analysis Lasso回归 y_data, x_data, alpha R²、稀疏系数、特征选择
ridge_regression_analysis Ridge回归 y_data, x_data, alpha R²、正则化系数
robust_regression 稳健标准误 y_data, x_data, robust_type 稳健标准误、检验统计量

面板数据工具 (5项)

工具 功能 主要参数 输出
panel_fixed_effects 固定效应模型 y_data, x_data, entity_ids, time_periods R²、系数、F统计量
panel_random_effects 随机效应模型 y_data, x_data, entity_ids, time_periods R²、系数、随机效应方差
panel_hausman_test Hausman检验 y_data, x_data, entity_ids, time_periods 检验统计量、模型选择建议
panel_unit_root_test 面板单位根 data, entity_ids, time_periods, test_type 平稳性判断、临界值
panel_diagnostics 面板诊断 data, entity_ids, time_periods 组内相关、异方差检验

时间序列工具 (7项)

工具 功能 主要参数 输出
time_series_analysis 时间序列分析 data 平稳性检验、ACF/PACF、模型建议
var_model_analysis VAR模型 data, max_lags, ic 最优阶数、系数、脉冲响应
vecm_model_analysis VECM模型 data, coint_rank, max_lags 协整向量、误差修正项
garch_model_analysis GARCH模型 data, order, dist 波动率持续性、条件方差
state_space_model_analysis 状态空间模型 data, state_dim, trend 滤波状态、平滑状态估计
variance_decomposition_analysis 方差分解 data, periods, max_lags 各变量贡献度分解
time_series_forecasting 时间序列预测 data, model_type, periods 预测值、置信区间

离散选择工具 (6项)

工具 功能 主要参数 输出
logit_regression Logit回归 y_data, x_data 伪R²、系数、OR值、p值
probit_regression Probit回归 y_data, x_data 伪R²、系数、边际效应、p值
multinomial_logit_regression 多项Logit y_data, x_data 伪R²、系数、相对风险比
ordered_choice_regression 有序选择 y_data, x_data 伪R²、系数、切点估计
tobit_regression Tobit模型 y_data, x_data, censoring_point 系数、边际效应、p值
poisson_count_regression 泊松回归 y_data, x_data 伪R²、系数、发生率比

高级计量工具 (5项)

工具 功能 主要参数 输出
propensity_score_matching PSM treatment, covariates, outcome 处理效应、匹配统计
difference_in_differences DID treatment, time_period, outcome 处理效应、时间效应
regression_discontinuity_analysis RDD running_var, outcome, cutoff 局部平均处理效应
quantile_regression_analysis 分位数回归 y_data, x_data, quantiles 分位数系数、置信区间
survival_analysis_cox 生存分析 time, event, covariates 风险比、系数、p值

可视化工具 (7项)

工具 功能 主要参数 输出
scatter_plot 散点图 x_data, y_data, add_regression_line 散点图图像
histogram_plot 直方图 data, bins, show_density 直方图图像
box_plot 箱线图 data, labels 箱线图图像
line_plot 折线图 data, labels, title 折线图图像
bar_plot 条形图 data, labels, title 条形图图像
correlation_heatmap 相关矩阵热力图 data, method 热力图图像
regression_diagnostics 回归诊断图 y_data, x_data 诊断图组合

其他高级工具 (4项)

工具 功能 主要参数 输出
iv_regression_2sls 工具变量法 y_data, x_data, instruments 2SLS系数、弱工具检验
gmm_regression 广义矩估计 y_data, x_data, instruments GMM系数、过度识别检验
wls_regression 加权最小二乘 y_data, x_data, weights WLS系数、权重统计
bootstrap_analysis Bootstrap推断 data, statistic_func, n_bootstrap 置信区间、统计量分布

注意: 所有工具均支持CSV/JSON/TXT格式输入,可通过file_pathfile_content或直接数据参数调用。

📁 文件输入支持

支持的文件格式

1. CSV文件(推荐)

  • 格式: 逗号、制表符、分号分隔
  • 表头: 自动识别(第一行非数值为表头)
  • 特点: 最通用,易于编辑和查看
GDP,CPI,失业率
3.2,2.1,4.5
2.8,2.3,4.2
3.5,1.9,4.0

2. JSON文件

  • 字典格式: {"变量名": [数据], ...}
  • 数组格式: [{"变量1": 值, ...}, ...]
  • 嵌套格式: {"data": {...}, "metadata": {...}}
{
  "GDP": [3.2, 2.8, 3.5],
  "CPI": [2.1, 2.3, 1.9],
  "失业率": [4.5, 4.2, 4.0]
}

3. TXT文件(新增✨)

  • 单列数值: 每行一个数值
100.5
102.3
101.8
103.5
  • 多列数值: 空格或制表符分隔
GDP CPI 失业率
3.2 2.1 4.5
2.8 2.3 4.2
3.5 1.9 4.0
  • 键值对格式: 变量名: 值列表
GDP: 3.2 2.8 3.5 2.9
CPI: 2.1 2.3 1.9 2.4
失业率: 4.5 4.2 4.0 4.3

使用方式

方式1:直接数据输入(程序化调用)

{
  "data": {
    "GDP增长率": [3.2, 2.8, 3.5, 2.9],
    "通货膨胀率": [2.1, 2.3, 1.9, 2.4]
  }
}

方式2:文件内容输入(字符串)

{
  "file_content": "GDP,CPI\n3.2,2.1\n2.8,2.3\n3.5,1.9",
  "file_format": "csv"
}

方式3:文件路径输入(推荐✨)

{
  "file_path": "./data/economic_data.csv"
}

或使用TXT文件:

{
  "file_path": "./data/timeseries.txt",
  "file_format": "txt"
}

自动格式检测

系统会智能检测文件格式:

  1. 文件扩展名(.csv/.json/.txt)
  2. 文件内容特征(逗号、JSON结构、纯数值)
  3. 建议使用 "file_format": "auto" 让系统自动识别

⚙️ 安装配置

跨平台兼容性

完全跨平台支持 - 支持 Windows、macOS、Linux 系统 ✅ 纯Python实现 - 无平台特定依赖 ✅ ARM架构支持 - 兼容 Apple Silicon (M1/M2/M3)

方式1:uvx安装(推荐)

# 直接运行最新版本
uvx aigroup-econ-mcp

# 指定版本
uvx aigroup-econ-mcp@1.3.3

方式2:pip安装

# 安装包
pip install aigroup-econ-mcp

# 运行服务
aigroup-econ-mcp

macOS 特定说明

# 如果遇到权限问题,使用用户安装
pip install --user aigroup-econ-mcp

# 或者使用虚拟环境
python -m venv econ_env
source econ_env/bin/activate
pip install aigroup-econ-mcp

依赖说明

  • 核心依赖: pandas >= 1.5.0, numpy >= 1.21.0, scipy >= 1.7.0
  • 统计分析: statsmodels >= 0.13.0
  • 面板数据: linearmodels >= 7.0
  • 机器学习: scikit-learn >= 1.0.0
  • 时间序列: arch >= 6.0.0
  • 轻量级: 无需torch或其他重型框架

📚 使用示例

示例1:描述性统计(CSV文件)

# 方式A:使用文件路径
result = await descriptive_statistics(
    file_path="./data/economic_indicators.csv"
)

# 方式B:使用文件内容
result = await descriptive_statistics(
    file_content="""GDP,CPI,失业率
3.2,2.1,4.5
2.8,2.3,4.2
3.5,1.9,4.0""",
    file_format="csv"
)

示例2:回归分析(TXT文件)

# TXT文件格式(空格分隔)
result = await ols_regression(
    file_content="""广告支出 价格 销售额
100 50 1200
120 48 1350
110 52 1180""",
    file_format="txt"
)

# 系统会自动识别:
# - 因变量:销售额(最后一列)
# - 自变量:广告支出、价格(其他列)

示例3:时间序列分析

# TXT单列格式
result = await time_series_analysis(
    file_content="""100.5
102.3
101.8
103.5
104.2""",
    file_format="txt"
)

# 输出包括:
# - 平稳性检验结果
# - ACF/PACF分析
# - 模型建议(ARIMA/AR/MA)

示例4:面板数据(CSV文件)

# CSV面板数据格式
result = await panel_fixed_effects(
    file_path="./panel_data.csv"
)

# CSV格式要求:
# company_id, year, revenue, employees, investment
# 1, 2020, 1000, 50, 100
# 1, 2021, 1100, 52, 110
# ...

# 系统会自动识别:
# - entity_ids: company_id列
# - time_periods: year列
# - 数据变量:其他列

示例5:机器学习(带完整参数)

# 随机森林回归
result = await random_forest_regression_analysis(
    y_data=[12, 13, 15, 18, 20],
    x_data=[
        [100, 50, 3],
        [120, 48, 3],
        [110, 52, 4],
        [130, 45, 3],
        [125, 47, 4]
    ],
    feature_names=["广告支出", "价格", "竞争对手数"],
    n_estimators=100,
    max_depth=5
)

# 输出包括:
# - R² 得分
# - 特征重要性排名
# - 预测精度指标

🔍 故障排除

常见问题

Q: uvx安装卡住

# 清除缓存重试
uvx --no-cache aigroup-econ-mcp

Q: 工具返回错误

  • ✅ 检查数据格式(CSV/JSON/TXT)
  • ✅ 确保没有缺失值(NaN)
  • ✅ 验证数据类型(所有数值必须是浮点数)
  • ✅ 查看详细错误信息

Q: MCP服务连接失败

  • ✅ 检查网络连接
  • ✅ 确保Python版本 >= 3.8
  • ✅ 查看VSCode输出面板的详细日志
  • ✅ 尝试重启RooCode

数据要求

分析类型 最小样本量 推荐样本量 特殊要求
描述性统计 5 20+ 无缺失值
OLS回归 变量数+2 30+ 无多重共线性
时间序列 10 40+ 时间顺序,等间隔
面板数据 实体数×3 实体数×10+ 平衡或非平衡面板
机器学习 20 100+ 训练集/测试集分割

🏗️ 项目架构

模块结构

src/aigroup_econ_mcp/
├── server.py                    # MCP服务器核心
├── cli.py                       # 命令行入口
├── config.py                    # 配置管理
└── tools/                       # 工具模块
    ├── base.py                  # 基础工具类
    ├── statistics.py            # 统计分析工具
    ├── regression.py            # 回归分析工具
    ├── time_series.py           # 时间序列工具
    ├── panel_data.py            # 面板数据工具
    ├── machine_learning.py      # 机器学习工具
    ├── file_parser.py           # 文件解析器(CSV/JSON/TXT)
    ├── data_loader.py           # 数据加载器
    ├── tool_registry.py         # 工具注册中心
    ├── tool_handlers.py         # 业务处理器
    ├── tool_descriptions.py     # 工具描述和文档
    ├── discrete_choice.py       # 离散选择模型(新增)
    ├── advanced_econometrics.py # 高级计量方法(新增)
    ├── data_management.py       # 数据管理工具(新增)
    ├── visualization.py         # 可视化工具(新增)
    └── advanced_regression.py   # 高级回归方法(新增)

设计特点

  • 🎯 组件化架构 - 模块化设计,职责单一,易于维护和扩展
  • 🔄 统一接口 - 所有工具支持CSV/JSON/TXT三种格式输入
  • ⚡ 异步处理 - 基于asyncio的异步设计,支持并发请求
  • 🛡️ 错误处理 - 统一的错误处理和详细的错误信息
  • 📝 完整文档 - 每个工具都有详细的参数说明和使用示例
  • 🧪 全面测试 - 单元测试和集成测试覆盖

新增特性(v1.4.0)

  • 🎯 100% Stata功能覆盖 - 完整实现50项Stata核心功能
  • 离散选择模型 - Logit、Probit、多项Logit、有序选择、Tobit、泊松回归
  • 🔬 高级计量方法 - PSM、DID、RDD、分位数回归、生存分析
  • 📊 数据管理工具 - 清洗、合并、追加、宽转长、长转宽、变量操作
  • 📈 可视化分析 - 7种专业图表,支持回归诊断
  • ⚙️ 高级回归方法 - IV/2SLS、GMM、WLS、Bootstrap、稳健标准误
  • TXT格式支持 - 支持单列、多列、键值对三种TXT格式
  • 📝 完善参数描述 - 所有50个工具的MCP参数都有详细说明
  • 🔍 智能格式检测 - 自动识别CSV/JSON/TXT格式
  • 📂 文件路径支持 - 支持直接传入文件路径(.txt/.csv/.json)

🤝 贡献指南

开发环境设置

# 克隆项目
git clone https://github.com/jackdark425/aigroup-econ-mcp
cd aigroup-econ-mcp

# 安装开发依赖
uv add --dev pytest pytest-asyncio black isort mypy ruff

# 运行测试
uv run pytest

# 代码格式化
uv run black src/
uv run isort src/

提交贡献

  1. Fork项目
  2. 创建功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启Pull Request

代码规范

  • 遵循PEP 8编码规范
  • 使用类型注解(Type Hints)
  • 添加单元测试(覆盖率>80%)
  • 更新相关文档和示例

📄 许可证

MIT License - 查看 LICENSE 文件了解详情

🙏 致谢

  • Model Context Protocol (MCP) - 模型上下文协议框架
  • Roo-Code - 强大的AI编程助手
  • statsmodels - 专业的统计分析库
  • pandas - 高效的数据处理库
  • scikit-learn - 全面的机器学习库
  • linearmodels - 面板数据分析专用库
  • 计量经济学社区 - 提供Stata功能参考和实现指导
  • 开源社区 - 所有依赖库的开发者们

📞 支持

📈


立即开始: uvx aigroup-econ-mcp 🚀

让AI大模型成为你的专业计量经济学分析助手!50项Stata功能,一站式解决方案!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aigroup_econ_mcp-1.4.1.tar.gz (78.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aigroup_econ_mcp-1.4.1-py3-none-any.whl (88.8 kB view details)

Uploaded Python 3

File details

Details for the file aigroup_econ_mcp-1.4.1.tar.gz.

File metadata

  • Download URL: aigroup_econ_mcp-1.4.1.tar.gz
  • Upload date:
  • Size: 78.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.13

File hashes

Hashes for aigroup_econ_mcp-1.4.1.tar.gz
Algorithm Hash digest
SHA256 2a66a25fe9eb26c2bf4220326b7df07a3bedb7a71e71b28cb41009abace59fe9
MD5 a376aee802b3dc5c65b337668247c892
BLAKE2b-256 a332e4380fd05a08487778298ab7d31c8c8b2c7f1ba18add9428843163ef910f

See more details on using hashes here.

File details

Details for the file aigroup_econ_mcp-1.4.1-py3-none-any.whl.

File metadata

File hashes

Hashes for aigroup_econ_mcp-1.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 472cbee043db752ae6904ef0a1f61b5dc560352c503cddd589a487ff63267bb6
MD5 fdcc63d0452b365f78b2326fd998161e
BLAKE2b-256 e4991f2c044e320438537b5b0ec8e4eef95a248993045ccf94e66f4ceea809b2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page