gcp_bigquery_client/model/
arima_forecasting_metrics.rs

1//! Model evaluation metrics for ARIMA forecasting models.
2use crate::model::arima_fitting_metrics::ArimaFittingMetrics;
3use crate::model::arima_order::ArimaOrder;
4use crate::model::arima_single_model_forecasting_metrics::ArimaSingleModelForecastingMetrics;
5
6#[derive(Debug, Default, Clone, Serialize, Deserialize)]
7#[serde(rename_all = "camelCase")]
8pub struct ArimaForecastingMetrics {
9    /// Id to differentiate different time series for the large-scale case.
10    pub time_series_id: Option<Vec<String>>,
11    /// Seasonal periods. Repeated because multiple periods are supported for one time series.
12    pub seasonal_periods: Option<Vec<SeasonalPeriods>>,
13    /// Whether Arima model fitted with drift or not. It is always false when d is not 1.
14    pub has_drift: Option<Vec<bool>>,
15    /// Non-seasonal order.
16    pub non_seasonal_order: Option<Vec<ArimaOrder>>,
17    /// Repeated as there can be many metric sets (one for each model) in auto-arima and the large-scale case.
18    pub arima_single_model_forecasting_metrics: Option<Vec<ArimaSingleModelForecastingMetrics>>,
19    /// Arima model fitting metrics.
20    pub arima_fitting_metrics: Option<Vec<ArimaFittingMetrics>>,
21}
22
23#[derive(Debug, Clone, Serialize, Deserialize)]
24#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
25pub enum SeasonalPeriods {
26    /// Unspecified seasonal period type
27    SeasonalPeriodTypeUnspecified,
28    /// No seasonality
29    NoSeasonality,
30    /// Daily period, 24 hours.
31    Daily,
32    /// Weekly period, 7 days.
33    Weekly,
34    /// Monthly period, 30 days or irregular.
35    Monthly,
36    /// Quarterly period, 90 days or irregular.
37    Quarterly,
38    /// Yearly period, 365 days or irregular.
39    Yearly,
40}