Parcourir la source

fix:拟合方程展示相关系数

Roc il y a 1 an
Parent
commit
61315e035c
2 fichiers modifiés avec 9 ajouts et 3 suppressions
  1. 4 2
      controllers/base_from_calculate.go
  2. 5 1
      models/edb_data_calculate_nhcc.go

+ 4 - 2
controllers/base_from_calculate.go

@@ -1904,7 +1904,7 @@ func (this *CalculateController) CalculateComputeCorrelation() {
 		br.ErrMsg = "两个指标不允许为同一个"
 		return
 	}
-	rVal, err, errMsg := models.CalculateComputeCorrelation(&req, fromEdbInfo, secondEdbInfo, nhccDate)
+	aVal, bVal, rVal, err, errMsg := models.CalculateComputeCorrelation(&req, fromEdbInfo, secondEdbInfo, nhccDate)
 	if err != nil {
 		br.Msg = "计算失败"
 		if errMsg != `` {
@@ -1914,9 +1914,11 @@ func (this *CalculateController) CalculateComputeCorrelation() {
 		return
 	}
 
+	valStr := fmt.Sprintf("相关系数:%f;  拟合公式:Y=%sX+%s", rVal, utils.SubFloatToString(aVal, 4), utils.SubFloatToString(bVal, 4))
+
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "计算成功"
-	br.Data = rVal
+	br.Data = valStr
 	br.IsAddLog = true
 }

+ 5 - 1
models/edb_data_calculate_nhcc.go

@@ -651,7 +651,7 @@ func refreshAllCalculateNhcc(to orm.TxOrmer, edbInfo *EdbInfo, existItemA, exist
 }
 
 // CalculateComputeCorrelation 计算相关性结果
-func CalculateComputeCorrelation(req *EdbInfoCalculateBatchSaveReq, firstEdbInfo, secondEdbInfo *EdbInfo, nhccDate NhccDate) (r float64, err error, errMsg string) {
+func CalculateComputeCorrelation(req *EdbInfoCalculateBatchSaveReq, firstEdbInfo, secondEdbInfo *EdbInfo, nhccDate NhccDate) (a, b, r float64, err error, errMsg string) {
 	var existItemA, existItemB *EdbInfoCalculateMapping
 	//第一个指标
 	{
@@ -725,6 +725,10 @@ func CalculateComputeCorrelation(req *EdbInfoCalculateBatchSaveReq, firstEdbInfo
 		}
 		coordinateData = append(coordinateData, tmpCoordinate)
 	}
+	// 计算线性方程公式
+	a, b = utils.GetLinearResult(coordinateData)
+
+	// 计算相关性
 	r = utils.ComputeCorrelation(coordinateData)
 
 	return