duheng
2024-05-13 af447e8f2a28cd775bb8bd345ee59dbd575beb47
WaterPredict/IStation.ChEr.Application.WaterPredict/02-predict/SSAPredictHelper.cs
@@ -1,4 +1,5 @@
using Microsoft.ML;
using IStation.ChEr.Application;
using Microsoft.ML;
using Microsoft.ML.Transforms.TimeSeries; 
namespace IStation.Service
@@ -28,7 +29,6 @@
        /// </summary>
        public class SSAInput
        {
            /// <summary>
            /// 时间
            /// </summary>
@@ -71,7 +71,7 @@
        /// <param name="confidence_level">上下限的可信度</param>
        /// <param name="fulture">预测条数</param>
        /// <returns></returns>
        public List<TotalOneDay> Predict(List<Tuple<DateTime, double>> data, int time_step, int win_size, int series_length, float confidence_level, int fulture)
        public List<SSAData> Predict(List<Tuple<DateTime, double>> data, int time_step, int win_size, int series_length, float confidence_level, int fulture)
        {
            #region 基础验证
@@ -104,7 +104,7 @@
                return null;
            }
            #endregion
            #endregion 基础验证
            var sampleData = data.Select(x => new SSAInput() { Time = x.Item1, Value = (float)x.Item2 }).ToList();//样本数据
            var mlContext = new MLContext();//创建
@@ -132,10 +132,10 @@
            //构造预测记录
            var beginTime = sampleData.Last().Time;
            var vmList = new List<TotalOneDay>();
            var vmList = new List<SSAData>();
            for (int i = 0; i < forecast.Predict.Length; i++)
            {
                var vm = new TotalOneDay()
                var vm = new SSAData()
                {
                    DateTime = beginTime.AddSeconds((i + 1) * time_step),
                    Total = forecast.Predict[i]
@@ -144,17 +144,12 @@
            }
            return vmList;
        }
/*        public class TotalOneDay
        {
            public DateTime DateTime { get; set; }
            public double Total { get; set; }
        }*/
    }
}