Next Article in Journal
A Method for Detecting Outliers from the Gamma Distribution
Next Article in Special Issue
Intelligent Task Planning System Based on Methods of Fuzzy Natural Logic
Previous Article in Journal
Some Local Fractional Inequalities Involving Fractal Sets via Generalized Exponential (s,m)-Convexity
Previous Article in Special Issue
A Multilevel Fuzzy Transform Method for High Resolution Image Compression
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Combination of Fuzzy Techniques and Chow Test to Detect Structural Breaks in Time Series

by
Vilém Novák
* and
Thi Thanh Phuong Truong
Institute for Research and Applications of Fuzzy Modeling, University of Ostrava, 30. dubna 22, 701 03 Ostrava, Czech Republic
*
Author to whom correspondence should be addressed.
Axioms 2023, 12(2), 103; https://doi.org/10.3390/axioms12020103
Submission received: 21 December 2022 / Revised: 11 January 2023 / Accepted: 12 January 2023 / Published: 19 January 2023
(This article belongs to the Special Issue Fuzzy Transforms and Their Applications II)

Abstract

:
In a series of papers, we suggested a non-statistical method for the detection of structural breaks in a time series. It is based on the applications of special fuzzy modeling methods, namely Fuzzy transform (F-transform) and selected methods of Fuzzy Natural Logic (FNL). In this paper, we combine our method with the principles of the classical Chow test, which is a well-known statistical method for testing the presence of a structural break. The idea is to construct testing statistics similar to that of the Chow test which is formed from components of the first-degree F-transform. These components contain an estimation of the average values of the tangents (slopes) of the time series over an imprecisely specified time interval. In this paper, we illustrate our method and its statistical test on a real-time series and compare it with three classical statistical methods.

1. Introduction

Structural breaks in time series are sudden unexpected changes in their course triggered by a structural change in the system (for example, opening a new factory), by an attack from outside, or by some other outer cause. Unlike single outliers, structural breaks are characterized by a longer duration. There are various statistical methods for detection and testing whether a structural break occurs in the given time point, see [1,2,3,4,5], and also non-statistical methods such as genetic algorithms [6].
However, a structural break hardly occurs just at one point. It is a phenomenon lasting usually over several time points. Hence, we argue that techniques based on methods of fuzzy modeling are better suited for this purpose. In [7] and elsewhere, we presented an effective non-statistical method for finding structural breaks. It is based on the application of the so-called fuzzy transform (F-transform) in combination with methods of fuzzy natural logic (FNL). They enable us to detect intervals of specific monotonic behavior and to discover existing structural breaks in a time series. The main idea consists of the fact that the F-transform provides an estimation of the average value of the slope in an imprecisely specified time interval (cf. [8]). The former is then evaluated using a specific evaluative linguistic expression whose semantics is modeled inside FNL (for the details, see [9]). The method is very effective and we argue that it can find the real structural breaks. However, it is non-statistical and so it is a challenge to prove that the detected structural breaks can also be statistically verified. This is the topic of this paper. We modify the classical Chow test [1]. First, we form a modified null hypothesis stating that there is no structural break in the given area and then prove that it is rejected if a structural break is indeed present and detected using our fuzzy method.
The paper is structured as follows. Section 2 contains preliminaries in which we recall the principles of the Chow test, fuzzy transform, and the theory of evaluative linguistic expressions (as a part of FNL). In Section 3, we introduce the algorithm for finding structural breaks using our method, suggest modification of Chow test, and prove that if a structural break is detected then the null hypothesis stating that there is no structural break is rejected. Section 4 contains experimental verification of our results and also a comparison with three statistical techniques, namely the classical Chow, Bai-Perron, and Pettitt’s tests.

2. Preliminaries

2.1. Chow Test

This is one of the first statistical tests (see [1,4]) using which it is possible to decide whether we are facing a structural break or not. Its idea consists of splitting the data having n observations into two parts: n 1 observations before the break in time t 0 and n 2 observations after it. Then we construct two linear regressions models
y 1 ( t ) = α 1 + β 1 X 1 ( t ) + ε 1 , t = 1 , , n 1 y 2 ( t ) = α 2 + β 2 X 2 ( t ) + ε 2 , t = n 1 + 1 , , n 1 + n 2
which are compared with the general regression model
y ( t ) = α + β X ( t ) + ε , t = 1 , , n
( n = n 1 + n 2 ).
The ordinary least squares method is applied to the models above and then we form squares of residuals
  • RSS1 which is the residual of squares before the break:
    RSS 1 = t = 1 n 1 ( y 1 ( t ) ( α ^ 1 + β ^ 1 X 1 ( t ) ) ) 2
  • RSS2 is the residual of squares after the break:
    RSS 2 = t = n 1 + 1 n 2 ( y 2 ( t ) ( α ^ 2 + β ^ 2 X 1 ( t ) ) ) 2
  • RSS3 is the residual of squares of the general regression model:
    RSS 3 = t = 1 n ( y ( t ) ( α ^ + β ^ X ( t ) ) ) 2 .
The test of hypothesis related to the test of structural break is conducted by testing the null hypothesis
H 0 : α 1 = α 2 , β 1 = β 2 .
The structural change is caused due to different intercept terms as well as different regression coefficients. Under the assumption that the probability distribution of y 1 , y 2 is normal, we can test the null hypothesis by the statistics
F t e s t = ( RSS 3 ( RSS 1 + RSS 2 ) ) / p ( RSS 1 + RSS 2 ) / ( n 1 + n 2 2 p )
which has the F-distribution F ( p , n 1 + n 2 2 p ) . The null hypothesis H 0 is rejected if
F t e s t > F c r i t
where F c r i t is a critical value of the F-distribution for a corresponding significance level α (as usual, we consider α { 0.1 , 0.05 , 0.01 } ).

2.2. Fuzzy Transform (F-Transform)

The fuzzy transform is a technique for the approximation of continuous functions. In our case, it can be effectively applied to analysis and forecasting of time series. Let a bounded real continuous function f : [ a , b ] [ c , d ] be given, where a , b , c , d R .
Definition 1. 
Let c 0 < < c n be fixed nodes in the interval [ a , b ] where c 0 = a , c n = b with n 2 and a , b R . The set A = { A 0 , , A n } of fuzzy sets on [ a , b ] is called a fuzzy partition of [ a , b ] if the following conditions are fulfilled
  • A k : [ a , b ] [ 0 , 1 ] , A k c k = 1 ;
  • A k x = 0 if x ( c k 1 , c k + 1 ) (for c 1 = a and c n + 1 = b );
  • A k is continuous;
  • A k strictly increases on [ c k 1 , c k ] for k = 1 , , n and A k strictly decreases on [ c k , c k + 1 ] for k = 0 , , n 1 ;
  • k = 0 n A k ( x ) = 1 for all x [ a , b ] ;
  • If c k = a + h k , where h = ( b a ) / n , then fuzzy partition A is called uniform and the following holds for the fuzzy sets forming it: A k ( c k x ) = A k ( c k + x ) , x [ 0 , h ] , A k ( x ) = A k 1 ( x h ) , A k + 1 ( x ) = A k ( x h ) where k = 1 , , n 1 and x [ c k , c k + 1 ] .
The fuzzy sets A k A are often called basic functions. Their shape can be arbitrary (but fulfilling Definition 1). Most often they are simple triangles. The F-transform has two phases: direct and inverse.
Definition 2. 
Let the set A = { A 0 , , A n } be a uniform fuzzy partition with triangular basic functions, h be the distance between nodes and f : [ a , b ] [ c , d ] be a continuous function on [ a , b ] . The ( n + 1 ) -tuple F [ f ] = ( F 0 [ f ] , , F n [ f ] ) is a direct fuzzy transform of f where the elements F 0 [ f ] , , F n [ f ] are called components.
  • The zero-degree fuzzy transform has components of the form
    F k 0 [ f ] = a b f ( x ) A k ( x ) d x h , k = 0 , , n .
  • The first-degree fuzzy transform has components of the form
    F k 1 [ f ] ( x ) = ( β k 0 [ f ] + β k 1 [ f ] · ( x c k ) )
    where
    β k 0 [ f ] = c k 1 c k + 1 f ( x ) A k ( x ) d x h ,
    β k 1 [ f ] = 6 c k 1 c k + 1 f ( x ) ( x c k ) A k ( x ) d x h 3 .
The coefficient β k 1 [ f ] provides estimation of an average value of the tangent (slope) of f over the area characterized by the fuzzy set A k .
Remark 1. 
Note that the coefficients β k 0 [ f ] are identical with the components (2) of the zero-degree F-transform.
Definition 3. 
Let F m [ f ] = ( F 0 m [ f ] , , F n m [ f ] ) be a direct F-transform of f due to Definition 2, where m { 0 , 1 } . (In fact, we can define F-transform of arbitrary degree. For our purposes, however, zero and first degrees are sufficient). The inverseF-transform of f is a function
f ^ h m ( x ) = k = 0 n F k m [ f ] · A k ( x ) , x [ a , b ] .
It can be proved that f ^ h m approximates the original function f with arbitrary precision (depending on h). We can set the parameters so that the approximating function f ^ h m has desired properties. The computational complexity of the F-transform is linear. More details can be found in [8,9,10].

2.3. Fuzzy Natural Logic

Our applications to time series require selected methods of Fuzzy Natural Logic (FNL). This is a class of mathematical models characterizing some parts of human common sense thinking that is based on the use of natural language. It includes, besides others, the theory of evaluative linguistic expressions and their semantics and fuzzy/linguistic IF-THEN rules. In a form suitable for time series processing is FNL described in [9]. In this section, we will recall some of the main points needed below.
Evaluative Linguistic Expressions (We will often omit the adjective “linguistic”.) are special expressions of natural language in the form
linguistichedge TE adjective
where 〈linguistic hedge〉 is a special adverb standing before 〈TE-adjective〉, that makes the adjective more or less specific. We will consider linguistic hedges extremely (Ex), significantly (Si), very (Ve), rather (Ra), more or less (ML), roughly (Ro), very roughly (VR). The TE-adjectives are canonical adjectives zero (Ze), small (Sm), medium (Me), big (Bi). Note that they can be replaced by many other adjectives, for example shallow, medium deep, deep, etc.
Remark 2. 
Evaluative linguistic expressions (7) are called simple. We can introduce also complex ones that are formed using connective (and, or). Their syntax and semantics, however, are more complicated since they are not just boolean expressions. We need not consider them in this paper.
The model of the semantics of evaluative expressions requires the concept of context. In our case, this is the interval w = [ v L , v S ] [ v S , v R ] where v L , v S , v R R . The numbers have the following meaning: v L is the left bound, v S is a typical middle value, and v R is the right bound.
Let B be an evaluative linguistic expression. The mathematical model of its meaning is a function W F ( R ) where W is a set of all contexts. Such a function is called intension of B . If a context w W is given then extension of B w.r.t. w is a fuzzy set from F ( R ) . The details of this model are described in [9].
Let a value x R be given. We may now ask, what is a proper evaluative linguistic expression B using which we can characterize linguistically the value x? Of course, this depends on the context w W . For example, 100 USD may be a big money in a poor country but very small in a rich one. Therefore, we consider a special function of local perception
B = L P e r c ( x , w )
which assigns an evaluative expression B to the value x w.r.t. the context w W . (Lperc is implemented in the special software LFL Forecaster described, e.g., in [9,11]).
A special class of evaluative expressions are those characterizing the trend of time series:
Trend is direction
where
  • direction := stagnating specialhedge sign ,
  • sign := increasing ∣ decreasing,
  • specialhedge : = ∣ negligibly ∣ slightly ∣ somewhat ∣ clearly ∣ roughly ∣ sharply ∣ quite largely ∣ fairly large∣ hugely∣ significantly.
We must also consider the context w t g for tangent that is here extended to have two parts: positive w t g + for the increase in time series and negative w t g for its decrease.

3. Processing of Time Series Using Methods of Fuzzy Modeling

3.1. Processing of Time Series Using F-transform

A time series X is a mapping [12,13,14,15]
X : T × Ω R ,
where T is a set of numbers interpreted as time moments, Ω is a nonempty set of elementary random events and ( Ω , C , P ) is a probability space, where C is a σ -algebra over Ω and P is a probability measure. In general, T R can be an arbitrary set. For our purposes, we will consider to be a finite set of natural numbers T = { 0 , , n } N .
We assume that the time series can be decomposed into 4 components, namely
X ( ω , t ) = ( t ) + C ( t ) + S ( t ) + R ( ω , t ) , t T , ω Ω
where T r ( t ) and C ( t ) are trend and cyclic components of the time series. These two components are usually combined into one component called trend-cycle  T C ( t ) = T r ( t ) + C ( t ) .
The S ( t ) is the seasonal component and R ( ω , t ) is a random noise. The trend, cycle and seasonal components are ordinary functions not having stochastic character. The noise R ( ω , t ) is assumed to be a sequence of independent random variables with the mean μ = 0 and variance σ 2 < + .
It has been proved (see [9,16,17]) that using the F-transform, we can estimate trend Tr or trend-cycle TC with high fidelity which means that the seasonal component S is almost “wiped out” (i.e., its inverse F-transform is close to zero) and the noise R is significantly reduced [18].

3.2. Detection of Structural Breaks in a Time Series

Detection of a structural break in a time series means to determine a time interval in which the course of the time series abnormally changes in comparison with its previous/subsequent development. Our detection method presented in [7] is based on finding short intervals with a steep slope of trend (big tangent) preceded or followed by an interval with a small slope.
Let X be a time series, T ¯ T be a time interval. Let A be a basic function due to Definition 1 with the support T ¯ over which β 1 [ X | T ¯ ] is the slope of the trend of X computed using (5). Let w t g , w t g + be the corresponding negative and positive parts of the context, respectively. Then, the evaluative expression ± E v [ X | T ¯ ] obtained using the function of local perception (8)
± E v [ X | T ¯ ] = L P e r c ( ± β 1 [ X | T ¯ ] , w t g ± ) .
evaluates the trend of the time series X in the interval T ¯ . Using evaluation (11), we can decompose the time domain T into a set of intervals
T = { T ¯ i i = 1 , , s } , T = T
in which the slope is evaluated by specific evaluative expressions. The intervals need not necessarily be disjointed.
Definition 4. 
Let ± E v [ X | T ¯ i 1 ] , ± E v [ X | T ¯ i ] , ± E v [ X | T ¯ i + 1 ] be evaluative expressions computed using (11). An interval T ¯ i T is an area of a structural break in the course of X if ± E v [ X | T ¯ i ] { ± V e   B i , ± S i   B i , ± E x   B i } and ± E v [ X | T ¯ k ] { Z e , ± V e   S m , ± S i   S m , ± E x   S m } where k = i 1 or k = i + 1 .
This definition is the basis for the following algorithm for finding structural breaks in a time series X.

Algorithm for finding structural breaks

  • Set the distance h > 0 and determine a uniform fuzzy partition A over the time domain due to Definition 1.
  • Set the context w t g , w t g + for evaluation of the trend in the areas determined by the basic functions.
  • Compute the direct first-degree fuzzy transform F 1 [ X ] = ( F 1 1 [ X ] , , F n 1 1 [ X ] ) over the fuzzy partition A .
  • Localize all pairs of components ( F k 1 [ X ] , F k + 1 1 [ X ] ) (cf. (3)) with the following properties:
    L P e r c ( β k 1 [ X ] , w t g ± ) { Z e , , V e   S m , S i   S m , E x   S m } , i.e., the coefficient β k 1 is close to zero.
    L P e r c ( β k + 1 1 [ X ] , w t g ± ) { V e   B i , S i   B i , E x   B i } , i.e., the coefficient β k + 1 1 is unexpectedly big.
    Alternatively, k and k + 1 can be interchanged, i.e., β k + 1 1 is close to zero and β k 1 is unexpectedly big.
  • The interval T k (or T k + 1 ) which is a support of the basic function A k A (or A k + 1 A ) is the area of a structural break due to Definition 4.
Without loss of generality, we will in the sequel assume that β k 1 is close to zero and β k + 1 1 is unexpectedly big.

3.3. Combination of Fuzzy Techniques and Chow Test

Suppose that a time series X contains a structural break that occurs in the intersection of two adjacent areas represented by the triangular basic functions (fuzzy sets) A k , A k + 1 A in the sense of the algorithm presented in the previous section. Moreover, we also consider a third triangular basic function denoted by A k , k + 1 over the nodes c k 1 , c k + 2 where the node
c k , k + 1 = c k + c k + 1 2
is added. Note that the fuzzy set A k , k + 1 is defined over nodes with the distance 3 2 h . The situation is depicted in Figure 1 (the fuzzy set A k , k + 1 is depicted upside-down for better visibility).
Remark 3. 
The triangular fuzzy set A k w.r.t. the node c k is defined by the equation
A k ( t ) = 1 | t c k | h , t [ c k 1 , c k + 1 ]
and analogously also the fuzzy sets A k + 1 and A k , k + 1 . Note also that
t c k , k + 1 = t c k 2 + t c k + 1 2 .
Lemma 1. 
Let the triangular fuzzy sets depicted in Figure 1 be given. Then
A k , k + 1 ( t ) A k ( t ) + A k + 1 ( t )
for all t T .
Proof. 
It is enough to consider only the interval [ c k 1 , c k + 2 ] . By simple computation, we verify that A k , k + 1 ( t ) A k ( t ) for t [ c k 1 , c k ] and A k , k + 1 ( t ) A k + 1 ( t ) for t [ c k + 1 , c k + 2 ] . For t [ c k , c k + 1 ] the inequality follows from the property A k ( t ) + A k + 1 ( t ) = 1 . □
Let us now consider the following F1-transform components:
F k 1 [ X ] ( t ) = β k 0 [ X ] + β k 1 [ X ] · ( t c k ) ,
F k + 1 1 [ X ] ( t ) = β k + 1 0 [ X ] + β k + 1 1 [ X ] · ( t c k + 1 ) ,
F k , k + 1 1 [ X ] ( t ) = β k , k + 1 0 [ X ] + β k , k + 1 1 [ X ] · ( t c k , k + 1 )
where the coefficients β 0 , β 1 are determined by the corresponding basic functions due to Figure 1.
Lemma 2. 
Let the triangular fuzzy sets depicted in Figure 1 be given. Then
β k , k + 1 0 β k 0 + β k + 1 0 .
Proof. 
Using (4) and Lemma 1 we obtain
β k , k + 1 0 = 1 3 2 h c k 1 c k + 2 X ( t ) A k , k + 1 ( t ) d t 1 h c k 1 c k + 2 X ( t ) ( A k ( t ) + A k + 1 ( t ) ) d t = 1 h c k 1 c k + 1 X ( t ) A k ( t ) d t + 1 h c k c k + 2 X ( t ) A k + 1 ( t ) d t = β k 0 + β k + 1 0 .
Lemma 3. 
Let the triangular fuzzy sets depicted in Figure 1 be given. Then
β k , k + 1 1 β k 1 + β k + 1 1 .
Proof. 
Using (5) and Lemma 1 we obtain
β k , k + 1 1 = 6 ( 3 2 h ) 3 c k 1 c k + 2 X ( t ) ( t c k , k + 1 ) A k , k + 1 ( t ) d t 6 h 3 c k 1 c k + 2 X ( t ) ( t c k , k + 1 ) ( A k ( t ) + A k + 1 ( t ) ) d t = 1 2 6 h 3 c k 1 c k + 1 X ( t ) ( t c k ) A k ( t ) d t + 6 h 3 c k 1 c k + 1 X ( t ) ( t c k + 1 ) A k ( t ) d t + 1 2 6 h 3 c k c k + 2 X ( t ) ( t c k ) A k + 1 ( t ) d t + 6 h 3 c k c k + 2 X ( t ) ( t c k + 1 ) A k + 1 ( t ) d t = 1 2 β k 1 + 1 2 β k 1 h 2 6 h 3 c k 1 c k + 1 A k ( t ) + 1 2 β k + 1 1 + 1 2 β k + 1 1 + h 2 6 h 3 c k c k + 2 A k ( t ) = β k 1 6 h + β k + 1 1 + 6 h = β k 1 + β k + 1 1 .
Lemma 4. 
Let (12)–(14) be components of the F1 transform according to the fuzzy partition depicted in Figure 1. Let β k 1 = 0 and β k + 1 1 = K 0 . Then β k , k + 1 1 0 .
Proof. 
It is sufficient to consider the interval [ c k + 1 , c k + 2 ] , in which the fuzzy set A k ( t ) = 0 and, therefore, it cannot affect the size of β k + 1 1 and β k , k + 1 1 (cf. formula (5)).
Put H = min { X ( t ) 0 t [ c k + 1 , c k + 2 ] } . By the assumption, if there is a structural break over [ c k , c k + 2 ] then H 0 and it should be large since the corresponding X ( t ) are not covered by the fuzzy set A k over which β k 1 = 0 by the assumption. Then,
L = c k + 1 c k + 2 H ( t c k + 1 ) A k + 1 ( t ) d t c k + 1 c k + 2 X ( t ) ( t c k + 1 ) A k + 1 ( t ) d t , L = c k + 1 c k + 2 H ( t c k , k + 1 ) A k , k + 1 ( t ) d t c k + 1 c k + 2 X ( t ) ( t c k , k + 1 ) A k , k + 1 ( t ) d t .
After computation, we obtain L = H h 2 6 and L = 5 H h 2 18 which means that 0 L < L . Consequently, β k , k + 1 1 0 . □
Let us now define the following sums of squares of differences between values of the time series and the F1-transform components corresponding to the basic functions from Figure 1:
RSS k = t = c k 1 c k + 2 ( X ( t ) F k 1 [ X ] ( t ) ) 2 A k ( t ) ,
RSS k + 1 = t = c k 1 c k + 2 ( X ( t ) F k + 1 1 [ X ] ( t ) ) 2 A k + 1 ( t ) ,
RSS k , k + 1 = t = c k 1 c k + 2 ( X ( t ) F k , k + 1 1 [ X ] ( t ) ) 2 .
Then, analogously to the classical Chow test (1) we construct the statistics
F t e s t = ( RSS k , k + 1 ( RSS k + RSS k + 1 ) ) / p ( RSS k + RSS k + 1 ) / ( 2 n 2 p )
where n is the number of time points between [ c k 1 , c k + 2 ] and p is the number of parameters (note that p = 2 in our case). The statistics (18) has the F-distribution F ( p , 2 n 2 p ) . The structural break is tested by the null hypothesis:
H 0 : β k 0 = β k + 1 0 , β k 1 = β k + 1 1 .
The null hypothesis H 0 is rejected if F t e s t > F c r i t where F c r i t is a critical value.
The statistics (17) can be rewritten as
F t e s t = 2 ( n p ) p RSS k , k + 1 RSS k + RSS k + 1 1 .
We will refer to (18) or (20) as fuzzy Chow test.
Theorem 1. 
Let X ( t ) be a time series over the time domain T and A be a uniform triangular fuzzy partition of with the distance h between nodes. Then
RSS k , k + 1 RSS k + RSS k + 1 > 1 .
Proof. 
By ([8], Corollary 2), X ( t ) = F k 1 ( t ) + O ( h 2 ) for t [ c k 1 , c k + 1 ] . Then,
( X ( t ) F k 1 ( t ) ) 2 M h 4
for some constant M and arbitrary h. Similar inequality holds also for F k + 1 1 and t [ c k , c k + 2 ] . Hence,
RSS k + RSS k + 1 = t = c k 1 c k + 2 ( X ( t ) F k 1 ( t ) ) 2 A k ( t ) + t = c k 1 c k + 2 ( X ( t ) F k + 1 1 ( t ) ) 2 A k + 1 ( t ) < M h 4
for some constant M and t [ c k 1 , c k + 2 ] . Considering a wider fuzzy partition with h = 3 2 h , in a similar way we obtain that
RSS k , k + 1 = t = c k 1 c k + 2 ( X ( t ) F k , k + 1 1 [ X ] ( t ) ) 2 < M 3 2 h 4
(in both cases we can consider the same constant M ). We argue that
RSS k + RSS k + 1 < RSS k , k + 1 .
Indeed, let the opposite inequality hold. Then we choose h so that RSS k , k + 1 < M ( 3 2 h ) 4 < RSS k + RSS k + 1 and, by the assumption and (22), we obtain
RSS k , k + 1 < M ( 3 2 h ) 4 < RSS k + RSS k + 1 < M h 4
which is a contradiction. □
Theorem 2. 
Let X ( t ) be a time series over the time domain T and A be a uniform triangular fuzzy partition of with the distance h between the nodes. Let F k 1 , F k + 1 1 be two components identifying structural break in the areas characterized by A k , A k + 1 according to the algorithm presented in Section 3.2 (cf. Figure 1). Let
| X ( t ) F k 0 ( t ) | ε , t [ c k 1 , c k + 1 ] a n d | X ( t ) F k + 1 1 ( t ) | ε , t [ c k , c k + 2 ] .
If
t [ c k 1 , c k + 2 ] ( X ( t ) F k , k + 1 1 ( t ) ) 2 > m h ε 2
where m h is the number of time points between two nodes, then F t e s t > > 1 .
Proof. 
Let us consider formula (20) and denote the formulas after the sum symbol in (15)–(17) by RSS k ( t ) , RSS k + 1 ( t ) , RSS k , k + 1 ( t ) , respectively.
(a) Let t [ c k 1 , c k ] . Then
RSS k + 1 ( t ) = 0 and t [ c k 1 , c k ] RSS k ( t ) m h ε 2 ,
i.e., t [ c k 1 , c k ] RSS k ( t ) + t [ c k 1 , c k ] RSS k + 1 ( t ) m h ε 2 . Similarly we obtain
t [ c k + 1 , c k + 2 ] RSS k ( t ) + t [ c k + 1 , c k + 2 ] RSS k + 1 ( t ) m h ε 2 .
(b) Let t [ c k , c k + 1 ] . Then
t = c k c k + 1 ( X ( t ) F k 1 [ X ] ( t ) ) 2 A k ( t ) + t = c k c k + 1 ( X ( t ) F k + 1 1 [ X ] ( t ) ) 2 A k ( t ) t = c k c k + 1 ( ε 2 A k ( t ) + ε 2 A k + 1 ( t ) ) = m h ε 2 .
Consequently,
t = c k 1 c k + 2 RSS k ( t ) + t = c k 1 c k + 2 RSS k + 1 ( t ) m h ε 2 .
Using the assumption, we thus obtain
1 < RSS k , k + 1 m h ε 2 RSS k , k + 1 RSS k + RSS k + 1 .
Realizing that for p = 2 , the multiplicative constant in (20) can be fairly high, the value of F t e s t is also high. □
So far, we did not see whether our method for detection of the structural breaks has an impact on the statistics (20). In the following theorem we will show that when detecting a structural break using the algorithm from Section 3.2, the nominator of (20) significantly increases. For this purpose, we consider two time series X , X which differ only in the interval t [ c k , k + 1 , c k + 2 ] where the structural break occurs, i.e., X ( t ) = X ( t ) for t [ c k 1 , c k , k + 1 ] . We will denote the formulas (15)–(17) for the time series X by RSS k , RSS k + 1 , RSS k , k + 1 , respectively.
In the proof of the following theorem, we meet the formula
W = [ c k 1 , c k + 2 ] ( t c k , k + 1 ) 2 = 1 2 m h ( 3 2 m h + 1 ) ( 3 m h + 1 ) .
Theorem 3. 
Let m h be the number of time points between two nodes. Furthermore, we will assume:
(a)
β k 1 [ X ] = β k , k + 1 1 [ X ] = β k + 1 1 [ X ] = 0 ,
(b)
the inequalities (24) hold for some ε > 0 ,
(c)
| β k + 1 1 [ X ] | > 0 ,
(d)
there are minimal ε , ε > 0 such that the following holds:
max { | X ( t ) X ( c k , k + 1 ) | t [ c k 1 , c k + 2 ] } ε 2 , max { | X ( t ) X ( c k , k + 1 ) | t [ c k 1 , c k + 2 ] } ε 2 .
If the slope β k , k + 1 1 [ X ] fulfills the inequality
| β k , k + 1 1 [ X ] | [ c k 1 , c k + 2 ] | t c k , k + 1 | · | X ( t ) β k , k + 1 0 [ X ] | W
then
RSS k , k + 1 RSS k , k + 1 .
Proof. 
Note that X ( c k , k + 1 ) = X ( c k , k + 1 ) and so, it follows from the assumptions (c), (d) that ε < ε because (c) says that there is a structural break in [ c k , c k + 2 ] . Therefore, there must be t 0 [ c k , c k + 2 ] such that | X ( t 0 ) X ( c k , k + 1 ) | > ε .
In the same way as is in the proof of ([10], Theorem 5), we can show that
| X ( t ) β k , k + 1 0 [ X ] | ε , and | X ( t ) β k , k + 1 0 [ X ] | ε
for t [ c k 1 , c k + 2 ] . Then we have
t [ c k 1 , c k + 2 ] ( X ( t ) β k , k + 1 0 [ X ] ) 2 3 m h ε 2 < t [ c k 1 , c k + 2 ] ( X ( t ) β k , k + 1 0 [ X ] ) 2 2 | β k , k + 1 1 [ X ] | t [ c k 1 , c k + 2 ] | t c k , k + 1 | · | X ( t ) β k , k + 1 0 [ X ] | + ( β k , k + 1 1 [ X ] ) 2 t [ c k 1 , c k + 2 ] ( t c k , k + 1 ) 2 .
The third inequality is assured if
2 | β k , k + 1 1 [ X ] | · t [ c k 1 , c k + 2 ] | t c k , k + 1 | · | X ( t ) β k , k + 1 0 [ X ] | ( β k , k + 1 1 [ X ] ) 2 t [ c k 1 , c k + 2 ] ( t c k , k + 1 ) 2 ,
which implies that
| β k , k + 1 1 [ X ] | [ c k 1 , c k + 2 ] | t c k , k + 1 | · | X ( t ) β k , k + 1 0 [ X ] | W .
This assures inequality (27). □
In this theorem, assumption (b) says that F k 0 ( t ) and F k + 1 1 ( t ) well approximate X and X , respectively. Note that due to assumption (a), we may consider only F k 0 instead of F k 1 ( t ) . Note that Lemma 4 justifies assumption (c); assumption (d) is justified by the results of [8,10].
Corollary 1. 
There is a context w t g = 0 , v S , v R such that L P e r c ( β k 1 [ X ] , w t g ) { z e r o } and LPerc ( β k + 1 1 [ X ] , w t g ) { b i g } and the null hypothesis using the fuzzy Chow-test for the time series X is rejected.
Proof. 
We take the context w t g such that v S is equal to the right-hand side of (26) and v R big enough to assure that β k + 1 1 [ X ] is in (11) evaluated as big. Following the proof of Theorem 2, we can assure that (21) holds true and, consequently, that F t e s t in (20) is sufficiently large. □

4. Experiments

4.1. Detection of Structural Breaks

We will demonstrate our results on real data taken from a Micro subset of time series from M4-Competition published on the Internet. For computations of the F-transform components, we used the experimental software FT-studio. (It was developed in the Institute for Research of Applications of Fuzzy Modeling of the University of Ostrava, Czech Republic. Its author is Radek Valášek. Let us remark that in the R-repository is available R-package lfl providing algorithms used in this paper, see [19].).
In Figure 2, a real time series is depicted together with two fuzzy partitions with equidistant triangular basic functions. The structural breaks are detected using our method. Namely, the time series contains structural breaks occurring in areas characterized by couples of fuzzy sets ( A 48 , A 52 ), ( A 204 , A 208 ), ( A 244 , A 248 ).
We apply Fuzzy Chow test to the found structural breaks using fuzzy technique. The first one is obtained from two F1-transform components
F 48 1 [ X ] = β 48 0 [ X ] + β 48 1 [ X ] · ( t c 48 ) = 1013.19 0.38 · ( t 48 ) , F 52 1 [ X ] = β 52 0 [ X ] + β 52 1 [ X ] · ( t c 52 ) = 1065.41 + 20.83 · ( t 52 ) .
To verify the found structural break also statistically, we will test the null hypothesis
H 0 : β 48 0 X ( t ) = β 52 0 [ X ( t ) ] a n d β 48 1 [ X ( t ) ] = β 52 1 X ( t )
The squares of residuals RSS 48 , RSS 52 , RSS 48 , 52 are computed as follows:
RSS 48 = t = 44 56 ( X t F 48 1 [ X ] ( t ) ) 2 · A 48 ( t ) = 38.9604 , RSS 52 = t = 44 56 ( X t F 52 1 [ X ] ( t ) ) 2 · A 52 ( t ) = 2441.03 , RSS 48 , 52 = t = 44 56 ( X t F 48 , 52 1 [ X ] ( t ) ) 2 = 9406.196 .
The Fuzzy Chow test is based on the statistics
F t e s t = ( RSS 48 , 52 RSS 48 RSS 52 ) / p ( RSS 48 + RSS 52 ) / ( 2 n 2 p ) = 30.72
where n = 13 and p = 2 .
We obtain F t e s t = 30.72 > F c r i t = F ( p , 2 n 2 p ) = 4.3828 for α = 0.025 and so, we reject the null hypothesis. This means that we have sufficient evidence to say that a structural break detected using our method indeed occurs in the interval t [ 44 , 56 ] .
We apply the same algorithm with two subsequent by fuzzy sets ( A 204 , A 208 ) and ( A 244 , A 248 ), the structural breaks confirmed by testing the null hypothesis:
H 0 : β 204 0 [ X ( t ) ] = β 208 0 [ X ( t ) ] a n d β 204 1 [ X ( t ) ] = β 208 1 [ X ( t ) ] , H 0 : β 244 0 [ X ( t ) ] = β 248 0 [ X ( t ) ] a n d β 244 1 [ X ( t ) ] = β 248 1 [ X ( t ) ] .
The results are summarized in Table 1.
All of the results show that we have sufficient evidence to demonstrate that structural breaks occur in the data in the time intervals stated above.

4.2. When Fuzzy Chow Test Does Not Reject the Null Hypothesis?

Our method for detection of structural breaks is non-statistical. Therefore, we should also check whether the fuzzy Chow test does not falsely accept the null hypothesis about the existence of a structural break in place where our method detects none.
For example, lets us check time intervals [ 80 , 92 ] , [ 112 , 124 ] , [ 152 , 164 ] , [ 228 , 240 ] characterized by fuzzy sets ( A 84 , A 88 ), ( A 116 , A 120 ), ( A 156 , A 160 ), ( A 232 , A 236 ) where no structural break is detected. We apply Fuzzy Chow test and so, we compute two F-transform components:
F 84 1 [ X ] = β 84 0 [ X ] + β 84 1 [ X ] · ( t c 84 ) , F 88 1 [ X ] = β 88 0 [ X ] + β 88 1 [ X ] · ( x c 88 )
and form the null hypothesis:
H 0 : β 84 0 [ X ] = β 88 0 [ X ] a n d β 84 1 [ X ] = β 88 1 [ X ]
The statistics of the Fuzzy Chow test is
F t e s t = ( RSS 84 , 88 RSS 84 RSS 88 ) / p ( RSS 84 + RSS 88 ) / ( 2 n 2 p ) = 3.13
where n = 13 and p = 2 .
We may verify that F t e s t = 3.13 < F c r i t = F ( p , 2 n 2 p ) = 4.3828 for α = 0.025 . Hence, we cannot reject the null hypothesis. This means that we have no sufficient evidence to say that a structural break occurs in the interval [ 80 , 92 ] .
Let us apply same algorithm with fuzzy sets ( A 116 , A 120 ), ( A 156 , A 160 ) and ( A 236 , A 240 ) and form the following null hypotheses:
H 0 : β 116 0 [ X ] = β 120 0 [ X ] a n d β 116 1 [ X ] = β 120 1 [ X ] , H 0 : β 156 0 [ X ] = β 160 0 [ X ] a n d β 156 1 [ X ] = β 160 1 [ X ] , H 0 : β 236 0 [ X ] = β 240 0 [ X ] a n d β 236 1 [ X ] = β 240 1 [ X ] .
The results are summarized in Table 2.
We conclude that the fuzzy Chow test indeed statistically verifies structural breaks only on places in which our method described in Section 3.2 detects them.

4.3. Comparison with Classical Statistical Tests

In this section, we will compare our method with three classical statistical methods for the detection of structural breaks. Namely, we will consider the classical Chow test described in Section 2.1, Pettitt’s, and Bai-Perron tests.

4.3.1. Pettitt’S Test (1979)

The Pettitt’s test [20,21] is a way to find out when there was a big change in the mean of a set of numbers over time when the exact time of the change is unknown. The data collect n observations, and if it contains a change point at time t, then the change point will split the data into two parts, each of which has a distinct distribution F 1 ( x ) and F 2 ( x ) . The test statistic K is defined by K = max U t where
U t = i = 1 t j = t + 1 n ( x i x j ) and sign ( x i x j ) = 1 if ( x i x j ) > 0 , 0 if ( x i x j ) = 0 , 1 if ( x i x j ) < 0 .
The confidence level for n samples is p = exp K n 2 + n 3 . The null hypothesis is rejected if the value of p does not exceed the given confidence level.

4.3.2. Bai-Perron Test (1998)

Another well known test for identification of several structural breaks in a time series is Bai-Perron one [22,23,24].
With the null hypothesis: There is no structural break in the time series, the Bai-Perron proccess suggests a multiple linear regression with k changes. The change points are ( T 1 , , T k ) and are explicitly handled as unknown:
y t = x t β + z t σ 1 + ε t , t = 1 , , T 1 , y t = x t β + z t σ 2 + ε t , t = T 1 + 1 , , T 2 , .................... y t = x t β + z t σ k + 1 + ε t , t = T k + 1 , , T
where y t is the dependent variable, β and σ are coefficients corresponding to covariates x t and z t , and u t is the residue term. The purpose is to estimate the unknown regression coefficients and the break dates ( β , σ 1 , , σ k + 1 , T 1 , , T k ) when T observations on ( y t , x t , z t ) are given.

4.3.3. Comparison of Statistical Methods with Fuzzy Chow Test

The results of the comparison can be seen in Figure 3. The computations have been performed using R. The classical Chow test detected change points in t = 51 , 130 , 206 , 251 and Bai-Perron test in t = 52 , 131 , 207 , 252 . Thus, the differences in the graph in Figure 3 are invisible. The Pettitt test found only three points in t = 51 , 130 , 206 .
Our method detected three structural breaks in the intervals [ 44 , 56 ] , [ 200 , 212 ] , [ 240 , 252 ] which, as shown in Section 4.1, are also statistically significant by the fuzzy Chow test. Note that these intervals cover the points found by Chow and Bai-Perron tests with the exception of t = 130 ( t = 131 ) where, however, there is no structural break. We argue that, as is apparent from Figure 3, our method correctly detected real structural breaks occurring in the time series. The following conclusions imply from the comparison with our method:
  • Statistical methods detect the breaks as if occurring in one time point. However, it is clear from the practice that this rarely happens; the break usually shows in a wider area. Hence, the result of a statistical test should be taken as a point around which the break occurs. But this is equal to what our fuzzy method provides explicitly, and thus we argue that more realistically.
  • Statistical methods are less robust and thus, more sensitive to the data. Hence, they are prone to the detection of non-existing breaks. In our example, this happened to all three statistical methods in point t = 130 ( t = 131 ) where apparently there is no structural break. Let us emphasize that our fuzzy method ignored this point/area due to its robustness.
  • Statistical methods require optimization and therefore, they are computationally expensive. Our method is very simple and computationally effective since the fuzzy transform has linear complexity.
It is important to emphasize that our goal is not to beat statistical methods. Vice-versa, we want to employ maximally the synergy of both approaches.

5. Conclusions

In this paper, we focus on methods for the detection of structural breaks in time series. In [7], we suggested a method based on the fuzzy transform (F-transform) and selected methods of Fuzzy Natural Logic. In this paper, we suggested a combination of our method with a statistical text that stems from the well-known Chow test [1]. Statistical significance is demonstrated on the data. We have shown that our technique is effective in spotting abnormalities and gives statistically significant results. Further research will be focused on the combination of our fuzzy method with other kinds of statistical testing.

Author Contributions

Methodology, V.N.; Software, computations T.T.P.T. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Data is contained within the article.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Chow, G.C. Tests of Equality Between Sets of Coefficients in Two Linear Regressions. Econometrica 1960, 28, 591–605. [Google Scholar] [CrossRef] [Green Version]
  2. De Wachter, S.; Tzavalis, D. Detection of structural breaks in linear dynamic panel data models. Comput. Stat. Data Anal. 2012, 56, 3020–3034. [Google Scholar] [CrossRef] [Green Version]
  3. Fischer, P.; Hilbert, A. Fast detection of structural breaks. In Proceedings of the 21th International Conference on Computational Statistics, Geneva, Switzerland, 19–22 August 2014; pp. 9–16. [Google Scholar]
  4. Nielsen, B.; Whitby, A. A Joint Chow Test for Structural Instability. Econometrics 2015, 3, 156–186. [Google Scholar] [CrossRef] [Green Version]
  5. Preuss, P.; Puchstein, R.; Detter, H. Detection of multiple structural breaks in multivariate time series. J. Am. Stat. Assoc. 2015, 110, 654–668. [Google Scholar] [CrossRef] [Green Version]
  6. Doerr, B.; Fischer, P.; Hilbert, A.; Witt, C. Detecting structural breaks in time series via genetic algorithms. Soft Comput. 2017, 21, 4707–4720. [Google Scholar] [CrossRef]
  7. Truong, P.; Novák, V. An Improved Forecasting and Detection of Structural Breaks in Time Series using Fuzzy Techniques. In Theory and Applications of Time Series Analysis and Forecasting; Valenzuela, O., Rojas, F., Herrera, L., Pomares, H., Rojas, I., Eds.; Springer: Berlin/Heidelberg, Germany, 2022. [Google Scholar]
  8. Perfilieva, I.; Daňková, M.; Bede, B. Towards a Higher Degree F-transform. Fuzzy Sets Syst. 2011, 180, 3–19. [Google Scholar] [CrossRef]
  9. Novák, V.; Perfilieva, I.; Dvořák, A. Insight into Fuzzy Modeling; Wiley & Sons: Hoboken, NJ, USA, 2016. [Google Scholar]
  10. Perfilieva, I. Fuzzy Transforms: Theory and applications. Fuzzy Sets Syst. 2006, 157, 993–1023. [Google Scholar] [CrossRef]
  11. Novák, V.; Mirshahi, S.; Pavliska, V. LFL Forecaster: Analysis, Forecasting and Mining Information from Time Series. In Proceedings of the 2019 IEEE International Conference on Fuzzy Systems, FUZZ-IEEE 2019, New Orleans, LA, USA, 23–26 June 2019; pp. 1–6. [Google Scholar] [CrossRef]
  12. Anděl, J. Statistical Analysis of Time Series; SNTL: Praha, Czech Republic, 1976. (In Czech) [Google Scholar]
  13. Bovas, A.; Ledolter, J. Statistical Methods for Forecasting; Wiley: New York, NY, USA, 2003. [Google Scholar]
  14. Kedem, B.; Fokianos, K. Regression Models for Time Series Analysis; Wiley: New York, NY, USA, 2002. [Google Scholar]
  15. Hamilton, J. Time Series Analysis; Princeton University Press: Princeton, NJ, USA, 1994. [Google Scholar]
  16. Nguyen, L.; Novák, V.; Holčapek, M. Gold Price: Trend-cycle Analysis Using Fuzzy Techniques. In Information Processing and Management of Uncertainty in Knowledge-Based Systems, Part III; Lesot, M.-J., Vieira, S., Reformat, M.Z., Carvalho, J.P., Wilbik, A., Bouchon-Meunier, B., Yager, R.R., Eds.; Springer Nature: Cham, Switzerland, 2020; pp. 254–266. [Google Scholar]
  17. Novák, V. Fuzzy vs. Probabilistic Techniques in Time Series Analysis. In Econometrics for Financial Applications; Anh, L., Dong, L., Kreinovich, V., Thach, N., Eds.; Springer: Berlin/Heidelberg, Germany, 2018; pp. 213–234. [Google Scholar]
  18. Nguyen, L.; Holčapek, M. Suppression of High Frequencies in Time Series Using Fuzzy Transform of Higher Degree. In Information Processing and Management of Uncertainty in Knowledge-Based Systems: 16th International Conference, IPMU 2016; Carvalho, J., Lesot, M.-J., Kaymak, U., Vieira, S., Bouchon-Meunier, B., Yager, R.R., Eds.; Springer: Berlin/Heidelberg, Germany, 2016; Volume 2, pp. 705–716. [Google Scholar]
  19. Burda, M.; Stěpnička, M. lfl: An R Package for Linguistic Fuzzy Logic. Fuzzy Sets Syst. 2022, 431, 1–38. [Google Scholar] [CrossRef]
  20. Pettitt, A. A non-parametric approach to the change-point problem. J. R. Stat. Soc. Ser. C (Appl. Stat.) 1979, 28, 126–135. [Google Scholar] [CrossRef]
  21. Conte, L.; Bayer, D.; Bayer, F. Bootstrap Pettitt test for detecting change points in hydroclimatological data: Case study of Itaipu Hydroelectric Plant, Brazil. Hydrol. Sci. J. 2019, 64, 1312–1326. [Google Scholar] [CrossRef]
  22. Bai, J.; Perron, P. Estimating and Testing Linear Models with Multiple Structural Changes. Econometrica 1998, 66, 47–78. [Google Scholar] [CrossRef] [Green Version]
  23. Bai, J.; Perron, P. Computation and Analysis of Multiple Structural Change Models. J. Appl. Econom. 2003, 18, 1–22. [Google Scholar] [CrossRef] [Green Version]
  24. Hall, A.R.; Han, S.; Boldea, O. Inference regarding multiple structural changes in linear models with endogenous regressors. J. Econom. 1998, 170, 281–302. [Google Scholar] [CrossRef] [PubMed]
Figure 1. Fuzzy sets covering the structural break occurring in the interval [ c k , c k + 2 ] (the support of the fuzzy set A k + 1 ).
Figure 1. Fuzzy sets covering the structural break occurring in the interval [ c k , c k + 2 ] (the support of the fuzzy set A k + 1 ).
Axioms 12 00103 g001
Figure 2. The time series is depicted together with fuzzy partitions with the basic functions of the width: (a) 2 h = 8 and (b) 2 h = 12 . In both images are marked basic functions over which the structural breaks are detected.
Figure 2. The time series is depicted together with fuzzy partitions with the basic functions of the width: (a) 2 h = 8 and (b) 2 h = 12 . In both images are marked basic functions over which the structural breaks are detected.
Axioms 12 00103 g002
Figure 3. Results of statistical tests as well as of our method to finding structural breaks in the real time series: (a) Chow and Bai-Perron tests (in the graph, there is no visible difference between them), (b) Pettitt’s test, and (c) our method verified by the fuzzy Chow test.
Figure 3. Results of statistical tests as well as of our method to finding structural breaks in the real time series: (a) Chow and Bai-Perron tests (in the graph, there is no visible difference between them), (b) Pettitt’s test, and (c) our method verified by the fuzzy Chow test.
Axioms 12 00103 g003
Table 1. Fuzzy Chow Test results.
Table 1. Fuzzy Chow Test results.
tFuzzy Sets [ A k , A k + 1 ] F test F crit ( α = 0.025 )Decision
[44,56][ A 48 , A 52 ]30.724.3828Reject H 0
[200,212][ A 204 , A 208 ]26.524.3828Reject H 0
[240,252][ A 244 , A 248 ]39.774.3828Reject H 0
Table 2. Fuzzy Chow Test results and Decisions.
Table 2. Fuzzy Chow Test results and Decisions.
Time IntervalFuzzy Sets ( A k , A k + 1 ) F test F crit ( α = 0.025 )Decision
[112,124] ( A 116 , A 120 ) 2.814.3828 H 0 is not rejected
[152,164] ( A 156 , A 160 ) 1.464.3828 H 0 is not rejected
[232,244] ( A 236 , A 240 ) 1.864.3828 H 0 is not rejected
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Novák, V.; Truong, T.T.P. A Combination of Fuzzy Techniques and Chow Test to Detect Structural Breaks in Time Series. Axioms 2023, 12, 103. https://doi.org/10.3390/axioms12020103

AMA Style

Novák V, Truong TTP. A Combination of Fuzzy Techniques and Chow Test to Detect Structural Breaks in Time Series. Axioms. 2023; 12(2):103. https://doi.org/10.3390/axioms12020103

Chicago/Turabian Style

Novák, Vilém, and Thi Thanh Phuong Truong. 2023. "A Combination of Fuzzy Techniques and Chow Test to Detect Structural Breaks in Time Series" Axioms 12, no. 2: 103. https://doi.org/10.3390/axioms12020103

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop