📊 Overview
This comprehensive Python-based toolkit provides data-driven insights into the relationships between military populations, firearm ownership, mental health outcomes, and economic impacts across U.S. states and counties.
✨ Key Features
Data Collection
- Automatic caching - Reduces API calls and speeds up repeated analyses
- Graceful fallbacks - Works with or without API keys using sample data
- Robust error handling - Handles network issues and missing data
- Metadata tracking - JSON metadata for every dataset with timestamps
Analysis Capabilities
- State-level analysis - All 50 states plus DC and territories
- County-level support - Census API provides county granularity
- Correlation analysis - Statistical relationships between variables
- Risk ratio calculations - Veteran vs civilian outcome comparisons
Visualizations
- Publication-ready - 300 DPI output suitable for reports
- Accessible color schemes - Colorblind-friendly palettes
- Comprehensive labeling - Clear titles, axes, and legends
- Statistical overlays - Trend lines and reference markers
🚀 Quick Start
-
Create a virtual environment
python3 -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate -
Install dependencies
pip install -r requirements.txt -
Configure API access (optional)
cp .env.example .env # Edit .env and add your Census API keyGet your free key at: https://api.census.gov/data/key_signup.html
-
Run the analysis
python military_firearm_analysis.py
output/ directory
and export CSV files to data/ for further analysis.
📚 Data Sources
All data comes from authoritative government and academic sources:
📁 Output Files
Data Directory (data/)
military_firearm_veterans.csv- Veteran population by statemilitary_firearm_active_duty.csv- Active duty personnel distributionmilitary_firearm_firearms.csv- Firearm ownership ratesmilitary_firearm_ffl.csv- Federal Firearm Licensee countsmilitary_firearm_suicide.csv- Veteran suicide rates and risk ratiosmilitary_firearm_ptsd.csv- PTSD prevalence estimatesmilitary_firearm_spouse_employment.csv- Military spouse employment datamilitary_firearm_va_healthcare.csv- VA healthcare utilizationmilitary_firearm_economic_impact.csv- Military base economic impactsmilitary_firearm_merged_analysis.csv- Complete merged dataset
Output Directory (output/)
military_firearm_comprehensive_dashboard.png- 9-panel overview (300 DPI)military_firearm_correlations.png- 6-panel correlation scatter plots (300 DPI)military_base_economic_impact.png- Economic analysis visualization (300 DPI)
*_metadata.json files
with column information, row counts, and creation timestamps.
📈 Generated Visualizations
The toolkit generates publication-ready visualizations (300 DPI) combining data from multiple authoritative sources.
Comprehensive Dashboard (State-Level Analysis)
9-panel overview: veteran populations, active duty, firearm ownership, veteran suicide risk ratios, FFL density, VA healthcare utilization, and correlation heatmap.
Correlation Analysis
6 scatter plots examining key relationships: veteran population vs firearm ownership, firearm ownership vs veteran suicide rates, FFL density vs ownership, PTSD prevalence vs VA utilization, veteran population vs suicide risk, and active duty density vs military spouse unemployment.
Military Base Economic Impact
Major military installation economic contributions: personnel vs civilian job creation, and state-level economic impact distribution.
Veterans Distribution (County-Level Map)
County-level choropleth: Veterans per 100 residents. Shows geographic concentration of veteran populations with highest densities near military installations.
Active Duty Distribution (County-Level Map)
County-level choropleth: Active duty / Armed Forces population per 10,000 residents. Highlights counties with major military bases and installations.
State Military Population (Stacked Bar)
Active duty + Veterans by state (stacked). States sorted by total military presence, showing combined active duty and veteran populations.
💡 Usage Examples
Basic Analysis
from military_firearm_analysis import main
# Run complete analysis
all_data, merged_data = main()
Load Previously Saved Data
import pandas as pd
# Load merged dataset
merged = pd.read_csv('data/military_firearm_merged_analysis.csv')
# Perform custom analysis
print(merged.describe())
print(merged.corr())
Custom Visualization
from military_firearm_analysis import (
get_veteran_data_by_state,
get_firearm_ownership_by_state
)
import matplotlib.pyplot as plt
veterans = get_veteran_data_by_state()
firearms = get_firearm_ownership_by_state()
# Create custom plot
# ... your code here
🔬 Adjacent Research Topics
The toolkit identifies 10 categories of related research areas with specific data sources:
⚠️ Disclaimer
Important: This toolkit is for research and educational purposes. Data is provided "as-is" from government and academic sources. Always verify critical findings with original data sources.
Note: Correlation does not imply causation. Use appropriate statistical methods when drawing conclusions from the data.