Time Series Concepts

James Forester, Marinsoft, Inc.

3 August 2000

Only scalar values are currently possible for unit definitions within
the IFC Release 2.x \[2\] model. Non-scalar data types (e.g., vector,
time series, function-based, etc.) are not explicitly supported.
However, some of these data types (e.g., vector, time series,
distributions, etc.) can be simulated using the table structure which is
available in IFC. The following excerpt \[1\] relates to this approach:

It is assumed that an irregular vector-based time series data structure
is to be modeled \[3\], \[4\] and \[5\]. Such a model allows for both
regular (e.g., Historical weather data) and irregular (e.g., monitored
building data) time series to be captured within the referenced table
structures.

The time series attributes include:

*Name* and *Description* are strings defining a unique name for the time
series and a text description of the data that the series represents.

*Calendar* is a string description of a reference calendar for which the
time series may be associated e.g., the days of the week, the definition
of business days versus holidays, quarterly periods, etc.) The calendar
can also be used to define the granularity of the time series allowing
for irregular events (e.g., second, minute, hour, day, month, year,
etc.). The notion of a reference calendar is essential in interpreting
the context for the time series data. It is quite common for different
applications to have their own semantics for handling date arithmetic,
and the calendar allows a mapping between human-meaningful time values
to an underlying machine representation of time as stored in the
*Values* attribute. These reference calendar(s) would be contained in a
separate table.

*StartTime* and *EndTime* are references to an *IfcDateTimeSelect*
allowing an *IfcDateAndTime* structure to be utilized which defines both
the calendar date and local time for the lifespan of the time series.
The local time is referenced to GMT in the IFC model using an
*IfcCoordinatedUniversalTimeOffset* reference.

*Frequency* defines the regular frequency with which the time series is
to be updated. This differs from the notion of granularity noted for the
*Calendar* attribute.

*Type* defines how a value can be mapped to a non-existent time point.
Valid values for this enumeration include StepWise (values are mapped to
those defined in the previous time point), Continuous (values are mapped
based on a curve-fitting function), Discrete (values have no
relationship to those of the adjacent time points and therefore cannot
be interpolated), and Other (which can be used to allow for user-defined
interpolation functions).

*Values* is a reference to a time series values table. This relationship
allows for one or more unique sets of time series values to be a part of
the time series.

The time series table would therefore contain the following attributes:

*Time* is the time associated with the value and references to an
*IfcDateTimeSelect* allowing an *IfcDateAndTime* structure to be
utilized.

*Value* can be either an explicit value or a reference to another table
utilizing the vector structure defined above, allowing an n-ary vector
to be defined for the data value.

\[1\] J. Forester, R. Hitchcock, F. Olken, "Building Performance
Assurance- Building Life-cycle Information System: Final Report",
Unpublished research paper, Lawrence Berkeley National Laboratory, 1998.

\[2\] International Alliance for Interoperability. \"Industry Foundation
Classes -- Release 2.x: Beta 2 Model,\" 2000.

\[3\] D. Schmidt, A. Kotz Dittrich, W. Dreyer, R. Marti. "Time Series, a
Neglected Issue in Temporal Database Research?", Proceedings of the
International Workshop on Temporal Databases, Zurich, Switzerland, 17-19
September 1995.

\[4\] A. Shoshani, P. Holland, J. Jacobsen, D. Mitra. "Characterization
of temporal sequences in geophysical databases", Unpublished research
paper, Lawrence Berkeley National Laboratory, 1995.

\[5\] A. Segev and R. Chandra. "A Data Model for Time-Series Analysis",
Technical Report 33018, Lawrence Berkeley National Laboratory.