# Perform Life Data Analysis on External Data Source

With the Synthesis API, you can leverage the Weibull++ analysis engine to perform life data analysis on an external data source. In this tutorial, you will use the API to create and analyze a data set, and then obtain analysis results from the resulting model.

Note that this tutorial is for demonstration purposes only; it doesn't take efficiency into account and doesn't include any exception handling.

## Tutorial: Life Data Analysis

This example demonstrates how to use the Synthesis API to analyze the following data set and obtain an estimate of the probability of failure. A discussion of the example follows.

The VBA version of the code sample is available here.

Number in State | State | Time to F or S |

1 | F | 16 |

1 | F | 34 |

1 | F | 53 |

1 | F | 75 |

1 | F | 93 |

5 | S | 120 |

VB.NETImports SynthesisAPI Module Module1 Sub Main() 'Declare a new WeibullDataSet object. Dim WDS As New WeibullDataSet 'Add the failure times to the data set. WDS.AddFailure(16, 1) WDS.AddFailure(34, 1) WDS.AddFailure(53, 1) WDS.AddFailure(75, 1) WDS.AddFailure(93, 1) 'Add the suspensions to the data set. WDS.AddSuspension(120, 5) 'Use the 2-parameter Weibull distribution and the rank regression on X (RRX) analysis method. 'Keep all other analysis settings at default. WDS.AnalysisSettings.Distribution = WeibullSolverDistribution.Weibull WDS.AnalysisSettings.Parameters = WeibullSolverNumParameters.MS_2Parameter WDS.AnalysisSettings.Analysis = WeibullSolverMethod.RRX 'Analyze the data set. WDS.Calculate() 'Calculate the probability of failure at 226 hrs and display the result. Dim r As Double r = WDS.FittedModel.unreliability(226) MsgBox("Prob. Fail: " & r) End Sub End Module

### Discussion

The WeibullDataSet class represents a Weibull++ data sheet for life data analysis. The class contains all the methods and properties that allow you to define a data set and fit a statistical distribution to the data.

'Declare a new WeibullDataSet object. Dim WDS As New WeibullDataSet

The data set can contain failures, suspensions, interval data or free-form data. The following example shows how to use the AddFailure method to define failures and the AddSuspension method to define suspensions.

'Add the failure times to the data set. WDS.AddFailure(16, 1) WDS.AddFailure(34, 1) WDS.AddFailure(53, 1) WDS.AddFailure(75, 1) WDS.AddFailure(93, 1) 'Add the suspensions to the data set. WDS.AddSuspension(120, 5)

The `AnalysisSettings`

property stores a reference to the WeibullAnalysisOptions object, which represents the analysis settings of the data set (i.e., settings that you might find in a Weibull++ folio's control panel). In this example, we use the property to change some of the attributes of the object.

'Use the 2-parameter Weibull distribution and the rank regression on X (RRX) analysis method. 'Keep all other analysis settings at default. WDS.AnalysisSettings.Distribution = WeibullSolverDistribution.Weibull WDS.AnalysisSettings.Parameters = WeibullSolverNumParameters.MS_2Parameter WDS.AnalysisSettings.Analysis = WeibullSolverMethod.RRX

Use the Calculate method to analyze the data set.

```
'Analyze the data set.
WDS.Calculate()
```

The `FittedModel`

property gets the cModel object that represents the fitted model of the life data analysis. From the model, you can calculate useful metrics such as reliability, failure rate, mean time, etc. In this example, we use the cModel.Unreliability method to calculate for the probability of failure.

'Calculate the probability of failure at 226 hrs and display the result. Dim r As Double r = WDS.FittedModel.unreliability(226) MsgBox("Prob. Fail: " & r)