Correlation recurrent unit for improving prediction performance of time-series data and correlation recurrent neural network
A correlation recurrent unit and a correlation recurrent neural network are provided. An aspect provides a new neural network structure for training each decomposed time-series component by decomposing input time-series data x t into a plurality of time-series components (e.g., trend, seasonal, and remainder components) and improving the prediction performance of time-series data by training a relation between different time-series components.
1 . A computer for providing a correlation recurrent unit comprised in a correlation recurrent neural network, the computer comprising:
at least one processing device; and
memory storing instructions that, when executed by the at least one processing device individually or collectively, cause the computer to:
decompose, using a seasonal-trend decomposition cell, time-series data (x t ) corresponding to a time (t) when the time-series data (x t ) is input, based on a selected time-series composition algorithm, into a plurality of time-series components;
obtain, using an autocorrelation gate, an autocorrelation degree with a hidden state value corresponding to a previous time (t−1) of each of the plurality of time-series components with respect to each of the plurality of time-series components;
obtain, using a correlation gate, a correlation degree with a hidden state value corresponding to a previous time (t−1) of another time-series component different from each of the plurality of time-series components with respect to each of the plurality of time-series components; and
determine, using a generation gate, whether to update the hidden state value of the previous time (t−1) generated for each of the plurality of time-series components, based on the autocorrelation degree and the correlation degree, when previous time-series data (x t-1 ) prior to the time-series data (x t ) is input;
wherein the generation gate is configured to:
identify a first time-series component, of which the autocorrelation degree or the correlation degree is closer to 1 in a predetermined range between 0 to 1 than other time-series components of the plurality of time-series components, and
with respect to the first time-series component, use a hidden state value (h t ) at the time (t) when the hidden state value (h t ) is generated without updating a previous hidden state value (h t-1 ) corresponding to the previous time (t−1); and
wherein the correlation recurrent neural network is trained by increasing a weight on the previous hidden state value (h t-1 ) of relevance based on a degree the previous hidden state value (h t-1 ) is used when generating a current hidden state value in accordance with the autocorrelation degree or the correlation degree.
2 . The computer of claim 1 , wherein
the generation gate is configured to identify a second time-series component, of which the autocorrelation degree or the correlation degree is closer to 0 in a predetermined range between 0 to 1 than other time-series components of the plurality of time-series components, and with respect to the second time-series component, generate the hidden state value (h t ) at the time (t) by updating the previous hidden state value (h t-1 ) corresponding to the previous time (t−1).
3 . The computer of claim 1 , wherein
the seasonal-trend decomposition cell is configured to decompose, based on a seasonal-trend decomposition algorithm, the time-series data (x t ) into the plurality of time-series components comprising at least a seasonal component (x t_seasonal ) that is a time-series component relevant to a periodic pattern repeated from the time (t), and a trend component (x t_trend ) that is a time-series component relevant to an upward or downward trend from the time (t).
4 . The computer of claim 3 , wherein
the autocorrelation gate is configured to
estimate and obtain a first autocorrelation degree
(
a
^
t
t
)
with a first hidden state value (h t-1_trend ) corresponding to the previous time (t−1) of the same trend component as the trend component (x t_trend ) of the plurality of time-series components, and
estimate and obtain a second autocorrelation degree
(
a
^
t
s
)
with a second hidden state value (h t-1_seasonal ) corresponding to the previous time (t−1) of the same seasonal component as the seasonal component (x t_seasonal ) of the plurality of time-series components.
5 . The computer of claim 4 , wherein
the correlation gate is configured to
estimate and obtain a first correlation degree
(
c
^
t
t
)
with the second hidden state value (h t-1_seasonal ) corresponding to the previous time (t−1) of a seasonal component different from the trend component (x t_trend ) of the plurality of time-series components, and
estimate and obtain a second correlation degree
(
c
^
t
s
)
with the first hidden state value (h t-1_trend ) corresponding to the previous time (t−1) of a trend component different from the seasonal component (x t_seasonal ) of the plurality of time-series components.
6 . The computer of claim 5 , wherein
the generation gate is configured to
respectively perform a Hadamard product operation with the previous hidden state value (h t-1 ) at the previous time (t−1) on the first and second autocorrelation degrees
(
a
^
t
t
)
and
(
a
^
t
s
)
and the first and second correlation degrees
(
c
^
t
t
)
and
(
c
^
t
s
)
,
evaluate a correlation of the previous hidden state value (h t-1 ) at the previous time (t−1) with the time-series data (x t ), based on a value obtained from the Hadamard product operation, and
determine, based on the correlation, whether to update the previous hidden state value (h t-1 ) at the previous time (t−1) that is generated for each of the plurality of time-series components.
7 . A computer for providing a correlation recurrent neural network comprising a plurality of correlation recurrent units for predicting time-series data, computer comprising:
at least one processing device; and
memory storing instructions that, when executed by the at least one processing device individually or collectively, cause the computer to:
decompose, using a seasonal-trend decomposition cell, time-series data (x t ) at a time (t) into a trend component (x t_trend ), a seasonal component (x t_seasonal ), and a remainder component (x t_remainder ) when the time-series data (x t ) is input;
estimate and obtain, using an autocorrelation gate, with respect to the trend component (x t_trend ) at the time (t), a first autocorrelation degree
(
a
^
t
t
)
with a first hidden state value relevant to a trend component (x t-1_trend ) corresponding to a previous time (t−1) prior to the time (t) and estimate and obtain, for the seasonal component (x t_seasonal ) at the time (t), a second autocorrelation degree
(
a
^
t
s
)
with a second hidden state value relevant to the seasonal component (x t-1_seasonal ) corresponding to the time (t−1);
estimate and obtain, using a correlation gate, first correlation degree
(
c
^
t
t
)
with the second hidden state value with respect to the trend component (x t_trend ) at the time (t) and estimate and obtain a second correlation degree
(
c
^
t
s
)
with the first hidden state value with respect to the seasonal component (x t_seasonal ) at the time (t); and
increase, using a generation gate, when generating a hidden state value of each of a plurality of time-series components at the time (t), a proportion of using the first hidden state value and the second hidden state value that are generated when previous time-series data (x t-1 ) at the previous time (t−1) is input as the first and second correlation degrees
(
a
^
t
t
)
and
(
a
^
t
s
)
and the first and second autocorrelation degrees
(
c
^
t
t
)
and
(
c
^
t
s
)
increase;
wherein the generation gate is configured to:
identify a first time-series component, of which the first autocorrelation degree or the first correlation degree is closer to 1 in a predetermined range between 0 to 1 than other time-series components of the plurality of time-series components, and
with respect to the first time-series component, use the first hidden state value at the time (t) when the first hidden state value is generated without updating a previous hidden state value corresponding to the previous time (t−1); and
wherein the correlation recurrent neural network is trained by increasing a weight on the previous hidden state value of relevance based on a degree the previous hidden state value is used when generating a current hidden state value in accordance with the first autocorrelation degree or the first correlation degree.