You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

2.5 KiB

Phase 8 統計解析仕様

1. Phase 8の目的

Prompt/Controlの観測反応率、反応時間、Yaw変化を基本統計・検定・効果量で比較する。因果関係は断定しない。

2. 入力データ仕様

単一または再帰探索した複数の person_analysis_table.csv。session summaryもloaderで読込可能。

3. 解析対象の定義

主反応解析は valid_for_voice_analysis=True のみ。数値欠損は各metricから除く。

4. prompt/control条件

prompt_conditionがprompt/controlの行を同一schemaで比較する。disabled/unknownは主比較外。

5. response_rate定義

response count / valid voice analysis count。分母0はNone。

6. 顔向き評価不能の扱い

分析不能をno responseへ混ぜない。件数はcondition summaryと除外集計へ残す。

7. 条件別summary

全件、valid、response/no response、率、除外、reaction/Yaw記述統計、Turn levelを出力する。

8. 反応率検定

autoは期待度数5未満でFisher、それ以外で2x2カイ二乗。率差、odds ratio、φを併記する。

9. reaction_time_sec比較

response detected行のみをMann–Whitney U(既定)またはWelch tで比較する。

10. max_yaw_delta比較

valid turn、valid voice、全non-nullの分母設定から選択し、同じ数値検定を行う。

11. turn_level分布

none、face appeared、subtle、weak、medium、strong、not evaluableを条件別集計する。

12. 除外理由集計

条件内全件を分母にreason別count/ratioを保存する。

13. 出力CSV仕様

condition、response test、numeric、Turn distribution、exclusion、run summaryの6表をUTF-8 BOMで保存する。

14. グラフ出力

matplotlib Aggで反応率bar、reaction/Yaw box、Turn分布、除外理由を英語ラベルPNGへ保存する。空データでも停止しない。

15. CLI

python main.py analyze --input data/logs/unified --output data/analysis。解析経路はApplicationをimportしない。

16. テスト

読込・型変換・必須列、検定選択、空標本、分母、summary、CSV BOM、overwrite、Agg plotを合成データで検証する。

17. 結果解釈の注意

p値は因果を証明しない。小標本ではFisherを使い効果量を併記する。session ID、カメラ位置、trigger条件が異なるデータを無批判に混ぜない。

18. Phase 9への引き継ぎ

6 CSVと5 PNGを安定した結果閲覧・ファイル選択GUIへ提供する。