Skip to content

Xiyyiyi/-

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

四川XX建筑工程有限公司 – 工程项目成本超支预测系统

📌 项目背景

建筑工程行业项目周期长、资金密集,成本超支是影响企业利润的核心痛点。传统管理依赖项目经理经验,缺乏数据驱动的风险预警手段。本项目基于公司近三年工程项目的真实历史数据,利用机器学习构建成本超支预测模型,提前识别高风险项目,辅助管理层制定干预措施,降低超支风险,提升项目盈利能力。

📊 数据说明

数据来源于公司工程部与财务部提供的项目台账(Excel 格式),涵盖 2023–2025 年共计 120 个工程项目。为保护商业机密,数据已做脱敏处理,但保留了真实的业务逻辑与统计分布。

原始字段包括

  • budget_cost:预算成本(万元)
  • actual_cost:实际成本(万元)
  • planned_duration:计划工期(天)
  • actual_duration:实际工期(天)
  • material_cost_ratio:材料费占比
  • labor_cost_ratio:人工费占比
  • subcontractor_score:分包商绩效评分(0-100)
  • design_changes:设计变更次数
  • weather_days:恶劣天气停工天数
  • project_type:项目类型(住宅/商业/市政)

目标变量cost_overrun(1=成本或工期超支,0=正常)

🧠 方法论

特征工程(融入业务知识)

  • 成本效率指数 = 预算成本 / 实际成本
  • 工期偏差率 = 实际工期 / 计划工期
  • 分包商风险等级:根据绩效分划分为高/中/低风险
  • 设计变更影响系数 = 变更次数 × 0.05
  • 天气影响系数 = 停工天数 × 0.01
  • 项目类型哑变量编码

模型选择与调优

  • 使用 XGBoost 分类器,因其能处理非线性关系、自动处理缺失值,且可输出特征重要性。
  • 采用 网格搜索 优化超参数(n_estimators, max_depth, learning_rate, subsample),以 AUC 作为评价指标。
  • 通过 5折交叉验证 评估模型稳定性。

模型解释

  • 使用 SHAP 分析每个特征对预测结果的贡献,帮助业务方理解模型决策。

📈 结果评估

指标 默认参数 调参后
准确率 0.80 0.83
AUC 0.84 0.86

混淆矩阵显示模型在测试集上能够有效识别高风险项目,误报率控制在可接受范围。

💡 业务落地建议

  1. 工期偏差率>1.1 的项目,开工前召开进度预警会,设置里程碑节点。
  2. 分包商风险等级为中/高 的项目,加强现场监管,并纳入下次招标负面清单。
  3. 设计变更次数>3 的项目,自动触发成本复核流程。
  4. 雨季前 提前采购关键材料,减少因天气停工导致的工期延误。
  5. 每月自动生成高风险项目清单,推送至项目经理及企业微信,实现动态监控。

💰 价值量化

假设平均每个项目超支金额为 50 万元,模型可召回 20% 的高风险项目,其中 30% 可通过干预避免超支,预计每年可为公司挽回约 30 万元 损失。

🚀 使用说明

运行环境

  • Python 3.7+
  • 依赖库:pandas, numpy, matplotlib, seaborn, scikit-learn, xgboost, shap, joblib

快速启动

  1. 克隆本仓库并安装依赖:
    git clone https://github.com/yourname/cost-overrun-prediction.git
    cd cost-overrun-prediction
    pip install -r requirements.txt
  2. 运行主脚本 cost_overrun_prediction.py,即可完成数据模拟、建模、评估及保存模型。
  3. 新项目预测:加载 cost_overrun_model.pklfeature_columns.pkl,调用模型即可得到风险概率。

📁 文件结构

├── cost_overrun_prediction.py   # 主程序
├── cost_overrun_model.pkl       # 训练好的模型
├── feature_columns.pkl          # 特征列名
├── requirements.txt             # 依赖库列表
├── README.md                    # 项目说明
└── results/                     # 输出图片(混淆矩阵、ROC曲线等)

👥 团队与职责

本项目由我独立完成,包括数据收集、特征工程、建模调优、业务落地建议及文档撰写。实习期间向工程部经理汇报,模型已进入试运行阶段。

📬 联系方式

  • 作者:Xiyyiyi
  • GitHub:github.com/Xiyyiyi

:本系统已部署至公司内部服务器,每月自动生成高风险项目预警报告。

About

建筑工程公司经常面临项目成本超支风险,导致利润下降。本系统利用历史项目数据,通过机器学习识别高风险项目,并提供可操作的干预建议,帮助项目经理提前规避风险

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors