 <?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.analytica.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jgoorden</id>
	<title>Analytica Docs - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.analytica.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jgoorden"/>
	<link rel="alternate" type="text/html" href="https://docs.analytica.com/index.php/Special:Contributions/Jgoorden"/>
	<updated>2026-05-20T14:53:06Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.9</generator>
	<entry>
		<id>https://docs.analytica.com/index.php?title=Analytica_in_the_Classroom&amp;diff=21114</id>
		<title>Analytica in the Classroom</title>
		<link rel="alternate" type="text/html" href="https://docs.analytica.com/index.php?title=Analytica_in_the_Classroom&amp;diff=21114"/>
		<updated>2012-01-08T16:33:13Z</updated>

		<summary type="html">&lt;p&gt;Jgoorden: /* Could stray planetary bodies in open space be detected? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Teaching Quantiative Modeling Skills to Students =&lt;br /&gt;
&lt;br /&gt;
Teaching your students to think analytically and clearly about messy real-life decision problems is the key challenge for a professor in scientific fields of study, such as economics, engineering, public policy, business, finance, and the standard sciences (physics, chemistry, biology, etc).  Appropriate use of software modeling tools can greatly enhance the learning experience as long as you as an instructor keep the emphasis on developing these skills rather than the mechanics of using the software.  The use of Excel in the classroom, in particular, is often very damaging in this respect.  We often see the emphasis, and the focus of the students, shift from shift from developing the clear thinking and modeling skills to mastery of the spreadsheet mechanics.  We believe that the use of Analytica in the classroom really helps to keep the focus on the core modeling skills.&lt;br /&gt;
&lt;br /&gt;
For those of us who have been working in quantitative fields for many years, it is easy to lose sight of some of the most difficult, yet most important, skills that students must learn.  These include:&lt;br /&gt;
;Ability to clearly define variables.&lt;br /&gt;
:Real-world problems are messy, quantitative, subjective, fuzzy, etc.  Yet a formal analytical model must reduce these to unambiguous and quantitative terms -- what we usually refer to as variables.   &lt;br /&gt;
;Identifying how the parameters and variables of a problem influence each other.&lt;br /&gt;
:Influence isn't always as straight forward as it seems.  It often involves notions of causation, but in a decision model, even more fundamental is is how the information flow should proceed, which may not always be strictly causal.  Identifying influences may involve abstract reasoning about how things can be computed.  It also involves reasoning about what variables could reasonably be obtained or assessed, versus computed (decomposed into) other variables.&lt;br /&gt;
;Finding information and assessments: &lt;br /&gt;
:Finding facts and assessments in publications, on the web, by contacting subject experts, etc., is a key skill of any model builder, plus greatly impacts the first two steps in terms of how models can be decomposed.&lt;br /&gt;
;Assessing unknowns&lt;br /&gt;
:Models always contain estimates, guesses, back-of-the-envelope assessment.  Analytica never find everything fact they need already published, and must fill in unknowns, which gets to the next point.&lt;br /&gt;
;Expressing uncertainty &lt;br /&gt;
:The importance of explicit representations of uncertainty are now widely recognized across nearly all the quantitative fields of study.  Expressing assessments in terms of a distribution, rather than single numbers, can actually speed up model building, plus lead to much deeper insight.&lt;br /&gt;
;Working with others&lt;br /&gt;
:Model builders must synthesize knowledge from other domain experts. &lt;br /&gt;
;Combining quantititive findings from models with unmodeled factors&lt;br /&gt;
:If you aren't careful, your students may think quantitative analysis will spit out the &amp;quot;correct answer&amp;quot;.  Since models only capture some of the world, we always have to take insights gained from analyses and combine them with unmodeled considerations, as well as contradictory results.  A good curriculum exposes students to exercises along these lines.&lt;br /&gt;
;Presenting findings &lt;br /&gt;
:Analytical results are about insights gained from models, not about specific numbers.  Developing clear and transparent analyses (and clear and transparent models) is absolute a key skill.&lt;br /&gt;
&lt;br /&gt;
= Ideas For Assignments =&lt;br /&gt;
&lt;br /&gt;
== Immigration Policy and Population Growth ==&lt;br /&gt;
&lt;br /&gt;
Have the students build a model of population growth in your country, including the impact of immigration policy.  Without any immigration, what would the population of your country be in 2050?  How about at current immigration levels?  What if you let twice the number of people in?  Remember, immigrants have babies once they are here as well. &lt;br /&gt;
&lt;br /&gt;
Many factors figure into these models -- the age of immigrants (are they of child-bearing age?), illegal (which is harder to control) vs. legal (which can be legislated), enforcement of illegal immigration policies, etc.  Students should be expected to consider a variety of scenarios and show the impacts.&lt;br /&gt;
&lt;br /&gt;
Students will need to identify key variables -- such the current number of immigrants that currently migrate to this country (perhaps).  They will be expected to look up facts to, to assess unknown quantities, to resolve conflicting estimates, and ideally, to include probability distributions on assessments.&lt;br /&gt;
&lt;br /&gt;
Emphasize that the analysts role here is to project population growth, not to make judgements on social issues.  The analysis should serve to help understand the problem in a larger context, providing vital insight for policy makers as to what specific immigration levels actually mean to future national infrastructure.  Again, this is one piece in a bigger picture.&lt;br /&gt;
 &lt;br /&gt;
To launch the assignment, spent a part of a lecture discussing what some of the key variables are.  It is a topic that many students can participate in.  There will be more ideas floated than any one person can reasonably incorporate in their own model.&lt;br /&gt;
&lt;br /&gt;
You'll find a large variation in the final results from models produced by different students.  Having some oral presentations of the models to the class allow students to see the variation in results, and encourages them to constructively critique the assumptions made by their peers.  Encourage students to show their Analytica models directly on the projector during their oral presentation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Taxation of Marijuana ==&lt;br /&gt;
&lt;br /&gt;
California leads the nation in agricultural production.  Yet, it is often claimed that the largest cash crop produced in the state is marijuana.  This crop is sold predominantly on the black market, where no taxes are collected.&lt;br /&gt;
&lt;br /&gt;
In 2009, several proposals are being floated to legalize and regulate marijuana sales so that the state can benefit from the resulting tax revenues.  Widely varying claims are being circulated in the media for the amount of tax revenues that will be generated from the legalization of pot.  In addition to sales taxes, various vice taxes could be imposed on pot sales, as is already done with alcohol and tobacco products.&lt;br /&gt;
&lt;br /&gt;
For this assignment, students are to build a model predicting the amount of tax revenue that would be collected by the state of California if marijuana were to be legalized and taxed.  Numerous factors come into play, and the problem provides an excellent problem to identify what those factors are, how they interrelate, and how to quantify them.  It is also a nice exercise for uncertainty assessment, since most the relevant factors are highly uncertain, due partly to the underground nature of the business historically.&lt;br /&gt;
&lt;br /&gt;
The first level of the assignment should focus on the direct financial impacts.  The assignment can also be extended to include the modeling of social costs (and rewards) incurred from the legalization.  On the one hand, there could be savings from decreases in jail time served for pot-related offenses, yet there may be increases in usage and hence increased costs in medical or social services.  A focus up to this point can still remain on a purely monetary impact, separate from moral issues.  Models should allow an exploration of policy options -- such as how different tax levels impacts net tax revenue. It should also make uncertainty in the forecasts explicit.&lt;br /&gt;
&lt;br /&gt;
Finally, a third angle on this assignment (usually after the above monetary analyses are complete) is to incorporate non-monetary moral factors.  Students will have widely differing views on whether moral considerations really exist and how significant they are.  But this extension to the assignment opens up topics related to combining very non-quantitative objectives with quantitative ones.&lt;br /&gt;
&lt;br /&gt;
== Will Pension Plan bankrupt San Jose? ==&lt;br /&gt;
&lt;br /&gt;
In this problem, students are provided with several facts, sufficient to fill in most the model details without requiring independent research.  Yet they must still graple with arranging the facts into a quantitatively productive model structure.&lt;br /&gt;
&lt;br /&gt;
The police and fire fighters of the City of San Jose, California, have an exceptionally generous pension plan.  When they retire, they receive an annual pension of 90% of their salary at the time of their retirement, plus a 3% per year increase.  Police and fire fighters are eligible to retire at age 55 with 20 years of service, at age 50 with 25 years of service, or at any age with 30 years of service.  Military veterans receive 4 years of service credit (i.e., can retire 4 years earlier).&lt;br /&gt;
&lt;br /&gt;
Some tax payers think this is another egregious misuse of government funds.  Your assignment is to analyze the actual cost of this pension plan now, and into the future as existing police and fire fighters retire (and as retirees die off).&lt;br /&gt;
&lt;br /&gt;
Here are some facts from the San Jose Mercury News, 12 July 2009:&lt;br /&gt;
* $111,260 -- Average base pay for San Jose police officers and firefighters.&lt;br /&gt;
* $98,541 -- Average pension for the 90 public safety workers who retired last year.&lt;br /&gt;
* $73,818 -- Average pension for San Jose's 1,422 retired police officers and firefighters.&lt;br /&gt;
&lt;br /&gt;
Students can also use these numbers:&lt;br /&gt;
* Number of fire fighters: 750&lt;br /&gt;
* Number of police officers: 1300&lt;br /&gt;
&lt;br /&gt;
Students may make the following assumptions for the purpose of the analysis:&lt;br /&gt;
* Inflation of 3% annually&lt;br /&gt;
* That average salary levels increase at the rate of inflation, 3% annually.&lt;br /&gt;
* Staffing levels remain constant into the future.  Those who retire are replaced by recruits.&lt;br /&gt;
* Officers retire immediately when they are eligible.&lt;br /&gt;
* 40% of officers are veterans, same percentage applies to recruits.&lt;br /&gt;
* Age of veterans joining the force is [[Uniform]](24,34)&lt;br /&gt;
* Age of non-veterans joining the force is [[Uniform]](20,34)&lt;br /&gt;
* Current age of officers is roughly uniform between the recruitment and retirement ages.  Students will have to find a reasonable representation of this that fits with the notion that they retire when eligible.&lt;br /&gt;
* Attrition is negligible, doesn't need to be included in model.  All officers will work until retirement.&lt;br /&gt;
* Life expectancy after retirement is [[Normal]](72,8)&lt;br /&gt;
* Spousal surviver benefits can be ignored (or you can view these as built into the life expectancy assessment).&lt;br /&gt;
&lt;br /&gt;
The Student's model should project the total (inflation-adjusted) retiree payments (the cost) of the pension plan over the next 40 years.  The inflation-adjusted cost places the future cost in 2009 dollars.  As more officers reach retirement age, it is pretty clear that the pension cost increases, but of interest is by how much.  Is this sustainable, or will it eventually force the city of San Jose into bankrupcy?&lt;br /&gt;
&lt;br /&gt;
This provides an example of how a quantitative model might have been very useful if it had been built prior to the union contract negotiations.&lt;br /&gt;
&lt;br /&gt;
== Cash for Clunkers ==&lt;br /&gt;
&lt;br /&gt;
The 2009 ''Cash for Clunkers'' program in the United States received tremendous publicity and was called a overwhelming success for the environment.  The assignment here is to build a model that estimate the net impact on greenhouse gas emissions.&lt;br /&gt;
&lt;br /&gt;
The ''Cash For Clunkers'' program was a U.S. federal government program, subsidized by $3,000,000,000, which provided cash rebates of $3,500 or $4,500 to people who purchase or lease a new car, when those consumers turned in a used, less-gas-efficient car to be scrapped.  The used car had to be fully functional and less than 25 years old.  The used cars were unconditionally scrapped -- removed from circulation, reduced to scrap metal.&lt;br /&gt;
&lt;br /&gt;
When the new car is rated between 4 and 9 mpg higher than the trade-in, a credit of $3,500 is paid.  When the new car is rated for 10 mpg or higher above the trade-in, $4,500 is paid.&lt;br /&gt;
&lt;br /&gt;
Several factors figure into the actual environmental impact.  For this assignment, for simplicity, students are to examine only the impact on over-all carbon dioxide emissions.  The improved gas mileage of the new car leads to decreased CO&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; emissions, of course.  But substantial energy is also expended to scrap the old car and build the new one, which may include many direct and indirect inputs.  The model builder may need to conduct some research on the various energy inputs required to construct and scrap (without any reuse of parts) automobiles, and compare these negative environmental impacts to the positive savings from improved gas mileage.  &lt;br /&gt;
&lt;br /&gt;
The student can start with one specific example (the model can be initially constructed so that the exact parameters are inputs that can be changed).  Suppose Joe drives a 15 mpg pickup truck, which he would have tolerated for another 4 years and 60K miles had he not scrapped it for cash.  He upgrades to an equivalent 20mpg new truck. His vehicles typically last for 8 years, with 15K miles per year.  Amortize emissions for any new vehicle construction or scrapping over an 8 year period.  Compute the cumulative CO2 offset to the environment over a 10 year period in the two scenarios where he upgrades now, versus where he continues the use of his clunker for 4 more years before upgrading.&lt;br /&gt;
&lt;br /&gt;
== Could stray planetary bodies in open space be detected? ==&lt;br /&gt;
&lt;br /&gt;
Are there planet-sized dark objects (rocks, ice cubes) populating the vastness of empty space between visible stars?  Is it possible that such ordinary matter actually constitutes a substantial fraction of our galaxy's mass?  Or of the universe's mass?  Would there be a way to detect these objects?&lt;br /&gt;
&lt;br /&gt;
The Kepler satellite is monitoring the light intensity of thousands of distant stars, looking for periodic decreases in light intensity as evidence of an orbiting exoplanet.  If a stray inter-stellar dark body were to move between the earth and one of these stars, it would cause a one-time dimming event.  If it were close enough to earth, it could totally eclipse the star, causing a drop of light intensity to zero.&lt;br /&gt;
&lt;br /&gt;
Ignoring the complication that it might be hard to separate such one-time events from other sources of random noise, there is a question of how probable such a crossing would be?  It would require the dark body to move precisely across the line from us to the star, and for a total eclipse would require it to be much closer to earth than to the distant star.  We'll suppose that any crossing that occludes some light is a theoretically detectable event.&lt;br /&gt;
&lt;br /&gt;
Create a model to predict the probability of a detectable event (both a dimming event and a total eclipse event) when one star is being monitored, given various input assumptions about the density of dark planetary bodies in open space, the size distribuiton of these bodies (relative to the radius of the star being monitored), the distribution of speeds of these bodies, and the distance to the star being monitored.&lt;/div&gt;</summary>
		<author><name>Jgoorden</name></author>
	</entry>
	<entry>
		<id>https://docs.analytica.com/index.php?title=Analytica_in_the_Classroom&amp;diff=21113</id>
		<title>Analytica in the Classroom</title>
		<link rel="alternate" type="text/html" href="https://docs.analytica.com/index.php?title=Analytica_in_the_Classroom&amp;diff=21113"/>
		<updated>2012-01-08T16:32:50Z</updated>

		<summary type="html">&lt;p&gt;Jgoorden: /* Cash for Clunkers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Teaching Quantiative Modeling Skills to Students =&lt;br /&gt;
&lt;br /&gt;
Teaching your students to think analytically and clearly about messy real-life decision problems is the key challenge for a professor in scientific fields of study, such as economics, engineering, public policy, business, finance, and the standard sciences (physics, chemistry, biology, etc).  Appropriate use of software modeling tools can greatly enhance the learning experience as long as you as an instructor keep the emphasis on developing these skills rather than the mechanics of using the software.  The use of Excel in the classroom, in particular, is often very damaging in this respect.  We often see the emphasis, and the focus of the students, shift from shift from developing the clear thinking and modeling skills to mastery of the spreadsheet mechanics.  We believe that the use of Analytica in the classroom really helps to keep the focus on the core modeling skills.&lt;br /&gt;
&lt;br /&gt;
For those of us who have been working in quantitative fields for many years, it is easy to lose sight of some of the most difficult, yet most important, skills that students must learn.  These include:&lt;br /&gt;
;Ability to clearly define variables.&lt;br /&gt;
:Real-world problems are messy, quantitative, subjective, fuzzy, etc.  Yet a formal analytical model must reduce these to unambiguous and quantitative terms -- what we usually refer to as variables.   &lt;br /&gt;
;Identifying how the parameters and variables of a problem influence each other.&lt;br /&gt;
:Influence isn't always as straight forward as it seems.  It often involves notions of causation, but in a decision model, even more fundamental is is how the information flow should proceed, which may not always be strictly causal.  Identifying influences may involve abstract reasoning about how things can be computed.  It also involves reasoning about what variables could reasonably be obtained or assessed, versus computed (decomposed into) other variables.&lt;br /&gt;
;Finding information and assessments: &lt;br /&gt;
:Finding facts and assessments in publications, on the web, by contacting subject experts, etc., is a key skill of any model builder, plus greatly impacts the first two steps in terms of how models can be decomposed.&lt;br /&gt;
;Assessing unknowns&lt;br /&gt;
:Models always contain estimates, guesses, back-of-the-envelope assessment.  Analytica never find everything fact they need already published, and must fill in unknowns, which gets to the next point.&lt;br /&gt;
;Expressing uncertainty &lt;br /&gt;
:The importance of explicit representations of uncertainty are now widely recognized across nearly all the quantitative fields of study.  Expressing assessments in terms of a distribution, rather than single numbers, can actually speed up model building, plus lead to much deeper insight.&lt;br /&gt;
;Working with others&lt;br /&gt;
:Model builders must synthesize knowledge from other domain experts. &lt;br /&gt;
;Combining quantititive findings from models with unmodeled factors&lt;br /&gt;
:If you aren't careful, your students may think quantitative analysis will spit out the &amp;quot;correct answer&amp;quot;.  Since models only capture some of the world, we always have to take insights gained from analyses and combine them with unmodeled considerations, as well as contradictory results.  A good curriculum exposes students to exercises along these lines.&lt;br /&gt;
;Presenting findings &lt;br /&gt;
:Analytical results are about insights gained from models, not about specific numbers.  Developing clear and transparent analyses (and clear and transparent models) is absolute a key skill.&lt;br /&gt;
&lt;br /&gt;
= Ideas For Assignments =&lt;br /&gt;
&lt;br /&gt;
== Immigration Policy and Population Growth ==&lt;br /&gt;
&lt;br /&gt;
Have the students build a model of population growth in your country, including the impact of immigration policy.  Without any immigration, what would the population of your country be in 2050?  How about at current immigration levels?  What if you let twice the number of people in?  Remember, immigrants have babies once they are here as well. &lt;br /&gt;
&lt;br /&gt;
Many factors figure into these models -- the age of immigrants (are they of child-bearing age?), illegal (which is harder to control) vs. legal (which can be legislated), enforcement of illegal immigration policies, etc.  Students should be expected to consider a variety of scenarios and show the impacts.&lt;br /&gt;
&lt;br /&gt;
Students will need to identify key variables -- such the current number of immigrants that currently migrate to this country (perhaps).  They will be expected to look up facts to, to assess unknown quantities, to resolve conflicting estimates, and ideally, to include probability distributions on assessments.&lt;br /&gt;
&lt;br /&gt;
Emphasize that the analysts role here is to project population growth, not to make judgements on social issues.  The analysis should serve to help understand the problem in a larger context, providing vital insight for policy makers as to what specific immigration levels actually mean to future national infrastructure.  Again, this is one piece in a bigger picture.&lt;br /&gt;
 &lt;br /&gt;
To launch the assignment, spent a part of a lecture discussing what some of the key variables are.  It is a topic that many students can participate in.  There will be more ideas floated than any one person can reasonably incorporate in their own model.&lt;br /&gt;
&lt;br /&gt;
You'll find a large variation in the final results from models produced by different students.  Having some oral presentations of the models to the class allow students to see the variation in results, and encourages them to constructively critique the assumptions made by their peers.  Encourage students to show their Analytica models directly on the projector during their oral presentation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Taxation of Marijuana ==&lt;br /&gt;
&lt;br /&gt;
California leads the nation in agricultural production.  Yet, it is often claimed that the largest cash crop produced in the state is marijuana.  This crop is sold predominantly on the black market, where no taxes are collected.&lt;br /&gt;
&lt;br /&gt;
In 2009, several proposals are being floated to legalize and regulate marijuana sales so that the state can benefit from the resulting tax revenues.  Widely varying claims are being circulated in the media for the amount of tax revenues that will be generated from the legalization of pot.  In addition to sales taxes, various vice taxes could be imposed on pot sales, as is already done with alcohol and tobacco products.&lt;br /&gt;
&lt;br /&gt;
For this assignment, students are to build a model predicting the amount of tax revenue that would be collected by the state of California if marijuana were to be legalized and taxed.  Numerous factors come into play, and the problem provides an excellent problem to identify what those factors are, how they interrelate, and how to quantify them.  It is also a nice exercise for uncertainty assessment, since most the relevant factors are highly uncertain, due partly to the underground nature of the business historically.&lt;br /&gt;
&lt;br /&gt;
The first level of the assignment should focus on the direct financial impacts.  The assignment can also be extended to include the modeling of social costs (and rewards) incurred from the legalization.  On the one hand, there could be savings from decreases in jail time served for pot-related offenses, yet there may be increases in usage and hence increased costs in medical or social services.  A focus up to this point can still remain on a purely monetary impact, separate from moral issues.  Models should allow an exploration of policy options -- such as how different tax levels impacts net tax revenue. It should also make uncertainty in the forecasts explicit.&lt;br /&gt;
&lt;br /&gt;
Finally, a third angle on this assignment (usually after the above monetary analyses are complete) is to incorporate non-monetary moral factors.  Students will have widely differing views on whether moral considerations really exist and how significant they are.  But this extension to the assignment opens up topics related to combining very non-quantitative objectives with quantitative ones.&lt;br /&gt;
&lt;br /&gt;
== Will Pension Plan bankrupt San Jose? ==&lt;br /&gt;
&lt;br /&gt;
In this problem, students are provided with several facts, sufficient to fill in most the model details without requiring independent research.  Yet they must still graple with arranging the facts into a quantitatively productive model structure.&lt;br /&gt;
&lt;br /&gt;
The police and fire fighters of the City of San Jose, California, have an exceptionally generous pension plan.  When they retire, they receive an annual pension of 90% of their salary at the time of their retirement, plus a 3% per year increase.  Police and fire fighters are eligible to retire at age 55 with 20 years of service, at age 50 with 25 years of service, or at any age with 30 years of service.  Military veterans receive 4 years of service credit (i.e., can retire 4 years earlier).&lt;br /&gt;
&lt;br /&gt;
Some tax payers think this is another egregious misuse of government funds.  Your assignment is to analyze the actual cost of this pension plan now, and into the future as existing police and fire fighters retire (and as retirees die off).&lt;br /&gt;
&lt;br /&gt;
Here are some facts from the San Jose Mercury News, 12 July 2009:&lt;br /&gt;
* $111,260 -- Average base pay for San Jose police officers and firefighters.&lt;br /&gt;
* $98,541 -- Average pension for the 90 public safety workers who retired last year.&lt;br /&gt;
* $73,818 -- Average pension for San Jose's 1,422 retired police officers and firefighters.&lt;br /&gt;
&lt;br /&gt;
Students can also use these numbers:&lt;br /&gt;
* Number of fire fighters: 750&lt;br /&gt;
* Number of police officers: 1300&lt;br /&gt;
&lt;br /&gt;
Students may make the following assumptions for the purpose of the analysis:&lt;br /&gt;
* Inflation of 3% annually&lt;br /&gt;
* That average salary levels increase at the rate of inflation, 3% annually.&lt;br /&gt;
* Staffing levels remain constant into the future.  Those who retire are replaced by recruits.&lt;br /&gt;
* Officers retire immediately when they are eligible.&lt;br /&gt;
* 40% of officers are veterans, same percentage applies to recruits.&lt;br /&gt;
* Age of veterans joining the force is [[Uniform]](24,34)&lt;br /&gt;
* Age of non-veterans joining the force is [[Uniform]](20,34)&lt;br /&gt;
* Current age of officers is roughly uniform between the recruitment and retirement ages.  Students will have to find a reasonable representation of this that fits with the notion that they retire when eligible.&lt;br /&gt;
* Attrition is negligible, doesn't need to be included in model.  All officers will work until retirement.&lt;br /&gt;
* Life expectancy after retirement is [[Normal]](72,8)&lt;br /&gt;
* Spousal surviver benefits can be ignored (or you can view these as built into the life expectancy assessment).&lt;br /&gt;
&lt;br /&gt;
The Student's model should project the total (inflation-adjusted) retiree payments (the cost) of the pension plan over the next 40 years.  The inflation-adjusted cost places the future cost in 2009 dollars.  As more officers reach retirement age, it is pretty clear that the pension cost increases, but of interest is by how much.  Is this sustainable, or will it eventually force the city of San Jose into bankrupcy?&lt;br /&gt;
&lt;br /&gt;
This provides an example of how a quantitative model might have been very useful if it had been built prior to the union contract negotiations.&lt;br /&gt;
&lt;br /&gt;
== Cash for Clunkers ==&lt;br /&gt;
&lt;br /&gt;
The 2009 ''Cash for Clunkers'' program in the United States received tremendous publicity and was called a overwhelming success for the environment.  The assignment here is to build a model that estimate the net impact on greenhouse gas emissions.&lt;br /&gt;
&lt;br /&gt;
The ''Cash For Clunkers'' program was a U.S. federal government program, subsidized by $3,000,000,000, which provided cash rebates of $3,500 or $4,500 to people who purchase or lease a new car, when those consumers turned in a used, less-gas-efficient car to be scrapped.  The used car had to be fully functional and less than 25 years old.  The used cars were unconditionally scrapped -- removed from circulation, reduced to scrap metal.&lt;br /&gt;
&lt;br /&gt;
When the new car is rated between 4 and 9 mpg higher than the trade-in, a credit of $3,500 is paid.  When the new car is rated for 10 mpg or higher above the trade-in, $4,500 is paid.&lt;br /&gt;
&lt;br /&gt;
Several factors figure into the actual environmental impact.  For this assignment, for simplicity, students are to examine only the impact on over-all carbon dioxide emissions.  The improved gas mileage of the new car leads to decreased CO&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; emissions, of course.  But substantial energy is also expended to scrap the old car and build the new one, which may include many direct and indirect inputs.  The model builder may need to conduct some research on the various energy inputs required to construct and scrap (without any reuse of parts) automobiles, and compare these negative environmental impacts to the positive savings from improved gas mileage.  &lt;br /&gt;
&lt;br /&gt;
The student can start with one specific example (the model can be initially constructed so that the exact parameters are inputs that can be changed).  Suppose Joe drives a 15 mpg pickup truck, which he would have tolerated for another 4 years and 60K miles had he not scrapped it for cash.  He upgrades to an equivalent 20mpg new truck. His vehicles typically last for 8 years, with 15K miles per year.  Amortize emissions for any new vehicle construction or scrapping over an 8 year period.  Compute the cumulative CO2 offset to the environment over a 10 year period in the two scenarios where he upgrades now, versus where he continues the use of his clunker for 4 more years before upgrading.&lt;br /&gt;
&lt;br /&gt;
= Could stray planetary bodies in open space be detected? =&lt;br /&gt;
&lt;br /&gt;
Are there planet-sized dark objects (rocks, ice cubes) populating the vastness of empty space between visible stars?  Is it possible that such ordinary matter actually constitutes a substantial fraction of our galaxy's mass?  Or of the universe's mass?  Would there be a way to detect these objects?&lt;br /&gt;
&lt;br /&gt;
The Kepler satellite is monitoring the light intensity of thousands of distant stars, looking for periodic decreases in light intensity as evidence of an orbiting exoplanet.  If a stray inter-stellar dark body were to move between the earth and one of these stars, it would cause a one-time dimming event.  If it were close enough to earth, it could totally eclipse the star, causing a drop of light intensity to zero.&lt;br /&gt;
&lt;br /&gt;
Ignoring the complication that it might be hard to separate such one-time events from other sources of random noise, there is a question of how probable such a crossing would be?  It would require the dark body to move precisely across the line from us to the star, and for a total eclipse would require it to be much closer to earth than to the distant star.  We'll suppose that any crossing that occludes some light is a theoretically detectable event.&lt;br /&gt;
&lt;br /&gt;
Create a model to predict the probability of a detectable event (both a dimming event and a total eclipse event) when one star is being monitored, given various input assumptions about the density of dark planetary bodies in open space, the size distribuiton of these bodies (relative to the radius of the star being monitored), the distribution of speeds of these bodies, and the distance to the star being monitored.&lt;/div&gt;</summary>
		<author><name>Jgoorden</name></author>
	</entry>
	<entry>
		<id>https://docs.analytica.com/index.php?title=Graph_settings&amp;diff=15707</id>
		<title>Graph settings</title>
		<link rel="alternate" type="text/html" href="https://docs.analytica.com/index.php?title=Graph_settings&amp;diff=15707"/>
		<updated>2010-01-06T08:08:23Z</updated>

		<summary type="html">&lt;p&gt;Jgoorden: Add paragraph about Setting graph appearance at run-time (based on case #2830)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[What's new in Analytica 4.0?]] &amp;gt;&lt;br /&gt;
&lt;br /&gt;
Analytica 4.0 offers a rich array of new styles and options for graphs. If you are familiar only with previous releases, you will find it helpful at least to skim through these options.&lt;br /&gt;
&lt;br /&gt;
= Overview =&lt;br /&gt;
&lt;br /&gt;
When you display the Result of a variable, it shows it as a table or graph, according to how you last viewed it. The first time you view a Result, it shows as a Graph, unless you changed the '''Default result view''' in the '''Preferences''' dialog.&lt;br /&gt;
&lt;br /&gt;
When displaying a graph, Analytica uses the default graphing settings, unless you have selected other settings for it. You can modify these with the Graph setup dialog.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[Analytica 4.0 no longer offers direct graphing in Excel, since almost all those options are now available from within Analytica.]&lt;br /&gt;
&lt;br /&gt;
== Graph setup dialog ==&lt;br /&gt;
&lt;br /&gt;
To open the '''Graph setup''' dialog for a graph, select '''Graph Setup...''' from the '''Result''' menu, or simply double click on the graph window.&lt;br /&gt;
&lt;br /&gt;
The graph setup dialog has six tabs. All tabs show the template panel and these three buttons:&lt;br /&gt;
&lt;br /&gt;
'''Apply:''' Apply any changes to settings to the current graph, and close the dialog. &lt;br /&gt;
&lt;br /&gt;
'''Set Default:''' Save any changed settings on the current tab as the default for all graphs, and close the dialog. It does not affect any settings that you have not changed since you opened the Graph setup dialog. Changing a default will affect all graphs that use the default, but not graphs for you override the default (in the past or future). &lt;br /&gt;
&lt;br /&gt;
'''Cancel:''' Close the dialog without changing or saving anything.&lt;br /&gt;
&lt;br /&gt;
=== Chart Type tab ===&lt;br /&gt;
&lt;br /&gt;
This tab shows options for modifying the style and arrangement of the graph:&lt;br /&gt;
&lt;br /&gt;
[[Image:Chart_type.png]]&lt;br /&gt;
&lt;br /&gt;
'''Line style:''' &lt;br /&gt;
* Line segments join the data points&lt;br /&gt;
* Line segments, with a symbol at each data point.&lt;br /&gt;
* A symbol at each data point with no lines.&lt;br /&gt;
* A pixel at each data point, with no lines.&lt;br /&gt;
* A histogram or step function, with a vertical line and horizontal line from each data point to the next.&lt;br /&gt;
* A bar centered on each x value, with height showing the y value. Forces the graph to be discrete.&lt;br /&gt;
&lt;br /&gt;
'''Swap horizontal and vertical axes:''' Check this box to exchange the x and y axes, so that x axis is vertical and y axis is horizontal. If x values are discrete with long labels, swapping axes gives a more easily legible bar graph. &lt;br /&gt;
&lt;br /&gt;
'''3-D effects:''' Check to use three-dimensional style to view graphs. for bar graph line style, it will offer the choice of Box or Cylindrical shapes for the bars.&lt;br /&gt;
&lt;br /&gt;
'''Line style settings:''' Displays when you select a line style showing lines.&lt;br /&gt;
* Area fill: Check to fill in the area beneath each line with a solid color. If there are multiple lines, the Graph will have a Key index. The fill areas are drawn from last to first element of the Key index -- which works well if the y values are sorted from smallest to largest over the key index. Otherwise, some values will obscure others. &lt;br /&gt;
* Transparency: Drag the cursor to change transparency of fill colors between opaque and transparent. Some transparency lets you see fill lines and areas that might be behind others.&lt;br /&gt;
* Line thickness: Select the thickness of lines to display. (Does not apply for styles without lines.)&lt;br /&gt;
&lt;br /&gt;
* Use separate color/symbol keys: Check if to get two key indexes, one indicated by color and the second by symbol type or size.&lt;br /&gt;
* Allow variable symbol size: Check to have the size of symbols vary with their value.&lt;br /&gt;
* Symbol size: Enter a number to specify size of symbols in typographic points.&lt;br /&gt;
* Min symbol size and Max symbol size: If you check Allow variable symbol size, use these fields to specify the range of symbol sizes from smallest and largest.&lt;br /&gt;
&lt;br /&gt;
'''Bar graph settings:''' Displays when you select Bar graph line style:&lt;br /&gt;
* Stacked bars: Check to show bars stacked one on top of the other over the Key index, instead of side by side. The values for each bar are cumulated over the Key index.&lt;br /&gt;
* Variable origin: Check if you want to set the origin (starting point) for each bar other than zero (the default). The graph will then display a Bar Origin menu to let you select the Bar origin.&lt;br /&gt;
* Bar overlap: With stacked bars, they overlap 100%. You can specify partial overlap between 0 and 100%.&lt;br /&gt;
&lt;br /&gt;
=== Axis Ranges tab ===&lt;br /&gt;
&lt;br /&gt;
This tab lets you control the display of each axis, including scaling, range, and tickmarks:&lt;br /&gt;
&lt;br /&gt;
[[Image:Axis_Ranges2.png]]&lt;br /&gt;
&lt;br /&gt;
* '''Autoscale:''' Uncheck this box if you want to specify the range for the axis, instead of letting Analytica select the range automatically to include all values.&lt;br /&gt;
* '''Max and Min:''' The maximum and minimum values of the range to use when you have unchecked Autoscale.&lt;br /&gt;
* '''Include zero''': Check if you want to include the origin (zero) in the range.&lt;br /&gt;
* '''Approx. # ticks''': Specify the number of tick marks to display along the axis. Analytica may not match the number exactly, in the interests of clarity.&lt;br /&gt;
* '''Reverse order''': Check if you want to show the values ordered from large to small instead of the default small to large.&lt;br /&gt;
* '''Categorical''': Treat this axis as categorical. Usually, Analytica figures out the quantity is categorical without help. Occasionally, if the values are numerical, you may want to control it yourself.&lt;br /&gt;
* '''Log scale''': Check if you want to display this on a log scale. This is useful for numbers that vary by several orders of magnitude. It uses a &amp;quot;double log&amp;quot; scale with zero if the values include negative and positive numbers. &lt;br /&gt;
&lt;br /&gt;
'''Set default''': If you have changed settings for an axis that is an index of the variable being graphed, clicking this button will apply these changes to that index for ''all'' graphs that use that index. For example, if the scale is the Index Time, you can use this to change the Time scale (e.g. start and end year) for every graph that displays a value over Time -- unless you want to override that default in another graph.&lt;br /&gt;
&lt;br /&gt;
=== Style tab ===&lt;br /&gt;
&lt;br /&gt;
The style tab lets you modify the display of the style and color of the grid, frame, and tick marks, and where to display the key.&lt;br /&gt;
&lt;br /&gt;
[[Image:Style2.png]]&lt;br /&gt;
&lt;br /&gt;
'''Grid:''' Select the radio button to control the display of the grid over the graphing area. You can also select the color. A light or medium gray is often a good choice.&lt;br /&gt;
&lt;br /&gt;
'''Frame:''' Select the radio button to control the display of the lines framing the graphing area. You can also select the color for the frame. It is usually best to have the Frame the same color as the Grid, or a darker shade of the same color.&lt;br /&gt;
&lt;br /&gt;
'''Tick marks:''' The top radio buttons control where to show tick marks. The lower ones control how they are displayed.&lt;br /&gt;
&lt;br /&gt;
'''Display key:''' Select radio button to control where to display the Key on the graph. Select the Border check box to display an outline rectangle around the key.&lt;br /&gt;
&lt;br /&gt;
=== Text tab ===&lt;br /&gt;
&lt;br /&gt;
The Text tab lets you change the font, size, style, and color for text on the graph for each of these types of text: Axis titles, Axis labels -- i.e. numbers or text identifying points along each axis, Key title, and Key labels -- i.e. identifying values in the Key:&lt;br /&gt;
&lt;br /&gt;
[[Image:Text.png]]&lt;br /&gt;
&lt;br /&gt;
'''Font:''' Select the font family. Graphic designers recommend using the same font for all text, which you can easily do by leaving all except Axis titles as &amp;quot;(Same as axis titles)&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
'''Size:''' The size in typographic points. Set to 0 if you want that type of text to not display.&lt;br /&gt;
&lt;br /&gt;
'''Color:''' Select the color.&lt;br /&gt;
&lt;br /&gt;
[[Image:Font_image3.png]]&lt;br /&gt;
&lt;br /&gt;
'''Axis Label Rotation:''' Enter a number from -90 to 90 degrees to rotate the labels for each axis.  For example, for a bar graph with many long labels along the horizontal axis, they won't all fit. By rotating them by 45 or 90 degrees, you can make them all fit without getting truncated.&lt;br /&gt;
&lt;br /&gt;
'''Adapt displayed font sizes to graph height:''' If you check this box, it will use larger or smaller fonts when you make the graph window larger or smaller. This can be useful when you give a demo and want to expand graphs so they are easily readable to people at the back of the room. The font sizes accord with those specified at the default graph height of 300 pixels.&lt;br /&gt;
&lt;br /&gt;
=== Background tab ===&lt;br /&gt;
&lt;br /&gt;
This tab lets you control the fill color, gradient, or pattern on the graph background. The main area covers the entire graph window (exclusive of the top area containing indexes). The plot area is the rectangle showing the graph values. If you leave or set the Fill to &amp;quot;None&amp;quot; for the Plot area or Key area, they will show the same Fill (if any) as the Main area.&lt;br /&gt;
&lt;br /&gt;
[[Image:Background2.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Fill:''' Select from: &lt;br /&gt;
* None: No fill. Default to blank (white) background.&lt;br /&gt;
* Solid: Use a solid fill with the selected '''Color 1'''.&lt;br /&gt;
* Gradient: Use a gradient of color, going from '''Color 1''' to '''Color 2''', in the direction you specify in '''Gradient style'''.&lt;br /&gt;
* Hatch: Use a hatched fill using the selected '''Hatch Style''' with '''Color 1''' and '''Color 2'''. &lt;br /&gt;
&lt;br /&gt;
Graphic designers recommend avoiding Hatch backgrounds, and using solid or gradient backgrounds with pale colors, if at all. The data should not be overwhelmed by the background.&lt;br /&gt;
&lt;br /&gt;
=== Preview tab ===&lt;br /&gt;
&lt;br /&gt;
This tab shows the graph using the current settings so that you can see their effects before you decide to '''Apply''' or '''Cancel''' them:&lt;br /&gt;
&lt;br /&gt;
[[Image:Preview2.png]]&lt;br /&gt;
&lt;br /&gt;
== [[XY comparison]] or XY Coordinate sources ==&lt;br /&gt;
&lt;br /&gt;
[[XY comparison]] lets you plot one variable on vertical (Y) axis against the other on the horizontal (X) axis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [[Graph Setting Associations]] ==&lt;br /&gt;
Graph settings now have a richer set of [[Graph Setting Associations|associations]], designed to allow intelligent transitions when multi-dimensional results are pivoted and when the graphing mode (Mid, Bands, PDF, etc) is changed. &lt;br /&gt;
&lt;br /&gt;
For example, axis range settings are associated with a particular index, so if the graph is pivoted, the setting follows the pivot and isn't suddenly applied to a horizontal axis where it no longer makes sense.&lt;br /&gt;
&lt;br /&gt;
Line style settings are associated with a combination of graph view mode and categorical / continuous distinction.  Thus, it is possible to have a probability mass plot draw as a bar graph, a sample as a scatter plot, and bands as a line plot, all with a single graph setting.&lt;br /&gt;
&lt;br /&gt;
Associations also impact how how settings transfer when &amp;quot;Set Default&amp;quot; is used.&lt;br /&gt;
&lt;br /&gt;
== [[Graphing Dimensions and Roles]] ==&lt;br /&gt;
&lt;br /&gt;
A general and flexible system of graphing dimensions and graphing roles allows a very rich space of chart types to be created using only a few elementary building blocks.  The mechanism also allows many dimensions to be reflected on a single graph.  &lt;br /&gt;
&lt;br /&gt;
A computed value or an index can serve as a graphing dimension.  Graphing dimensions are then assigned to graphing roles, and the user can easily pivot the graphing roles to alter the assignment of dimensions to roles.  By assigning graphing dimensions to roles, a user can view many dimensions at once, and compare multiple values on the same graph.  &lt;br /&gt;
&lt;br /&gt;
Selectable graphing roles include X-axis, Y-axis, combined Color/Symbol Key, and [[Bar Origin]], and may soon include Symbol Size and separate Color and Symbol Keys.&lt;br /&gt;
&lt;br /&gt;
While Analytica 3.x allowed a single external X-value to be plotted against a result, the new system allows any number of external variables to be included and compared in the same graph. &lt;br /&gt;
&lt;br /&gt;
== [[Selecting Data for Graphing]] ==&lt;br /&gt;
&lt;br /&gt;
The structure of data used to create a plot is now much more flexible.  A [[Coordinate Indexes|Coordinate Index]] can be used to plot data that is organized in columns, without having to break the data into multiple variables.  Multiple external variables can be merge into the plot as graphing dimensions.  In a [[Scatter Plots|Scatter Plot]], you can pivot both X and Y axes to explore multi-dimensional data from many &amp;quot;angles&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== [[Categorical and Continuous Plots]] ==&lt;br /&gt;
&lt;br /&gt;
Analytica 4.0 gives much more attention and consistency to the treatment of Categorical, Continuous and Discrete results.  &lt;br /&gt;
&lt;br /&gt;
The Discrete vs. Continuous distinction is determined by [[the Domain Attribute]], and determines whether probability plots are density and cumulative density plots (continuous) or probability mass and cumulative probability (discrete) plots.&lt;br /&gt;
&lt;br /&gt;
The [[Categorical vs. Continuous distinction]] determines how a graphing axis is laid out.  Continuous dimensions require numeric values.  The determination of whether a graphing dimension is categorical or continuous is partially determined by the domain attribute, but the values actually occuring in the dimension, by the chart type (bar or non-bar chart), and by the Categorical checbox in the axis range setting.&lt;br /&gt;
&lt;br /&gt;
Analytica maintains separate line-style settings for categorical and continuous plots.  (The running axis of a plot, usually x-axis, determines whether the plot is continuous or categorical).  Thus, by pivoting a continuous dimension to the x-axis to replace what was a categorical dimension, a graph may change from a bar graph to line graph, for example.&lt;br /&gt;
&lt;br /&gt;
== Richer [[Plot Style Examples|Plots Types]] ==&lt;br /&gt;
&lt;br /&gt;
Using combinations of the above named features, a wide variety of chart styles can be created, which were not possible previously.  These include:&lt;br /&gt;
;; Bar Chart variations&lt;br /&gt;
* Stacked Bars&lt;br /&gt;
* Segmented Bar charts&lt;br /&gt;
* Horizontal [[Tornado Plots]]&lt;br /&gt;
* [[Gantt Charts]]&lt;br /&gt;
* [[Candle bars]] (High-close-open-low stock charts)&lt;br /&gt;
;; Scatter plot variations&lt;br /&gt;
* Multi-D depiction of data in columns&lt;br /&gt;
* [[Bubble plots]]&lt;br /&gt;
;; Line plot variations&lt;br /&gt;
* Standard (continuous) line plots&lt;br /&gt;
* XY parametric plots&lt;br /&gt;
* [[Log Plots]] (axis log scaling)&lt;br /&gt;
* Sideways plots&lt;br /&gt;
&lt;br /&gt;
== [[Graph Appearance Settings]] ==&lt;br /&gt;
&lt;br /&gt;
Analytica 4.0 exposes many appearance settings to user control, allowing the production of &amp;quot;board room quality&amp;quot; charts.  These include:&lt;br /&gt;
&lt;br /&gt;
* Control of background fills/patterns (solid, gradient, hatch).&lt;br /&gt;
* Full control of fonts (color, face, size, bold, etc)&lt;br /&gt;
* Location of Key.&lt;br /&gt;
* Grid and tic styles&lt;br /&gt;
* Axis label rotations&lt;br /&gt;
* Three-D effects (solid bars, ribbons)&lt;br /&gt;
* Filled line graphs (w/ transparency control)&lt;br /&gt;
&lt;br /&gt;
== [[Graph Style Templates]] ==&lt;br /&gt;
&lt;br /&gt;
[[Graph Style Templates|Graph style templates]] let you save the settings for a graph into a named template, so you can reuse it for other graphs. For example, can create a set of templates to provide a consistent visual style for a model, or for all models created by your organization. &lt;br /&gt;
&lt;br /&gt;
== Export graph image type ==&lt;br /&gt;
&lt;br /&gt;
You can export a graph as an image file in most common formats, including BMP, JPEG, TFF, PNG, and Enhanced Windows Metafile (EMF):&lt;br /&gt;
&lt;br /&gt;
# Display the graph the way you want.&lt;br /&gt;
# Select '''Export...''' from the '''File''' menu, to open a file browser dialog '''Save Graph Image as...'''.&lt;br /&gt;
# If you want to change the defaults, edit the '''File name''' and select the '''Save as type''' -- i.e. the file format.&lt;br /&gt;
# Click '''Save'''.&lt;br /&gt;
&lt;br /&gt;
== Setting graph appearance at run-time ==&lt;br /&gt;
&lt;br /&gt;
Graph appearance settings can also be set at run-time, by using the [[TextReplace]] operation on the Grapsetup attribute. Let's say we need a variable Y with the values of variable X, and with a  Baroverlap attribute as defined by the variable desired_overlap in the model. The definition of variable Y can be:&lt;br /&gt;
&lt;br /&gt;
var script := &amp;quot;GraphSetup &amp;quot; &amp;amp; (identifier of self) &amp;amp; &amp;quot;:&amp;quot; &amp;amp; Textreplace( graphsetup of self, &amp;quot;(Baroverlap:)\d+&amp;quot;, &amp;quot;\1&amp;quot; &amp;amp; desired_overlap, re:1 ); EvaluateScript(script); X&lt;br /&gt;
&lt;br /&gt;
This changes the overlap whenever desired_overlap changes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can export a graph as an image file in most common formats, including BMP, JPEG, TFF, PNG, and Enhanced Windows Metafile (EMF):&lt;/div&gt;</summary>
		<author><name>Jgoorden</name></author>
	</entry>
	<entry>
		<id>https://docs.analytica.com/index.php?title=Tutorial_videos&amp;diff=13647</id>
		<title>Tutorial videos</title>
		<link rel="alternate" type="text/html" href="https://docs.analytica.com/index.php?title=Tutorial_videos&amp;diff=13647"/>
		<updated>2009-06-26T06:34:55Z</updated>

		<summary type="html">&lt;p&gt;Jgoorden: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;New: I've attempted to impose some categorization on the past user group webinar topics.  &lt;br /&gt;
&lt;br /&gt;
The most recent talks were:&lt;br /&gt;
* [[#Array Concatenation|Array Concatenation]] (25 June 2009)&lt;br /&gt;
* [[#Guidelines for Model Transparency|Guidelines for Model Transparency]] (19-Feb-2009)&lt;br /&gt;
* [[#Automated Monitoring and Failure Detection|Automated Monitoring and Failure Detection]] (5-Feb-2009)&lt;br /&gt;
* [[#Principle Components Analysis (PCA)|Principle Components Analysis (PCA)]] (15-Jan-2009)&lt;br /&gt;
* [[#Internal Rate of Return (IRR) and Modified Internal Rate of Return (MIRR)|IRR]] (18-Dec-2009)&lt;br /&gt;
* [[#Bond Portfolio Analysis|Bond Portfolio Analysis]] (11-Dec-2008)&lt;br /&gt;
* [[#Net Present Value (NPV)|Net Present Value (NPV)]] (Part 1:20-Nov-2008 and Part 2:4-Dec-2008)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Table and Array Topics =&lt;br /&gt;
&lt;br /&gt;
=== The Basics of Analytica Arrays and Indexes ===&lt;br /&gt;
&lt;br /&gt;
''This webinar is continued across two sessions.''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Date and Time (Part 1):&amp;lt;/b&amp;gt; January 10, 2008, 10:00 - 11:00 Pacific Standard Time&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Date and Time (Part 1, repeat):&amp;lt;/b&amp;gt; January 11, 2008, 10:00 - 11:00 Pacific Standard Time&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Date and Time (Part 2):&amp;lt;/b&amp;gt; January 17, 2008, 10:00 - 11:00 Pacific Standard Time&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Presenter:&amp;lt;/b&amp;gt; Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
This introductory talk introduces the basic concepts of Analytica indexes and multi-dimensional arrays, as well as the basics of Intelligent Array Abstraction.  There are several important differences between Analytica arrays compared to multi-dimensional arrays found in other modeling, database, and programming environments.  For example, each dimension of an array is associated with an index object, and there is no inherent ordering to the dimensions of a multi-D array.  Intelligent array abstraction is perhaps the most powerful feature in Analytica.  The session will include a brief description of what array abstraction does, and how you should take advantage of it.&lt;br /&gt;
&lt;br /&gt;
Part 1 focuses on indexes, 1-D arrays and the uses of the [[Subscript/Slice Operator]].&lt;br /&gt;
&lt;br /&gt;
Part 2 focuses on [[:Category:Array Functions|array functions]], multi-D arrays, and the principles and philosphy of arrays in Analytica.&lt;br /&gt;
&lt;br /&gt;
This talk is intended for beginning Analytica modelers, and for people who have been using Analytica without making substantial use of its array features.&lt;br /&gt;
&lt;br /&gt;
A recording of the two sessions can be viewed at (requires Windows Media Player):&lt;br /&gt;
* [http://AnalyticaOnline.com/WebinarArchive/2008-01-11-Intro-to-arrays.wmv Intro-to-arrays (Part 1).wmv] &lt;br /&gt;
* [http://AnalyticaOnline.com/WebinarArchive/2008-01-17-Intro-to-arrays2.wmv Intro-to-arrays (Part 2).wmv] &lt;br /&gt;
&lt;br /&gt;
An Analytica model containing the examples created during the webinar can be downloaded from [[media:Intro to intelligent arrays.ana|Intro to intelligent arrays.ana]].  During part 1, the [[media:Plane catching decision with EVIU.ana|Plane catching decision with EVIU.ana]] was also used briefly during the webinar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Manipulating Indexes and Arrays in Analytica Expressions ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Date and Time:&amp;lt;/b&amp;gt; Thursday, Aug 9, 2007 at 10:00 - 11:00am Pacific Daylight Time&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Presenter:&amp;lt;/b&amp;gt; Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Abstract&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The content of this webinar is most appropriate for users with moderate to advanced Analyica model-building experience.&lt;br /&gt;
&lt;br /&gt;
Here is the Analytica model that was created during this talk: [[media:Indexes and Arrays UG2.ANA | &amp;quot;Indexes and Arrays UG2.ANA&amp;quot;]].  (This wouldn't be very interesting for someone who didn't attend, but it contains the examples we tried).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Array Concatenation ===&lt;br /&gt;
&lt;br /&gt;
'''Date and Time:''' Thursday, 25 June 2009 10:00am-11:00 Pacific Standard Time&lt;br /&gt;
&lt;br /&gt;
'''Presenter:''' Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
'''Abstract'''&lt;br /&gt;
&lt;br /&gt;
Array concatenation combines two (or more) arrays by joining them side-by-side, creating an array having all the elements of both arrays.  The special case of list-concatenation joins 1-D arrays or lists to create a list of elements that can function as an index.  Array concatenation is a basic, and common, form of array manipulation.  &lt;br /&gt;
&lt;br /&gt;
The [[Concat]] function has been improved in Analytica 4.2, so that array concatenation is quite a bit easier in many cases, and the [[ConcatRows]] function is now built-in (formerly it was available as a library function).&lt;br /&gt;
&lt;br /&gt;
I'll take you through examples of array concatenation, including cases that have been simplified with the 4.2 enhancements, to help develop your skills at using [[Concat]] and [[ConcatRows]].&lt;br /&gt;
&lt;br /&gt;
This webinar is appropriate for all levels of Analytica modelers.&lt;br /&gt;
&lt;br /&gt;
You can view a recording of this webinar at [http://AnalyticaOnline.com/WebinarArchive/2009-06-25-Array-Concatenation.wmv Array_Concatenation.wmv].  The model file created during the webinar is: [[media:Array_Concatenation.ana|Array_Concatenation.ana]].&lt;br /&gt;
&lt;br /&gt;
=== Flattening and Unflattening of Arrays ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Date and Time:&amp;lt;/b&amp;gt; January 31, 2008, 10:00 - 11:00 Pacific Standard Time&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Presenter:&amp;lt;/b&amp;gt; Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Abstract&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On occassion you may need to flatten a multi-dimensional array into a 2-D table.  The table could be called a ''relational representation'' of the data.  In some circles it is also refered to as a ''fact table''.  Or, you may need to convert in the other direction -- expanding, or unflattening a relational/fact table into a multi-dimensional array.  In Analytica, the [[MdTable]] and [[MdArrayToTable]] functions are the primary tools for unflattening and flattening.  In this session, I'll introduce these functions and how to use them, several examples, and many variations.&lt;br /&gt;
&lt;br /&gt;
The model developed during this talk is at [[media:Flattening_and_Unflatting_Arrays.ana | Flattening_and_Unflatting_Arrays.ana]].  A recording of the webinar can be viewed at [http://AnalyticaOnline.com/WebinarArchive/2008-01-31-Array-Flattening.wmv Array-Flattening.wmv]&lt;br /&gt;
&lt;br /&gt;
=== [[Self-Indexed Arrays|Self-Indexes]], Lists and [[Implicit Dimensions]] ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Date and Time:&amp;lt;/b&amp;gt; January 24, 2008, 10:00 - 11:00 Pacific Standard Time&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Presenter:&amp;lt;/b&amp;gt; Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Abstract&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Every dimension of an Analytica array is associated with an index object.  [[Array Abstraction]] recognizes when two arrays passed as parametes to an operator or function contain the same indexes.  These indexes are more commonly defined by a global index object, i.e., an index object that appears on a diagram as a parallelogram node.  However, variable and decision nodes can serve as indexes, and can even have a multi-dimensional value in addition to being an index itself.  This is refered to as a [[Self-Indexed Arrays|self index]].  If a variable identifier is used in an expression, the context in which it appears always makes it clear whether the identifier is being used as an index, or as a variable with a value.  Self-indexes can arise in several ways, which I will cover.  In rare cases, when writing an expression, you may need to be aware of whether you intend to use the index value or the context value of a self-indexed variable.  I'll discuss these cases, for example in [[For..Do]] loops, and the use of the [[IndexValue]] function.&lt;br /&gt;
&lt;br /&gt;
In some cases, lists may be used in expressions, and when combined with other results, lists can end up serving as an [[Implicit Dimensions|implicit dimension]] of an array.  An implicit dimension is a bit different from a full-fledged index since it has not name, and hence no way to refer to it in an expression where an index parameter is expected.  Yet most built-in Analytica functions can still be employed to operate over an implicit index.  When an implicit index reaches the top level of an expression, it is promoted to be a self-index.  I will explain and demonstrate these concepts.&lt;br /&gt;
&lt;br /&gt;
The model developed during this talk is at [[media:Self-Indexes_Lists_and_Implicit_dimensions.ana|Self-Indexes_Lists_and_Implicit_dimensions.ana]].  A recording of the webinar can be viewed at [http://AnalyticaOnline.com/WebinarArchive/2008-01-24-Self-Indexes-Implicit-Dims.wmv Self-Indexes-Implicit-Dims.wmv]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Introduction to [[DetermTable]]s ===&lt;br /&gt;
&lt;br /&gt;
'''Date and Time:''' 18 September 2008, 10:00am Pacific Daylight Time&lt;br /&gt;
&lt;br /&gt;
'''Presenter:''' Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
'''Abstract'''&lt;br /&gt;
&lt;br /&gt;
A [[DetermTable]] provides an input view like that of an [[Table|edit table]], allowing you to specify values or expressions in each cell for all index combinations; however, unlike a [[Table|table]], the evaluation of a [[DetermTable|determtable]] conditionally returns only selected values from the table. It is called a determtable because it acts as a deterministic function of one or more discrete-valued variables.&lt;br /&gt;
You can conceptualize a determtable as a multi-dimensional generalization of a select-case statement found in many programming languages, or as a value that varies with the path down a decision tree.&lt;br /&gt;
&lt;br /&gt;
[[DetermTable]]s can be used to encode a table of utilities (or costs) for each outcome in a probabilistic model.  In this usage, they combine very naturally with [[ProbTable]]s (probability tables) for discrete probabilistic models.  They are also extremely useful in combination with [[Choice]] pulldowns, allowing you to keep lots of data in your model, but using only a selected part of that for your analysis.  This leads to [[Selective Parametric Analysis]], which is often an effective way of coping with memory capacity limitation in high dimensional models.&lt;br /&gt;
&lt;br /&gt;
In this talk, I'll introduce the [[DetermTable]], show how you create one and describe the requirements for the table indexes. The actual &amp;quot;selection&amp;quot; of slices occurs in the table indexes.  Not all indexes have to be selectors, but I'll explain the difference and how the domain attribute is used to establish the table index, while the value is used to select the slice.  When you define the domain of a variable that will serve as a [[DetermTable]] index, you have the option of defining the domain as an ''index domain''.  This can be extremely useful in combination with a [[DetermTable]], so I will cover that feature as well.  It is helpful to understand how the functionality a [[DetermTable]] can be replicated using two nodes -- the first containing an [[Table|Edit Table]] and the second using [[Subscript]].  Despite this equivalence, [[DetermTable]] can be especially convenient, both because it simplifies things by requiring one less node, but also because an [[Table|Edit Table]] can be easily converted into a [[DetermTable]].&lt;br /&gt;
&lt;br /&gt;
You can watch a recording of this webinar at [http://AnalyticaOnline.com/WebinarArchive/2008-09-18-DetermTables.wmv DetermTables.wmv].  The examples created while demonstrating the mechanics of [[DetermTable]]s is saved here: [[media:DetermTable intro.ana|DetermTable intro.ana]].  Other example models used were the ''2-branch party problem.ana'' and the ''Compression post load calculator.ana'', both distributed in the Example models folder with Analytica, and the [[media:Loan_policy_selection.ANA|Loan policy selection.ana]] model.&lt;br /&gt;
&lt;br /&gt;
=== [[Table Splicing]] ===&lt;br /&gt;
&lt;br /&gt;
'''Date and Time''': Thursday, August 14, 2008, 10:00am Pacific Daylight Time&lt;br /&gt;
&lt;br /&gt;
'''Presenter:''' Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
'''Abstract'''&lt;br /&gt;
&lt;br /&gt;
Edit tables, probability tables and determ tables automatically adjust when their index's values are altered.  When new elements are inserted into an index, rows (or columns or slices) are automatically inserted, and when elements are deleted, rows (or columns or slices) are deleted from the tables.  This process of adjusting tables is referred to as ''[[Table Splicing|splicing]]''.&lt;br /&gt;
&lt;br /&gt;
Some indexes in Analytica may be computed, so that changes to some input variables could result in dramatic changes to the index value, both in terms of the elements that appear and the order of the elements in the index.  This creates a correspondence problem for Analytica -- how do the rows after the change correspond to the rows before the change.  Analytica can utilize three different methods for determining the correspondence: associative, positional, or flexible correspondence.  I'll discuss what these are and show you how you can control which method is used for each index.&lt;br /&gt;
&lt;br /&gt;
When slices (rows or columns) are inserted in a table, Analytica will usually insert 0 (zero) as the default value for the new cells.  It is possible, however, to explicit set a default value, and even to set a different default for each column of the table.  Doing so requires some typescripting, but I'll take you through the steps.  &lt;br /&gt;
&lt;br /&gt;
Using blank cells as a default value, rather than zero, has some advantages.  It becomes quickly apparent which cells need to be filled in after index items are inserted, and Analytica will issue a warning message if blank cells exist that you haven't yet filled in.  I'll take you through the steps of enabling blank cells by default.&lt;br /&gt;
&lt;br /&gt;
You can watch a recording of this webinar at [http://AnalyticaOnline.com/WebinarArchive/2008-08-14-Edit-Table-Splicing.wmv].  &lt;br /&gt;
&lt;br /&gt;
=== Analytica Web Player ===&lt;br /&gt;
&lt;br /&gt;
'''Date and Time:''' Thursday, August 7, 2008, 10:00am Pacific Daylight Time&lt;br /&gt;
&lt;br /&gt;
'''Presenter:''' Max Henrion, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
'''Abstract'''&lt;br /&gt;
&lt;br /&gt;
The Analytica Web Player (AWP) is scheduled to launch on July 31, 2008.  AWP is a subscription service hosted on Lumina's servers.  As a subscriber, you can upload your models to the server and send your colleagues a URL so that they can view your model.  To view your models, they need only a Flash-enabled web browser.  They can browser your model, change inputs, and evaluate results, all from within their web browser.&lt;br /&gt;
&lt;br /&gt;
In this talk we'll cover the available subscription plans, pricing, limitations, and how you sign up.  We'll also demonstrate the process of uploading models and sharing these with colleagues.&lt;br /&gt;
&lt;br /&gt;
You can watch a recording of this webinar at [http://AnalyticaOnline.com/WebinarArchive/2008-08-07-AWP.wmv AWP.wmv].&lt;br /&gt;
&lt;br /&gt;
=== [[SubTable|SubTables]] ===   &lt;br /&gt;
   &lt;br /&gt;
'''Date and Time:''' Thursday, 31 July 2008, 10:00am Pacific Daylight Time   &lt;br /&gt;
   &lt;br /&gt;
'''Presenter:''' Lonnie Chrisman, Lumina Decision Systems   &lt;br /&gt;
   &lt;br /&gt;
'''Abstract'''   &lt;br /&gt;
   &lt;br /&gt;
The [[SubTable]] function allows a subset of another edit table to be edited by the user as a different view. To the user, it appears as if he is editing any other edit table; however, the changes are stored in the original edit table. The rows and columns can be transformed to other dimensions in the Subtable, with different index element orders, based on [[Subset]] indexes, and with different number formats.  &lt;br /&gt;
&lt;br /&gt;
A recording of this webinar can be viewed at [http://AnalyticaOnline.com/WebinarArchive/2008-07-31-SubTables.wmv SubTables.wmv].  The model file from this webinar is at [[media:SubTable_webinar.ana]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Edit Table Enhancements in Analytica 4.0 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Date and Time:&amp;lt;/b&amp;gt; Thursday, Aug 2, 2007 at 10:00 - 11:00am Pacific Daylight Time&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Presenter:&amp;lt;/b&amp;gt; Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Abstract&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this webinar, I will demonstrate several new edit table functionalities in Analytica 4.0, including:&lt;br /&gt;
* Insert [[Choice]] drop-down controls in table cells.&lt;br /&gt;
* [[Table Splicing|Splicing]] tables based on computed indexes.&lt;br /&gt;
* Customizing the [[TableCellDefault|default cell value(s)]].&lt;br /&gt;
* Blank cells to catch entries that need to be filled in.&lt;br /&gt;
* [[SubTable]]s&lt;br /&gt;
* Using different number formats for each column.&lt;br /&gt;
&lt;br /&gt;
This talk is oriented for model builders with Analytica model-building experience.&lt;br /&gt;
&lt;br /&gt;
The Analytica session that existed by the end of the talk is stored in the following model file: [[Media:Edit_Table_Features.ANA | &amp;quot;Edit Table Features.ana&amp;quot;]].&lt;br /&gt;
&lt;br /&gt;
= Modeling Time =&lt;br /&gt;
&lt;br /&gt;
=== Manipulating Dates in Analytica ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Date and Time:&amp;lt;/b&amp;gt; Thursday, Sept. 13, 2007 at 10:00 - 11:00am Pacific Daylight Time&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Presenter:&amp;lt;/b&amp;gt; Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Abstract&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.  &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The model file resulting by the end of the session is available here: [[media:Manipulating Dates in Analytica.ana|Manipulating Dates in Analytica.ana]].&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The [[Dynamic]] Function ===&lt;br /&gt;
&lt;br /&gt;
'''Date and Time:''' Thursday, 12 June 2008, 10:00am Pacific Daylight Time&lt;br /&gt;
&lt;br /&gt;
'''Presenter:''' Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
'''Abstract'''&lt;br /&gt;
&lt;br /&gt;
The [[Dynamic]] function is used for modeling or simulating changes over time, in which values of variables at time t depend on the values of those variables at earlier time points.  Analytica provides a special system index named Time that can be used like any other index, but which also has the additional property that it is used by the [[Dynamic]] function for dynamic simulation.  &lt;br /&gt;
&lt;br /&gt;
This webinar is a brief introduction to the use of the Dynamic function and to the creation of dynamic models.  I'll cover the basic syntax of the [[Dynamic]] function, as well as various ways in which you can refer to values at earlier time points within an expression.  Dynamic models result in influence diagrams that have directed cycles (i.e., where you can start at a node, follow the arrows forward and return to where you started), called dynamic loops.  Similar ''cyclic dependencies'' are disallowed in non-dynamic influence diagrams.&lt;br /&gt;
&lt;br /&gt;
During the webinar, we'll loop at several simple examples of Dynamic, oriented especially for those of you with little or no experience with using [[Dynamic]] in models.  I'll provide some helpful hints for keeping things straight when building dynamic models.  For the more seasoned modelers, I'll also try to fold in a few more detailed tidbits, such as some explanation about how dynamic loops are evaluated, and how variable identifiers are interpreted somewhat differently from within dynamic loops.&lt;br /&gt;
&lt;br /&gt;
The model developed (extension of Fibonacci's rabbit growth model) can be downloaded here: [[media:The Dynamic Function.ana|The Dynamic Function.ana]].  A recording of the webinar can be viewed at &lt;br /&gt;
[http://AnalyticaOnline.com/WebinarArchive/2008-06-12-Dynamic-Function.wmv Dynamic-Function.wmv].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Modeling Markov Processes in Analytica ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Date and Time:&amp;lt;/b&amp;gt; Thursday, Sept. 20, 2007 at 10:00 - 11:00am Pacific Daylight Time&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Presenter:&amp;lt;/b&amp;gt; Matthew Bingham, Principal Economist, Veritas Economic Consulting&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Abstract&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
An article about the model presented here: [[media:AnalyticaMarkovtext.pdf|AnalyticaMarkovtext.pdf]]&lt;br /&gt;
&lt;br /&gt;
= Analytica Language Features =&lt;br /&gt;
&lt;br /&gt;
=== [[Local Indexes]] ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Date and Time:&amp;lt;/b&amp;gt; Thursday, Dec. 13, 2007 at 10:00 - 11:00am Pacific Standard Time &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Presenter:&amp;lt;/b&amp;gt; Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Abstract&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A [[Local Indexes|local index]] is an index object created during the evaluation of an expression using either the [[Index..Do]] or [[MetaIndex..Do]] construction.  Local indexes may exist only temporarily, being reclaimed when they are no longer used, or they may live on after the evaluation of the expression has completed, as an index of the result.  Some operations require the use of local indexes, or otherwise could not be expressed.&lt;br /&gt;
&lt;br /&gt;
In this talk, I'll introduce simple uses of local indexes, covering how they are declared using [[Index..Do]], with several examples.  We'll see how to access a local index using the [[Dot operator::A.I|A.I]] operator.   I'll discuss the distinctions between local indexes and local variables.  I'll show how the name of a local index can be computed dynamically, and I'll briefly cover the [[IndexNames]] and [[IndexesOf]] functions.&lt;br /&gt;
&lt;br /&gt;
The model created during this talk is here: [[media:Webinar_Local_Indexes.ana|Webinar_Local_Indexes.ana]].&lt;br /&gt;
&lt;br /&gt;
You can watch a recording of this webinar at: [http://AnalyticaOnline.com/WebinarArchive/2007-12-13-Local-Indexes.wmv Local-Indexes.wmv] (Requires Windows Media Player)&lt;br /&gt;
&lt;br /&gt;
=== [[Handle]]s and [[Meta-Inference]] ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Date and Time:&amp;lt;/b&amp;gt; Thursday, Dec. 6, 2007 at 10:00 - 11:00am Pacific Standard Time &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Presenter:&amp;lt;/b&amp;gt; Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Abstract&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.  &lt;br /&gt;
&lt;br /&gt;
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.  This topic is oriented towards more advanced Analytica users.&lt;br /&gt;
&lt;br /&gt;
The model used/created during this webinar as at: [[media:Handle and MetaInference Webinar.ANA|Handle and MetaInference Webinar.ANA]].&lt;br /&gt;
&lt;br /&gt;
You can watch a recording of this webinar at: [http://AnalyticaOnline.com/WebinarArchive/2007-12-06-Handles.wmv Handles.wmv] (Requires Windows Media Player)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The [[Iterate]] Function ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Date and Time:&amp;lt;/b&amp;gt; Thursday, Nov. 29, 2007 at 10:00 - 11:00am Pacific Standard Time &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Presenter:&amp;lt;/b&amp;gt; Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
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]]).&lt;br /&gt;
&lt;br /&gt;
In this session, we'll explore how [[Iterate]] can be used.&lt;br /&gt;
&lt;br /&gt;
Here is the model file developed during the webinar: [[media:Iterate Demonstration.ANA|Iterate Demonstration.ANA]]&lt;br /&gt;
&lt;br /&gt;
You can watch a recording of this webinar at: [http://AnalyticaOnline.com/WebinarArchive/2007-11-29-Iterate.wmv Iterate.wmv] (Requires Windows Media Player)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The [[Using_References|Reference and Dereference Operators]] ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Date and Time:&amp;lt;/b&amp;gt; Thursday, Nov. 15, 2007 at 10:00 - 11:00am Pacific Standard Time &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Presenter:&amp;lt;/b&amp;gt; Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Abstract&amp;lt;/b&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Here is the model used during the webinar: [[media:Webinar Reference and Dereference Operators.ANA|Reference and Dereference Operators.ana]].&lt;br /&gt;
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: &lt;br /&gt;
[[Analytica_User_Group/Reference_Webinar_Glitch]].&lt;br /&gt;
&lt;br /&gt;
You can watch a recording of this webinar at: [http://AnalyticaOnline.com/WebinarArchive/2007-11-15-Reference-And-Dereference.wmv Reference-And-Dereference.wmv] (Requires Windows Media Player)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Writing [[User-Defined Functions]] ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Date and Time:&amp;lt;/b&amp;gt; Thursday, Sept. 27, 2007 at 10:00 - 11:00am Pacific Daylight Time &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Presenter:&amp;lt;/b&amp;gt; Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Abstract&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Finally, I will cover how to write a custom distribution function, and how to ensure it works with [[Mid]], [[Sample]] and [[Random]].  &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
You can watch this webinar here: [http://AnalyticaOnline.com/WebinarArchive/2007-09-27-Writing-UDFs.wmv Writing-UDFs.wmv]  (Windows Media Player required)&lt;br /&gt;
&lt;br /&gt;
=== Custom Distribution Functions ===&lt;br /&gt;
&lt;br /&gt;
'''Date and Time:''' Thursday, 24 July 2008, 10:00am Pacific Daylight Time&lt;br /&gt;
&lt;br /&gt;
'''Presenter:''' Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
'''Abstract'''&lt;br /&gt;
&lt;br /&gt;
Analytica comes with most of the commonly seen [[:category:Distribution Functions|distributions]] built-in, and many additions [[:category:Distribution Functions|distribution functions]] available in the standard libraries.  However, in specific application areas, you may encounter distribution types that aren't already provided, or you may wish to create a variation on an existing distribution based on a different set of parameters.  In these cases, you can create your own ''User-Defined Distribution Function'' (UDDF).  Once you've created your function, you can utilize it within your model like you would any other distribution function.&lt;br /&gt;
&lt;br /&gt;
User-defined distribution functions are really just instances of [[User-Defined Functions]] (UDFs) that behave in certain special ways.  This webinar discusses the various functionalities that a user-defined distribution function should exhibit and various related considerations.  Most fundamentally, the defining feature of a UDDF is that it returns a median value when evaluated in Mid mode, but a sample indexed by Run when evaluated from Sample mode.  This contrasts with non-distribution functions whose behavior does not depend on the Mid/Sample evaluation mode.  Custom distributions are most often implemented in terms of existing distributions (which includes Inverse CDF methods for implementing distributions), so that this property is achieved automatically since the existing distributions already have this property.  But in less common cases, UDDFs may treat the two evaluation modes differently.&lt;br /&gt;
&lt;br /&gt;
When you create a UDDF, you may also want to ensure that it works with [[Random]]() to generate a single random variate, and supports the [[Distribution Functions#The Over parameter|Over parameter]] for generating independent distributions.  You may also want to create a companion function for computing the density (or probability for discrete distributions) at a point, which may be useful in a number of contexts including, for example, during importance sampling.  I'll show you how these features are obtained.&lt;br /&gt;
&lt;br /&gt;
There are several techniques that are often used to implement distribution functions.  The two most common, especially in Analytica, are the ''Inverse CDF'' technique and the ''transformation from existing distributions'' method.  I'll explain and show examples of both of these.  The Inverse CDF is particularly convenient in that it supports all sampling methods (Median Latin Hypercube, Random Latin Hypercube, and Monte Carlo).&lt;br /&gt;
&lt;br /&gt;
A recording of this webinar can be viewed at [http://AnalyticaOnline.com/WebinarArchive/2008-07-24-Custom-Distribution-Functions.wmv Custom-Distribution-Functions.wmv].  The model file created during the webinar is [[media:Custom Distribution Functions.ana|Custom Distribution Functions.ana]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Using the [[Check Attribute]] to validate inputs and results ===&lt;br /&gt;
&lt;br /&gt;
''' Date and Time:''' Thursday, 17 July 2008 10:00 Pacific Daylight Time&lt;br /&gt;
&lt;br /&gt;
'''Presenter:''' Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
'''Abstract'''&lt;br /&gt;
&lt;br /&gt;
The [[Check Attribute|check attribute]] provides a way to validate inputs and computed results.  When users of your model are entering data, this can provide immediate feedback when they enter values that are out of range or inconsistent.  When applied to computed results, it can help catch inconsistencies, which can help reduce error rates and accidental introduction of errors later.&lt;br /&gt;
&lt;br /&gt;
In this talk, I'll demonstrate how to define a check validation for a variable, and how to turn on the check attribute visible so that it is visible in the object window.  I'll demonstrate how the failed check alert messages can be customized.  And perhaps most interestingly, how the check can be used in edit tables for cell-by-cell validation, so that out-of-range inputs are flagged with a red background, and alert balloons pop-up when out-of-range inputs are entered.  Cell-by-cell validation when certain restrictions on the check expression are followed, which I'll discuss.&lt;br /&gt;
&lt;br /&gt;
A recording of this webinar can be viewed at [http://AnalyticaOnline.com/WebinarArchive/2008-07-17-Check-Attribute.wmv Check-Attribute.wmv] (Note: There is audio, but screen is black, for first 50 seconds).  The model used during this webinar, with the check attributes inserted, is at [[media:Check attribute -- car costs.ana|Check attribute -- car costs.ana]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The Performance Profiler ===&lt;br /&gt;
&lt;br /&gt;
'''Date and Time:''' October 9, 2008 10:00am Pacific Daylight Time&lt;br /&gt;
&lt;br /&gt;
'''Presenter:''' Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
'''Abstract'''&lt;br /&gt;
&lt;br /&gt;
''Requires Analytica Enterprise''&lt;br /&gt;
&lt;br /&gt;
When you have a model that takes a long time to compute, thrashes in virtual memory, or uses up available memory, the Performance Profiler can tell you where your model is spending its time and how much memory is being consumed by each variable to cache results.  It is not uncommon to find that even in a very large model, a small number (e.g., 2 to 5) of variables account for the lion's share of time and memory.  With this knowledge, you can focus your attention optimizing the definition of those few variables.  On several occassions I've achieved more than 100-fold sped up in computation time on large models using this technique.&lt;br /&gt;
&lt;br /&gt;
The Performance Profiler requires with Analytica Enterprise or Optimizer.  I'll demonstrate how to use the profiler with some basic discussions of what is does and does not measure.  One neat aspect of the profiler is that you can actually activate it after the fact.  In otherwords, even though you haven't adding profiling to your model, if you happen to notice something taking a long time, you can add it in to find out where the time was spent.  &lt;br /&gt;
&lt;br /&gt;
Using the Profiler is pretty simple, so I expect this session will be somewhat shorter than usual.  The content will be oriented primarily to people who are unfamiliar with the profiler, although I will also try to provide some behind the scenes details and can answer questions about it for &lt;br /&gt;
&lt;br /&gt;
You can watch a recording of this webinar at [http://AnalyticaOnline.com/WebinarArchive/2008-10-09-Performance-Profiler.wmv Performance-Profiler.wmv].  The model file containing the first few examples from the webinar can be downloaded from [[media:Simple Performance Profiler Example.ana|Simple Performance Profiler Example.ana]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Uncertainty &amp;amp; Probability Topics =&lt;br /&gt;
&lt;br /&gt;
=== Correlated and Multivariate Distributions ===&lt;br /&gt;
&lt;br /&gt;
'''Date and Time:''' Thursday, March 13, 2008 10:00 Pacific Daylight Time&lt;br /&gt;
&lt;br /&gt;
'''Presenter:''' Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
'''Abstract'''&lt;br /&gt;
&lt;br /&gt;
This talk will discuss various techniques within Analytica for defining probability distributions with specified marginal distributions, and also being correlated with other uncertain variables.  Techniques include the use of conditional and hierarchical distributions, multivariate distributions, and Iman-Conover rank-correlated distributions.&lt;br /&gt;
&lt;br /&gt;
The model created during session talk is [[media:Correlated distributions.ana|Correlated distributions.ana]].  You can watch a recording of the webinar from [http://AnalyticaOnline.com/WebinarArchive/2008-03-13-Correlated-Distributions.wmv Correlated-Distributions.wmv].  &lt;br /&gt;
&lt;br /&gt;
=== Assessment of Probability Distributions ===&lt;br /&gt;
&lt;br /&gt;
'''Date and Time:''' March 6, 2008  10:00am Pacific Standard Time&lt;br /&gt;
&lt;br /&gt;
'''Presenter:''' Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
''' Abstract'''&lt;br /&gt;
&lt;br /&gt;
When building a quantitative model, we usually need to come up with estimates for many of the parameters and input variables that we use in the model.  Because these are estimates, it is good idea to encode these as probability distributions, so that our degree of ''subjective uncertainty'' is explicit in the model.  The process of encoding a distribution to reflect the level of knowledge that you (or the experts you work with) have about the true value of the quantity is referred to as ''probability (or uncertainty) assessment'' or ''probability elicitation''.&lt;br /&gt;
&lt;br /&gt;
This webinar will be a highly interactive one, where all attendees are expected to participate in a series of uncertainty assessments as we explore the effects of cognitive biases (such as over-confidence and anchoring), understand what it means to be ''well-calibrated'', and utilize scoring metrics to measure your own degree of calibration.  These exercises can help you improve the quality of your distribution assessments, and serve as tools that can help you to when eliciting estimates of uncertainty from other domain experts.&lt;br /&gt;
&lt;br /&gt;
The Analytica model [[media:Probability assessment.ana|Probability assessment.ana]] contains a game of sorts that takes you through several probability assessments and scores your responses.  Participants of the webinar played this game by running this model, if you are going to watch the webinar, you will want to do the same.  You may want to wait until the appropriate point in the webinar (after preliminary stuff has been covered) before starting.  You can watch the webinar recording here: [http://AnalyticaOnline.com/WebinarArchive/2008-03-06-Probability-Assessment.wmv Probability-Assessment.wmv].  &lt;br /&gt;
The power point slides from the talk are here: [[media:Assessment_of_distributions.ppt|Assessment_of_distributions.ppt]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Statistical Functions ===&lt;br /&gt;
&lt;br /&gt;
'''Date and Time:''' Thursday, 21 Aug 2008, 10:00am Pacific Daylight Time&lt;br /&gt;
&lt;br /&gt;
'''Presenter:''' Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
'''Abstract'''&lt;br /&gt;
&lt;br /&gt;
''This topic was presented in Aug 2007, but not recorded at that time.''&lt;br /&gt;
&lt;br /&gt;
A statistical function is a function that process a data set containing many sample points, computing a &amp;quot;statistic&amp;quot; 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.  I'll describe several built-in statistical functions such as [[Mean]], [[SDeviation]], [[GetFract]], [[Pdf]], [[Cdf]], and [[Covariance]].  I'll demonstrate how all built-in statistical functions can be applied to historical data sets over an arbitrary index, as well as to uncertain samples (the Run index).  I'll discuss 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.&lt;br /&gt;
&lt;br /&gt;
In addition, all built-in statistical functions can compute weighted statistics, where each point is assigned a different weight.  I'll briefly touch on this feature as a segue into next week's topic, Importance Sampling.&lt;br /&gt;
&lt;br /&gt;
This talk can be viewed at [http://AnalyticaOnline.com/WebinarArchive/2008-08-21-Statistical-Functions.wmv Statistical-Functions.wmv]. The model built during this talk is available for download at [[media:Intro to Statistical Functions.ana|Intro to Statistical Functions.ana]].&lt;br /&gt;
&lt;br /&gt;
=== Statistical Functions in Analytica 4.0 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Date and Time:&amp;lt;/b&amp;gt; Thursday, Aug 16, 2007 at 10:00 - 11:00am Pacific Daylight Time&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Presenter:&amp;lt;/b&amp;gt; Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Abstract&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A statistical function is a function that process a data set containing many sample points, computing a &amp;quot;statistic&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The Analytica model file that had resulted by the end of the presentation can be downloaded here: &lt;br /&gt;
[[media:User Group Webinar - Statistical Functions.ANA | User Group Webinar - Statistical Functions.ANA]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Sensitivity Analysis Topics =&lt;br /&gt;
&lt;br /&gt;
=== Tornado Charts ===&lt;br /&gt;
&lt;br /&gt;
'''Time and Date:''' Thursday, 20 Mar 2008 10:00am Pacific Daylight Time&lt;br /&gt;
&lt;br /&gt;
'''Presenter:''' Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Tornado plot.png]]&lt;br /&gt;
&lt;br /&gt;
A tornado chart depicts the result of a '''local sensitivity analysis''', showing how much a computed result would change if each input were varied one input at a time, with all other inputs held to their baseline value.  The result is usually plotted with horizontal bars, sorted with larger bars on top, resulting in a graph resembling the shape of a tornado, hence the name.  There a numerous variations on tornado charts, resulting from different ways of varying the inputs, and in some cases, different metrics graphed.  &lt;br /&gt;
&lt;br /&gt;
This talk will walk through the steps of setting up a Tornado chart, and explore different variations of varying inputs.  We'll also explore some more complex issues that can arise when some inputs are arrays.&lt;br /&gt;
&lt;br /&gt;
The model used during this talk is here: [[media:Tornado Charts.ANA|Tornado Charts.ana]] (the stuff for the talk was in the Tornado Analysis module).  You can watch a recording of this webinar from [http://AnalyticaOnline.com/WebinarArchive/2008-03-20-Tornado-Charts.wmv Tornado-Charts.wmv].&lt;br /&gt;
&lt;br /&gt;
=== Advanced Tornado Charts -- when inputs are Array-Valued ===&lt;br /&gt;
&lt;br /&gt;
'''Date and Time:''' Thursday, April 17, 2008 10:00am Pacific Daylight Time&lt;br /&gt;
&lt;br /&gt;
'''Presenter:''' Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
'''Abstract'''&lt;br /&gt;
&lt;br /&gt;
The webinar of 20-Mar-2008 ([http://AnalyticaOnline.com/WebinarArchive/2008-03-20-Tornado-Charts.wmv Tornado-Charts.wmv], see webinar archives) went through the fundamentals of setting up a local sensitivity analysis and plotting the results in the form of a tornado chart.  That webinar also discussed the many variations of tornado analyses (or more generally, local sensitivity analyses) that are possible.&lt;br /&gt;
&lt;br /&gt;
This talk builds on those foundations by going a step further and addressing tornado analyses when some of the input variables are array-valued.  The presence of array-valued inputs introduces many additional possible variations of analyses, as well as many modeling complications.  For example, a local sensitivity analysis varies one input at a time, but that could mean you vary each input variable (as a whole) at a time, or it could mean that you vary each cell of each input array individually.  Either is possible, each resulting in a different analysis.  Some of these variations compute the correct result automatically through the magic of array abstraction, once you've set up the basic tornado analysis that we covered in the first talk, while other require quite a bit of additional modeling effort.  However, even the ones that produce the correct result can often be made more efficient, particularly when the indexes of each input variable are different across input variables.&lt;br /&gt;
&lt;br /&gt;
When we do opt to vary input arrays one cell at a time, the display of the results may be dramatically effected.  Although we can keep the results in an array form, the customary tornado chart require us to ''flatten'' the multi-D arrays and label each bar on the chart with a cell coordinate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A recording of this webinar can be viewed at [http://AnalyticaOnline.com/WebinarArchive/2008-04-17-Tornados-With-Arrays.wmv Tornados-With-Arrays.wmv].  This webinar made use of the following models: [[media:Sales Effectiveness Model with tornado.ana|Sales Effectiveness Model with tornado.ana]], [[media:Biotech R&amp;amp;D Portfolio Tornado.ana|Biotech R&amp;amp;D Portfolio with Tornado.ana]], [[media:Sensitivity Analysis Library.ana|Sensitivity Analysis Library.ana]], and [[media:Sensitivity Functions Examples.ana|Sensitivity Functions Examples.ana]].  See [[The Sensitivity Analysis Library]] for more information on how to use [[media:Sensitivity Analysis Library.ana|Sensitivity Analysis Library.ana]] in your own models.&lt;br /&gt;
&lt;br /&gt;
= Financial Analysis =&lt;br /&gt;
&lt;br /&gt;
=== Internal Rate of Return ([[IRR]]) and Modified Internal Rate of Return ([[MIRR]]) ===&lt;br /&gt;
&lt;br /&gt;
'''Date and Time:''' 18 Dec 2008, 10:00am Pacific Standard Time&lt;br /&gt;
&lt;br /&gt;
'''Presenter:''' Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
'''Abstract'''&lt;br /&gt;
&lt;br /&gt;
This is Part 3 of a multi-part webinar series where we have been covering the modeling and evaluation of cash flows over time in an interactive exercise-based webinar format, where concepts are introduced in the form of modeling exercises, and participants are asked to complete the exercises in Analytica during the webinar.  Part 3 covers Internal Rate of Return ([[IRR]]) and Modified Internal Rate of Return ([[MIRR]]), and includes seven modeling exercises.&lt;br /&gt;
&lt;br /&gt;
To speed the presentation up, I am providing the exercises in advance: [[media:NPV_and_IRR.ppt|NPV_and_IRR.ppt]].  I urge you to take a shot at completing them before the webinar begins, and we'll advance through the exercises more rapidly so as to complete the topic material within the hour.  By attempting the exercises in advance, you'll have a good opportunity to compare your solutions to mine, and to ask questions about things you got stuck on.&lt;br /&gt;
&lt;br /&gt;
A dollar received today is not worth the same as a dollar received next year. Taking this time-value of money (or more generally, time-value of utility) into account is very important when comparing cash flows over time that result from long-term capital budgeting decisions. Net Present Value (NPV) and Internal Rate of Return (IRR) are the two most commonly used metrics examining the effective value of an investment's cash flow over time. Both concepts are pervasive in decision-analytic models. &lt;br /&gt;
&lt;br /&gt;
This webinar will be highly interactive. Fire up a instance of Analtyica as you join on. As I introduce each concept, I'll provide you with cash flow scenarios, and give you a chance to compute the result yourself using Analytica. This talk is intended for people who are not already well-versed in NPV and IRR, or for people who already have a good background with those concepts but are new to Analytica and thus can learn from the interactive practice of addressing these exercises during the talk. &lt;br /&gt;
&lt;br /&gt;
See also the materials from Parts 1 and 2 (Net Present Value, 20 Nov 2008 and 4 Dec 2008) elsewhere on this page.  This session begins with the model [[media:Cash Flow Metrics 2.ana|Cash Flow Metrics 2.ana]], and ends with [[media:Cash Flow Metrics 3.ana|Cash Flow Metrics 3.ana]].  You can watch a recording of this webinar at [http://AnalyticaOnline.com/WebinarArchive/2008-12-18-IRR.wmv IRR.wmv].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bond Portfolio Analysis ===&lt;br /&gt;
&lt;br /&gt;
'''Date and Time: ''' 11 Dec 2008, 10:00am Pacific Standard Time&lt;br /&gt;
&lt;br /&gt;
'''Presenter:''' Rob Brown, Incite! Decision Technologies&lt;br /&gt;
&lt;br /&gt;
'''Abstract'''&lt;br /&gt;
&lt;br /&gt;
I demonstrate how to value a bond portfolio in which bonds are bought and sold on an uncertain frequency.  The demonstration shows how Intelligent Arrays and related functions can greatly simplify calculations of multiple dimensions that would typically require multiple interconnected sheets in a spreadsheet or nested do-loops in a procedural language.&lt;br /&gt;
&lt;br /&gt;
You can watch a recording of this webinar at &lt;br /&gt;
[http://AnalyticaOnline.com/WebinarArchive/2008-12-11-Bond-Portfolio-Analysis.wmv Bond-Portfolio-Analysis.wmv]. The model underlying the presentation is [[media:Bond Portfolio Valuation.ana|Bond Portfolio Valuation.ana]], and the power point slides are at [[media:Bond Portfolio Valuation.ppt|Bond Portfolio Valuation.ppt]].&lt;br /&gt;
&lt;br /&gt;
=== Net Present Value ([[NPV]]) ===&lt;br /&gt;
&lt;br /&gt;
'''Date and Time:''' Part I : Thursday, 20 Nov 2008, 10:00am Pacific Standard Time&lt;br /&gt;
::::Part II : Thursday, 4 Dec 2008, 10:00am Pacific Standard Time&lt;br /&gt;
&lt;br /&gt;
(Parts 1 &amp;amp; 2 cover NPV -- part 3, listed now separately, covers IRR)&lt;br /&gt;
&lt;br /&gt;
'''Presenter:''' Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
'''Abstract'''&lt;br /&gt;
&lt;br /&gt;
A dollar received today is not worth the same as a dollar received next year.  Taking this time-value of money (or more generally, time-value of utility) into account is very important when comparing cash flows over time that result from long-term capital budgeting decisions.  Net Present Value ([[NPV]]) and Internal Rate of Return ([[IRR]]) are the two most commonly used metrics examining the effective value of an investment's cash flow over time. Both concepts are pervasive in decision-analytic models.&lt;br /&gt;
&lt;br /&gt;
This multi-part webinar provides an introduction to the concepts of present value, discount rate, [[NPV]] and [[IRR]].  We'll discuss the interpretation of ''discount rate'', and we'll get practice computing these metrics in Analytica.  We'll examine the pitfalls of each metric, and we'll examine the interplay of each metric with explicitly modelled uncertainty (including the concepts of Expected NPV (ENPV) and Expected IRR (EIRR)).  &lt;br /&gt;
&lt;br /&gt;
This webinar will be highly interactive.  Fire up a instance of Analtyica as you join on.  As I introduce each concept, I'll provide you with cash flow scenarios, and give you a chance to compute the result yourself using Analytica.  This talk is intended for people who are not already well-versed in [[NPV]] and [[IRR]], or for people who already have a good background with those concepts but are new to Analytica and thus can learn from the interactive practice of addressing these exercises during the talk.&lt;br /&gt;
&lt;br /&gt;
I have assembled quite a bit of material, which I believe will fill two webinar sessions.  Part 1 will focus mostly on present value, NPV, discount rate, and the use of NPV with uncertainty.  Part 2 will focus mostly on IRR, several &amp;quot;gotchas&amp;quot; with IRR, and MIRR.&lt;br /&gt;
&lt;br /&gt;
Materials:&lt;br /&gt;
* [[media:Cash Flow Metrics 2.ana|Cash Flow Metrics 2.ana]] : Model at end of second session&lt;br /&gt;
* [[media:Cash Flow Metrics 1.ANA|Cash Flow Metrics 1.ana]] : Model at end of first session&lt;br /&gt;
* [http://AnalyticaOnline.com/WebinarArchive/2008-11-20-NPV-and-IRR1.wmv NPV-and-IRR1.wmv] : Webinar recording of Part 1.&lt;br /&gt;
* [http://AnalyticaOnline.com/WebinarArchive/2008-12-04-NPV-and-IRR1.wmv NPV-and-IRR2.wmv] : Webinar recording of Part 2.&lt;br /&gt;
&lt;br /&gt;
Note: Part 1 covered 5 exercises, covering present value, discount rate, modeling certain cash flows, computing NPV, and graphing the NPV curve.  Part 2 added exercises 6-9, covering cash flows at non-uniformly-spaced time periods, valuating bonds and treasury notes, cash flows with uncertainty, and using the CAPM to find invester-implied corporate discount rate.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;class&amp;quot; will continue with Part 3 beginning with Internal Rate of Return.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Data Analysis Techiques =&lt;br /&gt;
&lt;br /&gt;
=== Statistical Functions ===&lt;br /&gt;
&lt;br /&gt;
'''Date and Time:''' Thursday, May 22, 2008 10:00am Pacific Daylight Time&lt;br /&gt;
&lt;br /&gt;
'''Presenter:''' Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
'''Abstract'''&lt;br /&gt;
&lt;br /&gt;
A statistical function is a function that processes a data set containing many sample points, computing a &amp;quot;statistic&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
This talk is appropriate for moderate to advanced users.&lt;br /&gt;
&lt;br /&gt;
A recording of this webinar can be watched at &lt;br /&gt;
[http://AnalyticaOnline.com/WebinarArchive/2008-05-22-Statistical-Functions.wmv Statistical-Functions.wmv].&lt;br /&gt;
The model created during this webinar is at [[media:Statistical Functions.ANA|Statistical Functions.ana]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Principle Components Analysis (PCA) ===&lt;br /&gt;
&lt;br /&gt;
'''Date and Time:''' 15 Jan 2009, 10:00am Pacific Standard Time&lt;br /&gt;
&lt;br /&gt;
'''Presenter:''' Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
'''Abstract'''&lt;br /&gt;
&lt;br /&gt;
Principle component analysis (PCA) is a widely used data analysis technique for dimensionality reduction and identification of underlying common factors.  This webinar will provide a gentle introduction to PCA and demonstrate how to compute principle components within Analytica.  Intended to be at an introductory level, with no prior experience with PCA (or even knowledge of what it is) assumed. &lt;br /&gt;
&lt;br /&gt;
The model developed during this talk, where the principle components were computed for 17 publically traded stocks based on the previous 2 years of price change data is [[media:Principle Component Analysis.ana|Principle Component Analysis.ana]].  A recording of this webinar can be viewed at [http://AnalyticaOnline.com/WebinarArchive/2009-01-15-PCA.wmv PCA.wmv].&lt;br /&gt;
&lt;br /&gt;
=== Variable Stiffness Cubic Splines ===&lt;br /&gt;
&lt;br /&gt;
'''Date and Time:''' 2 October 2008, 10:00am Pacific Daylight Time&lt;br /&gt;
&lt;br /&gt;
'''Presenter:''' Brian Parsonnet, ICE Energy&lt;br /&gt;
&lt;br /&gt;
'''Abstract'''&lt;br /&gt;
&lt;br /&gt;
The Variable Stiffness Cubic Spline is a highly robust data smoothing and interpolation technique.  A stiffness parameter adjusts the variability of the curve.  At the extreme of minimal stiffness, the curve approaches a cubic spline (like [[CubicInterp]]) that passes through all data points, while at the other extreme of maximal stiffness, the spline curve becomes the best-fit line.  Weight parameters can be used to constrain the curve to include selected points, while smoothing over others.  The first, second and third derivatives all exist and are readily available.  &lt;br /&gt;
&lt;br /&gt;
I'll introduce and demonstrate [[User-Defined Functions]] that compute the variable stiffness cubic spline and interpolate to new points.  I'll also show how these curves can be used to detect or eliminate anomalies in data.&lt;br /&gt;
&lt;br /&gt;
You can watch a recording of this webinar at [http://AnalyticaOnline.com/WebinarArchive/2008-10-02-Variable-Stiffness-Cubic-Splines.wmv Variable-Stiffness-Cubic-Splines.wmv].  The model and library with the vscs functions will be posted here within a few weeks.&lt;br /&gt;
&lt;br /&gt;
=== Using [[Regression]] ===&lt;br /&gt;
&lt;br /&gt;
'''Date and Time:''' Thursday, May 1, 2008 at 10:00 - 11:00 Pacific Daylight Time&lt;br /&gt;
&lt;br /&gt;
'''Date and Time:''' Thursday, Aug 30, 2007 at 10:00 - 11:00am Pacific Daylight Time&lt;br /&gt;
&lt;br /&gt;
'''Presenter:''' Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
'''Abstract'''&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
You can watch a recording of the 1 May 2008 webinar here: [http://AnalyticaOnline.com/WebinarArchive/2008-05-01-Regression.wmv Regression.wmv].  The model developed during that webinar is here: [[media:Using_Regression.ANA|Using Regression.ana]]&lt;br /&gt;
&lt;br /&gt;
=== Logistic Regression ===&lt;br /&gt;
&lt;br /&gt;
'''Date and Time:''' Thursday, 5 June 2008, 10:00am Pacific Daylight Time&lt;br /&gt;
&lt;br /&gt;
'''Presenter:''' Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
''' Abstract'''&lt;br /&gt;
&lt;br /&gt;
''(Features covered in this webinar require Analytica Optimizer)''&lt;br /&gt;
&lt;br /&gt;
Logistic regression is a technique for fitting a model to historical data to predict the probability of an event from a set of independent variables.  In this talk, I'll introduce the concept of Logistic regression, explain how it differs from standard [[Regression|linear regression]], and demonstrate how to fit a logistic regression model to data in Analytica.  Probit regression is for all practical purposes the same idea as Logistic regression, differing only in the specific functional form for the model. Poisson regression is also similar except is appropriate when predicting a probability distribution over a dependent variable that represents integer &amp;quot;counts&amp;quot;.  All are examples of generalized linear models, and after reviewing these forms of logistic regression, it should be clear how other generalized linear model forms can be handled within Analytica.&lt;br /&gt;
&lt;br /&gt;
This topic is appropriate for advanced modelers.  I will assume familiarity with [[Regression|regression]] (see the earlier talk on the topic), but will not assume a previous knowledge of logistic regression.&lt;br /&gt;
&lt;br /&gt;
You can watch a recording of this webinar at: [http://AnalyticaOnline.com/WebinarArchive/2008-06-05-Logistic-Regression.wmv Logistic-Regression.wmv].  The model developed during this webinar can be downloaded from [[media:Logistic_regression_example.ana|Logistic_regression_example.ana]].  You'll also need the file [[media:BreastCancer.data|BreastCancer.data]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Bayesian Techniques =&lt;br /&gt;
&lt;br /&gt;
=== Bayesian Posteriors using Importance Sampling ===&lt;br /&gt;
&lt;br /&gt;
'''Date and Time:''' Thursday, September 4, 2008 10:00am Pacific Daylight Time&lt;br /&gt;
&lt;br /&gt;
'''Presenter:''' Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
'''Abstract'''&lt;br /&gt;
&lt;br /&gt;
Several algorithms for computing Bayesian posterior probabilities are special cases of ''importance sampling''.  The [[#Importance_Sampling_.28Rare_events.29|webinar of the previous week, Importance Sampling (rare events)]] introduced importance sampling, covered the theory behind it, how it is applied, and how Analytica's sample weighting feature can be use for importance sampling.  This webinar continues with importance sampling, this time exploring how it can be used (at least in some cases) to compute Bayesian posterior probabilities.  &lt;br /&gt;
&lt;br /&gt;
I'll provide an introduction to what Bayesian posterior probabilities are, describe a couple importance sampling-based approaches to computing them, and implement a few examples in Analytica.  Importance sampling techniques for computing posteriors have limited applicability -- in some cases they work well, other not.  I'll try to characterize what those conditions are.&lt;br /&gt;
&lt;br /&gt;
You can watch a recording of this webinar at [http://AnalyticaOnline.com/WebinarArchive/2008-09-04-Posteriors_using_IS.wmv Posteriors_using_IS.wmv].  About two-thirds through the presentation, we noticed a result that seemed to be coming out incorrectly.  I explain what the problem was and fix it in [http://AnalyticaOnline.com/WebinarArchive/2008-09-04-Posteriors_using_IS_addendum.wmv Posteriors_using_IS_addendum.wmv].  The models used during this presentation can be downloaded from [[media:Posterior sprinklers.ana|Posterior sprinklers.ana]] and [[media:Likelihood weighting.ana|Likelihood weighting.ana]].&lt;br /&gt;
&lt;br /&gt;
=== Importance Sampling (Rare events) ===   &lt;br /&gt;
    &lt;br /&gt;
'''Date and Time:''' Thursday, 28 Aug 2008, 10:00am Pacific Daylight Time   &lt;br /&gt;
    &lt;br /&gt;
'''Presenter:''' Lonnie Chrisman, Lumina Decision Systems   &lt;br /&gt;
    &lt;br /&gt;
'''Abstract'''   &lt;br /&gt;
    &lt;br /&gt;
Importance sampling is a technique that simulates a target probability distribution of interest by sampling from a different sampling distribution and then re-weighting the sampled points so that computed statistics match those of the target distribution. The technique has has applicability when the target distribution is difficult to sample from directly, but where the probability density function is readily available. The technique produces valid results in the large sample size limit for any selection of sampling distribution (provided it is absolutely continuous with respect to the target distribution), but best results (i.e., fastest convergence with smaller sample size) are obtained when a good sampling distribution is used.  The technique is commonly used for rare-event sampling, where you want to ensure greater sampling coverage in the tails of distributions, where few samples would occur with standard Monte Carlo sampling.  During the talk, we develop a rare event model.  It also has applicability to the computation of Bayesian posteriors, and sampling of complex distribution.&lt;br /&gt;
&lt;br /&gt;
In this talk we cover the theory behind importance sampling and introduce the [[SampleWeighting|sample weighting]] mechanism that is built into Analytica. We develop a rare-event model to demonstrate how the weighting mechanism is used to achieve the importance sampling.  Next week we'll continue with an example of computing a Bayesian posterior probability.&lt;br /&gt;
&lt;br /&gt;
A recording of this webinar can be viewed at [http://AnalyticaOnline.com/WebinarArchive/2008-08-28-Importance-Sampling.wmv Importance-Sampling.wmv].  The model developed during this talk can be downloaded from: [[media:Importance sampling rare events.ANA|Importance Sampling rare events.ana]].&lt;br /&gt;
&lt;br /&gt;
= Presenting Models to Others =&lt;br /&gt;
&lt;br /&gt;
=== Guidelines for Model Transparency ===&lt;br /&gt;
&lt;br /&gt;
'''Date and Time:''' 19 Feb 2009, 10:00am Pacific Standard Time&lt;br /&gt;
&lt;br /&gt;
'''Presenter:''' Max Henrion, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
'''Abstract'''&lt;br /&gt;
&lt;br /&gt;
What makes Analytica models easy for others to use and understand? I will review some example models that illustrate ways to improve transparency -- or opacity. Feel free to send me your candidates ahead of time!&lt;br /&gt;
We'll review some proposed guidelines. I hope to stimulate a discussion about what you think works well or not, and enlist your help in refining these guidelines.&lt;br /&gt;
&lt;br /&gt;
You can watch a recording of this webinar at [http://AnalyticaOnline.com/WebinarArchive/2009-02-19-Transparency-Guidelines.wmv Transparency-Guidelines.wmv].&lt;br /&gt;
&lt;br /&gt;
=== Creating Control Panels ===&lt;br /&gt;
&lt;br /&gt;
'''Date and Time:''' Thursday, May 29, 2008 10:00am Pacific Daylight Time&lt;br /&gt;
&lt;br /&gt;
'''Presenter:''' Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
'''Abstract'''&lt;br /&gt;
&lt;br /&gt;
It is quite easy to put together &amp;quot;control panels&amp;quot; or &amp;quot;forms&amp;quot; for your Analytica models by creating input and output nodes for the inputs and outputs of interest to your model end users.  This webinar will cover the basic steps involved in creating and arranging these forms, along with some tricks for making the process efficient.  We'll cover the different types of input and output controls that are currently available, the use of text nodes to create visual groupings, use of images and icons, and the alignment commands that make the process very rapid.  We'll learn how to change colors, and look at the use of buttons very briefly.  This talk is appropriate for beginning Analytica users.&lt;br /&gt;
&lt;br /&gt;
A recording of this webinar can be viewed at [http://AnalyticaOnline.com/WebinarArchive/2008-05-29-Control-Panels.wmv Control-Panels.wmv] (required Windows Media Player).  The model used during this webinar is at [[media:Building Control Panels.ana|Building Control Panels.ana]].&lt;br /&gt;
&lt;br /&gt;
=== Sneak preview of Analytica Web Publisher ===&lt;br /&gt;
&lt;br /&gt;
'''Date and Time:''' Thursday, February 21, 2008, 10:00 - 11:00 Pacific Standard Time &lt;br /&gt;
&lt;br /&gt;
'''Presenter:''' Max Henrion, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
'''Abstract'''&lt;br /&gt;
&lt;br /&gt;
In this week's webinar, Max Henrion, Lumina's CEO, will provide a sneak preview of the Analytica Web Publisher. AWP offers a way to make Analytica models easily accessible to anyone with a web browser. Users can open a model, view diagrams and objects, change input variables, and view results as tables and graphs. Users will also be able to save changed models, to revisit them in later sessions. Model builders can upload models into AWP directly from their desktop. Usually, AWP directories are password protected, so only authorized users can view and use models. But, we also plan to make a free AWP directory available for people who want to share their models openly. &lt;br /&gt;
&lt;br /&gt;
AWP is nearing release for alpha testing. We will welcome your comments and hearing how you might envisage using AWP.&lt;br /&gt;
&lt;br /&gt;
''This webinar was not recorded.''&lt;br /&gt;
&lt;br /&gt;
= Application Integration Topics =&lt;br /&gt;
&lt;br /&gt;
=== OLE Linking ===&lt;br /&gt;
&lt;br /&gt;
'''Time and Date:''' Thursday, 27 Mar 2008 10:00am Pacific Daylight Time&lt;br /&gt;
&lt;br /&gt;
'''Presenter:''' Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
'''Abstract:'''&lt;br /&gt;
&lt;br /&gt;
OLE linking is a commonly used methods for linking data from Excel spreadsheets into Analytica and results from Analytica into Excel spreadsheets.  It can be used with other applications that support OLE-linking as well.  The basic usage of OLE linking is pretty simple -- it is a lot like copy and paste.  This webinar covers basics of using OLE linking of fixed-sized 1-D or 2-D tables.  I also demonstrate the basic tricks you must go through to link index values and multi-D inputs and outputs.  In addition, we discuss what some of those OLE-link settings actually do, and explain how OLE-connected applications connect to their data sources.&lt;br /&gt;
&lt;br /&gt;
A recording of this webinar can be viewed at [http://AnalyticaOnline.com/WebinarArchive/2008-03-27-OLE-Linking.wmv 2008-03-27-OLE-Linking.wmv].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Querying an OLAP server ===&lt;br /&gt;
&lt;br /&gt;
'''Date and Time:''' Thursday, February 14, 2008, 10:00 - 11:00 Pacific Standard Time &amp;lt;br&amp;gt;&lt;br /&gt;
(''Note: Schedule change from an earlier posting.  This is now back to the usual Thursday time. '')&lt;br /&gt;
&lt;br /&gt;
'''Presenter:''' Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
'''Abstract'''&lt;br /&gt;
&lt;br /&gt;
In this session, I'll show how the [[MdxQuery]] function can be used to extract multi-dimensional arrays from an On-Line Analytical Processing (OLAP) server.  In particular, during this talk we'll query Microsoft Analysis Services using MDX.  In this talk, I'll introduce some basics regarding OLAP and Analysis Services, discuss the differences between multi-dimensional arrays in OLAP and Analytica, cover the basics of the MDX query language, show how to form a connection string for [[MdxQuery]], and import data.  I'll also show how hierarchical dimensions can be handled once you get your data to Analytica.&lt;br /&gt;
&lt;br /&gt;
''Note: Use of the features demonstrated in this webinar require the Analytica Enterprise or Optimizer edition, or the Analytica Power Player.  They are also available in ADE.''&lt;br /&gt;
&lt;br /&gt;
The model created during this webinar is available here: [[media:Using MdxQuery.ana|Using MdxQuery.ana]].  You can watch a recording of this webinar here: [http://AnalyticaOnline.com/WebinarArchive/2008-02-14-MdxQuery.wmv MdxQuery.wmv] (requires Microsoft Media Player)&lt;br /&gt;
&lt;br /&gt;
=== Querying an ODBC relational database ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Date and Time:&amp;lt;/b&amp;gt; Thursday, February 7, 2008, 10:00 - 11:00 Pacific Standard Time&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Presenter:&amp;lt;/b&amp;gt; Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Abstract&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this talk I'll review the basics of querying an external relational ODBC database using [[DbQuery]].  This provides a flexible way to bring in data from SQL Server, Access, Oracle, and mySQL databases, and can also be used to read CSV-text databases and even Excel.  In this talk, I will cover the topics of how to configure and specify the data source, the rudimentary basics of using SQL, the use of Analytica's [[DbQuery]], [[DbWrite]], [[DbLabels]] and [[DbTable]] functions.&lt;br /&gt;
&lt;br /&gt;
''Note: Use of the features demonstrated in this webinar require the Analytica Enterprise or Optimizer edition, or the Analytica Power Player.  They are available in ADE.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You can grab the model created during this webinar from here: [[media:Querying an ODBC relational database.ANA|Querying an ODBC relational database.ana]].  A recording of this webinar can be viewed at [http://AnalyticaOnline.com/WebinarArchive/2008-02-07-Using-ODBC-Queries.wmv Using-ODBC-Queries.wmv].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Calling External Applications ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Date and Time:&amp;lt;/b&amp;gt; Thursday, Oct 18, 2007 at 10:00 - 11:00am Pacific Daylight Time &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Presenter:&amp;lt;/b&amp;gt; Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Abstract&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
You can watch a recording of this webinar at: [http://AnalyticaOnline.com/WebinarArchive/2007-10-18-Calling-External-Applications.wmv Calling-External-Applications.wmv] (Requires Windows Media Player)&lt;br /&gt;
&lt;br /&gt;
Files created or used during this webinar can be downloaded:&lt;br /&gt;
* [[media:Regular Expression Matching.ANA|Regular Expression Matching.ana]]&lt;br /&gt;
* [[media:RegExp.vbs|RegExp.vbs]]&lt;br /&gt;
* [[media:Read Historical Stock Data.ana|Read Historical Stock Data.ana]]&lt;br /&gt;
* For plotting to gnuplot, these gnuplot command files were used.  (Note: You may have to adjust some file paths within these files, and within the model): [[media:Gnuplot-candlesticks.dat|Gnuplot-candlesticks.dat]], [[media:Gnuplot-3dsurface.dat|Gnuplot-3dsurface.dat]]&lt;br /&gt;
* [[media:ReadURL.exe|ReadURL.exe]] (for C++/CLR source code, see [[Retrieving Content From the Web]])&lt;br /&gt;
&lt;br /&gt;
The example of retrieving stock data from Yahoo Finance is also detailed in an article here: [[Retrieving Content From the Web]]&lt;br /&gt;
&lt;br /&gt;
=== New Functions for Reading Directly from an Excel File ===&lt;br /&gt;
&lt;br /&gt;
'''Date and Time:''' Thursday, 24 April 2008 10:00 Pacific Daylight Time&lt;br /&gt;
&lt;br /&gt;
'''Presenter:''' Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
'''Abstract'''&lt;br /&gt;
&lt;br /&gt;
'''(Feature covered requires Analytica Enterprise or better)'''&lt;br /&gt;
&lt;br /&gt;
Hidden within the new release of Analytica 4.1 are three new functions for reading values directly from Excel spreadsheets: [[OpenExcelFile]], [[WorksheetCell]], [[WorksheetRange]].  These provide an alternative to OLE linking and ODBC for reading data from spreadsheets, which may be more convenient, flexible and reliable in many situations.  We have not yet exposed these functions on the Definitions menu or in the Users Guide in release 4.1, since they are still in an experimental stage.  I would like know that they have been &amp;quot;beta-tested&amp;quot; in a variety of scenarios before we fully expose them (also, the symmetric functions for writing don't exist yet).  In this webinar, I will introduce and demonstrate these functions, after which you can start using them with your own problems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The model created during this talk is here: [[Media:Functions for Reading Excel Worksheets.ana|Image:Functions for Reading Excel Worksheets.ana]].  It read from the example that comes with Office 2003, to which we added a few range names during the talk, resulting in [[media:SOLVSAMP.XLS|SolvSamp.xls]].  Place the excel file in the same directory as the model.  A recording of this webinar can be viewed at [http://AnalyticaOnline.com/WebinarArchive/2008-04-24-Reading-From-Excel.wmv Reading-From-Excel.wmv].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Using the Analytica Decision Engine (ADE) from ASP.NET ===&lt;br /&gt;
&lt;br /&gt;
'''Date and Time:''' Thursday, April 10, 2008 10:00am Pacific Daylight Time&lt;br /&gt;
&lt;br /&gt;
'''Presenter:''' Fred Brunton, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
The Analytica Decision Engine (ADE) allows you to utilize a model developed in Analytica as a computational back-end engine from a custom application.  In this webinar, we'll create a simple active web server application using ASP.NET that sends inputs submitted by a user to ADE, and displays results computed by ADE on a custom web page.  In doing this, you will get a flavor how ADE works and how you program with it.  If you've never created an active server page, you may enjoy seeing how that is done as well.  This introductory session is oriented more towards people who do not have experience using ADE, so that you can learn a bit more about what ADE is and where it is appropriate by way of example.&lt;br /&gt;
&lt;br /&gt;
You can watch a recording of this webinar at [http://AnalyticaOnline.com/WebinarArchive/2008-04-10-ADE-from-ASPNET.wmv ASP-from-ASPNET.wmv].  To download the program files that were created during this webinar [[Media:WebSite6.rar| Click here]].&lt;br /&gt;
&lt;br /&gt;
= Optimization =&lt;br /&gt;
&lt;br /&gt;
=== Introduction to Linear and Quadratic Programming ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Date and Time:&amp;lt;/b&amp;gt; Thursday, Oct 11, 2007 at 10:00 - 11:00am Pacific Daylight Time &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Presenter:&amp;lt;/b&amp;gt; Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Abstract&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
The model file created during this webinar is here: [[media:LP QP User Group.ANA|LP QP Optimization.ana]]&lt;br /&gt;
&lt;br /&gt;
=== Non-Linear Optimization ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Date and Time:&amp;lt;/b&amp;gt; Thursday, Oct 4, 2007 at 10:00 - 11:00am Pacific Daylight Time &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Presenter:&amp;lt;/b&amp;gt; Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Abstract&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
You can watch a recording of this session here: [http://AnalyticaOnline.com/WebinarArchive/2007-10-04-Nonlinear-Optimization.wmv Nonlinear-Optimization.wmv]&lt;br /&gt;
&lt;br /&gt;
During the talk, these two models were created:&lt;br /&gt;
* [[media:Simple Nonlinear optimization.ANA|Simple Nonlinear Optimization.ana]]&lt;br /&gt;
* [[media:Nonlinear asset allocation.ANA|Nonlinear asset allocation.ana]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Vertical Applications and Case Studies =&lt;br /&gt;
&lt;br /&gt;
=== Automated Monitoring and Failure Detection ===&lt;br /&gt;
&lt;br /&gt;
'''Date and Time:''' 5 Feb 2009, 10:00am Pacific Standard Time&lt;br /&gt;
&lt;br /&gt;
'''Presenter:''' Brian Parsonnet, ICE Energy&lt;br /&gt;
&lt;br /&gt;
'''Abstract'''&lt;br /&gt;
&lt;br /&gt;
In many complex physical systems, the automatic and proactive detection of system failures can be highly beneficial.  Often dozens of sensor readings are collected over time, and a computer analyzes these to detect when system behavior is deviating from normal. Sounding an alert can then facilitate early intervention, perhaps catching a component that is just starting to go bad.&lt;br /&gt;
&lt;br /&gt;
In a complex physical system with multiple operating modes and placed in a changing environment, anomaly detection is a very difficult problem.  Simple sensor thresholds (and other related approaches) lack context-dependence, often making these simple approaches insufficient for the task.  What is normal for any given sensor depends on the system's operating mode, time of day, activities in progress, and environmental factors.  Simple thresholds that don't take such context into account either end up being so loose that they miss legitimate anomalies, or so tight that too many excess alarms are generated during normal conditions.&lt;br /&gt;
&lt;br /&gt;
In this webinar, I'll show an expert system I've developed in Analytica that detects anomalies and developing failures in our deployed cooling system products. Data from dozens of sensors is collected in 5 minute intervals and the system transitions through multiple operating modes, daily and seasonal environmental fluctuations, and system demands.  The Analytica model provides a framework in which complex rules that take multiple factors into account can be expressed, and used to estimate acceptable upper and lower operating ranges that are dynamically adjusted across each moment in time, taking into account whatever context is available.  The Analytica environment presents a very readable and understandable language for expressing monitoring rules, and the overall transparency enables us to spot where other rules are needed and what they need to be.&lt;br /&gt;
&lt;br /&gt;
[[Image:AutoMonitoring.png|frame|none|Graph illustrates how upper and lower bounds on operating range is adjusted to context.  Actual sensor data is green, the red and blue lines show the computed bounds on acceptable operating range at each point in time.]]&lt;br /&gt;
&lt;br /&gt;
A recording of this webinar can be watched at [http://AnalyticaOnline.com/WebinarArchive/2009-02-05-Failure-detection.wmv Failure-Detection.wmv].&lt;br /&gt;
&lt;br /&gt;
=== Data Center Capacity Planning ===&lt;br /&gt;
&lt;br /&gt;
''Please note that this presentation will be on Wednesday rather than Thursday this week.''&lt;br /&gt;
&lt;br /&gt;
'''Date and Time:'''  Wednesday, October 21, 2008 10:00am Pacific Daylight Time&lt;br /&gt;
&lt;br /&gt;
'''Presenter:''' Max Henrion, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
'''Abstract'''&lt;br /&gt;
&lt;br /&gt;
Data center energy demands are on the rise, creating serious financial as well as infrastructural challenges for data center operators. In 2006, data centers were responsible for a costly 1.5 percent of total U.S. electricity consumption, and national energy consumption by data centers is expected to nearly double by 2011. For data center operators, this means that many data centers are reaching the limits of power capacity for which they were originally designed. In fact, Gartner predicts that 50 percent of data centers will discover they have insufficient power and cooling capacity in 2008.&lt;br /&gt;
&lt;br /&gt;
This week's presentation will provide an overview of [http://www.lumina.com/ADCAPT/Analytica%20Data%20Center%20Capacity%20Planning%20Tool%20Overview.pdf ADCAPT -- the Analytica Data Center Capacity Planning Tool].  For this webinar, the User Group will be joining a presentation that is also being given outside of the Analytica User Group, but I (Lonnie) think is also of interest to the User Group community in that it shows of an example of a re-usable Analytica model, containing several very interesting and novel techniques, applied to a very interesting application area.&lt;br /&gt;
&lt;br /&gt;
Due to technical difficulties, this webinar was not recorded.&lt;br /&gt;
&lt;br /&gt;
=== Modeling the Precision Strike Process ===&lt;br /&gt;
&lt;br /&gt;
'''Date and Time:''' Thursday, October 16, 2008, 10:00am Pacific Daylight Time&lt;br /&gt;
&lt;br /&gt;
'''Presenter:''' Henry Neimeier, MITRE&lt;br /&gt;
&lt;br /&gt;
'''Abstract'''&lt;br /&gt;
&lt;br /&gt;
We describe a new paradigm for modeling, and apply it to a simple view of the precision strike attack process against mobile targets.  The new modeling paradigm employs analytic approximation techniques that allow rapid model development and execution.  These also provide a simple dynamic analytic risk evaluation capability for the first time. The beta distribution is used to summarize a broad range of target dwell and execution time scenarios in compact form.  The data processing and command and control processes are modeled as analytic queues.&lt;br /&gt;
&lt;br /&gt;
You can watch a recording of this webinar at: [http://AnalyticaOnline.com/WebinarArchive/2008-10-16-Precision-Strike-Process.wmv Precision-Strike-Process.wmv].  Several related papers and materials are also available, including: &lt;br /&gt;
* [[media:MILCOM96.pdf|A New Paradigm For Modeling The Precision Strike Process (U)]] by H. Neimeier from MILCOM96&lt;br /&gt;
* [[media:Milcom96.ana|Milcom96.ana]] -- the model from the talk and above paper.&lt;br /&gt;
* [[media:PhalanxMar.pdf|Analytic Uncertainty Modeling Versus Discrete Event Simulation]] by H. Neimeier, PHALANX March 1996.&lt;br /&gt;
* [[media:AnalQueNet.pdf|Analytica Queuing Networks]] by H. Neimeier, Proc. 12th Int'l Conf. Systems Dynamics Soc. 1994.&lt;br /&gt;
* [[media:Kuskey CAPE MTR-11.pdf|The Architecture of CAPE Models]] by K.P. Kuskey and S.K. Parker, MITRE Tech. Report.&lt;br /&gt;
* [[media:Cmac2pap_2_.pdf|Analytical Modeling in Support of C4ISR Mission Assessment (CMA)]] by F.R. Richards, H.A. Neimeier, W.L. Hamm, and D.L. Alexander, 3rd Int'l Symp. on Command and Control Research and Technology, 1997.&lt;br /&gt;
* [[media:INCOSE96.pdf|Analyzing Processes with HANQ]] by H. Neimeier and C. McGowan, MITRE, from INCOSE96.&lt;br /&gt;
* Functions for drawing ''radar plots'': [[media:Radarplt.ANA|Radarplt.ana]]&lt;br /&gt;
* Power point slides: [[media:Cape.ppt|Cape.ppt]], [[media:PGMrisk.ppt|PGMrisk.ppt]], and [[media:JDEMweb.ppt|JDEMweb.ppt]]&lt;br /&gt;
&lt;br /&gt;
=== Modeling Utility Tariffs in Analytica ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Presenter:&amp;lt;/b&amp;gt; Brian Parsonnet, Ice Energy&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Date and Time:&amp;lt;/b&amp;gt; Thursday, Nov 8, 2007 at 10:00 - 11:00am Pacific Standard Time&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
You can watch a recording of this webinar at: [http://AnalyticaOnline.com/WebinarArchive/2007-11-08-Tariff-Modeling.wmv 2007-11-08-Tariff-Modeling] (Requires Windows Media Player)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Modeling Energy Efficiency in Large Data Centers ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Date and Time&amp;lt;/b&amp;gt;Thursday, Oct 25, 2007 at 10:00 - 11:00am Pacific Daylight Time &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Presenter:&amp;lt;/b&amp;gt;Surya Swamy, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Abstract&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
You can watch a recording of this presentation at: [http://AnalyticaOnline.com/WebinarArchive/2007-10-25-Data-Center-Model.wmv Data-Center-Model.wmv] (Requires Windows Media Player)&lt;br /&gt;
&lt;br /&gt;
= Graphing =&lt;br /&gt;
&lt;br /&gt;
=== Creating Scatter Plots ===&lt;br /&gt;
&lt;br /&gt;
'''Date and Time:''' Thursday, May 15, 2008 at 10:00 - 11:00am Pacific Daylight &lt;br /&gt;
Time&lt;br /&gt;
&lt;br /&gt;
'''Date and Time:''' Thursday, Aug 23, 2007 at 10:00 - 11:00am Pacific Daylight &lt;br /&gt;
Time&lt;br /&gt;
&lt;br /&gt;
'''Presenter:''' Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
'''Abstract'''&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
A recording of this webinar can be viewed at [http://AnalyticaOnline.com/WebinarArchive/2008-05-15-Scatter-Plots.wmv Scatter-Plots.wmv].&lt;br /&gt;
&lt;br /&gt;
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:UG_Webinar_Scatter_Plots.ana|Scatter-Plots.ana]] (during the Aug 23 presentation, this was the final model: [[media:Chemical elements2.ANA|Chemical elements2.ana]]).&lt;br /&gt;
&lt;br /&gt;
=== Graph Style Templates  ===&lt;br /&gt;
&lt;br /&gt;
''' Date and Time:''' Thursday, February 28, 2008, 10:00 - 11:00 Pacific Standard Time&lt;br /&gt;
&lt;br /&gt;
'''Presenter:''' Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
'''Abstract'''&lt;br /&gt;
&lt;br /&gt;
Graph style templates provide a convenient and versitile way to bundle graph setup options so that they can be reused when viewing other result graphs.  For example, if you've discovered a set of colors and fonts and a layout that creates the perfect pizzazz for your results, you can bundle that into a template where you can quickly select it for any graph.   In this talk, I'll introduce how templates can be used and how you can create and re-use your own.  I'll show the basics of using existing templates, previewing what templates will look like, and applying a given template to a single result or to your entire model.  We'll also see how to create your own templates, and in the process I'll discuss what settings can be controlled from within a template.  I'll discuss how graph setup options are a combination of global settings, template settings, and graph-specific overrides.   I'll show how to place templates into libraries (thus allowing you to have template libraries that can be readily re-used in different models), and even show how to control a few settings using templates that aren't selectable from the Graph Setup UI.  I'll also touch on how different graph setting are associated with different aspects of a graph, ultimately determining how the graph adapts to changes in uncertainty view or pivots.&lt;br /&gt;
&lt;br /&gt;
The model created during this webinar is here: [[media:Graph style templates.ana|Graph style templates.ana]].&lt;br /&gt;
You can watch a recording of the webinar here: [http://AnalyticaOnline.com/WebinarArchive/2008-02-28-Graph-Style-Templates.wmv Graph-Style-Templates.wmv].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Scripting = &lt;br /&gt;
&lt;br /&gt;
=== Button Scripting ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Date and Time:&amp;lt;/b&amp;gt; Thursday, Sept. 6, 2007 at 10:00 - 11:00am Pacific Daylight Time &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Presenter:&amp;lt;/b&amp;gt; Max Henrion, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Abstract&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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).  The model files and libraries used during the webinar are in [[media:Ana_tech_webinar_on_scripting.zip|Ana_tech_webinar_on_scripting.zip]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Analytica User Community =&lt;br /&gt;
&lt;br /&gt;
=== The Analytica Wiki, and How to Contribute ===&lt;br /&gt;
&lt;br /&gt;
'''Date and Time:''' (tentative) Thursday, October 30, 2008, Pacific Daylight Time&lt;br /&gt;
&lt;br /&gt;
'''Presenter:''' Lonnie Chrisman, Lumina Decision Systems&lt;br /&gt;
&lt;br /&gt;
'''Abstract'''&lt;br /&gt;
&lt;br /&gt;
The Analytica Wiki is a central repository of resources for active Analytica users.  What's more, you -- as an active Analytica user -- can contribute to it.  As an Analytica community, we have a lot to learn from each other, and the Analytica Wiki provides one very nice forum for doing so.  You can contribute example models and libraries, hints and tricks, and descriptions of new techniques.  You can fix errors in the Wiki documentation if you spot them, or add to the information that is there when you find subtleties that are not fully described.  If you spend a lot of time debugging a problem, after solving it you could document the issue and how it was solved for your own benefit in the future, as well as for others in the user community who may encounter the same problem.  When you publish a relevant paper, I hope you will add it to the page listing publications that utilize Analytica models.&lt;br /&gt;
&lt;br /&gt;
I will provide a quick tour of the Analytica Wiki as it exists today.  I'll then provide a tutorial on contributing to the Wiki -- e.g., the basics of how to edit or add content.  The [http://Wikipedia.org Wikipedia] has had tremendous success with this community content contribution model, and I hope that after this introduction many of you will feel more comfortable contributing to the Wiki as you make use of it.&lt;br /&gt;
&lt;br /&gt;
Due to a problem with the audio on the recording, the recording of this webinar is not available.&lt;/div&gt;</summary>
		<author><name>Jgoorden</name></author>
	</entry>
	<entry>
		<id>https://docs.analytica.com/index.php?title=Typescript&amp;diff=7875</id>
		<title>Typescript</title>
		<link rel="alternate" type="text/html" href="https://docs.analytica.com/index.php?title=Typescript&amp;diff=7875"/>
		<updated>2008-02-28T19:47:03Z</updated>

		<summary type="html">&lt;p&gt;Jgoorden: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''''Typescript''''' is a variant of the Analytica modeling language that is used in Button scripts and the Typescript window. It offers some commands and supports some syntax not part of the standard Analytica modeling language. &lt;br /&gt;
&lt;br /&gt;
'''Button scripts''' appear in the Script Attribute of Buttons. Clicking on a Button executes its Script.  &lt;br /&gt;
&lt;br /&gt;
The '''Typescript window''' lets you interact with Analytica by typing commands, like the '''CMD''' in Windows or a Unix shell script. You open the Typescript window by pressing ''control-'' (control and single quote) or F12 (Function Key 12). When you type a command into the Typescript, Analytica executes it as soon as you type return. It prints the results as text in the same window.  &lt;br /&gt;
&lt;br /&gt;
You can execute Typescript commands within any Analytica expression using the function EvaluateScript(t). Its parameter t may be any typescript command.&lt;/div&gt;</summary>
		<author><name>Jgoorden</name></author>
	</entry>
	<entry>
		<id>https://docs.analytica.com/index.php?title=Analytica_4.0_beta_Release_Notes&amp;diff=4289</id>
		<title>Analytica 4.0 beta Release Notes</title>
		<link rel="alternate" type="text/html" href="https://docs.analytica.com/index.php?title=Analytica_4.0_beta_Release_Notes&amp;diff=4289"/>
		<updated>2007-04-26T11:36:55Z</updated>

		<summary type="html">&lt;p&gt;Jgoorden: /* General User-Interface */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(Back to [[Beta Tester Page]])&lt;br /&gt;
&lt;br /&gt;
The following Release Notes apply to '''Build 4.0.0.40'''.&lt;br /&gt;
&lt;br /&gt;
= Installation Notes =&lt;br /&gt;
&lt;br /&gt;
* You can install Analytica 4.0 beta while retaining an existing Analytica 3.1.  Both can co-exist.  After installing 4.0, the .ana file extension and OLE linking will use Analytica 4.0. So, a double-click on a model will run it in 4.0. If you want to run a model with 3.1, start up Analytica 3.1, and use the '''Open Model..''' option from the '''File''' menu to select the model.&lt;br /&gt;
&lt;br /&gt;
* After installing 4.0, if you uninstall Analytica 3.0 or 3.1 it will wipe out the 4.0 registry tree.  So, you will need to re-run the 4.0 installer.&lt;br /&gt;
&lt;br /&gt;
= Using Models from Analytica 3.1 =&lt;br /&gt;
&lt;br /&gt;
Most models created in Analyica 3.1 should load and evaluate fine in 4.0.  We hope beta testers will check that 4.0 works and gives the same results as 3.1 (unless there is a good reason why they should be different).  There are two areas where you should expect results to be different:&lt;br /&gt;
&lt;br /&gt;
* Graphing: Some '''Graph Setup''' settings will not transfer to 4.0, because 4.0 offers different (and much richer) graphing options.  For example, settings for axis ranges in 4.0 may attach to the Index rather than the graph.  So, expect to do some tweaking of graphs -- and to enjoy the newoptions.&lt;br /&gt;
&lt;br /&gt;
* Multiplication of 0*NaN and 0*INF: Analytica 4.0 supports the [[IEEE 754 Binary Floating Point Arithmetic]] standard, so that 0*NaN or 0*INF return NaN.  In 3.1, the result was zero.  If your model took advantage of the old behavior to zero out NaNs or INFs, you may find many NaNs or Nulls in downstream results that were not there in 3.1.  If you check '''Show result warnings''' in the '''Preference''' dialog, it will give a warning if your model relies on the old behavior, and help pinpoint where this occurrs.&lt;br /&gt;
&lt;br /&gt;
See [[Changes in 4.0 that could impact 3.x models]] for a more comprehensive list.&lt;br /&gt;
&lt;br /&gt;
= Not Working =&lt;br /&gt;
&lt;br /&gt;
* Printing and Print Preview are not working well.  We advise not printing for now, and we do not need you to report bugs related to printing or previewing at this time. &lt;br /&gt;
&lt;br /&gt;
* There may be some problems saving models in XML format, especially related to system variable settings.  For important stuff, it is safest to stick with the default Analytica file format for now.&lt;br /&gt;
&lt;br /&gt;
* Crash-recovery does not correctly recover &amp;quot;Add Linked Module&amp;quot; actions.  Some problems after &amp;quot;Add Module&amp;quot;.  OLE links are not re-established.  In the later two cases, saving the model after crash recovery, then reloading should fix.  It is best to save after adding module or adding library, rather than relying on crash recovery.&lt;br /&gt;
&lt;br /&gt;
= Changes in 4.0.0.40 =&lt;br /&gt;
&lt;br /&gt;
This section is in-progress.  Build 4.0.0.40 is currently undergoing internal QA testing, and has not yet been released to beta testers.  Refer to the links at the bottom for notes on previously released beta builds.&lt;br /&gt;
&lt;br /&gt;
Various minor bug fixes are not listed here.&lt;br /&gt;
&lt;br /&gt;
= General User-Interface =&lt;br /&gt;
&lt;br /&gt;
* The Domain attribute is not shown on the object window by default.  If you want it to show, check it in the Object-&amp;gt;Attributes... dialog.&lt;br /&gt;
&lt;br /&gt;
* Standard attributes should now always show in the attribute panel dropdown at the bottom of a diagram, regardless of whether they are checked in the Attributes.. dialog.  As before, User-defined attributes are there only if checked in the attributes dialog.&lt;br /&gt;
&lt;br /&gt;
* A couple menu items have been renamed.  &lt;br /&gt;
** Window-&amp;gt;Tile Horizontally is now &amp;quot;Tile Top to Bottom&amp;quot;&lt;br /&gt;
** Window-&amp;gt;Tile Vertically is now &amp;quot;Tile Left to Right&amp;quot;&lt;br /&gt;
** Diagram-&amp;gt;Align-&amp;gt;Horiz. Centers is now &amp;quot;Centers Left and Right&amp;quot;&lt;br /&gt;
** Diagram-&amp;gt;Align-&amp;gt;Vert. Centers is now &amp;quot;Centers Up and Down&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Some new shortcut keys have been introduced.&lt;br /&gt;
** Function keys, F2-F9, correspond to the toolbar buttons (left-to-right).  e.g., F2=parent diagram, F3=outliner, .., F9=arrow edit mode.  F10 remains a key to access the main menu.  F11 toggles between edit/arrow modes (formerly F2).  And F12 or CTRL F12 provides access to the typescript window (same as CTRL-', but the latter is not available on some non-English keyboards).&lt;br /&gt;
&lt;br /&gt;
* Find... will find exact matches first.  For example, when searching for a title, if you have a node titled &amp;quot;Revenue&amp;quot; and another titled &amp;quot;Net Revenue&amp;quot;, a title search on Revenue will find both (as before), but will find the exact match first.  As before, CTRL-G finds the remaining matches.&lt;br /&gt;
&lt;br /&gt;
* When you enter expressions into the text boxes in the object finder for an operator, the function finder is now aware of operator precedence and will insert parentheses when necessary.  For example, if you enter &amp;quot;1+2&amp;quot; and &amp;quot;3+4&amp;quot; into the boxes for the * operator, the expression (1+2)*(3+4) is pasted into the definition.&lt;br /&gt;
&lt;br /&gt;
* Some layout changes were made to the Number Format dialog.&lt;br /&gt;
&lt;br /&gt;
= Diagram =&lt;br /&gt;
&lt;br /&gt;
* New alignment option: Align-&amp;gt;Left and Right Edges&lt;br /&gt;
* Make Same Size-&amp;gt;Width (or Both), when applied to input nodes, now resizes the input control, as well as the node boundaries.&lt;br /&gt;
* Align-&amp;gt;Horiz. Center (Centers Left to Right), when applied to an input/output control, now uses the left edge of the control as the point of alignment.  &lt;br /&gt;
* Make Same Size, when applied to an input/output control, always leaves the left edge position fixed (rather than leaving the center fixed as with variable nodes).&lt;br /&gt;
&lt;br /&gt;
= Tables =&lt;br /&gt;
&lt;br /&gt;
* Choice pulldowns in edit tables have been shortened and widened for asthetic reasons, to reduce unnecessary row height and to fill out the cell.&lt;br /&gt;
&lt;br /&gt;
= Graphing =&lt;br /&gt;
&lt;br /&gt;
* Two pre-defined graph templates have been added.  Beta testers should not rely on these, they are subject to change.  But we do hope to assemble several pre-defined templates before release, so these have been included so we can work out the kink with pre-defined templates.&lt;br /&gt;
&lt;br /&gt;
* When there is more than one key on a graph, the key background (when outlined or filled) is now a single rectangular area that covers all keys.  Previously each key was outlined separately.&lt;br /&gt;
&lt;br /&gt;
* Pivot controls are positioned in two columns, if the window is sufficiently wide to allow this without overlap.  They are also lined up more systematically.&lt;br /&gt;
&lt;br /&gt;
= Expressions/Engine/Functions =&lt;br /&gt;
&lt;br /&gt;
* The maximum number of user-defined attributes (UDAs) is now more than 100.  Previously only 5 UDAs could be defined.  However, the limitation of showing only the first 5 on the object window remains.  If you need to view/change UDA values for the 6th or greater UDA, use the attribute pane or typescript. &lt;br /&gt;
&lt;br /&gt;
* Analytica 4.0 has been moving away from expressions that return the special value Undefined.  Result with no result in 4.0 will all return Null consistently.  A few additional updates towards this goal have occurred in this build.  If-Then without Else, MdTable's default for missing values.&lt;br /&gt;
&lt;br /&gt;
* We are moving away from the term &amp;quot;[[VarTerm]]&amp;quot; for [[Meta-Inference]], in favor of the term Handle.  Function [[Handle]]( ) was introduced to replace Function VarTerm (which remains, but is not exposed).  Also, [[HandleFromIdentifier]] now replaces GetVariableByName (the latter is still there, but again, not exposed).&lt;br /&gt;
&lt;br /&gt;
* The constraintsOnly parameter has been removed from LpFindIIS and LpWriteIIS.  This had been added in 4.0, but we decided it was unnecessary.&lt;br /&gt;
&lt;br /&gt;
* The [[CumDist]] distribution function was extended to support named parameters, to be usable within Random, and to support the Over parameter.  In addition, a new optional parameter, smooth, has been added, which controls the interpolation method.&lt;br /&gt;
&lt;br /&gt;
* [[ProbDist]] was extended to support named parameters, to be usable with Random, and to support the Over parameter.&lt;br /&gt;
&lt;br /&gt;
* There is now an option to always show the file dialog when calling [[ReadTextFile]] and [[WriteTextFile]].&lt;br /&gt;
&lt;br /&gt;
= Example Models =&lt;br /&gt;
&lt;br /&gt;
* New example added: &amp;quot;Disease Establishment.ana&amp;quot;.  (not related to new 4.0 features)&lt;br /&gt;
&lt;br /&gt;
= Previous Beta Builds =&lt;br /&gt;
&lt;br /&gt;
* [[Analytica 4.0 beta Release Notes/4.0.0.39]]&lt;br /&gt;
* [[Analytica 4.0 beta Release Notes/4.0.0.38]]&lt;br /&gt;
* [[Analytica 4.0 beta Release Notes/4.0.0.37]]&lt;br /&gt;
* [[Analytica 4.0 beta Release Notes/4.0.0.34]]&lt;/div&gt;</summary>
		<author><name>Jgoorden</name></author>
	</entry>
</feed>