| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- """5 号机缸体振动实验配置。
- 本目录与 _tmp_temperature 一样是临时实验区,不进入 models/。
- 温度只作为事后参考,不参与特征、阈值、标签生成。
- """
- from __future__ import annotations
- from pathlib import Path
- UNIT = 5
- UNIT_PREFIX = "5号机组"
- POINT_SUFFIX = "缸体振动"
- BASE_DIR = Path(__file__).resolve().parent
- OUTPUT_DIR = BASE_DIR / "out"
- PLOT_DIR = OUTPUT_DIR / "plots"
- TEMPERATURE_LABELS = BASE_DIR.parent / "_tmp_temperature" / "out" / "温度异常段.csv"
- CYLINDERS = {
- "一缸": {"stage": "一级", "stage_cylinder": "一级1#", "point": "5号机组一缸缸体振动"},
- "二缸": {"stage": "一级", "stage_cylinder": "一级2#", "point": "5号机组二缸缸体振动"},
- "三缸": {"stage": "一级", "stage_cylinder": "一级3#", "point": "5号机组三缸缸体振动"},
- "四缸": {"stage": "二级", "stage_cylinder": "二级1#", "point": "5号机组四缸缸体振动"},
- "五缸": {"stage": "二级", "stage_cylinder": "二级2#", "point": "5号机组五缸缸体振动"},
- "六缸": {"stage": "二级", "stage_cylinder": "二级3#", "point": "5号机组六缸缸体振动"},
- }
- POINT_TO_CYLINDER = {meta["point"]: name for name, meta in CYLINDERS.items()}
- CYLINDER_TO_INDEX = {name: index for index, name in enumerate(CYLINDERS, start=1)}
- STAGE_PEERS = {
- "一级": ["一缸", "二缸", "三缸"],
- "二级": ["四缸", "五缸", "六缸"],
- }
- # 5#/6# 温度点位使用“级内编号”;温度点位的 2# 缸对应同级的二缸。
- STAGE_CYLINDER_TO_GLOBAL = {
- ("一级", "1#"): "一缸",
- ("一级", "2#"): "二缸",
- ("一级", "3#"): "三缸",
- ("二级", "1#"): "四缸",
- ("二级", "2#"): "五缸",
- ("二级", "3#"): "六缸",
- }
- # 只用于事后验证,不参与振动标签生成。
- EVENTS = [
- {
- "event_id": "2026-06-12",
- "date": "2026-06-12",
- "cylinder": "二缸",
- "description": "5#压缩机一级2#缸温度异常",
- "fault_category": "气阀故障",
- },
- {
- "event_id": "2026-06-21",
- "date": "2026-06-21",
- "cylinder": "五缸",
- "description": "5#压缩机二级2#缸温度异常",
- "fault_category": "气阀故障",
- },
- {
- "event_id": "2026-07-11",
- "date": "2026-07-11",
- "cylinder": "二缸",
- "description": "一级二缸排温高停机",
- "fault_category": "气阀故障",
- },
- ]
- # 只用跨缸残差评分:抵消全厂工况/启停造成的共同抬升,突出单缸异常。
- SCORE_FEATURES: list[str] = []
- RESIDUAL_FEATURES = ["rms_log", "kurt", "hf_ratio", "env_1x_log", "env_2x_log"]
- PLOT_FEATURES = ["rms_log", "kurt", "hf_ratio", "env_1x_log", "env_2x_log"]
- # 基线剔除:事件日前后各 7 天/1 天不参与正常基线。
- BASELINE_EXCLUDE_BEFORE_DAYS = 7
- BASELINE_EXCLUDE_AFTER_DAYS = 1
- # 事件验证窗口:事件前 7 天 ~ 事件后 1 天。
- VALIDATION_BEFORE_DAYS = 7
- VALIDATION_AFTER_DAYS = 1
- MIN_SCORE_Z = 4.5
- SCORE_QUANTILE = 0.99
- MIN_CONTRAST = 2.5
- MIN_CONSECUTIVE_HITS = 2
- STRONG_SINGLE_SCORE = 4.5
- STRONG_SINGLE_CONTRAST = 3.0
- STRONG_SINGLE_SPECIFICITY = 1.2
- MERGE_GAP_POINTS = 8
- ROLLING_WINDOW_HOURS = 168
- ROLLING_MIN_HOURS = 24
- CONTRAST_WINDOW_HOURS = 24
- ONSET_LOOKBACK_DAYS = 7
- ONSET_FACTOR = 0.7
- FEATURE_VERSION = "v1"
|