package com.estate.expert.admin.component.fuzzy;
|
|
import com.estate.expert.admin.utils.json.CustomFloatDeserializer;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
import lombok.Data;
|
|
/**
|
* 模糊层次分析法(FAHP)评估响应结果
|
*
|
* <p>该类封装了模糊评估API返回的评估结果,包含了风险评估的各个关键指标。
|
* 这些结果用于指导工程安全管理和风险控制决策。</p>
|
*
|
* <p>主要用途:</p>
|
* <ul>
|
* <li>提供综合风险评分和风险等级</li>
|
* <li>显示各因素的权重分布</li>
|
* <li>验证判断矩阵的一致性</li>
|
* <li>支持风险管控决策</li>
|
* </ul>
|
*
|
* @ClassName FuzzyApiResponse
|
* @Description 模糊层次分析法评估响应结果
|
* @Author daisy
|
* @Date 2023/10/29
|
**/
|
@Data
|
public class FuzzyApiResponse {
|
|
/**
|
* 一致性指标 (Consistency Index)
|
*
|
* <p>用于衡量判断矩阵一致性的指标,反映专家判断的逻辑一致性程度。
|
* CI值越小,表示判断矩阵的一致性越好。</p>
|
*
|
* <p>计算公式:CI = (λmax - n) / (n - 1)</p>
|
* <p>其中:λmax为判断矩阵的最大特征值,n为矩阵阶数</p>
|
*
|
* <p>评判标准:</p>
|
* <ul>
|
* <li>CI ≤ 0.1:一致性良好</li>
|
* <li>0.1 < CI ≤ 0.2:一致性可接受</li>
|
* <li>CI > 0.2:一致性较差,需要重新调整判断矩阵</li>
|
* </ul>
|
*/
|
@JsonDeserialize(using = CustomFloatDeserializer.class)
|
Float CI;
|
|
/**
|
* 一致性比例 (Consistency Ratio)
|
*
|
* <p>一致性指标与平均随机一致性指标的比值,用于最终判断矩阵一致性。
|
* CR值越小,表示判断矩阵的一致性越好。</p>
|
*
|
* <p>计算公式:CR = CI / RI</p>
|
* <p>其中:CI为一致性指标,RI为平均随机一致性指标</p>
|
*
|
* <p>评判标准:</p>
|
* <ul>
|
* <li>CR ≤ 0.1:一致性良好,判断矩阵可接受</li>
|
* <li>CR > 0.1:一致性较差,需要重新调整判断矩阵</li>
|
* </ul>
|
*/
|
@JsonDeserialize(using = CustomFloatDeserializer.class)
|
Float CR;
|
|
/**
|
* 平均随机一致性指标 (Random Index)
|
*
|
* <p>随机生成的判断矩阵的平均一致性指标,用作一致性评判的基准。
|
* RI值随矩阵阶数变化,阶数越大,RI值越大。</p>
|
*
|
* <p>标准RI值表:</p>
|
* <ul>
|
* <li>n=1: RI=0</li>
|
* <li>n=2: RI=0</li>
|
* <li>n=3: RI=0.58</li>
|
* <li>n=4: RI=0.90</li>
|
* <li>n=5: RI=1.12</li>
|
* <li>n=6: RI=1.24</li>
|
* <li>n=7: RI=1.32</li>
|
* <li>n=8: RI=1.41</li>
|
* <li>n=9: RI=1.45</li>
|
* <li>n=10: RI=1.49</li>
|
* </ul>
|
*/
|
@JsonDeserialize(using = CustomFloatDeserializer.class)
|
Float RI;
|
|
/**
|
* 一致性结果
|
*
|
* <p>表示判断矩阵是否通过一致性检验的布尔值。</p>
|
*
|
* <p>判断标准:</p>
|
* <ul>
|
* <li>true:CR ≤ 0.1,判断矩阵一致性良好,结果可信</li>
|
* <li>false:CR > 0.1,判断矩阵一致性较差,需要重新调整</li>
|
* </ul>
|
*
|
* <p>注意:只有当consistence为true时,评估结果才具有参考价值。</p>
|
*/
|
boolean consistence;
|
|
/**
|
* 风险得分
|
*
|
* <p>通过模糊层次分析法计算得出的综合风险评分,范围通常在0-100之间。
|
* 分数越高,表示整体风险水平越高。</p>
|
*
|
* <p>计算过程:</p>
|
* <ul>
|
* <li>1. 根据隶属度矩阵计算各因素的风险值</li>
|
* <li>2. 根据权重矩阵计算加权平均风险值</li>
|
* <li>3. 将模糊风险值转换为具体数值</li>
|
* </ul>
|
*
|
* <p>应用场景:</p>
|
* <ul>
|
* <li>风险等级划分</li>
|
* <li>风险趋势分析</li>
|
* <li>管控措施优先级排序</li>
|
* </ul>
|
*/
|
float riskPoint;
|
|
/**
|
* 风险区间
|
*
|
* <p>根据风险得分划分的风险等级区间,范围从1到5。</p>
|
*
|
* <p>风险等级说明:</p>
|
* <ul>
|
* <li>1:可忽略风险 (Very Low Risk) - 风险极低,可接受</li>
|
* <li>2:低风险 (Low Risk) - 风险较低,需要关注</li>
|
* <li>3:中等风险 (Medium Risk) - 风险中等,需要管控</li>
|
* <li>4:高风险 (High Risk) - 风险较高,需要重点管控</li>
|
* <li>5:不可接受风险 (Very High Risk) - 风险极高,必须立即处理</li>
|
* </ul>
|
*
|
* <p>管控建议:</p>
|
* <ul>
|
* <li>等级1-2:常规监控,保持现状</li>
|
* <li>等级3:加强监控,制定预防措施</li>
|
* <li>等级4:重点管控,立即整改</li>
|
* <li>等级5:紧急处理,停止作业</li>
|
* </ul>
|
*/
|
int riskInterval;
|
|
/**
|
* 权重数组
|
*
|
* <p>各因素在综合评估中的权重分布,数组长度等于参与评估的因素数量。
|
* 权重值表示各因素对整体风险的影响程度。</p>
|
*
|
* <p>权重特性:</p>
|
* <ul>
|
* <li>所有权重值均为正数</li>
|
* <li>所有权重值之和等于1.0</li>
|
* <li>权重越大,该因素对整体风险的影响越大</li>
|
* </ul>
|
*
|
* <p>应用场景:</p>
|
* <ul>
|
* <li>识别关键风险因素</li>
|
* <li>制定针对性管控措施</li>
|
* <li>资源分配优先级排序</li>
|
* </ul>
|
*
|
* <p>示例:如果weight = {0.3, 0.25, 0.2, 0.15, 0.1},
|
* 表示第1个因素权重最高(30%),第5个因素权重最低(10%)。</p>
|
*/
|
float[] weight;
|
|
/**
|
* 当前所计算层级的隶属函数
|
*
|
* <p>表示综合评估结果在各个风险等级上的隶属度分布。
|
* 数组长度为5,对应5个风险等级。</p>
|
*
|
* <p>数组含义:</p>
|
* <ul>
|
* <li>largeList[0]:在可忽略风险等级上的隶属度</li>
|
* <li>largeList[1]:在低风险等级上的隶属度</li>
|
* <li>largeList[2]:在中等风险等级上的隶属度</li>
|
* <li>largeList[3]:在高风险等级上的隶属度</li>
|
* <li>largeList[4]:在不可接受风险等级上的隶属度</li>
|
* </ul>
|
*
|
* <p>特性:</p>
|
* <ul>
|
* <li>所有元素值在0-1之间</li>
|
* <li>所有元素值之和等于1.0</li>
|
* <li>最大值对应的风险等级为主要风险等级</li>
|
* </ul>
|
*
|
* <p>应用:用于风险等级的模糊判断和不确定性分析。</p>
|
*/
|
@JsonProperty("LargeList")
|
float[] largeList;
|
}
|