The BDK can be used to select probability distributions based on historical or sampled data to be used in any Windows program. Fitting distributions to data sets focuses a model and helps to accurately define the uncertain factors, thereby saving time and avoiding costly errors. All of the fitting methods, distribution functions, and many graphs in BestFit are included with the BDK. Using the BDK, you can develop your own custom applications that use the same sophisticated fitting techniques.
Why Use the BDK?
BestFit traditionally is used for fitting distributions to data in Windows. Typically, BestFit is used in conjunction with @RISK for fitting distributions to data in spreadsheet risk analysis models. For many users the spreadsheet is the preferred modeling environment. However, many times an application written in a standard programming language needs distribution fitting capabilities. The application will have its own user interface, variables and model calculations. In addition, a developer may want to allow users to access the application over a corporate network or over the Internet.
The BDK allows custom applications such as these to fit distribution functions to data and generate result graphs and statistics. Fitting done in applications written with the BDK will often run faster than fitting done in BestFit or in spreadsheet versions of @RISK in which BestFit is integrated. This is because BDK applications are compiled and do not contain the additional processing that occurs during spreadsheet recalculation.
Distribute Custom Solutions Over the Web
The BDK allows you to streamline the distribution of your custom solutions through enterprise-wide web deployment. Server-based models - such as corporate financial models, engineering applications, and financial planning tools - can be accessed over the Internet from any browser, allowing users to enter model parameters and inputs, run distribution fits, and view results and graphs. Model structure, logic, and BDK fitting libraries are stored on the server, ensuring consistency for all end-users and removing local installation and support issues.
ActiveX Interface Makes Integrating Fitting Easy
The BDK ships with two programming interfaces: the ActiveX Interface and the standard DLL Interface.
The ActiveX/COM Interface makes development of customized uncertainty description easy. An intuitive set of methods and properties allow the developer to quickly set up a fitting model in a custom application - defining input data and fitting settings. (See a list of methods and properties, by object, here.) This interface can be used in any ActiveX-aware programming environment such as Visual Basic or C++. Example programs are included.
.NET AND ACTIVEX
Because the .NET environment offers the COM Interoperability feature, .NET programmers can also take advantage of the easy-to-use ActiveX/COM interface. Examples in two .NET programming languages – C# and Visual Basic .NET – are included.
The BDK DLL Interface includes a library of functions that allows you to build distribution fitting models using C, Visual Basic or other programming languages. Use of the BDK function library requires an installed programming language and knowledge of programming techniques. You are not, however, restricted to using these languages for developing your programs. Any Windows-based language which can call .DLL functions can be used for developing BDK applications using the BDK DLL Interface. Example programs in C++ and Visual Basic are included.
Distribution Fitting and the BDK
Who should use distribution fitting? Anyone who works with data can take advantage of the BDK's fitting technology. Apply it to business situations such as actuarial or claims adjustment, or to science and engineering problems such as oil well drilling or time between events.
So why fit distributions to data? Because if you don't (or if you select the wrong distribution), any analysis you run could have serious errors that can cost you time and money. If your data was generated by a random process, you'll get the best modeling results possible by accurately describing that process. And the best way to do that is with a fitted probability distribution.
How the BDK Works
The goal of the BDK engine is to find the distribution that best fits your input data. The BDK does not produce an absolute answer; rather, it identifies a distribution that most likely produced your data. Always evaluate your BDK results quantitatively and qualitatively, examining both the comparison graphs and statistics before using a result.
The BDK goes through the following steps when finding the best fit for your input data:
- For input sample data, parameters are estimated using maximum-likelihood estimators. For density and cumulative data, the method of least squares is used to minimize the distance between the input curve points and the theoretical function.
- Fitted distributions are ranked using one or more fit statistics, including Chi-square, Anderson-Darling, and Komolgorov-Smirnov.
The BDK offers all the information you need to decide which fit is the best, and whether that fit is good enough to use. All results, including graphs, statistics and distribution functions, can easily be integrated with your program for further analysis and presentation.
Typical Applications that Can Incorporate the BDK
BestFit Developer Kit Features
- Historical data sets can be fit to any of 28 probability distributions.
- ActiveX programming interface makes development easy
- Examples in Windows and .NET programming languages
- Sample, density or cumulative data can be fit and data can be filtered prior to fitting.
- Fit results are ranked according any of three goodness-of-fit tests - Chi-Square, Anderson-Darling or Kolmogorov-Smirnov.
- Extensive statistics on fit results are generated including mean, standard deviation and other standard statistics, along with critical values and p-values.
- Custom chi-square binning is allowed.
- Graphs of fit results which overlay input data with fitted probability distributions are available using the Microsoft Excel-based charting engine.
- Charts are also available in bitmap, metafile, or .JPG format using the BestFit charting engine for use in desktop, network, or web environments.
- Input data sets and fit results have built in properties and methods that allow access to all fitting options and fit results directly in code. (See a list of methods and properties, by object, here.)
- Deploy BDK applications over a network or Web server for efficient distribution
BDK Distribution Functions
The BDK will fit data to the following distribution types:
Development Options That Meet Your Needs
The BDK Developer Edition gives you everything you need to get up and running with your own optimization application. Affordable and flexible, it is ideal for developing and testing custom optimization solutions. Multiple Developer Kits can be purchased to run applications in small workgroups. The Developer Edition includes:
- DLL and ActiveX functions to perform all BestFit features as described above
- Examples in Windows and .NET programming languages
- Installer for deployment of an unlimited number of 30-day demo licenses of any application developed using the BDK
The Developer Edition is designed for software development and testing. To run applications in a production setting, Palisade offers customized deployment licenses. We can work with you to develop a tailored BDK licensing solution to meet your organization’s needs. Call our Technical Sales department at 1-800-432-RISK or e-mail us at firstname.lastname@example.org to discuss your licensing needs.