WO2006101525A1 - Methods and apparatuses for evaluating water samples - Google Patents

Methods and apparatuses for evaluating water samples Download PDF

Info

Publication number
WO2006101525A1
WO2006101525A1 PCT/US2005/034476 US2005034476W WO2006101525A1 WO 2006101525 A1 WO2006101525 A1 WO 2006101525A1 US 2005034476 W US2005034476 W US 2005034476W WO 2006101525 A1 WO2006101525 A1 WO 2006101525A1
Authority
WO
WIPO (PCT)
Prior art keywords
value
range
data values
current
new
Prior art date
Application number
PCT/US2005/034476
Other languages
French (fr)
Inventor
Zaruhi Roberti Mnatsakanyan
Original Assignee
Sensis Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sensis Corporation filed Critical Sensis Corporation
Publication of WO2006101525A1 publication Critical patent/WO2006101525A1/en

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N33/00Investigating or analysing materials by specific methods not covered by groups G01N1/00 - G01N31/00
    • G01N33/18Water

Definitions

  • the present invention relates to apparatus and methods for evaluating water samples. More particularly, the present invention is directed to apparatuses and methods for estimating the likelihood that one or more specific conditions exist (or will exist in the future) in water samples. The present invention also relates to apparatuses and methods for predicting, as early as possible, emergencies or other situations which require action.
  • the present invention provides methods and apparatuses for estimating the likelihood that a particular water condition exists and/or estimating the likelihood that a particular water condition will exist in the near future.
  • the methods and apparatuses of the present invention can, if desired, be capable of making such estimations for a plurality of water conditions.
  • the methods and apparatuses of the present invention preferably can also provide an estimation as to whether a particular water condition arose as a result of a deliberate act (e.g., terrorism or sabotage).
  • Methods according to the present invention comprise evaluating at least one
  • water sample refers to one of a plurality of successive water samples taken from or remaining within a body of water (e.g., a river, a lake, an ocean, a reservoir, a water treatment facility, a canal, a swimming pool, an aquarium, a reflecting pool, etc.), and/or to a body of water (e.g., a river, a lake, an ocean, a reservoir, a water treatment facility, a canal, a swimming pool, an aquarium, a reflecting pool, etc.), and/or to a
  • the condition(s) for which the method or apparatus of the invention is testing i.e., estimating the likelihood that the condition exists or will exist
  • the condition(s) for which the method or apparatus of the invention is testing is among the conditions (if any) being sensed or determined, in which case the method or apparatus can serve either to tend to confirm the result or to raise doubt as to the result of
  • L 5 such sensing or determining.
  • Each parameter being evaluated is measured, e.g., with a sensor, and a determination is made as to the current "reading" for the parameter.
  • the “reading” can be selected from any suitable group of choices, e.g., the group of choices might consist of "high”, “normal” and “low”. Reference herein to "high”, “normal” and “low” readings is exemplary only, and any combination thereof.
  • reading for a parameter can be derived in any desired manner. For example, in some cases, a reading is derived by comparing a current value for the parameter to a reference value (or values) or to an average of a plurality of recent values, or by any other kind of evaluation (e.g., calculations made when operating in a "tendency mode" as discussed below).
  • condition being sensed or determined is characterized as existing or not existing (although in some cases, the results might be characterized as being ambiguous).
  • condition being sensed to exist can be characterized as the condition being "true” and the fact that a condition is sensed to not exist can be characterized as the condition being "false”.
  • a condition can be sensed as existing or not existing through the use
  • a device e.g., a sensor which senses whether there is a statistically significant detection of a material, such as a contaminant
  • a device e.g., whether or not a user can detect a particular smell, such as a foul odor, or based on detection by a user's sight, taste, hearing or sense of touch.
  • a method or apparatus Based on the readings of the parameter(s) being evaluated and/or the current existence or non-existence of any conditions being sensed or determined, a method or apparatus according to the present invention makes estimations as to the likelihood that a particular water condition (or conditions) exists and/or estimates the likelihood that a particular water condition (or conditions) will exist in the near future.
  • Each parameter which is being evaluated is linked to one or more conditions. Where a particular parameter is linked to only a single condition, the apparatus will include values for the probabilities for each reading to occur (e.g., the parameter value is "high”, the parameter value is "normal” or the parameter value is "low") where the condition is sensed to exist, and values for the probabilities for each reading to occur where the condition is sensed to not exist.
  • the probability of a "high” reading might be 0.95
  • the probability of a "normal” reading might be 0.04
  • the probability of a "low” reading might be 0.01
  • the probability of a "high” reading might be 0.15
  • the probability of a "normal” reading might be 0.80
  • the probability of a "low” reading might be 0.05.
  • the apparatus will include values for the probabilities for each reading to occur (e.g., the parameter value is "high”, the parameter value is "normal” or the parameter value is “low”). Accordingly, where there are two conditions linked to a parameter), the apparatus will include: (1) for the combination "TT”, the probability of a "high” reading for the parameter, the probability of a "normal” reading for the parameter and the probability of a "low” reading for the parameter; (2) for the combination "TF”, the probability of a "high” reading for the parameter, the probability of a "normal” reading for the parameter and the probability of a "low” reading for the parameter; (3) for the combination "FT”, the probability of a "high” reading for the parameter, the probability of a "normal” reading for the parameter and the probability of a "low” reading for the parameter; and (4) for the combination "FF”, the probability of a "high” reading for the parameter, the probability of a "normal” reading for the parameter and the probability of a "low” reading for the parameter;
  • each parameter being monitored is linked to a quantity of conditions, and for each combination of results as to whether the respective conditions are sensed, values for the probabilities of each reading for the parameter are stored.
  • conditions can be linked to one or more parameters and/or one or more other conditions (one of which can be detection of that same condition, i.e., a particular condition can be linked to detection of such particular condition).
  • a particular condition can be linked to detection of such particular condition.
  • the reference above to only three readings, namely, "high”, “normal” and “low” is exemplary only, and any number of readings or type or readings for each parameter can be used according to the present invention (and different parameters can have different possible groups of readings).
  • the bases for making the estimations made by the methods and apparatus of the present invention can optionally also include, for any condition(s) being evaluated, the probability that such condition will naturally exist in the water sample.
  • the methods and apparatus of the present invention are not limited to any particular number of parameters being measured and/or any particular number of conditions being evaluated. Likewise, the methods and apparatus of the present invention are not limited to any particular degree of interrelation among the parameters being measured and/or the conditions being evaluated. For example, it would be readily apparent to those of skill in the art that there are situations where a high value for a particular parameter can be expected when any of a number of conditions exist in the water sample.
  • the parameters and conditions employed by the methods according to the present invention, and the linking between parameters and conditions are developed by obtaining, for one or more parameters, data regarding values of such parameter when a particular condition exists and values of such parameter when such condition does not exist, and/or data regarding values of such parameter when specific combinations of results as to whether the particular conditions are sensed. Decisions are made as to whether a parameter will be linked to a particular condition or combination of conditions based on whether the probabilities of different readings for the parameter differ substantially based on whether the condition exists or differ substantially based on the combination of conditions which exist (or do not exist).
  • condition 1 true; condition 2 false; condition 3 true, or condition 1 false; condition 2 false, condition 3 false e.g., condition 1 true; condition 2 false; condition 3 true, or condition 1 false; condition 2 false, condition 3 false
  • detecting that the parameter is "low” is indicative that the particular combination of conditions exist.
  • a chart is preferably developed in which specific parameters are each linked to one or more specific conditions (and specific conditions are each linked to at least specific parameter and/or at least one other condition) to provide a logic system.
  • specific parameters are each linked to one or more specific conditions (and specific conditions are each linked to at least specific parameter and/or at least one other condition) to provide a logic system.
  • the accuracy of the logic system is preferably tested by applying it to samples for which the existence or non-existence of specific conditions is known.
  • a method or apparatus makes estimations as to the likelihood that a particular water condition (or conditions) under investigation exists and/or estimates the likelihood that a particular water condition (or conditions) will exist in the near future.
  • the accuracy of these estimations result from the analysis as to the likelihood that the readings of the parameter(s) would be as they are detected when the condition under investigation exists, and/or the likelihood that the condition (or conditions) would be sensed when the condition under investigation exists.
  • detecting a "high” reading for a parameter would result in an increase in the estimated probability that the condition under investigation exists where the stored probability for a "high” reading for that parameter is very low when the condition under investigation does not exist and the stored probability for a "high” reading for that parameter is very high when the condition under investigation exists.
  • the methods and apparatuses of the present invention preferably also provide an estimation as to whether a particular water condition arose as a result of a deliberate act (e.g., terrorism or sabotage).
  • a deliberate act e.g., terrorism or sabotage
  • the deliberate act aspect is treated in a manner similar to a water condition, i.e., one or more parameters are linked (as described above) to it, and/or in some cases it is itself sensed (e.g., did someone report seeing sabotage?).
  • a contamination occurs as a result of sabotage
  • there is a tendency for a particular parameter to exhibit a particular reading in some cases there is a tendency for a particular parameter to exhibit a particular reading, whereas when such contamination occurs naturally, there is a tendency for such parameter to exhibit a different reading.
  • a method of evaluating a water sample comprising:
  • the method comprises obtaining data values for a plurality of parameters (e.g., from a plurality of sensors), and the factors on which the estimation is based include the data values for each of these parameters.
  • the method may further comprise sensing whether the water sample is exhibiting the first condition, and the factors on which the estimation is based further include this sensing.
  • the method further comprises sensing whether the water sample is exhibiting a second condition, and the factors on which the estimation is based further include this sensing.
  • the estimation is based on the results of determining which of a plurality of data value ranges for the first parameter the first data value or a first data quantity (the first data quantity being calculated based on a plurality of data values obtained from the first sensor, e.g. an average of such values) falls within (e.g., whether the first data value or first data quantity is or is not greater than a reference value, or within which of three or more ranges, such as "low", "normal” and "high” the first data value or first data quantity falls.
  • the estimation is based on the results of analyzing the data values according to one of a number of processes (described in more detail below) which involve not only analyzing how the values relate to reference values or ranges, but also analyzing the tendencies of changes in the values.
  • the method is computer-implemented.
  • an apparatus which comprises: at least a first sensor for detecting values of a first parameter of a water sample; a data evaluation component which receives sensor data from the first sensor and which generates data information based on evaluation of the sensor data; and at least a first report generating component which receives data information from the data evaluation component and expert information, and which generates first reports based on the expert information and the data information.
  • the apparatus further comprises a second report generating component which receives information pertaining to the water sample or a body of water from which the water sample was taken, and expert information, and which generates second reports based on the expert information, the information pertaining to the water sample or the body of water and data information received from the data evaluation component.
  • the result is that the second reports may be shifted from the first reports as a result of the information regarding the specific water sample or the body of water.
  • the information pertaining to the water sample or the body of water can include information as to reference values for the water sample or the body of water which differ from "normal” reference values for water (e.g., if it is observed over time that a particular parameter is generally higher than normal, and that such higher values are not indicative of any changes in the combination of conditions which exist, the ranges of values which are characterized as "low", "normal” and “high” can be adjusted appropriately in the second report-generating component).
  • the apparatus further comprises a decision-making component which makes decisions based on data information from the data evaluation component, the first reports and the second reports.
  • the apparatus is capable of carrying out at least one of the methods described herein.
  • the methods and apparatuses according to the present invention can be used to evaluate data (1) to provide early warnings when there is a high likelihood of a contamination situation arising in the near future, (2) to advise that contamination is present, (3) to advise whether contamination is likely due to an intentional act, and/or (4) to provide other analyses of the system or the data.
  • the data evaluation component takes an initial set of data values (obtained from at least one sensor), and removes all data values which exceed a maximum possible value or which are below a minimum possible value (i.e., to remove incorrect values, e.g., values which can only have been obtained as a result of a sensor error or the like).
  • the data evaluation component preferably determines whether a significant number of the data values in the initial set are outside of an "acceptable" range. If a significant number of the data values in the initial set are within the acceptable range, the data evaluation component preferably generates a "basic record", which identifies a basic range (preferably within the acceptable range and which preferably encompasses fewer values than the acceptable range) within which a significant number of the data values in the initial set fall.
  • the basic record is thus a baseline for the specific system being analyzed, against which subsequent "current records” can be compared, to help to see whether the data reflects a tendency of trending away from the original condition of the system, and possible movement toward a changed circumstance (and possibly an emergency situation).
  • the data evaluation component preferably receives subsequent sets of data values, and examines whether significant quantities of data values are in specific ranges defined outside of the basic range and/or outside of the acceptable range. By evaluating the quantity of data values in a variety of such ranges established by the data evaluation component based on the data received, the data evaluation component selects from among different algorithms for generating data information in specific formats (examples of which are described in detail below), each format being useful in evaluating trends in the data values.
  • Fig. 1 is a schematic diagram depicting the structure of an embodiment of an inferencing engine for evaluating data according to an embodiment of the present invention.
  • Fig. 2 is a schematic flowchart depicting an algorithm for determining the segments included in a "final range" in accordance with an embodiment of the present invention.
  • Fig. 3 is a schematic diagram depicting the architecture of a DataAgent component according to an embodiment of the present invention.
  • Fig. 4 is a schematic diagram depicting the architecture of an ArbiterAgent component of an inference engine according to an embodiment of the present invention.
  • a method of evaluating a water sample comprising:
  • one or more data values for the first parameter are collected. Each value can be evaluated to obtain a reading as to which of a plurality of ranges the value falls within, e.g., a "normal” range, a "high” range or a "low” range.
  • a "reading" for a parameter can be derived in any desired manner, for example, by comparing to a reference value (or values) a single current value or an average of a plurality of recent values, or by any other kind of evaluation (e.g., calculations made when operating in a "tendency mode" as discussed below).
  • raw data incoming from one or more sensors is evaluated and converted to form statistical values.
  • the first step in this process is to establish the framework of analysis by identifying the basic and acceptable ranges of statistical values.
  • An "acceptable range" of statistical values for a water sample can be, e.g., a range of not less than a specific value, a range of not greater than a specific value, or a range of between (and including) minimum and maximum values.
  • the "basic range” (or normal range) of statistical values is typically a range within the acceptable range. The acceptable and/or basic ranges may vary for different water samples.
  • the data evaluation component, the first report generating component, the second report generating component (if present) and the decision-making component (if present) are included on a single computer-readable medium (e.g., a computer-readable medium contained in a single computer or network), but alternatively, the respective
  • 5 components can each be included on different computer-readable media, e.g., different computer-readable media on different computers, processors or devices, or can be included on one or more computer-readable media in any desired combinations.
  • the at least one sensor collects data relating to at least one parameter, respectively, of or relating to the system.
  • the at least one sensor collects data relating to at least one parameter, respectively, of or relating to the system.
  • the data evaluation component generates data information which includes analyses of the data in specific formats which are preferably sent to the first report generating component, the second report generating component and the decision-making component.
  • the first report generating component generates first reports
  • the second report generating component generates second reports based on (1) expert information relating to the type of water sample being evaluated, (2) data information received from the data evaluation component, and (3) information pertaining to the specific water sample (as opposed to the
  • the second reports may be shifted from the first reports, due to the fact that the second reports factor in information pertaining to the specific water sample, as well as expert information relating to the type of water sample.
  • the data evaluation component takes an initial set of data values, removes all data
  • the data evaluation component preferably generates a "basic record", which identifies a basic range (preferably within the acceptable range and 0 which preferably encompasses fewer values than the acceptable range) within which a significant number of the data values in the initial set fall.
  • the basic record is thus a baseline for the specific water sample being analyzed, against which subsequent "current records” can be compared, to help to see whether the data reflects a trending away from the original condition of the water sample, and possible movement toward a changed circumstance (and possibly an emergency situation).
  • the data evaluation component preferably receives subsequent sets of data values, and examines whether significant quantities of data values are in specific ranges defined outside of the basic range and/or outside of the acceptable range. By evaluating the quantity of data values in a variety of such ranges established by the data evaluation based on the data received, the data evaluation component selects different algorithms for generating data information in specific formats (examples of which are described in detail below), each format being useful in evaluating tendencies in the data values.
  • the first report generating component (as well as the system-specific report generating component and/or the decision-making component, if present) contains arrays and/or networks of logic.
  • the second report generating component includes logic to the effect that where a water sample has a specific condition, (1) the probability that a particular parameter will be higher than a particular upper reference value is a particular value, (2) the probability that such parameter will be not higher than the upper reference value and not less than a particular lower reference value is a second particular value, and (3) the probability that such parameter will be less than the lower reference value is a third particular value.
  • an inference engine When operating in a tendency mode, the device provides tendency mode information as well as real mode information; in the case of an embodiment which operates only in a real mode, the device provides only real mode information.
  • the inference engine of this embodiment includes a data evaluation component, a first report generating component and a decision-making component.
  • the data evaluation component which receives sensor data from the at least one sensor and which generates data information based on evaluation of the sensor data in the present embodiment is the “DataAgent”; the first report generating component in the present embodiment is the “ReasonNET”; and the decision-making component is the “ArbiterAgent.”
  • ReasonNET is a Bayesian network design which is based on expert information.
  • the inference engine of this example corresponding to this embodiment receives substantially real-time data from one or more sensors, and expert information including basic information about normal values for monitoring statistics.
  • the inference engine may also receive manually entered data (this data component is optional, i.e., the system is able to make decisions when there is no manual data).
  • FIG. 1 The structure of the inference engine according to this example corresponding to this embodiment is depicted in Fig. 1.
  • DataAgent receives information from one or more sensors, and/or from one or more data files, and places information in specific respective formats for receipt by ReasonNET.
  • DataAgent receives information from sensors, compares it with expert information, and generates a real mode record and a real mode output.
  • the status is characterized as "normal” if a statistical value is within the acceptable range; the status is characterized as "high” if the statistical value is higher than the maximum value in the acceptable range; and the status is declared “low” if the statistical value is lower than the minimum value in the acceptable range.
  • DataAgent collects information from the sensors during a period of time (every T seconds) and compares it to basic records.
  • Basic records described below in more detail, function as baseline information for comparing later- obtained data. Based on such comparisons, DataAgent creates current records, decreasing current records and/or increasing current records (described below in more detail). If significant changes occur and a potential problem is detected, then DataAgent creates a status record for ReasonNET, and generates a status/color code record for ArbiterAgent.
  • the tendency mode can be turned on or off, but the real mode is always on so that DataAgent always sends real data.
  • the DataAgent processes data every T seconds.
  • a basic record is created with respect to the real-time data received from each of one or more sensors (e.g., where a specific group of parameters are to be monitored, a basic record will be created for each of those parameters.
  • Each of these records includes data set forth in a specific format, discussed in more detail below.
  • a basic image may be created, which includes all of the basic records (e.g., the basic image includes all of the parameters being monitored).
  • the basic image (or one or more basic records) for the water sample can be updated (i.e., replaced with a new basic image generated using current data).
  • MIN/MAX/Low/High/ Acceptable detection routine is performed for each parameter being monitored and/or evaluated.
  • a set of data values is received from the sensor for that parameter.
  • Each data value is the value of the parameter detected by the sensor during a sub-interval (e.g., one second) within an initial time interval (e.g., five minutes).
  • Each sub-interval within the initial time interval is a period of time such that the sub-intervals taken together sequentially comprise an entirety of the initial time interval (e.g., 300 sequential one second sub-intervals within an initial time interval of five minutes).
  • each of the data values (among the set of data values for this parameter) is assigned to one category selected from among categories characterized as "MDSf", “Low”, “Acceptable”, “High” and “MAX”.
  • Each data value (i.e., if any) which is less than a minimum possible value is characterized as "MIN”.
  • Each data value which is greater than a maximum possible value is characterized as "MAX”.
  • Each data value which is within an acceptable range of values is characterized as "Acceptable”.
  • Each data value which is greater than or equal to the minimum possible value and less than the lowest value in the acceptable range is characterized as "Low”.
  • Each data value which is less than or equal to the maximum possible value and greater than the highest value in the acceptable range is characterized as "High”.
  • the effect of assigning data values less than a minimum possible value to "MIN" and assigning data values greater than a maximum possible value to "MAX” according to the present embodiment is to eliminate such readings because they are clearly erroneous. This exclusion is done to eliminate data which is clearly incorrect, e.g., due to sensor error.
  • a "replace sensor-min” value e.g. 10% of the total quantity of signals
  • the acceptable range of values described above is defined as a range of values between and including a lowest acceptable value and a highest acceptable value.
  • the lowest acceptable value is a reference value which is considered by experts in the appropriate field to be the minimum normally acceptable value.
  • the highest acceptable value is a reference value which is considered by experts to be the maximum normally acceptable value.
  • the color code indicator is characterized as “red”
  • the status indicator is characterized as “increasing” and another MIN/MAX/Low/High/Acceptable detection routine is then performed.
  • a basic record creation routine is then performed.
  • the range of values within the "Acceptable" category for the parameter is divided into a number (e.g., 30, 40 or 60) of range segments.
  • the range segments each cover ranges of substantially equal size. Then, for each of the range segments, a
  • a next lower range segment is the range segment having values just below the lowest value within the final range
  • a next higher range segment is the range segment having values just above the highest value in the final range (if all range segments have already been included in the final range, the next range segment analysis is concluded and, as described below, a final range comparison is performed next).
  • next lower range segment has a greater quantity of data values than the quantity of data values in the next higher range segment (or if there are no remaining range segments having values higher than the final range)
  • a determination is made as to whether the next lower range segment has a quantity of data values which is at least a minimum ratio (e.g., 0.7 or any other desired ratio) of the quantity of data values in Rmax; if so, the next lower range segment is added to the final range category and another next range segment analysis is performed next.
  • a minimum ratio e.g., 0.7 or any other desired ratio
  • next lower range segment does not have a greater quantity of data values than the quantity of data values in the next higher range segment (or if there are no remaining range segments having values lower than the final range)
  • a determination is made as to whether the next higher range segment has a quantity of data values which is at least the minimum ratio of the quantity of data values in Rmax; if so, the next higher range segment is added to the final range category and another next range segment analysis is performed next.
  • next lower range segment and the next higher range segment each have a quantity of data values which is less than the minimum ratio of the quantity of data values in Rmax, or if there is no next lower range segment and the next higher range segment has a quantity of data values which is less than the minimum ratio of the quantity of data values in Rmax, or if there is no next higher range segment and the next lower range segment has a quantity of data values which is less than the minimum ratio of the quantity of data values in Rmax, or if all range segments have already been included in the final range, a final range comparison routine is then performed.
  • Fig. 2 An example of an embodiment of an algorithm for determining the segments included in the "final range” is depicted in Fig. 2. If every range segment which has a quantity of data values which is at least the minimum ratio of the quantity of data values in Rmax is included in the final range, a determination is made as to the quantity of data values (from among the set of data values) falling within a Low range (the "Low value”), the quantity of data values falling within an X range (the "X value”), the quantity of data values falling within a Y range (the "Y value”), the quantity of data values falling within a Z range (the "Z value”) and the quantity of data values falling within a High range (the "High value”).
  • the Low range includes all values which are not less than the minimum possible value and which are less than the lowest value in the acceptable range.
  • the X range includes all values which are not less than the lowest value in the acceptable range and which are less than the lowest value in the final range.
  • the Y range includes all values which are within the final range.
  • the Z range includes all values which are greater than the highest value in the final range and which are not greater than the highest value in the acceptable range.
  • the High range includes all values which are not greater than the maximum possible value and which are greater than the highest value in the acceptable range.
  • a determination may be made as to the quantity of data values assigned to the "MIN" category (the MIN value) and the quantity of data values assigned to the "MAX" category (the MAX value).
  • Each basic record contains the following components: -the parameter's name or identifier (e.g., a code or ID number);
  • the P-time i.e., the period of time, in seconds, between each time that the parameter is to be detected (preferably, the P-time is input by the user);
  • T-time i.e., the period of time, in seconds, during which values are to be monitored to generate a "current record” (current records are described in detail below);
  • Low value the Low value
  • the basic record may also include: -the MIN value; and
  • a similar basic record is created for each other parameter being detected.
  • the basic records for the different parameters together make up a basic image.
  • Each data value among the fresh set of data values is the value of the parameter detected by the sensor during a sub-interval (e.g., one second) within a current time interval (e.g., one minute).
  • Each current time interval preferably follows immediately after the end of the previous time interval (i.e., immediately after a previous current time interval or, where there have been no previous current time intervals, immediately after the initial time interval).
  • Each sub-interval within a current time interval is a period of time such that the sub-intervals taken together sequentially comprise an entirety of the current time interval (e.g., 60 sequential one second sub-intervals within a current time interval of one minute).
  • the Low value is the quantity of data values within the fresh set of data values which fall within the Low range.
  • the X value is the quantity of data values within the fresh set of data values which fall within the X range.
  • the Y value is the quantity of data values within the fresh set of data values which fall within the Y range.
  • the Z value is the quantity of data values within the fresh set of data values which fall within the Z range.
  • the High value is the quantity of data values within the fresh set of data values which fall within the High range.
  • the color code indicator is characterized as "red”
  • the status indicator is characterized as "increasing” and an increasing current record creation routine (described below) is then performed.
  • the color code indicator is characterized as "yellow”
  • the status indicator is characterized as "decreasing” and a decreasing current record creation routine is then performed.
  • the color code indicator is characterized as "yellow”
  • the status indicator is characterized as "increasing” and an increasing current record creation routine is then performed.
  • the color code indicator is characterized as "green”
  • the status indicator is characterized as "normal” and another current record creation routine is performed next.
  • Each current record contains the following components:
  • the current record may also include: -the status indicator, i.e., "increasing", “decreasing” or “normal” (or corresponding symbols, e.g., “1” for “increasing", “2” for “decreasing” and “0” for “normal”); and -the color code indicator, i.e., “red”, “orange”, “yellow” or “green” (or corresponding symbols, e.g., “0” for "green”, “1” for “yellow”, “2” for “orange” and “3” for “red”).
  • the current record may also include: -the MIN value; and -the MAX value.
  • Each data value among the new fresh set of data values is the value of the parameter detected by the sensor during a sub- interval (e.g., one second) within a current time interval (e.g., one minute).
  • Each current time interval preferably follows immediately after the end of the previous current time interval.
  • Each sub-interval within a current time interval is a period of time such that the sub-intervals taken together sequentially comprise an entirety of the current time interval (e.g., 60 sequential one second sub-intervals within a current time interval of one minute).
  • the new Low value is the quantity of data values within the new fresh set of data values which fall within the Low range.
  • the Xl value is the quantity of data values within the new fresh set of data values which fall within a first portion of the X range.
  • the X2 value is the quantity of data values within the new fresh set of data values which fall within a second portion of the X range, the second portion of the X range including values which are greater than values in the first portion of the X range.
  • the X3 value is the quantity of data values within the new fresh set of data values which fall within a third portion of the X range, the third portion of the X range including values which are greater than values in the second portion of the X range.
  • the third portion of the X range is the highest approximately 50% of the values within the X range
  • the first portion of the X range is the lowest approximately 30% of the values within the X range
  • the second portion of the X range is the remaining approximately 20% of the values within the X range.
  • the new Y value is the quantity of data values within the new fresh set of data values which fall within the Y range.
  • the new Z value is the quantity of data values within the new fresh set of data values which fall within the Z range.
  • the new High value is the quantity of data values within the new fresh set of data values which fall within the High range.
  • a determination may be made as to the quantity of data values in the new fresh set of data values assigned to the "MIN" category (the MIN value) and the quantity of data values in the new fresh set of data values assigned to the "MAX” category (the MAX value).
  • the color code indicator is characterized as "red”
  • the status indicator is characterized as "increasing” and an increasing current record creation routine is performed next.
  • the color code indicator is characterized as "red”
  • the status indicator is characterized as "decreasing” and another decreasing current record creation routine is performed next.
  • the color code indicator is characterized as "yellow”
  • the status indicator is characterized as "increasing” and an increasing current record creation routine is performed next.
  • the color code indicator is characterized as "orange”
  • the status indicator is characterized as "decreasing” and another decreasing current record creation routine is performed next.
  • the color code indicator is characterized as "yellow”
  • the status indicator is characterized as "decreasing” and another decreasing current record creation routine is performed next.
  • the color code indicator is characterized as "yellow”
  • the status indicator is characterized as "decreasing” and another decreasing current record creation routine is performed next.
  • the color code indicator is characterized as "green”, the status indicator is characterized as "normal” and another current record creation routine is performed next.
  • Each decreasing current record contains the following components:
  • the parameter's name e.g., heart rate
  • identifier e.g., a code or ID number
  • the decreasing current record may also include: -the status indicator, i.e., "increasing", “decreasing” or "normal” (or corresponding symbols, e,g., "1” for “increasing, "2” for “decreasing” and "0” for "normal”); and
  • the color code indicator i.e., "red”, “orange”, “yellow” or “green” (or corresponding symbols, e.g., “0” for “green”, “1” for “yellow”, “2” for “orange” and “3” for “red”).
  • the decreasing current record may also include: -the new MIN value
  • a current fresh set of data values for the parameter is received from the sensor for that parameter.
  • Each data value among the current fresh set of data values is the value of the parameter detected by the sensor during a sub-interval (e.g., one second) within a current time interval (e.g., one minute).
  • Each current time interval preferably follows immediately after the end of the previous current time interval.
  • Each sub-interval within a current time interval is a period of time such that the sub- intervals taken together sequentially comprise an entirety of the current time interval (e.g., 60
  • the current Low value is the quantity of data values within the current fresh set of data values which fall within the Low range.
  • the current X value is the quantity of data values within the current fresh set of data
  • the current Y value is the quantity of data values within the current fresh set of data values which fall within the Y range.
  • the Zl value is the quantity of data values within the current fresh set of data values which fall within a first portion of the Z range.
  • the Z2 value is the quantity of data values within the current fresh set of data values which fall within a second portion of the Z range, the second portion of the Z
  • the L 5 range including values which are greater than values in the first portion of the Z range.
  • the Z3 value is the quantity of data values within the current fresh set of data values which fall within a third portion of the Z range, the third portion of the Z range including values which are greater than values in the second portion of the Z range.
  • the first portion of the Z range is the lowest approximately 50% of the values within
  • the third portion of the Z range is the highest approximately 30% of the values within the Z range, and the second portion of the Z range is the remaining approximately 20% of the values within the Z range.
  • the current High value is the quantity of data values within the current fresh set of data values which fall within the High range.
  • the color code indicator is characterized as "red”
  • the status indicator is characterized as "decreasing”
  • the color code indicator is characterized as "red”
  • the status indicator is characterized as "increasing” and another increasing current record creation routine is performed next.
  • the current X value is greater than or equal to the current Low value and greater than or equal to the current High value, and is greater than each of the current Y value, the Zl value, the Z2 value and the Z3 value
  • the color code indicator is characterized as "yellow”
  • the status indicator is characterized as "decreasing” and a decreasing current record creation routine is performed next.
  • the color code indicator is characterized as "orange”
  • the status indicator is characterized as "increasing” and another increasing current record creation routine is performed next.
  • the color code indicator is characterized as "yellow”
  • the status indicator is characterized as "increasing” and another increasing current record creation routine is performed next.
  • the color code indicator is characterized as "yellow”
  • the status indicator is characterized as "increasing” and another increasing current record creation routine is performed next.
  • the color code indicator is characterized as "green”, the status indicator is characterized as "normal” and another current record creation routine is performed next.
  • an increasing current record is created.
  • Each increasing current record contains the following components: -the parameter's name (e.g., heart rate) or identifier (e.g., a code or ID number);
  • the increasing current record may also include: -the status indicator, i.e., "increasing”, “decreasing” or "normal” (or corresponding symbols, e.g., "1” for “increasing, "2” for “decreasing” and "0” for "normal”); and
  • the color code indicator i.e., "red”, “orange”, “yellow” or “green” (or corresponding symbols, e.g., “0” for “green”, “1” for “yellow”, “2” for “orange” and “3” for “red”).
  • the increasing record may also include: -the MIN value; and
  • the embodiment proceeds in the event that two or more values are equal (e.g., in the event that the X value and the Z value are equal, according to the discussion of the embodiment set forth above, the Z value controls, i.e., the status indicator is characterized as "increasing" and an increasing current record creation routine is performed next).
  • the hierarchy as to which value controls in situations where any two or more values are equal can be set up in any other way (e.g., in the event that the X value and the Z value are equal, the X value can control, i.e., such that the status indicator would be characterized as "decreasing" and a decreasing current record creation routine would be performed next).
  • any or all types of current records i.e., including "current records”, “decreasing current records” and “increasing current records” be retained after real mode output and optionally also tendency mode output (discussed in more detail below) are sent to the ArbiterAgent and the ReasonNET.
  • current records including "current records”, “decreasing current records” and “increasing current records”
  • tendency mode output discussed in more detail below
  • the second embodiment is similar to the first embodiment described above, except that:
  • the status indicator is characterized as "decreasing"
  • the third portion of the X range is increased to
  • [ 5 include all values which were within the second portion of the X range as well as all values which were within the third portion of the X range, (3) the first portion of the X range is divided into a first part and a second part, the first part having values lower than the second part, the first part becoming the first portion of the X range, the second part
  • the status indicator is characterized as
  • the third portion of the X range is increased to include all values which were within the second portion of the X range as well as all values which were within the third portion of the X range, (3) the first portion of the X range is divided into a first part and a second part, the first part having values lower than the second part, the first part becoming the first portion of the X range, the second part becoming the second portion of the X range, and (4) another 5 decreasing current record creation routine is performed next;
  • the status indicator if the X3 value is greater than or equal to the new Low value, greater than or equal to the new High value, greater than or equal to the X2 value, greater than or equal to the Xl value, greater than or equal to the new Z value, and greater than the new Y value, (1) the status indicator
  • the first portion of the X range is increased to include all values which were within the second portion of the X range as well as all values which were within the first portion of the X range, (3) the third portion of the X range is divided into a first part and a second part, the first part having values lower than the
  • the status indicator is characterized as "increasing"
  • the first portion of the Z range is increased to
  • the third portion of the Z range is divided into a first part and a second part, the first part having values lower than the second part, the first part becoming the second portion of the Z range, the second part becoming the third portion of the Z range, and (4) another increasing current record creation routine is performed next;
  • the status indicator is characterized as "increasing"
  • the first portion of the Z range is increased to include all values which were within the second portion of the Z range as well as all values which were within the first portion of the Z range
  • the third portion of the Z range is divided into a first part and a second part, the first part having values lower than the second part, the first part becoming the second portion of the Z range, the second part becoming the third portion of the Z range, and (4) another increasing current record creation routine is performed next;
  • the status indicator is characterized as "increasing"
  • the third portion of the Z range is increased to include all values which were within the second portion of the Z range as well as all values which were within the third portion of the Z range
  • the first portion of the Z range is divided into a first part and a second part, the first part having values lower than the second part, the first part becoming the first portion of the Z range, the second part becoming the second portion of the Z range, and (4) another increasing current record creation routine is performed next.
  • the color code indicator is preferably characterized in other situations, i.e., including:
  • the color code indicator is preferably characterized in other situations, i.e., including:
  • the color code indicator is characterized based on the new fresh set of data values by further:
  • the new X value being a quantity of data values within the new fresh set of data values which fall within the X range
  • the status indicator is characterized as "decreasing” and the new X value is greater than the new Low value, the new Y value, the new Z value and the new High value, characterizing the color code indicator as "yellow”, and
  • the status indicator is characterized as "increasing” and the new Z value is greater than the new Low value, the new X value, the new Y value and the new High value, characterizing the color code indicator as "yellow";
  • the color code indicator is characterized based on the current fresh set of data values by further:
  • the component Z value being a quantity of data values within the component fresh set of data values which fall within the Z range
  • the status indicator is characterized as "decreasing” and the component X value is greater than the component Low value, the component Y value, the component Z value and the component High value, characterizing the color code indicator as "yellow”, and
  • the status indicator is characterized as "increasing” and the component Z value is greater than the component Low value, the component X value, the component Y value and the component High value, characterizing the color code indicator as "yellow”.
  • the color code indicator is characterized based on the new fresh set of data values by further: -after determining a new Low value, an Xl value, an X2 value, an X3 value, a new Y value, a new Z value and a new High value,
  • the color code indicator is characterized based on the current fresh set of data values by further:
  • DataAgent provides the option of automatically updating the basic record for a particular parameter when the color code indicator for that parameter has been yellow for a particular number of consecutive times (e.g., 30 times), which number may vary depending on the particular parameter, and/or when the color code indicator for that parameter has been orange for a particular number of consecutive times (which number may vary depending on the particular parameter), hi addition, the number of consecutive times which prompts the basic record to be updated can differ depending on whether the yellow or orange color code is caused by elevated values (i.e., where the status indicator is "increasing") or depressed values (i.e., where the status indicator is "decreasing").
  • the basic record creation subroutine is performed using fresh data from the sensor or sensors.
  • DataAgent provides the option of automatically updating the basic record for a particular parameter when the values for that parameter have been within a range of a particular size (i.e., in which the highest value differs from the lowest value by not more than a particular amount), such that the basic range (and/or the acceptable range) can be modified so as to encompass such values.
  • the basic range can be modified so as to encompass such values.
  • the acceptable range for a parameter is, e.g., from 60 to 100, and the water sample values have consistently been about 103
  • the acceptable range and the basic range for that parameter for the water sample can be set such that they encompass a value of 103.
  • DataAgent also creates a temporary record.
  • the temporary record which is created is a decreasing temporary record.
  • a decreasing temporary record includes the parameter's name or identifier (e.g., a code or ID number), an N value, the Xl value, the X2 value, the X3 value and a C value.
  • the Xl value, the X2 value and the X3 value are the same as those described above in connection with the decreasing current record creation routine.
  • the N value is equal to the new Low value determined in the decreasing current record creation routine.
  • the C value is equal to the sum of the new Y value, the new Z value and the new High value determined in the decreasing current record creation routine.
  • the temporary record which is created is an increasing temporary record.
  • An increasing temporary record includes the parameter's name or identifier (e.g., a code or ID number), an N value, the Zl value, the Z2 value, the Z3 value and a C value.
  • the Zl value, the Z2 value and the Z3 value are the same as those described above in connection with the increasing current record creation routine, hi an increasing temporary record, the N value is equal to the sum of the new Low value, the new X value and the new Y value determined in the increasing current record creation routine, hi an increasing temporary record, the C value is equal to the new High value determined in the increasing current record creation routine.
  • any and all temporary records are discarded.
  • the real mode record for a particular parameter includes a reading ("high”, "normal” or “low”, and/or an identifier which signifies one of such readings, e.g., 0 for normal, 1 for high or increased and 2 for low or decreased), a color code, as well as the parameter's name or identifier (e.g., a code or ID number). If the color code indicator for a parameter is red and the status is "increasing", the parameter is given a "high” reading, and the color code is red.
  • the parameter is given a "low” reading, and the color code is red. Otherwise (i.e., if the color code indicator is green, yellow or orange), the parameter is given a "normal” reading, and the color code is green.
  • the real mode record is sent to ArbiterAgent, preferably along with a mode value indicating that it is a real mode record.
  • DataAgent preferably also generates a real mode output which is preferably sent to ReasonNET, the real mode output preferably including the parameter's name or identifier and the reading ("high”, “low” or “normal”-determined in the same way as described above with regard to the real mode record).
  • a status/color code record for each current record, each decreasing current record and each increasing current record, DataAgent preferably also generates a status/color code record.
  • the status/color code record for a particular parameter preferably includes a status value ("increasing", “decreasing” or "normal"), as well as the color code indicator (green, yellow, orange or red) and the parameter's name or identifier.
  • the status/color code record is sent to ArbiterAgent (preferably along with a tendency mode value indicating that it is a tendency mode reading).
  • one or more status records are preferably generated, which are preferably sent to ReasonNET.
  • a first status record includes (1) the parameter's name or identifier, and (2) a reading of "normal” if the color code indicator is green or yellow, a reading of "high” if the color code indicator is orange or red and the status is "increasing", or a reading of "low” if the color code indicator is orange or red and the status is "decreasing”.
  • the first status record is preferably used by ReasonNET to generate "orange" reports.
  • a second status record includes (1) the parameter's name or identifier, and (2) a reading of "normal” if the color code indicator is green, a reading of "high” if the color code indicator is yellow, orange or red and the status is “increasing", or a reading of "low” if the color code indicator is yellow, orange or red and the status is "decreasing”.
  • the second status record is preferably used by ReasonNET to generate "yellow" reports.
  • the parameter When operating in an "orange” mode, the parameter can be considered to be: -"high” if the color code indicator is orange or red and the status is "increasing";
  • the parameter when operating in a "yellow” mode, the parameter can be considered to be:
  • Green - normal mode values are real (the data is not from tendency mode) and they are in a normal range
  • Orange - values have increased or decreased more severely.
  • DataAgent detects a potentially severe problem, but values are still within an acceptable range. Red - abnormal mode. The value is real so the data is not in tendency mode, and the value is outside of the acceptable range.
  • a tracking record can optionally be produced.
  • a tracking record can include information as to the sequence of the ranges over time which had the maximum quantity of data values. For example, a tracking record might read "Y range, Y range, Y range, Y range, Z range, Z range, Z range, Z range, Z range, Z range, Z range, Z range, Z range, Z range, Z range,
  • the tracking record can include any other information, e.g., the quantity of data values in the range which had the maximum quantity of data values, and/or the quantity of data values in any other or all of the ranges.
  • the ReasonNET component of the inference engine is designed based on experts' knowledge of water bodies of the type being evaluated or monitored.
  • expert data can include information based on existing knowledge and preferably the use of a Bayesian network frame.
  • Input to ReasonNET can be in the form of expert data contained in a case file or a separate formatted case.
  • ReasonNET receives and evaluates the expert data, as well as real mode outputs and status records generated by DataAgent to generate expert reports, which show probabilities of a number of possible conditions.
  • ReasonNET might be influenced by a combination of parameter readings which is highly indicative of a particular condition existing to generate an appropriately high probability as to whether that condition exists.
  • ReasonNET sends the expert reports to ArbiterAgent.
  • ReasonNET is in the form of a Bayesian network
  • the Bayesian network is set up in any suitable format, a variety of which are well known to those of skill in
  • each parameter or condition has associated with it a table of values, and the table can further include one or more columns which each indicate whether a particular condition exists, and a plurality of probability columns.
  • Each row of each probability column indicates the probability that the parameter or condition to which the table applies will fall within a corresponding range (for example, the
  • .0 ranges can include "high”, “normal”, and “low") for that column when the condition or each of the conditions in that row are either present or not present as indicated by the responses in the respective columns.
  • a representative table is shown below for a parameter which is linked to condition X and to condition Y (i.e., in a Bayesian format, an arrow extends from condition X to the parameter and an arrow extends from condition Y to the
  • the first row indicates that where condition X is present and condition Y is not present, the probability of the parameter being "high” is 5 %, the probability of the parameter being "normal” is 5 %, and the probability of the parameter being "low” is 90 %.
  • Data Agent can provide information as to whether any particular parameter (e.g., heart
  • 5 rate is within any particular range, e.g., "high”, "normal” and “low”.
  • the ArbiterAgent of the embodiments described above makes decisions based on real mode records and status/color code records from said DataAgent and expert reports (from ReasonNET).
  • Fig. 4 depicts architecture of the ArbiterAgent according to the embodiments
  • ArbiterAgent makes a final decision regarding each possible condition based on reports from ReasonNET and the real mode records received from DataAgent.
  • a separate method of decision-making may be included in ArbiterAgent for each type of condition. These methods are based on expert
  • L 5 information are preferably adjusted as more experience is gained.
  • a summary of probabilities for all readings is preferably considered before an alarm is requested.
  • the severity of the problem may be increasing and an alarm may therefore be required.
  • an alarm may be required if the value of the readings is abnormal, but steady, an alarm may be
  • a discrimination function 25 neural network, a discrimination function, a decision tree, an expectation-maximization on mixtures of Gaussians, a probability distribution function (PDF), estimation through moment computation, PDF estimation through histograms, etc.
  • PDF probability distribution function
  • 30 real mode outputs described above include specific data in specific respective formats, the types of data contained in each record and/or image can vary and can be in any desired format.
  • time interval over which data is collected (and/or sub-intervals reflecting the period of time between each piece of data for a sensor) for generating a basic record can be selected from among a wide range of time periods, and/or can differ from one another for different parameters.
  • the duration of time over which data is collected (and/or sub-intervals reflecting the period of time between each piece of data for a sensor) for generating current records, decreasing current records or increasing current records can be selected from among a wide range of time periods and/or can differ from one another.
  • data e.g., status, color code and/or readings
  • DataAgent can send ReasonNET a status/color code record which is similar to the status/color code record sent to Arbiter Agent).
  • the number of range segments can be selected from among a wide range of quantities; in addition, it is not necessary that each of the segments have an equal range from lowest value to highest value.
  • the "minimum ratio" used in the basic record creation routine (i.e., the "minimum ratio of the quantity of data values in Rmax") can be selected from within a wide range of quantities.
  • the percentages used in the decreasing current record creation routine i.e., 30% for the first portion, 20% for the second portion and 50% for the third portion
  • the increasing current record creation routine i.e., 50% for the first portion, 20% for the second portion and 30% for the third portion
  • the number of consecutive times for the color code to be yellow or the number of consecutive times for the color code to be orange for the option of automatically updating the basic record can be selected from among a wide range of values.
  • Any two or more functions can be conducted simultaneously, and/or any function can be conducted in a series of steps.

Landscapes

  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Chemical & Material Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Food Science & Technology (AREA)
  • Medicinal Chemistry (AREA)
  • Physics & Mathematics (AREA)
  • Analytical Chemistry (AREA)
  • Biochemistry (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Immunology (AREA)
  • Pathology (AREA)
  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)

Abstract

Methods of evaluating water samples, comprising obtaining data values for one or more parameters, and/or obtaining evaluations as to whether the water samples have one or more specific conditions, and estimating the likelihood that the water samples have specific problems or potential problems based on at least such data values and evaluations. Apparatuses for carrying out such methods.

Description

METHODS AND APPARATUSES FOR EVALUATING WATER SAMPLES
Cross-reference to Related Applications
This application claims the benefit of U.S. Provisional Patent Application No. 60/663,950, filed March 21, 2005, the entirety of which is incorporated herein by reference.
Field of the Invention
The present invention relates to apparatus and methods for evaluating water samples. More particularly, the present invention is directed to apparatuses and methods for estimating the likelihood that one or more specific conditions exist (or will exist in the future) in water samples. The present invention also relates to apparatuses and methods for predicting, as early as possible, emergencies or other situations which require action.
Background of the Invention
It is well known that water supplies which are safe for drinking and for other uses are critical to the functioning of our society. There are a wide variety of potential sources of contamination of such water supplies, including naturally-occurring phenomena, accidental contamination and intentional sabotage, e.g., terrorism. Such sources of contamination can be limited, but there is no way to ensure that contamination will never occur-in short, water supplies have become contaminated and will continue to do so.
There is an ongoing need for reliable, inexpensive and accurate (i.e., which reliably detect problems while minimizing false positive reports) methods and apparatuses to detect whether water supplies have become contaminated. In addition, it would be desirable to be able to provide methods and apparatuses which can accurately assign a probability to whether a contamination resulted from an intentional act.
Brief Summary of the Invention
The present invention provides methods and apparatuses for estimating the likelihood that a particular water condition exists and/or estimating the likelihood that a particular water condition will exist in the near future. The methods and apparatuses of the present invention can, if desired, be capable of making such estimations for a plurality of water conditions. The methods and apparatuses of the present invention preferably can also provide an estimation as to whether a particular water condition arose as a result of a deliberate act (e.g., terrorism or sabotage).
Methods according to the present invention comprise evaluating at least one
5 parameter of a water sample and/or sensing (or determining, e.g., by a sensor or by a user) whether one or more conditions exist in a water sample or body of water. The expression "water sample" as used herein refers to one of a plurality of successive water samples taken from or remaining within a body of water (e.g., a river, a lake, an ocean, a reservoir, a water treatment facility, a canal, a swimming pool, an aquarium, a reflecting pool, etc.), and/or to a
.0 specific volume of water (e.g., contained within a beaker), which may have been obtained from any possible source, hi some cases, the condition(s) for which the method or apparatus of the invention is testing (i.e., estimating the likelihood that the condition exists or will exist) is among the conditions (if any) being sensed or determined, in which case the method or apparatus can serve either to tend to confirm the result or to raise doubt as to the result of
L 5 such sensing or determining.
Each parameter being evaluated is measured, e.g., with a sensor, and a determination is made as to the current "reading" for the parameter. The "reading" can be selected from any suitable group of choices, e.g., the group of choices might consist of "high", "normal" and "low". Reference herein to "high", "normal" and "low" readings is exemplary only, and any
10 number of readings or type or readings can be used according to the present invention. A
"reading" for a parameter can be derived in any desired manner. For example, in some cases, a reading is derived by comparing a current value for the parameter to a reference value (or values) or to an average of a plurality of recent values, or by any other kind of evaluation (e.g., calculations made when operating in a "tendency mode" as discussed below).
15 Each condition being sensed or determined (if any) is characterized as existing or not existing (although in some cases, the results might be characterized as being ambiguous). For example, the fact that a condition is sensed to exist can be characterized as the condition being "true" and the fact that a condition is sensed to not exist can be characterized as the condition being "false". A condition can be sensed as existing or not existing through the use
30 of a device (e.g., a sensor which senses whether there is a statistically significant detection of a material, such as a contaminant) or without the use of a device (e.g., whether or not a user can detect a particular smell, such as a foul odor, or based on detection by a user's sight, taste, hearing or sense of touch).
Based on the readings of the parameter(s) being evaluated and/or the current existence or non-existence of any conditions being sensed or determined, a method or apparatus according to the present invention makes estimations as to the likelihood that a particular water condition (or conditions) exists and/or estimates the likelihood that a particular water condition (or conditions) will exist in the near future.
Each parameter which is being evaluated is linked to one or more conditions. Where a particular parameter is linked to only a single condition, the apparatus will include values for the probabilities for each reading to occur (e.g., the parameter value is "high", the parameter value is "normal" or the parameter value is "low") where the condition is sensed to exist, and values for the probabilities for each reading to occur where the condition is sensed to not exist. As a hypothetical example, where only a single condition is linked to a parameter, (1) where the condition exists, the probability of a "high" reading might be 0.95, the probability of a "normal" reading might be 0.04 and the probability of a "low" reading might be 0.01, and (2) where the condition does not exist, the probability of a "high" reading might be 0.15, the probability of a "normal" reading might be 0.80 and the probability of a "low" reading might be 0.05.
Where a particular parameter is linked to two or more conditions, there are 2" possible combinations of results as to whether the respective conditions are sensed, where n is the number of conditions. For example, where there are two conditions linked to a parameter, there are 22 (i.e., 4) possible combinations of results as to whether the respective conditions are sensed, namely, first and second conditions both sensed ("true-true" or "TT"), first condition sensed and second condition not sensed ("true-false" or "TF"), first condition not sensed and second condition sensed ("false-true" or "FT"), and neither first nor second condition sensed ("false-false" or "FF"). For each possible combination of results as to whether the respective conditions are sensed, the apparatus will include values for the probabilities for each reading to occur (e.g., the parameter value is "high", the parameter value is "normal" or the parameter value is "low"). Accordingly, where there are two conditions linked to a parameter), the apparatus will include: (1) for the combination "TT", the probability of a "high" reading for the parameter, the probability of a "normal" reading for the parameter and the probability of a "low" reading for the parameter; (2) for the combination "TF", the probability of a "high" reading for the parameter, the probability of a "normal" reading for the parameter and the probability of a "low" reading for the parameter; (3) for the combination "FT", the probability of a "high" reading for the parameter, the probability of a "normal" reading for the parameter and the probability of a "low" reading for the parameter; and (4) for the combination "FF", the probability of a "high" reading for the parameter, the probability of a "normal" reading for the parameter and the probability of a "low" reading for the parameter.
Likewise, where a parameter is linked to three conditions and where the parameter has three possible readings, there will be twenty-four probability values. That is, there will be three probability values (one for each of the three possible readings) for each of the eight different possible combinations of results as to whether the respective conditions are sensed (TTT, TTF, TFT, TFF, FTT, FTF, FFT and FFF. Similarly, where a parameter is linked to four conditions (and where the parameter has three possible readings), there will be forty- eight probability values (three probability values for each of the sixteen different possible combinations of results as to whether the respective conditions are sensed (TTTT, TTTF, TTFT, TTFF, TFTT, TFTF, TFFT, TFFF, FTTT, FTTF, FTFT, FTFF, FFTT, FFTF, FFFT and FFFF, and analogously where a parameter is linked to more conditions.
In such a way, each parameter being monitored is linked to a quantity of conditions, and for each combination of results as to whether the respective conditions are sensed, values for the probabilities of each reading for the parameter are stored.
Analogously, conditions can be linked to one or more parameters and/or one or more other conditions (one of which can be detection of that same condition, i.e., a particular condition can be linked to detection of such particular condition). As noted above, the reference above to only three readings, namely, "high", "normal" and "low" is exemplary only, and any number of readings or type or readings for each parameter can be used according to the present invention (and different parameters can have different possible groups of readings).
The bases for making the estimations made by the methods and apparatus of the present invention can optionally also include, for any condition(s) being evaluated, the probability that such condition will naturally exist in the water sample. The methods and apparatus of the present invention are not limited to any particular number of parameters being measured and/or any particular number of conditions being evaluated. Likewise, the methods and apparatus of the present invention are not limited to any particular degree of interrelation among the parameters being measured and/or the conditions being evaluated. For example, it would be readily apparent to those of skill in the art that there are situations where a high value for a particular parameter can be expected when any of a number of conditions exist in the water sample. Likewise, it would be readily apparent to those of skill in the art that there are situations where, for example, a high value for a first parameter, combined with a low value for a second parameter, is very unlikely to occur unless the particular condition being tested for exists in the water sample (or that such a combination of levels of such parameters makes it extremely likely that the particular condition will arise in the future)-in such a situation, the estimation that such condition exists (or will arise in the future) would be appropriately high.
According to an aspect of the present invention, the parameters and conditions employed by the methods according to the present invention, and the linking between parameters and conditions are developed by obtaining, for one or more parameters, data regarding values of such parameter when a particular condition exists and values of such parameter when such condition does not exist, and/or data regarding values of such parameter when specific combinations of results as to whether the particular conditions are sensed. Decisions are made as to whether a parameter will be linked to a particular condition or combination of conditions based on whether the probabilities of different readings for the parameter differ substantially based on whether the condition exists or differ substantially based on the combination of conditions which exist (or do not exist). For example, where the data shows that there is a high probability that the parameter will be "high" when the condition exists and a low probability that the parameter will be "high" when the condition does not exist, detecting that the parameter is "high" is indicative that the condition exists. Similarly, where the data shows that there is a high probability that the parameter will be "low" when there is a particular combination of responses as to whether specific conditions exist (e.g., condition 1 true; condition 2 false; condition 3 true, or condition 1 false; condition 2 false, condition 3 false), and a low probability that the parameter will be "low" when any other combination of responses as to whether specific conditions exist, detecting that the parameter is "low" is indicative that the particular combination of conditions exist.
Based on such analyses, a chart is preferably developed in which specific parameters are each linked to one or more specific conditions (and specific conditions are each linked to at least specific parameter and/or at least one other condition) to provide a logic system. After developing such a logic system, the accuracy of the logic system is preferably tested by applying it to samples for which the existence or non-existence of specific conditions is known.
As noted above, based on the readings of the parameter(s) being evaluated and/or the current existence or non-existence of any conditions being sensed or determined, a method or apparatus according to the present invention makes estimations as to the likelihood that a particular water condition (or conditions) under investigation exists and/or estimates the likelihood that a particular water condition (or conditions) will exist in the near future. The accuracy of these estimations result from the analysis as to the likelihood that the readings of the parameter(s) would be as they are detected when the condition under investigation exists, and/or the likelihood that the condition (or conditions) would be sensed when the condition under investigation exists. For example, detecting a "high" reading for a parameter would result in an increase in the estimated probability that the condition under investigation exists where the stored probability for a "high" reading for that parameter is very low when the condition under investigation does not exist and the stored probability for a "high" reading for that parameter is very high when the condition under investigation exists.
As mentioned above, the methods and apparatuses of the present invention preferably also provide an estimation as to whether a particular water condition arose as a result of a deliberate act (e.g., terrorism or sabotage). In such cases, the deliberate act aspect is treated in a manner similar to a water condition, i.e., one or more parameters are linked (as described above) to it, and/or in some cases it is itself sensed (e.g., did someone report seeing sabotage?). For example, where a contamination occurs as a result of sabotage, in some cases there is a tendency for a particular parameter to exhibit a particular reading, whereas when such contamination occurs naturally, there is a tendency for such parameter to exhibit a different reading. In addition, in some cases, the probability that a particular condition arose as a result of sabotage is heightened where the reading (or values) for a particular parameter changed abruptly, in view of knowledge that where such condition arises as a result of natural causes, the reading (or values) for such parameter changes much more slowly, hi addition, in some instances, there are other characteristics in conditions and/or parameters which are expected where a contamination occurs as a result of an accident which do not occur where the contamination occurs as a result of sabotage. hi accordance with a first aspect of the present invention, there is provided a method of evaluating a water sample, comprising:
-obtaining at least a first data value of a first parameter of a water sample from a first sensor; and
-estimating a likelihood that at least a first condition exists or will exist in the water sample, based on at least the first data value of the first parameter.
Preferably, in the first aspect of the present invention, the method comprises obtaining data values for a plurality of parameters (e.g., from a plurality of sensors), and the factors on which the estimation is based include the data values for each of these parameters.
Optionally, in the first aspect of the present invention, the method may further comprise sensing whether the water sample is exhibiting the first condition, and the factors on which the estimation is based further include this sensing.
Optionally, in the first aspect of the present invention, the method further comprises sensing whether the water sample is exhibiting a second condition, and the factors on which the estimation is based further include this sensing. Preferably, in the first aspect of the present invention, the estimation is based on the results of determining which of a plurality of data value ranges for the first parameter the first data value or a first data quantity (the first data quantity being calculated based on a plurality of data values obtained from the first sensor, e.g. an average of such values) falls within (e.g., whether the first data value or first data quantity is or is not greater than a reference value, or within which of three or more ranges, such as "low", "normal" and "high" the first data value or first data quantity falls.
Optionally, in the first aspect of the present invention, the estimation is based on the results of analyzing the data values according to one of a number of processes (described in more detail below) which involve not only analyzing how the values relate to reference values or ranges, but also analyzing the tendencies of changes in the values. Preferably, the method is computer-implemented. In accordance with a second aspect of the present invention, there is provided an apparatus which comprises: at least a first sensor for detecting values of a first parameter of a water sample; a data evaluation component which receives sensor data from the first sensor and which generates data information based on evaluation of the sensor data; and at least a first report generating component which receives data information from the data evaluation component and expert information, and which generates first reports based on the expert information and the data information.
Preferably, the apparatus further comprises a second report generating component which receives information pertaining to the water sample or a body of water from which the water sample was taken, and expert information, and which generates second reports based on the expert information, the information pertaining to the water sample or the body of water and data information received from the data evaluation component. The result is that the second reports may be shifted from the first reports as a result of the information regarding the specific water sample or the body of water. For example, the information pertaining to the water sample or the body of water can include information as to reference values for the water sample or the body of water which differ from "normal" reference values for water (e.g., if it is observed over time that a particular parameter is generally higher than normal, and that such higher values are not indicative of any changes in the combination of conditions which exist, the ranges of values which are characterized as "low", "normal" and "high" can be adjusted appropriately in the second report-generating component).
Preferably, the apparatus further comprises a decision-making component which makes decisions based on data information from the data evaluation component, the first reports and the second reports. Preferably, the apparatus is capable of carrying out at least one of the methods described herein.
The methods and apparatuses according to the present invention can be used to evaluate data (1) to provide early warnings when there is a high likelihood of a contamination situation arising in the near future, (2) to advise that contamination is present, (3) to advise whether contamination is likely due to an intentional act, and/or (4) to provide other analyses of the system or the data. In a specific preferred aspect of the present invention, the data evaluation component takes an initial set of data values (obtained from at least one sensor), and removes all data values which exceed a maximum possible value or which are below a minimum possible value (i.e., to remove incorrect values, e.g., values which can only have been obtained as a result of a sensor error or the like). The data evaluation component preferably determines whether a significant number of the data values in the initial set are outside of an "acceptable" range. If a significant number of the data values in the initial set are within the acceptable range, the data evaluation component preferably generates a "basic record", which identifies a basic range (preferably within the acceptable range and which preferably encompasses fewer values than the acceptable range) within which a significant number of the data values in the initial set fall. The basic record is thus a baseline for the specific system being analyzed, against which subsequent "current records" can be compared, to help to see whether the data reflects a tendency of trending away from the original condition of the system, and possible movement toward a changed circumstance (and possibly an emergency situation). The data evaluation component preferably receives subsequent sets of data values, and examines whether significant quantities of data values are in specific ranges defined outside of the basic range and/or outside of the acceptable range. By evaluating the quantity of data values in a variety of such ranges established by the data evaluation component based on the data received, the data evaluation component selects from among different algorithms for generating data information in specific formats (examples of which are described in detail below), each format being useful in evaluating trends in the data values.
The invention may be more fully understood with reference to the accompanying drawings and the following detailed description of the invention.
Brief Description of the Drawing Figures; Fig. 1 is a schematic diagram depicting the structure of an embodiment of an inferencing engine for evaluating data according to an embodiment of the present invention.
Fig. 2 is a schematic flowchart depicting an algorithm for determining the segments included in a "final range" in accordance with an embodiment of the present invention.
Fig. 3 is a schematic diagram depicting the architecture of a DataAgent component according to an embodiment of the present invention. Fig. 4 is a schematic diagram depicting the architecture of an ArbiterAgent component of an inference engine according to an embodiment of the present invention.
Detailed Description of the Invention
As noted above, in accordance with a first aspect of the present invention, there is provided a method of evaluating a water sample, comprising:
-obtaining at least a first data value of a first parameter of a water sample from a first sensor; and
-estimating a likelihood that at least a first condition exists or will exist in the water sample, based on at least the first data value of the first parameter. In accordance with a first group of preferred embodiments according to the first aspect of the invention, one or more data values for the first parameter are collected. Each value can be evaluated to obtain a reading as to which of a plurality of ranges the value falls within, e.g., a "normal" range, a "high" range or a "low" range. Alternatively, where a plurality of values are collected, groups of such values (e.g., all values within a given time frame) can be used to generate a quantity (e.g., by taking a mean, the median, the mode, or by any other suitable calculation or method), and the quantity (or a plurality of quantities) can be evaluated to obtain a reading as to which of the plurality of ranges the quantity (or quantities) falls within. As noted above, a "reading" for a parameter can be derived in any desired manner, for example, by comparing to a reference value (or values) a single current value or an average of a plurality of recent values, or by any other kind of evaluation (e.g., calculations made when operating in a "tendency mode" as discussed below).
In accordance with aspects of the present invention in which a tendency mode is being employed, raw data incoming from one or more sensors is evaluated and converted to form statistical values. The first step in this process is to establish the framework of analysis by identifying the basic and acceptable ranges of statistical values. An "acceptable range" of statistical values for a water sample can be, e.g., a range of not less than a specific value, a range of not greater than a specific value, or a range of between (and including) minimum and maximum values. The "basic range" (or normal range) of statistical values is typically a range within the acceptable range. The acceptable and/or basic ranges may vary for different water samples. Preferably, the data evaluation component, the first report generating component, the second report generating component (if present) and the decision-making component (if present) are included on a single computer-readable medium (e.g., a computer-readable medium contained in a single computer or network), but alternatively, the respective
5 components can each be included on different computer-readable media, e.g., different computer-readable media on different computers, processors or devices, or can be included on one or more computer-readable media in any desired combinations.
As noted above, the at least one sensor collects data relating to at least one parameter, respectively, of or relating to the system. With respect to a system operating in a tendency
0 mode and which includes a first report generating component, a second report generating component and a decision-making component, the data evaluation component generates data information which includes analyses of the data in specific formats which are preferably sent to the first report generating component, the second report generating component and the decision-making component. The first report generating component generates first reports
5 based on (1) expert information relating to the type of water sample being evaluated and (2) data information received from the data evaluation component. The second report generating component generates second reports based on (1) expert information relating to the type of water sample being evaluated, (2) data information received from the data evaluation component, and (3) information pertaining to the specific water sample (as opposed to the
\0 type of system) being evaluated. As a result, the second reports may be shifted from the first reports, due to the fact that the second reports factor in information pertaining to the specific water sample, as well as expert information relating to the type of water sample.
As noted above, in one aspect of the present invention which employs a tendency mode, the data evaluation component takes an initial set of data values, removes all data
.5 values which exceed a maximum possible value or which are below a minimum possible value, and preferably determines whether a significant number of the data values in the initial set are outside of an "acceptable" range. If a significant number of the data values in the initial set are within the acceptable range, the data evaluation component preferably generates a "basic record", which identifies a basic range (preferably within the acceptable range and 0 which preferably encompasses fewer values than the acceptable range) within which a significant number of the data values in the initial set fall. The basic record is thus a baseline for the specific water sample being analyzed, against which subsequent "current records" can be compared, to help to see whether the data reflects a trending away from the original condition of the water sample, and possible movement toward a changed circumstance (and possibly an emergency situation). The data evaluation component preferably receives subsequent sets of data values, and examines whether significant quantities of data values are in specific ranges defined outside of the basic range and/or outside of the acceptable range. By evaluating the quantity of data values in a variety of such ranges established by the data evaluation based on the data received, the data evaluation component selects different algorithms for generating data information in specific formats (examples of which are described in detail below), each format being useful in evaluating tendencies in the data values.
The first report generating component (as well as the system-specific report generating component and/or the decision-making component, if present) contains arrays and/or networks of logic. For example, in some cases, the second report generating component includes logic to the effect that where a water sample has a specific condition, (1) the probability that a particular parameter will be higher than a particular upper reference value is a particular value, (2) the probability that such parameter will be not higher than the upper reference value and not less than a particular lower reference value is a second particular value, and (3) the probability that such parameter will be less than the lower reference value is a third particular value.
Below is a discussion of a specific example of an embodiment (referred to as an inference engine) according to an aspect of the present invention operating in a tendency mode. When operating in a tendency mode, the device provides tendency mode information as well as real mode information; in the case of an embodiment which operates only in a real mode, the device provides only real mode information. The inference engine of this embodiment includes a data evaluation component, a first report generating component and a decision-making component. In the discussion of this embodiment which follows, the data evaluation component which receives sensor data from the at least one sensor and which generates data information based on evaluation of the sensor data in the present embodiment is the "DataAgent"; the first report generating component in the present embodiment is the "ReasonNET"; and the decision-making component is the "ArbiterAgent." In this embodiment, ReasonNET is a Bayesian network design which is based on expert information.
The inference engine of this example corresponding to this embodiment receives substantially real-time data from one or more sensors, and expert information including basic information about normal values for monitoring statistics. Optionally, the inference engine may also receive manually entered data (this data component is optional, i.e., the system is able to make decisions when there is no manual data).
The structure of the inference engine according to this example corresponding to this embodiment is depicted in Fig. 1.
DataAgent receives information from one or more sensors, and/or from one or more data files, and places information in specific respective formats for receipt by ReasonNET.
In the real mode of this embodiment, DataAgent receives information from sensors, compares it with expert information, and generates a real mode record and a real mode output. In the real mode, the status is characterized as "normal" if a statistical value is within the acceptable range; the status is characterized as "high" if the statistical value is higher than the maximum value in the acceptable range; and the status is declared "low" if the statistical value is lower than the minimum value in the acceptable range.
In the tendency mode of this embodiment, DataAgent collects information from the sensors during a period of time (every T seconds) and compares it to basic records. Basic records, described below in more detail, function as baseline information for comparing later- obtained data. Based on such comparisons, DataAgent creates current records, decreasing current records and/or increasing current records (described below in more detail). If significant changes occur and a potential problem is detected, then DataAgent creates a status record for ReasonNET, and generates a status/color code record for ArbiterAgent.
In this embodiment, the tendency mode can be turned on or off, but the real mode is always on so that DataAgent always sends real data. The DataAgent processes data every T seconds.
The following discussion details analysis of data for a single parameter-other parameters for the water sample may be handled in an analogous way.
In this example according to this embodiment, initially, a basic record is created with respect to the real-time data received from each of one or more sensors (e.g., where a specific group of parameters are to be monitored, a basic record will be created for each of those parameters. Each of these records includes data set forth in a specific format, discussed in more detail below. In addition, a basic image may be created, which includes all of the basic records (e.g., the basic image includes all of the parameters being monitored). As discussed in more detail below, in specific circumstances, the basic image (or one or more basic records) for the water sample can be updated (i.e., replaced with a new basic image generated using current data). hi this example corresponding to this embodiment, a
MIN/MAX/Low/High/ Acceptable detection routine is performed for each parameter being monitored and/or evaluated. For each parameter being monitored or evaluated, a set of data values is received from the sensor for that parameter. Each data value is the value of the parameter detected by the sensor during a sub-interval (e.g., one second) within an initial time interval (e.g., five minutes). Each sub-interval within the initial time interval is a period of time such that the sub-intervals taken together sequentially comprise an entirety of the initial time interval (e.g., 300 sequential one second sub-intervals within an initial time interval of five minutes).
Then, each of the data values (among the set of data values for this parameter) is assigned to one category selected from among categories characterized as "MDSf", "Low", "Acceptable", "High" and "MAX". Each data value (i.e., if any) which is less than a minimum possible value is characterized as "MIN". Each data value which is greater than a maximum possible value is characterized as "MAX". Each data value which is within an acceptable range of values is characterized as "Acceptable". Each data value which is greater than or equal to the minimum possible value and less than the lowest value in the acceptable range is characterized as "Low". Each data value which is less than or equal to the maximum possible value and greater than the highest value in the acceptable range is characterized as "High".
The effect of assigning data values less than a minimum possible value to "MIN" and assigning data values greater than a maximum possible value to "MAX" according to the present embodiment is to eliminate such readings because they are clearly erroneous. This exclusion is done to eliminate data which is clearly incorrect, e.g., due to sensor error. In accordance with a preferred aspect according to the present invention, if the quantity or percentage of data values (from among the set of data values) which are assigned to "MDSf" (the "MIN value") for the parameter exceeds a "replace sensor-min" value (e.g., 10% of the total quantity of signals), a signal is generated which indicates that the sensor which generated the readings for that parameter should be replaced. "Replace sensor-min" values may differ depending on the particular parameter. Similarly, in a preferred aspect, if
5 the quantity or percentage of data values (from among the set of data values) which are assigned to "MAX" (the "MAX value") for the parameter exceeds a "replace sensor-max" value, a signal is generated which indicates that the sensor which generated the readings for that parameter should be replaced. "Replace sensor-max" values also may differ depending on the particular parameter.
0 The acceptable range of values described above is defined as a range of values between and including a lowest acceptable value and a highest acceptable value. The lowest acceptable value is a reference value which is considered by experts in the appropriate field to be the minimum normally acceptable value. The highest acceptable value is a reference value which is considered by experts to be the maximum normally acceptable value.
.5 Next, a determination is made as to whether either of the categories "Low" and
"High" has the most data values. If "Low" has more data values than each of "Acceptable" and "High", a color code indicator is characterized as "red", a status indicator is characterized as "decreasing", and another MIN/MAX/Low/High/ Acceptable detection routine is then performed.
£0 If "High" has at least as many data values as "Low", and more data values than
"Acceptable", the color code indicator is characterized as "red", the status indicator is characterized as "increasing" and another MIN/MAX/Low/High/Acceptable detection routine is then performed.
Otherwise (i.e., unless "Low" has more data values than each of "High" and
15 "Acceptable", or "High" has more data values than "Acceptable" and at least as many data values as "Low"), a basic record creation routine is then performed. In the basic record creation routine, the range of values within the "Acceptable" category for the parameter is divided into a number (e.g., 30, 40 or 60) of range segments. Preferably, the range segments each cover ranges of substantially equal size. Then, for each of the range segments, a
30 quantity of the data values which fall within the range segment is determined. Then a range segment having a maximum quantity of the data values is identified and characterized as Rmax. Rmax is assigned to a final range category. Then, a next range segment analysis is performed.
In a next range segment analysis, a next lower range segment is the range segment having values just below the lowest value within the final range, and a next higher range segment is the range segment having values just above the highest value in the final range (if all range segments have already been included in the final range, the next range segment analysis is concluded and, as described below, a final range comparison is performed next). If the next lower range segment has a greater quantity of data values than the quantity of data values in the next higher range segment (or if there are no remaining range segments having values higher than the final range), a determination is made as to whether the next lower range segment has a quantity of data values which is at least a minimum ratio (e.g., 0.7 or any other desired ratio) of the quantity of data values in Rmax; if so, the next lower range segment is added to the final range category and another next range segment analysis is performed next. If the next lower range segment does not have a greater quantity of data values than the quantity of data values in the next higher range segment (or if there are no remaining range segments having values lower than the final range), a determination is made as to whether the next higher range segment has a quantity of data values which is at least the minimum ratio of the quantity of data values in Rmax; if so, the next higher range segment is added to the final range category and another next range segment analysis is performed next. If the next lower range segment and the next higher range segment each have a quantity of data values which is less than the minimum ratio of the quantity of data values in Rmax, or if there is no next lower range segment and the next higher range segment has a quantity of data values which is less than the minimum ratio of the quantity of data values in Rmax, or if there is no next higher range segment and the next lower range segment has a quantity of data values which is less than the minimum ratio of the quantity of data values in Rmax, or if all range segments have already been included in the final range, a final range comparison routine is then performed.
In the final range comparison routine, a determination is made as to which of the range segments have a quantity of data values which is at least the minimum ratio of the quantity of data values in Rmax. Then a determination is made as to whether every range segment which has a quantity of data values which is at least the minimum ratio of the quantity of data values in Rmax is included in the final range. If not, the number of range segments is decreased by one and another basic record creation routine is performed next.
An example of an embodiment of an algorithm for determining the segments included in the "final range" is depicted in Fig. 2. If every range segment which has a quantity of data values which is at least the minimum ratio of the quantity of data values in Rmax is included in the final range, a determination is made as to the quantity of data values (from among the set of data values) falling within a Low range (the "Low value"), the quantity of data values falling within an X range (the "X value"), the quantity of data values falling within a Y range (the "Y value"), the quantity of data values falling within a Z range (the "Z value") and the quantity of data values falling within a High range (the "High value"). The Low range includes all values which are not less than the minimum possible value and which are less than the lowest value in the acceptable range. The X range includes all values which are not less than the lowest value in the acceptable range and which are less than the lowest value in the final range. The Y range includes all values which are within the final range. The Z range includes all values which are greater than the highest value in the final range and which are not greater than the highest value in the acceptable range. The High range includes all values which are not greater than the maximum possible value and which are greater than the highest value in the acceptable range. Optionally, in addition, a determination may be made as to the quantity of data values assigned to the "MIN" category (the MIN value) and the quantity of data values assigned to the "MAX" category (the MAX value).
For each set of data values relating to a specific parameter, a basic record is created. Each basic record contains the following components: -the parameter's name or identifier (e.g., a code or ID number);
-the "P-time", i.e., the period of time, in seconds, between each time that the parameter is to be detected (preferably, the P-time is input by the user);
-the "T-time", i.e., the period of time, in seconds, during which values are to be monitored to generate a "current record" (current records are described in detail below); -the Low value;
-the X value; -the Y value;
-the Z value; and
-the High value.
Optionally, the basic record may also include: -the MIN value; and
-the MAX value.
A similar basic record is created for each other parameter being detected. The basic records for the different parameters together make up a basic image.
After creating a basic record for a parameter, next, a current record creation routine is performed for that parameter. In the current record creation routine, a fresh set of data values for the parameter is received from the sensor for that parameter. As above, the following discussion focuses on the analysis of data for a single parameter-each of the other parameters can be handled in an analogous way. Each data value among the fresh set of data values is the value of the parameter detected by the sensor during a sub-interval (e.g., one second) within a current time interval (e.g., one minute). Each current time interval preferably follows immediately after the end of the previous time interval (i.e., immediately after a previous current time interval or, where there have been no previous current time intervals, immediately after the initial time interval). Each sub-interval within a current time interval is a period of time such that the sub-intervals taken together sequentially comprise an entirety of the current time interval (e.g., 60 sequential one second sub-intervals within a current time interval of one minute).
Then, a Low value, an X value, a Y value, a Z value and a High value are determined. The Low value is the quantity of data values within the fresh set of data values which fall within the Low range. The X value is the quantity of data values within the fresh set of data values which fall within the X range. The Y value is the quantity of data values within the fresh set of data values which fall within the Y range. The Z value is the quantity of data values within the fresh set of data values which fall within the Z range. The High value is the quantity of data values within the fresh set of data values which fall within the High range.
Optionally, in addition, a determination may be made as to the quantity of data values assigned to the "MIN" category (the MIN value) and the quantity of data values assigned to the "MAX" category (the MAX value). If the Low value is greater than each of the X value, the Y value, the Z value and the High value, the color code indicator is characterized as "red", the status indicator is characterized as "decreasing" and a decreasing current record creation routine (described below) is then performed. If the High value is greater than or equal to the Low value, and is greater than each of the X value, the Y value and the Z value, the color code indicator is characterized as "red", the status indicator is characterized as "increasing" and an increasing current record creation routine (described below) is then performed.
If the X value is greater than or equal to the Low value and greater than or equal to the High value, and is greater than each of the Y value and the Z value, the color code indicator is characterized as "yellow", the status indicator is characterized as "decreasing" and a decreasing current record creation routine is then performed.
If the Z value is greater than or equal to the Low value, greater than or equal to the X value, greater than or equal to the High value, and greater than the Y value, the color code indicator is characterized as "yellow", the status indicator is characterized as "increasing" and an increasing current record creation routine is then performed.
If the Y value is greater than or equal to the Low value, greater than or equal to the X value, greater than or equal to the Z value and greater than or equal to the High value, the color code indicator is characterized as "green", the status indicator is characterized as "normal" and another current record creation routine is performed next.
For each fresh set of data values relating to a specific parameter, a current record is created. Each current record contains the following components:
-the parameter's name or identifier;
-the Low value; -the X value;
-the Y value;
-the Z value; and
-the High value.
Optionally, the current record may also include: -the status indicator, i.e., "increasing", "decreasing" or "normal" (or corresponding symbols, e.g., "1" for "increasing", "2" for "decreasing" and "0" for "normal"); and -the color code indicator, i.e., "red", "orange", "yellow" or "green" (or corresponding symbols, e.g., "0" for "green", "1" for "yellow", "2" for "orange" and "3" for "red"). Optionally, the current record may also include: -the MIN value; and -the MAX value.
In performing a decreasing current record creation routine (referred to above), a new fresh set of data values for the parameter is received from the sensor for that parameter. As above, the following discussion focuses on the analysis of data for a single parameter-each of the other parameters can be handled in an analogous way. Each data value among the new fresh set of data values is the value of the parameter detected by the sensor during a sub- interval (e.g., one second) within a current time interval (e.g., one minute). Each current time interval preferably follows immediately after the end of the previous current time interval. Each sub-interval within a current time interval is a period of time such that the sub-intervals taken together sequentially comprise an entirety of the current time interval (e.g., 60 sequential one second sub-intervals within a current time interval of one minute).
Then, a new Low value, an Xl value, an X2 value, an X3 value, a new Y value, a new Z value and a new High value are determined. The new Low value is the quantity of data values within the new fresh set of data values which fall within the Low range. The Xl value is the quantity of data values within the new fresh set of data values which fall within a first portion of the X range. The X2 value is the quantity of data values within the new fresh set of data values which fall within a second portion of the X range, the second portion of the X range including values which are greater than values in the first portion of the X range. The X3 value is the quantity of data values within the new fresh set of data values which fall within a third portion of the X range, the third portion of the X range including values which are greater than values in the second portion of the X range. In a preferred representative example, the third portion of the X range is the highest approximately 50% of the values within the X range, the first portion of the X range is the lowest approximately 30% of the values within the X range, and the second portion of the X range is the remaining approximately 20% of the values within the X range. The new Y value is the quantity of data values within the new fresh set of data values which fall within the Y range. The new Z value is the quantity of data values within the new fresh set of data values which fall within the Z range. The new High value is the quantity of data values within the new fresh set of data values which fall within the High range.
Optionally, in addition, a determination may be made as to the quantity of data values in the new fresh set of data values assigned to the "MIN" category (the MIN value) and the quantity of data values in the new fresh set of data values assigned to the "MAX" category (the MAX value).
Then, if the new High value is greater than each of the new Low value, the Xl value, the X2 value, the X3 value, the new Y value and the new Z value, the color code indicator is characterized as "red", the status indicator is characterized as "increasing" and an increasing current record creation routine is performed next.
If the new Low value is greater than or equal to the new High value, and is greater than each of the Xl value, the X2 value, the X3 value, the new Y value and the new Z value, the color code indicator is characterized as "red", the status indicator is characterized as "decreasing" and another decreasing current record creation routine is performed next. If the new Z value is greater than or equal to the new High value and greater than or equal to the new Low value, and is greater than each of the Xl value, the X2 value, the X3 value and the new Y value, the color code indicator is characterized as "yellow", the status indicator is characterized as "increasing" and an increasing current record creation routine is performed next. If the Xl value is greater than or equal to the new Low value, greater than or equal to the new High value and greater than or equal to the new Z value, and is greater than each of the X2 value, the X3 value and the new Y value, the color code indicator is characterized as "orange", the status indicator is characterized as "decreasing" and another decreasing current record creation routine is performed next. If the X2 value is greater than or equal to the new Low value, greater than or equal to the new High value, greater than or equal to the new Z value and greater than or equal to the Xl value, and is greater than each of the X3 value and the new Y value, the color code indicator is characterized as "yellow", the status indicator is characterized as "decreasing" and another decreasing current record creation routine is performed next. If the X3 value is greater than or equal to the new Low value, greater than or equal to the new High value, greater than or equal to the new Z value, greater than or equal to the Xl value, greater than or equal to the X2 value, and greater than the new Y value, the color code indicator is characterized as "yellow", the status indicator is characterized as "decreasing" and another decreasing current record creation routine is performed next.
If the new Y value is greater than or equal to the new Low value, greater than or equal to the Xl value, greater than or equal to the X2 value, greater than or equal to the X3 value, greater than or equal to the new Z value and greater than or equal to the new High value, the color code indicator is characterized as "green", the status indicator is characterized as "normal" and another current record creation routine is performed next.
For each new fresh set of data values relating to a specific parameter, a decreasing current record is created. Each decreasing current record contains the following components:
-the parameter's name (e.g., heart rate) or identifier (e.g., a code or ID number);
-the new Low value;
-the Xl value;
-the X2 value; -the X3 value;
-the new Y value;
-the new Z value; and
-the new High value.
Optionally, the decreasing current record may also include: -the status indicator, i.e., "increasing", "decreasing" or "normal" (or corresponding symbols, e,g., "1" for "increasing, "2" for "decreasing" and "0" for "normal"); and
-the color code indicator, i.e., "red", "orange", "yellow" or "green" (or corresponding symbols, e.g., "0" for "green", "1" for "yellow", "2" for "orange" and "3" for "red").
Optionally, the decreasing current record may also include: -the new MIN value; and
-the new MAX value.
In performing an increasing current record creation routine (referred to above), a current fresh set of data values for the parameter is received from the sensor for that parameter. As above, the following discussion focuses on the analysis of data for a single parameter-each of the other parameters can be handled in an analogous way. Each data value among the current fresh set of data values is the value of the parameter detected by the sensor during a sub-interval (e.g., one second) within a current time interval (e.g., one minute). Each current time interval preferably follows immediately after the end of the previous current time interval. Each sub-interval within a current time interval is a period of time such that the sub- intervals taken together sequentially comprise an entirety of the current time interval (e.g., 60
5 sequential one second sub-intervals within a current time interval of one minute).
Then, a current Low value, a current X value, a current Y value, a Zl value, a Z2 value, a Z3 value and a current High value are determined. The current Low value is the quantity of data values within the current fresh set of data values which fall within the Low range. The current X value is the quantity of data values within the current fresh set of data
0 values which fall within the X range. The current Y value is the quantity of data values within the current fresh set of data values which fall within the Y range. The Zl value is the quantity of data values within the current fresh set of data values which fall within a first portion of the Z range. The Z2 value is the quantity of data values within the current fresh set of data values which fall within a second portion of the Z range, the second portion of the Z
L 5 range including values which are greater than values in the first portion of the Z range. The Z3 value is the quantity of data values within the current fresh set of data values which fall within a third portion of the Z range, the third portion of the Z range including values which are greater than values in the second portion of the Z range. In a preferred representative example, the first portion of the Z range is the lowest approximately 50% of the values within
.0 the Z range, the third portion of the Z range is the highest approximately 30% of the values within the Z range, and the second portion of the Z range is the remaining approximately 20% of the values within the Z range. The current High value is the quantity of data values within the current fresh set of data values which fall within the High range.
Optionally, in addition, a determination may be made as to the quantity of data values
25 assigned to the "MDSf" category (the MIN value) and the quantity of data values assigned to the "MAX" category (the MAX value).
Then, if the current Low value is greater than each of the current X value, the current Y value, the Zl value, the Z2 value, the Z3 value and the current High value, the color code indicator is characterized as "red", the status indicator is characterized as "decreasing" and a
30 decreasing current record creation routine is performed next.
If the current High value is greater than or equal to the current Low value, and is greater than each of the current X value, the current Y value, the Zl value, the Z2 value and the Z3 value, the color code indicator is characterized as "red", the status indicator is characterized as "increasing" and another increasing current record creation routine is performed next. If the current X value is greater than or equal to the current Low value and greater than or equal to the current High value, and is greater than each of the current Y value, the Zl value, the Z2 value and the Z3 value, the color code indicator is characterized as "yellow", the status indicator is characterized as "decreasing" and a decreasing current record creation routine is performed next. If the Z3 value is greater than or equal to the current Low value, greater than or equal to the current High value and greater than or equal to the current X value, and is greater than each of the current Y value, the Zl value and the Z2 value, the color code indicator is characterized as "orange", the status indicator is characterized as "increasing" and another increasing current record creation routine is performed next. If the Z2 value is greater than or equal to the current Low value, greater than or equal to the current High value, greater than or equal to the current X value and greater than or equal to the Z3 value, and is greater than each of the current Y value and the Zl value, the color code indicator is characterized as "yellow", the status indicator is characterized as "increasing" and another increasing current record creation routine is performed next. If the Zl value is greater than or equal to the current Low value, greater than or equal to the current High value, greater than or equal to the current X value, greater than or equal to the Z3 value, greater than or equal to the Z2 value, and greater than the current Y value, the color code indicator is characterized as "yellow", the status indicator is characterized as "increasing" and another increasing current record creation routine is performed next. If the current Y value is greater than or equal to the current Low value, greater than or equal to the current X value, greater than or equal to the Zl value, greater than or equal to the Z2 value, greater than or equal to the Z3 value and greater than or equal to the current High value, the color code indicator is characterized as "green", the status indicator is characterized as "normal" and another current record creation routine is performed next. For each current fresh set of data values relating to a specific parameter, an increasing current record is created. Each increasing current record contains the following components: -the parameter's name (e.g., heart rate) or identifier (e.g., a code or ID number);
-the current Low value;
-the current X value;
-the current Y value; -the Zl value;
-the Z2 value;
-the Z3 value; and
-the current High value.
Optionally, the increasing current record may also include: -the status indicator, i.e., "increasing", "decreasing" or "normal" (or corresponding symbols, e.g., "1" for "increasing, "2" for "decreasing" and "0" for "normal"); and
-the color code indicator, i.e., "red", "orange", "yellow" or "green" (or corresponding symbols, e.g., "0" for "green", "1" for "yellow", "2" for "orange" and "3" for "red").
Optionally, the increasing record may also include: -the MIN value; and
-the MAX value.
In the above discussion of this embodiment, various choices have been made regarding how the embodiment proceeds in the event that two or more values are equal (e.g., in the event that the X value and the Z value are equal, according to the discussion of the embodiment set forth above, the Z value controls, i.e., the status indicator is characterized as "increasing" and an increasing current record creation routine is performed next). However, in accordance with the present invention, the hierarchy as to which value controls in situations where any two or more values are equal can be set up in any other way (e.g., in the event that the X value and the Z value are equal, the X value can control, i.e., such that the status indicator would be characterized as "decreasing" and a decreasing current record creation routine would be performed next).
In accordance with the present embodiment, it is not necessary that any or all types of current records (i.e., including "current records", "decreasing current records" and "increasing current records") be retained after real mode output and optionally also tendency mode output (discussed in more detail below) are sent to the ArbiterAgent and the ReasonNET. For example, upon initiating a next routine, the previous current record, decreasing current record or increasing current record can optionally be discarded.
The current records, increasing current records and decreasing current records for all the different parameters being monitored or evaluated together make up a current image.
Below is a discussion of a second specific example of an embodiment according to 5 this aspect of the present invention, this second example being referred to below as the second embodiment.
The second embodiment is similar to the first embodiment described above, except that:
in the decreasing current record creation routine of the second embodiment:
0 -if the Xl value is greater than or equal to the new Low value, greater than or equal to the new High value and greater than or equal to the new Z value, and is greater than each of the X3 value, the X2 value and the new Y value, (1) the status indicator is characterized as "decreasing", (2) the third portion of the X range is increased to
[ 5 include all values which were within the second portion of the X range as well as all values which were within the third portion of the X range, (3) the first portion of the X range is divided into a first part and a second part, the first part having values lower than the second part, the first part becoming the first portion of the X range, the second part
>0 becoming the second portion of the X range, and (4) another decreasing current record creation routine is performed next;
-if the X2 value is greater than or equal to the new Low value, greater than or equal to the new High value, and greater than or equal to the new Z value and the Xl value, and is greater than each of the X3 value 25 and the new Y value, (1) the status indicator is characterized as
"decreasing", (2) the third portion of the X range is increased to include all values which were within the second portion of the X range as well as all values which were within the third portion of the X range, (3) the first portion of the X range is divided into a first part and a second part, the first part having values lower than the second part, the first part becoming the first portion of the X range, the second part becoming the second portion of the X range, and (4) another 5 decreasing current record creation routine is performed next;
if the X3 value is greater than or equal to the new Low value, greater than or equal to the new High value, greater than or equal to the X2 value, greater than or equal to the Xl value, greater than or equal to the new Z value, and greater than the new Y value, (1) the status indicator
0 is characterized as "decreasing", (2) the first portion of the X range is increased to include all values which were within the second portion of the X range as well as all values which were within the first portion of the X range, (3) the third portion of the X range is divided into a first part and a second part, the first part having values lower than the
L 5 ' second part, the first part becoming the second portion of the X range, the second part becoming the third portion of the X range, and (4) another decreasing current record creation routine is performed next;
and, in the increasing current record creation routine of the second embodiment:
>0 -if the Z3 value is greater than or equal to the current Low value, greater than or equal to the current High value and greater than or equal to the current X value, and is greater than each of the current Y value, the Zl value and the Z2 value, (1) the status indicator is characterized as "increasing", (2) the first portion of the Z range is increased to
25 include all values which were within the second portion of the Z range as well as all values which were within the first portion of the Z range, (3) the third portion of the Z range is divided into a first part and a second part, the first part having values lower than the second part, the first part becoming the second portion of the Z range, the second part becoming the third portion of the Z range, and (4) another increasing current record creation routine is performed next;
-if the Z2 value is greater than or equal to the current Low value, greater than or equal to the current High value, greater than or equal to the current X value and greater than or equal to the Z3 value, and is greater than each of the current Y value and the Zl value, (1) the status indicator is characterized as "increasing", (2) the first portion of the Z range is increased to include all values which were within the second portion of the Z range as well as all values which were within the first portion of the Z range, (3) the third portion of the Z range is divided into a first part and a second part, the first part having values lower than the second part, the first part becoming the second portion of the Z range, the second part becoming the third portion of the Z range, and (4) another increasing current record creation routine is performed next; and
-if the Zl value is greater than or equal to the current Low value, greater than or equal to the current High value, greater than or equal to the Z2 value, greater than or equal to the Z3 value, greater than or equal to the current X value, and greater than the current Y value, (1) the status indicator is characterized as "increasing", (2) the third portion of the Z range is increased to include all values which were within the second portion of the Z range as well as all values which were within the third portion of the Z range, (3) the first portion of the Z range is divided into a first part and a second part, the first part having values lower than the second part, the first part becoming the first portion of the Z range, the second part becoming the second portion of the Z range, and (4) another increasing current record creation routine is performed next. In the second embodiment as described above:
in the decreasing current record creation routine, the color code indicator is preferably characterized in other situations, i.e., including:
when the Xl value is greater than or equal to the new Low value,
5 greater than or equal to the new High value and greater than or equal to the new Z value, and is greater than each of the X3 value, the X2 value and the new Y value,
when the X2 value is greater than or equal to the new Low value, greater than or equal to the new High value, and greater than or equal
.0 to the new Z value and the Xl value, and is greater than each of the X3 value and the new Y value, and
when the X3 value is greater than or equal to the new Low value, greater than or equal to the new High value, greater than or equal to the X2 value, greater than or equal to the Xl value, greater than or equal to i 5 the new Z value, and greater than the new Y value; and
based on the new fresh set of data values, and
in the increasing current record creation routine, the color code indicator is preferably characterized in other situations, i.e., including:
when the Z3 value is greater than or equal to the current Low value,
20 greater than or equal to the current High value and greater than or equal to the current X value, and is greater than each of the current Y value, the Zl value and the Z2 value, when the Z2 value is greater than or equal to the current Low value, greater than or equal to the current High value, greater than or equal to the current X value and greater than or equal to the Z3 value, and is greater than each of the current Y value and the Zl value, and
when the Zl value is greater than or equal to the current Low value, greater than or equal to the current High value, greater than or equal to the Z2 value, greater than or equal to the Z3 value, greater than or equal to the current X value, and greater than the current Y value,
based on the current fresh set of data values.
For example, in one preferred aspect of the second embodiment:
-during a decreasing current record creation routine, the color code indicator is characterized based on the new fresh set of data values by further:
-determining a new X value, the new X value being a quantity of data values within the new fresh set of data values which fall within the X range; and
-then, after characterizing the status indicator in the decreasing current record creation routine being performed:
-if the status indicator is characterized as "decreasing" and the new X value is greater than the new Low value, the new Y value, the new Z value and the new High value, characterizing the color code indicator as "yellow", and
-if the status indicator is characterized as "increasing" and the new Z value is greater than the new Low value, the new X value, the new Y value and the new High value, characterizing the color code indicator as "yellow"; and
-during an increasing current record creation routine, the color code indicator is characterized based on the current fresh set of data values by further:
-determining a component Z value, the component Z value being a quantity of data values within the component fresh set of data values which fall within the Z range; and
-then, after characterizing the status indicator in the increasing current record creation routine being performed:
-if the status indicator is characterized as "decreasing" and the component X value is greater than the component Low value, the component Y value, the component Z value and the component High value, characterizing the color code indicator as "yellow", and
-if the status indicator is characterized as "increasing" and the component Z value is greater than the component Low value, the component X value, the component Y value and the component High value, characterizing the color code indicator as "yellow".
ond preferred aspect of the second embodiment,
-during a decreasing current record creation routine, the color code indicator is characterized based on the new fresh set of data values by further: -after determining a new Low value, an Xl value, an X2 value, an X3 value, a new Y value, a new Z value and a new High value,
-if the X3 value is greater than the new Low value, the Xl value, the X2 value, the new Y value, the new Z value and the new High value, 5 characterizing the color code indicator as "yellow";
-if the X2 value is greater than the new Low value, the Xl value, the new Y value, the new Z value and the new High value, and is not less than the X3 value, characterizing the color code indicator as "yellow";
-if the Xl value is greater than the new Low value, the new Y value,
0 the new Z value and the new High value, and is not less than the X2 value and the X3 value, characterizing the color code indicator as "orange"; and
-during an increasing current record creation routine, the color code indicator is characterized based on the current fresh set of data values by further:
5 -after determining a current Low value, a current X value, a current Y value, a Zl value, a Z2 value, a Z3 value and a current High value,
-if the Zl value is greater than the current Low value, the current X value, the current Y value, the Z2 value, the Z3 value and the current High value, characterizing the color code indicator as "yellow";
2.0 -if the Z2 value is greater than the current Low value, the current X value, the current Y value, the Z3 value and the current High value, and is not less than the Zl value, characterizing the color code indicator as "yellow"; -if the Z3 value is greater than the current Low value, the current X value, the current Y value and the current High value, and is not less than the Zl value and the Z2 value, characterizing the color code indicator as "orange".
The architecture of DataAgent according to the embodiments described above is depicted in Fig. 3
In accordance with a preferred aspect of the present invention, DataAgent provides the option of automatically updating the basic record for a particular parameter when the color code indicator for that parameter has been yellow for a particular number of consecutive times (e.g., 30 times), which number may vary depending on the particular parameter, and/or when the color code indicator for that parameter has been orange for a particular number of consecutive times (which number may vary depending on the particular parameter), hi addition, the number of consecutive times which prompts the basic record to be updated can differ depending on whether the yellow or orange color code is caused by elevated values (i.e., where the status indicator is "increasing") or depressed values (i.e., where the status indicator is "decreasing"). In order to update the basic record, the basic record creation subroutine is performed using fresh data from the sensor or sensors.
In accordance with a further preferred aspect of the present invention, DataAgent provides the option of automatically updating the basic record for a particular parameter when the values for that parameter have been within a range of a particular size (i.e., in which the highest value differs from the lowest value by not more than a particular amount), such that the basic range (and/or the acceptable range) can be modified so as to encompass such values. For example, even if the values have been consistently of quantities at which the color code is red, the basic range can be modified so as to encompass such values. Thus, where the acceptable range for a parameter is, e.g., from 60 to 100, and the water sample values have consistently been about 103, the acceptable range and the basic range for that parameter for the water sample can be set such that they encompass a value of 103.
Preferably, in addition, for each new fresh set of data values and for each current fresh set of data values (i.e., whenever a decreasing current record or an increasing current record is created), DataAgent also creates a temporary record. For each new fresh set of data values, i.e., when DataAgent is performing a decreasing current record creation routine, the temporary record which is created is a decreasing temporary record. A decreasing temporary record includes the parameter's name or identifier (e.g., a code or ID number), an N value, the Xl value, the X2 value, the X3 value and a C value. The Xl value, the X2 value and the X3 value are the same as those described above in connection with the decreasing current record creation routine. In a decreasing temporary record, the N value is equal to the new Low value determined in the decreasing current record creation routine. In a decreasing temporary record, the C value is equal to the sum of the new Y value, the new Z value and the new High value determined in the decreasing current record creation routine.
For each current fresh set of data values, i.e., when DataAgent is performing an increasing current record creation routine, the temporary record which is created is an increasing temporary record. An increasing temporary record includes the parameter's name or identifier (e.g., a code or ID number), an N value, the Zl value, the Z2 value, the Z3 value and a C value. The Zl value, the Z2 value and the Z3 value are the same as those described above in connection with the increasing current record creation routine, hi an increasing temporary record, the N value is equal to the sum of the new Low value, the new X value and the new Y value determined in the increasing current record creation routine, hi an increasing temporary record, the C value is equal to the new High value determined in the increasing current record creation routine.
Upon returning to a green color code, preferably, any and all temporary records are discarded.
In each of the embodiments described above, for each current record, each decreasing current record and each increasing current record, DataAgent also generates a real mode record. The real mode record for a particular parameter includes a reading ("high", "normal" or "low", and/or an identifier which signifies one of such readings, e.g., 0 for normal, 1 for high or increased and 2 for low or decreased), a color code, as well as the parameter's name or identifier (e.g., a code or ID number). If the color code indicator for a parameter is red and the status is "increasing", the parameter is given a "high" reading, and the color code is red. If the color code for the parameter is red and the status is "decreasing", the parameter is given a "low" reading, and the color code is red. Otherwise (i.e., if the color code indicator is green, yellow or orange), the parameter is given a "normal" reading, and the color code is green. The real mode record is sent to ArbiterAgent, preferably along with a mode value indicating that it is a real mode record.
In addition, DataAgent preferably also generates a real mode output which is preferably sent to ReasonNET, the real mode output preferably including the parameter's name or identifier and the reading ("high", "low" or "normal"-determined in the same way as described above with regard to the real mode record). hi each of the embodiments described above, for each current record, each decreasing current record and each increasing current record, DataAgent preferably also generates a status/color code record. The status/color code record for a particular parameter preferably includes a status value ("increasing", "decreasing" or "normal"), as well as the color code indicator (green, yellow, orange or red) and the parameter's name or identifier.
The status/color code record is sent to ArbiterAgent (preferably along with a tendency mode value indicating that it is a tendency mode reading). hi addition, one or more status records are preferably generated, which are preferably sent to ReasonNET. Preferably, a first status record includes (1) the parameter's name or identifier, and (2) a reading of "normal" if the color code indicator is green or yellow, a reading of "high" if the color code indicator is orange or red and the status is "increasing", or a reading of "low" if the color code indicator is orange or red and the status is "decreasing". The first status record is preferably used by ReasonNET to generate "orange" reports.
Preferably, a second status record includes (1) the parameter's name or identifier, and (2) a reading of "normal" if the color code indicator is green, a reading of "high" if the color code indicator is yellow, orange or red and the status is "increasing", or a reading of "low" if the color code indicator is yellow, orange or red and the status is "decreasing". The second status record is preferably used by ReasonNET to generate "yellow" reports.
When operating in an "orange" mode, the parameter can be considered to be: -"high" if the color code indicator is orange or red and the status is "increasing";
-"low" if the color code indicator is orange or red and the status is "decreasing"; and -"normal" otherwise (i.e., if the color code indicator is green or yellow).
Similarly, when operating in a "yellow" mode, the parameter can be considered to be:
-"high" if the color code indicator is yellow, orange or red and the status is "increasing";
-"low" if the color code indicator is yellow, orange or red and the status is
"decreasing"; and
-"normal" otherwise (i.e., if the color code indicator is green). The color codes can be interpreted as follows:
Green - normal mode: values are real (the data is not from tendency mode) and they are in a normal range;
Yellow - values have changed, but the changes are minor and values are within acceptable ranges.
Orange - values have increased or decreased more severely. DataAgent detects a potentially severe problem, but values are still within an acceptable range. Red - abnormal mode. The value is real so the data is not in tendency mode, and the value is outside of the acceptable range.
In accordance with a preferred aspect of the present invention, a tracking record can optionally be produced. A tracking record can include information as to the sequence of the ranges over time which had the maximum quantity of data values. For example, a tracking record might read "Y range, Y range, Y range, Y range, Z range, Z range, Z range, Z range,
Zl range, Z2 range, Z2 range, Z2 range, Z2 range, Z2 range, Z2 range, Z2 range, Zl range, Zl range, Zl range, Z2 range, Z2 range, Z2 range, Z3 range, Z3 range, Z3 range, High range, High range, High range, Z3 range, Z3 range, Z2 range, Z2 range, Zl range, Zl range, Y range, Y range, Y range, Y range, Y range, Y range, Y range, Y range, Y range, Y range, etc." Alternatively or additionally, the tracking record (or records) can include any other information, e.g., the quantity of data values in the range which had the maximum quantity of data values, and/or the quantity of data values in any other or all of the ranges. The ReasonNET component of the inference engine according to the embodiments described above is designed based on experts' knowledge of water bodies of the type being evaluated or monitored. For example, where the system is a lake in the Northeastern United States, expert data can include information based on existing knowledge and preferably the use of a Bayesian network frame. Input to ReasonNET can be in the form of expert data contained in a case file or a separate formatted case. ReasonNET receives and evaluates the expert data, as well as real mode outputs and status records generated by DataAgent to generate expert reports, which show probabilities of a number of possible conditions. For example, ReasonNET might be influenced by a combination of parameter readings which is highly indicative of a particular condition existing to generate an appropriately high probability as to whether that condition exists. ReasonNET sends the expert reports to ArbiterAgent.
In the case where ReasonNET is in the form of a Bayesian network, the Bayesian network is set up in any suitable format, a variety of which are well known to those of skill in
.5 the art. For example, in accordance with one format, each parameter or condition has associated with it a table of values, and the table can further include one or more columns which each indicate whether a particular condition exists, and a plurality of probability columns. Each row of each probability column indicates the probability that the parameter or condition to which the table applies will fall within a corresponding range (for example, the
.0 ranges can include "high", "normal", and "low") for that column when the condition or each of the conditions in that row are either present or not present as indicated by the responses in the respective columns. For example, a representative table is shown below for a parameter which is linked to condition X and to condition Y (i.e., in a Bayesian format, an arrow extends from condition X to the parameter and an arrow extends from condition Y to the
>5 parameter):
Parameter Name
30
Figure imgf000038_0001
The first row indicates that where condition X is present and condition Y is not present, the probability of the parameter being "high" is 5 %, the probability of the parameter being "normal" is 5 %, and the probability of the parameter being "low" is 90 %. As described above, Data Agent can provide information as to whether any particular parameter (e.g., heart
5 rate) is within any particular range, e.g., "high", "normal" and "low".
The ArbiterAgent of the embodiments described above makes decisions based on real mode records and status/color code records from said DataAgent and expert reports (from ReasonNET).
Fig. 4 depicts architecture of the ArbiterAgent according to the embodiments
.0 described above. hi the real mode of the embodiments described above, ArbiterAgent makes a final decision regarding each possible condition based on reports from ReasonNET and the real mode records received from DataAgent. A separate method of decision-making may be included in ArbiterAgent for each type of condition. These methods are based on expert
L 5 information, and are preferably adjusted as more experience is gained.
To avoid false alarms, a summary of probabilities for all readings is preferably considered before an alarm is requested. When abnormal values of the readings continue to increase/decrease, the severity of the problem may be increasing and an alarm may therefore be required. However, if the value of the readings is abnormal, but steady, an alarm may be
10 required once and a report indicating the problem can be generated continuously - but no further alarm is required.
While the ReasonNET component of each of the embodiments described above are Bayesian networks (which are conventionally known learning networks), either or both of these components can instead be any other learning network, e.g., a virtual vector machine, a
25 neural network, a discrimination function, a decision tree, an expectation-maximization on mixtures of Gaussians, a probability distribution function (PDF), estimation through moment computation, PDF estimation through histograms, etc.
In addition, while the basic records, current records, decreasing current records, increasing current records, status/color code records, status records, real mode records and
30 real mode outputs described above include specific data in specific respective formats, the types of data contained in each record and/or image can vary and can be in any desired format.
In addition, the time interval over which data is collected (and/or sub-intervals reflecting the period of time between each piece of data for a sensor) for generating a basic record can be selected from among a wide range of time periods, and/or can differ from one another for different parameters.
Also, the duration of time over which data is collected (and/or sub-intervals reflecting the period of time between each piece of data for a sensor) for generating current records, decreasing current records or increasing current records can be selected from among a wide range of time periods and/or can differ from one another. Further, data (e.g., status, color code and/or readings) can be grouped differently for sending to other components (e.g., DataAgent can send ReasonNET a status/color code record which is similar to the status/color code record sent to Arbiter Agent).
Also, the number of range segments can be selected from among a wide range of quantities; in addition, it is not necessary that each of the segments have an equal range from lowest value to highest value.
The "minimum ratio" used in the basic record creation routine (i.e., the "minimum ratio of the quantity of data values in Rmax") can be selected from within a wide range of quantities.
The percentages used in the decreasing current record creation routine (i.e., 30% for the first portion, 20% for the second portion and 50% for the third portion) and in the increasing current record creation routine (i.e., 50% for the first portion, 20% for the second portion and 30% for the third portion) can each vary from what is described in the above embodiments.
Also, the number of consecutive times for the color code to be yellow or the number of consecutive times for the color code to be orange for the option of automatically updating the basic record can be selected from among a wide range of values.
Any two or more functions can be conducted simultaneously, and/or any function can be conducted in a series of steps.

Claims

Claims
1. A method of evaluating a water sample, comprising:
(A) obtaining at least a first data value of a first parameter from a first sensor, said first sensor measuring said first parameter of a water sample, obtaining at least a second data value of a second parameter from a second sensor, said second sensor measuring said second parameter of said water sample, and estimating a likelihood that at least a first water condition under investigation exists or will exist in said water sample based on at least said first data value of said first parameter from said first sensor and said first data value of said first parameter from said first sensor; or
(B) obtaining at least a first data value of a first parameter from a first sensor, said first sensor measuring said first parameter of a water sample, sensing whether said water sample is exhibiting at least a first condition, and estimating a likelihood that at least a first water condition under investigation exists or will exist based on at least said first data value of said first parameter from said first sensor and on said sensing whether said water sample is exhibiting said first condition, or
(C) sensing whether said water sample is exhibiting at least a first condition, sensing whether said water sample is exhibiting at least a second condition, and estimating a likelihood that at least a first water condition under investigation exists or will exist in said water sample based on at least said sensing whether said water sample is exhibiting said first condition and said sensing whether said water sample is exhibiting said second condition.
2. A method as recited in claim 1, wherein said first water condition is said first water condition under investigation.
3. A method as recited in claim 1, wherein said estimating said likelihood that at least said first condition exists or will exist in said water sample comprises determining which of a plurality of data value ranges for said first parameter said first data value falls within.
4. A method as recited in claim 1, wherein said estimating said likelihood that at least said first condition exists or will exist in said water sample comprises determining which of a plurality of data value ranges for said first parameter a first data quantity falls within, said first data quantity being calculated based on a plurality of data values obtained from said first sensor.
5. A method as recited in claim 4, wherein said first data quantity is an average of a plurality of data values obtained from said first sensor.
6. A method as recited in claim 1, wherein said estimating said likelihood that at least said first condition exists or will exist in said water sample comprises:
-performing a MIN/MAX/Low/High/ Acceptable detection routine, said MESr/MAX/Low/High/ Acceptable detection routine comprising:
-receiving a set of data values for said first parameter;
-assigning each data value which is less than a minimum possible value to a first category;
-assigning each data value which is within an acceptable range of values to a second category;
-assigning each data value which is greater than a maximum possible value to a third category;
-assigning each data value which is at least as large as said minimum possible value and less than a lowest value in said acceptable range to a fourth category; and
-assigning each data value which is not greater than said maximum possible value and which is greater than the highest value in said acceptable range to a fifth category; -if a number of data values in said fourth category exceeds a number of data values in said second category and exceeds a number of data values in said fifth category, assigning a first level to a first indicator, assigning a first status to a second indicator and again performing said MIN/MAX/Low/High/ Acceptable detection routine;
-if said number of data values in said fifth category exceeds said number of data values in said second category and is at least as large as said number of data values in said fourth category, assigning said first level to said first indicator, assigning a second status to said second indicator and again performing said MIN/MAX/Low/High/ Acceptable detection routine;
-if said number of data values in said second category is at least as large as said number of data values in said fourth category and is at least as large as said number of data values in said fifth category, performing a basic record creation routine, said basic record creation routine comprising:
-dividing a range of values within said second category into a plural number of range segments;
-for each of said range segments, determining a quantity of said data values which fall within said range segment;
-characterizing a range segment having a maximum quantity of said data values as Rmax, and assigning said Rmax to a final range category;
-performing a next range segment analysis, said next range segment analysis comprising:
-if a next lower range segment has a greater quantity of data values than a quantity of data values in a next higher range segment, said next lower range segment including a highest range of values which is less than the lowest value in said final range category, said next higher range segment including a lowest range of values which is greater than the highest value in said final range category, and if said next lower range segment has a quantity of data values which is at least a minimum ratio of a quantity of data values in Rmax, adding said next lower range segment to said final range category and again performing said next range segment analysis;
-if said quantity of data values in said next higher range segment is at least as large as said quantity of data values in said next lower range segment and is at least said minimum ratio of said quantity of data values in Rmax, adding said next higher range segment to said final range category and again performing said next range segment analysis;
-if (a) said quantity of data values in said next lower range segment is greater than said quantity of data values in said next higher range segment, and said quantity of data values in said next lower range segment is less than said minimum ratio of said quantity of data values in Rmax, or (b) said quantity of data values in said next higher range segment is at least as large as said quantity of data values in said next lower range segment, and said quantity of data values in said next higher range segment is less than said minimum ratio of said quantity of data values in Rmax, performing a final range comparison routine, said final range comparison routine comprising:
-if at least one range segment has a quantity of data values which is at least said minimum ratio of said quantity of data values in Rmax and is not included in said final range, reducing said number of range segments by one and again performing said basic record creation routine; -determining a quantity of said data values falling within a Low range, a quantity of said data values falling within an X range, a quantity of said data values falling within a Y range, a quantity of said data values falling within a Z range and a quantity of said data values falling within a High range,
-said Low range including all values which are not less than said minimum possible value and which are less than said lowest value in said acceptable range,
-said X range including all values which are at least as large as said lowest value in said acceptable range and less than a lowest value in said final range,
-said Y range including all values which are within said final range,
-said Z range including all values which are greater than a highest value in said final range and not larger than said highest value in said acceptable range; and
-said High range including all values which are not greater than said maximum possible value and which are greater than said highest value in said acceptable range;
-performing a current record creation routine, said current record creation routine comprising:
-receiving a fresh set of data values for said first parameter;
-determining a Low value, said Low value being a quantity of data values within said fresh set of data values which fall within said Low range; -determining an X value, said X value being a quantity of data values within said fresh set of data values which fall within said X range;
-determining a Y value, said Y value being a quantity of data values within said fresh set of data values which fall within said Y range;
-determining a Z value, said Z value being a quantity of data values within said fresh set of data values which fall within said Z range;
-determining a High value, said High value being a quantity of data values within said fresh set of data values which fall within said High range;
-if said Low value is greater than each of said X value, said Y value, said Z value and said High value, assigning said first level to said first indicator, assigning said first status to said second indicator and proceeding to a decreasing current record creation routine;
-if said High value is at least as large as said Low value, and greater than each of said X value, said Y value and said Z value, assigning said first level to said first indicator, assigning said second status to said second indicator and proceeding to an increasing current record creation routine;
-if said X value is at least as large as said Low value and at least as large as said High value, and greater than each of said Y value and said Z value, assigning a second level to said first indicator, assigning said first status to said second indicator and proceeding to said decreasing current record creation routine;
-if said Z value is at least as large as said Low value, at least as large as said High value, at least as large as said X value and greater than said Y value, assigning said second level to said first indicator, assigning said second status to said second indicator and proceeding to said increasing current record creation routine; and
-if said Y value is at least as large as each of said Low value, said X value, said Z value and said High value, assigning a third level to said first indicator, assigning a third status to said second indicator and again performing said current record creation routine;
said decreasing current record creation routine comprising:
-receiving a new fresh set of data values for said first parameter;
-determining a new Low value, said new Low value being a quantity of data values within said new fresh set of data values which fall within said Low range;
-determining an Xl value, said Xl value being a quantity of data values within said new fresh set of data values which fall within a first portion of said X range;
-determining an X2 value, said X2 value being a quantity of data values within said new fresh set of data values which fall within a second portion of said X range, said second portion of said X range including values which are greater than values in said first portion of said X range;
-determining an X3 value, said X3 value being a quantity of data values within said new fresh set of data values which fall within a third portion of said X range, said third portion of said X range including values which are greater than values in said second portion of said X range; -determining a new Y value, said new Y value being a quantity of data values within said new fresh set of data values which fall within said Y range;
-determining a new Z value, said new Z value being a quantity of data values within said new fresh set of data values which fall within said Z range;
-determining a new High value, said new High value being a quantity of data values within said new fresh set of data values which fall within said High range;
-if said new High value is greater than each of said new Low value, said Xl value, said X2 value, said X3 value, said new Y value and said new Z value, assigning said first level to said first indicator, assigning said second status to said second indicator and proceeding to said increasing current record creation routine;
-if said new Low value is at least as large as said new High value, and greater than each of said Xl value, said X2 value, said X3 value, said new Y value and said new Z value, assigning said first level to said first indicator, assigning said first status to said second indicator and again performing said decreasing current record creation routine;
-if said new Z value is at least as large as said new High value, at least as large as said new Low value, and greater than each of said Xl value, said X2 value, said X3 value and said new Y value, assigning said second level to said first indicator, assigning said second status to said second indicator and proceeding to said increasing current record creation routine;
-if said Xl value is at least as large as said new Low value, at least as large as said new High value, at least as large as said new Z value, and greater than each of said X2 value, said X3 value and said new Y value, assigning a fourth level to said first indicator, assigning said first status to said second indicator and again performing said decreasing current record creation routine;
-if said X2 value is at least as large as said new Low value, at least as large as said new High value, at least as large as said new Z value, at least as large as said Xl value, and greater than each of said X3 value and said new Y value, assigning said second level to said first indicator, assigning said first status to said second indicator and again performing said decreasing current record creation routine;
-if said X3 value is at least as large as said new Low value, at least as large as said new High value, at least as large as said new Z value, at least as large as said Xl value, at least as large as said X2 value, and greater than said new Y value, assigning said second level to said first indicator, assigning said first status to said second indicator and again performing said decreasing current record creation routine; and
-if said new Y value is at least as large as each of said new Low value, said Xl value, said X2 value, said X3 value, said new Z value and said new High value, assigning said third level to said first indicator, assigning said third status to said second indicator and again performing said current record creation routine;
said increasing current record creation routine comprising:
-receiving a current fresh set of data values for said first parameter;
-determining a current Low value, said current Low value being a quantity of data values within said current fresh set of data values which fall within said Low range; -determining a current X value, said current X value being a quantity of data values within said current fresh set of data values which fall within said X range;
-determining a current Y value, said current Y value being a quantity of data values within said current fresh set of data values which fall within said Y range;
-determining a Zl value, said Zl value being a quantity of data values within said current fresh set of data values which fall within a first portion of said Z range;
-determining a Z2 value, said Z2 value being a quantity of data values within said current fresh set of data values which fall within a second portion of said Z range, said second portion of said Z range including values which are greater than values in said first portion of said Z range;
-determining a Z3 value, said Z3 value being a quantity of data values within said current fresh set of data values which fall within a third portion of said Z range, said third portion of said Z range including values which are greater than values in said second portion of said Z range;
-determining a current High value, said current High value being a quantity of data values within said current fresh set of data values which fall within said High range;
-if said current Low value is greater than each of said current X value, said current Y value, said Zl value, said Z2 value, said Z3 value and said current High value, assigning said first level to said first indicator, assigning said first status to said second indicator and proceeding to said decreasing current record creation routine; -if said current High value is at least as large as said current Low value, and greater than each of said current X value, said current Y value, said Zl value, said Z2 value and said Z3 value, assigning said first level to said first indicator, assigning said second status to said second indicator and again performing said increasing current record creation routine;
-if said current X value is at least as large as said current Low value, at least as large as said current High value, and greater than each of said current Y value, said Zl value, said Z2 value and said Z3 value, assigning said second level to said first indicator, assigning said first status to said second indicator and proceeding to said decreasing current record creation routine;
-if said Z3 value is at least as large as said current Low value, at least as large as said current High value, at least as large as said current X value, and greater than each of said current Y value, said Zl value and said Z2 value, assigning said fourth level to said first indicator, assigning said second status to said second indicator and again performing said increasing current record creation routine;
-if said Z2 value is at least as large as said current Low value, at least as large as said current High value, at least as large as said current X value, at least as large as said Z3 value, and greater than each of said current Y value and said Zl value, assigning said second level to said first indicator, assigning said second status to said second indicator and again performing said increasing current record creation routine;
-if said Zl value is at least as large as said current Low value, at least as large as said current High value, at least as large as said current X value, at least as large as said Z3 value, at least as large as said Z2 value, and greater than said current Y value, assigning said second level to said first indicator, assigning said second status to said second indicator and again performing said increasing current record creation routine; and
-if said current Y value is at least as large as each of said current Low value, said current X value, said Zl value, said Z2 value, said Z3 value and said current High value, assigning said third level to said first indicator, assigning said third status to said second indicator and again performing said current record creation routine.
7. A method as recited in claim 6, further comprising generating a signal if said number of data values in said first category exceeds an acceptable MESf value.
8. A method as recited in claim 6, further comprising generating a signal if said number of data values in said third category exceeds an acceptable MAX value.
9. A method as recited in claim 6, wherein said range segments each cover ranges of substantially equal size.
10. A method as recited in claim 6, wherein said third portion of said X range is the highest approximately 50% of the values within said X range, said first portion of said X range is the lowest approximately 30% of the values within said X range, and said second portion of said X range is the remaining approximately 20% of the values within said X range.
11. A method as recited in claim 6, wherein said first portion of said Z range is the lowest approximately 50% of the values within said Z range, said third portion of said Z range is the highest approximately 30% of the values within said Z range, and said second portion of said Z range is the remaining approximately 20% of the values within said Z range.
12. A method as recited in claim 1, wherein said estimating said likelihood that at least said first condition exists or will exist in said water sample comprises:
-performing a MESf/MAX/Low/High/Acceptable detection routine, said MIN/MAX/Low/High/Acceptable detection routine comprising:
-receiving a set of data values for said first parameter;
-assigning each data value which is less than a minimum possible value to a first category;
-assigning each data value which is within an acceptable range of values to a second category;
-assigning each data value which is greater than a maximum possible value to a third category;
-assigning each data value which is at least as large as said minimum possible value and less than a lowest value in said acceptable range to a fourth category; and
-assigning each data value which is not greater than said maximum possible value and which is greater than the highest value in said acceptable range to a fifth category;
-if a number of data values in said fourth category exceeds a number of data values in said second category and exceeds a number of data values in said fifth category, assigning a first level to a first indicator, assigning a first status to a second indicator and again performing said MIN/MAX/Low/High/Acceptable detection routine;
-if said number of data values in said fifth category exceeds said number of data values in said second category and is at least as large as said number of data values in said fourth category, assigning said first level to said first indicator, assigning a second status to said second indicator and again performing said MIN/MAX/Low/High/Acceptable detection routine; -if said number of data values in said second category is at least as large as said number of data values in said fourth category and is at least as large as said number of data values in said fifth category, performing a basic record creation routine, said basic record creation routine comprising:
-dividing a range of values within said second category into a plural number of range segments;
-for each of said range segments, determining a quantity of said data values which fall within said range segment;
-characterizing a range segment having a maximum quantity of said data values as Rmax, and assigning said Rmax to a final range category;
-performing a next range segment analysis, said next range segment analysis comprising:
-if a next lower range segment has a greater quantity of data values than a quantity of data values in a next higher range segment, said next lower range segment including a highest range of values which is less than the lowest value in said final range category, said next higher range segment including a lowest range of values which is greater than the highest value in said final range category, and if said next lower range segment has a quantity of data values which is at least a minimum ratio of a quantity of data values in Rmax, adding said next lower range segment to said final range category and again performing said next range segment analysis;
-if said quantity of data values in said next higher range segment is at least as large as said quantity of data values in said next lower range segment and is at least said minimum ratio of said quantity of data values in Rmax, adding said next higher range segment to said final range category and again performing said next range segment analysis;
-if (a) said quantity of data values in said next lower range segment is greater than said quantity of data values in said next higher range segment, and said quantity of data values in said next lower range segment is less than said minimum ratio of said quantity of data values in Rmax, or (b) said quantity of data values in said next higher range segment is at least as large as said quantity of data values in said next lower range segment, and said quantity of data values in said next higher range segment is less than said minimum ratio of said quantity of data values in Rmax, performing a final range comparison routine, said final range comparison routine comprising:
-if at least one range segment has a quantity of data values which is at least said minimum ratio of said quantity of data values in Rmax and is not included in said final range, reducing said number of range segments by one and again performing said basic record creation routine;
-determining a quantity of said data values falling within a Low range, a quantity of said data values falling within an X range, a quantity of said data values falling within a Y range, a quantity of said data values falling within a Z range and a quantity of said data values falling within a High range,
-said Low range including all values which are not less than said minimum possible value and which are less than said lowest value in said acceptable range,
-said X range including all values which are at least as large as said lowest value in said acceptable range and less than a lowest value in said final range,
-said Y range including all values which are within said final range,
-said Z range including all values which are greater than a highest value in said final range and not larger than said highest value in said acceptable range; and
-said High range including all values which are not greater than said maximum possible value and which are greater than said highest value in said acceptable range;
-performing a current record creation routine, said current record creation routine comprising:
-receiving a fresh set of data values for said first parameter;
-determining a Low value, said Low value being a quantity of data values within said fresh set of data values which fall within said Low range;
-determining an X value, said X value being a quantity of data values within said fresh set of data values which fall within said X range;
-determining a Y value, said Y value being a quantity of data values within said fresh set of data values which fall within said Y range;
-determining a Z value, said Z value being a quantity of data values within said fresh set of data values which fall within said Z range;
-determining a High value, said High value being a quantity of data values within said fresh set of data values which fall within said High range; -if said Low value is greater than each of said X value, said Y value, said Z value and said High value, assigning said first level to said first indicator, assigning said first status to said second indicator and proceeding to a decreasing current record creation routine;
-if said High value is at least as large as said Low value, and greater than each of said X value, said Y value and said Z value, assigning said first level to said first indicator, assigning said second status to said second indicator and proceeding to an increasing current record creation routine;
-if said X value is at least as large as said Low value and at least as large as said High value, and greater than each of said Y value and said Z value, assigning a second level to said first indicator, assigning said first status to said second indicator and proceeding to said decreasing current record creation routine;
-if said Z value is at least as large as said Low value, at least as large as said High value, at least as large as said X value and greater than said Y value, assigning said second level to said first indicator, assigning said second status to said second indicator and proceeding to said increasing current record creation routine; and
-if said Y value is at least as large as each of said Low value, said X value, said Z value and said High value, assigning a third level to said first indicator, assigning a third status to said second indicator and again performing said current record creation routine;
said decreasing current record creation routine comprising:
-receiving a new fresh set of data values for said first parameter; -determining a new Low value, said new Low value being a quantity of data values within said new fresh set of data values which fall within said Low range;
-determining an Xl value, said Xl value being a quantity of data values within said new fresh set of data values which fall within a first portion of said X range;
-determining an X2 value, said X2 value being a quantity of data values within said new fresh set of data values which fall within a second portion of said X range, said second portion of said X range including values which are greater than values in said first portion of said X range;
-determining an X3 value, said X3 value being a quantity of data values within said new fresh set of data values which fall within a third portion of said X range, said third portion of said X range including values which are greater than values in said second portion of said X range;
-determining a new Y value, said new Y value being a quantity of data values within said new fresh set of data values which fall within said Y range;
-determining a new Z value, said new Z value being a quantity of data values within said new fresh set of data values which fall within said Z range;
-determining a new High value, said new High value being a quantity of data values within said new fresh set of data values which fall within said High range;
-if said new High value is greater than each of said new Low value, said Xl value, said X2 value, said X3 value, said new Y value and said new Z value, assigning said first level to said first indicator, assigning said second status to said second indicator and proceeding to said increasing current record creation routine;
-if said new Low value is at least as large as said new High value, and greater than each of said Xl value, said X2 value, said X3 value, said new Y value and said new Z value, assigning said first level to said first indicator, assigning said first status to said second indicator and again performing said decreasing current record creation routine;
-if said new Z value is at least as large as said new High value, at least as large as said new Low value, and greater than each of said Xl value, said X2 value, said X3 value and said new Y value, assigning said second level to said first indicator, assigning said second status to said second indicator and proceeding to said increasing current record creation routine;
-if said Xl value is at least as large as said new Low value, at least as large as said new High value, at least as large as said new Z value, and greater than each of said X2 value, said X3 value and said new Y value, assigning said first status to said second indicator, modifying said third portion of said X range to include all values which were within said second portion of said X range as well as all values which were within said third portion of said X range, dividing said first portion of said X range into a first Xl part and a second Xl part, said first Xl part having values lower than said second Xl part, said first Xl part becoming said first portion of said X range, said second Xl part becoming said second portion of said X range, and again performing said decreasing current record creation routine;
-if said X2 value is at least as large as said new Low value, at least as large as said new High value, at least as large as said new Z value, at least as large as said Xl value, and greater than each of said X3 value and said new Y value, assigning said first status to said second indicator, modifying said third portion of said X range to include all values which were within said second portion of said X range as well as all values which were within said third portion of said X range, dividing said first portion of said X range into a first X2 part and a second X2 part, said first X2 part having values lower than said second X2 part, said first X2 part becoming said first portion of said X range, said second X2 part becoming said second portion of said X range, and again performing said decreasing current record creation routine;
-if said X3 value is at least as large as said new Low value, at least as large as said new High value, at least as large as said new Z value, at least as large as said Xl value, at least as large as said X2 value, and greater than said new Y value, assigning said first status to said second indicator, modifying said first portion of said X range to include all values which were within said second portion of said X range as well as all values which were within said first portion of said X range, dividing said third portion of said X range into a first X3 part and a second X3 part, said first X3 part having values lower than said second X3 part, said first X3 part becoming said second portion of said X range, said second X3 part becoming said third portion of said X range, and again performing said decreasing current record creation routine; and
-if said new Y value is at least as large as each of said new Low value, said Xl value, said X2 value, said X3 value, said new Z value and said new High value, assigning said third level to said first indicator, assigning said third status to said second indicator and again performing said current record creation routine;
said increasing current record creation routine comprising:
-receiving a current fresh set of data values for said first parameter;
-determining a current Low value, said current Low value being a quantity of data values within said current fresh set of data values which fall within said Low range;
-determining a current X value, said current X value being a quantity of data values within said current fresh set of data values which fall within said X range;
-determining a current Y value, said current Y value being a quantity of data values within said current fresh set of data values which fall within said Y range;
-determining a Zl value, said Zl value being a quantity of data values within said current fresh set of data values which fall within a first portion of said Z range;
-determining a Z2 value, said Z2 value being a quantity of data values within said current fresh set of data values which fall within a second portion of said Z range, said second portion of said Z range including values which are greater than values in said first portion of said Z range;
-determining a Z3 value, said Z3 value being a quantity of data values within said current fresh set of data values which fall within a third portion of said Z range, said third portion of said Z range including values which are greater than values in said second portion of said Z range;
-determining a current High value, said current High value being a quantity of data values within said current fresh set of data values which fall within said High range;
-if said current Low value is greater than each of said current X value, said current Y value, said Zl value, said Z2 value, said Z3 value and said current High value, assigning said first level to said first indicator, assigning said first status to said second indicator and proceeding to said decreasing current record creation routine;
-if said current High value is at least as large as said current Low value, and greater than each of said current X value, said current Y value, said Zl value, said Z2 value and said Z3 value, assigning said first level to said first indicator, assigning said second status to said second indicator and again performing said increasing current record creation routine;
-if said current X value is at least as large as said current Low value, at least as large as said current High value, and greater than each of said current Y value, said Zl value, said Z2 value and said Z3 value, assigning said second level to said first indicator, assigning said first status to said second indicator and proceeding to said decreasing current record creation routine;
-if said Z3 value is at least as large as said current Low value, at least as large as said current High value, at least as large as said current X value, and greater than each of said current Y value, said Zl value and said Z2 value, assigning said second status to said second indicator, modifying said first portion of said Z range to include all values which were within said second portion of said Z range as well as all values which were within said first portion of said Z range, dividing said third portion of said Z range into a first Z3 part and a second Z3 part, said first Z3 part having values lower than said second Z3 part, said first Z3 part becoming said second portion of said Z range, said second Z3 part becoming said third portion of said Z range, and again performing said increasing current record creation routine;
-if said Z2 value is at least as large as said current Low value, at least as large as said current High value, at least as large as said current X value, at least as large as said Z3 value, and greater than each of said Zl value and said current Y value, assigning said second status to said second indicator, modifying said first portion of said Z range to include all values which were within said second portion of said Z range as well as all values which were within said first portion of said Z range, dividing said third portion of said Z range into a first Z2 part and a second Z2 part, said first Z2 part having values lower than said second Z2 part, said first Z2 part becoming said second portion of said Z range, said second Z2 part becoming said third portion of said Z range, and again performing said increasing current record creation routine;
-if said Zl value is at least as large as said current Low value, at least as large as said current High value, at least as large as said current X value, at least as large as said Z3 value, at least as large as said Z2 value, and greater than said current Y value, assigning said second status to said second indicator, modifying said third portion of said Z range to include all values which were within said second portion of said Z range as well as all values which were within said third portion of said Z range, dividing said first portion of said Z range into a first Zl part and a second Zl part, said first Zl part having values lower than said second Zl part, said first Zl part becoming said first portion of said Z range, said second Zl part becoming said second portion of said Z range, and again performing said increasing current record creation routine; and
-if said current Y value is at least as large as each of said current Low value, said current X value, said Zl value, said Z2 value, said Z3 value and said current High value, assigning said third level to said first indicator, assigning said third status to said second indicator and again performing said current record creation routine.
13. A method as recited in claim 12, wherein said decreasing current record creation routine further comprises assigning a level to said first indicator: if said X3 value is at least as large as said new Low value, at least as large as said new High value, at least as large as said new Z value, at least as large as said Xl value, at least as large as said X2 value, and greater than said new Y value,
if said X2 value is at least as large as said new Low value, at least as large as said new High value, at least as large as said new Z value, at least as large as said Xl value, and greater than each of said X3 value and said new Y value,
and if said Xl value is at least as large as said new Low value, at least as large as said new High value, at least as large as said new Z value, and greater than each of said X2 value, said X3 value and said new Y value,
based on said new fresh set of data values,
and wherein said increasing current record creation routine further comprises assigning a level to said first indicator:
if said Z3 value is at least as large as said current Low value, at least as large as said current High value, at least as large as said current X value, and greater than each of said current Y value, said Zl value and said Z2 value,
if said Z2 value is at least as large as said current Low value, at least as large as said current High value, at least as large as said current X value, at least as large as said Z3 value, and greater than each of said Zl value and said current Y value, and
if said Zl value is at least as large as said current Low value, at least as large as said current High value, at least as large as said current X value, at least as large as said Z3 value, at least as large as said Z2 value, and greater than said current Y value,
based on said current fresh set of data values.
14. A method as recited in claim 12, wherein said assigning a level to said first indicator based on said new fresh set of data values during said decreasing current record creation routine comprises:
-determining a new X value, said new X value being a quantity of data values within said new fresh set of data values which fall within said X range; and
-after assigning a status to said second indicator in said decreasing current record creation routine,
-if said second indicator is assigned said first status and said new X value is at least as large as said new Low value, at least as large as said new Z value, at least as large as said new High value, and greater than said new Y value, assigning said second level to said first indicator;
-if said second indicator is assigned said second status and said new Z value is at least as large as said new Low value, at least as large as said new High value, and greater than each of said new X value and said new Y value, assigning said second level to said first indicator;
and wherein said assigning a level to said first indicator based on said current fresh set of data values during said increasing current record creation routine comprises:
-determining a new Z value, said new Z value being a quantity of data values within said current fresh set of data values which fall within said Z range; and
-after assigning a status to said second indicator in said increasing current record creation routine,
-if said second indicator is assigned said first status and said new X value is at least as large as said new Low value, at least as large as said new High value, and greater than said new Y value and said new Z value, assigning said second level to said first indicator,
-if said second indicator is assigned said second status and said new Z value is at least as large as said new Low value, at least as large as said new High value, at least as large as said new X value and greater than said new Y value, assigning said second level to said first indicator.
15. A method as recited in claim 12, wherein said assigning a level to said first indicator based on said new fresh set of data values during said decreasing current record creation routine comprises:
-after determining a new Low value, an Xl value, an X2 value, an X3 value, a new Y value, a new Z value and a new High value,
-if said Xl value is at least as large as said new Low value, at least as large as said new High value, at least as large as said new Z value, and greater than each of said X2 value, said X3 value and said new Y value, assigning a fourth level to said first indicator;
-if said X2 value is at least as large as said new Low value, at least as large as said new High value, at least as large as said Xl value, at least as large as said new Z value, and greater than each of said new Y value and said X3 value, assigning said second level to said first indicator;
-if said X3 value is at least as large as said new Low value, at least as large as said new High value, at least as large as said Xl value, at least as large as said X2 value, at least as large as said new Z value, and greater than said Y value, assigning said second level to said first indicator;
and wherein said assigning a level to said first indicator based on said current fresh set of data values during said increasing current record creation routine comprises:
-after determining a current Low value, a current X value, a current Y value, a Zl value, a Z2 value, a Z3 value and a current High value,
-if said Z3 value is at least as large as said current Low value, at least as large as said current High value, at least as large as said current X value, and greater than each of said current Y value, said Zl value and said Z2 value, assigning said fourth level to said first indicator;
-if said Z2 value is at least as large as said current Low value, at least as large as said current High value, at least as large as said current X value, at least as large as said Z3 value, and greater than each of said current Y value and said Zl value, assigning said second level to said first indicator; and
-if said Zl value is at least as large as said current Low value, at least as large as said current High value, at least as large as said current X value, at least as large as said Z3 value, at least as large as said Z2 value, and greater than said current Y value, assigning said second level to said first indicator.
16. A method as recited in claim 12, further comprising generating a signal if said number of data values in said first category exceeds an acceptable MIN value.
17. A method as recited in claim 12, further comprising generating a signal if said number of data values in said third category exceeds an acceptable MAX value.
18. A method as recited in claim 12, wherein said range segments each cover ranges of substantially equal size.
19. A method as recited in claim 12, wherein said third portion of said X range is the highest approximately 50% of the values within said X range, said first portion of said X range is the lowest approximately 30% of the values within said X range, and said second portion of said X range is the remaining approximately 20% of the values within said X range.
20. A method as recited in claim 12, wherein said first portion of said Z range is the lowest approximately 50% of the values within said Z range, said third portion of said Z range is the highest approximately 30% of the values within said Z range, and said second portion of said Z range is the remaining approximately 20% of the values within said Z range.
21. A method as recited in claim 1, wherein said estimating said likelihood that at least said first condition exists or will exist in said water sample comprises:
-receiving a set of data values for said first parameter; and
-performing a basic record creation sub-routine, said basic record creation sub-routine comprising:
-dividing an acceptable range of values into a plural number of range segments;
-for each of said range segments, determining a quantity of said data values which fall within said range segment;
-characterizing a range segment having a maximum quantity of said data values as Rmax, and assigning said Rmax to a final range category; and
-performing a next range segment analysis, said next range segment analysis comprising:
-if a next lower range segment has a greater quantity of data values than a quantity of data values in a next higher range segment, said next lower range segment including a highest range of values which is less than the lowest value in said final range category, said next higher range segment including a lowest range of values which is greater than the highest value in said final range category, and if said next lower range segment has a quantity of data values which is at least a minimum ratio of a quantity of data values in Rmax, adding said next lower range segment to said final range category and again performing said next range segment analysis;
-if said quantity of data values in said next higher range segment is at least as large as said quantity of data values in said next lower range segment and is at least said minimum ratio of said quantity of data values in Rmax, adding said next higher range segment to said final range category and again performing said next range segment analysis;
-if (a) said quantity of data values in said next lower range segment is greater than said quantity of data values in said next higher range segment, and said quantity of data values in said next lower range segment is less than said minimum ratio of said quantity of data values in Rmax, or (b) said quantity of data values in said next higher range segment is at least as large as said quantity of data values in said next lower range segment, and said quantity of data values in said next higher range segment is less than said minimum ratio of said quantity of data values in Rmax, performing a final range comparison routine, said final range comparison routine comprising:
-if at least one range segment has a quantity of data values which is at least said minimum ratio of said quantity of data values in Rmax and is not included in said final range, reducing said number of range segments by one and again performing said basic record creation routine.
22. A method as recited in claim 21, wherein said range segments each cover ranges of substantially equal size.
23. A method as recited in claim 21, further comprising:
-determining a quantity of said data values falling within a Low range, a quantity of said data values falling within an X range, a quantity of said data values falling within a Y range, a quantity of said data values falling within a Z range and a quantity of said data values falling within a High range,
-said Low range including all values which are not less than a minimum possible value and which are less than a lowest value in said acceptable range,
-said X range including all values which are at least as large as said lowest value in said acceptable range and less than a lowest value in said final range,
-said Y range including all values which are within said final range,
-said Z range including all values which are greater than a highest value in said final range and not larger than said highest value in said acceptable range; and
-said High range including all values which are not greater than a maximum possible value and which are greater than said highest value in said acceptable range.
24. A method as recited in claim 1, wherein said estimating said likelihood that at least said first condition exists or will exist in said water sample comprises:
-performing a current record creation routine, said current record creation routine comprising: -receiving a fresh set of data values for said first parameter;
-determining a Low value, said Low value being a quantity of data values within said fresh set of data values which fall within a Low range, said Low range including all values which are not less than a minimum possible value and which are less than a lowest value in an acceptable range,
-determining an X value, said X value being a quantity of data values within said fresh set of data values which fall within an X range, said X range including all values which are at least as large as said lowest value in said acceptable range and less than a lowest value in a Y range;
-determining a Y value, said Y value being a quantity of data values within said fresh set of data values which fall within said Y range;
-determining a Z value, said Z value being a quantity of data values within said fresh set of data values which fall within a Z range, said Z range including all values which are greater than a highest value in said Y range and not larger than a highest value in said acceptable range;
-determining a High value, said High value being a quantity of data values within said fresh set of data values which fall within a High range, said High range including all values which are not greater than a maximum possible value and which are greater than said highest value in said acceptable range;
-if said Low value is greater than each of said X value, said Y value, said Z value and said High value, proceeding to a decreasing current record creation routine;
-if said High value is at least as large as said Low value, and greater than each of said X value, said Y value and said Z value, proceeding to an increasing current record creation routine;
-if said X value is at least as large as said Low value and at least as large as said High value, and greater than each of said Y value and said Z value, proceeding to said decreasing current record creation routine;
-if said Z value is at least as large as said Low value, at least as large as said High value, at least as large as said X value and greater than said Y value, proceeding to said increasing current record creation routine; and
-if said Y value is at least as large as each of said Low value, said X value, said Z value and said High value, again performing said current record creation routine;
said decreasing current record creation routine comprising:
-receiving a new fresh set of data values for said first parameter;
-determining a new Low value, said new Low value being a quantity of data values within said new fresh set of data values which fall within said Low range;
-determining an Xl value, said Xl value being a quantity of data values within said new fresh set of data values which fall within a first portion of said X range;
-determining an X2 value, said X2 value being a quantity of data values within said new fresh set of data values which fall within a second portion of said X range, said second portion of said X range including values which are greater than values in said first portion of said X range; -determining an X3 value, said X3 value being a quantity of data values within said new fresh set of data values which fall within a third portion of said X range, said third portion of said X range including values which are greater than values in said second portion of said X range;
-determining a new Y value, said new Y value being a quantity of data values within said new fresh set of data values which fall within said Y range;
-determining a new Z value, said new Z value being a quantity of data values within said new fresh set of data values which fall within said Z range;
-determining a new High value, said new High value being a quantity of data values within said new fresh set of data values which fall within said High range;
-if said new High value is greater than each of said new Low value, said Xl value, said X2 value, said X3 value, said new Y value and said new Z value, proceeding to said increasing current record creation routine;
-if said new Low value is at least as large as said new High value, and greater than each of said Xl value, said X2 value, said X3 value, said new Y value and said new Z value, again performing said decreasing current record creation routine;
-if said new Z value is at least as large as said new High value, at least as large as said new Low value, and greater than each of said Xl value, said X2 value, said X3 value and said new Y value, proceeding to said increasing current record creation routine;
-if said Xl value is at least as large as said new Low value, at least as large as said new High value, at least as large as said new Z value, and greater than each of said X2 value, said X3 value and said new Y value, again performing said decreasing current record creation routine;
-if said X2 value is at least as large as said new Low value, at least as large as said new High value, at least as large as said new Z value, at least as large as said Xl value, and greater than each of said X3 value and said new Y value, again performing said decreasing current record creation routine;
-if said X3 value is at least as large as said new Low value, at least as large as said new High value, at least as large as said new Z value, at least as large as said Xl value, at least as large as said X2 value, and greater than said new Y value, again performing said decreasing current record creation routine; and
-if said new Y value is at least as large as each of said new Low value, said Xl value, said X2 value, said X3 value, said new Z value and said new High value, again performing said current record creation routine;
said increasing current record creation routine comprising:
-receiving a current fresh set of data values for said first parameter;
-determining a current Low value, said current Low value being a quantity of data values within said current fresh set of data values which fall within said Low range;
-determining a current X value, said current X value being a quantity of data values within said current fresh set of data values which fall within said X range;
-determining a current Y value, said current Y value being a quantity of data values within said current fresh set of data values which fall within said Y range;
-determining a Zl value, said Zl value being a quantity of data values within said current fresh set of data values which fall within a first portion of said Z range;
-determining a Z2 value, said Z2 value being a quantity of data values within said current fresh set of data values which fall within a second portion of said Z range, said second portion of said Z range including values which are greater than values in said first portion of said Z range;
-determining a Z3 value, said Z3 value being a quantity of data values within said current fresh set of data values which fall within a third portion of said Z range, said third portion of said Z range including values which are greater than values in said second portion of said Z range;
-determining a current High value, said current High value being a quantity of data values within said current fresh set of data values which fall within said High range;
-if said current Low value is greater than each of said current X value, said current Y value, said Zl value, said Z2 value, said Z3 value and said current High value, proceeding to said decreasing current record creation routine;
-if said current High value is at least as large as said current Low value, and greater than each of said current X value, said current Y value, said Zl value, said Z2 value and said Z3 value, again performing said increasing current record creation routine;
-if said current X value is at least as large as said current Low value, at least as large as said current High value, and greater than each of said current Y value, said Zl value, said Z2 value and said Z3 value, proceeding to said decreasing current record creation routine;
-if said Z3 value is at least as large as said current Low value, at least as large as said current High value, at least as large as said current X value, and greater than each of said current Y value, said Zl value and said Z2 value, again performing said increasing current record creation routine;
-if said Z2 value is at least as large as said current Low value, at least as large as said current High value, at least as large as said current X value, at least as large as said Z3 value, and greater than each of said current Y value and said Zl value, again performing said increasing current record creation routine;
-if said Zl value is at least as large as said current Low value, at least as large as said current High value, at least as large as said current X value, at least as large as said Z3 value, at least as large as said Z2 value, and greater than said current Y value, again performing said increasing current record creation routine; and
-if said current Y value is at least as large as each of said current Low value, said current X value, said Zl value, said Z2 value, said Z3 value and said current High value, again performing said current record creation routine.
25. A method as recited in claim 24, further comprising:
in said current record creation routine:
-if said Low value is greater than each of said X value, said Y value, said Z value and said High value, assigning said first level to said first indicator, assigning said first status to said second indicator; -if said High value is at least as large as said Low value, and greater than each of said X value, said Y value and said Z value, assigning said first level to said first indicator, assigning said second status to said second indicator;
-if said X value is at least as large as said Low value and at least as large as said High value, and greater than each of said Y value and said Z value, assigning said second level to said first indicator, assigning said first status to said second indicator;
-if said Z value is at least as large as said Low value, at least as large as said High value, at least as large as said X value and greater than said Y value, assigning said second level to said first indicator, assigning said second status to said second indicator; and
-if said Y value is at least as large as each of said Low value, said X value, said Z value and said High value, assigning said third level to said first indicator, assigning said third status to said second indicator;
decreasing current record creation routine:
-if said new High value is greater than each of said new Low value, said Xl value, said X2 value, said X3 value, said new Y value and said new Z value, assigning said first level to said first indicator, assigning said second status to said second indicator;
-if said new Low value is at least as large as said new High value, and greater than each of said Xl value, said X2 value, said X3 value, said new Y value and said new Z value, assigning said first level to said first indicator, assigning said first status to said second indicator;
-if said new Z value is at least as large as said new High value, at least as large as saiα new LOW value, and greater than each of said Xl value, said X2 value, said X3 value and said new Y value, assigning said second level to said first indicator, assigning said second status to said second indicator;
-if said Xl value is at least as large as said new Low value, at least as large as said new High value, at least as large as said new Z value, and greater than each of said X2 value, said X3 value and said new Y value, assigning said fourth level to said first indicator, assigning said first status to said second indicator;
-if said X2 value is at least as large as said new Low value, at least as large as said new High value, at least as large as said new Z value, at least as large as said Xl value, and greater than each of said X3 value and said new Y value, assigning said second level to said first indicator, assigning said first status to said second indicator;
-if said X3 value is at least as large as said new Low value, at least as large as said new High value, at least as large as said new Z value, at least as large as said Xl value, at least as large as said X2 value, and greater than said new Y value, assigning said second level to said first indicator, assigning said first status to said second indicator; and
-if said new Y value is at least as large as each of said new Low value, said Xl value, said X2 value, said X3 value, said new Z value and said new High value, assigning said third level to said first indicator, assigning said third status to said second indicator;
and in said increasing current record creation routine:
-if said current Low value is greater than each of said current X value, said current Y value, said Zl value, said Z2 value, said Z3 value and said current High value, assigning said first level to said first indicator, assigning said first status to said second indicator;
-if said current High value is at least as large as said current Low value, and greater than each of said current X value, said current Y value, said Zl value, said Z2 value and said Z3 value, assigning said first level to said first indicator, assigning said second status to said second indicator;
-if said current X value is at least as large as said current Low value, at least as large as said current High value, and greater than each of said current Y value, said Zl value, said Z2 value and said Z3 value, assigning said second level to said first indicator, assigning said first status to said second indicator;
-if said Z3 value is at least as large as said current Low value, at least as large as said current High value, at least as large as said current X value, and greater than each of said current Y value, said Zl value and said Z2 value, assigning said fourth level to said first indicator, assigning said second status to said second indicator;
-if said Z2 value is at least as large as said current Low value, at least as large as said current High value, at least as large as said current X value, at least as large as said Z3 value, and greater than each of said current Y value and said Zl value, assigning said second level to said first indicator, assigning said second status to said second indicator;
-if said Zl value is at least as large as said current Low value, at least as large as said current High value, at least as large as said current X value, at least as large as said Z3 value, at least as large as said Z2 value, and greater than said current Y value, assigning said second level to said first indicator, assigning said second status to said second indicator; and -if said current Y value is at least as large as each of said current Low value, said current X value, said Zl value, said Z2 value, said Z3 value and said current High value, assigning said third level to said first indicator, assigning said third status to said second indicator.
26. A method as recited in claim 24, wherein said third portion of said X range is the highest approximately 50% of the values within said X range, said first portion of said X range is the lowest approximately 30% of the values within said X range, and said second portion of said X range is the remaining approximately 20% of the values within said X range.
27. A method as recited in claim 24, wherein said first portion of said Z range is the lowest approximately 50% of the values within said Z range, said third portion of said Z range is the highest approximately 30% of the values within said Z range, and said second portion of said Z range is the remaining approximately 20% of the values within said Z range.
28. A method as recited in claim 1, wherein said estimating said likelihood that at least said first condition exists or will exist in said water sample comprises:
-performing a current record creation routine, said current record creation routine comprising:
-receiving a fresh set of data values for said first parameter;
-determining a Low value, said Low value being a quantity of data values within said fresh set of data values which fall within a Low range, said Low range including all values which are not less than a minimum possible value and which are less than a lowest value in an acceptable range,
-determining an X value, said X value being a quantity of data values within said fresh set of data values which fall within an X range, said X range including all values which are at least as large as said lowest value in said acceptable range and less than a lowest value in a Y range;
-determining a Y value, said Y value being a quantity of data values within said fresh set of data values which fall within said Y range;
-determining a Z value, said Z value being a quantity of data values within said fresh set of data values which fall within a Z range, said Z range including all values which are greater than a highest value in said Y range and not larger than a highest value in said acceptable range;
-determining a High value, said High value being a quantity of data values within said fresh set of data values which fall within a High range, said High range including all values which are not greater than a maximum possible value and which are greater than said highest value in said acceptable range;
-if said Low value is greater than each of said X value, said Y value, said Z value and said High value, proceeding to a decreasing current record creation routine;
-if said High value is at least as large as said Low value, and greater than each of said X value, said Y value and said Z value, proceeding to an increasing current record creation routine;
-if said X value is at least as large as said Low value and at least as large as said High value, and greater than each of said Y value and said Z value, proceeding to said decreasing current record creation routine;
-if said Z value is at least as large as said Low value, at least as large as said High value, at least as large as said X value and greater than said Y value, proceeding to said increasing current record creation routine; and -if said Y value is at least as large as each of said Low value, said X value, said Z value and said High value, again performing said current record creation routine;
said decreasing current record creation routine comprising:
-receiving a new fresh set of data values for said first parameter;
-determining a new Low value, said new Low value being a quantity of data values within said new fresh set of data values which fall within said Low range;
-determining an Xl value, said Xl value being a quantity of data values within said new fresh set of data values which fall within a first portion of said X range;
-determining an X2 value, said X2 value being a quantity of data values within said new fresh set of data values which fall within a second portion of said X range, said second portion of said X range including values which are greater than values in said first portion of said X range;
-determining an X3 value, said X3 value being a quantity of data values within said new fresh set of data values which fall within a third portion of said X range, said third portion of said X range including values which are greater than values in said second portion of said X range;
-determining a new Y value, said new Y value being a quantity of data values within said new fresh set of data values which fall within said Y range;
-determining a new Z value, said new Z value being a quantity of data values within said new fresh set of data values which fall within said Z range; -determining a new High value, said new High value being a quantity of data values within said new fresh set of data values which fall within said High range;
-if said new High value is greater than each of said new Low value, said Xl value, said X2 value, said X3 value, said new Y value and said new Z value, proceeding to said increasing current record creation routine;
-if said new Low value is at least as large as said new High value, and greater than each of said Xl value, said X2 value, said X3 value, said new Y value and said new Z value, again performing said decreasing current record creation routine;
-if said new Z value is at least as large as said new High value, at least as large as said new Low value, and greater than each of said Xl value, said X2 value, said X3 value and said new Y value, proceeding to said increasing current record creation routine;
-if said Xl value is at least as large as said new Low value, at least as large as said new High value, at least as large as said new Z value, and greater than each of said X2 value, said X3 value and said new Y value, modifying said third portion of said X range to include all values which were within said second portion of said X range as well as all values which were within said third portion of said X range, dividing said first portion of said X range into a first Xl part and a second Xl part, said first Xl part having values lower than said second Xl part, said first Xl part becoming said first portion of said X range, said second Xl part becoming said second portion of said X range, and again performing said decreasing current record creation routine;
-if said X2 value is at least as large as said new Low value, at least as large as said new High value, at least as large as said new Z value, at least as large as said Xl value, and greater than each of said X3 value and said new Y value, modifying said third portion of said X range to include all values which were within said second portion of said X range as well as all values which were within said third portion of said X range, dividing said first portion of said X range into a first X2 part and a second X2 part, said first X2 part having values lower than said second X2 part, said first X2 part becoming said first portion of said X range, said second X2 part becoming said second portion of said X range, and again performing said decreasing current record creation routine;
-if said X3 value is at least as large as said new Low value, at least as large as said new High value, at least as large as said new Z value, at least as large as said Xl value, at least as large as said X2 value, and greater than said new Y value, modifying said first portion of said X range to include all values which were within said second portion of said X range as well as all values which were within said first portion of said X range, dividing said third portion of said X range into a first X3 part and a second X3 part, said first X3 part having values lower than said X3 second part, said first X3 part becoming said second portion of said X range, said second X3 part becoming said third portion of said X range, and again performing said decreasing current record creation routine; and
-if said new Y value is at least as large as each of said new Low value, said Xl value, said X2 value, said X3 value, said new Z value and said new High value, again performing said current record creation routine;
said increasing current record creation routine comprising:
-receiving a current fresh set of data values for said first parameter;
-determining a current Low value, said current Low value being a quantity of data values within said current fresh set of data values which fall within said Low range;
-determining a current X value, said current X value being a quantity of data values within said current fresh set of data values which fall within said X range;
-determining a current Y value, said current Y value being a quantity of data values within said current fresh set of data values which fall within said Y range;
-determining a Zl value, said Zl value being a quantity of data values within said current fresh set of data values which fall within a first portion of said Z range;
-determining a 72 value, said Z2 value being a quantity of data values within said current fresh set of data values which fall within a second portion of said Z range, said second portion of said Z range including values which are greater than values in said first portion of said Z range;
-determining a Z3 value, said Z3 value being a quantity of data values within said current fresh set of data values which fall within a third portion of said Z range, said third portion of said Z range including values which are greater than values in said second portion of said Z range;
-determining a current High value, said current High value being a quantity of data values within said current fresh set of data values which fall within said High range;
-if said current Low value is greater than each of said current X value, said current Y value, said Zl value, said Z2 value, said Z3 value and said current High value, proceeding to said decreasing current record creation routine; -if said current High value is at least as large as said current Low value, and greater than each of said current X value, said current Y value, said Zl value, said Z2 value and said Z3 value, again performing said increasing current record creation routine;
-if said current X value is at least as large as said current Low value, at least as large as said current High value, and greater than each of said current Y value, said Zl value, said Z2 value and said Z3 value, proceeding to said decreasing current record creation routine;
-if said Z3 value is at least as large as said current Low value, at least as large as said current High value, at least as large as said current X value, and greater than each of said current Y value, said Zl value and said Z2 value, modifying said first portion of said Z range to include all values which were within said second portion of said Z range as well as all values which were within said first portion of said Z range, dividing said third portion of said Z range into a first Z3 part and a second Z3 part, said first Z3 part having values lower than said second Z3 part, said first Z3 part becoming said second portion of said Z range, said second Z3 part becoming said third portion of said Z range, and again performing said increasing current record creation routine;
-if said Z2 value is at least as large as said current Low value, at least as large as said current High value, at least as large as said current X value, at least as large as said Z3 value, and greater than each of said Zl value and said current Y value, modifying said first portion of said Z range to include all values which were within said second portion of said Z range as well as all values which were within said first portion of said Z range, dividing said third portion of said Z range into a first Z2 part and a second Z2 part, said first Z2 part having values lower than said second Z2 part, said first Z2 part becoming said second portion of said Z range, said second Z2 part becoming said third portion of said Z range, and again performing said increasing current record creation routine;
-if said Zl value is at least as large as said current Low value, at least as large as said current High value, at least as large as said current X value, at least as large as said Z3 value, at least as large as said Z2 value, and greater than said current Y value, modifying said third portion of said Z range to include all values which were within said second portion of said Z range as well as all values which were within said third portion of said Z range, dividing said first portion of said Z range into a first Zl part and a second Zl part, said first Zl part having values lower than said second Zl part, said first Zl part becoming said first portion of said Z range, said second Zl part becoming said second portion of said Z range, and again performing said increasing current record creation routine; and
-if said current Y value is at least as large as each of said current Low value, said current X value, said Zl value, said Z2 value, said Z3 value and said current High value, again performing said current record creation routine.
29. A method as recited in claim 28, further comprising:
in said current record creation routine:
-if said Low value is greater than each of said X value, said Y value, said Z value and said High value, assigning said first level to said first indicator, assigning said first status to said second indicator;
-if said High value is at least as large as said Low value, and greater than each of said X value, said Y value and said Z value, assigning said first level to said first indicator, assigning said second status to said second indicator;
-if said X value is at least as large as said Low value and at least as large as said High value, and greater than each of said Y value and said Z value, assigning said second level to said first indicator, assigning said first status to said second indicator;
-if said Z value is at least as large as said Low value, at least as large as said High value, at least as large as said X value and greater than said Y value, assigning said second level to said first indicator, assigning said second status to said second indicator; and
-if said Y value is at least as large as each of said Low value, said X value, said Z value and said High value, assigning said third level to said first indicator, assigning said third status to said second indicator;
decreasing current record creation routine:
-if said new High value is greater than each of said new Low value, said Xl value, said X2 value, said X3 value, said new Y value and said new Z value, assigning said first level to said first indicator, assigning said second status to said second indicator;
-if said new Low value is at least as large as said new High value, and greater than each of said Xl value, said X2 value, said X3 value, said new Y value and said new Z value, assigning said first level to said first indicator, assigning said first status to said second indicator;
-if said new Z value is at least as large as said new High value, at least as large as said new Low value, and greater than each of said Xl value, said X2 value, said X3 value and said new Y value, assigning said second level to said first indicator, assigning said second status to said second indicator;
-if said Xl value is at least as large as said new Low value, at least as large as said new High value, at least as large as said new Z value, and greater than each of said X2 value, said X3 value and said new Y value, assigning said first status to said second indicator;
-if said X2 value is at least as large as said new Low value, at least as large as said new High value, at least as large as said new Z value, at least as large as said Xl value, and greater than each of said X3 value and said new Y value, assigning said first status to said second indicator;
-if said X3 value is at least as large as said new Low value, at least as large as said new High value, at least as large as said new Z value, at least as large as said Xl value, at least as large as said X2 value, and greater than said new Y value, assigning said first status to said second indicator;
-if said new Y value is at least as large as each of said new Low value, said Xl value, said X2 value, said X3 value, said new Z value and said new High value, assigning said third level to said first indicator, assigning said third status to said second indicator;
-determining a new X value, said new X value being a quantity of data values within said new fresh set of data values which fall within said X range; and
-after assigning a status to said second indicator in said decreasing current record creation routine,
-if said second indicator is assigned said first status and said new X value is at least as large as said new Low value, at least as large as said new Z value, at least as large as said new High value, and greater than said new Y value, assigning said second level to said first indicator;
-if said second indicator is assigned said second status and said new Z value is at least as large as said new Low value, at least as large as said new High value, and greater than each of said new X value and said new Y value, assigning said second level to said first indicator;
and in said increasing current record creation routine:
-if said current Low value is greater than each of said current X value, said current Y value, said Zl value, said Z2 value, said Z3 value and said current High value, assigning said first level to said first indicator, assigning said first status to said second indicator;
-if said current High value is at least as large as said current Low value, and greater than each of said current X value, said current Y value, said Zl value, said Z2 value and said Z3 value, assigning said first level to said first indicator, assigning said second status to said second indicator;
-if said current X value is at least as large as said current Low value, at least as large as said current High value, and greater than each of said current Y value, said Zl value, said Z2 value and said Z3 value, assigning said second level to said first indicator, assigning said first status to said second indicator;
-if said Z3 value is at least as large as said current Low value, at least as large as said current High value, at least as large as said current X value, and greater than each of said current Y value, said Zl value and said Z2 value, assigning said second status to said second indicator;
-if said Z2 value is at least as large as said current Low value, at least as large as said current High value, at least as large as said current X value, at least as large as said Z3 value, and greater than each of said current Y value and said Zl value, assigning said second status to said second indicator; -if said Zl value is at least as large as said current Low value, at least as large as said current High value, at least as large as said current X value, at least as large as said Z3 value, at least as large as said Z2 value, and greater than said current Y value, assigning said second status to said second indicator; and
-if said current Y value is at least as large as each of said current Low value, said current X value, said Zl value, said Z2 value, said Z3 value and said current High value, assigning said third level to said first indicator, assigning said third status to said second indicator;
-determining a new Z value, said new Z value being a quantity of data values within said current fresh set of data values which fall within said Z range; and
-after assigning a status to said second indicator in said increasing current record creation routine,
-if said second indicator is assigned said first status and said new X value is at least as large as said new Low value, at least as large as said new High value, and greater than said new Y value and said new Z value, assigning said second level to said first indicator,
-if said second indicator is assigned said second status and said new Z value is at least as large as said new Low value, at least as large as said new High value, at least as large as said new X value and greater than said new Y value, assigning said second level to said first indicator.
30. A method as recited in claim 28, further comprising:
in said current record creation routine:
-if said Low value is greater than each of said X value, said Y value, said Z value and said High value, assigning said first level to said first indicator, assigning said first status to said second indicator;
-if said High value is at least as large as said Low value, and greater than each of said X value, said Y value and said Z value, assigning said first level to said first indicator, assigning said second status to said second indicator;
-if said X value is at least as large as said Low value and at least as large as said High value, and greater than each of said Y value and said Z value, assigning said second level to said first indicator, assigning said first status to said second indicator;
-if said Z value is at least as large as said Low value, at least as large as said High value, at least as large as said X value and greater than said Y value, assigning said second level to said first indicator, assigning said second status to said second indicator; and
-if said Y value is at least as large as each of said Low value, said X value, said Z value and said High value, assigning said third level to said first indicator, assigning said third status to said second indicator;
decreasing current record creation routine:
-if said new High value is greater than each of said new Low value, said Xl value, said X2 value, said X3 value, said new Y value and said new Z value, assigning said first level to said first indicator, assigning said second status to said second indicator;
-if said new Low value is at least as large as said new High value, and greater than each of said Xl value, said X2 value, said X3 value, said new Y value and said new Z value, assigning said first level to said first indicator, assigning said first status to said second indicator;
-if said new Z value is at least as large as said new High value, at least as large as said new Low value, and greater than each of said Xl value, said X2 value, said X3 value and said new Y value, assigning said second level to said first indicator, assigning said second status to said second indicator;
-if said Xl value is at least as large as said new Low value, at least as large as said new High value, at least as large as said new Z value, and greater than each of said X2 value, said X3 value and said new Y value, assigning said fourth level to said first indicator, assigning said first status to said second indicator;
-if said X2 value is at least as large as said new Low value, at least as large as said new High value, at least as large as said new Z value, at least as large as said Xl value, and greater than each of said X3 value and said new Y value, assigning said second level to said first indicator, assigning said first status to said second indicator;
-if said X3 value is at least as large as said new Low value, at least as large as said new High value, at least as large as said new Z value, at least as large as said Xl value, at least as large as said X2 value, and greater than said new Y value, assigning said second level to said first indicator, assigning said first status to said second indicator; and
-if said new Y value is at least as large as each of said new Low value, said Xl value, said X2 value, said X3 value, said new Z value and said new High value, assigning said third level to said first indicator, assigning said third status to said second indicator;
and in said increasing current record creation routine: -it saiα current Low value is greater than each of said current X value, said current Y value, said Zl value, said Z2 value, said Z3 value and said current High value, assigning said first level to said first indicator, assigning said first status to said second indicator;
-if said current High value is at least as large as said current Low value, and greater than each of said current X value, said current Y value, said Zl value, said Z2 value and said Z3 value, assigning said first level to said first indicator, assigning said second status to said second indicator;
-if said current X value is at least as large as said current Low value, at least as large as said current High value, and greater than each of said current Y value, said Zl value, said Z2 value and said Z3 value, assigning said second level to said first indicator, assigning said first status to said second indicator;
-if said Z3 value is at least as large as said current Low value, at least as large as said current High value, at least as large as said current X value, and greater than each of said current Y value, said Zl value and said Z2 value, assigning said fourth level to said first indicator, assigning said second status to said second indicator;
-if said Z2 value is at least as large as said current Low value, at least as large as said current High value, at least as large as said current X value, at least as large as said Z3 value, and greater than each of said current Y value and said Zl value, assigning said second level to said first indicator, assigning said second status to said second indicator;
-if said Zl value is at least as large as said current Low value, at least as large as said current High value, at least as large as said current X value, at least as large as said Z3 value, at least as large as said Z2 value, and greater than said current Y value, assigning said second level to said first indicator, assigning said second status to said second indicator; and
-if said current Y value is at least as large as each of said current Low value, said current X value, said Zl value, said Z2 value, said Z3 value and said current High value, assigning said third level to said first indicator, assigning said third status to said second indicator;
-determining a new Z value, said new Z value being a quantity of data values within said current fresh set of data values which fall within said Z range; and
-after assigning a status to said second indicator in said increasing current record creation routine,
-if said second indicator is assigned said first status and said new X value is at least as large as said new Low value, at least as large as said new High value, and greater than said new Y value and said new Z value, assigning said second level to said first indicator,
-if said second indicator is assigned said second status and said new Z value is at least as large as said new Low value, at least as large as said new High value, at least as large as said new X value and greater than said new Y value, assigning said second level to said first indicator.
31. A method as recited in claim 1, wherein said estimating said likelihood that at least said first condition exists or will exist in said water sample comprises:
-receiving a set of first data values for said first parameter, said first data values being generated over a first period of time between a beginning of said first period of time and an end of said first period of time;
-assigning each of said first data values to at least one of at least three initial ranges of values;
-identifying at least one first data set maximum range, each said first data set maximum range being one of said initial ranges which has a maximum number of said first data values;
-receiving a set of second data values for said first parameter, said second data values being generated over a second period of time, at least a portion of said second period of time being subsequent to said end of said first period of time;
-assigning each of said second data values to at least one of at least three later ranges of values;
-identifying at least one second data set maximum range, each said second data set maximum range being one of said later ranges which has a maximum number of said second data values.
32. A method as recited in claim 31, further comprising comparing said at least one second data set maximum range with said at least one first data set maximum range.
33. A method as recited in claim 32, wherein said comparing said at least one second data set maximum range with said at least one first data set maximum range comprises determining whether said at least one second data set maximum range is substantially the same as said at least one first data set maximum range.
34. A method as recited in claim 32, wherein said comparing said at least one second data set maximum range with said at least one first data set maximum range comprises determining whether said at least one second data set maximum range differs from said at least one first data set maximum range.
35. A method as recited in claim 32, wherein said comparing said at least one second data set maximum range with said at least one first data set maximum range comprises determining whether at least a portion of said at least one second data set maximum range overlaps with at least a portion of said at least one first data set maximum range.
36. A method as recited in claim 32, wherein said comparing said at least one second data set maximum range with said at least one first data set maximum range comprises determining whether said at least one second data set maximum range encompasses said at least one first data set maximum range.
37. A method as recited in claim 32, wherein said comparing said at least one second data set maximum range with said at least one first data set maximum range comprises determining whether said at least one first data set maximum range encompasses said at least one second data set maximum range.
38. A method as recited in claim 31, wherein said initial ranges of values are substantially similar to said later ranges of values.
39. A method as recited in claim 38, further comprising receiving a set of third data values, and
-if said second data set maximum range is different from said first data set maximum range, assigning each of said third data values to at least one of a group of current ranges of values, said current ranges of values being the same as said at least three later ranges, except that said second data set maximum range is divided into at least two current ranges;
-if said second data set maximum range is the same as said first data set maximum range, assigning each of said third data values to at least one of said at least three later ranges.
40. A method as recited in claim 39, further comprising identifying at least one third data set maximum range, each said third data set maximum range being one of said current ranges of values which has a maximum number of said third data values.
41. A method as recited in claim 31, wherein said at least three initial ranges of values are the same as said at least three later ranges of values.
42. A method as recited in claim 31, wherein endpoints of a basic value range, said basic value range being one of said initial ranges of values, are determined by:
-for each of a number of range segments, determining a quantity of a set of basic data values which fall within said range segment;
-characterizing a range segment having a maximum quantity of said basic data values as Rmax, and assigning said Rmax to a final range category; and
-performing a next range segment analysis, said next range segment analysis comprising:
-if a next lower range segment has a greater quantity of basic data values than a quantity of basic data values in a next higher range segment, said next lower range segment including a highest range of values which is less than the lowest value in said final range category, said next higher range segment including a lowest range of values which is greater than the highest value in said final range category, and if said next lower range segment has a quantity of basic data values which is at least a minimum ratio of a quantity of basic data values in Rmax, adding said next lower range segment to said final range category and again performing said next range segment analysis;
-if said quantity of basic data values in said next higher range segment is at least as large as said quantity of basic data values in said next lower range segment and is at least said minimum ratio of said quantity of basic data values in Rmax, adding said next higher range segment to said final range category and again performing said next range segment analysis;
-if (a) said quantity of basic data values in said next lower range segment is greater than said quantity of basic data values in said next higher range segment, and said quantity of basic data values in said next lower range segment is less than said minimum ratio of said quantity of basic data values in Rmax, or (b) said quantity of basic data values in said next higher range segment is at least as large as said quantity of basic data values in said next lower range segment, and said quantity of basic data values in said next higher range segment is less than said minimum ratio of said quantity of basic data values in Rmax, performing a final range comparison routine, said final range comparison routine comprising:
-if at least one range segment has a quantity of basic data values which is at least said minimum ratio of said quantity of basic data values in Rmax and is not included in said final range, reducing said number of range segments by one and again performing said basic record creation routine;
-if every range segment which has a quantity of basic data values which is at least said minimum ratio of said quantity of basic data values in Rmax is included in said final range, defining endpoints of said basic value range to be the same as endpoints of said final range.
43. A method as recited in claim 42, wherein said set of basic data values is said set of first data values.
44. A method as recited in claim 42, wherein said basic data values are generated in a basic time interval, said basic time interval preceding said first period of time.
45. A method as recited in claim 1, wherein said estimating said likelihood that at least said first condition exists or will exist in said water sample comprises:
-receiving a set of first data values for said first parameter, said first data values being generated over a first period of time between a beginning of said first period of time and an end of said first period of time;
-assigning each of said first data values to one of at least three initial ranges of values;
-identifying a first data set maximum range, said first data set maximum range being one of said initial ranges which has a maximum number of said first data values;
-receiving a set of second data values for said first parameter, said second data values being generated over a second period of time, at least a portion of said second period of time being subsequent to said end of said first period of time;
-assigning each of said second data values to one of at least three later ranges of values;
-identifying a second data set maximum range, said second data set maximum range being one of said later ranges which has a maximum number of said second data values; and
-comparing said second data set maximum range with said first data set maximum range.
46. A method as recited in claim 45, wherein said comparing said second data set maximum range with said first data set maximum range comprises determining whether said second data set maximum range is substantially the same as said first data set maximum range.
47. A method as recited in claim 45, wherein said comparing said second data set maximum range with said first data set maximum range comprises determining whether said second data set maximum range differs from said first data set maximum range.
48. A method as recited in claim 45, wherein said comparing said second data set maximum range with said first data set maximum range comprises determining whether at least a portion of said second data set maximum range overlaps with at least a portion of said first data set maximum range.
49. A method as recited in claim 45, wherein said comparing said second data set maximum range with said first data set maximum range comprises determining whether said second data set maximum range encompasses said first data set maximum range.
50. A method as recited in claim 45, wherein said comparing said second data set maximum range with said first data set maximum range comprises determining whether said first data set maximum range encompasses said second data set maximum range.
51. A method as recited in claim 45, wherein said initial ranges of values are substantially similar to said later ranges of values.
52. A method as recited in claim 51, further comprising receiving a set of third data values, and
-if said second data set maximum range is different from said first data set maximum range, assigning each of said third data values to at least one of a group of current ranges of values, said current ranges of values being the same as said at least three later ranges, except that said second data set maximum range is divided into at least two current ranges;
-if said second data set maximum range is the same as said first data set maximum range, assigning each of said third data values to at least one of said at least three later ranges.
53. A method as recited in claim 52, further comprising identifying a third data set maximum range, said third data set maximum range being one of said current ranges of values which has a maximum number of said third data values.
54. A method as recited in claim 45, wherein said at least three initial ranges of values are the same as said at least three later ranges of values.
55. A method as recited in claim 45, wherein endpoints of a basic value range, said basic value range being one of said initial ranges of values, are determined by a basic record creation routine comprising:
-for each of a number of range segments, determining a quantity of a set of basic data values which fall within said range segment;
-characterizing a range segment having a maximum quantity of said basic data values as Rmax, and assigning said Rmax to a final range category; and
-performing a next range segment analysis, said next range segment analysis comprising:
-if a next lower range segment has a greater quantity of basic data values than a quantity of basic data values in a next higher range segment, said next lower range segment including a highest range of values which is less than the lowest value in said final range category, said next higher range segment including a lowest range of values which is greater than the highest value in said final range category, and if said next lower range segment has a quantity of basic data values which is at least a minimum ratio of a quantity of basic data values in Rmax, adding said next lower range segment to said final range category and again performing said next range segment analysis; -if said quantity of basic data values in said next higher range segment is at least as large as said quantity of basic data values in said next lower range segment and is at least said minimum ratio of said quantity of basic data values in Rmax, adding said next higher range segment to said final range category and again performing said next range segment analysis;
-if (a) said quantity of basic data values in said next lower range segment is greater than said quantity of basic data values in said next higher range segment, and said quantity of basic data values in said next lower range segment is less than said minimum ratio of said quantity of basic data values in Rmax, or (b) said quantity of basic data values in said next higher range segment is at least as large as said quantity of basic data values in said next lower range segment, and said quantity of basic data values in said next higher range segment is less than said minimum ratio of said quantity of basic data values in Rmax, performing a final range comparison routine, said final range comparison routine comprising:
-if at least one range segment has a quantity of basic data values which is at least said minimum ratio of said quantity of basic data values in Rmax and is not included in said final range, reducing said number of range segments by one and again performing said basic record creation routine;
-if every range segment which has a quantity of basic data values which is at least said minimum ratio of said quantity of basic data values in Rmax is included in said final range, defining endpoints of said basic value range to be the same as endpoints of said final range.
56. A method as recited in claim 55, wherein said set of basic data values is said set of first data values.
57. A method as recited in claim 55, wherein said basic data values are generated in a basic time interval, said basic time interval preceding said first period of time.
58. A method as recited in claim 1, wherein said estimating said likelihood that at least said first condition exists or will exist in said water sample comprises:
-receiving a set of first data values for said first parameter, said first data values being generated over a first period of time between a beginning of said first period of time and an end of said first period of time;
-assigning each of said first data values to one of at least three value ranges;
-identifying a first data set maximum range, said first data set maximum range being one of said value ranges which has a maximum number of said first data values;
-receiving a set of second data values for said first parameter, said second data values being generated over a second period of time, at least a portion of said second period of time being subsequent to said end of said first period of time;
-assigning each of said second data values to one of said value ranges;
-identifying a second data set maximum range, said second data set maximum range being one of said value ranges which has a maximum number of said second data values; and
-comparing said first data set maximum range with said second data set maximum range.
59. A method as recited in claim 58, wherein said comparing said first data set maximum range with said second data set maximum range comprises determining whether said first data set maximum range is the same value range as said second data set maximum range.
60. A method as recited in claim 59, further comprising receiving a set of third data values, and
-if said second data set maximum range is different from said first data set maximum range, assigning each of said third data values to at least one of a group of current ranges of values, said current ranges of values being the same as said value ranges, except that said second data set maximum range is divided into at least two current ranges;
-if said second data set maximum range is the same as said first data set maximum range, assigning each of said third data values to one of said value ranges.
61. A method as recited in claim 60, further comprising identifying a third data set maximum range, said third data set maximum range being one of said current ranges of values which has a maximum number of said third data values.
62. A method as recited in claim 58, wherein endpoints of a basic value range, said basic value range being one of said value ranges, are determined by:
-for each of a number of range segments, determining a quantity of a set of basic data values which fall within said range segment;
-characterizing a range segment having a maximum quantity of said basic data values as Rmax, and assigning said Rmax to a final range category; and
-performing a next range segment analysis, said next range segment analysis comprising:
-if a next lower range segment has a greater quantity of basic data values than a quantity of basic data values in a next higher range segment, said next lower icuige segment including a highest range of values which is less than the lowest value in said final range category, said next higher range segment including a lowest range of values which is greater than the highest value in said final range category, and if said next lower range segment has a quantity of basic data values which is at least a minimum ratio of a quantity of basic data values in Rmax, adding said next lower range segment to said final range category and again performing said next range segment analysis;
-if said quantity of basic data values in said next higher range segment is at least as large as said quantity of basic data values in said next lower range segment and is at least said minimum ratio of said quantity of basic data values in Rmax, adding said next higher range segment to said final range category and again performing said next range segment analysis;
-if (a) said quantity of basic data values in said next lower range segment is greater than said quantity of basic data values in said next higher range segment, and said quantity of basic data values in said next lower range segment is less than said minimum ratio of said quantity of basic data values in Rmax, or (b) said quantity of basic data values in said next higher range segment is at least as large as said quantity of basic data values in said next lower range segment, and said quantity of basic data values in said next higher range segment is less than said minimum ratio of said quantity of basic data values in Rmax, performing a final range comparison routine, said final range comparison routine comprising:
-if at least one range segment has a quantity of basic data values which is at least said minimum ratio of said quantity of basic data values in Rmax and is not included in said final range, reducing said number of range segments by one and again performing said basic record creation routine; -if every range segment which has a quantity of basic data values which is at least said minimum ratio of said quantity of basic data values in Rmax is included in said final range, defining endpoints of said basic value range to be the same as endpoints of said final range.
63. A method as recited in claim 62, wherein said set of basic data values is said set of first data values.
64. A method as recited in claim 62, wherein said basic data values are obtained in a time period preceding said first period of time.
65. A method as recited in claim 1, wherein said estimating said likelihood that at least said first condition exists or will exist in said water sample comprises:
-receiving a set of first data values for said first parameter, said first data values being generated over a first period of time between a beginning of said first period of time and an end of said first period of time;
-for each of a number of range segments, determining a quantity of said first data values which fall within said range segment;
-characterizing a range segment having a maximum quantity of said first data values as Rmax, and assigning said Rmax to a final range category;
-performing a next range segment analysis, said next range segment analysis comprising:
-if a next lower range segment has a greater quantity of first data values than a quantity of first data values in a next higher range segment, said next lower range segment including a highest range of values which is less than the lowest value in said final range category, said next higher range segment including a lowest range of values which is greater than the highest value in said final range category, and if said next lower range segment has a quantity of first data values which is at least a minimum ratio of a quantity of first data values in Rmax, adding said next lower range segment to said final range category and again performing said next range segment analysis;
-if said quantity of first data values in said next higher range segment is at least as large as said quantity of first data values in said next lower range segment, and if said quantity of first data values in said next higher range segment is at least said minimum ratio of said quantity of first data values in Rmax, adding said next higher range segment to said final range category and again performing said next range segment analysis;
-if (a) said quantity of first data values in said next lower range segment is greater than said quantity of first data values in said next higher range segment, and said quantity of first data values in said next lower range segment is less than said minimum ratio of said quantity of first data values in Rmax, or (b) said quantity of first data values in said next higher range segment is at least as large as said quantity of first data values in said next lower range segment, and said quantity of first data values in said next higher range segment is less than said minimum ratio of said quantity of first data values in Rmax, performing a final range comparison routine, said final range comparison routine comprising:
-if at least one range segment has a quantity of first data values which is at least said minimum ratio of said quantity of first data values in Rmax and is not included in said final range, reducing said number of range segments by one and again performing said basic record creation routine;
-if every range segment which has a quantity of first data values which is at least said minimum ratio of said quantity of first data values in Rmax is included in said final range, defining endpoints of a basic value range to be the same as endpoints of said final range;
-receiving a set of second data values for said first parameter, said second data values being generated over a second period of time, at least a portion of said second period of time being subsequent to said end of said first period of time;
-assigning each of said second data values to one of at least three value ranges, one of said value ranges being said basic value range;
-identifying a second data set maximum range, said second data set maximum range being one of said value ranges which has a maximum quantity of said second data values.
66. A method as recited in claim 65, further comprising receiving a set of third data values, and
-if said second data set maximum range is different from said basic value range, assigning each of said third data values to at least one of a group of current ranges of values, said current ranges of values being the same as said value ranges, except that said second data set maximum range is divided into at least two current ranges;
-if said second data set maximum range is the same as said basic value range, assigning each of said third data values to one of said value ranges.
67. A method as recited in claim 66, further comprising identifying a third data set maximum range, said third data set maximum range being one of said current ranges of values which has a maximum number of said third data values.
68. A method as recited in any one of claims 1-67, wherein said method is computer- implemented.
69. An apparatus comprising: at least a first sensor for detecting values of a first parameter of a water sample; a data evaluation component which receives sensor data from said first sensor and which generates data information based on evaluation of said sensor data; at least a first report generating component which receives data information from said data evaluation component and expert information, and which generates first reports based on said expert information and said data information.
70. An apparatus as recited in claim 69, further comprising means for a user to manually enter user-entered data.
71. An apparatus as recited in claim 69, wherein said expert information comprises information about normal values for at least said first parameter.
72. An apparatus as recited in claim 69, wherein said data evaluation component comprises means for determining which of a plurality of data value ranges for said first parameter said first data value falls within.
73. An apparatus as recited in claim 69, wherein said data evaluation component comprises means for determining which of a plurality of data value ranges for said first parameter a first data quantity falls within, said first data quantity being calculated based on a plurality of data values obtained from said first sensor.
74. An apparatus as recited in claim 73, wherein said first data quantity is an average of a plurality of data values obtained from said first sensor.
75. An apparatus as recited in claim 69, wherein said data evaluation component comprises: -means for performing a MIN/MAX/Low/High/Acceptable detection routine, said MIN/MAX/Low/High/Acceptable detection routine comprising:
-receiving a set of data values for said first parameter;
-assigning each data value which is less than a minimum possible value to a first category;
-assigning each data value which is within an acceptable range of values to a second category;
-assigning each data value which is greater than a maximum possible value to a third category;
-assigning each data value which is at least as large as said minimum possible value and less than a lowest value in said acceptable range to a fourth category; and
-assigning each data value which is not greater than said maximum possible value and which is greater than the highest value in said acceptable range to a fifth category;
-means for assigning said first level to said first indicator, assigning said first status to said second indicator and again performing said MIN/MAX/Low/High/Acceptable detection routine if a number of data values in said fourth category exceeds a number of data values in said second category and exceeds a number of data values in said fifth category;
-means for assigning said first level to said first indicator, assigning said second status to said second indicator and again performing said MIN/MAX/Low/High/Acceptable detection routine if said number of data values in said fifth category exceeds said number of data values in said second category and is at least as large as said number of data values in said fourth category;
-means for performing a basic record creation routine if said number of data values in said second category is at least as large as said number of data values in said fourth category and is at least as large as said number of data values in said fifth category, said basic record creation routine comprising:
-dividing a range of values within said second category into a plural number of range segments;
-for each of said range segments, determining a quantity of said data values which fall within said range segment;
-characterizing a range segment having a maximum quantity of said data values as Rmax, and assigning said Rmax to a final range category;
-performing a next range segment analysis, said next range segment analysis comprising:
-if a next lower range segment has a greater quantity of data values than a quantity of data values in a next higher range segment, said next lower range segment including a highest range of values which is less than the lowest value in said final range category, said next higher range segment including a lowest range of values which is greater than the highest value in said final range category, and if said next lower range segment has a quantity of data values which is at least a minimum ratio of a quantity of data values in Rmax, adding said next lower range segment to said final range category and again performing said next range segment analysis; -if said quantity of data values in said next higher range segment is at least as large as said quantity of data values in said next lower range segment and is at least said minimum ratio of said quantity of data values in Rmax, adding said next higher range segment to said final range category and again performing said next range segment analysis;
-if (a) said quantity of data values in said next lower range segment is greater than said quantity of data values in said next higher range segment, and said quantity of data values in said next lower range segment is less than said minimum ratio of said quantity of data values in Rmax, or (b) said quantity of data values in said next higher range segment is at least as large as said quantity of data values in said next lower range segment, and said quantity of data values in said next higher range segment is less than said minimum ratio of said quantity of data values in Rmax, performing a final range comparison routine, said final range comparison routine comprising:
-if at least one range segment has a quantity of data values which is at least said minimum ratio of said quantity of data values in Rmax and is not included in said final range, reducing said number of range segments by one and again performing said basic record creation routine;
-determining a quantity of said data values falling within a Low range, a quantity of said data values falling within an X range, a quantity of said data values falling within a Y range, a quantity of said data values falling within a Z range and a quantity of said data values falling within a High range,
-said Low range including all values which are not less than said minimum possible value and which are less than said lowest value in said acceptable range, -said X range including all values which are at least as large as said lowest value in said acceptable range and less than a lowest value in said final range,
-said Y range including all values which are within said final range,
-said Z range including all values which are greater than a highest value in said final range and not larger than said highest value in said acceptable range; and
-said High range including all values which are not greater than said maximum possible value and which are greater than said highest value in said acceptable range;
-means for performing a current record creation routine, said current record creation routine comprising:
-receiving a fresh set of data values for said first parameter;
-determining a Low value, said Low value being a quantity of data values within said fresh set of data values which fall within said Low range;
-determining an X value, said X value being a quantity of data values within said fresh set of data values which fall within said X range;
-determining a Y value, said Y value being a quantity of data values within said fresh set of data values which fall within said Y range;
-determining a Z value, said Z value being a quantity of data values within said fresh set of data values which fall within said Z range; -determining a High value, said High value being a quantity of data values within said fresh set of data values which fall within said High range;
-if said Low value is greater than each of said X value, said Y value, said Z value and said High value, assigning said first level to said first indicator, assigning said first status to said second indicator and proceeding to a decreasing current record creation routine;
-if said High value is at least as large as said Low value, and greater than each of said X value, said Y value and said Z value, assigning said first level to said first indicator, assigning said second status to said second indicator and proceeding to an increasing current record creation routine;
-if said X value is at least as large as said Low value and at least as large as said High value, and greater than each of said Y value and said Z value, assigning a second level to said first indicator, assigning said first status to said second indicator and proceeding to said decreasing current record creation routine;
-if said Z value is at least as large as said Low value, at least as large as said High value, at least as large as said X value and greater than said Y value, assigning said second level to said first indicator, assigning said second status to said second indicator and proceeding to said increasing current record creation routine; and
-if said Y value is at least as large as each of said Low value, said X value, said Z value and said High value, assigning a third level to said first indicator, assigning a third status to said second indicator and again performing said current record creation routine;
means for performing said decreasing current record creation routine, said decreasing current record creation routine comprising:
-receiving a new fresh set of data values for said first parameter;
-determining a new Low value, said new Low value being a quantity of data values within said new fresh set of data values which fall within said Low range;
-determining an Xl value, said Xl value being a quantity of data values within said new fresh set of data values which fall within a first portion of said X range;
-determining an X2 value, said X2 value being a quantity of data values within said new fresh set of data values which fall within a second portion of said X range, said second portion of said X range including values which are greater than values in said first portion of said X range;
-determining an X3 value, said X3 value being a quantity of data values within said new fresh set of data values which fall within a third portion of said X range, said third portion of said X range including values which are greater than values in said second portion of said X range;
-determining a new Y value, said new Y value being a quantity of data values within said new fresh set of data values which fall within said Y range;
-determining a new Z value, said new Z value being a quantity of data values within said new fresh set of data values which fall within said Z range;
-determining a new High value, said new High value being a quantity of data values within said new fresh set of data values which fall within said High range; -if said new High value is greater than each of said new Low value, said Xl value, said X2 value, said X3 value, said new Y value and said new Z value, assigning said first level to said first indicator, assigning said second status to said second indicator and proceeding to said increasing current record creation routine;
-if said new Low value is at least as large as said new High value, and greater than each of said Xl value, said X2 value, said X3 value, said new Y value and said new Z value, assigning said first level to said first indicator, assigning said first status to said second indicator and again performing said decreasing current record creation routine;
-if said new Z value is at least as large as said new High value, at least as large as said new Low value, and greater than each of said Xl value, said X2 value, said X3 value and said new Y value, assigning said second level to said first indicator, assigning said second status to said second indicator and proceeding to said increasing current record creation routine;
-if said Xl value is at least as large as said new Low value, at least as large as said new High value, at least as large as said new Z value, and greater than each of said X2 value, said X3 value and said new Y value, assigning a fourth level to said first indicator, assigning said first status to said second indicator and again performing said decreasing current record creation routine;
-if said X2 value is at least as large as said new Low value, at least as large as said new High value, at least as large as said new Z value, at least as large as said Xl value, and greater than each of said X3 value and said new Y value, assigning said second level to said first indicator, assigning said first status to said second indicator and again performing said decreasing current record creation routine; -if said X3 value is at least as large as said new Low value, at least as large as said new High value, at least as large as said new Z value, at least as large as said Xl value, at least as large as said X2 value, and greater than said new Y value, assigning said second level to said first indicator, assigning said first status to said second indicator and again performing said decreasing current record creation routine; and
-if said new Y value is at least as large as each of said new Low value, said Xl value, said X2 value, said X3 value, said new Z value and said new High value, assigning said third level to said first indicator, assigning said third status to said second indicator and again performing said current record creation routine;
means for performing said increasing current record creation routine, said increasing current record creation routine comprising:
-receiving a current fresh set of data values for said first parameter;
-determining a current Low value, said current Low value being a quantity of data values within said current fresh set of data values which fall within said Low range;
-determining a current X value, said current X value being a quantity of data values within said current fresh set of data values which fall within said X range;
-determining a current Y value, said current Y value being a quantity of data values within said current fresh set of data values which fall within said Y range;
-determining a Zl value, said Zl value being a quantity of data values within said current fresh set of data values which fall within a first portion of said Z range;
-determining a Z2 value, said Z2 value being a quantity of data values within said current fresh set of data values which fall within a second portion of said Z range, said second portion of said Z range including values which are greater than values in said first portion of said Z range;
-determining a Z3 value, said Z3 value being a quantity of data values within said current fresh set of data values which fall within a third portion of said Z range, said third portion of said Z range including values which are greater than values in said second portion of said Z range;
-determining a current High value, said current High value being a quantity of data values within said current fresh set of data values which fall within said High range;
-if said current Low value is greater than each of said current X value, said current Y value, said Zl value, said Z2 value, said Z3 value and said current High value, assigning said first level to said first indicator, assigning said first status to said second indicator and proceeding to said decreasing current record creation routine;
-if said current High value is at least as large as said current Low value, and greater than each of said current X value, said current Y value, said Zl value, said Z2 value and said Z3 value, assigning said first level to said first indicator, assigning said second status to said second indicator and again performing said increasing current record creation routine;
-if said current X value is at least as large as said current Low value, at least as large as said current High value, and greater than each of said current Y value, said Zl value, said Z2 value and said Z3 value, assigning said second level to said first indicator, assigning said first status to said second indicator and proceeding to said decreasing current record creation routine;
-if said Z3 value is at least as large as said current Low value, at least as large as said current High value, at least as large as said current X value, and greater than each of said current Y value, said Zl value and said Z2 value, assigning said fourth level to said first indicator, assigning said second status to said second indicator and again performing said increasing current record creation routine;
-if said Z2 value is at least as large as said current Low value, at least as large as said current High value, at least as large as said current X value, at least as large as said Z3 value, and greater than each of said current Y value and said Zl value, assigning said second level to said first indicator, assigning said second status to said second indicator and again performing said increasing current record creation routine;
-if said Zl value is at least as large as said current Low value, at least as large as said current High value, at least as large as said current X value, at least as large as said Z3 value, at least as large as said Z2 value, and greater than said current Y value, assigning said second level to said first indicator, assigning said second status to said second indicator and again performing said increasing current record creation routine; and
-if said current Y value is at least as large as each of said current Low value, said current X value, said Zl value, said Z2 value, said Z3 value and said current High value, assigning said third level to said first indicator, assigning said third status to said second indicator and again performing said current record creation routine.
76. An apparatus as recited in claim 69, wherein said data evaluation component comprises:
-means for performing a MIN/MAX/Low/High/Acceptable detection routine, said MIN/MAX/Low/High/ Acceptable detection routine comprising:
-receiving a set of data values for said first parameter;
-assigning each data value which is less than a minimum possible value to a first category;
-assigning each data value which is within an acceptable range of values to a second category;
-assigning each data value which is greater than a maximum possible value to a third category;
-assigning each data value which is at least as large as said minimum possible value and less than a lowest value in said acceptable range to a fourth category; and
-assigning each data value which is not greater than said maximum possible value and which is greater than the highest value in said acceptable range to a fifth category;
-means for assigning said first level to said first indicator, assigning said first status to said second indicator and again performing said MIN/MAX/Low/High/ Acceptable detection routine if a number of data values in said fourth category exceeds a number of data values in said second category and exceeds a number of data values in said fifth category;
-means for assigning said first level to said first indicator, assigning said second status to said second indicator and again performing said MIN/MAX/Low/High/ Acceptable detection routine if said number of data values in said fifth category exceeds said number of data values in said second category and is at least as large as said number of data values in said fourth category;
-means for performing a basic record creation routine if said number of data values in said second category is at least as large as said number of data values in said fourth category and is at least as large as said number of data values in said fifth category, said basic record creation routine comprising:
-dividing a range of values within said second category into a plural number of range segments;
-for each of said range segments, determining a quantity of said data values which fall within said range segment;
-characterizing a range segment having a maximum quantity of said data values as Rmax, and assigning said Rmax to a final range category;
-performing a next range segment analysis, said next range segment analysis comprising:
-if a next lower range segment has a greater quantity of data values than a quantity of data values in a next higher range segment, said next lower range segment including a highest range of values which is less than the lowest value in said final range category, said next higher range segment including a lowest range of values which is greater than the highest value in said final range category, and if said next lower range segment has a quantity of data values which is at least a minimum ratio of a quantity of data values in Rmax, adding said next lower range segment to said final range category and again performing said next range segment analysis;
-if said quantity of data values in said next higher range segment is at least as large as said quantity of data values in said next lower range segment and is at least said minimum ratio of said quantity of data values in Rmax, adding said next higher range segment to said final range category and again performing said next range segment analysis;
-if (a) said quantity of data values in said next lower range segment is greater than said quantity of data values in said next higher range segment, and said quantity of data values in said next lower range segment is less than said minimum ratio of said quantity of data values in Rmax, or (b) said quantity of data values in said next higher range segment is at least as large as said quantity of data values in said next lower range segment, and said quantity of data values in said next higher range segment is less than said minimum ratio of said quantity of data values in Rmax, performing a final range comparison routine, said final range comparison routine comprising:
-if at least one range segment has a quantity of data values which is at least said minimum ratio of said quantity of data values in Rmax and is not included in said final range, reducing said number of range segments by one and again performing said basic record creation routine;
-determining a quantity of said data values falling within a Low range, a quantity of said data values falling within an X range, a quantity of said data values falling within a Y range, a quantity of said data values falling within a Z range and a quantity of said data values falling within a High range,
-said Low range including all values which are not less than said minimum possible value and which are less than said lowest value in said acceptable range,
-said X range including all values which are at least as large as said lowest value in said acceptable range and less than a lowest value in said final range,
-said Y range including all values which are within said final range,
-said Z range including all values which are greater than a highest value in said final range and not larger than said highest value in said acceptable range; and
-said High range including all values which are not greater than said maximum possible value and which are greater than said highest value in said acceptable range;
-means for performing a current record creation routine, said current record creation routine comprising:
-receiving a fresh set of data values for said first parameter;
-determining a Low value, said Low value being a quantity of data values within said fresh set of data values which fall within said Low range;
-determining an X value, said X value being a quantity of data values within said fresh set of data values which fall within said X range;
-determining a Y value, said Y value being a quantity of data values within said fresh set of data values which fall within said Y range; -determining a Z value, said Z value being a quantity of data values within said fresh set of data values which fall within said Z range;
-determining a High value, said High value being a quantity of data values within said fresh set of data values which fall within said High range;
-if said Low value is greater than each of said X value, said Y value, said Z value and said High value, assigning said first level to said first indicator, assigning said first status to said second indicator and proceeding to a decreasing current record creation routine;
-if said High value is at least as large as said Low value, and greater than each of said X value, said Y value and said Z value, assigning said first level to said first indicator, assigning said second status to said second indicator and proceeding to an increasing current record creation routine;
-if said X value is at least as large as said Low value and at least as large as said High value, and greater than each of said Y value and said Z value, assigning a second level to said first indicator, assigning said first status to said second indicator and proceeding to said decreasing current record creation routine;
-if said Z value is at least as large as said Low value, at least as large as said High value, at least as large as said X value and greater than said Y value, assigning said second level to said first indicator, assigning said second status to said second indicator and proceeding to said increasing current record creation routine; and
-if said Y value is at least as large as each of said Low value, said X value, said Z value and said High value, assigning a third level to said first indicator, assigning a third status to said second indicator and again performing said current record creation routine;
means for performing said decreasing current record creation routine, said decreasing current record creation routine comprising:
-receiving a new fresh set of data values for said first parameter;
-determining a new Low value, said new Low value being a quantity of data values within said new fresh set of data values which fall within said Low range;
-determining an Xl value, said Xl value being a quantity of data values within said new fresh set of data values which fall within a first portion of said X range;
-determining an X2 value, said X2 value being a quantity of data values within said new fresh set of data values which fall within a second portion of said X range, said second portion of said X range including values which are greater than values in said first portion of said X range;
-determining an X3 value, said X3 value being a quantity of data values within said new fresh set of data values which fall within a third portion of said X range, said third portion of said X range including values which are greater than values in said second portion of said X range;
-determining a new Y value, said new Y value being a quantity of data values within said new fresh set of data values which fall within said Y range;
-determining a new Z value, said new Z value being a quantity of data values within said new fresh set of data values which fall within said Z range; -determining a new High value, said new High value being a quantity of data values within said new fresh set of data values which fall within said High range;
-if said new High value is greater than each of said new Low value, said Xl value, said X2 value, said X3 value, said new Y value and said new Z value, assigning said first level to said first indicator, assigning said second status to said second indicator and proceeding to said increasing current record creation routine;
-if said new Low value is at least as large as said new High value, and greater than each of said Xl value, said X2 value, said X3 value, said new Y value and said new Z value, assigning said first level to said first indicator, assigning said first status to said second indicator and again performing said decreasing current record creation routine;
-if said new Z value is at least as large as said new High value, at least as large as said new Low value, and greater than each of said Xl value, said X2 value, said X3 value and said new Y value, assigning said second level to said first indicator, assigning said second status to said second indicator and proceeding to said increasing current record creation routine;
-if said Xl value is at least as large as said new Low value, at least as large as said new High value, at least as large as said new Z value, and greater than each of said X2 value, said X3 value and said new Y value, assigning said first status to said second indicator, modifying said third portion of said X range to include all values which were within said second portion of said X range as well as all values which were within said third portion of said X range, dividing said first portion of said X range into a first Xl part and a second Xl part, said first Xl part having values lower than said second Xl part, said first Xl part becoming said first portion of said X range, said second Xl part becoming said second portion of said X range, and again performing said decreasing current record creation routine;
-if said X2 value is at least as large as said new Low value, at least as large as said new High value, at least as large as said new Z value, at least as large as said Xl value, and greater than each of said X3 value and said new Y value, assigning said first status to said second indicator, modifying said third portion of said X range to include all values which were within said second portion of said X range as well as all values which were within said third portion of said X range, dividing said first portion of said X range into a first X2 part and a second X2 part, said first X2 part having values lower than said second X2 part, said first X2 part becoming said first portion of said X range, said second X2 part becoming said second portion of said X range, and again performing said decreasing current record creation routine;
-if said X3 value is at least as large as said new Low value, at least as large as said new High value, at least as large as said new Z value, at least as large as said Xl value, at least as large as said X2 value, and greater than said new Y value, assigning said first status to said second indicator, modifying said first portion of said X range to include all values which were within said second portion of said X range as well as all values which were within said first portion of said X range, dividing said third portion of said X range into a first X3 part and a second X3 part, said first X3 part having values lower than said second X3 part, said first X3 part becoming said second portion of said X range, said second X3 part becoming said third portion of said X range, and again performing said decreasing current record creation routine; and
-if said new Y value is at least as large as each of said new Low value, said Xl value, said X2 value, said X3 value, said new Z value and said new High value, assigning said third level to said first indicator, assigning said third status to said second indicator and again performing said current record creation routine;
means for performing said increasing current record creation routine, said increasing current record creation routine comprising:
-receiving a current fresh set of data values for said first parameter;
-determining a current Low value, said current Low value being a quantity of data values within said current fresh set of data values which fall within said Low range;
-determining a current X value, said current X value being a quantity of data values within said current fresh set of data values which fall within said X range;
-determining a current Y value, said current Y value being a quantity of data values within said current fresh set of data values which fall within said Y range;
-determining a Zl value, said Zl value being a quantity of data values within said current fresh set of data values which fall within a first portion of said Z range;
-determining a Z2 value, said Z2 value being a quantity of data values within said current fresh set of data values which fall within a second portion of said Z range, said second portion of said Z range including values which are greater than values in said first portion of said Z range;
-determining a Z3 value, said Z3 value being a quantity of data values within said current fresh set of data values which fall within a third portion of said Z range, said third portion of said Z range including values which are greater than values in said second portion of said Z range;
-determining a current High value, said current High value being a quantity of data values within said current fresh set of data values which fall within said High range;
-if said current Low value is greater than each of said current X value, said current Y value, said Zl value, said Z2 value, said Z3 value and said current High value, assigning said first level to said first indicator, assigning said first status to said second indicator and proceeding to said decreasing current record creation routine;
-if said current High value is at least as large as said current Low value, and greater than each of said current X value, said current Y value, said Zl value, said 22 value and said Z3 value, assigning said first level to said first indicator, assigning said second status to said second indicator and again performing said increasing current record creation routine;
-if said current X value is at least as large as said current Low value, at least as large as said current High value, and greater than each of said current Y value, said Zl value, said Z2 value and said Z3 value, assigning said second level to said first indicator, assigning said first status to said second indicator and proceeding to said decreasing current record creation routine;
-if said Z3 value is at least as large as said current Low value, at least as large as said current High value, at least as large as said current X value, and greater than each of said current Y value, said Zl value and said Z2 value, assigning said second status to said second indicator, modifying said first portion of said Z range to include all values which were within said second portion of said Z range as well as all values which were within said first portion of said Z range, dividing said third portion of said Z range into a first Z3 part and a second Z3 part, said first Z3 part having values lower than said second Z3 part, said first Z3 part becoming said second portion of said Z range, said second Z3 part becoming said third portion of said Z range, and again performing said increasing current record creation routine;
-if said Z2 value is at least as large as said current Low value, at least as large as said current High value, at least as large as said current X value, at least as large as said Z3 value, and greater than each of said Zl value and said current Y value, assigning said second status to said second indicator, modifying said first portion of said Z range to include all values which were within said second portion of said Z range as well as all values which were within said first portion of said Z range, dividing said third portion of said Z range into a first Z2 part and a second Z2 part, said first Z2 part having values lower than said second Z2 part, said first Z2 part becoming said second portion of said Z range, said second Z2 part becoming said third portion of said Z range, and again performing said increasing current record creation routine;
-if said Zl value is at least as large as said current Low value, at least as large as said current High value, at least as large as said current X value, at least as large as said Z3 value, at least as large as said Z2 value, and greater than said current Y value, assigning said second status to said second indicator, modifying said third portion of said Z range to include all values which were within said second portion of said Z range as well as all values which were within said third portion of said Z range, dividing said first portion of said Z range into a first Zl part and a second Zl part, said first Zl part having values lower than said second Zl part, said first Zl part becoming said first portion of said Z range, said second Zl part becoming said second portion of said Z range, and again performing said increasing current record creation routine; and
-if said current Y value is at least as large as each of said current Low value, said current X value, said Zl value, said Z2 value, said Z3 value and said current High value, assigning said third level to said first indicator, assigning said third status to said second indicator and again performing said current record creation routine.
77. An apparatus as recited in claim 69, wherein said data evaluation component comprises:
-means for receiving a set of data values for said first parameter; and
-means for performing a basic record creation sub-routine, said basic record creation sub-routine comprising:
-dividing an acceptable range of values into a plural number of range segments;
-for each of said range segments, determining a quantity of said data values which fall within said range segment;
-characterizing a range segment having a maximum quantity of said data values as Rmax, and assigning said Rmax to a final range category; and
-performing a next range segment analysis, said next range segment analysis comprising:
-if a next lower range segment has a greater quantity of data values than a quantity of data values in a next higher range segment, said next lower range segment including a highest range of values which is less than the lowest value in said final range category, said next higher range segment including a lowest range of values which is greater than the highest value in said final range category, and if said next lower range segment has a quantity of data values which is at least a minimum ratio of a quantity of data values in Rmax, adding said next lower range segment to said final range category and again performing said next range segment analysis;
-if said quantity of data values in said next higher range segment is at least as large as said quantity of data values in said next lower range segment and is at least said minimum ratio of said quantity of data values in Rmax, adding said next higher range segment to said final range category and again performing said next range segment analysis;
-if (a) said quantity of data values in said next lower range segment is greater than said quantity of data values in said next higher range segment, and said quantity of data values in said next lower range segment is less than said minimum ratio of said quantity of data values in Rmax, or (b) said quantity of data values in said next higher range segment is at least as large as said quantity of data values in said next lower range segment, and said quantity of data values in said next higher range segment is less than said minimum ratio of said quantity of data values in Rmax, performing a final range comparison routine, said final range comparison routine comprising:
-if at least one range segment has a quantity of data values which is at least said minimum ratio of said quantity of data values in Rmax and is not included in said final range, reducing said number of range segments by one and again performing said basic record creation routine.
78. An apparatus as recited in claim 77, wherein said data evaluation component further comprises:
-means for determining a quantity of said data values falling within a Low range, a quantity of said data values falling within an X range, a quantity of said data values falling within a Y range, a quantity of said data values falling within a Z range and a quantity of said data values falling within a High range,
-said Low range including all values which are not less than a minimum possible value and which are less than a lowest value in said acceptable range;
-said X range including all values which are at least as large as said lowest value in said acceptable range and less than a lowest value in said final range;
-said Y range including all values which are within said final range;
-said Z range including all values which are greater than a highest value in said final range and not larger than said highest value in said acceptable range; and
-said High range including all values which are not greater than a maximum possible value and which are greater than said highest value in said acceptable range.
79. An apparatus as recited in claim 69, wherein said data evaluation component comprises:
-means for performing a current record creation routine, said current record creation routine comprising:
-receiving a fresh set of data values for said first parameter;
-determining a Low value, said Low value being a quantity of data values within said fresh set of data values which fall within a Low range, said Low range including all values which are not less than a minimum possible value and which are less than a lowest value in an acceptable range,
-determining an X value, said X value being a quantity of data values within said fresh set of data values which fall within an X range, said X range including all values which are at least as large as said lowest value in said acceptable range and less than a lowest value in a Y range;
-determining a Y value, said Y value being a quantity of data values within said fresh set of data values which fall within said Y range;
-determining a Z value, said Z value being a quantity of data values within said fresh set of data values which fall within a Z range, said Z range including all values which are greater than a highest value in said Y range and not larger than a highest value in said acceptable range;
-determining a High value, said High value being a quantity of data values within said fresh set of data values which fall within a High range, said High range including all values which are not greater than a maximum possible value and which are greater than said highest value in said acceptable range;
-if said Low value is greater than each of said X value, said Y value, said Z value and said High value, proceeding to a decreasing current record creation routine;
-if said High value is at least as large as said Low value, and greater than each of said X value, said Y value and said Z value, proceeding to an increasing current record creation routine;
-if said X value is at least as large as said Low value and at least as large as said High value, and greater than each of said Y value and said Z value, proceeding to said decreasing current record creation routine;
-if said Z value is at least as large as said Low value, at least as large as said High value, at least as large as said X value and greater than said Y value, proceeding to said increasing current record creation routine; and
-if said Y value is at least as large as each of said Low value, said X value, said Z value and said High value, again performing said current record creation routine;
means for performing said decreasing current record creation routine, said decreasing current record creation routine comprising:
-receiving a new fresh set of data values for said first parameter;
-determining a new Low value, said new Low value being a quantity of data values within said new fresh set of data values which fall within said Low range;
-determining an Xl value, said Xl value being a quantity of data values within said new fresh set of data values which fall within a first portion of said X range;
-determining an X2 value, said X2 value being a quantity of data values within said new fresh set of data values which fall within a second portion of said X range, said second portion of said X range including values which are greater than values in said first portion of said X range;
-determining an X3 value, said X3 value being a quantity of data values within said new fresh set of data values which fall within a third portion of said X range, said third portion of said X range including values which are greater than values in said second portion of said X range;
-determining a new Y value, said new Y value being a quantity of data values within said new fresh set of data values which fall within said Y range;
-determining a new Z value, said new Z value being a quantity of data values within said new fresh set of data values which fall within said Z range;
-determining a new High value, said new High value being a quantity of data values within said new fresh set of data values which fall within said High range;
-if said new High value is greater than each of said new Low value, said Xl value, said X2 value, said X3 value, said new Y value and said new Z value, proceeding to said increasing current record creation routine;
-if said new Low value is at least as large as said new High value, and greater than each of said Xl value, said X2 value, said X3 value, said new Y value and said new Z value, again performing said decreasing current record creation routine;
-if said new Z value is at least as large as said new High value, at least as large as said new Low value, and greater than each of said Xl value, said X2 value, said X3 value and said new Y value, proceeding to said increasing current record creation routine;
-if said Xl value is at least as large as said new Low value, at least as large as said new High value, at least as large as said new Z value, and greater than each of said X2 value, said X3 value and said new Y value, again performing said decreasing current record creation routine; -if said X2 value is at least as large as said new Low value, at least as large as said new High value, at least as large as said new Z value, at least as large as said Xl value, and greater than each of said X3 value and said new Y value, again performing said decreasing current record creation routine;
-if said X3 value is at least as large as said new Low value, at least as large as said new High value, at least as large as said new Z value, at least as large as said Xl value, at least as large as said X2 value, and greater than said new Y value, again performing said decreasing current record creation routine; and
-if said new Y value is at least as large as each of said new Low value, said Xl value, said X2 value, said X3 value, said new Z value and said new High value, again performing said current record creation routine;
means for performing an increasing current record creation routine, said increasing current record creation routine comprising:
-receiving a current fresh set of data values for said first parameter;
-determining a current Low value, said current Low value being a quantity of data values within said current fresh set of data values which fall within said Low range;
-determining a current X value, said current X value being a quantity of data values within said current fresh set of data values which fall within said X range;
-determining a current Y value, said current Y value being a quantity of data values within said current fresh set of data values which fall within said Y range; -determining a Zl value, said Zl value being a quantity of data values within said current fresh set of data values which fall within a first portion of said Z range;
-determining a Z2 value, said Z2 value being a quantity of data values within said current fresh set of data values which fall within a second portion of said Z range, said second portion of said Z range including values which are greater than values in said first portion of said Z range;
-determining a Z3 value, said Z3 value being a quantity of data values within said current fresh set of data values which fall within a third portion of said Z range, said third portion of said Z range including values which are greater than values in said second portion of said Z range;
-determining a current High value, said current High value being a quantity of data values within said current fresh set of data values which fall within said High range;
-if said current Low value is greater than each of said current X value, said current Y value, said Zl value, said Z2 value, said Z3 value and said current High value, proceeding to said decreasing current record creation routine;
-if said current High value is at least as large as said current Low value, and greater than each of said current X value, said current Y value, said Zl value, said Z2 value and said Z3 value, again performing said increasing current record creation routine;
-if said current X value is at least as large as said current Low value, at least as large as said current High value, and greater than each of said current Y value, said Zl value, said Z2 value and said Z3 value, proceeding to said decreasing current record creation routine; -if said Z3 value is at least as large as said current Low value, at least as large as said current High value, at least as large as said current X value, and greater than each of said current Y value, said Zl value and said Z2 value, again performing said increasing current record creation routine;
-if said Z2 value is at least as large as said current Low value, at least as large as said current High value, at least as large as said current X value, at least as large as said Z3 value, and greater than each of said current Y value and said Zl value, again performing said increasing current record creation routine;
-if said Zl value is at least as large as said current Low value, at least as large as said current High value, at least as large as said current X value, at least as large as said Z3 value, at least as large as said Z2 value, and greater than said current Y value, again performing said increasing current record creation routine; and
-if said current Y value is at least as large as each of said current Low value, said current X value, said Zl value, said Z2 value, said Z3 value and said current High value, again performing said current record creation routine.
80. An apparatus as recited in claim 69, wherein said data evaluation component comprises:
-means for performing a current record creation routine, said current record creation routine comprising:
-receiving a fresh set of data values for said first parameter;
-determining a Low value, said Low value being a quantity of data values within said fresh set of data values which fall within a Low range, said Low range including all values which are not less than a minimum possible value and which are less than a lowest value in an acceptable range,
-determining an X value, said X value being a quantity of data values within said fresh set of data values which fall within an X range, said X range including all values which are at least as large as said lowest value in said acceptable range and less than a lowest value in a Y range;
-determining a Y value, said Y value being a quantity of data values within said fresh set of data values which fall within said Y range;
-determining a Z value, said Z value being a quantity of data values within said fresh set of data values which fall within a Z range, said Z range including all values which are greater than a highest value in said Y range and not larger than a highest value in said acceptable range;
-determining a High value, said High value being a quantity of data values within said fresh set of data values which fall within a High range, said High range including all values which are not greater than a maximum possible value and which are greater than said highest value in said acceptable range;
-if said Low value is greater than each of said X value, said Y value, said Z value and said High value, proceeding to a decreasing current record creation routine;
-if said High value is at least as large as said Low value, and greater than each of said X value, said Y value and said Z value, proceeding to an increasing current record creation routine;
-if said X value is at least as large as said Low value and at least as large as said High value, and greater than each of said Y value and said Z value, proceeding to said decreasing current record creation routine; -if said Z value is at least as large as said Low value, at least as large as said High value, at least as large as said X value and greater than said Y value, proceeding to said increasing current record creation routine; and
-if said Y value is at least as large as each of said Low value, said X value, said Z value and said High value, again performing said current record creation routine;
means for performing said decreasing current record creation routine, said decreasing current record creation routine comprising:
-receiving a new fresh set of data values for said first parameter;
-determining a new Low value, said new Low value being a quantity of data values within said new fresh set of data values which fall within said Low range;
-determining an Xl value, said Xl value being a quantity of data values within said new fresh set of data values which fall within a first portion of said X range;
-determining an X2 value, said X2 value being a quantity of data values within said new fresh set of data values which fall within a second portion of said X range, said second portion of said X range including values which are greater than values in said first portion of said X range;
-determining an X3 value, said X3 value being a quantity of data values within said new fresh set of data values which fall within a third portion of said X range, said third portion of said X range including values which are greater than values in said second portion of said X range; -determining a new Y value, said new Y value being a quantity of data values within said new fresh set of data values which fall within said Y range;
-determining a new Z value, said new Z value being a quantity of data values within said new fresh set of data values which fall within said Z range;
-determining a new High value, said new High value being a quantity of data values within said new fresh set of data values which fall within said High range;
-if said new High value is greater than each of said new Low value, said Xl value, said X2 value, said X3 value, said new Y value and said new Z value, proceeding to said increasing current record creation routine;
-if said new Low value is at least as large as said new High value, and greater than each of said Xl value, said X2 value, said X3 value, said new Y value and said new Z value, again performing said decreasing current record creation routine;
-if said new Z value is at least as large as said new High value, at least as large as said new Low value, and greater than each of said Xl value, said X2 value, said X3 value and said new Y value, proceeding to said increasing current record creation routine;
-if said Xl value is at least as large as said new Low value, at least as large as said new High value, at least as large as said new Z value, and greater than each of said X2 value, said X3 value and said new Y value, modifying said third portion of said X range to include all values which were within said second portion of said X range as well as all values which were within said third portion of said X range, dividing said first portion of said X range into a first Xl part and a second Xl part, said first Xl part having values lower than said second Xl part, said first Xl part becoming said first portion of said X range, said second Xl part becoming said second portion of said X range, and again performing said decreasing current record creation routine;
-if said X2 value is at least as large as said new Low value, at least as large as said new High value, at least as large as said new Z value, at least as large as said Xl value, and greater than each of said X3 value and said new Y value, modifying said third portion of said X range to include all values which were within said second portion of said X range as well as all values which were within said third portion of said X range, dividing said first portion of said X range into a first X2 part and a second X2 part, said first X2 part having values lower than said second X2 part, said first X2 part becoming said first portion of said X range, said second X2 part becoming said second portion of said X range, and again performing said decreasing current record creation routine;
-if said X3 value is at least as large as said new Low value, at least as large as said new High value, at least as large as said new Z value, at least as large as said Xl value, at least as large as said X2 value, and greater than said new Y value, modifying said first portion of said X range to include all values which were within said second portion of said X range as well as all values which were within said first portion of said X range, dividing said third portion of said X range into a first X3 part and a second X3 part, said first X3 part having values lower than said X3 second part, said first X3 part becoming said second portion of said X range, said second X3 part becoming said third portion of said X range, and again performing said decreasing current record creation routine; and
-if said new Y value is at least as large as each of said new Low value, said Xl value, said X2 value, said X3 value, said new Z value and said new High value, again performing said current record creation routine; means for performing said increasing current record creation routine, said increasing current record creation routine comprising:
-receiving a current fresh set of data values for said first parameter;
-determining a current Low value, said current Low value being a quantity of data values within said current fresh set of data values which fall within said Low range;
-determining a current X value, said current X value being a quantity of data values within said current fresh set of data values which fall within said X range;
-determining a current Y value, said current Y value being a quantity of data values within said current fresh set of data values which fall within said Y range;
-determining a Zl value, said Zl value being a quantity of data values within said current fresh set of data values which fall within a first portion of said Z range;
-determining a Z2 value, said Z2 value being a quantity of data values within said current fresh set of data values which fall within a second portion of said Z range, said second portion of said Z range including values which are greater than values in said first portion of said Z range;
-determining a Z3 value, said Z3 value being a quantity of data values within said current fresh set of data values which fall within a third portion of said Z range, said third portion of said Z range including values which are greater than values in said second portion of said Z range; -determining a current High value, said current High value being a quantity of data values within said current fresh set of data values which fall within said High range;
-if said current Low value is greater than each of said current X value, said current Y value, said Zl value, said Z2 value, said Z3 value and said current High value, proceeding to said decreasing current record creation routine;
-if said current High value is at least as large as said current Low value, and greater than each of said current X value, said current Y value, said Zl value, said Z2 value and said Z3 value, again performing said increasing current record creation routine;
-if said current X value is at least as large as said current Low value, at least as large as said current High value, and greater than each of said current Y value, said Zl value, said Z2 value and said Z3 value, proceeding to said decreasing current record creation routine;
-if said Z3 value is at least as large as said current Low value, at least as large as said current High value, at least as large as said current X value, and greater than each of said current Y value, said Zl value and said Z2 value, modifying said first portion of said Z range to include all values which were within said second portion of said Z range as well as all values which were within said first portion of said Z range, dividing said third portion of said Z range into a first Z3 part and a second Z3 part, said first Z3 part having values lower than said second Z3 part, said first Z3 part becoming said second portion of said Z range, said second Z3 part becoming said third portion of said Z range, and again performing said increasing current record creation routine;
-if said Z2 value is at least as large as said current Low value, at least as large as said current High value, at least as large as said current X value, at least as large as said Z3 value, and greater than each of said Zl value and said current Y value, modifying said first portion of said Z range to include all values which were within said second portion of said Z range as well as all values which were within said first portion of said Z range, dividing said third portion of said Z range into a first Z2 part and a second Z2 part, said first Z2 part having values lower than said second Z2 part, said first Z2 part becoming said second portion of said Z range, said second Z2 part becoming said third portion of said Z range, and again performing said increasing current record creation routine;
-if said Zl value is at least as large as said current Low value, at least as large as said current High value, at least as large as said current X value, at least as large as said Z3 value, at least as large as said Z2 value, and greater than said current Y value, modifying said third portion of said Z range to include all values which were within said second portion of said Z range as well as all values which were within said third portion of said Z range, dividing said first portion of said Z range into a first Zl part and a second Zl part, said first Zl part having values lower than said second Zl part, said first Zl part becoming said first portion of said Z range, said second Zl part becoming said second portion of said Z range, and again performing said increasing current record creation routine; and
-if said current Y value is at least as large as each of said current Low value, said current X value, said Zl value, said Z2 value, said Z3 value and said current High value, again performing said current record creation routine.
81. An apparatus as recited in claim 69, wherein said data evaluation component comprises:
-means for receiving a set of first data values for said first parameter, said first data values being generated over a first period of time between a beginning of said first period of time and an end of said first period of time;
-means for assigning each of said first data values to at least one of at least three initial ranges of values;
-means for identifying at least one first data set maximum range, each said first data set maximum range being one of said initial ranges which has a maximum number of said first data values;
-means for receiving a set of second data values for said first parameter, said second data values being generated over a second period of time, at least a portion of said second period of time being subsequent to said end of said first period of time;
-means for assigning each of said second data values to at least one of at least three later ranges of values; and
-means for identifying at least one second data set maximum range, each said second data set maximum range being one of said later ranges which has a maximum number of said current data values.
82. An apparatus as recited in claim 81, wherein said data evaluation component further comprises means for comparing said at least one second data set maximum range with said at least one first data set maximum range.
83. An apparatus as recited in claim 69, wherein said data evaluation component comprises:
-means for receiving a set of first data values for said first parameter, said first data values being generated over a first period of time between a beginning of said first period of time and an end of said first period of time; -means for assigning each of said first data values to one of at least three initial ranges of values;
-means for identifying a first data set maximum range, said first data set maximum range being one of said initial ranges which has a maximum number of said first data values;
-means for receiving a set of second data values for said first parameter, said second data values being generated over a second period of time, at least a portion of said second period of time being subsequent to said end of said first period of time;
-means for assigning each of said second data values to one of at least three later ranges of values;
-means for identifying a second data set maximum range, said second data set maximum range being one of said later ranges which has a maximum number of said second data values; and
-means for comparing said second data set maximum range with said first data set maximum range.
84. An apparatus as recited in claim 69, wherein said data evaluation component comprises:
-means for receiving a set of first data values for said first parameter, said first data values being generated over a first period of time between a beginning of said first period of time and an end of said first period of time;
-means for assigning each of said first data values to one of at least three value ranges;
-means for identifying a first data set maximum range, said first data set maximum range being one of said value ranges which has a maximum number of said first data values; -means for receiving a set of second data values for said first parameter, said second data values being generated over a second period of time, at least a portion of said second period of time being subsequent to said end of said first period of time;
-means for assigning each of said second data values to one of said value ranges;
-means for identifying a second data set maximum range, said second data set maximum range being one of said value ranges which has a maximum number of said second data values; and
-means for comparing said first data set maximum range with said second data set maximum range.
85. An apparatus as recited in claim 69, wherein said data evaluation component comprises:
-means for receiving a set of first data values for said first parameter, said first data values being generated over a first period of time between a beginning of said first period of time and an end of said first period of time;
-means for determining, for each of a number of range segments, a quantity of said first data values which fall within said range segment;
-means for characterizing a range segment having a maximum quantity of said first data values as Rmax, and assigning said Rmax to a final range category;
-means for performing a next range segment analysis, said next range segment analysis comprising:
-if a next lower range segment has a greater quantity of first data values than a quantity of first data values in a next higher range segment, said next lower range segment including a highest range of values which is less than the lowest value in said final range category, said next higher range segment including a lowest range of values which is greater than the highest value in said final range category, and if said next lower range segment has a quantity of first data values which is at least a minimum ratio of a quantity of first data values in Rmax, adding said next lower range segment to said final range category and again performing said next range segment analysis;
-if said quantity of first data values in said next higher range segment is at least as large as said quantity of first data values in said next lower range segment, and if said quantity of first data values in said next higher range segment is at least said minimum ratio of said quantity of first data values in Rmax, adding said next higher range segment to said final range category and again performing said next range segment analysis;
-if (a) said quantity of first data values in said next lower range segment is greater than said quantity of first data values in said next higher range segment, and said quantity of first data values in said next lower range segment is less than said minimum ratio of said quantity of first data values in Rmax, or (b) said quantity of first data values in said next higher range segment is at least as large as said quantity of first data values in said next lower range segment, and said quantity of first data values in said next higher range segment is less than said minimum ratio of said quantity of first data values in Rmax, performing a final range comparison routine, said final range comparison routine comprising:
-if at least one range segment has a quantity of first data values which is at least said minimum ratio of said quantity of first data values in Rmax and is not included in said final range, reducing said number of range segments by one and again performing said basic record creation routine; -if every range segment which has a quantity of first data values which is at least said minimum ratio of said quantity of first data values in Rmax is included in said final range, defining endpoints of a basic value range to be the same as endpoints of said final range;
-means for receiving a set of second data values for said first parameter, said second data values being generated over a second period of time, at least a portion of said second period of time being subsequent to said end of said first period of time;
-means for assigning each of said second data values to one of at least three value ranges, one of said value ranges being said basic value range;
-means for identifying a second data set maximum range, said second data set maximum range being one of said value ranges which has a maximum quantity of said second data values.
86. An apparatus as recited in claim 85, wherein said data evaluation component further comprises means for receiving a set of third data values, and
-if said second data set maximum range is different from said basic value range, assigning each of said third data values to at least one of a group of current ranges of values, said current ranges of values being the same as said value ranges, except that said second data set maximum range is divided into at least two current ranges;
-if said second data set maximum range is the same as said basic value range, assigning each of said third data values to one of said value ranges.
87. An apparatus as recited in claim 86, wherein said data evaluation component further comprises means for identifying a third data set maximum range, said third data set maximum range being one of said current ranges of values which has a maximum number of said third data values.
88. An apparatus as recited in claim 69, further comprising a second report generating component which receives information pertaining to said water sample or a body of water from which said water sample was taken and expert information, and which generates second reports based on said expert information, said information pertaining to said water sample of said body of water and data information received from said data evaluation component.
89. An apparatus as recited in claim 88, wherein said second report generating component has at least a portion of said expert information and/or at least a portion of said information pertaining to said water sample stored therein.
90. An apparatus as recited in claim 89, wherein said information pertaining to said water sample comprises history of said water sample or said body of water.
91. An apparatus as recited in claim 69, further comprising a decision-making component which makes decisions based on data information from said data evaluation component, said first reports and said second reports.
92. An apparatus as recited in claim 69, wherein said first report generating component has at least a portion of said expert information stored therein.
PCT/US2005/034476 2005-03-21 2005-09-26 Methods and apparatuses for evaluating water samples WO2006101525A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US66395005P 2005-03-21 2005-03-21
US60/663,950 2005-03-21

Publications (1)

Publication Number Publication Date
WO2006101525A1 true WO2006101525A1 (en) 2006-09-28

Family

ID=37024097

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2005/034476 WO2006101525A1 (en) 2005-03-21 2005-09-26 Methods and apparatuses for evaluating water samples

Country Status (1)

Country Link
WO (1) WO2006101525A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5646863A (en) * 1994-03-22 1997-07-08 Morton; Stephen G. Method and apparatus for detecting and classifying contaminants in water
US6442639B1 (en) * 2000-04-19 2002-08-27 Industrial Scientific Corporation Docking station for environmental monitoring instruments
US20050251339A1 (en) * 2004-05-05 2005-11-10 St- Infonox Methods and systems for monitoring environments

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5646863A (en) * 1994-03-22 1997-07-08 Morton; Stephen G. Method and apparatus for detecting and classifying contaminants in water
US6442639B1 (en) * 2000-04-19 2002-08-27 Industrial Scientific Corporation Docking station for environmental monitoring instruments
US20050251339A1 (en) * 2004-05-05 2005-11-10 St- Infonox Methods and systems for monitoring environments

Similar Documents

Publication Publication Date Title
CN113344295B (en) Method, system and medium for predicting residual life of equipment based on industrial big data
CN112414694B (en) Equipment multistage abnormal state identification method and device based on multivariate state estimation technology
KR101984248B1 (en) Apparatus For Making A Predictive Diagnosis Of Nuclear Power Plant By Machine Learning
CN111538311B (en) Flexible multi-state self-adaptive early warning method and device for mechanical equipment based on data mining
CN112288192A (en) Environment-friendly monitoring and early warning method and system
CN114422184A (en) Network security attack type and threat level prediction method based on machine learning
EP1820170B1 (en) Suppression of false alarms among alarms produced in a monitored information system
CN115470850A (en) Water quality abnormal event recognition early warning method based on pipe network water quality time-space data
CN116756688A (en) Public opinion risk discovery method based on multi-mode fusion algorithm
CN117421692B (en) Garbage illegal delivery identification method, device and equipment for garbage delivery station
KR20140117959A (en) Apparatus and method for provide of causative factors for stage of outflow water of wastewater treatment plant
US20060069535A1 (en) System and method for converting data, and system and method for providing warning signals
CN117115637A (en) Water quality monitoring and early warning method and system based on big data technology
CN111317458A (en) Blood pressure detection system based on deep learning
CN109255201A (en) A kind of ball screw assembly, health evaluating method based on SOM-MQE
KR101967633B1 (en) Apparatus For Making A Predictive Diagnosis Of Nuclear Power Plant By Machine Learning
WO2006101527A1 (en) Methods and apparatuses for evaluating water samples
KR101983603B1 (en) Apparatus For Making A Predictive Diagnosis Of Nuclear Power Plant By Machine Learning And Augmented Reality
FR3109455A1 (en) Determination of health states of systems equipped with sensors
WO2006101525A1 (en) Methods and apparatuses for evaluating water samples
Poh et al. Anomaly detection for home activity based on sequence pattern
CN116861798B (en) Online real-time residual life prediction method for vacuum dry pump based on XGBoost algorithm
CN117783792B (en) Valve side sleeve insulation state detection method and system based on multiparameter real-time monitoring
CN111915858A (en) Alarm method and system fusing analog quantity and digital quantity related information
KR100216124B1 (en) Monitoring method and system of water status

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

NENP Non-entry into the national phase

Ref country code: RU

122 Ep: pct application non-entry in european phase

Ref document number: 05817390

Country of ref document: EP

Kind code of ref document: A1