Release Notes NNMODEL Version 1.40

What is NNMODEL

NNMODEL is a cost effective way of modeling process data, statistical 
experiments, or historical databases. It can find from simple linear to 
complex non-linear relationships in empirical data. It is easy to use 
because it automatically constructs mathematical models directly from 
your data. It enables you to create prototype models quickly and 
inexpensively. 

NNMODEL is designed to help you get maximum benefit from powerful neural 
network modeling techniques without requiring you to learn a complicated 
software package or statistical language. Thus, you can learn how to use 
NNMODEL and start solving real world problems within a few hours. 

NNMODEL currently contains program modules to:

Design a statistical experiment - NNMODEL allows you to create a data 
matrix based on a statistically designed experiment. A designed data 
matrix will allow you to squeeze the most information from a finite 
number of observations. The types of designs available are: two 
level, three level, simplex, star-simplex, central composite and 
multilevel. 

Keyboard enter, file or clipboard import the data - There are three 
methods for entering data into NNMODEL: 1) Enter the data directly 
using the built in data matrix editor, 2) import an ASCII tab or 
blank delimited file or 3) paste data from the Windows clipboard.

Run simple statistics and correlation reports - You can generate a 
report that contains the basic statistics, such as, number of 
observations, maximum, minimum, average, standard deviation and sum 
of squares. Or generate a correlation report contains the results 
Pearson Correlation Coefficients, Probability > |R| under Ho and 
Rho:=0 / N.

Graphically analyze the raw data - You can view the data graphically 
using a variety of plotting routines including: trend plot by 
observation, XY scatter, frequency distribution, 3 dimensional 
scatter. Thumbnail views of all the data can be printed for the 
trend, scatter and distribution plots.

Load historical data into a designed experiment matrix - A designed 
data matrix can be created as an empty shell and later loaded by the 
historical data loader. This imposes a designed experiment onto the 
historical data to better insure any resulting models long term 
success. This method also has two side benefits, you get to see how 
much of the design space is really represented in the data and it 
generates a smaller training matrix so the training step proceeds 
faster.

Advice on missing observations - After historical data has been 
loaded into a designed experiment the Missing Advisor can be used to 
suggest trials or treatments to run that would balance the design 
space. Thus, extracting more information from the data.

Add equations or calculated columns to the data matrix - Columns of 
data can be created by defining an equation based on the other 
columns. A simple equation parser is built into the data matrix 
editor. Rows of data can be excluded from reports, graphs or models 
by using an exclude equation.

Model the data using neural networks - The whole purpose of NNMODEL 
is to build neural models. A model can be created and trained in just 
a few minutes.

Interrogate the model interactively - After a model has been trained 
you can immediately ask the model to predict using combination of 
input levels not seen in the data.

Analyze the models performance statistically - A models performance 
can be evaluated using standard R square statistics.

Display the models predictions graphically including 3D and contour 
plots - A number of graphs are available for validating a model 
including: measured vs. predicted, measured overlaid on predicted, 
residual plots, trends, scatter plots, frequency distributions, XY 
plots, 3D surface maps and contour plots.

Test the model on additional external data sets - a test matrix can 
be loaded from data matrices not originally used to generate the 
model. This type of testing may be the only way of validating models 
generated from undesigned data.

Perform sensitivity analysis - This analysis can show you how 
sensitive an output variable is to changes made to the inputs. The 
results are ranked in order with the variables with the most effect 
at the top of the list.

Export the neural model as a transportable ASCII file - Trained 
models can be exported from NNMODEL to any other hardware platform. 
Neural models can be included with user software by linking with the 
NNLIB library.

A data mining utility that allows the user to automatically set up a 
historical data matrix, identify variables as factors, responses or 
unknown, use full dataset for modeling or select records from the 
database based on goodness of fit to a multi-level design, pick the 
best factors for inclusion into the model based on model performance, 
include or exclude factors for any model based on prior knowledge, 
report results of search. (NOTE: Not all functions are working in 
version 1.27) To use select "Data / Best Model Search".

Train neural network from very large data matrix. The version allows 
an external binary file to be used as the training matrix. To use 
build the binary file using the "Import Raw File" with the "Create 
Binary File" radio button checked.  The file can then be used during 
training by checking the "Model / Use Ext Binary File" menu item.

DDE Interface - Allows the user to call pre-trained models from 
within any program that allows Dynamic Data Exchange. For example, a 
user could write an Excel macro to load a BEP model, set the inputs 
from the spread sheet, interrogate the models prediction(s) and 
place them back in the spread sheet.

Interrogate External Data Matrices - Data matrices (other than the 
training and test matrices) can now be used in the "Model" / 
"Interrogate Model" command.  An interrogation DM can be used if it 
contains columns for the input and output variables.  The input 
variables are loaded into the model and the model is executed, then 
the models predictions are written back into the DM output 
variables.

Calculated Columns in Interrogate Model - Neural inputs that were 
defined as "Calculated Columns" and based on equations in the 
original data matrix can now be automatically calculated and updated. 
Previously, the user had to manually calculate these inputs before 
the model could predict the outputs.  Caveat - there are four 
functions (RUNAVE, LAG, LEAD and DIFLAG) that cannot be automatically 
calculated. Models incorporating these functions cannot be 
interrogated using the "Interrogate Model" dialog.


NEW FEATURES OF NNMODEL VERSION 1.40 (FEB 97)

New Append Data Matrix - this function was added to facilitate 
appending new data records to an existing data matrix. If you find 
that you are getting additional data via some electronic source and 
it needs to be appended routinely to a 'master' matrix and it's a 
pain to get the variable labels into your raw ASCII file then this 
function can make life a little easier. To append this data, first 
import it into a new data matrix, DO NOT import or edit the variable 
labels (use the default labels) then open the master data matrix and 
select 'Append Data Matrix' command. If the two matrices have exactly 
the same number of columns then the data is quickly added to the end 
of the master data matrix.

New Best Model Search Dialog - there has been a new button added to 
the search dialog to allow you to edit the neural parameters without 
exiting the search routine. The EP Button will invoke the 'Edit 
Parameters' dialog to allow you to make any last minute changes to 
the neural parameters before starting the search.

New Network Option - Circular Back Propagation options have been 
added to the 'Edit Parameters' dialog. What is circular back-prop? 
Basically, we've added another 'Theta-like' input to each neuron. 
These inputs are fed the sum of the squared values of the network 
inputs. CBP can decrease the training time and the network complexity 
when modeling some types of processes. Try these options on the VEL 
example in the TESTSETS sub-directory.

New Network Option - zero hidden layer neurons. This effectively 
removes the hidden layer from the network architecture. If you're 
looking for simple linear relationships this can be very fast, 
especially if you're using the 'Best Model Search' routine for 
discovering unknown relationships in historical data.

New Training Option - keep best model during training. Some times the 
best model of a particular process develops somewhere between the 
first few seconds of training and the maximum epoch allowed. To 
capture this 'best' model can be time consuming and frustrating. 
NNMODEL now has options to keep this intermediate model developed 
during the training session as the final model. How do we measure 
best? NNMODEL allows you to select either the mean square error or R 
square as the measurement. You can also select the source of the 
measurement as being calculated from the training matrix, the test 
matrix or the average of both.

New Training Option - auto save model every 10 minutes during 
training session. If the 'Auto Save' Model menu item is checked then 
the current state of the model is automatically saved every 10 
minutes or every epoch (depending on which is longer).

New Import Function - Replace test matrix. This function allows you 
to completely replace the test matrix. However, the importer will 
reject any records that are outside of the observed range of the 
initial training matrix.

New Import Function - Append training matrix. This function allows 
you to append new data to the existing test matrix. As with the 
previous function, the importer will reject any records that are 
outside of the observed range of the initial training matrix.

New Import Function - Replace training matrix. this function will 
allow you to completely replace the training matrix. The importer 
will reject any records that are outside of the observed range of the 
initial training matrix.

Modified / New Export Functions - Export training or test matrices. 
This function was been re-written so that either the training or the 
test matrices could be written (in ASCII format) to a file 
separately.

New Button - Stop Training. A new tool button has been added to the 
toolbar. The button with the X over the train will now stop the 
current training session

New Button - CG Tweak. A new tool button has been added to the 
toolbar. The button with the 'CG' will run one iteration of the 
conjugate gradient weight optimization routine. This may be useful in 
training time series data to remove the bias that develops during 
back error propagation. 

New Graph Options - added standard deviation lines. There has been 
three option buttons added to the 'Graph Options' dialog that will 
plot either 1, 2 or 3 standard deviation lines on the 'Measured vs. 
Predicted' graph, 'Measured and Predicted' or 'Residuals' graphs.

New Graph Option - added linear regression line to the 'Measured vs. 
Predicted' graph. 


NEW FEATURES OF NNMODEL VERSION 1.30 (NOV 96)

DM - New command "File/Import/Append Test Matrix".  This command lets 
you add more data to your test matrix.

DM - New Command "Data/Fill Missing/Interpolate".  The previous "Fill 
Missing" command filled the missing data with the last valid value.  
With this new command the data can be filled with a linear 
interpolated value.

DM - Enhanced Time Lag Function.  A new parameter has been added to 
the data variable descriptors.  TimeS can be used to specify that 
when building a training matrix this variable should be shifted back 
by the number of rows specified.  For example, if each row represents 
a 10 minute scan then a TimeS of 12 will cause the training matrix 
loaded to include the value 120 minutes in the past from the modeled 
output.  When building neural models the outputs will always be set 
to zero (in this version).

DM - Logging In Best Model Search.  The model search now logs all 
model construction to the file nnmodel.log.  This file is erased when 
NNMODEL is first loaded and usually contains only error conditions.  
The log can be viewed to see the order that inputs were included into 
the best model and various temporary model R squares.

DM - Added Start / Stop functionality to the Best Model Search. This 
allows you to stop a search and modify a parameter without having to 
re-enter the I/O grid.

NN - New Command "Edit/Remove Inputs".  This command allows you to 
remove unnecessary inputs from a neural model.  Many times in data 
mining you will add all inputs from a process and build a model then 
run a sensitivity analysis on those inputs (to eliminate unneeded 
inputs).  Before this command you would have to go back to the 
original data matrix and build a new network.  Now you can just 
remove the unwanted inputs.  Of course you will still have to re-
train the network.

NN - Sensitivity Report Was Re-written.  The sensitivity report was 
completely rewritten.  The sensitivity is calculated by summing the 
changes in the output variables caused by moving the input variables 
by a small amount over the entire training set.  There are three 
variables accumulated during the calculation.  The AbsAve Sensitivity 
variable is the average of the absolute values of the change in the 
output.  This value is then divided by the total amount of change for 
all input variables to normalize the values.  The Ave Sensitivity is 
calculated the same as the AbsAve variable except the absolute values 
are not taken.  If the direction of the change in the output variable 
is always the same then the Ave and AbsAve sensitivities will be 
identical.  The third variable calculated is the peak sensitivity and 
the row in the training matrix that it occurred.

NN - Additional Information In The Model View.  The internal weights 
of the created model are displayed below the standard summary 
information.  In addition, this view can now be copied to clipboard 
for use word processors.

NN - Simplified Training Graph.  When training a model using the 
standard BEP routines (without Automatic Hidden Neuron Addition) the 
training graph will show only the normalized sum square error of the 
training matrix (black) and the test matrix (red).

NN - Additional Training Method.  A conjugate gradient training 
method has been added.  To use this method select "Conjugate 
Gradient" as the "Training Method" in the "Edit/Parameters" dialog 
screen.  CG training may converge faster on large training matrices.

NN - A new button was added to the "Create Neural Model" dialog. The 
button allows you to add variables as both inputs and outputs at the 
same time. This can be used for creating autoassociative networks 
that predict the inputs from themselves. This is the first step in 
creating a sensor validation network.


BUGS FIXED IN VERSION 1.40 (FEB 97)

'Bad Memory Pointer' while running basic statistics report. This is 
caused by a memory overwrite during the formatting of the statistics. 
It is very data dependent and can only be caused when very large 
numbers are present in the data. 

Floating point error loading sparse matrix with a design type of 
Star-Simplex. This is caused by a bug that allows more then the 
needed number of rows to be loaded. The floating point error is 
generated when the grid tries to display data that isn't really 
there.
Correlation report causes floating point error with very large data 
matrices. This bug was discovered when a correlation report was 
generated on a 14,000 rows by 65 columns data matrix. A floating 
point overflow error was generated during the calculation of F 
statistic when F-stat exceeded the dynamic range. The error was data 
dependent and had nothing to do with the size of the matrix, but 
rather the content of the data. The routine that had the bug is used 
in the correlation report and scatter plot routines. 

Create design data matrix failed This bug was introduced in version 
1.303 due to a programming bug. It prevents you creating any type of 
designed matrix.

Min/Max values not copied from data matrix The minimum and maximum 
values were always re-calculated from the data rather than the 
desired min/max values.

Best model search start/stop button After search terminates the 
button still reads stop and then when you click on it it reads start 
but does not start anything. 

Remove Inputs corrupts data matrix. There is a problem with this 
function, where entire columns of data may be corrupted and the 
incorrect input may be removed.  The symptom is a constant Rsq of 0 
for your test matrix.


BUGS FIXED IN VERSION 1.30 (NOV 96)

The 187 Column Bug has finally been fixed.  The problem stemmed from 
a vendor supplied grid library.  This library was replaced in the 
"Import Raw Data" dialog with another vendors grid.  This 
necessitated the adding of yet another DLL file to the project 
directory.  In version 1.30 of NNMODEL the number of columns that can 
be created has been raised to 1024.

Loading large files causes Windows error. There is a bug in the data 
matrix loader that causes an application error while loading files 
with more than 16000 records. 

Export data matrix as ASCII. There is a missing carriage return and 
linefeed after the UNITS line in th raw file. 

Import string causes heap error. The maximum field size for a 
number/string is 20 characters. If this is exceeded a memory overrun 
error is generated.  To fix this problem shorten all fields to less 
than 20 characters. 

Test data records are not appearing in neural model test matrix when 
editing a V into the RT field. To fix this problem press the 
"ReCalc" button on the toolbar before creating the model. 

Thumbnail graphs can only be printed starting at page 1. 

Forgot to include header files for NNLIB. 

Best Model Search - floating point overflow 

Best Model Search - using test matrix rsq no models could be found

Import Test Matrix doesnt load correctly or gives a protection 
error.

Correlation report causes divide by zero error.

A few bugs were found in the NNLIB source code in deallocating memory

Sparse Data Loader - a bug was fixed that caused no data to be loaded 
if any columns were skipped in the data matrix.


NEW FEATURES OF NNCALC VERSION 1.3

NNCalc has been modified to support Circular Back-Propagation. To get 
an updated version of the professional edition contact 
support@neuralnusion.com to get the update e-mailed to you.


NEW FEATURES OF NNCALC VERSION 1.2

Because NNCalc only returns the first output of a neural model (a 
limitation of Excel) a function was needed to get the additional 
model outputs.  NNCalcM returns the predicted values for models that 
have more than one output.  NNCalcM does not evaluate the model 
(thats NNCalcs job).  It simply returns the networks output value.

***********************************************************************

To install NNMODEL from FLOPPIES: 
 
	1) Insert disk 1
	2) From Window's program manager select File / Run and type:
		A:\SETUP.EXE

To install NNMODEL from a ZIP archive: 
 
	1) Copy the archive to a temporary directory and unzip (i.e. C:\TMP)
	2) From Window's program manager select File / Run and type:
		C:\TMP\SETUP.EXE


The SETUP program will install NNMODEL onto your system.

If you have any further questions, problems or program bugs please email 
them to service@neuralfusion.com or visit our home page at

	www.neuralfusion.com

