How viengthong2015/ai works
Laos Population Forecast is a Streamlit dashboard for exploring district population history and producing forecasts. Users load the bundled CSV or upload their own, filter records and choose a forecast model or compare all models. The app evaluates models on a chronological holdout, then uses the full historical series for future projections. It also offers nationwide outlier checks, forecast charts and downloadable CSV/HTML reports. The app’s imports and README support the main module links; some detailed internal calls are not shown in the excerpts.
Main entry points: app.py Streamlit app · population_forecast.py Holdout evaluation · outlier_detection.py Outlier checks · dataDistrict.csv Default district data
Components 17
Population inputs
- Default district data
data/dataDistrict.csv - Uploaded CSV
- Record and year filters
app.py
Analysis and forecasting
- Outlier checks
outlier_detection.py - Historical corrections
outlier_detection.py - Holdout evaluation
population_forecast.py - Linear regression
population_forecast.py - Polynomial regression
population_forecast.py - Exponential growth
population_forecast.py - Final forecasts
population_forecast.py
Dashboard outputs
- Streamlit app
app.py - Forecast overview
app.py - Source data and flags
app.py - Population charts
app.py - CSV and HTML exports
population_forecast.py - Methodology guidance
app.py
Other components
- Dashboard user
Connections 23
- Dashboard user → Streamlit app: uses
README.md - Default district data → Streamlit app: loads by default
README.md - Uploaded CSV → Streamlit app: uploads data
README.md - Streamlit app → Record and year filters: filters records
README.md - Streamlit app → Outlier checks: runs checks
app.py - Streamlit app → Historical corrections: prepares corrections
app.py - Streamlit app → Holdout evaluation: evaluates models
README.md - Holdout evaluation → Linear regression: scores
population_forecast.py - Holdout evaluation → Polynomial regression: scores
population_forecast.py - Holdout evaluation → Exponential growth: scores
population_forecast.py - Streamlit app → Final forecasts: forecasts
README.md - Final forecasts → Linear regression: fits
population_forecast.py - Final forecasts → Polynomial regression: fits
population_forecast.py - Final forecasts → Exponential growth: fits
population_forecast.py - Streamlit app → Forecast overview: renders
app.py - Streamlit app → Source data and flags: renders
app.py - Source data and flags → Outlier checks: displays flags
README.md - Streamlit app → Population charts: renders
app.py - Streamlit app → CSV and HTML exports: creates downloads
README.md - Streamlit app → Methodology guidance: documents workflow
README.md - Dashboard user → Forecast overview: reviews
README.md - Dashboard user → Source data and flags: inspects
README.md - Dashboard user → CSV and HTML exports: downloads
README.md