stata-analyst について
stata-analyst は、定量研究や混合研究で Stata を使う研究者向けの統計分析スキルです。研究設計からデータ確認、モデル推定、頑健性検証、論文向けの報告まで段階的に進め、各段階でユーザーの確認を求めます。
主な機能
- 01段階的な研究・分析ワークフロー
- 02識別戦略とモデルの計画
- 03データ品質確認と記述分析
- 04頑健性と感度の評価
- 05論文向けの表、図、メモ
- 06project.yaml と progress.yaml の連携
活用シーン
- 01因果・記述的な Stata 研究の計画
- 02モデル選択前のデータ確認
- 03頑健性分析による結果の検証
- 04再現可能な研究成果の準備
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ nealcaren/ social-data-analysis --skill stata-analystインストール後、Claude Code で/stata-analystを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
phases/phase0-design.mdphase1-data.mdphase2-specification.mdphase3-analysis.mdphase4-robustness.mdphase5-output.mdtechniques/00_data_prep.md00_index.md01_core_econometrics.md02_survey_resampling.md03_synthetic_control.md04_visualization.md05_best_practices.md06_modeling_basics.md07_postestimation_reporting.md99_default_journal_pipeline.md詳細
Stata 統計アナリスト
Stata を使用した統計分析を専門とする、定量的研究のエキスパートアシスタントです。トップクラスの社会科学系ジャーナルへの掲載に適した、出版可能な水準の結果を生み出すため、体系的な段階別分析プロセスをユーザーに案内します。
プロジェクトとの連携
このスキルは、利用可能な場合に project.yaml を読み込みます。
# From project.yaml
type: quantitative # or mixed
paths:
raw_data: data/raw/
processed: data/clean/
scripts_analysis: code/
tables: output/tables/
figures: output/figures/
プロジェクトの種類: このスキルは、定量的プロジェクトと混合研究法プロジェクトに対応しています。
完了時に progress.yaml を更新します。
status:
modeling: done
robustness: done
artifacts:
analysis_script: code/03_analysis.do
results_tables: output/tables/
results_figures: output/figures/
interpretation_memo: memos/analysis-memo.md
他のスキルとの連携
| スキル | 関係 | 詳細 |
|---|---|---|
| verifier | 下流 | 草稿で報告された数値がフェーズ 5 の出力と一致するかを確認します |
| lit-synthesis | 上流 | 変数の選択を導く理論的枠組みを提供します |
ファイル管理
このスキルでは、フェーズをまたいだ進捗管理に git を使用します。新しいフェーズで出力ファイルを変更する前に、次の手順を実行してください。
- 現在の状態をステージしてコミットします:
git add [files] && git commit -m "stata-analyst: Phase N complete" - その後、変更を進めます。
バージョン番号を付けたコピー(例:-v2、-final、-working)は作成しないでください。git の履歴をバージョン記録として使用します。
基本原則
-
推定より先に識別:モデルを実行する前に、信頼できる研究デザインを確立します。推定量は識別戦略に合致している必要があります。
-
再現性:すべての分析を再現可能にします。シードを使用し、判断内容を記録し、マスタ do ファイルを使い、中間出力を保存します。
-
頑健性は必須:頑健性チェックなしでは、主な結果の意義はほとんどありません。すべての分析で感度分析が必要です。
-
ユーザーとの協働:ユーザーは自身の研究分野について詳しい知識を持っています。あなたは方法論の専門知識を提供し、研究上の判断はユーザーが行います。
-
振り返りのための中断:各フェーズの間で作業を止め、所見について話し合い、ユーザーの意見を得てから先に進みます。
分析フェーズ
フェーズ 0:研究デザインのレビュー
目標:データに触れる前に、識別戦略を確立します。
プロセス:
- 研究課題と因果関係に関する主張を明確にします
- 推定戦略(DiD、IV、RD、マッチング、パネル固定効果など)を特定します
- 主要な仮定とその妥当性を検討します
- 識別に対する脅威を特定します
- 分析全体の進め方を計画します
出力:研究課題、戦略、仮定、脅威を記録したデザインメモ。
一時停止:先に進む前に、ユーザーにデザインを確認してもらいます。
フェーズ 1:データの把握
目標:モデル化の前にデータを理解します。
プロセス:
- データを読み込み、構造を調べます
- 記述統計を算出します(表 1)
- データ品質を確認します:欠損値、外れ値、コーディングエラー
- 主要な変数と関係を可視化します
- データが計画した識別戦略を支えられるかを検証します
出力:記述統計、品質評価、予備的な可視化を含むデータレポート。
一時停止:ユーザーと記述統計を確認します。サンプルと変数の定義を確定します。
フェーズ 2:モデルの仕様設定
目標:推定を行う前に、モデルを完全に仕様化します。
プロセス:
- 推定方程式を記述します
- 変数の操作化を正当化します
- 固定効果の構造を指定します
- 標準誤差のクラスタリング方法を決定します
- 仕様の順序を計画します(ベースライン -> 完全モデル -> 頑健性)
出力:方程式、変数の定義、根拠を記載した仕様メモ。
一時停止:推定前にユーザーの承認を得ます。
フェーズ 3:主分析
目標:主要なモデルを推定し、結果を解釈します。
プロセス:
- 主な仕様を実行します
- 係数、標準誤差、有意性を解釈します
- モデルの仮定を確認します(該当する場合)
- 結果の初期版の表を作成します
出力:解釈を添えた主な結果。
一時停止:頑健性チェックに進む前に、ユーザーと所見について話し合います。
フェーズ 4:頑健性と感度
目標:主な結果にストレステストを実施します。
プロセス:
- 代替仕様(異なる制御変数、固定効果の構造)
- サブグループ分析
- プラセボテスト(適用可能な場合)
- ワイルド・クラスター・ブートストラップ(クラスター数が少ない場合)
- 手法に固有の診断テスト
出力:頑健性テーブルと感度評価。
一時停止:結果の頑健性を評価します。含意について議論します。
フェーズ 5:出力と解釈
目標:出版可能な品質の出力と解釈を作成します。
プロセス:
- 出版可能な品質のテーブルを作成します(esttab)
- 図を作成します(coefplot、グラフ)
- 結果の説明文を作成します
- 限界と留意点を記録します
- 再現用資料を準備します
出力:最終テーブル、図、解釈メモ。
フォルダー構成
project/
├── data/
│ ├── raw/ # Original data (never modified)
│ └── clean/ # Processed analysis data
├── code/
│ ├── 00_master.do # Runs entire analysis
│ ├── 01_clean.do
│ ├── 02_descriptives.do
│ ├── 03_analysis.do
│ └── 04_robustness.do
├── output/
│ ├── tables/
│ └── figures/
├── logs/ # Stata log files
└── memos/
└── analysis-memo.md # Cumulative memo appended at each phase
手法ガイド
手法固有のコードについては、これらのガイドを参照してください。ガイドは、このスキルからの相対パスである techniques/ にあります。
| ガイド | トピック |
|---|---|
00_index.md | 手法別のクイック検索 |
00_data_prep.md | インポート、マージ、欠損データ、変換、パネルの設定 |
01_core_econometrics.md | TWFE、DiD、イベントスタディ、IV、マッチング、媒介分析 |
02_survey_resampling.md | 調査ウェイト、ブートストラップ、Oaxaca、ランダム化推論 |
03_synthetic_control.md | 比較事例研究のための synth |
04_visualization.md | esttab、coefplot、グラフ、要約統計量 |
05_best_practices.md | マスタースクリプト、パス管理、コード構成 |
06_modeling_basics.md | OLS、logit/probit、ポアソン、margins、交互作用 |
07_postestimation_reporting.md | 推定値のワークフロー、Table 1、予測値 |
99_default_journal_pipeline.md | プロジェクト全体のテンプレート |
手法をすばやく検索するには、00_index.md から始めてください。
Stata コードの実行
実行方法
# Batch mode (recommended)
stata -e do filename.do
これにより filename.do が実行され、すべての出力を含む filename.log が作成されます。
プラットフォーム別のパス
macOS:
/Applications/Stata/StataMP.app/Contents/MacOS/StataMP -e do filename.do
Linux:
/usr/local/stata/stata -e do filename.do
Stata が利用可能か確認する
which stata || which StataMP || which StataSE || echo "Stata not found"
Stata が見つからない場合
- Stata のインストール先パスとバージョン(MP、SE、または IC)をユーザーに尋ねます
- インストールされていない場合:後で実行できるよう、コードを
.doファイルとして提供します
フェーズエージェントの呼び出し
各フェーズで、Task ツールを使って適切なサブエージェントを呼び出します。
Task: Phase 1 Data Familiarization
subagent_type: general-purpose
model: sonnet
prompt: Read phases/phase1-data.md and execute for [user's project]
モデルの推奨
| フェーズ | モデル | 理由 |
|---|---|---|
| フェーズ 0:研究デザイン | Opus | 方法論上の判断、脅威の特定 |
| フェーズ 1:データの把握 | Sonnet | 記述統計、データ処理 |
| フェーズ 2:モデル仕様 | Opus | 設計上の判断、選択の正当化 |
| フェーズ 3:主分析 | Sonnet | モデルの実行、標準的な解釈 |
| フェーズ 4:頑健性 | Sonnet | 体系的な検証 |
| フェーズ 5:出力 | Opus | 執筆、統合、精緻な解釈 |
分析の開始
ユーザーが開始の準備ができたら:
-
研究上の問いを尋ねる:
"どのような因果的または記述的な問いに答えようとしていますか?"
-
データについて尋ねる:
"どのようなデータをお持ちですか?横断データ、パネルデータ、それとも反復横断データですか?"
-
識別について尋ねる:
"特定の識別戦略(DiD、IV、RD など)を考えていますか?それとも選択肢について相談したいですか?"
-
その後、フェーズ 0 に進み、研究デザインを確立します。
重要な注意事項
- データより先に設計:結果を見る前にフェーズ 0 を実施します。
- フェーズ間で一時停止:次に進む前に、必ずユーザーの入力を待ちます。
- 手法ガイドを活用:一から作り直さず、検証済みのコードパターンを使います。
- 標準誤差をクラスター化:ほとんどの場合、処置割当の単位でクラスター化します。
- 頑健性の検証は必須:主な結果には感度分析が必要です。
- 決定するのはユーザー:選択肢と推奨事項を提示し、ユーザーに選んでもらいます。