feat: 添加 JD-R 理论分析模块与 SHAP 可解释性分析功能

- 后端新增 JD-R(工作要求-资源)理论维度数据生成,包含工作要求、工作资源、
    个人资源、中介变量共 16 个新特征列
  - 新增 JD-R 分析服务与 API(维度统计、倦怠投入分析、双路径中介分析、
    分组轮廓、风险分布)
  - 新增 SHAP 可解释性分析模块(全局重要性、局部解释、特征交互、依赖图)
  - 预测服务增加风险分类模型加载与概率预测能力
  - 前端新增 JD-R 分析页面(JDRAnalysis.vue),含雷达图、散点图、路径分析等可视化
  - 预测页面增加风险概率展示与 SHAP 特征解释
  - 路由与导航菜单同步更新
This commit is contained in:
shuo
2026-04-04 07:15:46 +08:00
parent eab1a62ffb
commit e8235bf3ca
30 changed files with 6302 additions and 10 deletions

View File

@@ -147,4 +147,63 @@ FEATURE_NAME_CN = {
'年龄分层': '年龄分层',
'通勤分层': '通勤分层',
'加班分层': '加班分层',
# JD-R 工作要求维度
'工作自主性': '工作自主性',
'情绪劳动强度': '情绪劳动强度',
'时间压力感知': '时间压力感知',
'角色模糊度': '角色模糊度',
'工作家庭冲突': '工作家庭冲突',
# JD-R 工作资源维度
'上级支持': '上级支持',
'同事支持': '同事支持',
'技能多样性': '技能多样性',
'职业发展机会': '职业发展机会',
'参与决策': '参与决策',
'组织公平感': '组织公平感',
# JD-R 个人资源维度
'自我效能感': '自我效能感',
'心理韧性': '心理韧性',
'乐观程度': '乐观程度',
# JD-R 中介变量
'工作倦怠': '工作倦怠',
'工作投入': '工作投入',
# JD-R 复合指数
'工作要求指数': '工作要求指数',
'工作资源指数': '工作资源指数',
'个人资源指数': '个人资源指数',
'JD-R平衡度': 'JD-R平衡度',
'倦怠风险指数': '倦怠风险指数',
'工作投入指数': '工作投入指数',
}
# JD-R 理论维度映射
JDR_DIMENSIONS = {
'job_demands': {
'name_cn': '工作要求',
'features': ['月均加班时长', '通勤时长分钟', '是否夜班岗位', '工作自主性',
'情绪劳动强度', '时间压力感知', '角色模糊度', '工作家庭冲突'],
},
'job_resources': {
'name_cn': '工作资源',
'features': ['工作自主性', '上级支持', '同事支持', '技能多样性',
'职业发展机会', '参与决策', '组织公平感'],
},
'personal_resources': {
'name_cn': '个人资源',
'features': ['自我效能感', '心理韧性', '乐观程度'],
},
'mediators': {
'name_cn': '中介变量',
'features': ['工作倦怠', '工作投入'],
},
}
# 风险等级配置
RISK_LEVELS = {
'low': {'max_hours': 4, 'label': '低风险', 'color': '#22c55e'},
'medium': {'min_hours': 4, 'max_hours': 8, 'label': '中风险', 'color': '#f59e0b'},
'high': {'min_hours': 8, 'label': '高风险', 'color': '#ef4444'},
}
# JD-R 数据版本标记
JDR_DATA_VERSION = '1.0'