suggest_method
Recommends statistical methods based on research questions and data characteristics for quantitative analysis.
Instructions
연구질문과 데이터 특성에 맞는 통계 방법 추천
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| research_question | Yes | 연구 질문 | |
| dv_type | Yes | 종속변수 유형 | |
| data_structure | No | 데이터 구조 | |
| causal_design | No | 인과추론 설계 |
Implementation Reference
- src/tools/index.ts:47-72 (registration)Registration of the 'suggest_method' tool in the tools array, including its name, description, and input schema.{ name: "suggest_method", description: "연구질문과 데이터 특성에 맞는 통계 방법 추천", inputSchema: { type: "object", properties: { research_question: { type: "string", description: "연구 질문" }, dv_type: { type: "string", enum: ["continuous", "binary", "ordinal", "count", "time_to_event", "proportion"], description: "종속변수 유형" }, data_structure: { type: "string", enum: ["cross_sectional", "panel", "time_series", "clustered", "multilevel"], description: "데이터 구조" }, causal_design: { type: "string", enum: ["none", "experimental", "quasi_experimental", "observational"], description: "인과추론 설계" }, }, required: ["research_question", "dv_type"], }, },
- src/tools/index.ts:50-71 (schema)Input schema definition for the 'suggest_method' tool specifying parameters for research question, dependent variable type, data structure, and causal design.inputSchema: { type: "object", properties: { research_question: { type: "string", description: "연구 질문" }, dv_type: { type: "string", enum: ["continuous", "binary", "ordinal", "count", "time_to_event", "proportion"], description: "종속변수 유형" }, data_structure: { type: "string", enum: ["cross_sectional", "panel", "time_series", "clustered", "multilevel"], description: "데이터 구조" }, causal_design: { type: "string", enum: ["none", "experimental", "quasi_experimental", "observational"], description: "인과추론 설계" }, }, required: ["research_question", "dv_type"], },
- src/tools/index.ts:1014-1071 (handler)The core handler function for 'suggest_method' that provides statistical method recommendations based on input parameters using a predefined suggestions lookup table.function handleSuggestMethod(args: Record<string, unknown>) { const dvType = args.dv_type as string; const dataStructure = (args.data_structure as string) || "cross_sectional"; const causalDesign = (args.causal_design as string) || "none"; const suggestions: Record<string, any> = { continuous: { cross_sectional: { observational: ["OLS Regression", "Robust Regression"], quasi_experimental: ["Propensity Score Matching", "IV/2SLS"], experimental: ["t-test", "ANOVA", "OLS with controls"] }, panel: { observational: ["Panel FE/RE", "Correlated Random Effects"], quasi_experimental: ["DID", "Synthetic Control", "Event Study"] }, time_series: { observational: ["ARIMA", "VAR", "VECM"], quasi_experimental: ["Interrupted Time Series", "Event Study"] } }, binary: { cross_sectional: { observational: ["Logistic Regression", "Probit"], quasi_experimental: ["PSM + Logit", "IV Probit"] }, panel: { observational: ["Conditional Logit (FE)", "Random Effects Logit"], quasi_experimental: ["DID Logit", "Linear Probability Model + FE"] } }, count: { cross_sectional: { observational: ["Poisson", "Negative Binomial", "Zero-Inflated"] }, panel: { observational: ["FE Poisson", "FE Negative Binomial"] } } }; const methodList = suggestions[dvType]?.[dataStructure]?.[causalDesign] || suggestions[dvType]?.[dataStructure]?.["observational"] || ["검색 필요: search_stats_knowledge 사용"]; return { research_question: args.research_question, dv_type: dvType, data_structure: dataStructure, causal_design: causalDesign, recommended_methods: methodList, considerations: [ "데이터 크기와 분포 확인 필요", "가정 검토 (내생성, 선택편의 등)", "robustness check 계획 수립" ] }; }