aigroup-econ-mcp 1.3.3__py3-none-any.whl → 2.0.1__py3-none-any.whl

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.
Files changed (198) hide show
  1. .gitignore +253 -0
  2. PKG-INFO +732 -0
  3. README.md +687 -0
  4. __init__.py +14 -0
  5. aigroup_econ_mcp-2.0.1.dist-info/METADATA +732 -0
  6. aigroup_econ_mcp-2.0.1.dist-info/RECORD +170 -0
  7. aigroup_econ_mcp-2.0.1.dist-info/entry_points.txt +2 -0
  8. aigroup_econ_mcp-2.0.1.dist-info/licenses/LICENSE +21 -0
  9. cli.py +32 -0
  10. econometrics/README.md +18 -0
  11. econometrics/__init__.py +191 -0
  12. econometrics/advanced_methods/modern_computing_machine_learning/__init__.py +30 -0
  13. econometrics/advanced_methods/modern_computing_machine_learning/causal_forest.py +253 -0
  14. econometrics/advanced_methods/modern_computing_machine_learning/double_ml.py +268 -0
  15. econometrics/advanced_methods/modern_computing_machine_learning/gradient_boosting.py +249 -0
  16. econometrics/advanced_methods/modern_computing_machine_learning/hierarchical_clustering.py +243 -0
  17. econometrics/advanced_methods/modern_computing_machine_learning/kmeans_clustering.py +293 -0
  18. econometrics/advanced_methods/modern_computing_machine_learning/neural_network.py +264 -0
  19. econometrics/advanced_methods/modern_computing_machine_learning/random_forest.py +195 -0
  20. econometrics/advanced_methods/modern_computing_machine_learning/support_vector_machine.py +226 -0
  21. econometrics/advanced_methods/modern_computing_machine_learning/test_all_modules.py +329 -0
  22. econometrics/advanced_methods/modern_computing_machine_learning/test_report.md +107 -0
  23. econometrics/basic_parametric_estimation/__init__.py +31 -0
  24. econometrics/basic_parametric_estimation/gmm/__init__.py +13 -0
  25. econometrics/basic_parametric_estimation/gmm/gmm_model.py +256 -0
  26. econometrics/basic_parametric_estimation/mle/__init__.py +13 -0
  27. econometrics/basic_parametric_estimation/mle/mle_model.py +241 -0
  28. econometrics/basic_parametric_estimation/ols/__init__.py +13 -0
  29. econometrics/basic_parametric_estimation/ols/ols_model.py +141 -0
  30. econometrics/causal_inference/__init__.py +66 -0
  31. econometrics/causal_inference/causal_identification_strategy/__init__.py +104 -0
  32. econometrics/causal_inference/causal_identification_strategy/control_function.py +112 -0
  33. econometrics/causal_inference/causal_identification_strategy/difference_in_differences.py +107 -0
  34. econometrics/causal_inference/causal_identification_strategy/event_study.py +119 -0
  35. econometrics/causal_inference/causal_identification_strategy/first_difference.py +89 -0
  36. econometrics/causal_inference/causal_identification_strategy/fixed_effects.py +103 -0
  37. econometrics/causal_inference/causal_identification_strategy/hausman_test.py +69 -0
  38. econometrics/causal_inference/causal_identification_strategy/instrumental_variables.py +145 -0
  39. econometrics/causal_inference/causal_identification_strategy/mediation_analysis.py +121 -0
  40. econometrics/causal_inference/causal_identification_strategy/moderation_analysis.py +109 -0
  41. econometrics/causal_inference/causal_identification_strategy/propensity_score_matching.py +140 -0
  42. econometrics/causal_inference/causal_identification_strategy/random_effects.py +100 -0
  43. econometrics/causal_inference/causal_identification_strategy/regression_discontinuity.py +98 -0
  44. econometrics/causal_inference/causal_identification_strategy/synthetic_control.py +111 -0
  45. econometrics/causal_inference/causal_identification_strategy/triple_difference.py +86 -0
  46. econometrics/distribution_analysis/__init__.py +28 -0
  47. econometrics/distribution_analysis/oaxaca_blinder.py +184 -0
  48. econometrics/distribution_analysis/time_series_decomposition.py +152 -0
  49. econometrics/distribution_analysis/variance_decomposition.py +179 -0
  50. econometrics/missing_data/__init__.py +18 -0
  51. econometrics/missing_data/imputation_methods.py +219 -0
  52. econometrics/missing_data/missing_data_measurement_error/__init__.py +0 -0
  53. econometrics/model_specification_diagnostics_robust_inference/README.md +173 -0
  54. econometrics/model_specification_diagnostics_robust_inference/__init__.py +78 -0
  55. econometrics/model_specification_diagnostics_robust_inference/diagnostic_tests/__init__.py +20 -0
  56. econometrics/model_specification_diagnostics_robust_inference/diagnostic_tests/diagnostic_tests_model.py +149 -0
  57. econometrics/model_specification_diagnostics_robust_inference/generalized_least_squares/__init__.py +15 -0
  58. econometrics/model_specification_diagnostics_robust_inference/generalized_least_squares/gls_model.py +130 -0
  59. econometrics/model_specification_diagnostics_robust_inference/model_selection/__init__.py +18 -0
  60. econometrics/model_specification_diagnostics_robust_inference/model_selection/model_selection_model.py +286 -0
  61. econometrics/model_specification_diagnostics_robust_inference/regularization/__init__.py +15 -0
  62. econometrics/model_specification_diagnostics_robust_inference/regularization/regularization_model.py +177 -0
  63. econometrics/model_specification_diagnostics_robust_inference/robust_errors/__init__.py +15 -0
  64. econometrics/model_specification_diagnostics_robust_inference/robust_errors/robust_errors_model.py +122 -0
  65. econometrics/model_specification_diagnostics_robust_inference/simultaneous_equations/__init__.py +15 -0
  66. econometrics/model_specification_diagnostics_robust_inference/simultaneous_equations/simultaneous_equations_model.py +246 -0
  67. econometrics/model_specification_diagnostics_robust_inference/weighted_least_squares/__init__.py +15 -0
  68. econometrics/model_specification_diagnostics_robust_inference/weighted_least_squares/wls_model.py +127 -0
  69. econometrics/nonparametric/__init__.py +35 -0
  70. econometrics/nonparametric/gam_model.py +117 -0
  71. econometrics/nonparametric/kernel_regression.py +161 -0
  72. econometrics/nonparametric/nonparametric_semiparametric_methods/__init__.py +0 -0
  73. econometrics/nonparametric/quantile_regression.py +249 -0
  74. econometrics/nonparametric/spline_regression.py +100 -0
  75. econometrics/spatial_econometrics/__init__.py +68 -0
  76. econometrics/spatial_econometrics/geographically_weighted_regression.py +211 -0
  77. econometrics/spatial_econometrics/gwr_simple.py +154 -0
  78. econometrics/spatial_econometrics/spatial_autocorrelation.py +356 -0
  79. econometrics/spatial_econometrics/spatial_durbin_model.py +177 -0
  80. econometrics/spatial_econometrics/spatial_econometrics_new/__init__.py +0 -0
  81. econometrics/spatial_econometrics/spatial_regression.py +315 -0
  82. econometrics/spatial_econometrics/spatial_weights.py +226 -0
  83. econometrics/specific_data_modeling/micro_discrete_limited_data/README.md +164 -0
  84. econometrics/specific_data_modeling/micro_discrete_limited_data/__init__.py +40 -0
  85. econometrics/specific_data_modeling/micro_discrete_limited_data/count_data_models.py +311 -0
  86. econometrics/specific_data_modeling/micro_discrete_limited_data/discrete_choice_models.py +294 -0
  87. econometrics/specific_data_modeling/micro_discrete_limited_data/limited_dependent_variable_models.py +282 -0
  88. econometrics/specific_data_modeling/survival_duration_data/__init__.py +0 -0
  89. econometrics/specific_data_modeling/time_series_panel_data/__init__.py +143 -0
  90. econometrics/specific_data_modeling/time_series_panel_data/arima_model.py +104 -0
  91. econometrics/specific_data_modeling/time_series_panel_data/cointegration_vecm.py +334 -0
  92. econometrics/specific_data_modeling/time_series_panel_data/dynamic_panel_models.py +653 -0
  93. econometrics/specific_data_modeling/time_series_panel_data/exponential_smoothing.py +176 -0
  94. econometrics/specific_data_modeling/time_series_panel_data/garch_model.py +198 -0
  95. econometrics/specific_data_modeling/time_series_panel_data/panel_diagnostics.py +125 -0
  96. econometrics/specific_data_modeling/time_series_panel_data/panel_var.py +60 -0
  97. econometrics/specific_data_modeling/time_series_panel_data/structural_break_tests.py +87 -0
  98. econometrics/specific_data_modeling/time_series_panel_data/time_varying_parameter_models.py +106 -0
  99. econometrics/specific_data_modeling/time_series_panel_data/unit_root_tests.py +204 -0
  100. econometrics/specific_data_modeling/time_series_panel_data/var_svar_model.py +372 -0
  101. econometrics/statistical_inference/__init__.py +21 -0
  102. econometrics/statistical_inference/bootstrap_methods.py +162 -0
  103. econometrics/statistical_inference/permutation_test.py +177 -0
  104. econometrics/statistical_inference/statistical_inference_techniques/__init__.py +0 -0
  105. econometrics/statistics/distribution_decomposition_methods/__init__.py +0 -0
  106. econometrics/survival_analysis/__init__.py +18 -0
  107. econometrics/survival_analysis/survival_models.py +259 -0
  108. econometrics/tests/basic_parametric_estimation_tests/__init__.py +3 -0
  109. econometrics/tests/basic_parametric_estimation_tests/test_gmm.py +128 -0
  110. econometrics/tests/basic_parametric_estimation_tests/test_mle.py +127 -0
  111. econometrics/tests/basic_parametric_estimation_tests/test_ols.py +100 -0
  112. econometrics/tests/causal_inference_tests/__init__.py +3 -0
  113. econometrics/tests/causal_inference_tests/detailed_test.py +441 -0
  114. econometrics/tests/causal_inference_tests/test_all_methods.py +418 -0
  115. econometrics/tests/causal_inference_tests/test_causal_identification_strategy.py +202 -0
  116. econometrics/tests/causal_inference_tests/test_difference_in_differences.py +53 -0
  117. econometrics/tests/causal_inference_tests/test_instrumental_variables.py +44 -0
  118. econometrics/tests/model_specification_diagnostics_tests/__init__.py +3 -0
  119. econometrics/tests/model_specification_diagnostics_tests/test_diagnostic_tests.py +86 -0
  120. econometrics/tests/model_specification_diagnostics_tests/test_robust_errors.py +89 -0
  121. econometrics/tests/specific_data_modeling_tests/__init__.py +3 -0
  122. econometrics/tests/specific_data_modeling_tests/test_arima.py +98 -0
  123. econometrics/tests/specific_data_modeling_tests/test_dynamic_panel.py +198 -0
  124. econometrics/tests/specific_data_modeling_tests/test_exponential_smoothing.py +105 -0
  125. econometrics/tests/specific_data_modeling_tests/test_garch.py +118 -0
  126. econometrics/tests/specific_data_modeling_tests/test_micro_discrete_limited_data.py +189 -0
  127. econometrics/tests/specific_data_modeling_tests/test_unit_root.py +156 -0
  128. econometrics/tests/specific_data_modeling_tests/test_var.py +124 -0
  129. econometrics//321/206/320/254/320/272/321/205/342/225/235/320/220/321/205/320/237/320/241/321/205/320/264/320/267/321/207/342/226/222/342/225/227/321/204/342/225/235/320/250/321/205/320/225/320/230/321/207/342/225/221/320/267/321/205/320/230/320/226/321/206/320/256/320/240.md +544 -0
  130. prompts/__init__.py +0 -0
  131. prompts/analysis_guides.py +43 -0
  132. pyproject.toml +85 -0
  133. resources/MCP_MASTER_GUIDE.md +422 -0
  134. resources/MCP_TOOLS_DATA_FORMAT_GUIDE.md +185 -0
  135. resources/__init__.py +0 -0
  136. server.py +97 -0
  137. tools/README.md +88 -0
  138. tools/__init__.py +119 -0
  139. tools/causal_inference_adapter.py +658 -0
  140. tools/data_loader.py +213 -0
  141. tools/decorators.py +38 -0
  142. tools/distribution_analysis_adapter.py +121 -0
  143. tools/econometrics_adapter.py +286 -0
  144. tools/gwr_simple_adapter.py +54 -0
  145. tools/machine_learning_adapter.py +567 -0
  146. tools/mcp_tool_groups/__init__.py +15 -0
  147. tools/mcp_tool_groups/basic_parametric_tools.py +173 -0
  148. tools/mcp_tool_groups/causal_inference_tools.py +643 -0
  149. tools/mcp_tool_groups/distribution_analysis_tools.py +169 -0
  150. tools/mcp_tool_groups/machine_learning_tools.py +422 -0
  151. tools/mcp_tool_groups/microecon_tools.py +325 -0
  152. tools/mcp_tool_groups/missing_data_tools.py +117 -0
  153. tools/mcp_tool_groups/model_specification_tools.py +402 -0
  154. tools/mcp_tool_groups/nonparametric_tools.py +225 -0
  155. tools/mcp_tool_groups/spatial_econometrics_tools.py +323 -0
  156. tools/mcp_tool_groups/statistical_inference_tools.py +131 -0
  157. tools/mcp_tool_groups/time_series_tools.py +494 -0
  158. tools/mcp_tools_registry.py +124 -0
  159. tools/microecon_adapter.py +412 -0
  160. tools/missing_data_adapter.py +73 -0
  161. tools/model_specification_adapter.py +369 -0
  162. tools/nonparametric_adapter.py +190 -0
  163. tools/output_formatter.py +563 -0
  164. tools/spatial_econometrics_adapter.py +318 -0
  165. tools/statistical_inference_adapter.py +90 -0
  166. tools/survival_analysis_adapter.py +46 -0
  167. tools/time_series_panel_data_adapter.py +858 -0
  168. tools/time_series_panel_data_tools.py +65 -0
  169. aigroup_econ_mcp/__init__.py +0 -19
  170. aigroup_econ_mcp/cli.py +0 -82
  171. aigroup_econ_mcp/config.py +0 -561
  172. aigroup_econ_mcp/server.py +0 -452
  173. aigroup_econ_mcp/tools/__init__.py +0 -19
  174. aigroup_econ_mcp/tools/base.py +0 -470
  175. aigroup_econ_mcp/tools/cache.py +0 -533
  176. aigroup_econ_mcp/tools/data_loader.py +0 -195
  177. aigroup_econ_mcp/tools/file_parser.py +0 -1027
  178. aigroup_econ_mcp/tools/machine_learning.py +0 -60
  179. aigroup_econ_mcp/tools/ml_ensemble.py +0 -210
  180. aigroup_econ_mcp/tools/ml_evaluation.py +0 -272
  181. aigroup_econ_mcp/tools/ml_models.py +0 -54
  182. aigroup_econ_mcp/tools/ml_regularization.py +0 -186
  183. aigroup_econ_mcp/tools/monitoring.py +0 -555
  184. aigroup_econ_mcp/tools/optimized_example.py +0 -229
  185. aigroup_econ_mcp/tools/panel_data.py +0 -619
  186. aigroup_econ_mcp/tools/regression.py +0 -214
  187. aigroup_econ_mcp/tools/statistics.py +0 -154
  188. aigroup_econ_mcp/tools/time_series.py +0 -698
  189. aigroup_econ_mcp/tools/timeout.py +0 -283
  190. aigroup_econ_mcp/tools/tool_descriptions.py +0 -410
  191. aigroup_econ_mcp/tools/tool_handlers.py +0 -1016
  192. aigroup_econ_mcp/tools/tool_registry.py +0 -478
  193. aigroup_econ_mcp/tools/validation.py +0 -482
  194. aigroup_econ_mcp-1.3.3.dist-info/METADATA +0 -525
  195. aigroup_econ_mcp-1.3.3.dist-info/RECORD +0 -30
  196. aigroup_econ_mcp-1.3.3.dist-info/entry_points.txt +0 -2
  197. /aigroup_econ_mcp-1.3.3.dist-info/licenses/LICENSE → /LICENSE +0 -0
  198. {aigroup_econ_mcp-1.3.3.dist-info → aigroup_econ_mcp-2.0.1.dist-info}/WHEEL +0 -0
tools/README.md ADDED
@@ -0,0 +1,88 @@
1
+ # Tools Directory
2
+
3
+ ## 当前架构 (v2.0 - Adapter Pattern)
4
+
5
+ ### 活跃文件
6
+
7
+ 1. **econometrics_adapter.py** - 核心适配器
8
+ - 将 econometrics/ 核心算法适配为 MCP 工具
9
+ - 支持文件输入和多种输出格式
10
+ - 减少 84% 代码重复
11
+
12
+ 2. **data_loader.py** - 数据加载组件
13
+ - 支持 txt/json/csv/excel 格式
14
+ - DataLoader: OLS/GMM 数据
15
+ - MLEDataLoader: MLE 数据
16
+
17
+ 3. **output_formatter.py** - 输出格式化组件
18
+ - MarkdownFormatter: Markdown 格式
19
+ - TextFormatter: 纯文本格式
20
+ - 结果保存功能
21
+
22
+ ### 架构优势
23
+
24
+ ```
25
+ MCP Server (fastmcp_server.py)
26
+
27
+ Adapter Layer (econometrics_adapter.py) - 90 lines
28
+
29
+ Core Algorithms (econometrics/basic_parametric_estimation/)
30
+ ├── ols/ols_model.py - OLS 核心算法
31
+ ├── mle/mle_model.py - MLE 核心算法
32
+ └── gmm/gmm_model.py - GMM 核心算法 (已修复 j_p_value bug)
33
+ ```
34
+
35
+ **优点**:
36
+ - ✅ 代码复用:单一真相源
37
+ - ✅ DRY 原则:不重复自己
38
+ - ✅ 易于维护:Bug 只需修复一次
39
+ - ✅ 清晰分层:职责明确
40
+ - ✅ 易于扩展:新算法只需写适配器
41
+
42
+ ### 备份文件
43
+
44
+ `bak_old_implementation/` - 旧的独立实现(已废弃)
45
+ - ols_tool.py (155 lines)
46
+ - mle_tool.py (219 lines)
47
+ - gmm_tool.py (190 lines)
48
+
49
+ 这些文件已被 econometrics_adapter.py (164 lines) 替代
50
+ 节省代码:474 lines (84%)
51
+
52
+ ## 使用示例
53
+
54
+ ```python
55
+ from tools.econometrics_adapter import (
56
+ ols_adapter,
57
+ mle_adapter,
58
+ gmm_adapter
59
+ )
60
+
61
+ # 直接数据输入
62
+ result = ols_adapter(
63
+ y_data=[1,2,3,4,5],
64
+ x_data=[[1],[2],[3],[4],[5]],
65
+ output_format="json"
66
+ )
67
+
68
+ # 文件输入
69
+ result = mle_adapter(
70
+ file_path="data/sample.csv",
71
+ distribution="normal",
72
+ output_format="markdown",
73
+ save_path="results/mle.md"
74
+ )
75
+ ```
76
+
77
+ ## 迁移记录
78
+
79
+ - 2025-11-04: 切换到适配器模式
80
+ - 修复核心 GMM bug (j_p_value)
81
+ - 移动旧实现到 bak_old_implementation/
82
+ - 减少 84% 重复代码
83
+
84
+ ## 相关文档
85
+
86
+ - [架构分析](../ARCHITECTURE_ANALYSIS.md)
87
+ - [服务器代码](../fastmcp_server.py)
88
+ - [核心算法](../econometrics/basic_parametric_estimation/)
tools/__init__.py ADDED
@@ -0,0 +1,119 @@
1
+ """
2
+ 工具模块初始化文件
3
+ """
4
+
5
+ from .data_loader import DataLoader
6
+ from .output_formatter import OutputFormatter
7
+ from .econometrics_adapter import EconometricsAdapter
8
+
9
+ # 时间序列和面板数据工具
10
+ from .time_series_panel_data_adapter import TimeSeriesPanelDataAdapter
11
+ from .time_series_panel_data_tools import (
12
+ arima_model,
13
+ exponential_smoothing_model,
14
+ garch_model,
15
+ unit_root_tests,
16
+ var_svar_model,
17
+ cointegration_analysis,
18
+ dynamic_panel_model
19
+ )
20
+
21
+ # 因果推断工具适配器
22
+ from .causal_inference_adapter import (
23
+ did_adapter,
24
+ iv_adapter,
25
+ psm_adapter,
26
+ fixed_effects_adapter,
27
+ random_effects_adapter,
28
+ rdd_adapter,
29
+ synthetic_control_adapter,
30
+ event_study_adapter,
31
+ triple_difference_adapter,
32
+ mediation_adapter,
33
+ moderation_adapter,
34
+ control_function_adapter,
35
+ first_difference_adapter
36
+ )
37
+
38
+ # 机器学习工具适配器
39
+ from .machine_learning_adapter import (
40
+ random_forest_adapter,
41
+ gradient_boosting_adapter,
42
+ svm_adapter,
43
+ neural_network_adapter,
44
+ kmeans_clustering_adapter,
45
+ hierarchical_clustering_adapter,
46
+ double_ml_adapter,
47
+ causal_forest_adapter
48
+ )
49
+
50
+ # 微观计量模型工具适配器
51
+ from .microecon_adapter import (
52
+ logit_adapter,
53
+ probit_adapter,
54
+ multinomial_logit_adapter,
55
+ poisson_adapter,
56
+ negative_binomial_adapter,
57
+ tobit_adapter,
58
+ heckman_adapter
59
+ )
60
+
61
+ # 保持向后兼容性
62
+ ols_adapter = EconometricsAdapter.ols_regression
63
+ mle_adapter = EconometricsAdapter.mle_estimation
64
+ gmm_adapter = EconometricsAdapter.gmm_estimation
65
+
66
+ __all__ = [
67
+ "DataLoader",
68
+ "OutputFormatter",
69
+ "EconometricsAdapter",
70
+ "TimeSeriesPanelDataAdapter",
71
+
72
+ # 基础工具
73
+ "ols_adapter",
74
+ "mle_adapter",
75
+ "gmm_adapter",
76
+
77
+ # 时间序列和面板数据工具
78
+ "arima_model",
79
+ "exponential_smoothing_model",
80
+ "garch_model",
81
+ "unit_root_tests",
82
+ "var_svar_model",
83
+ "cointegration_analysis",
84
+ "dynamic_panel_model",
85
+
86
+ # 因果推断工具
87
+ "did_adapter",
88
+ "iv_adapter",
89
+ "psm_adapter",
90
+ "fixed_effects_adapter",
91
+ "random_effects_adapter",
92
+ "rdd_adapter",
93
+ "synthetic_control_adapter",
94
+ "event_study_adapter",
95
+ "triple_difference_adapter",
96
+ "mediation_adapter",
97
+ "moderation_adapter",
98
+ "control_function_adapter",
99
+ "first_difference_adapter",
100
+
101
+ # 机器学习工具
102
+ "random_forest_adapter",
103
+ "gradient_boosting_adapter",
104
+ "svm_adapter",
105
+ "neural_network_adapter",
106
+ "kmeans_clustering_adapter",
107
+ "hierarchical_clustering_adapter",
108
+ "double_ml_adapter",
109
+ "causal_forest_adapter",
110
+
111
+ # 微观计量模型工具
112
+ "logit_adapter",
113
+ "probit_adapter",
114
+ "multinomial_logit_adapter",
115
+ "poisson_adapter",
116
+ "negative_binomial_adapter",
117
+ "tobit_adapter",
118
+ "heckman_adapter"
119
+ ]