Redesign and Expansion of the SOCR Modeler Project

From Socr

(Difference between revisions)
Jump to: navigation, search
(Technical Details)
 
(3 intermediate revisions not shown)
Line 2: Line 2:
===Project Goal===
===Project Goal===
-
To redesign and expand the utility of the [[SOCR]] [http://www.socr.ucla.edu/htmls/SOCR_Modeler.html Modeler].
+
To redesign and expand the utility of the [[SOCR]] [http://www.socr.ucla.edu/htmls/SOCR_Modeler.html Modeler] in HTML5.
-
 
+
===Background===
===Background===
Explore and research the [http://www.socr.ucla.edu/htmls/SOCR_Modeler.html SOCR Modeler] first. The Modeler is one of the major SOCR packages and consists of a collection of applets that allow sampling/simulation and model-fitting. It currently allows fitting several distribution, Fourier or Wavelet models to real or simulated data.
Explore and research the [http://www.socr.ucla.edu/htmls/SOCR_Modeler.html SOCR Modeler] first. The Modeler is one of the major SOCR packages and consists of a collection of applets that allow sampling/simulation and model-fitting. It currently allows fitting several distribution, Fourier or Wavelet models to real or simulated data.
-
 
===Project specs===
===Project specs===
Line 15: Line 13:
* Need to improve the entire design of the SOCR Modeler - interface, computation and visualization.
* Need to improve the entire design of the SOCR Modeler - interface, computation and visualization.
* Need to expand the calculation methods for parameter estimation for many other SOCR distributions. This reference discusses classical statistical estimation theory, concentrating on maximum likelihood estimation in parametric models, from the point of view of physical science and engineering (Adriaan van den Bos, ''Parameter Estimation for Scientists and Engineers'', Wiley, 2007, ISBN 978-0-470-14781-8).
* Need to expand the calculation methods for parameter estimation for many other SOCR distributions. This reference discusses classical statistical estimation theory, concentrating on maximum likelihood estimation in parametric models, from the point of view of physical science and engineering (Adriaan van den Bos, ''Parameter Estimation for Scientists and Engineers'', Wiley, 2007, ISBN 978-0-470-14781-8).
 +
 +
===Data Import/Input===
 +
* '''Copy-Paste''': user copy-pastes data using the mouse from a CSV/XLS/HTML table into a data spreadsheet.
 +
* '''Interactive Graph Entry''': Moderer always displays the distribution (frequency histogram for numerical data, and/or the analytical probability distribution for modeling). User can click on the graph and effectively alter (change, pull, push the histogram and/or modeling graph up or down at the X-coordinate on the graph (see how the current modeler does that (http://socr.ucla.edu/htmls/SOCR_Modeler.html).
 +
* '''RNG''': Random Number Generation (see the current [[SOCR_EduMaterials_Activities_RNG|Modeler RNG engine]]). Of course, we already have the JS versions of the simulators/sampling functionality for over 50+ distributions (http://www.distributome.org/js/calc/index.html, http://www.distributome.org/js/calc/distributions.js, http://distributome.googlecode.com/).
 +
* '''DB API''': Use data from available API’s. See the Worldbank example: This would allow us access to an enormous collection of real (social, econ, Geo-spatial, environmental, etc.) data. See an example of [http://www.google.com/publicdata/directory Google Open-Data Explorer] utilization of the [http://data.worldbank.org/developers Worldbank data API].
 +
===References===
===References===
Line 25: Line 30:
* [http://socr.ucla.edu/htmls/dist/ SOCR Distribution Applets]
* [http://socr.ucla.edu/htmls/dist/ SOCR Distribution Applets]
* [http://code.google.com/p/socr/source/browse/#svn%2Ftrunk%2FSOCR2.0%2Fsrc%2Fedu%2Fucla%2Fstat%2FSOCR%2Fdistributions Distributions Source Code]
* [http://code.google.com/p/socr/source/browse/#svn%2Ftrunk%2FSOCR2.0%2Fsrc%2Fedu%2Fucla%2Fstat%2FSOCR%2Fdistributions Distributions Source Code]
 +
 +
===Technical Details===
 +
Here are some of the details about designing and implementing HTML5 version of the SOCR Modeler:
 +
* [https://github.com/SOCR/SOCR-Java/tree/master/src/edu/ucla/stat/SOCR/modeler Current Java Modeler Code]
 +
* [https://github.com/SOCR/SOCR-Java/tree/master/src/edu/ucla/stat/SOCR/distributions Current Java Distribution Code]
 +
* [http://www.socr.ucla.edu/htmls/mod/ Current SOCR Modeler Java Tool]
 +
* [https://github.com/Distributome/distributome/blob/master/web_site/V.3.0/calc JavaScript Implementations of the Distributions (Distributome Project)]
 +
** These need to be extended to include the same parameter-estimation (MLE) methods (paramEstimate) as in the Java source code
 +
** For example: The [https://github.com/SOCR/SOCR-Java/blob/master/src/edu/ucla/stat/SOCR/distributions/NormalDistribution.java normal distribution Java Code] has this method that needs to be pushed from Java to the [https://github.com/Distributome/distributome/blob/master/web_site/V.3.0/calc/NormalCalculator.js corresponding JavaScript implementation of Normal distribution].
 +
::: public NormalDistribution(double[] distData) {
 +
:::: paramEstimate(distData);
 +
::: }
 +
::::: public void paramEstimate(double[] distData) {
 +
:::::: double mn = getMean(distData);
 +
:::::: double std = Math.sqrt(getVariance(distData));
 +
:::::: setParameters(mn, std);
 +
::::: }
 +
 +
Clearly, for different distributions, the '''paramEstimate''' function will be different. However the Data-driven estimate calls ('''public XXX_Distribution(double[] distData)''') will always be the same template.
 +
 +
* So, we need to expand the [https://github.com/Distributome/distributome/blob/master/web_site/V3/scripts/distributions.js Distributome's distributions.js] functionality to include '''paramEstimate()''' function for each distribution that the [https://github.com/SOCR/SOCR-Java/tree/master/src/edu/ucla/stat/SOCR/distributions SOCR Java-based modeler] already implements these data-driven parameter estimates for.
<hr>
<hr>

Current revision as of 13:37, 27 March 2017

Contents

SOCR Project - Redesign & Expansion of the SOCR Modeler

Project Goal

To redesign and expand the utility of the SOCR Modeler in HTML5.

Background

Explore and research the SOCR Modeler first. The Modeler is one of the major SOCR packages and consists of a collection of applets that allow sampling/simulation and model-fitting. It currently allows fitting several distribution, Fourier or Wavelet models to real or simulated data.

Project specs

  • Need to expand the framework of distribution models that are allowed to be fit to the data using the 40+ SOCR Distributions available in the SOCR Distributions package. This will not involve writing new distribution classes, but rather just utilizing the existent members (objects and methods) of the SOCR Distribution Package.
  • All Code must be pure HTML5-compatible JavaScript/JQuery.
  • Need to improve on the current Graph/Plotting functionality, perhaps by using SOCR Charts (see Charts doc).
  • Need to improve the entire design of the SOCR Modeler - interface, computation and visualization.
  • Need to expand the calculation methods for parameter estimation for many other SOCR distributions. This reference discusses classical statistical estimation theory, concentrating on maximum likelihood estimation in parametric models, from the point of view of physical science and engineering (Adriaan van den Bos, Parameter Estimation for Scientists and Engineers, Wiley, 2007, ISBN 978-0-470-14781-8).

Data Import/Input


References

The following references would be useful for this project:

Technical Details

Here are some of the details about designing and implementing HTML5 version of the SOCR Modeler:

public NormalDistribution(double[] distData) {
paramEstimate(distData);
}
public void paramEstimate(double[] distData) {
double mn = getMean(distData);
double std = Math.sqrt(getVariance(distData));
setParameters(mn, std);
}

Clearly, for different distributions, the paramEstimate function will be different. However the Data-driven estimate calls (public XXX_Distribution(double[] distData)) will always be the same template.


Available_SOCR_Development_Projects

SOCR_ProposalSubmissionGuidelines




Translate this page:

(default)

Deutsch

Español

Français

Italiano

Português

日本語

България

الامارات العربية المتحدة

Suomi

इस भाषा में

Norge

한국어

中文

繁体中文

Русский

Nederlands

Ελληνικά

Hrvatska

Česká republika

Danmark

Polska

România

Sverige

Personal tools