1 SwingNN User guide 2 Contents SwingNN ........................................................................................................................... 3 How it Works ................................................................................................................... 4 Getting Started................................................................................................................ 5 Main Windows ................................................................................................................. 6 Grid ................................................................................................................................ 7 Grid Names ............................................................................................................ 10 Network ....................................................................................................................... 12 Importance ................................................................................................................. 14 Graph ........................................................................................................................... 15 Toolbars.......................................................................................................................... 17 Main ............................................................................................................................. 18 View ............................................................................................................................. 21 Tools ............................................................................................................................ 22 Dialogs ............................................................................................................................ 23 Details ......................................................................................................................... 24 Forecast ...................................................................................................................... 26 Progressive Forecast .............................................................................................. 28 Discovered Patterns ................................................................................................ 31 Set Function .............................................................................................................. 33 Set Grid Range.......................................................................................................... 35 Support ....................................................................................................................... 36 Special files ............................................................................................................... 37 Save Grid Details.................................................................................................. 39 3 SwingNN SwingNN Introduction Welcome to SwingNN, a powerful and easy to use forecasting application. Using SwingNN you can: 1.Import text, csv, spreadsheet, image or binary files into the Grid. 2.Use many editing and pre-formatting functions on the grid. 3.Set up any of the grid columns for forecasting. 4.Use the fully automated forecasting facilities. New Users should do the Getting Started exercises. Neural Planner Software Ltd SwingNN How it Works Getting Started Main Windows Toolbars Dialogs 4 How it Works How SwingNN forecasts the future. The future can never be forecasted with guaranteed accuracy but by using the SwingNN methods it is possible to achieve good results. The SwingNN grid is produced by importing txt, csv, xls, bmp or binary files. The grid can also be produced manually using the editing facilities. Numeric, text and image columns can be used together in the same grid. Only future numeric values can be forecasted. Text and image inputs will influence the forecasting of the numeric values. A neural network is created from the grid data. Grid input columns are connected to network input nodes, grid output columns are connected to network output nodes and grid serial columns are connected to both network input and output nodes. At least one serial column is needed for forecasting. The neural network is trained using the grid example rows. The risk level is set to zero. After the neural network is trained, the serial input values are forced to swing beyond their limits. The serial output values are forecasted by the neural network. A new neural network is created and trained using the new inputs and forecasted outputs. The new neural network is compared with the original neural network. The inputs are adjusted, another new neural network is created and the risk level is incremented by one. The process continues until a new neural network agrees with the original one about the forecasts or the risk level is too high. The forecasts are added to the grid for you to use. 5 Getting Started The exercises can be started by clicking the Getting Started button on the Tip of the Day or using the menu command Help > Getting Started... 1. Pressure In the first exercise you will forecast a future health problem. The 'Pressure.tvq' sample is a record of a patient's blood pressure taken every day. The systolic and diastolic pressures vary quite significantly and they do not always rise and fall together. The patient needs to know if a problem is likely to occur any time in the near future. The systolic column and diastolic columns are changed to Serial to make the grid ready to allow rows and future values to be added and tested. 'Action > Forecast' opens the 'Forecast' dialog. New rows are generated with the forecasted values. The grid scrolls to show the new rows. The graph of the forecasted systolic values show a future high blood pressure problem. 2. Random This exercise shows that SwingNN can find trends and forecast future values even if the data is random. All the columns are already set to 'Serial' so future values can be forecasted. When forecasting has finished the risk values are indicated. The forecast value may be wrong for any risk. That is to be expected when the initial values are random. SwingNN shows you the risk. 3. Grocer Every day a retail grocer collects his stock from the wholesale market and sets the prices he will charge. SwingNN is used to forecast the prices that he will be charging in the next few days. All the columns are set to 'Input'. The columns for the food prices that are to be forecast to changed to 'Serial'. The 'Forecast' toolbar icon is enabled and is clicked to open the 'Forecast' dialog. 'Values to forecast' is changed to 5 and forecasting started. When forecasting has finished the next days food prices may show some low risk bargains that could be used as sales leaders without any serious impact on the grocers profit. 4. Shares Many applications use neural networks to forecast the price of shares. The forecasts are often less useful than those of stock market experts. This exercise shows that the forecast produced by SwingNN is a downward price trend. The expert forecasted a similar downward trend. 6 Main Windows Main Windows Grid Network Importance Graph 7 Grid The Grid view shows all the Examples arranged in rows and all the Input/Outputs arranged in columns. The first column contains the Example types and names. The first row contains the Input/Output types and names. Everything on the Grid can be edited by moving to the cell containing the value and then pressing the enter key to start the Edit Grid dialog. The cell can be selected either using the arrow keys or the mouse. A single click will select the cell and a double click will start the Edit Grid dialog. A double click on the Example name cell will select the whole row and a double click on the Input/Output name cell will select the whole column. The row or the column can be deselected by pressing the Esc key. Creating a New Grid. A new Grid is created by pressing the new toolbar button or using the File > New menu command. The new Grid will be empty except for a horizontal line, a vertical line and an underline marker that shows the current position in the Grid. New Grid rows and columns are created at the current position. Creating the first Example row and Input/Output column 8 Press return and a prompt will appear that says "Create new Example row?". Answer Yes. Another prompt will appear that says "Create new Input/Output column?". Answer Yes again. You will now see that the Grid has one cell containing "?", a row name containing "T:0" and a column name containing "I:0". The "?" indicates that the cell has no value, the "T:0" indicates that it is a Training Example in row 0 and the "I:0" indicates that is is an Input in column 0. Press return again and an Edit Grid dialog box will appear that allows you to enter the cell value. Using the same dialog you can change the Input/Output column name, mode and type. The dialog can also be used to change the Example row name and type. Creating more Input/Output columns. Move the marker one cell to the right by pressing the right arrow or tab key. Now press the return key and a prompt will appear that says "Create new Input/Output column?". Answer Yes. Press return again and the Edit Grid dialog box will appear. This time the Example row will already contain a name and type. You can set the cell value, the Input/Output name and the type can be set to "I:" for input, "O:" for output, "X:" for exclude or "S:" for serial. The mode can be set to "Real", "Integer", "Bool" "Text" or "Image". Any type of Input/Output column can be inserted into the Grid using the functions on the Insert menu. Creating more Example rows. Move the marker one cell down by pressing the down arrow key. Now press the return key and a prompt will appear that says "Create new Example row?". Answer Yes. Press return again and the Edit Grid dialog box will appear. This time the Input/Output column will already contain a name and type. You can set the cell value, Example name and the type can be set to T: for training, V: for validating, Q: for querying or X: for exclude. Any type of Example row be inserted into the Grid using the functions on the Insert menu. Copying Example rows and Input/Output columns. Double click on the name to select the whole row or column. Cut will remove the selected row or column and place it on the clipboard. Copy will place a copy of the selected row or column on the clipboard. Paste will insert a copy of the clipboard before the currently selected row or column. If the clipboard contains a row then Paste will insert the row into the Grid. If the clipboard contains a column then Paste will insert a column into the Grid. The invisible Grid data, limits and defaulted values, will be regenerated after a Paste column thus any neural network that has already been generated from the Grid will be invalidated. Rows names 9 The grids rows can have any names. If names are not used the rows are numbered. Column names The grid columns can have any names. If names are not used the columns are numbered. Grid cells Grid cells can contain numbers, text or images. The numbers can be integer, real or boolean. Grid Grid Names 10 Grid Names The meaning of the row and column names. Serial Column A serial mode column of Integers. Only serial mode columns are forecasted. Excluded Columns Two excluded columns with real numbers and letters. Excluded columns are not forecasted. Row Names 11 The original four rows with names. Swing Forecasts Four Swing forecasted rows. The rows names show the risk level for each row. If the name is Forecast it means that there is no risk. Progressive Forecasts Progressive forecasts with row names showing the risk and copies of the original row names. As forecasting continues copies of the forecasts are used for further forecasts. Cells The grid cells contain the original and the forecasted values. 12 Network Neural networks are created when they are required for forecasting. Grid input columns are connected to network input nodes, grid output columns are connected to network output nodes and grid serial columns are connected to both network input and output nodes. Input node Input nodes are connected to grid input or serial columns. Output node Output nodes are connected to grid output or serial columns. Hidden node 13 Hidden nodes are connected to input, output or serial nodes. Connections Layers of nodes are fully connected to the adjacent layer. A connection can have a positive or negative weight. The line color shows the polarity and the thickness shows the weight value relative to the greatest weight. 14 Importance The importance of each input is the sum of the connection weights from the input node to the hidden layer. 15 Graph The column values graph. Scaled Values The column values are scaled from 0.0 to 1.0 16 Trend The trend over the whole graph. Value && Average The blue line is the value of every row for the selected column. The red line is the running average of a tenth of the total rows for the selected column. Row Number or Name Rows are numbered or named. The names of the rows can be selected on the right click menu. Real Values The real column values. 17 Toolbars Toolbars Main View Tools 18 Main The main toolbar is for file access, grid editing and forecasting. New New creates an empty Grid. Open Open produces the standard dialog for file navigation and reading. Import Import produces the standard dialog for file selection. The file selected produces an import dialog appropriate to the file type. Save Save produces the standard file selection and save dialog. Print Print the current view. About About displays the application version and registration status. Cut 19 Cuts the selected row or column to the clipboard. Copy Copies the selected row or column to the clipboard. Paste Pastes the clipboard contents to the row or column. Refresh Refreshes the current view. Check Checks that the grid can be used for forecasting. Swing Swing Forecast opens the forecasting dialog to set the serial columns to allow input and output values to swing beyond their limits. Stop Stops forecasting. Pattern Pattern forecasting Progressive Progressive Forecast opens the progressive dialog so that the ranges to use for forecasting can be set. Discover Discover searches for patterns in the grid and then opens the Discovered Patterns dialog to allow patterns to be used. Delete latest Delete Latest deletes the latest copied or forecasted row and cancels the changes to 20 the network used while forecasting. If all forecasted rows are deleted the network is also deleted. Delete copies Deletes all the copied rows. Delete forecasts Deletes all the forecasted rows. 21 View The view toolbar. Information Information about the open file. Grid Grid shows the grid with scroll bars if needed. Network Network shows the latest created neural network. Graph Graph shows the select column values graph. Memory Memory remembers the currently selected column so it can be compared with any other column. Importance Importance shows the importance of each input. Zoom Zoom the current view in or out. 22 Tools Special Files Special Files opens the Special Files dialog Email Email opens the Support dialog. 23 Dialogs Dialogs Details Forecast Progressive Forecast Discovered Patterns Set Function Set Grid Range Support Special files 24 Details The Details dialog. All the details of the SwingNN file. History button 25 Show a list of previous file open and save dates and times. Save button Save the SwingNN file details to a text file. Refresh button Refresh all the information. Continue button Close the information dialog and continue using this SwingNN file. 26 Forecast The Forecast dialog is used to forecast the values of any serial mode columns. Forecast type The two main types of forecast. Only Serial columns can be used to produce forecasts. Swing. Includes the number of rows and forecast period. Pattern. Includes the range of the pattern found. Rows to forecast 27 Enter the maximum number of rows to forecast. Risk Enter the maximum acceptable risk level for the forecasts. SwingNN may go beyond this level as it tries to reduce the risk. Rows to include Check all the row types to include in the forecast. Limits Check to allow the forecasted values to go above or below the limits of the current range. OK button Press OK to accept all the settings and close the dialog. Cancel button Press Cancel to reject all the settings and close the dialog. 28 Progressive Forecast An initial network is produced and trained using every row from the First to the Last. Another network is produced and trained using the rows from the Start and then with all the following rows up to the maximum. A copy of the row being forecast and a new row are added to the end of the grid. The new row has the forecasted values. This allows the forecasted values to be compared with the actual values. More than one forecast can be produced at every step. The process continues until the maximum steps is reached. When the process stops the grid is returned to its original state without removing the added rows. A secondary copy of the grid can be saved along with the secondary network. Total Rows 29 The total number of rows in the grid. All rows are counted. First Training Row The first row in the grid to use for training the primary network. Last Training Row The last row in the grid to use for training the primary network. Start Forecasting Row The first row to use for forecasting. Forecasts per step The number of forecasts to be produced after each step. Produce Secondary Network Check to produce a secondary network. Secondary Network Name The file name of the secondary network. Max rows The maximum number of rows to use for training at each step. Max steps The maximum number of steps. Risk 30 Forecasting will stop if the risk level is exceeded and cannot be reduced. Ignore stops Check to ignore all stops during progressive forecasting. Defaults button Click Defaults to set all the dialog controls to their defaults settings for the grid. OK button Click OK to accept all the settings and close the dialog. Cancel button Click Cancel to reject all the settings and close the dialog. 31 Discovered Patterns The Discovered Patterns dialog is produced after Action > Discover Patterns has run. The dialog will show any of the patterns that have been discovered in the grid and can be used to extend or modify the grid with the discoveries. Set All buttons The mode of all the grid columns is set to Serial or Exclude. Pattern Selection Press the buttons to find and select a discovered pattern. Selected Pattern 32 The grid start row, end row and column in the currently selected pattern. Trend The trend of the values in the currently selected pattern. Toggle button The serial mode of the selected column is inverted. Include in Forecast button The selected pattern will be included in any forecasts. Every pattern is included by default. Exclude from Forecast button The selected pattern will be excluded for all forecasts. Copy to End of Grid button The selected pattern is copied to the end of the grid. 33 Set Function The Set Function dialog is opened using the grid, right click, context menu. Functions can be used on cells, rows, columns or entire grid ranges. Function The function to execute. 34 Fail Stop the function if any failures occur. OK button Press OK to accept all the settings and close the dialog. Cancel Press the Cancel to reject all the settings and close the dialog. 35 Set Grid Range The Set Grid Range dialog is opened using the grid, right click, context menu. Functions can be limited to grid ranges. Rows The range of rows for the function. Columns The range of columns for the function. OK button Press OK to accept the setting and close the dialog. Cancel button Press Cancel to reject the settings and close the dialog. 36 Support FAQ Press the FAQ button to read the online frequently asked questions. Emial Press the email button to send an email to support. 37 Special files Network and grid components are saved to txt or csv files. What to save Check the item that are to be saved. Extension Select the file type. When to save Select when to save. OK button 38 Press OK to accept the setting and close the dialog. Cancel button Press Cancel to reject the setting and close the dialog. Special files Save Grid Details 39 Save Grid Details The details to save in the Grid special file. All Example Rows Check to save all example rows including copies and forecasts. Forecasted Rows Check to save the forecast example rows. Copied Rows Check to save the copies of example rows. Row Number Check to prefix the example row names with the row numbers. Min/Max Column Details 40 Check to save the minimum and maximum column details at the end of the grid file. OK button Click to accept all the settings and close the dialog. Cancel button Click to reject all the settings and close the dialog. 41