{"id":28476297,"url":"https://github.com/odaiseas/road-crash-analysis","last_synced_at":"2026-05-04T01:34:31.046Z","repository":{"id":293488705,"uuid":"974159514","full_name":"odaiseas/Road-Crash-Analysis","owner":"odaiseas","description":"Анализ ДТП в России (2015–2024) с помощью Python, SQL и визуализаций","archived":false,"fork":false,"pushed_at":"2025-05-20T11:57:23.000Z","size":24322,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-07T15:06:33.384Z","etag":null,"topics":["jupyter","pandas","python","sql","sqlite","traffic-accidents"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/odaiseas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-28T10:48:31.000Z","updated_at":"2025-05-20T11:57:26.000Z","dependencies_parsed_at":"2025-05-15T16:35:32.493Z","dependency_job_id":null,"html_url":"https://github.com/odaiseas/Road-Crash-Analysis","commit_stats":null,"previous_names":["odaiseas/road-crash-analysis"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/odaiseas/Road-Crash-Analysis","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/odaiseas%2FRoad-Crash-Analysis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/odaiseas%2FRoad-Crash-Analysis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/odaiseas%2FRoad-Crash-Analysis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/odaiseas%2FRoad-Crash-Analysis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/odaiseas","download_url":"https://codeload.github.com/odaiseas/Road-Crash-Analysis/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/odaiseas%2FRoad-Crash-Analysis/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263050472,"owners_count":23405844,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["jupyter","pandas","python","sql","sqlite","traffic-accidents"],"created_at":"2025-06-07T15:06:33.373Z","updated_at":"2026-05-04T01:34:31.034Z","avatar_url":"https://github.com/odaiseas.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Road-Crash-Analysis\n\nЭтот проект — практический кейс по анализу дорожно-транспортных происшествий в России. Цель — продемонстрировать навыки работы с реальными данными: от загрузки и предобработки до визуализации, работы с SQL и статистического моделирования.\n\n## Лицензия\n\nЭтот репозиторий не содержит единой лицензии на весь проект, так как включает данные с разными условиями использования.\n\n- Аналитический код и ноутбуки: MIT License (см. LICENSE.txt)\n- Данные ДТП: [Creative Commons BY 4.0](https://creativecommons.org/licenses/by/4.0/)  \n  Источник: https://tochno.st/datasets/traffic_accidents\n- GeoJSON-файл: лицензия не указана; включён как вспомогательный файл для визуализации. При необходимости удалите файл russia_regions.geojson и загрузите с оригинального источника: https://github.com/hairymax/offline_russia_plotly\n\n## Компетенции, демонстрируемые в проекте\n\n- Работа с реальными данными о ДТП (7.2 млн записей)\n- Использование SQL и SQLite для работы с большими таблицами\n- Применение методов разведывательного анализа и визуализации\n- Моделирование редких событий (летальных ДТП) и экономический последствий ДТП с использованием:\n  - линейных моделей с регуляризацией и счётных моделей (Poisson, Negative Binomial)\n  - классификаторов (решающие деревья, случайный лес)\n- Оценка качества моделей, интерпретация коэффициентов, построение выводов\n\n## Основные инструменты\n\n- Очистка, преобразование и разведывательный данных с `pandas`\n- Статистическое моделирование с `scikit-learn` и `statsmodels`\n- Визуализация: `matplotlib`, `seaborn`, `plotly`\n- Работа с SQL (`sqlite` из Python)\n- Использование Jupyter Notebook для анализа\n- Работа с геоданными и GeoJSON в `geopandas`\n\n## Данные\n\n### Данные о ДТП\n\n**Данные проекта «Карта ДТП»** о дорожно-транспортных происшествиях в России и их характеристиках с 2015 года, преобразованные в формат плоских таблиц. Источник: *Дорожно-транспортные происшествия: координаты, участники и пострадавшие // Карта ДТП; обработка «Если быть точным», 2024*. Условия использования: [Creative Commons BY 4.0](https://creativecommons.org/licenses/by/4.0/). URL: [https://tochno.st/datasets/traffic_accidents](https://tochno.st/datasets/traffic_accidents).\n\nДанные содержат сведения о 1 440 208 ДТП за 2015–2024 годы и вовлеченных в них участниках и транспортных средствах на основе карточек ГИБДД. Единица наблюдения — дорожно-транспортное происшествие. Атрибуты включают место совершения ДТП (с географическими координатами), категорию ДТП, состояние дорожного полотна, погодные условия, тяжесть ДТП, количество погибших и пострадавших, а также информацию об участниках (participants) и транспортных средствах (vehicles). Данные доступны в формате CSV (кодировка: UTF-8, разделитель: «;»).\n\nДанные доступны по следующим ссылкам:\n- [Accidents.csv](https://disk.yandex.ru/d/yPdgwafR_2xElg) — ДТП с координатами, тяжестью, дорожными условиями и др.\n- [Participants.csv](https://disk.yandex.ru/d/YeyKLfXuETaEUQ) — участники ДТП (водители, пассажиры, пешеходы)\n- [Vehicles.csv](https://disk.yandex.ru/d/NJApFGWb85CWVQ) — транспортные средства\n- [Road-Crash-Analysis data](https://disk.yandex.ru/d/RkPaOQyX7dDwEQ) — архив с тремя файлами выше\n\n### Карты\n\n**Russia regions GeoJSON**  \nИсточник: [hairymax/offline_russia_plotly](https://github.com/hairymax/offline_russia_plotly/blob/main/data/russia_regions.geojson)  \nЛицензия: не указана (дата обращения 2025-05-09). Если появится — будет добавлена. Файл включён только для целей визуализации. При необходимости вы можете загрузить файл напрямую с оригинального источника.\n\n---\n\n## Структура проекта\n\n- `data/` — данные и база:\n  - `sample/` — выборка из 1000 ДТП (включена в репозиторий; создаётся скриптом `create_sample.py`)\n    - `sample_accidents.csv`\n    - `sample_participants.csv`\n    - `sample_vehicles.csv`\n  - `processed/` — очищенные выборки (включены в репозиторий; создаются в ноутбуке `01_data_cleaning.ipynb`)\n    - `processed_accidents.csv`\n    - `processed_participants.csv`\n    - `processed_vehicles.csv`\n  - `crash_database.db` — база данных SQLite (создаётся при выполнении кода; **не включена в репозиторий**)\n  - `russia_regions.geojson` — геоданные регионов России\n\n- `scripts/`\n  - `create_sample.py` — генерация выборки и базы SQLite, очистка и предобработка выборки\n  - `utils.py` — вспомогательные функции, используемые в ноутбуках\n\n- `notebooks/` — Jupyter-ноутбуки:\n  - `01_exploratory_analysis_sample.ipynb` — разведывательный анализ на малом объёме данных\n      \n    \u003e Этот ноутбук предназначен для отладки кода и воспроизводимости на небольшой выборке\n  - `02_exploratory_analysis_full.ipynb` — анализ всех данных с использованием SQLite\n  - `03_statistical_modeling.ipynb` — статистическое моделирование факторов аварийности: линейные и счётные модели регрессии, деревья решений и случайные леса\n\n- `outputs/`\n  - `figures/` — сохранённые статичные графики\n  - `figures/interactive` — интерактивные визуализации\n  - `models/` — результаты моделирования\n\t- `count_models` — негативная биномиальная регрессия\n\t- `decision_tree` — дерево решений\n\t- `random_forest` — случайный лес\n\t- `linear_regression` — лассо- и гребневая регрессии\n\n- `requirements.txt` — список зависимостей для установки окружения\n\n- `.gitignore` — исключение временных и служебных файлов из репозитория\n\n---\n\n## Работа с базой данных\n\nДля демонстрации навыков работы с SQL данные загружаются в SQLite базу средствами Python (`sqlite3`). Это позволяет выполнять выборки, фильтрацию и соединения данных через SQL-запросы прямо в ноутбуках, не используя внешние СУБД.\n\nРабота с базой реализована в:\n- `scripts/create_sample.py`\n- `notebooks/02_exploratory_analysis_full.ipynb`\n- `notebooks/03_statistical_modeling.ipynb`\n\n---\n\n## Как запустить\n\n1. Установите зависимости:\n   ```bash\n   pip install -r requirements.txt\n\n2. Запустите скрипт для создания и очистки выборки (опционально):\n   ```bash\n   scripts/create_sample.py\n   \n3. Запустите ноутбук для анализа выборочных данных:\n   ```bash\n   jupyter notebook notebooks/01_exploratory_analysis_sample.ipynb\n   \n4. Запустите ноутбук для анализа полных данных:\n   ```bash\n   jupyter notebook notebooks/02_exploratory_analysis_full.ipynb\n   \n5. Запустите ноутбук для статистического моделирования:\n   ```bash\n   jupyter notebook notebooks/03_statistical_modeling.ipynb\n   \n\u003e ⚠️ Файл `crash_database.db` создаётся при запуске `scripts/create_sample.py`, `notebooks/03_exploratory_analysis_full.ipynb` и `notebooks/04_statistical_modeling.ipynb` и может занимать до 2.5 ГБ. При необходимости его можно удалить вручную. Также ручное удаление рекомендуется перед повторым запуском скриптов.\n   \n## Реализовано\n\n- Создана выборка из 1000 случайных ДТП и соответствующих участников/транспортных средств\n- Произведена очистка и предобработка выборки\n- Проведён разведывательный анализ выборки и полных данных\n- Осуществлена загрузка полных таблиц в SQLite и работа с SQL\n- Смоделированы факторы, влияющие на число погибших в ДТП и экономические потери с использованием различных видов регрессий, дерева решений и случайного леса\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fodaiseas%2Froad-crash-analysis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fodaiseas%2Froad-crash-analysis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fodaiseas%2Froad-crash-analysis/lists"}