aigroup-econ-mcp 0.4.0__tar.gz → 1.4.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of aigroup-econ-mcp might be problematic. Click here for more details.

Files changed (51) hide show
  1. aigroup_econ_mcp-1.4.0/PKG-INFO +674 -0
  2. aigroup_econ_mcp-1.4.0/README.md +636 -0
  3. {aigroup_econ_mcp-0.4.0 → aigroup_econ_mcp-1.4.0}/pyproject.toml +4 -4
  4. aigroup_econ_mcp-1.4.0/src/aigroup_econ_mcp/__init__.py +19 -0
  5. {aigroup_econ_mcp-0.4.0 → aigroup_econ_mcp-1.4.0}/src/aigroup_econ_mcp/cli.py +27 -32
  6. {aigroup_econ_mcp-0.4.0 → aigroup_econ_mcp-1.4.0}/src/aigroup_econ_mcp/config.py +560 -560
  7. aigroup_econ_mcp-1.4.0/src/aigroup_econ_mcp/server.py +719 -0
  8. aigroup_econ_mcp-1.4.0/src/aigroup_econ_mcp/tools/__init__.py +39 -0
  9. aigroup_econ_mcp-1.4.0/src/aigroup_econ_mcp/tools/advanced_econometrics.py +596 -0
  10. aigroup_econ_mcp-1.4.0/src/aigroup_econ_mcp/tools/advanced_regression.py +560 -0
  11. aigroup_econ_mcp-1.4.0/src/aigroup_econ_mcp/tools/base.py +470 -0
  12. {aigroup_econ_mcp-0.4.0 → aigroup_econ_mcp-1.4.0}/src/aigroup_econ_mcp/tools/cache.py +532 -532
  13. aigroup_econ_mcp-1.4.0/src/aigroup_econ_mcp/tools/data_loader.py +195 -0
  14. aigroup_econ_mcp-1.4.0/src/aigroup_econ_mcp/tools/data_management.py +608 -0
  15. aigroup_econ_mcp-1.4.0/src/aigroup_econ_mcp/tools/discrete_choice.py +595 -0
  16. aigroup_econ_mcp-1.4.0/src/aigroup_econ_mcp/tools/file_parser.py +1031 -0
  17. aigroup_econ_mcp-1.4.0/src/aigroup_econ_mcp/tools/machine_learning.py +60 -0
  18. aigroup_econ_mcp-1.4.0/src/aigroup_econ_mcp/tools/ml_ensemble.py +210 -0
  19. aigroup_econ_mcp-1.4.0/src/aigroup_econ_mcp/tools/ml_evaluation.py +272 -0
  20. aigroup_econ_mcp-1.4.0/src/aigroup_econ_mcp/tools/ml_models.py +54 -0
  21. aigroup_econ_mcp-1.4.0/src/aigroup_econ_mcp/tools/ml_regularization.py +186 -0
  22. {aigroup_econ_mcp-0.4.0 → aigroup_econ_mcp-1.4.0}/src/aigroup_econ_mcp/tools/monitoring.py +554 -554
  23. {aigroup_econ_mcp-0.4.0 → aigroup_econ_mcp-1.4.0}/src/aigroup_econ_mcp/tools/optimized_example.py +228 -228
  24. {aigroup_econ_mcp-0.4.0 → aigroup_econ_mcp-1.4.0}/src/aigroup_econ_mcp/tools/panel_data.py +640 -552
  25. {aigroup_econ_mcp-0.4.0 → aigroup_econ_mcp-1.4.0}/src/aigroup_econ_mcp/tools/regression.py +28 -28
  26. {aigroup_econ_mcp-0.4.0 → aigroup_econ_mcp-1.4.0}/src/aigroup_econ_mcp/tools/statistics.py +166 -153
  27. {aigroup_econ_mcp-0.4.0 → aigroup_econ_mcp-1.4.0}/src/aigroup_econ_mcp/tools/time_series.py +776 -666
  28. {aigroup_econ_mcp-0.4.0 → aigroup_econ_mcp-1.4.0}/src/aigroup_econ_mcp/tools/timeout.py +282 -282
  29. aigroup_econ_mcp-1.4.0/src/aigroup_econ_mcp/tools/tool_descriptions.py +797 -0
  30. aigroup_econ_mcp-1.4.0/src/aigroup_econ_mcp/tools/tool_handlers.py +1545 -0
  31. aigroup_econ_mcp-1.4.0/src/aigroup_econ_mcp/tools/tool_registry.py +478 -0
  32. {aigroup_econ_mcp-0.4.0 → aigroup_econ_mcp-1.4.0}/src/aigroup_econ_mcp/tools/validation.py +481 -481
  33. aigroup_econ_mcp-1.4.0/src/aigroup_econ_mcp/tools/visualization.py +684 -0
  34. aigroup_econ_mcp-0.4.0/PKG-INFO +0 -718
  35. aigroup_econ_mcp-0.4.0/README.md +0 -680
  36. aigroup_econ_mcp-0.4.0/src/aigroup_econ_mcp/__init__.py +0 -19
  37. aigroup_econ_mcp-0.4.0/src/aigroup_econ_mcp/server.py +0 -452
  38. aigroup_econ_mcp-0.4.0/src/aigroup_econ_mcp/server_v1_backup.py +0 -1250
  39. aigroup_econ_mcp-0.4.0/src/aigroup_econ_mcp/server_v1_old.py +0 -1250
  40. aigroup_econ_mcp-0.4.0/src/aigroup_econ_mcp/server_with_file_support.py +0 -259
  41. aigroup_econ_mcp-0.4.0/src/aigroup_econ_mcp/tools/__init__.py +0 -18
  42. aigroup_econ_mcp-0.4.0/src/aigroup_econ_mcp/tools/base.py +0 -271
  43. aigroup_econ_mcp-0.4.0/src/aigroup_econ_mcp/tools/data_loader.py +0 -171
  44. aigroup_econ_mcp-0.4.0/src/aigroup_econ_mcp/tools/decorators.py +0 -178
  45. aigroup_econ_mcp-0.4.0/src/aigroup_econ_mcp/tools/file_input_handler.py +0 -268
  46. aigroup_econ_mcp-0.4.0/src/aigroup_econ_mcp/tools/file_parser.py +0 -560
  47. aigroup_econ_mcp-0.4.0/src/aigroup_econ_mcp/tools/machine_learning.py +0 -673
  48. aigroup_econ_mcp-0.4.0/src/aigroup_econ_mcp/tools/tool_handlers.py +0 -378
  49. aigroup_econ_mcp-0.4.0/src/aigroup_econ_mcp/tools/tool_registry.py +0 -170
  50. {aigroup_econ_mcp-0.4.0 → aigroup_econ_mcp-1.4.0}/.gitignore +0 -0
  51. {aigroup_econ_mcp-0.4.0 → aigroup_econ_mcp-1.4.0}/LICENSE +0 -0
@@ -0,0 +1,674 @@
1
+ Metadata-Version: 2.4
2
+ Name: aigroup-econ-mcp
3
+ Version: 1.4.0
4
+ Summary: 专业计量经济学MCP工具 - 100%覆盖Stata核心功能,50项专业分析工具,支持CSV/JSON/TXT格式,让大模型更智能地进行数据分析
5
+ Project-URL: Homepage, https://github.com/aigroup/aigroup-econ-mcp
6
+ Project-URL: Repository, https://github.com/aigroup/aigroup-econ-mcp.git
7
+ Project-URL: Issues, https://github.com/aigroup/aigroup-econ-mcp/issues
8
+ Author-email: AIGroup <jackdark425@gmail.com>
9
+ License-File: LICENSE
10
+ Keywords: data-analysis,econometrics,economics,mcp,panel-data,regression,statistics,time-series
11
+ Classifier: Development Status :: 5 - Production/Stable
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.8
16
+ Classifier: Programming Language :: Python :: 3.9
17
+ Classifier: Programming Language :: Python :: 3.10
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Topic :: Scientific/Engineering :: Information Analysis
21
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
22
+ Requires-Python: >=3.10
23
+ Requires-Dist: arch>=6.0.0
24
+ Requires-Dist: click>=8.0.0
25
+ Requires-Dist: linearmodels>=7.0
26
+ Requires-Dist: matplotlib>=3.5.0
27
+ Requires-Dist: mcp>=1.0.0
28
+ Requires-Dist: numpy>=1.21.0
29
+ Requires-Dist: pandas>=1.5.0
30
+ Requires-Dist: psutil>=5.9.0
31
+ Requires-Dist: pydantic>=2.0.0
32
+ Requires-Dist: pyyaml>=6.0
33
+ Requires-Dist: scikit-learn>=1.0.0
34
+ Requires-Dist: scipy>=1.7.0
35
+ Requires-Dist: statsmodels>=0.13.0
36
+ Requires-Dist: uvicorn>=0.20.0
37
+ Description-Content-Type: text/markdown
38
+
39
+ # aigroup-econ-mcp - 专业计量经济学MCP工具
40
+
41
+ 🎯 **100%覆盖Stata核心功能** - 提供50项专业计量经济学分析工具,支持CSV/JSON/TXT多种数据格式
42
+
43
+ ![Python](https://img.shields.io/badge/Python-3.8+-blue.svg)
44
+ ![MCP](https://img.shields.io/badge/MCP-1.0+-green.svg)
45
+ ![License](https://img.shields.io/badge/License-MIT-yellow.svg)
46
+ ![Version](https://img.shields.io/badge/Version-1.4.0-orange.svg)
47
+ ![Stata Coverage](https://img.shields.io/badge/Stata_Coverage-100%25-brightgreen.svg)
48
+
49
+ ## 📋 目录
50
+
51
+ - [🚀 快速开始](#-快速开始)
52
+ - [✨ 核心功能](#-核心功能)
53
+ - [🔧 工具列表](#-工具列表)
54
+ - [📁 文件输入支持](#-文件输入支持)
55
+ - [⚙️ 安装配置](#️-安装配置)
56
+ - [📚 使用示例](#-使用示例)
57
+ - [🔍 故障排除](#-故障排除)
58
+ - [🏗️ 项目架构](#️-项目架构)
59
+ - [🤝 贡献指南](#-贡献指南)
60
+ - [📄 许可证](#-许可证)
61
+
62
+ ## 🚀 快速开始
63
+
64
+ ### 一键启动(推荐)
65
+
66
+ ```bash
67
+ # 使用uvx快速启动(无需安装)
68
+ uvx aigroup-econ-mcp
69
+ ```
70
+
71
+ ### Roo-Code、通义灵码、Claude code配置
72
+
73
+ MCP设置中添加:
74
+
75
+ ```json
76
+ {
77
+ "mcpServers": {
78
+ "aigroup-econ-mcp": {
79
+ "command": "uvx",
80
+ "args": ["aigroup-econ-mcp"],
81
+ "alwaysAllow": [
82
+ "descriptive_statistics", "ols_regression", "hypothesis_testing",
83
+ "time_series_analysis", "correlation_analysis", "panel_fixed_effects",
84
+ "panel_random_effects", "panel_hausman_test", "panel_unit_root_test",
85
+ "var_model_analysis", "vecm_model_analysis", "garch_model_analysis",
86
+ "state_space_model_analysis", "variance_decomposition_analysis",
87
+ "random_forest_regression_analysis", "gradient_boosting_regression_analysis",
88
+ "lasso_regression_analysis", "ridge_regression_analysis",
89
+ "cross_validation_analysis", "feature_importance_analysis_tool",
90
+ "logit_regression", "probit_regression", "poisson_count_regression",
91
+ "propensity_score_matching", "difference_in_differences",
92
+ "instrumental_variables_regression", "data_cleaning", "data_merge",
93
+ "reshape_to_long", "reshape_to_wide", "scatter_plot", "histogram_plot",
94
+ "correlation_heatmap", "wls_regression", "gmm_estimation", "bootstrap_analysis"
95
+ ]
96
+ }
97
+ }
98
+ }
99
+ ```
100
+
101
+ ## ✨ 核心功能 - 50项Stata功能全覆盖
102
+
103
+ ### 📊 数据管理 (8项)
104
+ - **数据清洗** - 缺失值处理、异常值检测、数据标准化
105
+ - **数据合并** - 内连接、外连接、左连接、右连接
106
+ - **数据追加** - 纵向数据合并
107
+ - **宽转长** - reshape wide to long格式转换
108
+ - **长转宽** - reshape long to wide格式转换
109
+ - **生成变量** - 9种数学函数,支持复杂表达式
110
+ - **删除变量** - 选择性删除指定变量
111
+ - **保留变量** - 选择性保留指定变量
112
+
113
+ ### 📈 描述性统计 (4项)
114
+ - **基本统计量** - 均值、方差、偏度、峰度、中位数、四分位数
115
+ - **假设检验** - t检验、F检验、卡方检验、ADF检验、KPSS检验
116
+ - **相关性分析** - Pearson、Spearman、Kendall相关系数
117
+ - **分布分析** - 正态性检验、分布拟合
118
+
119
+ ### 🔬 基础计量模型 (4项)
120
+ - **OLS回归** - 普通最小二乘法回归,完整诊断统计
121
+ - **正则化回归** - Lasso、Ridge回归,自动特征选择
122
+ - **模型诊断** - 残差分析、异方差检验、多重共线性检测
123
+ - **稳健标准误** - HC0-HC3多种稳健标准误计算
124
+
125
+ ### 🏢 面板数据分析 (5项)
126
+ - **固定效应模型** - 控制个体/时间固定效应
127
+ - **随机效应模型** - 处理随机效应
128
+ - **Hausman检验** - 模型选择检验
129
+ - **面板单位根检验** - Levin-Lin-Chu等多种检验方法
130
+ - **面板数据诊断** - 组内相关、异方差检验
131
+
132
+ ### ⏰ 时间序列分析 (7项)
133
+ - **平稳性检验** - ADF、KPSS检验,趋势强度分析
134
+ - **自相关分析** - ACF、PACF函数计算和解释
135
+ - **VAR模型** - 向量自回归模型,最优阶数选择
136
+ - **VECM模型** - 向量误差修正模型,协整分析
137
+ - **GARCH模型** - 波动率建模和预测
138
+ - **状态空间模型** - 卡尔曼滤波和平滑
139
+ - **方差分解** - 冲击响应方差分解分析
140
+
141
+ ### 🎯 离散选择模型 (6项)
142
+ - **Logit回归** - 二元选择模型,完整统计检验
143
+ - **Probit回归** - 二元选择模型,正态分布假设
144
+ - **多项Logit** - 多类别选择模型
145
+ - **有序选择模型** - 有序响应变量建模
146
+ - **Tobit模型** - 受限因变量回归
147
+ - **泊松回归** - 计数数据回归分析
148
+
149
+ ### 🔬 高级计量方法 (5项)
150
+ - **倾向得分匹配(PSM)** - 因果推断,处理效应估计
151
+ - **双重差分法(DID)** - 政策评估,因果效应识别
152
+ - **断点回归(RDD)** - 准自然实验设计
153
+ - **分位数回归** - 条件分布分析
154
+ - **生存分析** - Cox比例风险模型
155
+
156
+ ### 📊 可视化分析 (7项)
157
+ - **散点图** - 带回归线,相关性可视化
158
+ - **直方图** - 带密度曲线,分布可视化
159
+ - **箱线图** - 含离群值标识,分布比较
160
+ - **折线图** - 多系列支持,时间趋势分析
161
+ - **条形图** - 带数值标签,分类比较
162
+ - **相关矩阵热力图** - 彩色编码,相关性可视化
163
+ - **回归诊断图** - 4子图组合,模型诊断
164
+
165
+ ### ⚙️ 其他功能 (4项)
166
+ - **工具变量法(IV/2SLS)** - 内生性处理,弱工具变量检验
167
+ - **广义矩估计(GMM)** - 过度识别检验,最优权重矩阵
168
+ - **加权最小二乘(WLS)** - 3种权重类型,异方差修正
169
+ - **Bootstrap推断** - 置信区间,统计推断
170
+
171
+ ## 🔧 完整工具列表 (50项)
172
+
173
+ ### 数据管理工具 (8项)
174
+
175
+ | 工具 | 功能 | 主要参数 | 输出 |
176
+ |------|------|----------|------|
177
+ | `data_cleaning` | 数据清洗 | data, handle_missing, handle_outliers | 清洗后数据、处理统计 |
178
+ | `data_merge` | 数据合并 | left_data, right_data, on, how | 合并后数据、匹配统计 |
179
+ | `data_append` | 数据追加 | data1, data2 | 纵向合并数据 |
180
+ | `reshape_to_long` | 宽转长 | data, id_vars, value_vars | 长格式数据 |
181
+ | `reshape_to_wide` | 长转宽 | data, id_var, variable_col, value_col | 宽格式数据 |
182
+ | `variable_generation` | 生成变量 | data, expression | 新变量数据 |
183
+ | `variable_dropping` | 删除变量 | data, drop_vars | 删除后数据 |
184
+ | `variable_keeping` | 保留变量 | data, keep_vars | 保留后数据 |
185
+
186
+ ### 统计分析工具 (4项)
187
+
188
+ | 工具 | 功能 | 主要参数 | 输出 |
189
+ |------|------|----------|------|
190
+ | `descriptive_statistics` | 描述性统计 | data | 均值、标准差、偏度、峰度、相关矩阵 |
191
+ | `hypothesis_testing` | 假设检验 | data1, data2, test_type | 统计量、p值、显著性判断 |
192
+ | `correlation_analysis` | 相关性分析 | data, method | 相关系数矩阵 |
193
+ | `distribution_analysis` | 分布分析 | data, test_type | 分布检验结果 |
194
+
195
+ ### 基础计量工具 (4项)
196
+
197
+ | 工具 | 功能 | 主要参数 | 输出 |
198
+ |------|------|----------|------|
199
+ | `ols_regression` | OLS回归 | y_data, x_data | R²、系数、t统计量、p值、置信区间 |
200
+ | `lasso_regression_analysis` | Lasso回归 | y_data, x_data, alpha | R²、稀疏系数、特征选择 |
201
+ | `ridge_regression_analysis` | Ridge回归 | y_data, x_data, alpha | R²、正则化系数 |
202
+ | `robust_regression` | 稳健标准误 | y_data, x_data, robust_type | 稳健标准误、检验统计量 |
203
+
204
+ ### 面板数据工具 (5项)
205
+
206
+ | 工具 | 功能 | 主要参数 | 输出 |
207
+ |------|------|----------|------|
208
+ | `panel_fixed_effects` | 固定效应模型 | y_data, x_data, entity_ids, time_periods | R²、系数、F统计量 |
209
+ | `panel_random_effects` | 随机效应模型 | y_data, x_data, entity_ids, time_periods | R²、系数、随机效应方差 |
210
+ | `panel_hausman_test` | Hausman检验 | y_data, x_data, entity_ids, time_periods | 检验统计量、模型选择建议 |
211
+ | `panel_unit_root_test` | 面板单位根 | data, entity_ids, time_periods, test_type | 平稳性判断、临界值 |
212
+ | `panel_diagnostics` | 面板诊断 | data, entity_ids, time_periods | 组内相关、异方差检验 |
213
+
214
+ ### 时间序列工具 (7项)
215
+
216
+ | 工具 | 功能 | 主要参数 | 输出 |
217
+ |------|------|----------|------|
218
+ | `time_series_analysis` | 时间序列分析 | data | 平稳性检验、ACF/PACF、模型建议 |
219
+ | `var_model_analysis` | VAR模型 | data, max_lags, ic | 最优阶数、系数、脉冲响应 |
220
+ | `vecm_model_analysis` | VECM模型 | data, coint_rank, max_lags | 协整向量、误差修正项 |
221
+ | `garch_model_analysis` | GARCH模型 | data, order, dist | 波动率持续性、条件方差 |
222
+ | `state_space_model_analysis` | 状态空间模型 | data, state_dim, trend | 滤波状态、平滑状态估计 |
223
+ | `variance_decomposition_analysis` | 方差分解 | data, periods, max_lags | 各变量贡献度分解 |
224
+ | `time_series_forecasting` | 时间序列预测 | data, model_type, periods | 预测值、置信区间 |
225
+
226
+ ### 离散选择工具 (6项)
227
+
228
+ | 工具 | 功能 | 主要参数 | 输出 |
229
+ |------|------|----------|------|
230
+ | `logit_regression` | Logit回归 | y_data, x_data | 伪R²、系数、OR值、p值 |
231
+ | `probit_regression` | Probit回归 | y_data, x_data | 伪R²、系数、边际效应、p值 |
232
+ | `multinomial_logit_regression` | 多项Logit | y_data, x_data | 伪R²、系数、相对风险比 |
233
+ | `ordered_choice_regression` | 有序选择 | y_data, x_data | 伪R²、系数、切点估计 |
234
+ | `tobit_regression` | Tobit模型 | y_data, x_data, censoring_point | 系数、边际效应、p值 |
235
+ | `poisson_count_regression` | 泊松回归 | y_data, x_data | 伪R²、系数、发生率比 |
236
+
237
+ ### 高级计量工具 (5项)
238
+
239
+ | 工具 | 功能 | 主要参数 | 输出 |
240
+ |------|------|----------|------|
241
+ | `propensity_score_matching` | PSM | treatment, covariates, outcome | 处理效应、匹配统计 |
242
+ | `difference_in_differences` | DID | treatment, time_period, outcome | 处理效应、时间效应 |
243
+ | `regression_discontinuity_analysis` | RDD | running_var, outcome, cutoff | 局部平均处理效应 |
244
+ | `quantile_regression_analysis` | 分位数回归 | y_data, x_data, quantiles | 分位数系数、置信区间 |
245
+ | `survival_analysis_cox` | 生存分析 | time, event, covariates | 风险比、系数、p值 |
246
+
247
+ ### 可视化工具 (7项)
248
+
249
+ | 工具 | 功能 | 主要参数 | 输出 |
250
+ |------|------|----------|------|
251
+ | `scatter_plot` | 散点图 | x_data, y_data, add_regression_line | 散点图图像 |
252
+ | `histogram_plot` | 直方图 | data, bins, show_density | 直方图图像 |
253
+ | `box_plot` | 箱线图 | data, labels | 箱线图图像 |
254
+ | `line_plot` | 折线图 | data, labels, title | 折线图图像 |
255
+ | `bar_plot` | 条形图 | data, labels, title | 条形图图像 |
256
+ | `correlation_heatmap` | 相关矩阵热力图 | data, method | 热力图图像 |
257
+ | `regression_diagnostics` | 回归诊断图 | y_data, x_data | 诊断图组合 |
258
+
259
+ ### 其他高级工具 (4项)
260
+
261
+ | 工具 | 功能 | 主要参数 | 输出 |
262
+ |------|------|----------|------|
263
+ | `iv_regression_2sls` | 工具变量法 | y_data, x_data, instruments | 2SLS系数、弱工具检验 |
264
+ | `gmm_regression` | 广义矩估计 | y_data, x_data, instruments | GMM系数、过度识别检验 |
265
+ | `wls_regression` | 加权最小二乘 | y_data, x_data, weights | WLS系数、权重统计 |
266
+ | `bootstrap_analysis` | Bootstrap推断 | data, statistic_func, n_bootstrap | 置信区间、统计量分布 |
267
+
268
+ > **注意**: 所有工具均支持CSV/JSON/TXT格式输入,可通过`file_path`、`file_content`或直接数据参数调用。
269
+
270
+ ## 📁 文件输入支持
271
+
272
+ ### 支持的文件格式
273
+
274
+ #### 1. CSV文件(推荐)
275
+
276
+ - **格式**: 逗号、制表符、分号分隔
277
+ - **表头**: 自动识别(第一行非数值为表头)
278
+ - **特点**: 最通用,易于编辑和查看
279
+
280
+ ```csv
281
+ GDP,CPI,失业率
282
+ 3.2,2.1,4.5
283
+ 2.8,2.3,4.2
284
+ 3.5,1.9,4.0
285
+ ```
286
+
287
+ #### 2. JSON文件
288
+
289
+ - **字典格式**: `{"变量名": [数据], ...}`
290
+ - **数组格式**: `[{"变量1": 值, ...}, ...]`
291
+ - **嵌套格式**: `{"data": {...}, "metadata": {...}}`
292
+
293
+ ```json
294
+ {
295
+ "GDP": [3.2, 2.8, 3.5],
296
+ "CPI": [2.1, 2.3, 1.9],
297
+ "失业率": [4.5, 4.2, 4.0]
298
+ }
299
+ ```
300
+
301
+ #### 3. TXT文件(新增✨)
302
+
303
+ - **单列数值**: 每行一个数值
304
+
305
+ ```txt
306
+ 100.5
307
+ 102.3
308
+ 101.8
309
+ 103.5
310
+ ```
311
+
312
+ - **多列数值**: 空格或制表符分隔
313
+
314
+ ```txt
315
+ GDP CPI 失业率
316
+ 3.2 2.1 4.5
317
+ 2.8 2.3 4.2
318
+ 3.5 1.9 4.0
319
+ ```
320
+
321
+ - **键值对格式**: 变量名: 值列表
322
+
323
+ ```txt
324
+ GDP: 3.2 2.8 3.5 2.9
325
+ CPI: 2.1 2.3 1.9 2.4
326
+ 失业率: 4.5 4.2 4.0 4.3
327
+ ```
328
+
329
+ ### 使用方式
330
+
331
+ #### 方式1:直接数据输入(程序化调用)
332
+
333
+ ```json
334
+ {
335
+ "data": {
336
+ "GDP增长率": [3.2, 2.8, 3.5, 2.9],
337
+ "通货膨胀率": [2.1, 2.3, 1.9, 2.4]
338
+ }
339
+ }
340
+ ```
341
+
342
+ #### 方式2:文件内容输入(字符串)
343
+
344
+ ```json
345
+ {
346
+ "file_content": "GDP,CPI\n3.2,2.1\n2.8,2.3\n3.5,1.9",
347
+ "file_format": "csv"
348
+ }
349
+ ```
350
+
351
+ #### 方式3:文件路径输入(推荐✨)
352
+
353
+ ```json
354
+ {
355
+ "file_path": "./data/economic_data.csv"
356
+ }
357
+ ```
358
+
359
+ 或使用TXT文件:
360
+
361
+ ```json
362
+ {
363
+ "file_path": "./data/timeseries.txt",
364
+ "file_format": "txt"
365
+ }
366
+ ```
367
+
368
+ ### 自动格式检测
369
+
370
+ 系统会智能检测文件格式:
371
+
372
+ 1. 文件扩展名(.csv/.json/.txt)
373
+ 2. 文件内容特征(逗号、JSON结构、纯数值)
374
+ 3. 建议使用 `"file_format": "auto"` 让系统自动识别
375
+
376
+ ## ⚙️ 安装配置
377
+
378
+ ### 跨平台兼容性
379
+
380
+ ✅ **完全跨平台支持** - 支持 Windows、macOS、Linux 系统
381
+ ✅ **纯Python实现** - 无平台特定依赖
382
+ ✅ **ARM架构支持** - 兼容 Apple Silicon (M1/M2/M3)
383
+
384
+ ### 方式1:uvx安装(推荐)
385
+
386
+ ```bash
387
+ # 直接运行最新版本
388
+ uvx aigroup-econ-mcp
389
+
390
+ # 指定版本
391
+ uvx aigroup-econ-mcp@1.3.3
392
+ ```
393
+
394
+ ### 方式2:pip安装
395
+
396
+ ```bash
397
+ # 安装包
398
+ pip install aigroup-econ-mcp
399
+
400
+ # 运行服务
401
+ aigroup-econ-mcp
402
+ ```
403
+
404
+ ### macOS 特定说明
405
+
406
+ ```bash
407
+ # 如果遇到权限问题,使用用户安装
408
+ pip install --user aigroup-econ-mcp
409
+
410
+ # 或者使用虚拟环境
411
+ python -m venv econ_env
412
+ source econ_env/bin/activate
413
+ pip install aigroup-econ-mcp
414
+ ```
415
+
416
+ ### 依赖说明
417
+
418
+ - **核心依赖**: pandas >= 1.5.0, numpy >= 1.21.0, scipy >= 1.7.0
419
+ - **统计分析**: statsmodels >= 0.13.0
420
+ - **面板数据**: linearmodels >= 7.0
421
+ - **机器学习**: scikit-learn >= 1.0.0
422
+ - **时间序列**: arch >= 6.0.0
423
+ - **轻量级**: 无需torch或其他重型框架
424
+
425
+ ## 📚 使用示例
426
+
427
+ ### 示例1:描述性统计(CSV文件)
428
+
429
+ ```python
430
+ # 方式A:使用文件路径
431
+ result = await descriptive_statistics(
432
+ file_path="./data/economic_indicators.csv"
433
+ )
434
+
435
+ # 方式B:使用文件内容
436
+ result = await descriptive_statistics(
437
+ file_content="""GDP,CPI,失业率
438
+ 3.2,2.1,4.5
439
+ 2.8,2.3,4.2
440
+ 3.5,1.9,4.0""",
441
+ file_format="csv"
442
+ )
443
+ ```
444
+
445
+ ### 示例2:回归分析(TXT文件)
446
+
447
+ ```python
448
+ # TXT文件格式(空格分隔)
449
+ result = await ols_regression(
450
+ file_content="""广告支出 价格 销售额
451
+ 100 50 1200
452
+ 120 48 1350
453
+ 110 52 1180""",
454
+ file_format="txt"
455
+ )
456
+
457
+ # 系统会自动识别:
458
+ # - 因变量:销售额(最后一列)
459
+ # - 自变量:广告支出、价格(其他列)
460
+ ```
461
+
462
+ ### 示例3:时间序列分析
463
+
464
+ ```python
465
+ # TXT单列格式
466
+ result = await time_series_analysis(
467
+ file_content="""100.5
468
+ 102.3
469
+ 101.8
470
+ 103.5
471
+ 104.2""",
472
+ file_format="txt"
473
+ )
474
+
475
+ # 输出包括:
476
+ # - 平稳性检验结果
477
+ # - ACF/PACF分析
478
+ # - 模型建议(ARIMA/AR/MA)
479
+ ```
480
+
481
+ ### 示例4:面板数据(CSV文件)
482
+
483
+ ```python
484
+ # CSV面板数据格式
485
+ result = await panel_fixed_effects(
486
+ file_path="./panel_data.csv"
487
+ )
488
+
489
+ # CSV格式要求:
490
+ # company_id, year, revenue, employees, investment
491
+ # 1, 2020, 1000, 50, 100
492
+ # 1, 2021, 1100, 52, 110
493
+ # ...
494
+
495
+ # 系统会自动识别:
496
+ # - entity_ids: company_id列
497
+ # - time_periods: year列
498
+ # - 数据变量:其他列
499
+ ```
500
+
501
+ ### 示例5:机器学习(带完整参数)
502
+
503
+ ```python
504
+ # 随机森林回归
505
+ result = await random_forest_regression_analysis(
506
+ y_data=[12, 13, 15, 18, 20],
507
+ x_data=[
508
+ [100, 50, 3],
509
+ [120, 48, 3],
510
+ [110, 52, 4],
511
+ [130, 45, 3],
512
+ [125, 47, 4]
513
+ ],
514
+ feature_names=["广告支出", "价格", "竞争对手数"],
515
+ n_estimators=100,
516
+ max_depth=5
517
+ )
518
+
519
+ # 输出包括:
520
+ # - R² 得分
521
+ # - 特征重要性排名
522
+ # - 预测精度指标
523
+ ```
524
+
525
+ ## 🔍 故障排除
526
+
527
+ ### 常见问题
528
+
529
+ #### Q: uvx安装卡住
530
+
531
+ ```bash
532
+
533
+ # 清除缓存重试
534
+ uvx --no-cache aigroup-econ-mcp
535
+ ```
536
+
537
+ #### Q: 工具返回错误
538
+
539
+ - ✅ 检查数据格式(CSV/JSON/TXT)
540
+ - ✅ 确保没有缺失值(NaN)
541
+ - ✅ 验证数据类型(所有数值必须是浮点数)
542
+ - ✅ 查看详细错误信息
543
+
544
+ #### Q: MCP服务连接失败
545
+
546
+ - ✅ 检查网络连接
547
+ - ✅ 确保Python版本 >= 3.8
548
+ - ✅ 查看VSCode输出面板的详细日志
549
+ - ✅ 尝试重启RooCode
550
+
551
+ ### 数据要求
552
+
553
+ | 分析类型 | 最小样本量 | 推荐样本量 | 特殊要求 |
554
+ | ---------- | ---------- | ----------- | ----------------- |
555
+ | 描述性统计 | 5 | 20+ | 无缺失值 |
556
+ | OLS回归 | 变量数+2 | 30+ | 无多重共线性 |
557
+ | 时间序列 | 10 | 40+ | 时间顺序,等间隔 |
558
+ | 面板数据 | 实体数×3 | 实体数×10+ | 平衡或非平衡面板 |
559
+ | 机器学习 | 20 | 100+ | 训练集/测试集分割 |
560
+
561
+ ## 🏗️ 项目架构
562
+
563
+ ### 模块结构
564
+
565
+ ```
566
+ src/aigroup_econ_mcp/
567
+ ├── server.py # MCP服务器核心
568
+ ├── cli.py # 命令行入口
569
+ ├── config.py # 配置管理
570
+ └── tools/ # 工具模块
571
+ ├── base.py # 基础工具类
572
+ ├── statistics.py # 统计分析工具
573
+ ├── regression.py # 回归分析工具
574
+ ├── time_series.py # 时间序列工具
575
+ ├── panel_data.py # 面板数据工具
576
+ ├── machine_learning.py # 机器学习工具
577
+ ├── file_parser.py # 文件解析器(CSV/JSON/TXT)
578
+ ├── data_loader.py # 数据加载器
579
+ ├── tool_registry.py # 工具注册中心
580
+ ├── tool_handlers.py # 业务处理器
581
+ ├── tool_descriptions.py # 工具描述和文档
582
+ ├── discrete_choice.py # 离散选择模型(新增)
583
+ ├── advanced_econometrics.py # 高级计量方法(新增)
584
+ ├── data_management.py # 数据管理工具(新增)
585
+ ├── visualization.py # 可视化工具(新增)
586
+ └── advanced_regression.py # 高级回归方法(新增)
587
+ ```
588
+
589
+ ### 设计特点
590
+
591
+ - **🎯 组件化架构** - 模块化设计,职责单一,易于维护和扩展
592
+ - **🔄 统一接口** - 所有工具支持CSV/JSON/TXT三种格式输入
593
+ - **⚡ 异步处理** - 基于asyncio的异步设计,支持并发请求
594
+ - **🛡️ 错误处理** - 统一的错误处理和详细的错误信息
595
+ - **📝 完整文档** - 每个工具都有详细的参数说明和使用示例
596
+ - **🧪 全面测试** - 单元测试和集成测试覆盖
597
+
598
+ ### 新增特性(v1.4.0)
599
+
600
+ - 🎯 **100% Stata功能覆盖** - 完整实现50项Stata核心功能
601
+ - ✨ **离散选择模型** - Logit、Probit、多项Logit、有序选择、Tobit、泊松回归
602
+ - 🔬 **高级计量方法** - PSM、DID、RDD、分位数回归、生存分析
603
+ - 📊 **数据管理工具** - 清洗、合并、追加、宽转长、长转宽、变量操作
604
+ - 📈 **可视化分析** - 7种专业图表,支持回归诊断
605
+ - ⚙️ **高级回归方法** - IV/2SLS、GMM、WLS、Bootstrap、稳健标准误
606
+ - ✨ **TXT格式支持** - 支持单列、多列、键值对三种TXT格式
607
+ - 📝 **完善参数描述** - 所有50个工具的MCP参数都有详细说明
608
+ - 🔍 **智能格式检测** - 自动识别CSV/JSON/TXT格式
609
+ - 📂 **文件路径支持** - 支持直接传入文件路径(.txt/.csv/.json)
610
+
611
+ ## 🤝 贡献指南
612
+
613
+ ### 开发环境设置
614
+
615
+ ```bash
616
+ # 克隆项目
617
+ git clone https://github.com/jackdark425/aigroup-econ-mcp
618
+ cd aigroup-econ-mcp
619
+
620
+ # 安装开发依赖
621
+ uv add --dev pytest pytest-asyncio black isort mypy ruff
622
+
623
+ # 运行测试
624
+ uv run pytest
625
+
626
+ # 代码格式化
627
+ uv run black src/
628
+ uv run isort src/
629
+ ```
630
+
631
+ ### 提交贡献
632
+
633
+ 1. Fork项目
634
+ 2. 创建功能分支 (`git checkout -b feature/AmazingFeature`)
635
+ 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
636
+ 4. 推送到分支 (`git push origin feature/AmazingFeature`)
637
+ 5. 开启Pull Request
638
+
639
+ ### 代码规范
640
+
641
+ - 遵循PEP 8编码规范
642
+ - 使用类型注解(Type Hints)
643
+ - 添加单元测试(覆盖率>80%)
644
+ - 更新相关文档和示例
645
+
646
+ ## 📄 许可证
647
+
648
+ MIT License - 查看 [LICENSE](LICENSE) 文件了解详情
649
+
650
+ ## 🙏 致谢
651
+
652
+ - **Model Context Protocol (MCP)** - 模型上下文协议框架
653
+ - **Roo-Code** - 强大的AI编程助手
654
+ - **statsmodels** - 专业的统计分析库
655
+ - **pandas** - 高效的数据处理库
656
+ - **scikit-learn** - 全面的机器学习库
657
+ - **linearmodels** - 面板数据分析专用库
658
+ - **计量经济学社区** - 提供Stata功能参考和实现指导
659
+ - **开源社区** - 所有依赖库的开发者们
660
+
661
+ ## 📞 支持
662
+
663
+ - 💬 **GitHub Issues**: [提交问题](https://github.com/jackdark425/aigroup-econ-mcp/issues)
664
+ - 📧 **邮箱**: jackdark425@gmail.com
665
+ - 📚 **文档**: 查看[详细文档](https://github.com/jackdark425/aigroup-econ-mcp/tree/main/docs)
666
+ - 🌟 **Star项目**: 如果觉得有用,请给个⭐️
667
+
668
+ ## 📈
669
+
670
+ ---
671
+
672
+ **立即开始**: `uvx aigroup-econ-mcp` 🚀
673
+
674
+ 让AI大模型成为你的专业计量经济学分析助手!50项Stata功能,一站式解决方案!