public virtual void SetCapital1ConstantProperty(string attName, string attValue) { switch (attName) { case cRandMPercent: this.RandMPercent = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cReplacementCost: this.ReplacementCost = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cTotalReplacementCost: this.TotalReplacementCost = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cReplacementYrsFromBaseDate: this.ReplacementYrsFromBaseDate = CalculatorHelpers.ConvertStringToDouble(attValue); break; default: break; } }
public static string[] AddStringArrayToStringArray(string[] strArray, List <List <double> > trends, int rowIndex) { string[] newArray = new string[] { }; if (trends.Count > rowIndex) { List <double> trend = trends[rowIndex]; newArray = new string[trend.Count]; if (strArray == null) { strArray = new string[trend.Count]; } if (strArray.Count() == 0) { strArray = new string[trend.Count]; } double trendValue = 0; double stringArrayValue = 0; for (int k = 0; k < strArray.Count(); k++) { stringArrayValue = CalculatorHelpers .ConvertStringToDouble(strArray[k]); if (trend.Count > k) { trendValue = trend[k] + stringArrayValue; newArray[k] = trendValue.ToString(); } } } return(newArray); }
public void SetTotalNPV1Stat1Property(NPV1Stat1 ind, string attName, string attValue) { ind.SetMeanBenefitsProperties(attName, attValue); ind.SetMeanCostsProperties(attName, attValue); ind.SetMedianBenefitsProperties(attName, attValue); ind.SetMedianCostsProperties(attName, attValue); ind.SetVarianceBenefitsProperties(attName, attValue); ind.SetVarianceCostsProperties(attName, attValue); ind.SetStdDevBenefitsProperties(attName, attValue); ind.SetStdDevCostsProperties(attName, attValue); switch (attName) { case TCostN: ind.TotalCostN = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TBenefitN: ind.TotalBenefitN = CalculatorHelpers.ConvertStringToDouble(attValue); break; default: break; } }
public static void CopyStringDataToStringData(List <List <string> > dataToCopy, List <List <string> > data, int numOfCols, int startColIndex) { int iRow = 0; int iCol = 0; int iColStop = numOfCols + startColIndex; double dbZero = 0; foreach (var row in dataToCopy) { foreach (var col in dataToCopy) { if (data.Count() > iRow) { for (int i = startColIndex; i < iColStop; i++) { if (row.Count > i && data[iRow].Count > i) { //don't overwrite the location and tr indexes (they init with zero) dbZero = CalculatorHelpers.ConvertStringToDouble(row[i]); if (dbZero != 0) { data[iRow][i] = row[i]; } } } } iCol++; } iRow++; } }
public void SetTotalME2Change1Property(ME2Change1 ind, string attDateame, string attValue) { string sPropertyValue = string.Empty; switch (attDateame) { case cTotalME2MAmountChange: ind.TotalME2MAmountChange = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cTotalME2MPercentChange: ind.TotalME2MPercentChange = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cTotalME2MBaseChange: ind.TotalME2MBaseChange = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cTotalME2MBasePercentChange: ind.TotalME2MBasePercentChange = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cTotalME2LAmountChange: ind.TotalME2LAmountChange = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cTotalME2LPercentChange: ind.TotalME2LPercentChange = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cTotalME2LBaseChange: ind.TotalME2LBaseChange = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cTotalME2LBasePercentChange: ind.TotalME2LBasePercentChange = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cTotalME2UAmountChange: ind.TotalME2UAmountChange = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cTotalME2UPercentChange: ind.TotalME2UPercentChange = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cTotalME2UBaseChange: ind.TotalME2UBaseChange = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cTotalME2UBasePercentChange: ind.TotalME2UBasePercentChange = CalculatorHelpers.ConvertStringToDouble(attValue); break; default: break; } }
private void AddComparisonStatisticProperties(int filePosition, double attNumber) { if (this.CalcParams.AnalyzerParms.BaseCBStatistic.NameIsNotAStatistic( this.CalcParams.AnalyzerParms.ObservationAttributeName)) { //for standard deviation's running sum double dbStandardDeviation = 0; double dbMemberSquared = Math.Pow(attNumber, 2); double dbMemberSquaredTotal = 0; //for mean and sd running sum //double dbNewValue = attNumber; int iObservations = 1; double dbMean = attNumber; double dbTotal = attNumber; double dbMedian = 0; //could be another observation for same element within file //get the existing values from the collections, add the new //attnumber to the statistical collection, and set new //statistics (two tillage operations with same label //will have two observations, N=2, and need new mean, sd ... set) //note this attribute will never have a statistical suffix //in the attribute name (i.e. _MEAN) string sAttValue = this.GetStatisticalPropertyValue( filePosition, this.CalcParams.AnalyzerParms.NodePositionIndex, this.CalcParams.AnalyzerParms.ObservationAttributeName, this.CalcParams.AnalyzerParms.NodeName, string.Empty); dbTotal = CalculatorHelpers.ConvertStringToDouble(sAttValue) + attNumber; //get the new N and MEAN if (!string.IsNullOrEmpty(sAttValue)) { //set the number of observations string sNValue = this.GetStatisticalPropertyValue( filePosition, this.CalcParams.AnalyzerParms.NodePositionIndex, this.CalcParams.AnalyzerParms.ObservationAttributeName, this.CalcParams.AnalyzerParms.NodeName, CostBenefitStatistic01.N); iObservations = CalculatorHelpers.ConvertStringToInt(sNValue) + 1; //set the mean dbMean = dbTotal / iObservations; //set the new variance string sSumVariance = this.GetStatisticalPropertyValue( filePosition, this.CalcParams.AnalyzerParms.NodePositionIndex, this.CalcParams.AnalyzerParms.ObservationAttributeName, this.CalcParams.AnalyzerParms.NodeName, CostBenefitStatistic01.VAR2); dbMemberSquared = dbMemberSquared + CalculatorHelpers.ConvertStringToDouble(sSumVariance); } //get the new variance dbMemberSquaredTotal += dbMemberSquared; //get the new standard deviation dbStandardDeviation = GetStandardDeviation(dbTotal, iObservations, dbMemberSquaredTotal); //set the corresponding property values in the cb collections SetStatisticProperties(filePosition, iObservations, dbTotal, dbMean, dbMemberSquaredTotal, dbStandardDeviation, dbMedian); } }
public static bool IsDouble(string test) { bool bIsDouble = false; double dbTest = CalculatorHelpers.ConvertStringToDouble(test); if (dbTest != 0) { bIsDouble = true; } return(bIsDouble); }
//attname and attvalue generally passed in from a reader public virtual void SetLCC1Property(string attName, string attValue, int colIndex) { this.SetSubPrice1sProperty(attName, attValue, colIndex); switch (attName) { case cServiceLifeYears: this.ServiceLifeYears = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cYearsFromBaseDate: this.YearsFromBaseDate = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cPlanningConstructionYears: this.PlanningConstructionYears = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cPerUnitAmount: this.PerUnitAmount = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cPerUnitUnit: this.PerUnitUnit = attValue; break; case cOCTotalCost: this.OCTotalCost = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cAOHTotalCost: this.AOHTotalCost = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cCAPTotalCost: this.CAPTotalCost = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cLCCTotalCost: this.LCCTotalCost = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cEAATotalCost: this.EAATotalCost = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cUnitTotalCost: this.UnitTotalCost = CalculatorHelpers.ConvertStringToDouble(attValue); break; default: break; } }
public static void AddStringArrayToDoubleArray(string[] strArray, List <List <double> > trends) { //trends List <double> trend = new List <double>(); for (int k = 0; k < strArray.Count(); k++) { trend.Add(CalculatorHelpers .ConvertStringToDouble(strArray[k])); } trends.Add(trend); }
public void SetTotalMN1Total1Property(MN1Total1 ind, string attName, string attValue) { switch (attName) { case cTotalFNIndex: ind.TotalFNIndex = CalculatorHelpers.ConvertStringToDouble(attValue); break; default: break; } }
//takes '25_0', and outputs 25 as a double and 0 as an integer private bool GetValues(string obsMember, out double member, out int filePosition) { bool bHasFileCount = false; member = 0; //string sValue = obsMember; filePosition = 0; string sMemberValue = string.Empty; GetValues(obsMember, out sMemberValue, out filePosition); member = CalculatorHelpers.ConvertStringToDouble(sMemberValue); return(bHasFileCount); }
private void SetStatistic01Property(Statistic01 stat, string attName, string attValue) { switch (attName) { case cTotal: stat.Total = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cMean: stat.Mean = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cVariance: stat.Variance = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cStandardDeviation: stat.StandardDeviation = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cMedian: stat.Median = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cObservations: stat.Observations = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cCI5Percent: stat.CI5Percent = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cCI95Percent: stat.CI95Percent = CalculatorHelpers.ConvertStringToDouble(attValue); break; default: break; } }
public void SetTotalLCA1Total1Property(LCA1Total1 ind, string attName, string attValue) { switch (attName) { case cTotalOCCost: ind.TotalOCCost = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cTotalAOHCost: ind.TotalAOHCost = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cTotalCAPCost: ind.TotalCAPCost = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cTotalLCCCost: ind.TotalLCCCost = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cTotalEAACost: ind.TotalEAACost = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cTotalUnitCost: ind.TotalUnitCost = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cTotalRBenefit: ind.TotalRBenefit = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cTotalLCBBenefit: ind.TotalLCBBenefit = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cTotalREAABenefit: ind.TotalREAABenefit = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cTotalRUnitBenefit: ind.TotalRUnitBenefit = CalculatorHelpers.ConvertStringToDouble(attValue); break; default: break; } }
public static double GetDoubleValue(string[] strArray, int colIndex) { double dbValue = 0; if (strArray == null) { strArray = new string[colIndex]; } if (strArray.Count() > colIndex) { dbValue = CalculatorHelpers .ConvertStringToDouble(strArray[colIndex]); } return(dbValue); }
public static Vector <double> GetYData(List <List <string> > data) { //first columns holds the ys as strings var ys = from row in data select row.ElementAt(0); //convert to doubles var yds = ys .Select(y1 => CalculatorHelpers.ConvertStringToDouble(y1)) .ToArray(); //convert to vector Vector <double> y = Vector <double> .Build.Dense(yds.ToArray()); return(y); }
public virtual void SetGeneralCapital1InputProperty(string attName, string attValue) { switch (attName) { case cEnergyUseHr: this.EnergyUseHr = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cEnergyEffTypical: this.EnergyEffTypical = CalculatorHelpers.ConvertStringToDouble(attValue); break; default: break; } }
private void SetStatistic02Property(Statistic02 stat, string attName, string attValue) { switch (attName) { case cAmount: stat.Amount = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cLikelihood: stat.Likelihood = CalculatorHelpers.ConvertStringToDouble(attValue); break; default: break; } }
private void SetTotalSubPrice2StockProperty(SubPrice2Stock ind, string attName, string attValue) { switch (attName) { case cTotalSubP2Description: ind.TotalSubP2Description = attValue; break; case cTotalSubP2Name: ind.TotalSubP2Name = attValue; break; case cTotalSubP2Label: ind.TotalSubP2Label = attValue; break; case cTotalSubP2Total: ind.TotalSubP2Total = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cTotalSubP2TotalPerUnit: ind.TotalSubP2TotalPerUnit = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cTotalSubP2Price: ind.TotalSubP2Price = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cTotalSubP2Unit: ind.TotalSubP2Unit = attValue; break; case cTotalSubP2Amount: ind.TotalSubP2Amount = CalculatorHelpers.ConvertStringToDouble(attValue); break; default: break; } }
//attname and attvalue generally passed in from a reader public virtual void SetDemog1Properties(string attName, string attValue) { switch (attName) { case cAge: this.Age = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cEducationYears: this.EducationYears = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cRace: this.Race = attValue; break; case cHousing: this.Housing = attValue; break; case cGender: this.Gender = attValue; break; case cWorkStatus: this.WorkStatus = attValue; break; case cMaritalStatus: this.MaritalStatus = attValue; break; case cLocationId: this.LocationId = attValue; break; default: break; } }
public virtual void SetTotalGeneralCapital1StockProperties(string attName, string attValue) { switch (attName) { case TEnergyEffTypical: this.TotalEnergyEffTypical = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TEnergyUseHr: this.TotalEnergyUseHr = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TRandMPercent: this.TotalRandMPercent = CalculatorHelpers.ConvertStringToDouble(attValue); break; default: break; } }
public static string[] AddStringArrayToStringArray(string[] strArray, int strArrayCount, string[] strArray2) { string[] newArray = new string[strArrayCount]; if (strArray == null) { strArray = new string[strArrayCount]; } if (strArray.Count() == 0) { strArray = new string[strArrayCount]; } if (strArray2 == null) { strArray2 = new string[strArrayCount]; } if (strArray2.Count() == 0) { strArray2 = new string[strArrayCount]; } double stringArrayValue = 0; double stringArrayValue2 = 0; for (int k = 0; k < strArray.Count(); k++) { stringArrayValue = CalculatorHelpers .ConvertStringToDouble(strArray[k]); if (strArray2.Count() > k) { stringArrayValue2 = CalculatorHelpers .ConvertStringToDouble(strArray2[k]); newArray[k] = (stringArrayValue + stringArrayValue2).ToString(); } } return(newArray); }
public async Task <bool> RunSubAlgorithm1or2Async(string inputFilePath, string rFile) { bool bHasCalcs = false; string sBaseURL = "https://ussouthcentral.services.azureml.net/workspaces/d454361ecdcb4ec4b03fa1aec5a7c0e2/services/b10e6b4c4e63438999cc45147bbe006c/jobs"; if (_subalgorithm == Calculator1.MATH_SUBTYPES.subalgorithm2.ToString()) { sBaseURL = "https://ussouthcentral.services.azureml.net/workspaces/d454361ecdcb4ec4b03fa1aec5a7c0e2/services/abd32060dc014d0e8fe1256e0f694daa/jobs"; } string sPlatForm = _params.ExtensionDocToCalcURI.URIDataManager.PlatformType.ToString(); if (sPlatForm != CalculatorHelpers.PLATFORM_TYPES.azure.ToString()) { sBaseURL = "https://ussouthcentral.services.azureml.net/workspaces/d454361ecdcb4ec4b03fa1aec5a7c0e2/services/b10e6b4c4e63438999cc45147bbe006c/execute?api-version=2.0&details=true"; if (_subalgorithm == Calculator1.MATH_SUBTYPES.subalgorithm2.ToString()) { sBaseURL = "https://ussouthcentral.services.azureml.net/workspaces/d454361ecdcb4ec4b03fa1aec5a7c0e2/services/abd32060dc014d0e8fe1256e0f694daa/execute?api-version=2.0&details=true"; } } //r web service is default string sApiKey = "fxBeL9LJ3ORm0kW0DtKhT99OfUK6YgBlc59crizYhlxKoEjRd3kuDHvPRuehCQ02VJhPPXcdYTp2pDUynb9gMA=="; if (_subalgorithm == Calculator1.MATH_SUBTYPES.subalgorithm2.ToString()) { //python sApiKey = "/bjDNKx4OWdMIQu6CkvWCIhcfUOCTp9jUE9kD7uylwhOYyhVFOqAFA7M75mJjHS6p6jnAhCvFn1jSl678gzPVA=="; } string sError = string.Empty; //convert the script file to the script string expected by the algorithm List <string> rlines = new List <string>(); rlines = CalculatorHelpers.ReadLines(_params.ExtensionDocToCalcURI, rFile, out sError); this.ErrorMessage += sError; if (rlines == null) { this.ErrorMessage += string.Concat(" ", Errors.MakeStandardErrorMsg("DATAURL_BAD")); return(bHasCalcs); } if (rlines.Count == 0) { this.ErrorMessage += string.Concat(" ", Errors.MakeStandardErrorMsg("DATAURL_BAD")); return(bHasCalcs); } StringBuilder sbR = new StringBuilder(); for (int i = 0; i < rlines.Count(); i++) { sbR.AppendLine(rlines[i]); } string rScript = sbR.ToString(); //web server expects to store in temp/randomid/name.csv //web service stores in temp blob string sOutputDataURL = CalculatorHelpers.GetTempContainerPath("Routput.csv"); //web service expects urls that start with container names //regular rproject file must be stored in JDataURL string sInputContainerPath = CalculatorHelpers.GetContainerPathFromFullURIPath("resources", inputFilePath); //async wait so that results can be stored in output file location and parsed into string lines SetResponse(sBaseURL, sApiKey, sInputContainerPath, sOutputDataURL, rScript).Wait(); StringBuilder sb = new StringBuilder(); //if web service successully saved the results, the response will start with Success if (_response.StartsWith("Success")) { //return the output file contents in a string list of lines //must convert container path to full path string sOutputFullDataURL = string.Concat("https://devtreks1.blob.core.windows.net/", sOutputDataURL); List <string> lines = new List <string>(); //azure emulator can't process real Azure URL so this won't work //instead, double check that output url is actually saved lines = CalculatorHelpers.ReadLines(_params.ExtensionDocToCalcURI, sOutputFullDataURL, out sError); this.ErrorMessage += sError; //this results in endless wait-try ReadLinesAsync(sOutputDataURL).ConfigureAwait(false) //lines = await CalculatorHelpers.ReadLinesAsync(sOutputDataURL); if (lines == null) { this.ErrorMessage += string.Concat(" ", Errors.MakeStandardErrorMsg("DATAURL_BAD")); return(bHasCalcs); } if (lines.Count == 0) { this.ErrorMessage += string.Concat(" ", Errors.MakeStandardErrorMsg("DATAURL_BAD")); return(bHasCalcs); } sb = new StringBuilder(); if (_subalgorithm == Calculator1.MATH_SUBTYPES.subalgorithm2.ToString()) { sb.AppendLine("py results"); } else { sb.AppendLine("r results"); } //dep var has to be in the R project 1st column string sLine = string.Concat("first variable: ", _colNames[0]); string[] line = new List <string>().ToArray(); for (int i = 0; i < lines.Count(); i++) { line = lines[i].Split(Constants.CSV_DELIMITERS); //lineout[1] = CalculatorHelpers.ConvertStringToDouble(line[0]).ToString("N4", CultureInfo.InvariantCulture); sb.AppendLine(Shared.GetLine(line, false)); } if (this.MathResult.ToLower().StartsWith("http")) { sError = string.Empty; bool bHasSaved = CalculatorHelpers.SaveTextInURI( _params.ExtensionDocToCalcURI, sb.ToString(), this.MathResult, out sError); if (!string.IsNullOrEmpty(sError)) { this.MathResult += sError; } } else { this.MathResult = sb.ToString(); } bHasCalcs = true; //last line of string should have the QTM vars if (line != null) { int iPos = 0; if (line[iPos] != null) { this.QTPredicted = CalculatorHelpers.ConvertStringToDouble(line[iPos]); } iPos = 1; if (line[iPos] != null) { this.QTL = CalculatorHelpers.ConvertStringToDouble(line[iPos]); } iPos = 2; if (line[iPos] != null) { this.QTU = CalculatorHelpers.ConvertStringToDouble(line[iPos]); } } } else { this.ErrorMessage += string.Concat(_response, "The calculations could not be run using the web service."); } return(bHasCalcs); }
//attname and attvalue generally passed in from a reader public virtual void SetHealthBenefit1Properties(string attName, string attValue) { if (Demographics == null) { Demographics = new Demog1(); } Demographics.SetDemog1Properties(attName, attValue); switch (attName) { case cOutputCost: this.OutputCost = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cBenefitAdjustment: this.BenefitAdjustment = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cAdjustedBenefit: this.AdjustedBenefit = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cOutputEffect1Name: this.OutputEffect1Name = attValue; break; case cOutputEffect1Unit: this.OutputEffect1Unit = attValue; break; case cOutputEffect1Amount: this.OutputEffect1Amount = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cOutputEffect1Price: this.OutputEffect1Price = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cOutputEffect1Cost: this.OutputEffect1Cost = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cAverageBenefitRating: this.AverageBenefitRating = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cPhysicalHealthRating: this.PhysicalHealthRating = CalculatorHelpers.ConvertStringToInt(attValue); break; case cEmotionalHealthRating: this.EmotionalHealthRating = CalculatorHelpers.ConvertStringToInt(attValue); break; case cSocialHealthRating: this.SocialHealthRating = CalculatorHelpers.ConvertStringToInt(attValue); break; case cEconomicHealthRating: this.EconomicHealthRating = CalculatorHelpers.ConvertStringToInt(attValue); break; case cHealthCareDeliveryRating: this.HealthCareDeliveryRating = CalculatorHelpers.ConvertStringToInt(attValue); break; case cBeforeQOLRating: this.BeforeQOLRating = CalculatorHelpers.ConvertStringToInt(attValue); break; case cAfterQOLRating: this.AfterQOLRating = CalculatorHelpers.ConvertStringToInt(attValue); break; case cBeforeYears: this.BeforeYears = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cAfterYears: this.AfterYears = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cAfterYearsProb: this.AfterYearsProb = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cTimeTradeoffYears: this.TimeTradeoffYears = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cEquityMultiplier: this.EquityMultiplier = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cBenefitAssessment: this.BenefitAssessment = attValue; break; case cQALY: this.QALY = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cICERQALY: this.ICERQALY = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cTTOQALY: this.TTOQALY = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cWillDoSurvey: this.WillDoSurvey = CalculatorHelpers.ConvertStringToBool(attValue); break; default: break; } }
public void SetTotalME2IndicatorStockProperty(ME2IndicatorStock ind, string attName, string attValue) { switch (attName) { case cTME2Description: ind.TME2Description = attValue; break; case cTME2Name: ind.TME2Name = attValue; break; case cTME2Label: ind.TME2Label = attValue; break; case cTME2Type: ind.TME2Type = attValue; break; case cTME2RelLabel: ind.TME2RelLabel = attValue; break; case cTME2TAmount: ind.TME2TAmount = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cTME2TUnit: ind.TME2TUnit = attValue; break; case cTME2TD1Amount: ind.TME2TD1Amount = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cTME2TD1Unit: ind.TME2TD1Unit = attValue; break; case cTME2TD2Amount: ind.TME2TD2Amount = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cTME2TD2Unit: ind.TME2TD2Unit = attValue; break; case cTME2MathResult: ind.TME2MathResult = attValue; break; case cTME2MathSubType: ind.TME2MathSubType = attValue; break; case cTME2TMAmount: ind.TME2TMAmount = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cTME2TMUnit: ind.TME2TMUnit = attValue; break; case cTME2TLAmount: ind.TME2TLAmount = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cTME2TLUnit: ind.TME2TLUnit = attValue; break; case cTME2TUAmount: ind.TME2TUAmount = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cTME2TUUnit: ind.TME2TUUnit = attValue; break; case cTME2MathOperator: ind.TME2MathOperator = attValue; break; case cTME2MathExpression: ind.TME2MathExpression = attValue; break; case cTME2N: ind.TME2N = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cTME2Date: ind.TME2Date = CalculatorHelpers.ConvertStringToDate(attValue); break; case cTME2MathType: ind.TME2MathType = attValue; break; case cTME21Amount: ind.TME21Amount = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cTME21Unit: ind.TME21Unit = attValue; break; case cTME22Amount: ind.TME22Amount = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cTME22Unit: ind.TME22Unit = attValue; break; case cTME25Amount: ind.TME25Amount = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cTME25Unit: ind.TME25Unit = attValue; break; case cTME23Amount: ind.TME23Amount = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cTME23Unit: ind.TME23Unit = attValue; break; case cTME24Amount: ind.TME24Amount = CalculatorHelpers.ConvertStringToDouble(attValue); break; case cTME24Unit: ind.TME24Unit = attValue; break; default: break; } }
private async Task <StringBuilder> Predict(List <List <string> > trainData, List <List <string> > rowNames, List <List <string> > testData) { StringBuilder sb = null; try { //ml algo rule: iterations can also set rowcount and -1 for mlinstructs removed int iRowCount = (Shared.GetRowCount(_iterations, trainData.Count) - 1); //columns of data used and returned in DataResults _actualColNames = Shared.GetActualColNames(_colNames, _depColNames).ToArray(); //ml instructions associated with actual colNames List <string> normTypes = Shared.GetNormTypes(trainData[0], _colNames, _depColNames); //instructions in both row names and datasets List <string> actualMLInstructs = Shared.GetAlgoInstructs(rowNames); actualMLInstructs.AddRange(normTypes); // error allowance double dbPlusorMinus = CalculatorHelpers.ConvertStringToDouble(actualMLInstructs[0]); //converts rows to columns with normalized data List <List <double> > trainDB = Shared.GetNormalizedDData(trainData, this.IndicatorQT, _colNames, _depColNames, normTypes, "F2"); List <List <double> > testDB = Shared.GetNormalizedDData(testData, this.IndicatorQT, _colNames, _depColNames, normTypes, "F2"); //make a new list with same matrix, to be replaced with results int iColCount = testDB.Count; if (_subalgorithm == MATHML_SUBTYPES.subalgorithm_03.ToString().ToString()) { //subalgo02 needs qtm and percent probability of accuracy, qtm, low ci, high ci iColCount = testDB.Count + 5; //normtypes need full columns before insertion normTypes = Shared.FixNormTypes(normTypes, iColCount); } //row count comes from original testdata to account for the instructions row DataResults = CalculatorHelpers.GetList(testData.Count, iColCount); DataResults[0] = normTypes; //dep var output count int numOutput = 1; //less col[0] int numInput = trainDB.Count - 1; int numHidden = 12; //can truncate the data to iRowCount double[][] trainInputs = Shared.MakeInputDData(trainDB, iRowCount, this.IndicatorQT, numInput); //build a neural network NeuralNetwork2 nn2 = new NeuralNetwork2(numInput, numHidden, numOutput); int maxEpochs = iRowCount; double learnRate = 0.001; //train nn2 double[] wts = nn2.Train(trainInputs, maxEpochs, learnRate, sb); //mean squared error double trainErr = nn2.Error(trainInputs); //final model accuracy double trainAcc = nn2.Accuracy(trainInputs, dbPlusorMinus); //add classified test data to DataResults bool bHasNewClassifs = await AddNewClassifications(nn2, testDB, trainAcc, trainErr, iRowCount, dbPlusorMinus, _ciLevel); } catch (Exception ex) { IndicatorQT.ErrorMessage = ex.Message; } return(sb); }
public virtual void SetTotalMachinery1ConstantProperties(string attName, string attValue) { switch (attName) { case TPriceDiesel: this.TotalPriceDiesel = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TPriceGas: this.TotalPriceGas = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TPriceLP: this.TotalPriceLP = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TPriceElectric: this.TotalPriceElectric = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TPriceNG: this.TotalPriceNG = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TPriceOil: this.TotalPriceOil = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TPriceRegularLabor: this.TotalPriceRegularLabor = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TPriceMachineryLabor: this.TotalPriceMachineryLabor = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TPriceSupervisorLabor: this.TotalPriceSupervisorLabor = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TStartingHrs: this.TotalStartingHrs = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TPlannedUseHrs: this.TotalPlannedUseHrs = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TUsefulLifeHrs: this.TotalUsefulLifeHrs = CalculatorHelpers.ConvertStringToDouble(attValue); break; case THousingPercent: this.TotalHousingPercent = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TTaxPercent: this.TotalTaxPercent = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TInsurePercent: this.TotalInsurePercent = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TSpeed: this.TotalSpeed = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TWidth: this.TotalWidth = CalculatorHelpers.ConvertStringToDouble(attValue); break; case THorsepower: this.TotalHorsepower = CalculatorHelpers.ConvertStringToDouble(attValue); break; case THPPTOEquiv: this.TotalHPPTOEquiv = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TFieldEffTypical: this.TotalFieldEffTypical = CalculatorHelpers.ConvertStringToDouble(attValue); break; default: break; } }
public virtual void SetTotalMachinery1StockProperties(string attName, string attValue) { switch (attName) { case TSalvageValue: this.TotalSalvageValue = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TMarketValue: this.TotalMarketValue = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TFuelAmount: this.TotalFuelAmount = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TFuelPrice: this.TotalFuelPrice = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TFuelCost: this.TotalFuelCost = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TLubeOilAmount: this.TotalLubeOilAmount = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TLubeOilPrice: this.TotalLubeOilPrice = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TLubeOilCost: this.TotalLubeOilCost = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TRepairCost: this.TotalRepairCost = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TLaborAmount: this.TotalLaborAmount = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TLaborPrice: this.TotalLaborPrice = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TLaborCost: this.TotalLaborCost = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TCapitalRecoveryCost: this.TotalCapitalRecoveryCost = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TTaxesHousingInsuranceCost: this.TotalTaxesHousingInsuranceCost = CalculatorHelpers.ConvertStringToDouble(attValue); break; default: break; } }
public async Task <bool> RunSubAlgorithm3Async(string inputFile1Path, string inputFile2Path) { bool bHasCalcs = false; string sBaseURL = "https://ussouthcentral.services.azureml.net/workspaces/d454361ecdcb4ec4b03fa1aec5a7c0e2/services/8b1074b465ea4258a11ec48ce64ae257/jobs"; string sPlatForm = CalculatorHelpers.GetPlatform(_params.ExtensionDocToCalcURI, inputFile1Path); if (sPlatForm != CalculatorHelpers.PLATFORM_TYPES.azure.ToString()) { sBaseURL = "https://ussouthcentral.services.azureml.net/workspaces/d454361ecdcb4ec4b03fa1aec5a7c0e2/services/8b1074b465ea4258a11ec48ce64ae257/execute?api-version=2.0&details=true"; } string sApiKey = "RO2Ev5dRSKqNJ4jz+zoT0qDntEsKbyizbgZKlhOR2vGztsjBD3S3C8nmIlZI9TbbmCcsw+unwhky1GgZ5qiHmg=="; string sError = string.Empty; //web server expects to store in temp/randomid/name.csv //scoring results string sOutputData1URL = CalculatorHelpers.GetTempContainerPath("outputdata1.csv"); //model results string sOutputData2URL = CalculatorHelpers.GetTempContainerPath("outputdata2.csv"); //web service expects urls that start with container names string sInput1ContainerPath = CalculatorHelpers.GetContainerPathFromFullURIPath("resources", inputFile1Path); string sInput2ContainerPath = CalculatorHelpers.GetContainerPathFromFullURIPath("resources", inputFile2Path); //async wait so that results can be stored in output file location and parsed into string lines SetResponse2(sBaseURL, sApiKey, sInput1ContainerPath, sInput2ContainerPath, sOutputData1URL, sOutputData2URL).Wait(); StringBuilder sb = new StringBuilder(); //if web service successully saved the results, the response will start with Success if (_response.StartsWith("Success")) { //return the output file contents in a string list of lines //must convert container path to full path string sOutput1FullDataURL = string.Concat("https://devtreks1.blob.core.windows.net/", sOutputData1URL); List <string> lines = new List <string>(); //azure emulator can't process real Azure URL so this won't work //instead, double check that output url is actually saved lines = CalculatorHelpers.ReadLines(_params.ExtensionDocToCalcURI, sOutput1FullDataURL, out sError); this.ErrorMessage += sError; //this results in endless wait //lines = await CalculatorHelpers.ReadLinesAsync(sOutputDataURL); if (lines == null) { this.ErrorMessage += string.Concat(" ", Errors.MakeStandardErrorMsg("DATAURL_BAD")); return(bHasCalcs); } if (lines.Count == 0) { this.ErrorMessage += string.Concat(" ", Errors.MakeStandardErrorMsg("DATAURL_BAD")); return(bHasCalcs); } sb = new StringBuilder(); sb.AppendLine("aml results"); //dep var has to be in the R project 1st column //string sLine = string.Concat("first variable: ", _colNames[0]); string[] line = new List <string>().ToArray(); int iPos = 0; for (int i = 0; i < lines.Count(); i++) { line = lines[i].Split(Constants.CSV_DELIMITERS); //lineout[1] = CalculatorHelpers.ConvertStringToDouble(line[0]).ToString("N4", CultureInfo.InvariantCulture); sb.AppendLine(Shared.GetLine(line, false)); } if (this.MathResult.ToLower().StartsWith("http")) { sError = string.Empty; bool bHasSaved = CalculatorHelpers.SaveTextInURI( _params.ExtensionDocToCalcURI, sb.ToString(), this.MathResult, out sError); if (!string.IsNullOrEmpty(sError)) { this.MathResult += sError; } } else { this.MathResult = sb.ToString(); } bHasCalcs = true; //last line of string should have the QTM vars if (line != null) { //last string is prediction iPos = line.Count() - 1; //int iPos = line.Count() - 3; if (line[iPos] != null) { this.QTPredicted = CalculatorHelpers.ConvertStringToDouble(line[iPos]); } } string sOutput2FullDataURL = string.Concat("https://devtreks1.blob.core.windows.net/", sOutputData2URL); lines = new List <string>(); //azure emulator can't process real Azure URL so this won't work //instead, double check that output url is actually saved lines = CalculatorHelpers.ReadLines(_params.ExtensionDocToCalcURI, sOutput2FullDataURL, out sError); this.ErrorMessage += sError; if (lines == null) { this.ErrorMessage += string.Concat(" ", Errors.MakeStandardErrorMsg("DATAURL_BAD")); return(bHasCalcs); } if (lines.Count == 0) { this.ErrorMessage += string.Concat(" ", Errors.MakeStandardErrorMsg("DATAURL_BAD")); return(bHasCalcs); } sb = new StringBuilder(); //dep var has to be in the R project 1st column //string sLine = string.Concat("first variable: ", _colNames[0]); line = new List <string>().ToArray(); double dbCI = 0; for (int i = 0; i < lines.Count(); i++) { line = lines[i].Split(Constants.CSV_DELIMITERS); if (line != null) { iPos = 0; //used to derive conf interval dbCI = CalculatorHelpers.ConvertStringToDouble(line[iPos]); sb.AppendLine(string.Format("{0} {1}", "Mean Absolute Error: ", dbCI.ToString())); double dbScore = 0; if (line.Count() >= 2) { iPos = 1; dbScore = CalculatorHelpers.ConvertStringToDouble(line[iPos]); sb.AppendLine(string.Format("{0} {1}", "Root Mean Squared Error: ", dbScore.ToString())); } if (line.Count() >= 3) { iPos = 2; dbScore = CalculatorHelpers.ConvertStringToDouble(line[iPos]); sb.AppendLine(string.Format("{0} {1}", "Relative Absolute Error: ", dbScore.ToString())); } if (line.Count() >= 4) { iPos = 3; dbScore = CalculatorHelpers.ConvertStringToDouble(line[iPos]); sb.AppendLine(string.Format("{0} {1}", "Relative Squared Error: ", dbScore.ToString())); } if (line.Count() >= 5) { iPos = 4; dbScore = CalculatorHelpers.ConvertStringToDouble(line[iPos]); sb.AppendLine(string.Format("{0} {1}", "Coefficient of Determination: ", dbScore.ToString())); } //sb.AppendLine(Shared.GetLine(line, false)); } } this.MathResult += sb.ToString(); bHasCalcs = true; //last line of string should have the QTM vars if (line != null) { if (line[iPos] != null) { dbCI = CalculatorHelpers.ConvertStringToDouble(line[iPos]); } this.QTL = this.QTPredicted - dbCI; this.QTU = this.QTPredicted + dbCI; } } else { this.ErrorMessage += "The calculations could not be run using the web service."; } return(bHasCalcs); }
public virtual void SetTotalIrrPower1StockProperties(string attName, string attValue) { switch (attName) { case TEngineEfficiency: this.TotalEngineEfficiency = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TFuelConsumptionPerHour: this.TotalFuelConsumptionPerHour = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TWaterHP: this.TotalWaterHP = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TBrakeHP: this.TotalBrakeHP = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TFlowRate: this.TotalFlowRate = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TStaticHead: this.TotalStaticHead = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TPressureHead: this.TotalPressureHead = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TFrictionHead: this.TotalFrictionHead = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TOtherHead: this.TotalOtherHead = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TPumpEfficiency: this.TotalPumpEfficiency = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TGearDriveEfficiency: this.TotalGearDriveEfficiency = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TExtraPower1: this.TotalExtraPower1 = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TExtraPower2: this.TotalExtraPower2 = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TEnergyExtraCostPerNetAcOrHa: this.TotalEnergyExtraCostPerNetAcOrHa = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TEnergyExtraCost: this.TotalEnergyExtraCost = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TPumpCapacity: this.TotalPumpCapacity = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TEngineFlywheelPower: this.TotalEngineFlywheelPower = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TFuelAmountRequired: this.TotalFuelAmountRequired = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TPumpingPlantPerformance: this.TotalPumpingPlantPerformance = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TSeasonWaterNeed: this.TotalSeasonWaterNeed = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TSeasonWaterExtraCredit: this.TotalSeasonWaterExtraCredit = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TSeasonWaterExtraDebit: this.TotalSeasonWaterExtraDebit = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TWaterPrice: this.TotalWaterPrice = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TDistributionUniformity: this.TotalDistributionUniformity = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TSeasonWaterApplied: this.TotalSeasonWaterApplied = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TWaterCost: this.TotalWaterCost = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TPumpHoursPerUnitArea: this.TotalPumpHoursPerUnitArea = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TIrrigationTimes: this.TotalIrrigationTimes = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TIrrigationDurationPerSet: this.TotalIrrigationDurationPerSet = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TIrrigationDurationLaborHoursPerSet: this.TotalIrrigationDurationLaborHoursPerSet = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TIrrigationNetArea: this.TotalIrrigationNetArea = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TEquipmentLaborAmount: this.TotalEquipmentLaborAmount = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TEquipmentLaborCost: this.TotalEquipmentLaborCost = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TRepairCostsPerNetAcOrHa: this.TotalRepairCostsPerNetAcOrHa = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TRandMPercent: this.TotalRandMPercent = CalculatorHelpers.ConvertStringToDouble(attValue); break; default: break; } }
//attname and attvalue generally passed in from a reader public virtual void SetTotalOutputHCStockProperties(string attName, string attValue) { switch (attName) { case TOutputCost: this.TotalOutputCost = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TBenefitAdjustment: this.TotalBenefitAdjustment = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TAdjustedBenefit: this.TotalAdjustedBenefit = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TOutputEffect1Amount: this.TotalOutputEffect1Amount = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TOutputEffect1Price: this.TotalOutputEffect1Price = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TOutputEffect1Cost: this.TotalOutputEffect1Cost = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TEmotionalHealthRating: this.TotalEmotionalHealthRating = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TSocialHealthRating: this.TotalSocialHealthRating = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TEconomicHealthRating: this.TotalEconomicHealthRating = CalculatorHelpers.ConvertStringToDouble(attValue); break; case THealthCareDeliveryRating: this.TotalHealthCareDeliveryRating = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TBeforeQOLRating: this.TotalBeforeQOLRating = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TAfterQOLRating: this.TotalAfterQOLRating = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TBeforeYears: this.TotalBeforeYears = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TAfterYears: this.TotalAfterYears = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TAfterYearsProb: this.TotalAfterYearsProb = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TTimeTradeoffYears: this.TotalTimeTradeoffYears = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TEquityMultiplier: this.TotalEquityMultiplier = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TAverageBenefitRating: this.TotalAverageBenefitRating = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TQALY: this.TotalQALY = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TICERQALY: this.TotalICERQALY = CalculatorHelpers.ConvertStringToDouble(attValue); break; case TTTOQALY: this.TotalTTOQALY = CalculatorHelpers.ConvertStringToDouble(attValue); break; default: break; } }