| | |
| | | using Microsoft.ML; |
| | | using IStation.ChEr.Application; |
| | | using Microsoft.ML; |
| | | using Microsoft.ML.Transforms.TimeSeries; |
| | | |
| | | namespace IStation.Service |
| | |
| | | /// </summary> |
| | | public class SSAInput |
| | | { |
| | | |
| | | /// <summary> |
| | | /// 时间 |
| | | /// </summary> |
| | |
| | | /// <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 基础验证 |
| | | |
| | |
| | | return null; |
| | | } |
| | | |
| | | #endregion |
| | | #endregion 基础验证 |
| | | |
| | | var sampleData = data.Select(x => new SSAInput() { Time = x.Item1, Value = (float)x.Item2 }).ToList();//样本数据 |
| | | var mlContext = new MLContext();//创建 |
| | |
| | | |
| | | //构造预测记录 |
| | | 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] |
| | |
| | | } |
| | | |
| | | return vmList; |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | /* public class TotalOneDay |
| | | { |
| | | public DateTime DateTime { get; set; } |
| | | public double Total { get; set; } |
| | | }*/ |
| | | |
| | | |
| | | } |
| | | } |