How historian compression distorts machine learning
The series in a historian is not the series the sensor saw. Compression settings change what features and models learn.
A data historian is a time-series store for process data. Each record holds a tag, a value, a timestamp and a quality code. It is built for high write rates and long retention, and it often compresses data, so its settings limit what a later analysis can see.
A control system reads many tags at short intervals. A historian stores each reading with its timestamp and a quality code, such as good or uncertain. Data is written continuously, kept in time order, and usually queried as one tag over a time range.
The difference from a SQL database lies in the write load and the storage logic. A historian is optimised for constant, wide writes and retains data for long periods, often compressing it. Compression methods such as deadband or swinging-door are lossy: they drop small changes. Interpolation on read rebuilds values between stored points. The trend looks smooth, but it is not the raw signal.
Hypothetical line: 500 tags, each sampled once per second.
This is an upper bound without compression. A deadband setting can reduce it, but by an amount that depends on how each tag behaves. A large deadband can remove small but meaningful changes that a model needs, so check the setting before training.
The first mistake is treating the historian as a complete raw record. Compression and interpolation mean a query can return values that were never stored. The second is treating aggregated tags as raw samples; they answer different questions. The third is ignoring quality codes, so values marked uncertain or bad enter a model unnoticed. The fourth is mixing time zones, such as UTC and local time, which can put events in the wrong order.
Yes, after checking the compression settings, quality codes and time zone. Compression can hide changes, and interpolation can alter the signal a model sees. For a short period, compare a raw export with the historian values to confirm they agree before relying on them.
Yes. Process data can stay in the historian while batch, product and shift information lives in SQL. The two are joined on time and identifiers such as batch numbers. Confirm the join keys have the same format on both sides before trusting the result.
Example numbers are hypothetical, not measured field results.