US20250123015A1 - Systems and methods for identifying mis-set and mis-calibrated atmosphere control systems - Google Patents
Systems and methods for identifying mis-set and mis-calibrated atmosphere control systems Download PDFInfo
- Publication number
- US20250123015A1 US20250123015A1 US18/292,255 US202218292255A US2025123015A1 US 20250123015 A1 US20250123015 A1 US 20250123015A1 US 202218292255 A US202218292255 A US 202218292255A US 2025123015 A1 US2025123015 A1 US 2025123015A1
- Authority
- US
- United States
- Prior art keywords
- mis
- behavior
- segment
- identifying
- aberrative
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Images
Classifications
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F24—HEATING; RANGES; VENTILATING
- F24F—AIR-CONDITIONING; AIR-HUMIDIFICATION; VENTILATION; USE OF AIR CURRENTS FOR SCREENING
- F24F11/00—Control or safety arrangements
- F24F11/30—Control or safety arrangements for purposes related to the operation of the system, e.g. for safety or monitoring
- F24F11/32—Responding to malfunctions or emergencies
- F24F11/38—Failure diagnosis
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F24—HEATING; RANGES; VENTILATING
- F24F—AIR-CONDITIONING; AIR-HUMIDIFICATION; VENTILATION; USE OF AIR CURRENTS FOR SCREENING
- F24F11/00—Control or safety arrangements
- F24F11/50—Control or safety arrangements characterised by user interfaces or communication
- F24F11/52—Indication arrangements, e.g. displays
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F24—HEATING; RANGES; VENTILATING
- F24F—AIR-CONDITIONING; AIR-HUMIDIFICATION; VENTILATION; USE OF AIR CURRENTS FOR SCREENING
- F24F2110/00—Control inputs relating to air properties
- F24F2110/10—Temperature
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F24—HEATING; RANGES; VENTILATING
- F24F—AIR-CONDITIONING; AIR-HUMIDIFICATION; VENTILATION; USE OF AIR CURRENTS FOR SCREENING
- F24F2110/00—Control inputs relating to air properties
- F24F2110/20—Humidity
Definitions
- Thermostats are used to regulate temperatures within a system or an environment, such as buildings, HVAC systems, refrigerators, etc.
- Thermostats allow a user to select a “setpoint” temperature, and the system controls various devices spread throughout the environment to reach the setpoint temperature by either adding or removing heat from the environment.
- the current temperature is often displayed on the thermostat and is based on a compiled reading of scattered devices (e.g., thermometers, temperature loggers, humidity loggers, and other ambient sensors).
- scattered devices e.g., thermometers, temperature loggers, humidity loggers, and other ambient sensors.
- the ambient environmental data can include at least one of temperature or humidity data.
- identifying aberrative behavior can include using a machine learning algorithm trained on historical ambient environmental data associated with the asset to identify the aberrative behavior.
- identifying aberrative behavior can include using a machine learning algorithm trained on historical ambient environmental data associated with other assets similar to the asset to identify the aberrative behavior.
- identifying aberrative behavior can include identifying periods of time within the ambient environmental data with a value at least three standard deviations greater than a mean.
- determining the segment of normal behavior can include partitioning the ambient environmental data into windows of a pre-defined size; normalizing the windows; applying dynamic time warping and clustering to the normalized windows; and identifying a majority cluster as the segment of normal behavior.
- determining the segment of normal behavior can include partitioning the ambient environmental data into windows of a pre-defined size; applying an auto-correlation function to the windows; determining a strength of local minima and maxima for each window; and identifying a window as normal based on the strength of the window.
- identifying the window as normal based on the strength of the window can include determining that the auto-correlation function is sufficiently periodic.
- determining the segment of normal behavior can include partitioning the ambient environmental data with a MatrixProfile (MP) and Corrected Arc Curve (CAC) technique.
- the method can further include using a machine learning classifier to identify the segment of normal behavior.
- the method can further include applying an auto-correlation function to the partitioned ambient environmental data; determining a strength of local minima and maxima for each partition; and identifying a partition as normal based on the strength.
- the plurality of small sections are a size of about two times a periodicity of the ambient environmental data.
- the plurality of large sections are a size of about ten times a periodicity of the ambient environmental data.
- the method further includes obtaining the aberrative behavior; identifying a preceding and succeeding segment for each instance of aberrative behavior; determining that the preceding and succeeding segment are each mis-set; and identifying the instance of aberrative behavior, the preceding segment, and the succeeding segment as a mis-set subsequence.
- a system for identifying a mis-set, mis-calibrated, or malfunctioning thermostat can include a sensor positioned at an asset and configured to measure ambient environmental data associated with the asset; and a server.
- the server can be configured to receive ambient environmental data from the sensor, the ambient environmental data comprising at least one of temperature or humidity data; identify aberrative behavior in the ambient environmental data; obtain a complement of the aberrative behavior; determine a segment of normal behavior in the complement; identify a mis-set subsequence in the segment; generate a report documenting the mis-set subsequence; and transmit the report to a user device.
- identifying the mis-set subsequence in the segment can include partitioning the segment of normal behavior into a plurality of small sections; calculating a mean and maximum temperature for each of the plurality of small sections; determining, based on the mean and maximum temperature, that at least one small section of the plurality of small sections is mis-set; partitioning the segment of normal behavior into a plurality of large sections; calculating a mis-set percentage for each large section of the plurality of large sections; and determining, based on the mis-set percentage, that at least one large section is mis-set.
- determining the segment of normal behavior can include partitioning the ambient environmental data into windows of a pre-defined size; applying an auto-correlation function to the windows; determining a strength of local minima and maxima for each window; and identifying a window as normal based on the strength.
- FIG. 1 is a block diagram of an example system for identifying mis-set and mis-calibrated atmosphere control systems, according to some embodiments of the present disclosure.
- FIG. 2 is an example process for identifying mis-set and mis-calibrated atmosphere control systems that can be performed within the system of FIG. 1 , according to some embodiments of the present disclosure.
- FIG. 3 is an example process for determining normal behavior in ambient time-series data, according to some embodiments of the present disclosure.
- FIG. 4 is another example process for determining normal behavior in ambient time-series data, according to some embodiments of the present disclosure.
- FIG. 5 is another example process for determining normal behavior in ambient time-series data, according to some embodiments of the present disclosure.
- FIG. 6 is an example process for identifying mis-set periods in ambient time-series data, according to some embodiments of the present disclosure.
- FIGS. 9 A and 9 B show example cluster means of ambient environmental data, according to some embodiments of the present disclosure.
- FIGS. 10 A and 10 B show example reports generated by the system of FIG. 1 , according to some embodiments of the present disclosure.
- FIGS. 11 A and 11 B show additional example reports generated by the system of FIG. 1 , according to some embodiments of the present disclosure.
- FIG. 13 is an example computing device that can be used within the system of FIG. 1 according to an embodiment of the present disclosure.
- a user wants to determine if a thermostat is correctly set, there are only a few possible choices, none of which are maximally efficient or accurate.
- the user can physically look at the thermostat; however, they must be in proximity to the environment being controlled.
- the system has the necessary capabilities, the user can receive a notification through a communication channel that the thermostat is not set to the desired setting.
- the environment is being monitored by ambient sensors, the user can review the temperature history of the environment and make a visual estimation on whether the thermostat is set to the desired setting. And if the system is capable, the user can receive a notification through a communication channel that the ambient temperature of the environment has gone outside of desired settings.
- the actual environment may not be achieving the desired setting and may require an adjustment, especially in the case of environments such as refrigeration units for cold storage (e.g., vaccine fridges).
- the actual real-world ambient temperature of the environment can still be influenced by external events, such as power outages, door openings, individual failure of heating/cooling components, extreme ambient heat or nearby heating/cooling sources (e.g., air vents and the like), and unexpected human interaction (e.g., from a child).
- external events such as power outages, door openings, individual failure of heating/cooling components, extreme ambient heat or nearby heating/cooling sources (e.g., air vents and the like), and unexpected human interaction (e.g., from a child).
- Such external events that compromise the intended environmental conditions can often go undetected and/or unnoticed.
- Systems that send notifications when ambient temperatures move outside a desired range can also be prone to false positives.
- Embodiments of the present disclosure thus relate to systems and methods for analyzing ambient environmental data (e.g., temperature data and/or humidity data) over time to infer the temperature at which a thermostat is set and identify mis-set, mis-calibrated, or malfunctioning thermostats.
- Ambient environmental data can be received from a plurality of sensors placed throughout an environment and known aberrative behavior can be identified and removed (e.g., aberrations from door openings, equipment failure, power outages, etc.).
- normal behavior e.g., behavior that has a seemingly correct periodic and sawtooth-like pattern
- normal behavior e.g., behavior that has a seemingly correct periodic and sawtooth-like pattern
- the periods of normal behavior are analyzed to determine if, despite the “normal” patterns and periodicity, the periods are actually too hot or too cold, thus indicating a mis-set thermostat.
- the disclosed systems and methods can automatically and more accurately determine where/when they need to adjust the thermostat to achieve desired environmental settings.
- sensors 102 can include various types of temperature sensors/loggers, humidity sensors/loggers, or any other type of device that can monitor and record temperature and/or humidity values over a period of time.
- the environment 122 can be a variety of areas, regions, buildings, etc., or assets such as a refrigeration unit, where the temperature is desired to be controlled, or other types of atmosphere-controlled containers, such as a shipping container with an O2 control unit.
- each sensor 102 can be placed at a refrigerator.
- the system can also include a user device 110 ; user device 110 , sensors 102 , and thermostat 108 can be communicably coupled to server 106 via a network 104 .
- a user device 110 can include one or more computing devices capable of receiving user input, transmitting and/or receiving data via the network 104 , and or communicating with the server 106 .
- a user device 110 can be representative of a computer system, such as a desktop or laptop computer.
- a user device 110 can be a device having computer functionality, such as a personal digital assistant (PDA), a mobile telephone, a smartphone, or other suitable device.
- PDA personal digital assistant
- a user device 110 can be the same as or similar to the device 1300 described below with respect to FIG. 13 .
- the system 100 can include any number of user devices 110 .
- Server device 106 may include any combination of one or more of web servers, mainframe computers, general-purpose computers, personal computers, or other types of computing devices. Server device 106 may represent distributed servers that are remotely located and communicate over a communications network, or over a dedicated network such as a local area network (LAN). Server device 106 may also include one or more back-end servers for carrying out one or more aspects of the present disclosure. In some embodiments, server device 106 may be the same as or similar to server device 1200 described below in the context of FIG. 12 . In some embodiments, server 106 can include a primary server and multiple nested secondary servers for additional deployments of server 106 .
- server 106 can include various modules and can use said modules to identify mis-set and/or mis-calibrated atmosphere control systems within environment 122 .
- Server 106 can include aberrative behavior module 112 , normal behavior module 114 , mis-set detection module 116 , and reporting module 118 .
- Server 106 can also be communicably coupled to a database 120 ; the database 120 can store various historical environmental time-series data as received by the sensors 102 .
- system 100 may not include a separate database 120 , in which case the system 100 could run entirely on memory. In such an embodiment, the historical environmental time-series data would be loaded into memory, rather than a database.
- Aberrative behavior module 112 can be configured to identify and record periods of known or expected aberrative behavior, such as door openings, power outages, etc. In some embodiments, aberrative behavior module 112 can utilize a predictive machine learning model to perform some identifications. Aberrative behavior module 112 can also be configured to obtain a complement of the aberrative periods identified in a time-series.
- Normal behavior module 114 can be configured to analyze a time-series of sensor data (e.g., from a sensor 102 ) and identify periods of normal behavior.
- “normal” behavior can refer to an expected behavior and shape of a curve, without considering the actual values of a curve. For example, most temperature time-series' from sensors 102 can be expected to have a period pattern (such as a sawtooth) and oscillate at a relatively regular period. As long as a time-series undergoes a similar pattern (i.e., the average value doesn't matter), it can be considered to be “normal.”
- An abnormal time-series could include sporadic, extreme spikes or dips or lack periodicity.
- modules 112 - 118 may be implemented using hardware and/or software configured to perform and execute the processes, steps, or other functionality described in conjunction therewith.
- FIG. 2 is an example process 200 for identifying mis-set and mis-calibrated atmosphere control systems that can be performed within the system of FIG. 1 , according to some embodiments of the present disclosure.
- Process 200 can be performed by server 106 , with certain blocks being performed by various modules.
- server 106 can receive sensor data from one or more sensors 102 .
- the sensor data can be received as a time-series of ambient environmental data, such as temperature, humidity, or other environmental conditions (e.g., pressure, O2 levels, etc.).
- each sensor 102 can monitor the temperature of a specific region or asset, such as a refrigerator.
- a facility for the storage of vaccines may include various refrigerators to house doses and each refrigerator is monitored by a sensor 102 .
- aberrative behavior module 112 identifies aberrative behavior in the time-series data received from the sensor 102 for a refrigerator. This can include identifying and recording periods of known or expected aberrative behavior, due to events such as power outages, heating/cooling equipment failure, insulation failure, and/or door openings.
- aberrative behavior module 112 can utilize a machine learning algorithm as a predictive model to identify periods of aberrative behavior.
- the machine learning algorithm can be trained in various ways. In the case that a particular refrigerator (or any other asset being monitored by a sensor 102 ) has sufficient historical ambient data available (e.g., data stored in database 120 ), the machine learning algorithm can be trained to identify periods of aberrative behavior with the historical ambient data from the particular refrigerator.
- aberrative behavior module 112 can identify and record periods that include extreme outliers. For example, an extreme outlier can be a record with value greater than the mean+three standard deviations of the time series. At block 206 , aberrative behavior module 112 obtains the complement of the identified aberrative behavior (i.e., removing/subtracting the periods that have been identified as having aberrative behavior from the time-series data).
- normal behavior module 114 analyzes the complement of the aberrative behavior to determine normal behavior for the time-series and thus for the respective environment or asset being monitored (e.g., a refrigerator). Various techniques are disclosed herein for determining normal behavior and are discussed specifically with respect to FIGS. 3 - 5 .
- mis-set detection module 116 identifies mis-set subsequences within the periods of normal behavior identified by normal behavior module 114 .
- mis-set periods can include periods of “normal” behavior (i.e., expected periodic sawtooth or similar patterns) that fall outside of a pre-determined range. Additional details with respect to identifying mis-set periods are discussed in relation to FIGS. 6 - 7 .
- reporting module 118 can, in response to mis-set detection module 116 identifying mis-set periods, generate various types of reports documenting the mis-set periods (examples shown in FIGS. 10 A- 10 B and 11 A- 11 B ). In some embodiments, these reports can be automatically transmitted to various devices associated with the environment 122 , such as user device 110 .
- user device 110 can be a computer or other similar-type device associated with a manager or operating personnel of the environment 122 .
- FIG. 3 is an example process 300 for determining normal behavior in ambient time-series data, according to some embodiments of the present disclosure.
- process 300 can be performed by normal behavior module 114 at block 208 of process 200 .
- normal behavior module 114 partitions the time-series sensor data into windows of a pre-defined size.
- the time-series data that is partitioned may be the complement of the periods of aberrative behavior within the original time-series data (e.g., the original time-series data with periods of aberrative behavior removed; see blocks 204 - 206 of FIG. 2 ).
- normal behavior module 114 can partition the time-series into windows with a length of one day, although this is not a limiting window size and any size may be used. For example, in the case that a time-series of ambient sensor data was received for a two-month period, the time-series would be partitioned into around sixty windows.
- normal behavior module 114 normalizes each window such that it has a zero mean unit variance.
- normal behavior module 114 applies dynamic time warping (DTW) and clustering to the normalized windows.
- DTW can be used to measure similarities between temporal sequences.
- normal behavior module 114 can be configured to utilize various clustering techniques to cluster the normalized sensor data after it has been processed with DTW.
- Clustering techniques can include various clustering algorithms such as partitioning clustering (k-means, PAM, CLARA), hierarchical clustering, fuzzy clustering, model-based clustering, and/or density-based clustering techniques such as density-based spatial clustering of applications with noise (DBSCAN).
- normal behavior module 114 can use a k-value of two. A k-value of two will divide the normalized time-series into two clusters, one of which will be a majority cluster and one of which will be a minority cluster. At block 308 , normal behavior module 114 identifies and marks the majority cluster as normal behavior.
- FIG. 4 is another example process 400 for determining normal behavior in ambient time-series data, according to some embodiments of the present disclosure.
- process 400 can be performed by normal behavior module 114 at block 208 of process 200 as an alternative to process 300 .
- normal behavior module 114 partitions the time-series sensor data into windows of a configurable size.
- the time-series data that is partitioned may be the complement of the periods of aberrative behavior within the original time-series data (e.g., the original time-series data with periods of aberrative behavior removed; see blocks 204 - 206 of FIG. 2 ).
- normal behavior module 114 can partition the time-series into windows with a length of one day, although this is not a limiting window size and any size may be used. For example, in the case that a time-series of ambient sensor data was received for a two-month period, the time-series would be partitioned into around sixty windows.
- normal behavior module 114 applies an auto-correlation function to the windows generated at block 402 ; this can determine how correlated each window is with an offset version of itself.
- the auto-correlation function can be applied with a configurable n-lags parameter, where n defines the number of periods by which each window is offset (e.g., one period).
- the auto-correlation function computes the correlation of the time series with itself lagged by all values between zero and the n-lags parameter.
- normal behavior module 114 determines the strength of the local minima and maxima within each window and, at block 408 , identifies normal behavior based on the strength of the local minima and maxima.
- the output of the auto-correlation function is a collection of pairs of values: a lag value (e.g., 60 minutes) and a correlation value for that lag.
- the “strength” of the maxima and minima can depend on how sinusoidal the plot of the collection of pairs is. Plots that are sufficiently sinusoidal suggest a high strength of maxima and minima, whereas plots that are not sinusoidal (e.g., aperiodic curves, logarithm-type curves, etc.) suggest a low strength of maxima and minima.
- FIG. 5 is another example process 500 for determining normal behavior in ambient time-series data, according to some embodiments of the present disclosure.
- process 500 can be performed by normal behavior module 114 at block 208 of process 200 as an alternative to process 300 or process 400 .
- normal behavior module 114 applies a MatrixProfile (MP) and Corrected Arc Curve (CAC) to partition the time-series sensor data.
- MP MatrixProfile
- CAC Corrected Arc Curve
- the time-series data that is partitioned may be the complement of the periods of aberrative behavior within the original time-series data (e.g., the original time-series data with periods of aberrative behavior removed; see blocks 204 - 206 of FIG. 2 ).
- MP techniques can depend on a sliding window approach on a time-series, where, for each window of size m (e.g., one day), the MP algorithm computes the distance (e.g., distance referring to the level of similarity, not physical distance) between the window and the rest of the time-series, and identifies the nearest neighbor.
- the window size m can be user configurable.
- normal behavior module 114 can also use a CAC to partition the time-series in conjunction with the MP algorithm.
- each window of size m has a pointer (e.g., arrow, arc, etc.) that points to its nearest neighbor (e.g., the window in the time-series that is most similar).
- An arc curve can be a plot of the number of pointers crossing each point along the time-series.
- a corrected arc curve corrects the edges of the time-series as these will normally be near zero since they are the beginning and ending points. By detecting a low number of arrows at a certain point along the time-series, this can suggest a phase change within the data. By compiling the phase changes, separate segments of the time-series are identified.
- these criteria can include characteristics such as the peak prominence exceeding a predefined threshold, and being sufficiently far from other peaks.
- normal behavior module 114 uses a classifier is to identify segments as normal.
- the classifier can be trained via machine learning. For example, historical time-series data (e.g., from database 120 ) for various sensors 102 can be obtained and used for training; the normal portions of the time-series' can be labeled, and the classifier can “learn” normal behavior.
- the classifier can also perform classifications based on additional information related to the asset that is being monitored by the sensor 102 , such as make and/or model of the asset, the type of power source, and location.
- the classifier can be a shapelet classifier and can classify shapelets generated by the MP algorithm as either normal or non-normal, where a shapelet is a subsequence of a time-series that is representative of a class or segment within the time-series.
- Blocks 506 - 509 are another possible method and can be similar to blocks 404 - 408 of FIG. 4 .
- Normal behavior module 114 applies an auto-correlation function to the partitioned time-series, determines the strength of the local minima/maxima in the windows generated by the MP algorithm, and identifies normal behavior based on the strength in each window. For example, if the output of the auto-correlation function for a window is sufficiently sinusoidal, then the window can be identified as normal. Conversely, if the output of the auto-correlation function for a window is not sufficiently sinusoidal, then the window has a low similarity to offset versions of itself, suggesting the window is asynchronous and thus abnormal.
- FIG. 6 is an example process 600 for identifying mis-set periods in ambient time-series data, according to some embodiments of the present disclosure.
- process 600 can be performed by mis-set detection module 116 at block 210 of process 200 .
- mis-set detection module 116 partitions the normal behavior (e.g., as identified at block 208 ) into small sections.
- a small section can be a subsequence with a size of around twice the periodicity of the time-series, although this value is merely exemplary in nature.
- mis-set detection module 116 calculates the mean and maximum value (e.g., temperature or humidity) of each small section.
- mis-set detection module 116 determines if each small section is mis-set. In some embodiments, this determination can be based on the mean and maximum temperature calculated at block 604 . For example, if the mean temperature of a window is higher than a pre-defined hot threshold and the maximum temperature is above a pre-defined max threshold, then the window is determined to be too hot and mis-set detection module 116 labels it as such. Conversely, if the mean temperature of a window is lower than a pre-defined cold threshold and the minimum temperature is lower than a pre-defined min threshold, then the window is determined to be too cold and mis-set detection module 116 labels it as such.
- the determination can also be based on the level of normal behavior of the window, which can be a sawtooth pattern, a sinusoidal pattern, an EKG patten, or any other periodic pattern.
- Mis-set detection module 116 can calculate a sawtooth percentage (e.g., the percentage in which the ambient values within the window are in a sawtooth pattern) of the window and, if the sawtooth percentage is above a pre-defined sawtooth threshold, then the window is determined to be too hot or too cold (e.g., see above conditions).
- a section can be considered “mis-set” if both of these conditions are met.
- mis-set detection module 116 partitions the normal behavior (e.g., as identified at block 208 ) into large sections.
- a large section can be a subsequence with a size of around ten times the periodicity of the time-series, although this value is merely exemplary in nature.
- mis-set detection module 116 calculates the mis-set percentage of each large section. For example, for a particular large section, mis-set detection module 116 calculates the percentage of small sections within the large section that are labelled too hot (or too cold).
- mis-set detection module 116 determines if the large sections are mis-set. For example, if the mis-set percentage for a large section is above a pre-defined mis-set threshold, then the large section is determined to be mis-set.
- FIG. 7 is another example process 700 for identifying mis-set periods in ambient time-series data, according to some embodiments of the present disclosure.
- Process 700 is an optional process that can be performed after the completion of process 600 ; process 700 is a modified method for identifying mis-set periods.
- mis-set detection module 116 obtains the periods of aberrative behavior identified at block 204 .
- mis-set detection module 116 identifies the preceding and succeeding segments for each period of aberrative behavior.
- mis-set detection module 116 modifies the mis-set portion (e.g., a mis-set large section from block 612 ) based on the identified preceding and succeeding segments.
- mis-set detection module 116 modifies the mis-set period to include the preceding segment (first large section that is too hot or too cold), the period of aberrative behavior, and the succeeding segment (second large section that is too hot or too cold).
- FIGS. 8 A and 8 B show example ambient environmental data, according to some embodiments of the present disclosure.
- the x-axis is time and the y-axis can either be temperature or humidity.
- the plot of FIG. 8 A shows ambient environmental data 802 , which is data from a refrigerator that is known to be operating abnormally.
- the plot of FIG. 8 B shows ambient environmental data 804 , which is data from a refrigerator that is known to be operating normally. Clear sawtooth patterns are noticeable in data 804 .
- FIGS. 9 A and 9 B show example cluster means of ambient environmental data, according to some embodiments of the present disclosure.
- the plot of FIG. 9 A shows abnormal data 802 and line 902 .
- Line 902 is the DTW cluster centroid of data 802 (see block 306 of FIG. 3 ).
- the plot of FIG. 9 B shows normal data 804 and line 904 , where line 904 is the DTW cluster of data 804 . Again, the line 904 exhibits a much clearer sawtooth pattern than the abnormal data.
- FIGS. 10 A and 10 B show example reports generated by the system of FIG. 1 , according to some embodiments of the present disclosure.
- FIG. 10 A shows a report 1000 a , which includes a time-series 1001 of temperature data.
- the gray shaded region 1002 indicates the acceptable temperature range for the asset (e.g., refrigerator) in which the temperature is being recorded for. Therefore, since time-series 1001 is above the region 1002 , this report indicates that the corresponding refrigerator is too hot.
- FIG. 10 B shows a report 1000 b , which includes another time-series 1003 of temperature data. Report 1000 b includes the same region 1002 that indicates the acceptable temperature range for the corresponding asset. However, report 1000 b includes three sections 1004 - 1006 .
- 11 B shows a report 1100 b , which includes a time-series 1106 of temperature data and the same acceptable temperature region 1102 .
- Report 1100 b includes three sections 1107 - 1109 .
- Regions 1107 and 1109 are regions in which the time-series 1106 is in the acceptable range (e.g., fully within region 1102 ).
- Region 1108 indicates that the time series 1106 was temporarily too cold and below the acceptable region 1102 .
- Both the reports 1100 a and 1100 b can be generated by reporting module 118 and transmitted to a user device 110 in response to detecting mis-set periods.
- FIG. 12 is a diagram of an example server device 1200 that can be used within system 100 of FIG. 1 .
- Server device 1200 can implement various features and processes as described herein.
- Server device 1200 can be implemented on any electronic device that runs software applications derived from compiled or interpreted instructions, including without limitation personal computers, servers, smart phones, media players, electronic tablets, game consoles, email devices, embedded devices, etc.
- server device 1200 can include one or more processors 1202 , volatile memory 1204 , non-volatile memory 1206 , and one or more peripherals 1208 . These components can be interconnected by one or more computer buses 1210 .
- Processor(s) 1202 can use any known processor technology, including but not limited to graphics processors and multi-core processors. Suitable processors for the execution of a program of instructions can include, by way of example, both general and special purpose microprocessors, and the sole processor or one of multiple processors or cores, of any kind of computer.
- Bus 1210 can be any known internal or external bus technology, including but not limited to ISA, EISA, PCI, PCI Express, USB, Serial ATA, or FireWire. In addition, this could include various interfaces used in embedded devices such as UART, SPI, I2C, etc.
- Volatile memory 1204 can include, for example, SDRAM. Processor 1202 can receive instructions and data from a read-only memory or a random access memory or both.
- Essential elements of a computer can include a processor for executing instructions and one or more memories for storing instructions and data.
- Non-volatile memory 1206 can include by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
- Non-volatile memory 1206 can store various computer instructions including operating system instructions 1212 , communication instructions 1214 , application instructions 1216 , and application data 1217 .
- Operating system instructions 1212 can include instructions for implementing an operating system (e.g., Mac OS®, Windows®, or Linux). The operating system can be multi-user, multiprocessing, multitasking, multithreading, real-time, and the like.
- Communication instructions 1214 can include network communications instructions, for example, software for implementing communication protocols, such as TCP/IP, HTTP, Ethernet, telephony, etc.
- Application instructions 1216 can include instructions for performing asset-based severity scoring according to the systems and methods disclosed herein.
- application instructions 1216 can include instructions for components 112 - 118 described above in conjunction with FIG. 1 .
- Application data 1217 can include data corresponding to 112 - 118 described above in conjunction with FIG. 1 .
- FIG. 13 is an example computing device that can be used within the system 130 of FIG. 1 , according to an embodiment of the present disclosure.
- device 1300 can be user device 110 .
- the illustrative user device 1300 can include a memory interface 1302 , one or more data processors, image processors, central processing units 1304 , and/or secure processing units 1305 , and peripherals subsystem 1306 .
- Memory interface 1302 , one or more central processing units 1304 and/or secure processing units 1305 , and/or peripherals subsystem 1306 can be separate components or can be integrated in one or more integrated circuits.
- the various components in user device 1300 can be coupled by one or more communication buses or signal lines.
- Sensors, devices, and subsystems can be coupled to peripherals subsystem 1306 to facilitate multiple functionalities.
- motion sensor 1310 , light sensor 1312 , and proximity sensor 1314 can be coupled to peripherals subsystem 1306 to facilitate orientation, lighting, and proximity functions.
- Other sensors 1316 can also be connected to peripherals subsystem 1306 , such as a global navigation satellite system (GNSS) (e.g., GPS receiver), a temperature sensor, a biometric sensor, magnetometer, or other sensing device, to facilitate related functionalities.
- GNSS global navigation satellite system
- Camera subsystem 1320 and optical sensor 1322 can be utilized to facilitate camera functions, such as recording photographs and video clips.
- Camera subsystem 1320 and optical sensor 1322 can be used to collect images of a user to be used during authentication of a user, e.g., by performing facial recognition analysis.
- Communication functions can be facilitated through one or more wired and/or wireless communication subsystems 1324 , which can include radio frequency receivers and transmitters and/or optical (e.g., infrared) receivers and transmitters.
- the Bluetooth e.g., Bluetooth low energy (BTLE)
- WiFi communications described herein can be handled by wireless communication subsystems 1324 .
- the specific design and implementation of communication subsystems 1324 can depend on the communication network(s) over which the user device 1300 is intended to operate.
- user device 1300 can include communication subsystems 1324 designed to operate over a GSM network, a GPRS network, an EDGE network, a WiFi or WiMax network, and a BluetoothTM network.
- wireless communication subsystems 1324 can include hosting protocols such that device 1300 can be configured as a base station for other wireless devices and/or to provide a WiFi service.
- Audio subsystem 1326 can be coupled to speaker 1328 and microphone 1330 to facilitate voice-enabled functions, such as speaker recognition, voice replication, digital recording, and telephony functions. Audio subsystem 1326 can be configured to facilitate processing voice commands, voice-printing, and voice authentication, for example.
- I/O subsystem 1340 can include a touch-surface controller 1342 and/or other input controller(s) 1344 .
- Touch-surface controller 1342 can be coupled to a touch-surface 1346 .
- Touch-surface 1346 and touch-surface controller 1342 can, for example, detect contact and movement or break thereof using any of a plurality of touch sensitivity technologies, including but not limited to capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements for determining one or more points of contact with touch-surface 1346 .
- the other input controller(s) 1344 can be coupled to other input/control devices 1348 , such as one or more buttons, rocker switches, thumb-wheel, infrared port, USB port, and/or a pointer device such as a stylus.
- the one or more buttons can include an up/down button for volume control of speaker 1328 and/or microphone 1330 .
- a pressing of the button for a first duration can disengage a lock of touch-surface 1346 ; and a pressing of the button for a second duration that is longer than the first duration can turn power to user device 1300 on or off.
- Pressing the button for a third duration can activate a voice control, or voice command, module that enables the user to speak commands into microphone 1330 to cause the device to execute the spoken command.
- the user can customize a functionality of one or more of the buttons.
- Touch-surface 1346 can, for example, also be used to implement virtual or soft buttons and/or a keyboard.
- user device 1300 can present recorded audio and/or video files, such as MP3, AAC, and MPEG files.
- user device 1300 can include the functionality of an MP3 player, such as an iPodTM.
- User device 1300 can, therefore, include a 36-pin connector and/or 8-pin connector that is compatible with the iPod. Other input/output and control devices can also be used.
- Memory interface 1302 can be coupled to memory 1350 .
- Memory 1350 can include high-speed random access memory and/or non-volatile memory, such as one or more magnetic disk storage devices, one or more optical storage devices, and/or flash memory (e.g., NAND, NOR).
- Memory 1350 can store an operating system 1352 , such as Darwin, RTXC, LINUX, UNIX, OS X, Windows, or an embedded operating system such as VxWorks.
- Operating system 1352 can include instructions for handling basic system services and for performing hardware dependent tasks.
- operating system 1352 can be a kernel (e.g., UNIX kernel).
- operating system 1352 can include instructions for performing voice authentication.
- Suitable processors for the execution of a program of instructions can include, by way of example, both general and special purpose microprocessors, and the sole processor or one of multiple processors or cores, of any kind of computer.
- a processor can receive instructions and data from a read-only memory or a random access memory or both.
- the essential elements of a computer may include a processor for executing instructions and one or more memories for storing instructions and data.
- a computer may also include, or be operatively coupled to communicate with, one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks.
- Storage devices suitable for tangibly embodying computer program instructions and data may include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
- semiconductor memory devices such as EPROM, EEPROM, and flash memory devices
- magnetic disks such as internal hard disks and removable disks
- magneto-optical disks and CD-ROM and DVD-ROM disks.
- the processor and the memory may be supplemented by, or incorporated in, ASICs (application-specific integrated circuits).
- ASICs application-specific integrated circuits
- the features may be implemented on a computer having a display device such as an LED or LCD monitor for displaying information to the user and a keyboard and a pointing device such as a mouse or a trackball by which the user may provide input to the computer.
- a display device such as an LED or LCD monitor for displaying information to the user
- a keyboard and a pointing device such as a mouse or a trackball by which the user may provide input to the computer.
- the features may be implemented in a computer system that includes a back-end component, such as a data server, or that includes a middleware component, such as an application server or an Internet server, or that includes a front-end component, such as a client computer having a graphical user interface or an Internet browser, or any combination thereof.
- the components of the system may be connected by any form or medium of digital data communication such as a communication network. Examples of communication networks include, e.g., a telephone network, a LAN, a WAN, and the computers and networks forming the Internet.
- the computer system may include clients and servers.
- a client and server may generally be remote from each other and may typically interact through a network.
- the relationship of client and server may arise by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
- an API call may report to an application the capabilities of a device running the application, such as input capability, output capability, processing capability, power capability, communications capability, etc.
Landscapes
- Engineering & Computer Science (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Mechanical Engineering (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Human Computer Interaction (AREA)
- Testing And Monitoring For Control Systems (AREA)
- Testing Or Calibration Of Command Recording Devices (AREA)
Abstract
Systems and methods are provided to for identifying a mis-set, mis-calibrated, or malfunctioning thermostat. The method can include receiving ambient environmental data from at least one sensor monitoring an asset; identifying aberrative behavior in the ambient environment data; obtaining a complement of the aberrative behavior; determining a segment of normal behavior in the complement; identifying a mis-set subsequence in the segment; generating a report documenting the mis-set subsequence; and transmitting the report to a user device.
Description
- This application claims priority to U.S. Provisional Application No. 63/203,493, filed Jul. 26, 2021, which is herein incorporated by reference in its entirety.
- Thermostats are used to regulate temperatures within a system or an environment, such as buildings, HVAC systems, refrigerators, etc. Thermostats allow a user to select a “setpoint” temperature, and the system controls various devices spread throughout the environment to reach the setpoint temperature by either adding or removing heat from the environment. The current temperature is often displayed on the thermostat and is based on a compiled reading of scattered devices (e.g., thermometers, temperature loggers, humidity loggers, and other ambient sensors). However, even in larger environments, it can be difficult to determine if the thermostat is correctly set based on the desired setpoint.
- According to one aspect of the present disclosure, a method for identifying a mis-set, mis-calibrated, or malfunctioning thermostat can include receiving ambient environmental data from at least one sensor monitoring an asset; identifying aberrative behavior in the ambient environmental data; obtaining a complement of the aberrative behavior; determining a segment of normal behavior in the complement; identifying a mis-set subsequence in the segment; generating a report documenting the mis-set subsequence; and transmitting the report to a user device.
- In some embodiments, the ambient environmental data can include at least one of temperature or humidity data. In some embodiments, identifying aberrative behavior can include using a machine learning algorithm trained on historical ambient environmental data associated with the asset to identify the aberrative behavior. In some embodiments, identifying aberrative behavior can include using a machine learning algorithm trained on historical ambient environmental data associated with other assets similar to the asset to identify the aberrative behavior.
- In some embodiments, identifying aberrative behavior can include identifying periods of time within the ambient environmental data with a value at least three standard deviations greater than a mean. In some embodiments, determining the segment of normal behavior can include partitioning the ambient environmental data into windows of a pre-defined size; normalizing the windows; applying dynamic time warping and clustering to the normalized windows; and identifying a majority cluster as the segment of normal behavior. In some embodiments, determining the segment of normal behavior can include partitioning the ambient environmental data into windows of a pre-defined size; applying an auto-correlation function to the windows; determining a strength of local minima and maxima for each window; and identifying a window as normal based on the strength of the window.
- In some embodiments, identifying the window as normal based on the strength of the window can include determining that the auto-correlation function is sufficiently periodic. In some embodiments, determining the segment of normal behavior can include partitioning the ambient environmental data with a MatrixProfile (MP) and Corrected Arc Curve (CAC) technique. In some embodiments, the method can further include using a machine learning classifier to identify the segment of normal behavior.
- In some embodiments, the method can further include applying an auto-correlation function to the partitioned ambient environmental data; determining a strength of local minima and maxima for each partition; and identifying a partition as normal based on the strength. In some embodiments, the plurality of small sections are a size of about two times a periodicity of the ambient environmental data. In some embodiments, the plurality of large sections are a size of about ten times a periodicity of the ambient environmental data. In some embodiments, the method further includes obtaining the aberrative behavior; identifying a preceding and succeeding segment for each instance of aberrative behavior; determining that the preceding and succeeding segment are each mis-set; and identifying the instance of aberrative behavior, the preceding segment, and the succeeding segment as a mis-set subsequence.
- According to another aspect of the present disclosure, a system for identifying a mis-set, mis-calibrated, or malfunctioning thermostat can include a sensor positioned at an asset and configured to measure ambient environmental data associated with the asset; and a server. The server can be configured to receive ambient environmental data from the sensor, the ambient environmental data comprising at least one of temperature or humidity data; identify aberrative behavior in the ambient environmental data; obtain a complement of the aberrative behavior; determine a segment of normal behavior in the complement; identify a mis-set subsequence in the segment; generate a report documenting the mis-set subsequence; and transmit the report to a user device.
- In some embodiments, identifying the mis-set subsequence in the segment can include partitioning the segment of normal behavior into a plurality of small sections; calculating a mean and maximum temperature for each of the plurality of small sections; determining, based on the mean and maximum temperature, that at least one small section of the plurality of small sections is mis-set; partitioning the segment of normal behavior into a plurality of large sections; calculating a mis-set percentage for each large section of the plurality of large sections; and determining, based on the mis-set percentage, that at least one large section is mis-set.
- In some embodiments, the server can be configured to obtain the aberrative behavior; identify a preceding and succeeding segment for each instance of aberrative behavior; determine that the preceding and succeeding segment are each mis-set; and identify the instance of aberrative behavior, the preceding segment, and the succeeding segment as a mis-set subsequence. In some embodiments, determining the segment of normal behavior can include partitioning the ambient environmental data into windows of a pre-defined size; normalizing the windows; applying dynamic time warping and clustering to the normalized windows; and identifying a majority cluster as the segment of normal behavior. In some embodiments, determining the segment of normal behavior can include partitioning the ambient environmental data into windows of a pre-defined size; applying an auto-correlation function to the windows; determining a strength of local minima and maxima for each window; and identifying a window as normal based on the strength.
-
FIG. 1 is a block diagram of an example system for identifying mis-set and mis-calibrated atmosphere control systems, according to some embodiments of the present disclosure. -
FIG. 2 is an example process for identifying mis-set and mis-calibrated atmosphere control systems that can be performed within the system ofFIG. 1 , according to some embodiments of the present disclosure. -
FIG. 3 is an example process for determining normal behavior in ambient time-series data, according to some embodiments of the present disclosure. -
FIG. 4 is another example process for determining normal behavior in ambient time-series data, according to some embodiments of the present disclosure. -
FIG. 5 is another example process for determining normal behavior in ambient time-series data, according to some embodiments of the present disclosure. -
FIG. 6 is an example process for identifying mis-set periods in ambient time-series data, according to some embodiments of the present disclosure. -
FIG. 7 is another example process for identifying mis-set periods in ambient time-series data, according to some embodiments of the present disclosure. -
FIGS. 8A and 8B show example ambient environmental data steady states, according to some embodiments of the present disclosure. -
FIGS. 9A and 9B show example cluster means of ambient environmental data, according to some embodiments of the present disclosure. -
FIGS. 10A and 10B show example reports generated by the system ofFIG. 1 , according to some embodiments of the present disclosure. -
FIGS. 11A and 11B show additional example reports generated by the system ofFIG. 1 , according to some embodiments of the present disclosure. -
FIG. 12 is an example server device that can be used within the system ofFIG. 1 according to an embodiment of the present disclosure. -
FIG. 13 is an example computing device that can be used within the system ofFIG. 1 according to an embodiment of the present disclosure. - The following detailed description is merely exemplary in nature and is not intended to limit the invention or the applications of its use.
- Currently, if a user wants to determine if a thermostat is correctly set, there are only a few possible choices, none of which are maximally efficient or accurate. In some cases, the user can physically look at the thermostat; however, they must be in proximity to the environment being controlled. In other cases, if the system has the necessary capabilities, the user can receive a notification through a communication channel that the thermostat is not set to the desired setting. If the environment is being monitored by ambient sensors, the user can review the temperature history of the environment and make a visual estimation on whether the thermostat is set to the desired setting. And if the system is capable, the user can receive a notification through a communication channel that the ambient temperature of the environment has gone outside of desired settings.
- However, even if a thermostat is set at the desired setting, the actual environment may not be achieving the desired setting and may require an adjustment, especially in the case of environments such as refrigeration units for cold storage (e.g., vaccine fridges). After a setpoint temperature is set at the thermostat, the actual real-world ambient temperature of the environment can still be influenced by external events, such as power outages, door openings, individual failure of heating/cooling components, extreme ambient heat or nearby heating/cooling sources (e.g., air vents and the like), and unexpected human interaction (e.g., from a child). Such external events that compromise the intended environmental conditions, can often go undetected and/or unnoticed. Systems that send notifications when ambient temperatures move outside a desired range can also be prone to false positives. For example, if an environment moves outside of a desired temperature setting, this may not necessarily mean that the thermostat itself is set improperly. Rather, an external event may have taken place that affected the temperature. In the case of systems that send notifications of mis-set thermostats, a user would receive such a notification, inspect the thermostat, determine that the thermostat is, in fact, properly set, and conclude that the notification was a false positive. However, if the temperature fluctuation was actually caused by an external event or other aberrative behavior independent of the thermostat setting, the user would have no way of knowing and the external event would not be able to be remedied. This can potentially cause significant damage; if an external event is affecting the local temperature of a refrigeration unit storing vaccines, even a small amount of time spent outside the set temperature range could ruin the vaccines and potentially cost lives.
- Embodiments of the present disclosure thus relate to systems and methods for analyzing ambient environmental data (e.g., temperature data and/or humidity data) over time to infer the temperature at which a thermostat is set and identify mis-set, mis-calibrated, or malfunctioning thermostats. Ambient environmental data can be received from a plurality of sensors placed throughout an environment and known aberrative behavior can be identified and removed (e.g., aberrations from door openings, equipment failure, power outages, etc.). Then, normal behavior (e.g., behavior that has a seemingly correct periodic and sawtooth-like pattern) is identified via one of the various disclosed techniques, and the periods of normal behavior are analyzed to determine if, despite the “normal” patterns and periodicity, the periods are actually too hot or too cold, thus indicating a mis-set thermostat. Thus, the disclosed systems and methods can automatically and more accurately determine where/when they need to adjust the thermostat to achieve desired environmental settings.
-
FIG. 1 is a block diagram of anexample system 100 for identifying mis-set and mis-calibrated atmosphere control systems, according to some embodiments of the present disclosure. Thesystem 100 can include a plurality of sensors 102 a-n (generally referred to herein as a “sensor 102” or collectively referred to herein as “sensors 102”) and athermostat 108 that are used to control and monitor the temperature of anenvironment 122. It is important to note that, whilethermostat 108 is visually withinenvironment 122 inFIG. 1 , this is not limiting and is merely exemplary in nature.Thermostat 122 can reside within the monitoredenvironment 122 or outside the monitoredenvironment 122. In some embodiments, sensors 102 can include various types of temperature sensors/loggers, humidity sensors/loggers, or any other type of device that can monitor and record temperature and/or humidity values over a period of time. Theenvironment 122 can be a variety of areas, regions, buildings, etc., or assets such as a refrigeration unit, where the temperature is desired to be controlled, or other types of atmosphere-controlled containers, such as a shipping container with an O2 control unit. In some embodiments, each sensor 102 can be placed at a refrigerator. The system can also include auser device 110;user device 110, sensors 102, andthermostat 108 can be communicably coupled toserver 106 via anetwork 104. - A
user device 110 can include one or more computing devices capable of receiving user input, transmitting and/or receiving data via thenetwork 104, and or communicating with theserver 106. In some embodiments, auser device 110 can be representative of a computer system, such as a desktop or laptop computer. Alternatively, auser device 110 can be a device having computer functionality, such as a personal digital assistant (PDA), a mobile telephone, a smartphone, or other suitable device. In some embodiments, auser device 110 can be the same as or similar to thedevice 1300 described below with respect toFIG. 13 . In some embodiments, thesystem 100 can include any number ofuser devices 110. - The
network 104 can include one or more wide areas networks (WANs), metropolitan area networks (MANs), local area networks (LANs), personal area networks (PANs), or any combination of these networks. Thenetwork 104 can include a combination of one or more types of networks, such as Internet, intranet, Ethernet, twisted-pair, coaxial cable, fiber optic, cellular, satellite, IEEE 801.11, terrestrial, and/or other types of wired or wireless networks. Thenetwork 104 can also use standard communication technologies and/or protocols. Furthermore, thenetwork 104 can be a wireless mesh network (WMN) and can include functionality such as Bluetooth Low Energy (BLE) mesh networking. -
Server device 106 may include any combination of one or more of web servers, mainframe computers, general-purpose computers, personal computers, or other types of computing devices.Server device 106 may represent distributed servers that are remotely located and communicate over a communications network, or over a dedicated network such as a local area network (LAN).Server device 106 may also include one or more back-end servers for carrying out one or more aspects of the present disclosure. In some embodiments,server device 106 may be the same as or similar toserver device 1200 described below in the context ofFIG. 12 . In some embodiments,server 106 can include a primary server and multiple nested secondary servers for additional deployments ofserver 106. In some embodiments,server 106 may be a centralized grouping of one or more servers to monitor multiple environments on behalf of one or more clients. In other embodiments, thesystem 100 may utilize an edge computing topology, wherein server 106 (or a group of one or more servers) resides at a location close to, the same as, or associated with theenvironment 122. Such a framework brings computation and data storage closer to a client's or monitored environment's physical location, improving response times and conserving bandwidth. - As shown in
FIG. 1 ,server 106 can include various modules and can use said modules to identify mis-set and/or mis-calibrated atmosphere control systems withinenvironment 122.Server 106 can includeaberrative behavior module 112,normal behavior module 114, mis-setdetection module 116, andreporting module 118.Server 106 can also be communicably coupled to adatabase 120; thedatabase 120 can store various historical environmental time-series data as received by the sensors 102. In some embodiments,system 100 may not include aseparate database 120, in which case thesystem 100 could run entirely on memory. In such an embodiment, the historical environmental time-series data would be loaded into memory, rather than a database. One or more of the disclosed modules can access and utilize various tslearn tools or other machine learning toolkits to analyze time-series data to perform their respective analyses.Aberrative behavior module 112 can be configured to identify and record periods of known or expected aberrative behavior, such as door openings, power outages, etc. In some embodiments,aberrative behavior module 112 can utilize a predictive machine learning model to perform some identifications.Aberrative behavior module 112 can also be configured to obtain a complement of the aberrative periods identified in a time-series. -
Normal behavior module 114 can be configured to analyze a time-series of sensor data (e.g., from a sensor 102) and identify periods of normal behavior. As described herein, “normal” behavior can refer to an expected behavior and shape of a curve, without considering the actual values of a curve. For example, most temperature time-series' from sensors 102 can be expected to have a period pattern (such as a sawtooth) and oscillate at a relatively regular period. As long as a time-series undergoes a similar pattern (i.e., the average value doesn't matter), it can be considered to be “normal.” An abnormal time-series could include sporadic, extreme spikes or dips or lack periodicity.Normal behavior module 114 can utilize various techniques to identify normal behavior in a time-series, such as dynamic time warping (DTW) clustering techniques (seeFIG. 3 ), auto-correlation functions (seeFIG. 4 ), and MatrixProfile techniques (seeFIG. 5 ). Mis-setdetection module 116 can be configured to analyze period of normal behavior (e.g., those identified by normal behavior module 114) to determine if there is a mis-set or mis-calibrated thermostat for a certain period (seeFIGS. 6-7 ).Reporting module 118 can be configured to prepare and transmit various reports related to irregularity detection analysis (seeFIGS. 10A, 10B, 11A, and 11B ). - The various system components—such as modules 112-118—may be implemented using hardware and/or software configured to perform and execute the processes, steps, or other functionality described in conjunction therewith.
-
FIG. 2 is anexample process 200 for identifying mis-set and mis-calibrated atmosphere control systems that can be performed within the system ofFIG. 1 , according to some embodiments of the present disclosure.Process 200 can be performed byserver 106, with certain blocks being performed by various modules. Atblock 202,server 106 can receive sensor data from one or more sensors 102. The sensor data can be received as a time-series of ambient environmental data, such as temperature, humidity, or other environmental conditions (e.g., pressure, O2 levels, etc.). As described in relation toFIG. 1 , each sensor 102 can monitor the temperature of a specific region or asset, such as a refrigerator. For example, a facility for the storage of vaccines may include various refrigerators to house doses and each refrigerator is monitored by a sensor 102. - At
block 204,aberrative behavior module 112 identifies aberrative behavior in the time-series data received from the sensor 102 for a refrigerator. This can include identifying and recording periods of known or expected aberrative behavior, due to events such as power outages, heating/cooling equipment failure, insulation failure, and/or door openings. In some embodiments,aberrative behavior module 112 can utilize a machine learning algorithm as a predictive model to identify periods of aberrative behavior. The machine learning algorithm can be trained in various ways. In the case that a particular refrigerator (or any other asset being monitored by a sensor 102) has sufficient historical ambient data available (e.g., data stored in database 120), the machine learning algorithm can be trained to identify periods of aberrative behavior with the historical ambient data from the particular refrigerator. In some embodiments, if historical ambient data for that particular refrigerator is not available or if the refrigerator is new, a machine learning algorithm can be trained on related refrigerators (or any other respective asset) based on make, model, power source, country/geographic region, etc. In some embodiments, a weighted average of both types of machine learning algorithms can be utilized to identify aberrative behavior. In some embodiments, after identifying periods of time in the time-series ambient sensor data,aberrative behavior module 112 can identify and record periods that include extreme outliers. For example, an extreme outlier can be a record with value greater than the mean+three standard deviations of the time series. Atblock 206,aberrative behavior module 112 obtains the complement of the identified aberrative behavior (i.e., removing/subtracting the periods that have been identified as having aberrative behavior from the time-series data). - At
block 208,normal behavior module 114 analyzes the complement of the aberrative behavior to determine normal behavior for the time-series and thus for the respective environment or asset being monitored (e.g., a refrigerator). Various techniques are disclosed herein for determining normal behavior and are discussed specifically with respect toFIGS. 3-5 . Atblock 210, mis-setdetection module 116 identifies mis-set subsequences within the periods of normal behavior identified bynormal behavior module 114. In some embodiments, mis-set periods can include periods of “normal” behavior (i.e., expected periodic sawtooth or similar patterns) that fall outside of a pre-determined range. Additional details with respect to identifying mis-set periods are discussed in relation toFIGS. 6-7 . Atblock 212, reportingmodule 118 can, in response to mis-setdetection module 116 identifying mis-set periods, generate various types of reports documenting the mis-set periods (examples shown inFIGS. 10A-10B and 11A-11B ). In some embodiments, these reports can be automatically transmitted to various devices associated with theenvironment 122, such asuser device 110. For example,user device 110 can be a computer or other similar-type device associated with a manager or operating personnel of theenvironment 122. -
FIG. 3 is anexample process 300 for determining normal behavior in ambient time-series data, according to some embodiments of the present disclosure. For example,process 300 can be performed bynormal behavior module 114 atblock 208 ofprocess 200. Atblock 302,normal behavior module 114 partitions the time-series sensor data into windows of a pre-defined size. The time-series data that is partitioned may be the complement of the periods of aberrative behavior within the original time-series data (e.g., the original time-series data with periods of aberrative behavior removed; see blocks 204-206 ofFIG. 2 ). In some embodiments,normal behavior module 114 can partition the time-series into windows with a length of one day, although this is not a limiting window size and any size may be used. For example, in the case that a time-series of ambient sensor data was received for a two-month period, the time-series would be partitioned into around sixty windows. - At
block 304,normal behavior module 114 normalizes each window such that it has a zero mean unit variance. Atblock 306,normal behavior module 114 applies dynamic time warping (DTW) and clustering to the normalized windows. DTW can be used to measure similarities between temporal sequences. In addition,normal behavior module 114 can be configured to utilize various clustering techniques to cluster the normalized sensor data after it has been processed with DTW. Clustering techniques can include various clustering algorithms such as partitioning clustering (k-means, PAM, CLARA), hierarchical clustering, fuzzy clustering, model-based clustering, and/or density-based clustering techniques such as density-based spatial clustering of applications with noise (DBSCAN). In the case of k-means clustering,normal behavior module 114 can use a k-value of two. A k-value of two will divide the normalized time-series into two clusters, one of which will be a majority cluster and one of which will be a minority cluster. Atblock 308,normal behavior module 114 identifies and marks the majority cluster as normal behavior. -
FIG. 4 is anotherexample process 400 for determining normal behavior in ambient time-series data, according to some embodiments of the present disclosure. For example,process 400 can be performed bynormal behavior module 114 atblock 208 ofprocess 200 as an alternative to process 300. Atblock 402,normal behavior module 114 partitions the time-series sensor data into windows of a configurable size. The time-series data that is partitioned may be the complement of the periods of aberrative behavior within the original time-series data (e.g., the original time-series data with periods of aberrative behavior removed; see blocks 204-206 ofFIG. 2 ). In some embodiments,normal behavior module 114 can partition the time-series into windows with a length of one day, although this is not a limiting window size and any size may be used. For example, in the case that a time-series of ambient sensor data was received for a two-month period, the time-series would be partitioned into around sixty windows. - At
block 404,normal behavior module 114 applies an auto-correlation function to the windows generated atblock 402; this can determine how correlated each window is with an offset version of itself. In some embodiments, the auto-correlation function can be applied with a configurable n-lags parameter, where n defines the number of periods by which each window is offset (e.g., one period). The auto-correlation function computes the correlation of the time series with itself lagged by all values between zero and the n-lags parameter. Atblock 406,normal behavior module 114 determines the strength of the local minima and maxima within each window and, atblock 408, identifies normal behavior based on the strength of the local minima and maxima. For example, the output of the auto-correlation function is a collection of pairs of values: a lag value (e.g., 60 minutes) and a correlation value for that lag. The “strength” of the maxima and minima can depend on how sinusoidal the plot of the collection of pairs is. Plots that are sufficiently sinusoidal suggest a high strength of maxima and minima, whereas plots that are not sinusoidal (e.g., aperiodic curves, logarithm-type curves, etc.) suggest a low strength of maxima and minima. -
FIG. 5 is anotherexample process 500 for determining normal behavior in ambient time-series data, according to some embodiments of the present disclosure. For example,process 500 can be performed bynormal behavior module 114 atblock 208 ofprocess 200 as an alternative to process 300 orprocess 400. Atblock 502,normal behavior module 114 applies a MatrixProfile (MP) and Corrected Arc Curve (CAC) to partition the time-series sensor data. The time-series data that is partitioned may be the complement of the periods of aberrative behavior within the original time-series data (e.g., the original time-series data with periods of aberrative behavior removed; see blocks 204-206 ofFIG. 2 ). MP techniques can depend on a sliding window approach on a time-series, where, for each window of size m (e.g., one day), the MP algorithm computes the distance (e.g., distance referring to the level of similarity, not physical distance) between the window and the rest of the time-series, and identifies the nearest neighbor. The window size m can be user configurable. In some embodiments,normal behavior module 114 can also use a CAC to partition the time-series in conjunction with the MP algorithm. When the MP algorithm is performed, each window of size m has a pointer (e.g., arrow, arc, etc.) that points to its nearest neighbor (e.g., the window in the time-series that is most similar). An arc curve can be a plot of the number of pointers crossing each point along the time-series. A corrected arc curve corrects the edges of the time-series as these will normally be near zero since they are the beginning and ending points. By detecting a low number of arrows at a certain point along the time-series, this can suggest a phase change within the data. By compiling the phase changes, separate segments of the time-series are identified. In some embodiments, if the CAC value exceeds a certain predefined threshold, and satisfies other criteria indicating that it is a local peak, then that can be considered a phase change. In some embodiments, these criteria can include characteristics such as the peak prominence exceeding a predefined threshold, and being sufficiently far from other peaks. - After
block 502, there are two possible ways to identify normal behavior from the partitioned time-series. One of the possible methods isblock 504, wherenormal behavior module 114 uses a classifier is to identify segments as normal. The classifier can be trained via machine learning. For example, historical time-series data (e.g., from database 120) for various sensors 102 can be obtained and used for training; the normal portions of the time-series' can be labeled, and the classifier can “learn” normal behavior. In some embodiments, the classifier can also perform classifications based on additional information related to the asset that is being monitored by the sensor 102, such as make and/or model of the asset, the type of power source, and location. In some embodiments, the classifier can be a shapelet classifier and can classify shapelets generated by the MP algorithm as either normal or non-normal, where a shapelet is a subsequence of a time-series that is representative of a class or segment within the time-series. - Blocks 506-509 are another possible method and can be similar to blocks 404-408 of
FIG. 4 .Normal behavior module 114 applies an auto-correlation function to the partitioned time-series, determines the strength of the local minima/maxima in the windows generated by the MP algorithm, and identifies normal behavior based on the strength in each window. For example, if the output of the auto-correlation function for a window is sufficiently sinusoidal, then the window can be identified as normal. Conversely, if the output of the auto-correlation function for a window is not sufficiently sinusoidal, then the window has a low similarity to offset versions of itself, suggesting the window is asynchronous and thus abnormal. -
FIG. 6 is anexample process 600 for identifying mis-set periods in ambient time-series data, according to some embodiments of the present disclosure. For example,process 600 can be performed by mis-setdetection module 116 atblock 210 ofprocess 200. Atblock 602, mis-setdetection module 116 partitions the normal behavior (e.g., as identified at block 208) into small sections. In some embodiments, a small section can be a subsequence with a size of around twice the periodicity of the time-series, although this value is merely exemplary in nature. Atblock 604, mis-setdetection module 116 calculates the mean and maximum value (e.g., temperature or humidity) of each small section. Atblock 606, mis-setdetection module 116 determines if each small section is mis-set. In some embodiments, this determination can be based on the mean and maximum temperature calculated atblock 604. For example, if the mean temperature of a window is higher than a pre-defined hot threshold and the maximum temperature is above a pre-defined max threshold, then the window is determined to be too hot and mis-setdetection module 116 labels it as such. Conversely, if the mean temperature of a window is lower than a pre-defined cold threshold and the minimum temperature is lower than a pre-defined min threshold, then the window is determined to be too cold and mis-setdetection module 116 labels it as such. In some embodiments, the determination can also be based on the level of normal behavior of the window, which can be a sawtooth pattern, a sinusoidal pattern, an EKG patten, or any other periodic pattern. Mis-setdetection module 116 can calculate a sawtooth percentage (e.g., the percentage in which the ambient values within the window are in a sawtooth pattern) of the window and, if the sawtooth percentage is above a pre-defined sawtooth threshold, then the window is determined to be too hot or too cold (e.g., see above conditions). A similar analysis can be applied for determining how sinusoidal the small section is. In some embodiments, a section can be considered “mis-set” if both of these conditions are met. - At
block 608, mis-setdetection module 116 partitions the normal behavior (e.g., as identified at block 208) into large sections. In some embodiments, a large section can be a subsequence with a size of around ten times the periodicity of the time-series, although this value is merely exemplary in nature. Atblock 610, mis-setdetection module 116 calculates the mis-set percentage of each large section. For example, for a particular large section, mis-setdetection module 116 calculates the percentage of small sections within the large section that are labelled too hot (or too cold). Atblock 612, mis-setdetection module 116 determines if the large sections are mis-set. For example, if the mis-set percentage for a large section is above a pre-defined mis-set threshold, then the large section is determined to be mis-set. -
FIG. 7 is anotherexample process 700 for identifying mis-set periods in ambient time-series data, according to some embodiments of the present disclosure.Process 700 is an optional process that can be performed after the completion ofprocess 600;process 700 is a modified method for identifying mis-set periods. Atblock 702, mis-setdetection module 116 obtains the periods of aberrative behavior identified atblock 204. Atblock 704, mis-setdetection module 116 identifies the preceding and succeeding segments for each period of aberrative behavior. Atblock 706, mis-setdetection module 116 modifies the mis-set portion (e.g., a mis-set large section from block 612) based on the identified preceding and succeeding segments. For example, if the segments preceding and succeeding a period of aberrative behavior are both identified as too hot or too cold (e.g., at block 612), then mis-setdetection module 116 modifies the mis-set period to include the preceding segment (first large section that is too hot or too cold), the period of aberrative behavior, and the succeeding segment (second large section that is too hot or too cold). -
FIGS. 8A and 8B show example ambient environmental data, according to some embodiments of the present disclosure. The x-axis is time and the y-axis can either be temperature or humidity. The plot ofFIG. 8A shows ambientenvironmental data 802, which is data from a refrigerator that is known to be operating abnormally. The plot ofFIG. 8B shows ambientenvironmental data 804, which is data from a refrigerator that is known to be operating normally. Clear sawtooth patterns are noticeable indata 804. -
FIGS. 9A and 9B show example cluster means of ambient environmental data, according to some embodiments of the present disclosure. The plot ofFIG. 9A showsabnormal data 802 andline 902.Line 902 is the DTW cluster centroid of data 802 (seeblock 306 ofFIG. 3 ). The plot ofFIG. 9B showsnormal data 804 andline 904, whereline 904 is the DTW cluster ofdata 804. Again, theline 904 exhibits a much clearer sawtooth pattern than the abnormal data. -
FIGS. 10A and 10B show example reports generated by the system ofFIG. 1 , according to some embodiments of the present disclosure.FIG. 10A shows areport 1000 a, which includes a time-series 1001 of temperature data. The grayshaded region 1002 indicates the acceptable temperature range for the asset (e.g., refrigerator) in which the temperature is being recorded for. Therefore, since time-series 1001 is above theregion 1002, this report indicates that the corresponding refrigerator is too hot.FIG. 10B shows areport 1000 b, which includes another time-series 1003 of temperature data.Report 1000 b includes thesame region 1002 that indicates the acceptable temperature range for the corresponding asset. However,report 1000 b includes three sections 1004-1006. 1004 and 1006 are regions in which the time-Regions series 1003 is too hot (e.g., above the region 1002). Conversely,region 1005 is a region in which the time-series 1003 is in an acceptable range (e.g., fully within region 1002). Both the 1000 a and 1000 b can be generated by reportingreports module 118 and transmitted to auser device 110 in response to detecting mis-set periods. -
FIGS. 11A and 11B show additional example reports generated by the system ofFIG. 1 , according to some embodiments of the present disclosure.FIG. 11A shows areport 1100 a, which includes a time-series 1101 of temperature data. The grayshaded region 1102 indicates the acceptable temperature range for the asset (e.g., refrigerator) for which the temperature is being recorded.Report 1100 a includes three sections 1103-1105. 1103 and 1105 are regions in which the time-Regions series 1101 is in the acceptable range (e.g., fully within region 1102). Region 1104 indicates that the time-series 1101 was temporarily too cold and below theacceptable region 1102.FIG. 11B shows areport 1100 b, which includes a time-series 1106 of temperature data and the sameacceptable temperature region 1102.Report 1100 b includes three sections 1107-1109. 1107 and 1109 are regions in which the time-Regions series 1106 is in the acceptable range (e.g., fully within region 1102).Region 1108 indicates that thetime series 1106 was temporarily too cold and below theacceptable region 1102. Both the 1100 a and 1100 b can be generated by reportingreports module 118 and transmitted to auser device 110 in response to detecting mis-set periods. -
FIG. 12 is a diagram of anexample server device 1200 that can be used withinsystem 100 ofFIG. 1 .Server device 1200 can implement various features and processes as described herein.Server device 1200 can be implemented on any electronic device that runs software applications derived from compiled or interpreted instructions, including without limitation personal computers, servers, smart phones, media players, electronic tablets, game consoles, email devices, embedded devices, etc. In some implementations,server device 1200 can include one ormore processors 1202,volatile memory 1204,non-volatile memory 1206, and one ormore peripherals 1208. These components can be interconnected by one ormore computer buses 1210. - Processor(s) 1202 can use any known processor technology, including but not limited to graphics processors and multi-core processors. Suitable processors for the execution of a program of instructions can include, by way of example, both general and special purpose microprocessors, and the sole processor or one of multiple processors or cores, of any kind of computer.
Bus 1210 can be any known internal or external bus technology, including but not limited to ISA, EISA, PCI, PCI Express, USB, Serial ATA, or FireWire. In addition, this could include various interfaces used in embedded devices such as UART, SPI, I2C, etc.Volatile memory 1204 can include, for example, SDRAM.Processor 1202 can receive instructions and data from a read-only memory or a random access memory or both. Essential elements of a computer can include a processor for executing instructions and one or more memories for storing instructions and data. -
Non-volatile memory 1206 can include by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.Non-volatile memory 1206 can store various computer instructions includingoperating system instructions 1212,communication instructions 1214,application instructions 1216, andapplication data 1217.Operating system instructions 1212 can include instructions for implementing an operating system (e.g., Mac OS®, Windows®, or Linux). The operating system can be multi-user, multiprocessing, multitasking, multithreading, real-time, and the like.Communication instructions 1214 can include network communications instructions, for example, software for implementing communication protocols, such as TCP/IP, HTTP, Ethernet, telephony, etc.Application instructions 1216 can include instructions for performing asset-based severity scoring according to the systems and methods disclosed herein. For example,application instructions 1216 can include instructions for components 112-118 described above in conjunction withFIG. 1 .Application data 1217 can include data corresponding to 112-118 described above in conjunction withFIG. 1 . -
Peripherals 1208 can be included withinserver device 1200 or operatively coupled to communicate withserver device 1200.Peripherals 1208 can include, for example,network subsystem 1218,input controller 1220, anddisk controller 1222.Network subsystem 1218 can include, for example, an Ethernet or WiFi adapter or BLE functionality, as discussed in relation tonetwork 104. BLE can be used for either/both a wireless protocol for networking and for peripherals.Input controller 1220 can be any known input device technology, including but not limited to a keyboard (including a virtual keyboard), mouse, track ball, and touch-sensitive pad or display.Disk controller 1222 can include one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. -
FIG. 13 is an example computing device that can be used within the system 130 ofFIG. 1 , according to an embodiment of the present disclosure. In some embodiments,device 1300 can beuser device 110. Theillustrative user device 1300 can include amemory interface 1302, one or more data processors, image processors,central processing units 1304, and/orsecure processing units 1305, andperipherals subsystem 1306.Memory interface 1302, one or morecentral processing units 1304 and/orsecure processing units 1305, and/or peripherals subsystem 1306 can be separate components or can be integrated in one or more integrated circuits. The various components inuser device 1300 can be coupled by one or more communication buses or signal lines. - Sensors, devices, and subsystems can be coupled to
peripherals subsystem 1306 to facilitate multiple functionalities. For example,motion sensor 1310,light sensor 1312, andproximity sensor 1314 can be coupled toperipherals subsystem 1306 to facilitate orientation, lighting, and proximity functions.Other sensors 1316 can also be connected toperipherals subsystem 1306, such as a global navigation satellite system (GNSS) (e.g., GPS receiver), a temperature sensor, a biometric sensor, magnetometer, or other sensing device, to facilitate related functionalities. -
Camera subsystem 1320 andoptical sensor 1322, e.g., a charged coupled device (CCD) or a complementary metal-oxide semiconductor (CMOS) optical sensor, can be utilized to facilitate camera functions, such as recording photographs and video clips.Camera subsystem 1320 andoptical sensor 1322 can be used to collect images of a user to be used during authentication of a user, e.g., by performing facial recognition analysis. - Communication functions can be facilitated through one or more wired and/or
wireless communication subsystems 1324, which can include radio frequency receivers and transmitters and/or optical (e.g., infrared) receivers and transmitters. For example, the Bluetooth (e.g., Bluetooth low energy (BTLE)) and/or WiFi communications described herein can be handled bywireless communication subsystems 1324. The specific design and implementation ofcommunication subsystems 1324 can depend on the communication network(s) over which theuser device 1300 is intended to operate. For example,user device 1300 can includecommunication subsystems 1324 designed to operate over a GSM network, a GPRS network, an EDGE network, a WiFi or WiMax network, and a Bluetooth™ network. For example,wireless communication subsystems 1324 can include hosting protocols such thatdevice 1300 can be configured as a base station for other wireless devices and/or to provide a WiFi service. -
Audio subsystem 1326 can be coupled tospeaker 1328 andmicrophone 1330 to facilitate voice-enabled functions, such as speaker recognition, voice replication, digital recording, and telephony functions.Audio subsystem 1326 can be configured to facilitate processing voice commands, voice-printing, and voice authentication, for example. - I/
O subsystem 1340 can include a touch-surface controller 1342 and/or other input controller(s) 1344. Touch-surface controller 1342 can be coupled to a touch-surface 1346. Touch-surface 1346 and touch-surface controller 1342 can, for example, detect contact and movement or break thereof using any of a plurality of touch sensitivity technologies, including but not limited to capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements for determining one or more points of contact with touch-surface 1346. - The other input controller(s) 1344 can be coupled to other input/
control devices 1348, such as one or more buttons, rocker switches, thumb-wheel, infrared port, USB port, and/or a pointer device such as a stylus. The one or more buttons (not shown) can include an up/down button for volume control ofspeaker 1328 and/ormicrophone 1330. - In some implementations, a pressing of the button for a first duration can disengage a lock of touch-
surface 1346; and a pressing of the button for a second duration that is longer than the first duration can turn power touser device 1300 on or off. Pressing the button for a third duration can activate a voice control, or voice command, module that enables the user to speak commands intomicrophone 1330 to cause the device to execute the spoken command. The user can customize a functionality of one or more of the buttons. Touch-surface 1346 can, for example, also be used to implement virtual or soft buttons and/or a keyboard. - In some implementations,
user device 1300 can present recorded audio and/or video files, such as MP3, AAC, and MPEG files. In some implementations,user device 1300 can include the functionality of an MP3 player, such as an iPod™.User device 1300 can, therefore, include a 36-pin connector and/or 8-pin connector that is compatible with the iPod. Other input/output and control devices can also be used. -
Memory interface 1302 can be coupled tomemory 1350.Memory 1350 can include high-speed random access memory and/or non-volatile memory, such as one or more magnetic disk storage devices, one or more optical storage devices, and/or flash memory (e.g., NAND, NOR).Memory 1350 can store anoperating system 1352, such as Darwin, RTXC, LINUX, UNIX, OS X, Windows, or an embedded operating system such as VxWorks. -
Operating system 1352 can include instructions for handling basic system services and for performing hardware dependent tasks. In some implementations,operating system 1352 can be a kernel (e.g., UNIX kernel). In some implementations,operating system 1352 can include instructions for performing voice authentication. -
Memory 1350 can also storecommunication instructions 1354 to facilitate communicating with one or more additional devices, one or more computers and/or one or more servers.Memory 1350 can include graphicaluser interface instructions 1356 to facilitate graphic user interface processing;sensor processing instructions 1358 to facilitate sensor-related processing and functions;phone instructions 1360 to facilitate phone-related processes and functions;electronic messaging instructions 1362 to facilitate electronic messaging-related process and functions;web browsing instructions 1364 to facilitate web browsing-related processes and functions;media processing instructions 1366 to facilitate media processing-related functions and processes; GNSS/Navigation instructions 1368 to facilitate GNSS and navigation-related processes and instructions; and/orcamera instructions 1370 to facilitate camera-related processes and functions. -
Memory 1350 can store application (or “app”) instructions anddata 1372, such as instructions for the apps described above in the context ofFIGS. 2-7 .Memory 1350 can also storeother software instructions 1374 for various other software applications in place ondevice 1300. - The described features can be implemented in one or more computer programs that can be executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. A computer program is a set of instructions that can be used, directly or indirectly, in a computer to perform a certain activity or bring about a certain result. A computer program can be written in any form of programming language (e.g., Objective-C, Java), including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
- Suitable processors for the execution of a program of instructions can include, by way of example, both general and special purpose microprocessors, and the sole processor or one of multiple processors or cores, of any kind of computer. Generally, a processor can receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer may include a processor for executing instructions and one or more memories for storing instructions and data. Generally, a computer may also include, or be operatively coupled to communicate with, one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data may include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory may be supplemented by, or incorporated in, ASICs (application-specific integrated circuits).
- To provide for interaction with a user, the features may be implemented on a computer having a display device such as an LED or LCD monitor for displaying information to the user and a keyboard and a pointing device such as a mouse or a trackball by which the user may provide input to the computer.
- The features may be implemented in a computer system that includes a back-end component, such as a data server, or that includes a middleware component, such as an application server or an Internet server, or that includes a front-end component, such as a client computer having a graphical user interface or an Internet browser, or any combination thereof. The components of the system may be connected by any form or medium of digital data communication such as a communication network. Examples of communication networks include, e.g., a telephone network, a LAN, a WAN, and the computers and networks forming the Internet.
- The computer system may include clients and servers. A client and server may generally be remote from each other and may typically interact through a network. The relationship of client and server may arise by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
- One or more features or steps of the disclosed embodiments may be implemented using an API. An API may define one or more parameters that are passed between a calling application and other software code (e.g., an operating system, library routine, function) that provides a service, that provides data, or that performs an operation or a computation.
- The API may be implemented as one or more calls in program code that send or receive one or more parameters through a parameter list or other structure based on a call convention defined in an API specification document. A parameter may be a constant, a key, a data structure, an object, an object class, a variable, a data type, a pointer, an array, a list, or another call. API calls and parameters may be implemented in any programming language. The programming language may define the vocabulary and calling convention that a programmer will employ to access functions supporting the API.
- In some implementations, an API call may report to an application the capabilities of a device running the application, such as input capability, output capability, processing capability, power capability, communications capability, etc.
- While various embodiments have been described above, it should be understood that they have been presented by way of example and not limitation. It will be apparent to persons skilled in the relevant art(s) that various changes in form and detail may be made therein without departing from the spirit and scope. In fact, after reading the above description, it will be apparent to one skilled in the relevant art(s) how to implement alternative embodiments. For example, other steps may be provided, or steps may be eliminated, from the described flows, and other components may be added to, or removed from, the described systems. Accordingly, other implementations are within the scope of the following claims.
- In addition, it should be understood that any figures which highlight the functionality and advantages are presented for example purposes only. The disclosed methodology and system are each sufficiently flexible and configurable such that they may be utilized in ways other than that shown.
- Although the term “at least one” may often be used in the specification, claims and drawings, the terms “a”, “an”, “the”, “said”, etc. also signify “at least one” or “the at least one” in the specification, claims and drawings.
- Finally, it is the applicant's intent that only claims that include the express language “means for” or “step for” be interpreted under 35 U.S.C. 112(f). Claims that do not expressly include the phrase “means for” or “step for” are not to be interpreted under 35 U.S.C. 112(f).
Claims (20)
1. A method for identifying a mis-set, mis-calibrated, or malfunctioning thermostat comprising:
receiving ambient environmental data from at least one sensor monitoring an asset;
identifying aberrative behavior in the ambient environmental data;
obtaining a complement of the aberrative behavior;
determining a segment of normal behavior in the complement;
identifying a mis-set subsequence in the segment;
generating a report documenting the mis-set subsequence; and
transmitting the report to a user device.
2. The method of claim 1 , wherein the ambient environmental data comprises at least one of temperature or humidity data.
3. The method of claim 1 , wherein identifying aberrative behavior comprises using a machine learning algorithm trained on historical ambient environmental data associated with the asset to identify the aberrative behavior.
4. The method of claim 1 , wherein identifying aberrative behavior comprises using a machine learning algorithm trained on historical ambient environmental data associated with other assets similar to the asset to identify the aberrative behavior.
5. The method of claim 1 , wherein identifying aberrative behavior comprises identifying periods of time within the ambient environmental data with a value at least three standard deviations greater than a mean.
6. The method of claim 1 , wherein determining the segment of normal behavior comprises:
partitioning the ambient environmental data into windows of a pre-defined size;
normalizing the windows;
applying dynamic time warping and clustering to the normalized windows; and
identifying a majority cluster as the segment of normal behavior.
7. The method of claim 1 , wherein determining the segment of normal behavior comprises:
partitioning the ambient environmental data into windows of a pre-defined size;
applying an auto-correlation function to the windows;
determining a strength of local minima and maxima for each window; and
identifying a window as normal based on the strength of the window.
8. The method of claim 7 , wherein identifying the window as normal based on the strength of the window comprises determining that the auto-correlation function is sufficiently periodic.
9. The method of claim 1 , wherein determining the segment of normal behavior comprises partitioning the ambient environmental data with a MatrixProfile (MP) and Corrected Arc Curve (CAC) technique.
10. The method of claim 9 further comprising using a machine learning classifier to identify the segment of normal behavior.
11. The method of claim 9 further comprising:
applying an auto-correlation function to the partitioned ambient environmental data;
determining a strength of local minima and maxima for each partition; and
identifying a partition as normal based on the strength.
12. The method of claim 1 , wherein identifying the mis-set subsequence in the segment comprises:
partitioning the segment of normal behavior into a plurality of small sections;
calculating a mean and maximum temperature for each of the plurality of small sections;
determining, based on the mean and maximum temperature, that at least one small section of the plurality of small sections is mis-set;
partitioning the segment of normal behavior into a plurality of large sections;
calculating a mis-set percentage for each large section of the plurality of large sections; and
determining, based on the mis-set percentage, that at least one large section is mis-set.
13. The method of claim 12 , wherein the plurality of small sections are a size of about two times a periodicity of the ambient environmental data.
14. The method of claim 12 , wherein the plurality of large sections are a size of about ten times a periodicity of the ambient environmental data.
15. The method of claim 12 further comprising:
obtaining the aberrative behavior;
identifying a preceding and succeeding segment for each instance of aberrative behavior;
determining that the preceding and succeeding segment are each mis-set; and
identifying the instance of aberrative behavior, the preceding segment, and the succeeding segment as a mis-set subsequence.
16. A system for identifying a mis-set, mis-calibrated, or malfunctioning thermostat comprising:
a sensor positioned at an asset and configured to measure ambient environmental data associated with the asset; and
a server configured to:
receive ambient environmental data from the sensor, the ambient environmental data comprising at least one of temperature or humidity data;
identify aberrative behavior in the ambient environmental data;
obtain a complement of the aberrative behavior;
determine a segment of normal behavior in the complement;
identify a mis-set subsequence in the segment;
generate a report documenting the mis-set subsequence; and
transmit the report to a user device.
17. The system of claim 16 , wherein identifying the mis-set subsequence in the segment comprises:
partitioning the segment of normal behavior into a plurality of small sections;
calculating a mean and maximum temperature for each of the plurality of small sections;
determining, based on the mean and maximum temperature, that at least one small section of the plurality of small sections is mis-set;
partitioning the segment of normal behavior into a plurality of large sections;
calculating a mis-set percentage for each large section of the plurality of large sections; and
determining, based on the mis-set percentage, that at least one large section is mis-set.
18. The system of claim 17 , wherein the server is configured to:
obtain the aberrative behavior;
identify a preceding and succeeding segment for each instance of aberrative behavior;
determine that the preceding and succeeding segment are each mis-set; and
identify the instance of aberrative behavior, the preceding segment, and the succeeding segment as a mis-set subsequence.
19. The system of claim 16 , wherein determining the segment of normal behavior comprises:
partitioning the ambient environmental data into windows of a pre-defined size;
normalizing the windows;
applying dynamic time warping and clustering to the normalized windows; and
identifying a majority cluster as the segment of normal behavior.
20. The system of claim 16 , wherein determining the segment of normal behavior comprises:
partitioning the ambient environmental data into windows of a pre-defined size;
applying an auto-correlation function to the windows;
determining a strength of local minima and maxima for each window; and
identifying a window as normal based on the strength.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US18/292,255 US20250123015A1 (en) | 2021-07-26 | 2022-07-25 | Systems and methods for identifying mis-set and mis-calibrated atmosphere control systems |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US202163203493P | 2021-07-26 | 2021-07-26 | |
| PCT/US2022/038158 WO2023009426A1 (en) | 2021-07-26 | 2022-07-25 | Systems and methods for identifying mis-set and mis-calibrated atmosphere control systems |
| US18/292,255 US20250123015A1 (en) | 2021-07-26 | 2022-07-25 | Systems and methods for identifying mis-set and mis-calibrated atmosphere control systems |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| US20250123015A1 true US20250123015A1 (en) | 2025-04-17 |
Family
ID=85087871
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US18/292,255 Pending US20250123015A1 (en) | 2021-07-26 | 2022-07-25 | Systems and methods for identifying mis-set and mis-calibrated atmosphere control systems |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20250123015A1 (en) |
| WO (1) | WO2023009426A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN121164775A (en) * | 2025-09-27 | 2025-12-19 | 天津市镇瑀科技有限公司 | Electronic component early fault detection method based on infrared thermal imaging |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11531310B2 (en) * | 2018-06-15 | 2022-12-20 | Johnson Controls Tyco IP Holdings LLP | Adaptive selection of machine learning/deep learning model with optimal hyper-parameters for anomaly detection of connected chillers |
-
2022
- 2022-07-25 US US18/292,255 patent/US20250123015A1/en active Pending
- 2022-07-25 WO PCT/US2022/038158 patent/WO2023009426A1/en not_active Ceased
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN121164775A (en) * | 2025-09-27 | 2025-12-19 | 天津市镇瑀科技有限公司 | Electronic component early fault detection method based on infrared thermal imaging |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2023009426A1 (en) | 2023-02-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7032408B2 (en) | Site detection | |
| US10743819B2 (en) | System and method for determining information and outliers from sensor data | |
| US11847496B2 (en) | System and method for training and selecting equivalence class prediction modules for resource usage prediction | |
| CA2924691C (en) | User activity tracking system and device | |
| US20140201120A1 (en) | Generating notifications based on user behavior | |
| US10133329B2 (en) | Sequential feature computation for power efficient classification | |
| US10831631B2 (en) | Continuous time alignment of a collection of independent sensors | |
| KR102446901B1 (en) | Home appliance power analysis device and method | |
| CN114528934A (en) | Time series data abnormity detection method, device, equipment and medium | |
| CN112818066A (en) | Time sequence data anomaly detection method and device, electronic equipment and storage medium | |
| US9952070B2 (en) | Apparatus and method for determining immersion risk of mobile terminal user | |
| EP4066118B1 (en) | Computer network with time series seasonality-based performance alerts | |
| WO2015188324A1 (en) | Method and apparatus for predicting location of mobile terminal | |
| US11430437B2 (en) | Information processor and information processing method | |
| EP3336787B1 (en) | Invoking action responsive to co-presence determination | |
| US11200507B2 (en) | System and method for optimal sensor placement | |
| CN110399400A (en) | Detect method, apparatus, equipment and the medium of abnormal data | |
| US20250061506A1 (en) | Systems and methods for generating recommendations using contextual bandit models with non-linear oracles | |
| US20250123015A1 (en) | Systems and methods for identifying mis-set and mis-calibrated atmosphere control systems | |
| US20210174974A1 (en) | Data generating apparatus, data generating method, data generating program and sensing apparatus | |
| CN112102821B (en) | Data processing methods, devices, systems and media applied to electronic equipment | |
| KR102242042B1 (en) | Method, apparatus and computer program for data labeling | |
| US20220269958A1 (en) | Device-invariant, frequency-domain signal processing with machine learning | |
| JP7548846B2 (en) | Analytical device, analytical method, and analytical program | |
| US12249228B2 (en) | Systems and methods for intelligent alerting |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: PARSYL, INC., COLORADO Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CANTRELL, MICHAEL;MOLLERUS, MATTHEW;REEL/FRAME:066395/0417 Effective date: 20240206 |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION COUNTED, NOT YET MAILED |