Tutorial videos

Revision as of 19:12, 29 November 2007 by Lchrisman (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

The Iterate Function

Date and Time: Thursday, Nov. 29, 2007 at 10:00 - 11:00am Pacific Standard Time

Presenter: Lonnie Chrisman, Lumina Decision Systems

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).

In this session, we'll explore how Iterate can be used.

Here is the model file developed during the webinar: Iterate Demonstration.ANA

A recording of this webinar will be posted shortly.


The Reference and Dereference Operators

Date and Time: Thursday, Nov. 15, 2007 at 10:00 - 11:00am Pacific Standard Time

Presenter: Lonnie Chrisman, Lumina Decision Systems

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.

Here is the model used during the webinar: Reference and Dereference Operators.ana. Near the end of the webinar, I encountered a glitch that I was not able to resolve until after the webinar was over. This has been fixed in the attached model. For an explanation of what was occurring, see: Analytica_User_Group/Reference_Webinar_Glitch.

You can watch a recording of this webinar at: Reference-And-Dereference.wmv (Requires Windows Media Player)

Modeling Utility Tariffs in Analytica

Presenter: Brian Parsonnet, Ice Energy

Date and Time: Thursday, Nov 8, 2007 at 10:00 - 11:00am Pacific Standard Time

Modeling utility tariffs is a tedious and complicated task. There is no standard approach to how a utility tariff is constructed, and there are 1000’s of tariffs in the U.S. alone. Ice Energy has made numerous passes at finding a “simple” approach to enable tariff vs. product analysis, including writing VB applications, involved Excel spreadsheets, using 3rd party tools, or outsourcing projects to consultants. The difficulty stems from the fact that there is little common structure to tariffs, and efforts to standardize on what structure does exist is confounded by an endless list of exceptions. But using the relatively simple features of Analytica we have created a truly generic model that allows a tariff to be defined and integrated in just a few minutes. The technique is not fancy by Analytica standards, so this in essence demonstrates how Analytic’s novel modeling concept can tackle tough problems.

You can watch a recording of this webinar at: 2007-11-08-Tariff-Modeling (Requires Windows Media Player)

Modeling Energy Efficiency in Large Data Centers

Date and TimeThursday, Oct 25, 2007 at 10:00 - 11:00am Pacific Daylight Time

Presenter:Surya Swamy, Lumina Decision Systems

Abstract

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.

You can watch a recording of this presentation at: Data-Center-Model.wmv (Requires Windows Media Player)

Calling External Applications

Date and Time: Thursday, Oct 18, 2007 at 10:00 - 11:00am Pacific Daylight Time

Presenter: Lonnie Chrisman, Lumina Decision Systems

Abstract

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.

You can watch a recording of this webinar at: Calling-External-Applications.wmv (Requires Windows Media Player)

Files created or used during this webinar can be downloaded:

The example of retrieving stock data from Yahoo Finance is also detailed in an article here: Retrieving Content From the Web

Introduction to Linear and Quadratic Programming

Date and Time: Thursday, Oct 11, 2007 at 10:00 - 11:00am Pacific Daylight Time

Presenter: Lonnie Chrisman, Lumina Decision Systems

Abstract

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 solutions. Although 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.

You can watch a recording of this webinar here: LP-QP-Optimization.wmv (requires Windows Media Player)

The model file created during this webinar is here: LP QP Optimization.ana

Non-Linear Optimization

Date and Time: Thursday, Oct 4, 2007 at 10:00 - 11:00am Pacific Daylight Time

Presenter: Lonnie Chrisman, Lumina Decision Systems

Abstract

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: Nonlinear-Optimization.wmv

During the talk, these two models were created:

Writing User-Defined Functions

Date and Time: Thursday, Sept. 27, 2007 at 10:00 - 11:00am Pacific Daylight Time

Presenter: Lonnie Chrisman, Lumina Decision Systems

Abstract

When you need a specialized function that is not already built into Analytica, never fear -- you can create your own 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: Writing User Defined Functions.ana.

You can watch this webinar here: Writing-UDFs.wmv (Windows Media Player required)

Modeling Markov Processes in Analytica

Date and Time: Thursday, Sept. 20, 2007 at 10:00 - 11:00am Pacific Daylight Time

Presenter: Matthew Bingham, Principal Economist, Veritas Economic Consulting

Abstract

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: Markov-Processes.wmv (requires Windows Media Player)

An article about the model presented here: AnalyticaMarkovtext.pdf

Manipulating Dates in Analytica

Date and Time: Thursday, Sept. 13, 2007 at 10:00 - 11:00am Pacific Daylight Time

Presenter: Lonnie Chrisman, Lumina Decision Systems

Abstract

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 only. We'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: Manipulating Dates in Analytica.ana.

You can watch a recording of this webinar here: 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

Date and Time: Thursday, Sept. 6, 2007 at 10:00 - 11:00am Pacific Daylight Time

Presenter: Max Henrion, Lumina Decision Systems

Abstract

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.

You can watch the recording of this webinar here: Button Scripting.wmv (Requires Windows Media Player or equiv)

Using Regression

Date and Time: Thursday, Aug 30, 2007 at 10:00 - 11:00am Pacific Daylight Time

Presenter: Lonnie Chrisman, Lumina Decision Systems

Abstract

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: Using Regression.ana


Creating Scatter Plots

Date and Time: Thursday, Aug 23, 2007 at 10:00 - 11:00am Pacific Daylight Time

Presenter: Lonnie Chrisman, Lumina Decision Systems

Abstract

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 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 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

Date and Time: Thursday, Aug 16, 2007 at 10:00 - 11:00am Pacific Daylight Time

Presenter: Lonnie Chrisman, Lumina Decision Systems

Abstract

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: User Group Webinar - Statistical Functions.ANA.

Manipulating Indexes and Arrays in Analytica Expressions

Date and Time: Thursday, Aug 9, 2007 at 10:00 - 11:00am Pacific Daylight Time

Presenter: Lonnie Chrisman, Lumina Decision Systems

Abstract

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 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: "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

Date and Time: Thursday, Aug 2, 2007 at 10:00 - 11:00am Pacific Daylight Time

Presenter: Lonnie Chrisman, Lumina Decision Systems

Abstract

In this webinar, I will demonstrate several new edit table functionalities in Analytica 4.0, including:

  • Insert Choice drop-down controls in table cells.
  • Splicing tables based on computed indexes.
  • Customizing the default cell value(s).
  • Blank cells to catch entries that need to be filled in.
  • SubTables
  • 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: "Edit Table Features.ana".

Comments


You are not allowed to post comments.