算法微调

This commit is contained in:
wr
2025-07-23 14:17:54 +08:00
parent a3e180c070
commit 3505b16385
2 changed files with 236 additions and 171 deletions

View File

@@ -1182,6 +1182,7 @@ public class DataCleanServiceImpl implements IDataCleanService {
pqReasonableRangeDto = map.get(DataCleanEnum.Freq.getCode());
phaseList = Arrays.asList(pqReasonableRangeDto.getPhaseType().split(","));
if (phaseList.contains(dto.getPhasicType())) {
if(ObjectUtil.isNotNull(dto.getFreq())){
if (dto.getFreq() < pqReasonableRangeDto.getMinValue() || dto.getFreq() > pqReasonableRangeDto.getMaxValue()) {
//log.info("dataV-频率数据异常,已清洗!数据值:{},数据时间:{}", dto.getFreq(), dto.getMinTime());
PqDataVerify pqDataVerify = getPqDataVerify(dto.getLineId()
@@ -1196,12 +1197,16 @@ public class DataCleanServiceImpl implements IDataCleanService {
,pqReasonableRangeDto.getMaxValue());
list.add(pqDataVerify);
}
}else{
logger.info("freq{}", dto);
}
}
//频率偏差判断
pqReasonableRangeDto = map.get(DataCleanEnum.FreqDev.getCode());
phaseList = Arrays.asList(pqReasonableRangeDto.getPhaseType().split(","));
if (phaseList.contains(dto.getPhasicType())) {
if(ObjectUtil.isNotNull(dto.getFreqDev())){
if (dto.getFreqDev() < pqReasonableRangeDto.getMinValue() || dto.getFreqDev() > pqReasonableRangeDto.getMaxValue()) {
//log.info("dataV-频率偏差数据异常,已清洗!数据值:{},数据时间:{}", dto.getFreqDev(), dto.getMinTime());
PqDataVerify pqDataVerify = getPqDataVerify(dto.getLineId()
@@ -1216,12 +1221,16 @@ public class DataCleanServiceImpl implements IDataCleanService {
,pqReasonableRangeDto.getMaxValue());
list.add(pqDataVerify);
}
}else{
logger.info("freqDev{}", dto);
}
}
//相电压有效值
pqReasonableRangeDto = map.get(DataCleanEnum.RmsV.getCode());
phaseList = Arrays.asList(pqReasonableRangeDto.getPhaseType().split(","));
if (phaseList.contains(dto.getPhasicType())) {
if(ObjectUtil.isNotNull(dto.getRms())){
if (dto.getRms() < (pqReasonableRangeDto.getMinValue()* DataCommonUtils.getVoltageData(line.getVoltageLevel()))
|| dto.getRms() > (pqReasonableRangeDto.getMaxValue()*DataCommonUtils.getVoltageData(line.getVoltageLevel()))) {
//log.info("dataV-相电压有效值数据异常,已清洗!数据值:{},数据时间:{}", dto.getRms(), dto.getMinTime());
@@ -1237,12 +1246,16 @@ public class DataCleanServiceImpl implements IDataCleanService {
,pqReasonableRangeDto.getMaxValue()*DataCommonUtils.getVoltageData(line.getVoltageLevel()));
list.add(pqDataVerify);
}
}else{
logger.info("rmsV{}", dto);
}
}
//正序电压
pqReasonableRangeDto = map.get(DataCleanEnum.VPos.getCode());
phaseList = Arrays.asList(pqReasonableRangeDto.getPhaseType().split(","));
if (phaseList.contains(dto.getPhasicType())) {
if(ObjectUtil.isNotNull(dto.getVPos())){
if (dto.getVPos() < (pqReasonableRangeDto.getMinValue()*DataCommonUtils.getVoltageData(line.getVoltageLevel()))
|| dto.getVPos() > (pqReasonableRangeDto.getMaxValue()*DataCommonUtils.getVoltageData(line.getVoltageLevel()))) {
//log.info("dataV-正序电压数据异常,已清洗!数据值:{},数据时间:{}", dto.getVPos(), dto.getMinTime());
@@ -1258,12 +1271,16 @@ public class DataCleanServiceImpl implements IDataCleanService {
,pqReasonableRangeDto.getMaxValue()*DataCommonUtils.getVoltageData(line.getVoltageLevel()));
list.add(pqDataVerify);
}
}else{
logger.info("vPos{}", dto);
}
}
//负序电压
pqReasonableRangeDto = map.get(DataCleanEnum.VNeg.getCode());
phaseList = Arrays.asList(pqReasonableRangeDto.getPhaseType().split(","));
if (phaseList.contains(dto.getPhasicType())) {
if(ObjectUtil.isNotNull(dto.getVNeg())){
if (dto.getVNeg() < (pqReasonableRangeDto.getMinValue()*DataCommonUtils.getVoltageData(line.getVoltageLevel()))
|| dto.getVNeg() > (pqReasonableRangeDto.getMaxValue()*DataCommonUtils.getVoltageData(line.getVoltageLevel()))) {
//log.info("dataV-负序电压数据异常,已清洗!数据值:{},数据时间:{}", dto.getVNeg(), dto.getMinTime());
@@ -1279,12 +1296,16 @@ public class DataCleanServiceImpl implements IDataCleanService {
,pqReasonableRangeDto.getMaxValue()*DataCommonUtils.getVoltageData(line.getVoltageLevel()));
list.add(pqDataVerify);
}
}else{
logger.info("vNeg{}", dto);
}
}
//零序电压
pqReasonableRangeDto = map.get(DataCleanEnum.VZero.getCode());
phaseList = Arrays.asList(pqReasonableRangeDto.getPhaseType().split(","));
if (phaseList.contains(dto.getPhasicType())) {
if(ObjectUtil.isNotNull(dto.getVZero())){
if (dto.getVZero() < (pqReasonableRangeDto.getMinValue()*DataCommonUtils.getVoltageData(line.getVoltageLevel()))
|| dto.getVZero() > (pqReasonableRangeDto.getMaxValue()*DataCommonUtils.getVoltageData(line.getVoltageLevel()))) {
//log.info("dataV-零序电压数据异常,已清洗!数据值:{},数据时间:{}", dto.getVZero(), dto.getMinTime());
@@ -1300,12 +1321,16 @@ public class DataCleanServiceImpl implements IDataCleanService {
,pqReasonableRangeDto.getMaxValue()*DataCommonUtils.getVoltageData(line.getVoltageLevel()));
list.add(pqDataVerify);
}
}else{
logger.info("vZero{}", dto);
}
}
//电压不平衡度
pqReasonableRangeDto = map.get(DataCleanEnum.VUnbalance.getCode());
phaseList = Arrays.asList(pqReasonableRangeDto.getPhaseType().split(","));
if (phaseList.contains(dto.getPhasicType())) {
if(ObjectUtil.isNotNull(dto.getVUnbalance())){
if (dto.getVUnbalance() < pqReasonableRangeDto.getMinValue() || dto.getVUnbalance() > pqReasonableRangeDto.getMaxValue()) {
//log.info("dataV-电压不平衡度数据异常,已清洗!数据值:{},数据时间:{}", dto.getVUnbalance(), dto.getMinTime());
PqDataVerify pqDataVerify = getPqDataVerify(dto.getLineId()
@@ -1320,6 +1345,9 @@ public class DataCleanServiceImpl implements IDataCleanService {
,pqReasonableRangeDto.getMaxValue());
list.add(pqDataVerify);
}
}else{
logger.info("vUnbalance{}", dto);
}
}
//线电压有效值
@@ -1385,6 +1413,8 @@ public class DataCleanServiceImpl implements IDataCleanService {
}
}
}
}else{
logger.info("vuDev{}", dto);
}
// //线电压正偏差
@@ -1431,6 +1461,7 @@ public class DataCleanServiceImpl implements IDataCleanService {
pqReasonableRangeDto = map.get(DataCleanEnum.VThd.getCode());
phaseList = Arrays.asList(pqReasonableRangeDto.getPhaseType().split(","));
if (phaseList.contains(dto.getPhasicType())) {
if(ObjectUtil.isNotNull(dto.getVThd())){
if (dto.getVThd() < pqReasonableRangeDto.getMinValue() || dto.getVThd() > pqReasonableRangeDto.getMaxValue()) {
//log.info("dataV-电压总谐波畸变率数据异常,已清洗!数据值:{},数据时间:{}", dto.getVThd(), dto.getMinTime());
PqDataVerify pqDataVerify = getPqDataVerify(dto.getLineId()
@@ -1445,6 +1476,9 @@ public class DataCleanServiceImpl implements IDataCleanService {
,pqReasonableRangeDto.getMaxValue());
list.add(pqDataVerify);
}
}else{
logger.info("vThd{}", dto);
}
}
//相(线)电压基波有效值
@@ -1481,6 +1515,7 @@ public class DataCleanServiceImpl implements IDataCleanService {
pqReasonableRangeDto = map.get(DataCleanEnum.RmsI.getCode());
phaseList = Arrays.asList(pqReasonableRangeDto.getPhaseType().split(","));
if (phaseList.contains(dto.getPhasicType())) {
if(ObjectUtil.isNotNull(dto.getRms())){
if (dto.getRms() >= line.getCT1() * 1.2) {
PqDataVerify pqDataVerify = getPqDataVerify(dto.getLineId()
,dto.getMinTime()
@@ -1494,6 +1529,9 @@ public class DataCleanServiceImpl implements IDataCleanService {
,line.getCT1());
list.add(pqDataVerify);
}
}else{
logger.info("rmsI{}", dto);
}
}
return list;
}
@@ -1509,6 +1547,7 @@ public class DataCleanServiceImpl implements IDataCleanService {
pqReasonableRangeDto = map.get(DataCleanEnum.Plt.getCode());
phaseList = Arrays.asList(pqReasonableRangeDto.getPhaseType().split(","));
if (phaseList.contains(dto.getPhasicType())) {
if(ObjectUtil.isNotNull(dto.getPlt())){
if (dto.getPlt() < pqReasonableRangeDto.getMinValue() || dto.getPlt() > pqReasonableRangeDto.getMaxValue()) {
PqDataVerify pqDataVerify = getPqDataVerify(dto.getLineId()
,dto.getMinTime()
@@ -1522,6 +1561,9 @@ public class DataCleanServiceImpl implements IDataCleanService {
,pqReasonableRangeDto.getMaxValue());
list.add(pqDataVerify);
}
}else{
logger.info("plt{}", dto);
}
}
return list;
}
@@ -1602,6 +1644,7 @@ public class DataCleanServiceImpl implements IDataCleanService {
PqReasonableRangeDto pqReasonableRangeDto = map.get(DataCleanEnum.Pf.getCode());
List<String> phaseList = Arrays.asList(pqReasonableRangeDto.getPhaseType().split(","));
if (phaseList.contains(dto.getPhasicType())) {
if(ObjectUtil.isNotNull(dto.getPf())){
if (dto.getPf() < pqReasonableRangeDto.getMinValue() || dto.getPf() > pqReasonableRangeDto.getMaxValue()) {
PqDataVerify pqDataVerify = getPqDataVerify(dto.getLineId()
,dto.getMinTime()
@@ -1615,6 +1658,9 @@ public class DataCleanServiceImpl implements IDataCleanService {
,pqReasonableRangeDto.getMaxValue());
list.add(pqDataVerify);
}
}else{
logger.info("pf{}", dto);
}
}
return list;
}
@@ -1653,6 +1699,8 @@ public class DataCleanServiceImpl implements IDataCleanService {
);
list.add(pqDataVerify);
}
}else {
logger.info("DataHarmPhasicV{}", dto);
}
}
}
@@ -1667,6 +1715,7 @@ public class DataCleanServiceImpl implements IDataCleanService {
PqReasonableRangeDto pqReasonableRangeDto = map.get(DataCleanEnum.Fluc.getCode());
List<String> phaseList = Arrays.asList(pqReasonableRangeDto.getPhaseType().split(","));
if (phaseList.contains(dto.getPhasicType())) {
if(ObjectUtil.isNotNull(dto.getFluc())){
if (dto.getFluc() < pqReasonableRangeDto.getMinValue() || dto.getFluc() > pqReasonableRangeDto.getMaxValue()) {
PqDataVerify pqDataVerify = getPqDataVerify(dto.getLineId()
,dto.getMinTime()
@@ -1680,6 +1729,9 @@ public class DataCleanServiceImpl implements IDataCleanService {
,pqReasonableRangeDto.getMaxValue());
list.add(pqDataVerify);
}
}else{
logger.info("flus{}", dto);
}
}
return list;
}
@@ -1692,6 +1744,7 @@ public class DataCleanServiceImpl implements IDataCleanService {
PqReasonableRangeDto pqReasonableRangeDto = map.get(DataCleanEnum.Pst.getCode());
List<String> phaseList = Arrays.asList(pqReasonableRangeDto.getPhaseType().split(","));
if (phaseList.contains(dto.getPhasicType())) {
if(ObjectUtil.isNotNull(dto.getPst())){
if (dto.getPst() < pqReasonableRangeDto.getMinValue() || dto.getPst() > pqReasonableRangeDto.getMaxValue()) {
PqDataVerify pqDataVerify = getPqDataVerify(dto.getLineId()
,dto.getMinTime()
@@ -1705,6 +1758,9 @@ public class DataCleanServiceImpl implements IDataCleanService {
,pqReasonableRangeDto.getMaxValue());
list.add(pqDataVerify);
}
}else{
logger.info("pst{}", dto);
}
}
return list;
}

View File

@@ -585,8 +585,12 @@ public class IDataCrossingServiceImpl implements IDataCrossingService {
// 获取 Overlimit 类的 getUharmx 方法
Method getUharmMethod = Overlimit.class.getMethod("getUharm" + i);
float limit = (float) getUharmMethod.invoke(overlimit);
if (ObjectUtil.isNotNull(value)){
if (value > limit) {
addAbnormalData(v[i - 2], item.getValueType(), item.getPhasicType(), item.getMinTime(), value, limit);
addAbnormalData(v[i - 2], item.getPhasicType(), item.getValueType(), item.getMinTime(), value, limit);
}
}else{
addAbnormalData(v[i - 2], item.getPhasicType(), item.getValueType(), item.getMinTime(), value, limit);
}
} catch (Exception e) {
e.printStackTrace();
@@ -727,9 +731,14 @@ public class IDataCrossingServiceImpl implements IDataCrossingService {
// 获取 Overlimit 类的 getUharmx 方法
Method getUharmMethod = Overlimit.class.getMethod("getUharm" + i);
float limit = (float) getUharmMethod.invoke(overlimit);
if (ObjectUtil.isNotNull(value)){
if (value > limit) {
addAbnormalData(v[i - 2], item.getPhasicType(), item.getValueType(), item.getMinTime(), value, limit);
}
}else{
System.out.println(item);
addAbnormalData(v[i - 2], item.getPhasicType(), item.getValueType(), item.getMinTime(), value, limit);
}
} catch (Exception e) {
e.printStackTrace();
}