aigroup-econ-mcp 0.4.2__py3-none-any.whl → 1.4.3__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 (119) hide show
  1. .gitignore +253 -0
  2. PKG-INFO +710 -0
  3. README.md +672 -0
  4. __init__.py +14 -0
  5. aigroup_econ_mcp-1.4.3.dist-info/METADATA +710 -0
  6. aigroup_econ_mcp-1.4.3.dist-info/RECORD +92 -0
  7. aigroup_econ_mcp-1.4.3.dist-info/entry_points.txt +2 -0
  8. aigroup_econ_mcp-1.4.3.dist-info/licenses/LICENSE +21 -0
  9. cli.py +28 -0
  10. econometrics/README.md +18 -0
  11. econometrics/__init__.py +191 -0
  12. econometrics/advanced_methods/modern_computing_machine_learning/__init__.py +0 -0
  13. econometrics/basic_parametric_estimation/__init__.py +31 -0
  14. econometrics/basic_parametric_estimation/gmm/__init__.py +13 -0
  15. econometrics/basic_parametric_estimation/gmm/gmm_model.py +256 -0
  16. econometrics/basic_parametric_estimation/mle/__init__.py +13 -0
  17. econometrics/basic_parametric_estimation/mle/mle_model.py +241 -0
  18. econometrics/basic_parametric_estimation/ols/__init__.py +13 -0
  19. econometrics/basic_parametric_estimation/ols/ols_model.py +141 -0
  20. econometrics/causal_inference/causal_identification_strategy/__init__.py +0 -0
  21. econometrics/missing_data/missing_data_measurement_error/__init__.py +0 -0
  22. econometrics/model_specification_diagnostics_robust_inference/README.md +173 -0
  23. econometrics/model_specification_diagnostics_robust_inference/__init__.py +78 -0
  24. econometrics/model_specification_diagnostics_robust_inference/diagnostic_tests/__init__.py +20 -0
  25. econometrics/model_specification_diagnostics_robust_inference/diagnostic_tests/diagnostic_tests_model.py +149 -0
  26. econometrics/model_specification_diagnostics_robust_inference/generalized_least_squares/__init__.py +15 -0
  27. econometrics/model_specification_diagnostics_robust_inference/generalized_least_squares/gls_model.py +130 -0
  28. econometrics/model_specification_diagnostics_robust_inference/model_selection/__init__.py +18 -0
  29. econometrics/model_specification_diagnostics_robust_inference/model_selection/model_selection_model.py +286 -0
  30. econometrics/model_specification_diagnostics_robust_inference/regularization/__init__.py +15 -0
  31. econometrics/model_specification_diagnostics_robust_inference/regularization/regularization_model.py +177 -0
  32. econometrics/model_specification_diagnostics_robust_inference/robust_errors/__init__.py +15 -0
  33. econometrics/model_specification_diagnostics_robust_inference/robust_errors/robust_errors_model.py +122 -0
  34. econometrics/model_specification_diagnostics_robust_inference/simultaneous_equations/__init__.py +15 -0
  35. econometrics/model_specification_diagnostics_robust_inference/simultaneous_equations/simultaneous_equations_model.py +246 -0
  36. econometrics/model_specification_diagnostics_robust_inference/weighted_least_squares/__init__.py +15 -0
  37. econometrics/model_specification_diagnostics_robust_inference/weighted_least_squares/wls_model.py +127 -0
  38. econometrics/nonparametric/nonparametric_semiparametric_methods/__init__.py +0 -0
  39. econometrics/spatial_econometrics/spatial_econometrics_new/__init__.py +0 -0
  40. econometrics/specific_data_modeling/micro_discrete_limited_data/__init__.py +0 -0
  41. econometrics/specific_data_modeling/survival_duration_data/__init__.py +0 -0
  42. econometrics/specific_data_modeling/time_series_panel_data/__init__.py +143 -0
  43. econometrics/specific_data_modeling/time_series_panel_data/arima_model.py +104 -0
  44. econometrics/specific_data_modeling/time_series_panel_data/cointegration_vecm.py +334 -0
  45. econometrics/specific_data_modeling/time_series_panel_data/dynamic_panel_models.py +653 -0
  46. econometrics/specific_data_modeling/time_series_panel_data/exponential_smoothing.py +176 -0
  47. econometrics/specific_data_modeling/time_series_panel_data/garch_model.py +198 -0
  48. econometrics/specific_data_modeling/time_series_panel_data/panel_diagnostics.py +125 -0
  49. econometrics/specific_data_modeling/time_series_panel_data/panel_var.py +60 -0
  50. econometrics/specific_data_modeling/time_series_panel_data/structural_break_tests.py +87 -0
  51. econometrics/specific_data_modeling/time_series_panel_data/time_varying_parameter_models.py +106 -0
  52. econometrics/specific_data_modeling/time_series_panel_data/unit_root_tests.py +204 -0
  53. econometrics/specific_data_modeling/time_series_panel_data/var_svar_model.py +372 -0
  54. econometrics/statistical_inference/statistical_inference_techniques/__init__.py +0 -0
  55. econometrics/statistics/distribution_decomposition_methods/__init__.py +0 -0
  56. econometrics/tests/basic_parametric_estimation_tests/__init__.py +3 -0
  57. econometrics/tests/basic_parametric_estimation_tests/test_gmm.py +128 -0
  58. econometrics/tests/basic_parametric_estimation_tests/test_mle.py +127 -0
  59. econometrics/tests/basic_parametric_estimation_tests/test_ols.py +100 -0
  60. econometrics/tests/model_specification_diagnostics_tests/__init__.py +3 -0
  61. econometrics/tests/model_specification_diagnostics_tests/test_diagnostic_tests.py +86 -0
  62. econometrics/tests/model_specification_diagnostics_tests/test_robust_errors.py +89 -0
  63. econometrics/tests/specific_data_modeling_tests/__init__.py +3 -0
  64. econometrics/tests/specific_data_modeling_tests/test_arima.py +98 -0
  65. econometrics/tests/specific_data_modeling_tests/test_dynamic_panel.py +198 -0
  66. econometrics/tests/specific_data_modeling_tests/test_exponential_smoothing.py +105 -0
  67. econometrics/tests/specific_data_modeling_tests/test_garch.py +118 -0
  68. econometrics/tests/specific_data_modeling_tests/test_unit_root.py +156 -0
  69. econometrics/tests/specific_data_modeling_tests/test_var.py +124 -0
  70. prompts/__init__.py +0 -0
  71. prompts/analysis_guides.py +43 -0
  72. pyproject.toml +78 -0
  73. resources/MCP_MASTER_GUIDE.md +422 -0
  74. resources/MCP_TOOLS_DATA_FORMAT_GUIDE.md +185 -0
  75. resources/__init__.py +0 -0
  76. server.py +83 -0
  77. tools/README.md +88 -0
  78. tools/__init__.py +45 -0
  79. tools/data_loader.py +213 -0
  80. tools/decorators.py +38 -0
  81. tools/econometrics_adapter.py +286 -0
  82. tools/mcp_tool_groups/__init__.py +1 -0
  83. tools/mcp_tool_groups/basic_parametric_tools.py +173 -0
  84. tools/mcp_tool_groups/model_specification_tools.py +402 -0
  85. tools/mcp_tool_groups/time_series_tools.py +494 -0
  86. tools/mcp_tools_registry.py +114 -0
  87. tools/model_specification_adapter.py +369 -0
  88. tools/output_formatter.py +563 -0
  89. tools/time_series_panel_data_adapter.py +858 -0
  90. tools/time_series_panel_data_tools.py +65 -0
  91. aigroup_econ_mcp/__init__.py +0 -19
  92. aigroup_econ_mcp/cli.py +0 -82
  93. aigroup_econ_mcp/config.py +0 -561
  94. aigroup_econ_mcp/server.py +0 -452
  95. aigroup_econ_mcp/tools/__init__.py +0 -18
  96. aigroup_econ_mcp/tools/base.py +0 -470
  97. aigroup_econ_mcp/tools/cache.py +0 -533
  98. aigroup_econ_mcp/tools/data_loader.py +0 -171
  99. aigroup_econ_mcp/tools/file_parser.py +0 -829
  100. aigroup_econ_mcp/tools/machine_learning.py +0 -60
  101. aigroup_econ_mcp/tools/ml_ensemble.py +0 -210
  102. aigroup_econ_mcp/tools/ml_evaluation.py +0 -272
  103. aigroup_econ_mcp/tools/ml_models.py +0 -54
  104. aigroup_econ_mcp/tools/ml_regularization.py +0 -172
  105. aigroup_econ_mcp/tools/monitoring.py +0 -555
  106. aigroup_econ_mcp/tools/optimized_example.py +0 -229
  107. aigroup_econ_mcp/tools/panel_data.py +0 -553
  108. aigroup_econ_mcp/tools/regression.py +0 -214
  109. aigroup_econ_mcp/tools/statistics.py +0 -154
  110. aigroup_econ_mcp/tools/time_series.py +0 -667
  111. aigroup_econ_mcp/tools/timeout.py +0 -283
  112. aigroup_econ_mcp/tools/tool_handlers.py +0 -378
  113. aigroup_econ_mcp/tools/tool_registry.py +0 -170
  114. aigroup_econ_mcp/tools/validation.py +0 -482
  115. aigroup_econ_mcp-0.4.2.dist-info/METADATA +0 -360
  116. aigroup_econ_mcp-0.4.2.dist-info/RECORD +0 -29
  117. aigroup_econ_mcp-0.4.2.dist-info/entry_points.txt +0 -2
  118. /aigroup_econ_mcp-0.4.2.dist-info/licenses/LICENSE → /LICENSE +0 -0
  119. {aigroup_econ_mcp-0.4.2.dist-info → aigroup_econ_mcp-1.4.3.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
- ]