/*--------------------------------- * Description: Update Mining Model with parameters * Input: * mm: Mining Model * strStockCode: Code of Stock * bPrev: True: move to previous; False: loop * Output: * True: Loop; False: Stop * ----------------------------------- */ public static bool UpdateMM(Microsoft.AnalysisServices.MiningModel mm, string strStockCode, bool bPrev) { mm.AlgorithmParameters.Clear(); // Default:10; 10:5 -> from 0 to (n-10)/5 //mm.AlgorithmParameters.Add("MINIMUM_SUPPORT", 10); // 0.1:0.05 -> from 0 to (1-0.1)/0.05=18 mm.AlgorithmParameters.Add("COMPLEXITY_PENALTY", COMPLEXITY_PENALTY); // {5,20,60}, 0:0.1 -> from 0 to (1-0.1)/0.05=18 mm.AlgorithmParameters.Add("PERIODICITY_HINT", "{5,20,60}"); mm.AlgorithmParameters.Add("AUTO_DETECT_PERIODICITY", AUTO_DETECT_PERIODICITY); // Defeult: 1, 10 mm.AlgorithmParameters.Add("HISTORIC_MODEL_COUNT", HISTORIC_MODEL_COUNT); mm.AlgorithmParameters.Add("HISTORIC_MODEL_GAP", HISTORIC_MODEL_GAP); // Max, Min Time Series mm.AlgorithmParameters.Add("MAXIMUM_SERIES_VALUE", MAXIMUM_SERIES_VALUE); mm.AlgorithmParameters.Add("MINIMUM_SERIES_VALUE", MINIMUM_SERIES_VALUE); mm.Update(); mm.Process(ProcessType.ProcessFull); if (bPrev) { return(false); } else { return(ADOMDLib.CheckResult(strStockCode)); } }