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
@@ -1,229 +0,0 @@
1
- """
2
- 优化示例模块
3
- 演示如何使用新的优化组件
4
- """
5
-
6
- import numpy as np
7
- from typing import List, Dict, Any, Optional
8
- from pydantic import BaseModel
9
-
10
- from .base import econometric_tool, validate_input, EconometricTool
11
- from .validation import validate_econometric_data
12
- from .cache import cache_result
13
- from .monitoring import monitor_performance, track_progress
14
- from ..config import get_config
15
-
16
-
17
- class OptimizedResult(BaseModel):
18
- """优化结果"""
19
- mean: float
20
- std: float
21
- confidence_interval: Dict[str, float]
22
- sample_size: int
23
- performance_stats: Optional[Dict[str, Any]] = None
24
-
25
-
26
- class OptimizedExampleTool(EconometricTool):
27
- """
28
- 优化示例工具
29
- 演示如何使用所有优化组件
30
- """
31
-
32
- def __init__(self):
33
- super().__init__("optimized_example")
34
-
35
- @validate_input(data_type="econometric")
36
- @econometric_tool("optimized_analysis")
37
- def analyze_data(self, data: Dict[str, List[float]]) -> OptimizedResult:
38
- """
39
- 分析数据(使用所有优化组件)
40
-
41
- Args:
42
- data: 输入数据字典
43
-
44
- Returns:
45
- OptimizedResult: 分析结果
46
- """
47
- # 使用进度跟踪
48
- with self.execute_with_progress(3, "数据分析") as tracker:
49
- tracker.start_step("数据预处理")
50
- # 数据预处理
51
- processed_data = self._preprocess_data(data)
52
- tracker.complete_step()
53
-
54
- tracker.start_step("统计分析")
55
- # 统计分析
56
- result = self._perform_analysis(processed_data)
57
- tracker.complete_step()
58
-
59
- tracker.start_step("结果整理")
60
- # 添加性能统计
61
- performance_stats = self.get_performance_stats()
62
- result.performance_stats = performance_stats
63
- tracker.complete_step()
64
-
65
- return result
66
-
67
- def _preprocess_data(self, data: Dict[str, List[float]]) -> Dict[str, np.ndarray]:
68
- """数据预处理"""
69
- processed = {}
70
- for key, values in data.items():
71
- # 转换为numpy数组并处理缺失值
72
- arr = np.array(values)
73
- arr = np.nan_to_num(arr, nan=np.nanmean(arr))
74
- processed[key] = arr
75
- return processed
76
-
77
- def _perform_analysis(self, data: Dict[str, np.ndarray]) -> OptimizedResult:
78
- """执行分析"""
79
- results = {}
80
-
81
- for key, values in data.items():
82
- mean = np.mean(values)
83
- std = np.std(values)
84
- n = len(values)
85
-
86
- # 计算置信区间
87
- confidence_level = 0.95
88
- z_score = 1.96 # 95%置信水平的z值
89
- margin_of_error = z_score * (std / np.sqrt(n))
90
-
91
- results[key] = {
92
- "mean": mean,
93
- "std": std,
94
- "confidence_interval": {
95
- "lower": mean - margin_of_error,
96
- "upper": mean + margin_of_error
97
- },
98
- "sample_size": n
99
- }
100
-
101
- # 返回第一个变量的结果作为示例
102
- first_key = list(results.keys())[0]
103
- result_data = results[first_key]
104
-
105
- return OptimizedResult(
106
- mean=result_data["mean"],
107
- std=result_data["std"],
108
- confidence_interval=result_data["confidence_interval"],
109
- sample_size=result_data["sample_size"]
110
- )
111
- def get_performance_stats(self) -> Dict[str, Any]:
112
- """获取性能统计信息"""
113
- from .monitoring import global_performance_monitor
114
-
115
- stats = global_performance_monitor.get_function_stats("optimized_analysis")
116
- if stats:
117
- return {
118
- "execution_time": stats.execution_time,
119
- "call_count": stats.call_count,
120
- "average_time": stats.average_time,
121
- "last_execution": stats.last_execution.isoformat() if stats.last_execution else None
122
- }
123
- return {}
124
-
125
-
126
- # 使用便捷装饰器的独立函数示例
127
- @validate_input(data_type="econometric")
128
- @econometric_tool("quick_analysis")
129
- def quick_data_analysis(data: Dict[str, List[float]]) -> Dict[str, Any]:
130
- """
131
- 快速数据分析(使用装饰器)
132
-
133
- Args:
134
- data: 输入数据
135
-
136
- Returns:
137
- Dict[str, Any]: 分析结果
138
- """
139
- # 验证数据
140
- validated_data = validate_econometric_data(data)
141
-
142
- results = {}
143
- for key, values in validated_data.items():
144
- arr = np.array(values)
145
- results[key] = {
146
- "mean": float(np.mean(arr)),
147
- "std": float(np.std(arr)),
148
- "min": float(np.min(arr)),
149
- "max": float(np.max(arr)),
150
- "count": len(arr)
151
- }
152
-
153
- return results
154
-
155
-
156
- @cache_result(ttl=3600) # 1小时缓存
157
- @monitor_performance("cached_calculation")
158
- def expensive_calculation(data: List[float], iterations: int = 1000) -> Dict[str, float]:
159
- """
160
- 昂贵的计算(使用缓存和性能监控)
161
-
162
- Args:
163
- data: 输入数据
164
- iterations: 迭代次数
165
-
166
- Returns:
167
- Dict[str, float]: 计算结果
168
- """
169
- arr = np.array(data)
170
- result = 0.0
171
-
172
- # 模拟昂贵计算
173
- for i in range(iterations):
174
- result += np.sum(arr * i) / (i + 1)
175
-
176
- return {
177
- "result": float(result),
178
- "iterations": iterations,
179
- "data_length": len(data)
180
- }
181
-
182
-
183
- # 使用配置的示例
184
- def config_based_analysis(data: Dict[str, List[float]]) -> Dict[str, Any]:
185
- """
186
- 基于配置的分析
187
-
188
- Args:
189
- data: 输入数据
190
-
191
- Returns:
192
- Dict[str, Any]: 分析结果
193
- """
194
- # 获取配置
195
- cache_enabled = get_config("cache_enabled", True)
196
- monitoring_enabled = get_config("monitoring_enabled", True)
197
- min_sample_size = get_config("min_sample_size", 10)
198
-
199
- results = {}
200
-
201
- for key, values in data.items():
202
- # 检查样本大小
203
- if len(values) < min_sample_size:
204
- raise ValueError(f"样本量不足: {key} (需要至少{min_sample_size}个观测点)")
205
-
206
- # 执行分析
207
- arr = np.array(values)
208
- results[key] = {
209
- "mean": float(np.mean(arr)),
210
- "std": float(np.std(arr)),
211
- "sample_size": len(arr),
212
- "config_used": {
213
- "cache_enabled": cache_enabled,
214
- "monitoring_enabled": monitoring_enabled,
215
- "min_sample_size": min_sample_size
216
- }
217
- }
218
-
219
- return results
220
-
221
-
222
- # 导出主要类和函数
223
- __all__ = [
224
- "OptimizedResult",
225
- "OptimizedExampleTool",
226
- "quick_data_analysis",
227
- "expensive_calculation",
228
- "config_based_analysis"
229
- ]