Analysis Code for Multimodal Emotional Discordance in Relation to Depression and Suicidal Ideation in Adolescents and Young Adults
收藏资源简介:
This repository contains the data and analysis code used in the study: Cross-Modal Emotional Discordance, Autistic Traits, and Depressive Symptoms in Adolescents and Young Adults: Observational Study of Telehealth Narratives. The package includes raw multimodal emotion estimates, scripts for computing cross-modal discordance metrics, and statistical analyses examining associations with depressive symptoms and autistic traits. --- # Directory Structure Zendo_package/ ├── raw_data/│ ├── participant_table.csv│ └── second_level_2d/│ └── sub-****/│ └── sub-****_second_level_2d.tsv│├── compute_discordance.py├── discordance_derived_data.csv│├── analysis_zenodo_final.py├── analysis_zenodo_final_v2_R2.py├── analysis_zenodo_final_v3_fit_indices.py├── analysis_zenodo_final_v4_jn_rug.py│├── outputs/│ ├── linear_models_summary.csv│ ├── logistic_models_summary_withFDR.csv│ ├── simple_slopes_linear_summary.csv│ ├── simple_effects_logistic_OR_summary.csv│ ├── vif_summary.csv│ ├── auc_summary.csv│ ├── linear_model_fit_summary.csv│ ├── interaction_summary.csv│ ├── johnson_neyman_summary.csv│ ││ ├── johnson_neyman_data/│ ││ └── johnson_neyman_figures/│└── README.md --- # Data Description ## participant_table.csv Participant-level variables including: - participant ID- age- sex- PHQ-9 score- suicidal ideation indicator- Autism-Spectrum Quotient (AQ)- narrative topic indicators --- ## second_level_2d data Each TSV file contains second-by-second emotion estimates mapped to a valence–arousal (V–A) space. Variables include: - time (seconds)- modality-specific valence and arousal - facial expression - audio prosody - transcript sentiment These values are used to compute cross-modal discordance metrics. --- # Discordance Computation The script compute_discordance.py calculates multimodal discordance metrics. For each second: D_AT = Euclidean distance between audio and text emotion vectors D_FT = Euclidean distance between face and text emotion vectors Discordance values are aggregated across speech-present seconds within each narrative. The resulting dataset is saved as: discordance_derived_data.csv --- # Statistical Analysis Four analysis scripts are provided. ## 1. Primary regression models analysis1_regression.py Runs topic-specific regression models examining the association between discordance and mental health outcomes. Outcomes: - PHQ-9 total score (linear regression)- suicidal ideation, defined as PHQ-9 item 9 ≥1 (logistic regression) Predictors: - audio–text discordance (D_AT_z)- face–text discordance (D_FT_z)- autistic traits (AQ_combined_z)- interaction terms Covariates: - age- sex The script outputs both linear and logistic model summaries, including false discovery rate (FDR)–adjusted results for topic-specific analyses. --- ## 2. Model fit metrics analysis2_modelfit.py Calculates model performance indices: - R²- adjusted R² --- ## 3. Additional model diagnostics analysis3_model_diagnostics.py Outputs: - AIC- BIC- VIF These values are summarized in: outputs/linear_model_fit_summary.csv outputs/vif_summary.csv --- ## 4. Interaction probing and Johnson–Neyman analysis analysis4_JN.py Computes: - conditional effects across AQ levels- Johnson–Neyman significance regions Outputs: outputs/johnson_neyman_data/ outputs/johnson_neyman_figures/ The figures correspond to the interaction plots reported in the manuscript. --- # Output Files Key output summaries include: | File | Description ||-----|-------------|| linear_models_summary.csv | regression coefficients || logistic_models_summary_withFDR.csv | logistic models with FDR correction || simple_slopes_linear_summary.csv | simple slope estimates || simple_effects_logistic_OR_summary.csv | odds ratios for simple effects || auc_summary.csv | model discrimination performance || interaction_summary.csv | interaction term statistics || johnson_neyman_summary.csv | Johnson–Neyman thresholds | --- # Software Environment Analyses were conducted using: Python 3.13.6 Key packages: - numpy- pandas- statsmodels- scikit-learn- matplotlib --- # Reproducibility All scripts can be executed sequentially: 1. compute_discordance.py2. analysis_zenodo_final.py3. analysis_zenodo_final_v2_R2.py4. analysis_zenodo_final_v3_fit_indices.py5. analysis_zenodo_final_v4_jn_rug.py Outputs will be saved to the outputs/ directory. --- # License This dataset and code are shared for academic research purposes. --- # Contact Hidehiro Umehara Tokushima University Japan



