Difference between revisions of "Analytica User Group"

(wiki->docs)
 
(315 intermediate revisions by 11 users not shown)
Line 1: Line 1:
The Analytica User Group provides a support system and various resources among existing Analytica Users.
+
[[Category: Training]]
 +
[[Category: Videos]]
  
= Webinar Series =
+
[[/Past Topics|Past Topics]] >>
  
The Analytica webinar series uses GotoMeeting with conference calling technology as a media for regular presentations on topics of potential interest to the community of Analytica users and modelers. Webinars are interactive, with questions and tangents welcome.  Webinars are a great place to learn more about Analytica and other related topics! Seats are limited. To sign up for a particular webinar, see "How to Attend" below.
+
The Analytica User Group is a way for Analytica users to support each other by sharing tips and function libraries. It includes a webinar series with tutorials and demonstrations on key Analytica features.  
  
Topic scope includes:
+
== Webinar Series ==
* Introduction to new Analytica 4.0 features.
 
* How-to: How to utilize specific Analyica features.
 
* Case-studies: Presentation about successful applications.
 
* General modeling topics.  E.g., an introduction to XYZ theory, and modeling this in Analytica.
 
* Analytica training.
 
  
In the upcoming weeks, we expect to offer several webinars covering features new to Analyica 4.0.
+
Analytica User Webinars are a great way to learn about key Analytica features and modeling skills. They are live demos, using Citrix Gotowebinar, and VOIP or your telephone, at your choice. Questions, comments, and tangents are welcome.
  
Webinar presentations may last anywhere from 20 to 90 minutes, depending on the topic (an estimate of duration should be included with the topic).
+
There are webinars most weeks, usually on Thursdays at 10am PST (1pm EST). Seats are limited. To sign up for a particular webinar, see "How to Attend" below. Presentations may last anywhere from 20 to 90 minutes (with an estimate provided upfront).
  
Lumina may record make a recording of User Group webinars, including audio of the presenter and participants. Lumina reserves the right to make these recordings available (or not) at its discretion.
+
If you missed a User Webinar, don't despair. We usually records them, including audio and screensharing. So, you can replay them any time. See below for the full list.  
  
== Schedule of Upcoming Webinars ==
+
;Recent talks include:
 +
* [[/Past_Topics#Expression Assist|Expression Assist]] (9-Feb-2012)
 +
* [[/Past_Topics#The Analytica Cloud Player Style Library|The Analytica Cloud Player Style Library]] (31-Jan-2012)
 +
* [[/Past_Topics#Intro_to_Analytica_Cloud_Player|Intro to Analytica Cloud Player]] (26-Jan-2012)
 +
* [[/Past_Topics#New_Features_in_Analytica_4.4|New Features in Analytica 4.4]] (19-Jan-2012)
  
=== Calling External Applications ===
+
=== Schedule of Upcoming Webinars ===
  
<b>Date and Time:</b> Thursday, Oct 18, 2007 at 10:00 - 11:00am Pacific Daylight Time
+
==== Linearizing Optimization Models ====
  
<b>Presenter:</b> Lonnie Chrisman, Lumina Decision Systems
+
==== [[Model building by mouse]] ====
  
<b>Abstract</b>
+
'''Date and Time:''' (TBD)
  
The [[RunConsoleProcess] function runs an external program, can exchange data with that program, and can be used to perform a computation or acquire data outside of Analytica, that then can be used within the model.  I'll demonstrate how this can be used with a handful of programs, and code written in several programming and scripting languages.  I'll demonstrate a user-defined function that retrieves historical stock data from a web site.
+
'''Presenter''': (TBD)
  
=== The [[Using_References|Reference and Dereference Operators]] ===
+
'''Abstract'''
  
The reference operators make it possible to represent complex data structures like trees or non-rectangular arrays, bundle heterogenous data into records, maintain arrays of local indexes, and seize control of array abstraction in a variety of scenarios.  Using a reference, an array can be made to look like an atomic element to array abstraction, so that arrays of differing dimensionality can be bundled into a single array without an explosion of dimensions.  The flexibilities afforded by references are generally for the advanced modeler or programmer, but once mastered, they come in useful fairly often.  
+
See Model building by mouse for the concept. The talk will also cover the TemplateInput and TemplateOutput attributes first introduced in 4.2 that make template modules possible, and thus expand the potential power and applicability of this modeling technique.  
  
=== The [[Iterate]] Function ===
+
==== Saving Memory: Controlling when results are (and are not) cached ====
  
With [[Iterate]], you can create a recurrent loop around a large model, which can be useful for iterating until a convergence condition is reached, for example.  For complex iterations, where many variables are being updated at each iteration, requires you to structure your model appropriate, bundling and unbundling values within the single iterative loop.  With some work, [[Iterate]] can be used to simulate the functionality [[Dynamic]], and thus provides one option when a second [[Time]]-like index is needed (although not nearly as convenient as [[Dynamic]]).
+
'''Date and Time:''' (TBD)
  
In this session, we'll explore how [[Iterate]] can be used.
+
'''Presenter:''' Lonnie Chrisman, Lumina Decision Systems
  
=== Modeling Energy Efficiency in Large Data Centers ===
+
'''Abstract'''
  
<b>Date and Time</b>Thursday, Oct 25, 2007 at 10:00 - 11:00am Pacific Daylight Time
+
When a variable is computed, Analytica caches the result (i.e., keeps a copy around) so that when the same result is needed later, it does not need to be recomputed.  Large array-valued results can end up consuming large amounts of memory, and lead to annoyances such as running out of available memory.  There are instances where it isn't really necessary to cache a result -- either it will never be needed a second time, or it isn't a big deal to recompute it, or it is an exact copy of its parent (perhaps because only the result graph settings are different), so that by configuring that variable to not cache its result, or to release its cache as soon as all its children are computed, memory space can be recovered, perhaps allowing larger simulations to be conducted.
  
<b>Presenter:</b>Surya Swamy, Lumina Decision Systems
+
Analytica 4.2 introduces a new feature allowing you to configure when results are (or are not) cached.  I'll demonstrate how to utilize this feature, and discuss limitations, such as situations where it would be a very bad idea not to cache. 
  
<b>Abstract</b>
+
If time allows (it probably will), I'll also throw in two other small memory-related controls new in 4.2.  The [[WhatIf]]-style functions ([[WhatIf]], [[WhatIfAll]], [[Dydx]], [[Elasticity]], [[NlpDefine]]), i.e., functions that compute hypotheticals, have been modified in 4.2 to preserve previously computed values of other variables. This is a nice feature, but can impact tight-memory cases. I'll explain this change and how to avoid the extra memory consumption where appropriate. Second, I'll also show how Analytica's maximum working set size can be configured (on some operating systems), which can be used to keep other applications on your computer highly responsive even when large memory-intensive computations are churning away.
The U.S. data center industry is witnessing a tremendous growth period stimulated by increasing demand for data processing and storage. This has resulted in a number of important implications including increased energy costs for business and government, increased emissions from electricity generation, increased strain on the power grid and rising capital costs for data center capacity expansion. In this webinar, Analytica's dynamic modeling capabilities coupled with it's advanced uncertainty capabilities, which offer tremendous support in building cost models for planning and development of energy efficient data centers will be illustrated. The model enables users to explore future technologies, the performance, costs and efficiencies of which are uncertain and hence to be probabilistically evaluated over time.
 
  
=== [[Handle]]s and [[Meta-Inference]] ===
+
In Analytica 64-bit, you are less likely to encounter the problem of running out of memory, but you still may encounter performance slowdown from huge memory utilization.  Some large models, requiring extensive memory resources, run smoothly even when requiring far more memory than there is RAM available, while other result in extensive ''thrashing'', taking very long to evaluate.  I've found that differentiating factor has to do with the size of individual arrays within the model.  Thrashing tends to occur when a single array consumes more than about 1/3 the available RAM, while if all arrays in the model remain small relative to available RAM, huge memory evaluations often run very smoothly. I'll relate these observations, and what that means with respect to sample size.
  
<b>Date and Time:</b> TBA
+
This talk is appropriate for advanced Analytica modelers.
  
<b>Presenter:</b> Lonnie Chrisman, Lumina Decision Systems
 
  
<b>Abstract</b>
+
==== The [[Dynamic]] Function and Dynamic Loops ====
  
Meta-inference refers to computations that reason about your model itself, or that actually alter your model.  For example, if you were to write an expression that counted how many variables are in your model, you would be reasoning about your model.  Other examples of meta inference include changing visual appearance of nodes to communicate some property, re-arranging nodes, finding objects with given properties, or even creating a transformed model based on portion of your model's structure. 
+
'''Date and Time:''' (TBD)
  
The ability to implement meta-inferential algorithms in Analytica has been greatly enhanced in Analytica 4.0.  The key to implementation of meta-inference is the manipulation of [[Handle]]s to objects (formerly refered to as ''varTerms'').  This webinar will provide a very brief introduction to handles and using them from within expressions.  I will assume you are pretty familiar with creating models and writing expressions in Analyica, but I will not assume that have previous seen or used Handles.
+
'''Presenter:''' Lonnie Chrisman, Lumina Decision Systems
  
== How to Attend ==
+
'''Abstract'''
  
To attend, you need to sign up by contacting Lumina at webinars@lumina.com or (650) 212-1212Attendence is limited to 15 people, so don't sign up unless you sincerely intend to attendAlso, sign up at least a day prior, since the webinar may be cancelled if there are few pre-registered participants.
+
The [[Dynamic]] function in Analytica 4.2 is a bit more flexible than previouslyIt is now possible for [[User-Defined Functions]] to be part of a dynamic loop, and there are cases where it is now possible to operate over the [[Time]] index where previous it was notI'll discuss how dynamic models are evaluated, and how that differs from non-dynamic models, and cover some tricks for tracing evaluation and debugging complex dynamic models (which can often be challenging to debug).  I'll also introduce how [[Dynamic]] can be used on an index other than the built-in [[Time]] index.
  
These Webinars are FREE to users who have an up-to-date annual maintenance subscription (MTS).  If you are unsure, check with mailto:sales@lumina.  For those without MTS, an attendence fee of US$100 is charged.
+
==== [[IntraTable]]s ====
  
== How to be a Presenter ==
+
'''Date and Time:''' (TBD)
  
Being a presenter at an Analytica webinar provides an opportunity to make others in the Analytica community aware of your successes or capabilities.  Consultants may find this an opportunity for exposure to others with particular modeling needs.  Also, if you are an Analytica aficionado, this is a great opportunity to help others.
+
'''Presenter:''' Lonnie Chrisman, Lumina Decision Systems
  
If you would like to be a presenter, submit your proposed topic to webinars@lumina.com and possible presentation times (include the time zone).  We will schedule the GotoMeeting conference (you do not need a gotoMeeting subscription yourself) and we will make you presenter during the session, allowing you to share your screen while you talk.  You will most likely make use of Power Point and a running Analytica during your presentation.
+
'''Abstract'''
  
== Past Topics ==
+
An [[IntraTable]] is a variation of an edit [[Table]], where (like [[Table]]s), the cells may contain expressions, but unlike [[Table]]s, the expressions in each cell can refer to values of other cells.  This may (quite appropriately) conjure up nightmares of spreadsheet hell.  While this isn't something you'd want to use nonchalantly, there are cases when the ability to reference other cells within the same table comes with its benefits.  Because the [[IntraTable]] allows any pattern of references (it doesn't have to be strictly left-to-right, for example), as long as a cell-cycle isn't created, it is possible to encode certain recurrences that would otherwise be quite difficult to encode.
  
=== Introduction to Linear and Quadratic Programming ===
+
=== How to Attend ===
  
<b>Date and Time:</b> Thursday, Oct 11, 2007 at 10:00 - 11:00am Pacific Daylight Time
+
To attend, you need to sign up by contacting Lumina at mailto:webinars@lumina.com. Please sign up at least a day prior. Attendance is limited, so please don't sign up unless you sincerely intend to attend.
  
<b>Presenter:</b> Lonnie Chrisman, Lumina Decision Systems
+
These Webinars are FREE to users who have an up-to-date Support for Analytica.  If you are unsure, check with mailto:sales@lumina.  For those without current support, the fee is US$50.
  
<b>Abstract</b>
+
=== How to be a Presenter ===
  
This talk is an introduction to linear programming and quadratic programming, and an introduction to solving LPs and QPs from inside an Analytica model (via Analytica Optimizer).  LPs and QPs can be efficiently encoded using the Analytica Optimizer functions [[LpDefine]] and [[QpDefine]]I'll introduce what a linear program is for the sake of those who are not already familiar, and examine some example problems that fit into this formalism.  We'll encode a few in Analytica and compute optimal solutionsAlthough LPs and QPs are special cases of non-linear programs (NLPs), they are much more efficient and reliable to solve, avoid many of the complications present in non-linear optimization, and fully array abstract.  Many problems that initially appear to be non-linear can often be reformulated as an LP or QP.  We'll also see how to compute secondary solutions such as dual values (slack variables and reduced prices) and coefficient sensitivies.  Finally, [[LpFindIIS]] can be useful for debugging an LP to isolate why there are no feasible solutions.
+
Being a presenter at an Analytica webinar provides an opportunity to make others in the Analytica community aware of your successes or capabilitiesConsultants may find this an opportunity for exposure to others with particular modeling needsAlso, if you are an Analytica aficionado, this is a great opportunity to help others.
  
You can watch a recording of this webinar here: [http://AnalyticaOnline.com/WebinarArchive/2007-10-11-LP-QP-Optimization.wmv LP-QP-Optimization.wmv] (requires Windows Media Player)
+
If you would like to be a presenter, submit your proposed topic to webinars@lumina.com and possible presentation times (include the time zone).  We will schedule the GotoMeeting conference (you do not need a gotoMeeting subscription yourself) and we will make you presenter during the session, allowing you to share your screen while you talkYou will most likely make use of Power Point and a running Analytica during your presentation.
 
 
The model file created during this webinar is here: [[media:LP QP User Group.ANA|LP QP Optimization.ana]]
 
 
 
=== Non-Linear Optimization ===
 
 
 
<b>Date and Time:</b> Thursday, Oct 4, 2007 at 10:00 - 11:00am Pacific Daylight Time
 
 
 
<b>Presenter:</b> Lonnie Chrisman, Lumina Decision Systems
 
 
 
<b>Abstract</b>
 
 
 
This talk focuses on the problem of maximizing or minimizing an objective criteria in the presence of contraints.  This problem is referred to as a non-linear program, and the capability to solve problems of this form is provided by the Analytica Optimizer via the [[NlpDefine]] function. In this talk, I'll introduce the use of [[NlpDefine]] for those who have not previously used this function, and demonstrate how NLPs are structured within Analytica models.  I'll examine various challenges inherent in non-linear optimization, tricks for diagnosing these and some ways to address these.  We'll also examine various ways in which to structure models for parametric analyses (e.g., array abstraction over optimization problems), and optimizations in the presence of uncertainty.
 
 
 
You can watch a recording of this session here: [http://AnalyticaOnline.com/WebinarArchive/2007-10-04-Nonlinear-Optimization.wmv Nonlinear-Optimization.wmv]
 
 
 
During the talk, these two models were created:
 
* [[media:Simple Nonlinear optimization.ANA|Simple Nonlinear Optimization.ana]]
 
* [[media:Nonlinear asset allocation.ANA|Nonlinear asset allocation.ana]]
 
 
 
=== Writing [[User-Defined Functions]] ===
 
 
 
<b>Date and Time:</b> Thursday, Sept. 27, 2007 at 10:00 - 11:00am Pacific Daylight Time
 
 
 
<b>Presenter:</b> Lonnie Chrisman, Lumina Decision Systems
 
 
 
<b>Abstract</b>
 
 
 
When you need a specialized function that is not already built into Analytica, never fear -- you can create your own [[User-Defined Functions|User-Defined Function (UDF)]].  Creating UDFs in Analytica is very easy.  I'll introduce this convenient capability, and demonstrate how UDFs can be organized into libraries and re-used in other models.  I'll also review the libraries of functions that come with Analytica, providing dozens of additional functions.
 
 
 
After this introduction to the basics of UDFs, I'll dive into an in-depth look at [[Function Parameter Qualifiers]].  There is a deep richness to function parameter qualifiers, mastery of which can be used to great benefit.  One of the main objectives for a UDF author, and certainly a hallmark of good modeling style, should be to ensure that the function fully array abstracts.  Although this usually comes for free with simple algorithms, it is sometimes necessary to worry about this explicitly.  I will demonstrate how this objective can often be achieved through appropriate function parameter qualification.
 
 
 
Finally, I will cover how to write a custom distribution function, and how to ensure it works with [[Mid]], [[Sample]] and [[Random]]. 
 
 
 
This talk is appropriate for Analytica modelers from beginning through expert level.  At least some experience building Analytica models and writing Analytica expressions is assumed.
 
 
 
The model created during this webinar, complete with the UDFs written during that webinar, can be downloaded here: [[media:Writing User Defined Functions.ana|Writing User Defined Functions.ana]].
 
 
 
You can watch this webinar here: [http://AnalyticaOnline.com/WebinarArchive/2007-09-27-Writing-UDFs.wmv Writing-UDFs.wmv]  (Windows Media Player required)
 
 
 
=== Modeling Markov Processes in Analytica ===
 
 
 
<b>Date and Time:</b> Thursday, Sept. 20, 2007 at 10:00 - 11:00am Pacific Daylight Time
 
 
 
<b>Presenter:</b> Matthew Bingham, Principal Economist, Veritas Economic Consulting
 
 
 
<b>Abstract</b>
 
 
 
The class of mathematical processes characterized by dynamic dependencies between successive random variables is called Markov chains.  The rich behavior and wide applicability of Markov chains make them important in a variety of applied mathematical applications including population and demographics, health outcomes, marketing, genetics, and renewable resources.  Analytica’s dynamic modeling capabilities, robust array handling, and flexible uncertainty capabilities support sophisticated Markov modeling.  In this webinar, a Markov modeling application is demonstrated.  The model develops age-structured population simulations using a Leslie matrix structure and dynamic simulation in Analytical.
 
 
 
A recording of this session can be viewed at: [http://AnalyticaOnline.com/WebinarArchive/2007-09-20-Markov-Processes.wmv Markov-Processes.wmv] (requires Windows Media Player)
 
 
 
An article about the model presented here: [[media:AnalyticaMarkovtext.pdf|AnalyticaMarkovtext.pdf]]
 
 
 
=== Manipulating Dates in Analytica ===
 
 
 
<b>Date and Time:</b> Thursday, Sept. 13, 2007 at 10:00 - 11:00am Pacific Daylight Time
 
 
 
<b>Presenter:</b> Lonnie Chrisman, Lumina Decision Systems
 
 
 
<b>Abstract</b>
 
 
 
In this talk, I'll cover numerous aspects relating to the manipulation of dates in Analytica.  I'll introduce the encoding of dates as integers and the date origin preference.  I'll review how to configure input variables, edit tables, or even individual columns of edit tables to accept (and parse) dates as input.  I'll cover date number format capabilities in depth, including how to create your own custom date formats, understanding how date formats interact with your computer's regional settings, and how to restrict a date format to a single column onlyWe'll also see how axis scaling in graphs is date-aware. 
 
 
 
Next, we'll examine various ways to manipulate dates in Analytica expressions.  This includes use of the new and powerful functions [[MakeDate]], [[DatePart]], and [[DateAdd]], and some interesting ways in which these can be used, for example, to define date sequences.  Finally, we'll practice our array mastery by aggregating results to and from different date granularities, such aggregating from a month sequence to a years, or interpolating from years to months.
 
 
 
The model file resulting by the end of the session is available here: [[media:Manipulating Dates in Analytica.ana|Manipulating Dates in Analytica.ana]].
 
 
 
You can watch a recording of this webinar here: [http://AnalyticaOnline.com/WebinarArchive/2007-09-13-Manipulating-Dates.wmv Manipulating Dates.wmv] (Windows Media Player required)  Unfortunately, this one seems to have recorded poorly -- the video size is too small.  If you magnify it in your media player, it does become readable.  Sorry -- I don't know why it recorded like this.
 
  
=== Button Scripting ===
+
===Analytica User Group:([[Analytica_User_Group/Past_Topics#The_Large_Sample_Library|Large Sample Library]])===
  
<b>Date and Time:</b> Thursday, Sept. 6, 2007 at 10:00 - 11:00am Pacific Daylight Time
+
=== [[Analytica User Group/Past Topics|Archive of Past Topics]] ===
  
<b>Presenter:</b> Max Henrion, Lumina Decision Systems
+
Visit the [[Analytica User Group/Past Topics|Archive of Past Topics]] for abstracts, example models, and recordings of previous Analytica User Group webinars.  Previous topics that have been presented include:
  
<b>Abstract</b>
+
* Guidelines for Model Transparency
 +
* Automated Monitoring and Failure Detection
 +
* Principal Component Analysis (PCA)
 +
* Internal Rate of Return ([[IRR]]) and Modified Internal Rate of Return ([[MIRR]])
 +
* Bond Portfolio Analysis
 +
* Net Present Value ([[NPV]])
 +
* The Analytica Docs, and How to Contribute
 +
* Data Center Capacity Planning
 +
* Modeling the Precision Strike Process
 +
* The Performance Profiler
 +
* Variable Stiffness Cubic Splines
 +
* Introduction to [[DetermTable]]s
 +
* Importance Sampling (Bayesian posteriors)
 +
* Importance Sampling (rare events)
 +
* Statistical Functions
 +
* [[Table Splicing]]
 +
* Analytica Web Player
 +
* [[SubTable|SubTables]]
 +
* Creating Custom Distribution Functions
 +
* Using the Check attribute to validate inputs and results
 +
* The [[Dynamic]] Function
 +
* [[Logistic Regression]]
 +
* Creating Control Panels
 +
* Statistical Functions
 +
* Creating Scatter Plots
 +
* Using [[Regression]]
 +
* New Functions for Reading Directly from an Excel File
 +
* Advanced Tornado Charts -- when inputs are Array-Valued
 +
* Using the Analytica Decision Engine (ADE) from ASP.NET
 +
* OLE Linking
 +
* Tornado Charts
 +
* Correlated and Multivariate Distributions
 +
* Assessment of Probability Distributions
 +
* Graph Style Templates
 +
* Sneak preview of Analytica Web Publisher
 +
* Querying an OLAP server
 +
* Querying an ODBC relational database
 +
* [[Self-Indexed Arrays|Self-Indexes]], Lists and [[Implicit Dimensions]]
 +
* Flattening and Unflattening of Arrays
 +
* Introduction to Arrays and Array Abstraction
 +
* [[Local Indexes]]
 +
* The [[Iterate]] Function
 +
* The [[Using_References|Reference and Dereference Operators]]
 +
* Modeling Utility Tariffs in Analytica
 +
* Modeling Energy Efficiency in Large Data Centers
 +
* Calling External Applications
 +
* Introduction to Linear and Quadratic Programming
 +
* Non-Linear Optimization
 +
* Writing [[User-Defined Functions]]
 +
* Modeling Markov Processes in Analytica
 +
* Manipulating Dates in Analytica
 +
* Button Scripting
 +
* Manipulating Indexes and Arrays in Analytica Expressions
 +
* Edit Table Enhancements in Analytica 4.0
 +
* [[Handle]]s and [[Meta-Inference]]
  
This webinar is an introduction to Analytica's typescript and button scripting.  Unlike variable definitions, button scripts can have side-effects, and this can be useful in many circumstances.  I'll cover the syntax of typescript (and button scripts), and how scripts can be used from buttons, picture nodes or choice inputs.  I'll introduce some of the Analytica scripting language to those who may have seen or used it before.  And we'll examine some ways in which button scripting can be used.
+
=== Potential future topics ===
 
 
You can watch the recording of this webinar here: [http://AnalyticaOnline.com/WebinarArchive/2007-09-06-Button-Scripting.wmv Button Scripting.wmv] (Requires Windows Media Player or equiv)
 
 
 
=== Using [[Regression]] ===
 
 
 
<b>Date and Time:</b> Thursday, Aug 30, 2007 at 10:00 - 11:00am Pacific Daylight Time
 
 
 
<b>Presenter:</b> Lonnie Chrisman, Lumina Decision Systems
 
 
 
<b>Abstract</b>
 
 
 
Regression analysis is a statistical technique for curve fitting, discovering relationships in data, and testing hypotheses between variables.  In this webinar, I will focus on generalized linear regression, which is provided by Analytica's [[Regression]] function, and examine many ways in which is can be used, including fitting simple lines to data, polynomial regression, use of other non-linear terms, and fitting of autoregressive models (e.g., ARMA).  I'll examine how we can assess how likely it is the data might have been generated from the particular form of the regression model used.  We can also determine the level of uncertainty in our inferred parameter values, and incorporate these uncertainties into a model that uses the result of the regression.  The talk will cover Analytica 4.0 functions [[Regression]], [[RegressionDist]], [[RegressionFitProb]], and [[RegressionNoise]].
 
 
 
The model developed during the course of this session is downloadable from here:
 
[[media:Using Regression.ana|Using Regression.ana]]
 
 
 
 
 
=== Creating Scatter Plots ===
 
 
 
<b>Date and Time:</b> Thursday, Aug 23, 2007 at 10:00 - 11:00am Pacific Daylight Time
 
 
 
<b>Presenter:</b> Lonnie Chrisman, Lumina Decision Systems
 
 
 
<b>Abstract</b>
 
 
 
This webinar focuses on utilizing graphing functionality new to Analytica 4.0, and specifically, functionality enabling the creative use of scatter plots.  The talk will focus primarily on techniques for simultaneously displaying many quantities on a single 2-D graph.  I'll discuss several methods in which multiple data sources (i.e., variable results) can be brought together for display in a single graph, including the use of result comparison, comparison indexes, and external variables.  I'll describe the basic new graphing-role / filler-dimension structure for advanced graphing in Analytica 4.0, enabling multiple dimensions to be displayed on the horizontal and vertical axes, or as symbol shape, color, or symbol size, and how all these can be rapidly pivoted to quickly explore the underlying data.  I'll discuss how graph settings adapt to changes in pivot or result view (such as Mean, Pdf, Sample views).
 
 
 
Model used: During this webinar, I started with some example data in the model [[media:Chemical elements orig.ANA|Chemical elements.ana]].  The original file is in the form before graph settings were changed.  By the end of the webinar, many graph settings had been altered, and various changes made, resulting in [[media:Chemical elements2.ANA|Chemical elements2.ana]].  These models are very useful for people who didn't attend.  For those who did attend, who might want to try repeating the steps involved in setting up scatter plots, I think it is better starting with the original model.
 
 
 
=== Statistical Functions in Analytica 4.0 ===
 
 
 
<b>Date and Time:</b> Thursday, Aug 16, 2007 at 10:00 - 11:00am Pacific Daylight Time
 
 
 
<b>Presenter:</b> Lonnie Chrisman, Lumina Decision Systems
 
 
 
<b>Abstract</b>
 
 
 
A statistical function is a function that process a data set containing many sample points, computing a "statistic" that summarizes the data.  Simple examples are [[Mean]] and [[Variance]], but more complex examples may return matrices or tables.  In this talk, I'll review statistical functions that are built into Analytica 4.0.  In Analytica 4.0, all built-in statistical functions can now be applied to historical data sets over an arbitrary index, as well as to uncertain samples (the Run index), eliminating the need for separate function libraries.  I will demonstrate this use, as well as several new statistical functions, e.g., [[Pdf]], [[Cdf]], [[Covariance]].  I will explain how the domain attribute should be utilized to indicate that numeric-valued data is discrete (such as integer counts, for example), and how various statistical functions (e.g., [[Frequency]], [[GetFract]], [[Pdf]], [[Cdf]], etc) make use of this information.  In the process, I'll demonstrate numerous examples using these functions, such things as inferring sample covariance or correlation matricies from data, quickly histogramming arbitrary data and using the coordinate index setting to plot it, or using a weighted [[Frequency]] for rapid aggregation.
 
 
 
In addition, all statistical functions in Analytica 4.0 can compute weighted statistics, where each point is assigned a different weight.  I'll cover the basics of sample weighting, and demonstrate some simple examples of using this for computing a Bayesian posterior and for importance sampling from an extreme distribution.
 
 
 
The Analytica model file that had resulted by the end of the presentation can be downloaded here:
 
[[media:User Group Webinar - Statistical Functions.ANA | User Group Webinar - Statistical Functions.ANA]].
 
 
 
=== Manipulating Indexes and Arrays in Analytica Expressions ===
 
 
 
<b>Date and Time:</b> Thursday, Aug 9, 2007 at 10:00 - 11:00am Pacific Daylight Time
 
 
 
<b>Presenter:</b> Lonnie Chrisman, Lumina Decision Systems
 
 
 
<b>Abstract</b>
 
 
 
In this webinar, I will review many of the common operations applied to indexes and arrays from within Analytica expressions, with a particular emphasis on enhancements in this area that are new to Analytica 4.0.  I'll review the often used and very powerful [[Subscript]] and [[Slice]] operations, along with the [[Associative_vs._Positional_Indexing|duality of associational and positional indexing]].  I'll introduce newly introduced extensions for positional indexes, such as the @I, A[@I=n], and @[I=n] operations, and extensions that expose positional duals to various previously-existing associational array functions.  I will describe the distinction between index and value contexts in Analytica expressions, along with the distinction between a variable's index value, mid value and sample value, how these may differ ([[Self-Indexed Arrays]]), and how we may access each context-value explicitly.  I will also introduce slice assignment -- the ability to assign values to individual slices of an array within an algorithm.
 
 
 
The content of this webinar is most appropriate for users with moderate to advanced Analyica model-building experience.
 
 
 
Here is the Analytica model that was created during this talk: [[media:Indexes and Arrays UG2.ANA | "Indexes and Arrays UG2.ANA"]].  (This wouldn't be very interesting for someone who didn't attend, but it contains the examples we tried).
 
 
 
=== Edit Table Enhancements in Analytica 4.0 ===
 
 
 
<b>Date and Time:</b> Thursday, Aug 2, 2007 at 10:00 - 11:00am Pacific Daylight Time
 
 
 
<b>Presenter:</b> Lonnie Chrisman, Lumina Decision Systems
 
 
 
<b>Abstract</b>
 
 
 
In this webinar, I will demonstrate several new edit table functionalities in Analytica 4.0, including:
 
* Insert [[Choice]] drop-down controls in table cells.
 
* [[Table Splicing|Splicing]] tables based on computed indexes.
 
* Customizing the [[TableCellDefault|default cell value(s)]].
 
* Blank cells to catch entries that need to be filled in.
 
* [[SubTable]]s
 
* Using different number formats for each column.
 
 
 
This talk is oriented for model builders with Analytica model-building experience.
 
 
 
The Analytica session that existed by the end of the talk is stored in the following model file: [[Media:Edit_Table_Features.ANA | "Edit Table Features.ana"]].
 
 
 
== Potential future topics ==
 
  
 
If you would like to see a webinar on a given topic, please feel free to add it here.  If you see a topic listed and would like to be a presenter, let us know.
 
If you would like to see a webinar on a given topic, please feel free to add it here.  If you see a topic listed and would like to be a presenter, let us know.
  
* Rapid review of features new to Analytica 4.0.
+
* Statistical hypothesis testing.
 +
** Standard textbook tests
 +
** Computing p-values using Monte Carlo for complex and non-standard statistical models.
  
* Importance Sampling.  Global sample weighting and use of extended statistic functions in 4.0.
+
* Time-series analysis
  
* Topics in Regression: Using the [[Regression]] function in flexible ways, such as infering VARMA models, DFTs, etc.  Estimating secondary statistics (i.e., uncertainty in the parameters) and modeling the full uncertainty in resulting model predictions (the [[RegressionDist]] function, etc).  Alternative regression models ([[Probit_Regression]], [[Logistic_Regression]], [[Possion_Regression]], etc).
+
* Using the interpolation functions, [[LinearInterp]], [[CubicInterp]], [[StepInterp]].
  
* Logistic Regression: Quick intro to logistic regression (generalized regression), including [[Probit_Regression]], [[Logistic_Regression]], [[Possion_Regression]], etc. Using these to fit probability estimates in Analyica, Analyica Optimizer experience, exploring result with new graphing features.
+
* Numeric precision - numeric round-off, underflow, etc., why they happen, what to do about it.
  
* New 4.0 graphing features general overview
+
* Net Present Value and Internal Rate of Return -- introduction to the use of these commonly used metrics for quantifying decision quality.
  
* Creating graphs of multi-dimensional data.
+
* Using the ''Performance Profiler'' to understand where your model consumes time and memory resources.
 
 
* Graph Style Templates: Creating libraries of style templates, including some behind-the-scenes settings.
 
 
 
* An in-depth look at graph style settings. 
 
 
 
* MdxQuery - Interacting with Microsoft Analysis Services or other OLAP servers.
 
  
 
* Producing graphs from ADE: Including how to serve graphs from web pages.
 
* Producing graphs from ADE: Including how to serve graphs from web pages.
 
* Manipulating dates in Analytica
 
 
* Integrating with external programs:  Utilizing external programs or scripts (VBScript, Perl, etc) from within an Analytica model.
 
 
* An introduction to button scripting in Analytica
 
 
* New extensions to the Analytica Optimizer
 
 
* Introduction to Linear, Quadratic and Non-Linear Programming, and the basics of using Analytica Optimizer.
 
  
 
* Intracacies of the Domain attribute
 
* Intracacies of the Domain attribute
 
* Writing user-defined functions.  Understanding parameter qualifiers.  Introduction to new 4.0 qualifiers.  Writing distribution functions. Writing array abstractable functions.
 
  
 
* Mastering Array Abstraction
 
* Mastering Array Abstraction
  
* Sampling and Distributions - new 4.0 additions/extensions.  Also, writing custom User-Defined Distribution Functions.
+
* Writing User-Defined Distribution functions.
 
 
* Integrating with external applications using [[RunConsoleProcess]].
 
 
 
* [[Handle]]s and [[Meta-Inference]].
 
 
 
* Using references (the \ and # operators)
 
  
 
* Getting data into Analytica.
 
* Getting data into Analytica.
  
 
* [[DetermTable]]s
 
* [[DetermTable]]s
 
* Implementing iterative algorithms.  Convergence algorithms using [[Iterate]].  Use of [[While..Do]].  Recursive functions, slice assignment, etc.
 
  
 
* Large-scale sampling.  Techniques when memory limitations constrain sampleSize.
 
* Large-scale sampling.  Techniques when memory limitations constrain sampleSize.
Line 308: Line 189:
 
* Dynamic Programming
 
* Dynamic Programming
  
* Correlated and multi-dimensional distributions
+
* Approximate and Stochastic Dynamic Programming
  
== User Survey Results ==
+
=== User Survey Results ===
  
 
During the first week of September, we sent out a survey to people who had attended webinars so far.  Please continue providing us with feedback.  Here is some feedback to date:
 
During the first week of September, we sent out a survey to people who had attended webinars so far.  Please continue providing us with feedback.  Here is some feedback to date:
Line 344: Line 225:
 
* Importance analysis
 
* Importance analysis
  
= The Analytica Wiki =
+
== The Analytica Docs==
 
 
The [[Analytica Wiki ]] contains many resources, including in-depth reference materials, relevant articles, example models, tutorials, etc., to help users master Analytica and find what they need.  Even better, Analytica users can contribute!  You can upload your own models, articles, expand on or correct materials that are there, etc., for the benefit of the entire Analytica community.
 
  
= The Analytica Forum =
+
The [[Analytica Docs]] contains many resources, including in-depth reference materials, relevant articles, example models, tutorials, etc., to help users master Analytica and find what they need.  Even better, Analytica users can contribute!  You can upload your own models, articles, expand on or correct materials that are there, etc., for the benefit of the entire Analytica community.
  
The [http://revelarium.com/phpBB/index.php Analytica Forum] is a message board where users can post questions to the Analytica community, or view what others have posted.  Many materials of general interest have been posted there (however, we hope to eventually update the Wiki to reflect all this material, where it can be more conveniently organized).  The forum is maintained indepedently by an enthusiastic Analytica user.  Our thanks to to Mike for all his efforts!
+
==See Also==
 +
* [[Tutorial videos]]

Latest revision as of 21:10, 7 August 2024


Past Topics >>

The Analytica User Group is a way for Analytica users to support each other by sharing tips and function libraries. It includes a webinar series with tutorials and demonstrations on key Analytica features.

Webinar Series

Analytica User Webinars are a great way to learn about key Analytica features and modeling skills. They are live demos, using Citrix Gotowebinar, and VOIP or your telephone, at your choice. Questions, comments, and tangents are welcome.

There are webinars most weeks, usually on Thursdays at 10am PST (1pm EST). Seats are limited. To sign up for a particular webinar, see "How to Attend" below. Presentations may last anywhere from 20 to 90 minutes (with an estimate provided upfront).

If you missed a User Webinar, don't despair. We usually records them, including audio and screensharing. So, you can replay them any time. See below for the full list.

Recent talks include

Schedule of Upcoming Webinars

Linearizing Optimization Models

Model building by mouse

Date and Time: (TBD)

Presenter: (TBD)

Abstract

See Model building by mouse for the concept. The talk will also cover the TemplateInput and TemplateOutput attributes first introduced in 4.2 that make template modules possible, and thus expand the potential power and applicability of this modeling technique.

Saving Memory: Controlling when results are (and are not) cached

Date and Time: (TBD)

Presenter: Lonnie Chrisman, Lumina Decision Systems

Abstract

When a variable is computed, Analytica caches the result (i.e., keeps a copy around) so that when the same result is needed later, it does not need to be recomputed. Large array-valued results can end up consuming large amounts of memory, and lead to annoyances such as running out of available memory. There are instances where it isn't really necessary to cache a result -- either it will never be needed a second time, or it isn't a big deal to recompute it, or it is an exact copy of its parent (perhaps because only the result graph settings are different), so that by configuring that variable to not cache its result, or to release its cache as soon as all its children are computed, memory space can be recovered, perhaps allowing larger simulations to be conducted.

Analytica 4.2 introduces a new feature allowing you to configure when results are (or are not) cached. I'll demonstrate how to utilize this feature, and discuss limitations, such as situations where it would be a very bad idea not to cache.

If time allows (it probably will), I'll also throw in two other small memory-related controls new in 4.2. The WhatIf-style functions (WhatIf, WhatIfAll, Dydx, Elasticity, NlpDefine), i.e., functions that compute hypotheticals, have been modified in 4.2 to preserve previously computed values of other variables. This is a nice feature, but can impact tight-memory cases. I'll explain this change and how to avoid the extra memory consumption where appropriate. Second, I'll also show how Analytica's maximum working set size can be configured (on some operating systems), which can be used to keep other applications on your computer highly responsive even when large memory-intensive computations are churning away.

In Analytica 64-bit, you are less likely to encounter the problem of running out of memory, but you still may encounter performance slowdown from huge memory utilization. Some large models, requiring extensive memory resources, run smoothly even when requiring far more memory than there is RAM available, while other result in extensive thrashing, taking very long to evaluate. I've found that differentiating factor has to do with the size of individual arrays within the model. Thrashing tends to occur when a single array consumes more than about 1/3 the available RAM, while if all arrays in the model remain small relative to available RAM, huge memory evaluations often run very smoothly. I'll relate these observations, and what that means with respect to sample size.

This talk is appropriate for advanced Analytica modelers.


The Dynamic Function and Dynamic Loops

Date and Time: (TBD)

Presenter: Lonnie Chrisman, Lumina Decision Systems

Abstract

The Dynamic function in Analytica 4.2 is a bit more flexible than previously. It is now possible for User-Defined Functions to be part of a dynamic loop, and there are cases where it is now possible to operate over the Time index where previous it was not. I'll discuss how dynamic models are evaluated, and how that differs from non-dynamic models, and cover some tricks for tracing evaluation and debugging complex dynamic models (which can often be challenging to debug). I'll also introduce how Dynamic can be used on an index other than the built-in Time index.

IntraTables

Date and Time: (TBD)

Presenter: Lonnie Chrisman, Lumina Decision Systems

Abstract

An IntraTable is a variation of an edit Table, where (like Tables), the cells may contain expressions, but unlike Tables, the expressions in each cell can refer to values of other cells. This may (quite appropriately) conjure up nightmares of spreadsheet hell. While this isn't something you'd want to use nonchalantly, there are cases when the ability to reference other cells within the same table comes with its benefits. Because the IntraTable allows any pattern of references (it doesn't have to be strictly left-to-right, for example), as long as a cell-cycle isn't created, it is possible to encode certain recurrences that would otherwise be quite difficult to encode.

How to Attend

To attend, you need to sign up by contacting Lumina at mailto:webinars@lumina.com. Please sign up at least a day prior. Attendance is limited, so please don't sign up unless you sincerely intend to attend.

These Webinars are FREE to users who have an up-to-date Support for Analytica. If you are unsure, check with mailto:sales@lumina. For those without current support, the fee is US$50.

How to be a Presenter

Being a presenter at an Analytica webinar provides an opportunity to make others in the Analytica community aware of your successes or capabilities. Consultants may find this an opportunity for exposure to others with particular modeling needs. Also, if you are an Analytica aficionado, this is a great opportunity to help others.

If you would like to be a presenter, submit your proposed topic to webinars@lumina.com and possible presentation times (include the time zone). We will schedule the GotoMeeting conference (you do not need a gotoMeeting subscription yourself) and we will make you presenter during the session, allowing you to share your screen while you talk. You will most likely make use of Power Point and a running Analytica during your presentation.

Analytica User Group:(Large Sample Library)

Archive of Past Topics

Visit the Archive of Past Topics for abstracts, example models, and recordings of previous Analytica User Group webinars. Previous topics that have been presented include:

  • Guidelines for Model Transparency
  • Automated Monitoring and Failure Detection
  • Principal Component Analysis (PCA)
  • Internal Rate of Return (IRR) and Modified Internal Rate of Return (MIRR)
  • Bond Portfolio Analysis
  • Net Present Value (NPV)
  • The Analytica Docs, and How to Contribute
  • Data Center Capacity Planning
  • Modeling the Precision Strike Process
  • The Performance Profiler
  • Variable Stiffness Cubic Splines
  • Introduction to DetermTables
  • Importance Sampling (Bayesian posteriors)
  • Importance Sampling (rare events)
  • Statistical Functions
  • Table Splicing
  • Analytica Web Player
  • SubTables
  • Creating Custom Distribution Functions
  • Using the Check attribute to validate inputs and results
  • The Dynamic Function
  • Logistic Regression
  • Creating Control Panels
  • Statistical Functions
  • Creating Scatter Plots
  • Using Regression
  • New Functions for Reading Directly from an Excel File
  • Advanced Tornado Charts -- when inputs are Array-Valued
  • Using the Analytica Decision Engine (ADE) from ASP.NET
  • OLE Linking
  • Tornado Charts
  • Correlated and Multivariate Distributions
  • Assessment of Probability Distributions
  • Graph Style Templates
  • Sneak preview of Analytica Web Publisher
  • Querying an OLAP server
  • Querying an ODBC relational database
  • Self-Indexes, Lists and Implicit Dimensions
  • Flattening and Unflattening of Arrays
  • Introduction to Arrays and Array Abstraction
  • Local Indexes
  • The Iterate Function
  • The Reference and Dereference Operators
  • Modeling Utility Tariffs in Analytica
  • Modeling Energy Efficiency in Large Data Centers
  • Calling External Applications
  • Introduction to Linear and Quadratic Programming
  • Non-Linear Optimization
  • Writing User-Defined Functions
  • Modeling Markov Processes in Analytica
  • Manipulating Dates in Analytica
  • Button Scripting
  • Manipulating Indexes and Arrays in Analytica Expressions
  • Edit Table Enhancements in Analytica 4.0
  • Handles and Meta-Inference

Potential future topics

If you would like to see a webinar on a given topic, please feel free to add it here. If you see a topic listed and would like to be a presenter, let us know.

  • Statistical hypothesis testing.
    • Standard textbook tests
    • Computing p-values using Monte Carlo for complex and non-standard statistical models.
  • Time-series analysis
  • Numeric precision - numeric round-off, underflow, etc., why they happen, what to do about it.
  • Net Present Value and Internal Rate of Return -- introduction to the use of these commonly used metrics for quantifying decision quality.
  • Using the Performance Profiler to understand where your model consumes time and memory resources.
  • Producing graphs from ADE: Including how to serve graphs from web pages.
  • Intracacies of the Domain attribute
  • Mastering Array Abstraction
  • Writing User-Defined Distribution functions.
  • Getting data into Analytica.
  • Large-scale sampling. Techniques when memory limitations constrain sampleSize.
  • Bayesian Inference
  • Sensitivity Analysis.
  • Dynamic Programming
  • Approximate and Stochastic Dynamic Programming

User Survey Results

During the first week of September, we sent out a survey to people who had attended webinars so far. Please continue providing us with feedback. Here is some feedback to date:

Level of difficult and speed:

So far, of those who answered this question, 25% say "a bit too easy", 25% say "too hard/fast", and 50% say "just right".

Topics requested for future webinars:

  • How to run multiple iterations, e.g. 100 iterations with uncertainty sample of 1000.
  • Sampling for rare events.
  • Using the lognormal function.
  • Financial modeling
  • New array functionality (subtables, choices in tables)
  • Optimizer !!!
  • Dynamic models (twice requested)
  • Choice of distributions
  • Re-sampling and radomize methods and uncertainty sample size
  • Tricks for sensitivity analysis
  • Input and output nodes
  • Importance analysis

The Analytica Docs

The Analytica Docs contains many resources, including in-depth reference materials, relevant articles, example models, tutorials, etc., to help users master Analytica and find what they need. Even better, Analytica users can contribute! You can upload your own models, articles, expand on or correct materials that are there, etc., for the benefit of the entire Analytica community.

See Also

Comments


You are not allowed to post comments.