We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Documentation needs to be fixed 
Single comment line on `sktime.utils.validation.forecasting` needs to be fixed. Check the image below.

Instead of `<<<<<<< HEAD:sktime/utils/validation/forecasting.py` we should see `Returns`.
 
![image](https://user-images.githubusercontent.com/7353520/66719148-2c0d0580-edc2-11e9-9a10-8632c1d896e4.png)

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `sktime/utils/validation/forecasting.py`
Content:
```
1 import numpy as np
2 import pandas as pd
3 from sklearn.utils.validation import check_is_fitted
4 
5 __author__ = "Markus Löning"
6 __all__ = ["validate_y", "validate_X", "validate_y_X", "validate_fh"]
7 
8 
9 def validate_y_X(y, X):
10     """Validate input data.
11 
12     Parameters
13     ----------
14     y : pandas Series or numpy ndarray
15     X : pandas DataFrame
16 
17 <<<<<<< HEAD:sktime/utils/validation/forecasting.py
18     Returns
19     -------
20     None
21 
22     Raises
23     ------
24     ValueError
25         If y is an invalid input
26     """
27     validate_y(y)
28     validate_X(X)
29 
30 
31 def validate_y(y):
32     """Validate input data.
33 
34     Parameters
35     ----------
36     y : pandas Series or numpy ndarray
37 
38     Returns
39     -------
40     None
41 
42     Raises
43     ------
44     ValueError
45         If y is an invalid input
46     """
47     # Check if pandas series
48     if not isinstance(y, pd.Series):
49         raise ValueError(f'y must be a pandas Series, but found: {type(y)}')
50 
51     # Check if single row
52     if not y.shape[0] == 1:
53         raise ValueError(f'y must consist of a pandas Series with a single row, '
54                          f'but found: {y.shape[0]} rows')
55 
56     # Check if contained time series is either pandas series or numpy array
57     s = y.iloc[0]
58     if not isinstance(s, (np.ndarray, pd.Series)):
59         raise ValueError(f'y must contain a pandas Series or numpy array, '
60                          f'but found: {type(s)}.')
61 
62 
63 def validate_X(X):
64     """Validate input data.
65 
66     Parameters
67     ----------
68     X : pandas DataFrame
69 
70     Returns
71     -------
72     None
73 
74     Raises
75     ------
76     ValueError
77         If y is an invalid input
78     """
79     if X is not None:
80         if not isinstance(X, pd.DataFrame):
81             raise ValueError(f"`X` must a pandas DataFrame, but found: {type(X)}")
82         if X.shape[0] > 1:
83             raise ValueError(f"`X` must consist of a single row, but found: {X.shape[0]} rows")
84 
85         # Check if index is the same for all columns.
86 
87         # Get index from first row, can be either pd.Series or np.array.
88         first_index = X.iloc[0, 0].index if hasattr(X.iloc[0, 0], 'index') else pd.RangeIndex(X.iloc[0, 0].shape[0])
89 
90         # Series must contain at least 2 observations, otherwise should be primitive.
91         if len(first_index) < 1:
92             raise ValueError(f'Time series must contain at least 2 observations, but found: '
93                              f'{len(first_index)} observations in column: {X.columns[0]}')
94 
95         # Compare with remaining columns
96         for c, col in enumerate(X.columns):
97             index = X.iloc[0, c].index if hasattr(X.iloc[0, c], 'index') else pd.RangeIndex(X.iloc[0, 0].shape[0])
98             if not np.array_equal(first_index, index):
99                 raise ValueError(f'Found time series with unequal index in column {col}. '
100                                  f'Input time-series must have the same index.')
101 
102 
103 def validate_sp(sp):
104     """Validate seasonal periodicity.
105 
106     Parameters
107     ----------
108     sp : int
109         Seasonal periodicity
110 
111     Returns
112     -------
113     sp : int
114         Validated seasonal periodicity
115     """
116 
117     if sp is None:
118         return sp
119 
120     else:
121         if not isinstance(sp, int) and (sp >= 0):
122             raise ValueError(f"Seasonal periodicity (sp) has to be a positive integer, but found: "
123                              f"{sp} of type: {type(sp)}")
124         return sp
125 
126 
127 def validate_fh(fh):
128     """Validate forecasting horizon.
129 
130     Parameters
131     ----------
132     fh : int or list of int
133         Forecasting horizon with steps ahead to predict.
134 
135     Returns
136     -------
137     fh : numpy array of int
138         Sorted and validated forecasting horizon.
139     """
140 
141     # Check single integer
142     if np.issubdtype(type(fh), np.integer):
143         return np.array([fh], dtype=np.int)
144 
145     # Check array-like input
146     elif isinstance(fh, list):
147         if len(fh) < 1:
148             raise ValueError(f"`fh` must specify at least one step, but found: "
149                              f"{type(fh)} of length {len(fh)}")
150         if not np.all([np.issubdtype(type(h), np.integer) for h in fh]):
151             raise ValueError('If `fh` is passed as a list, '
152                              'it has to be a list of integers')
153 
154     elif isinstance(fh, np.ndarray):
155         if fh.ndim > 1:
156             raise ValueError(f"`fh` must be a 1d array, but found: "
157                              f"{fh.ndim} dimensions")
158         if len(fh) < 1:
159             raise ValueError(f"`fh` must specify at least one step, but found: "
160                              f"{type(fh)} of length {len(fh)}")
161         if not np.issubdtype(fh.dtype, np.integer):
162             raise ValueError(
163                 f'If `fh` is passed as an array, it has to be an array of '
164                 f'integers, but found an array of dtype: {fh.dtype}')
165 
166     else:
167         raise ValueError(f"`fh` has to be either a list or array of integers, or a single "
168                          f"integer, but found: {type(fh)}")
169 
170     return np.asarray(np.sort(fh), dtype=np.int)
171 
172 
173 def check_is_fitted_in_transform(estimator, attributes, msg=None, all_or_any=all):
174     """Checks if the estimator is fitted during transform by verifying the presence of
175     "all_or_any" of the passed attributes and raises a NotFittedError with the
176     given message.
177     
178     Parameters
179     ----------
180     estimator : estimator instance.
181         estimator instance for which the check is performed.
182     attributes : attribute name(s) given as string or a list/tuple of strings
183         Eg.:
184             ``["coef_", "estimator_", ...], "coef_"``
185     msg : string
186         The default error message is, "This %(name)s instance is not fitted
187         yet. Call 'fit' with appropriate arguments before using this method."
188         For custom messages if "%(name)s" is present in the message string,
189         it is substituted for the estimator name.
190         Eg. : "Estimator, %(name)s, must be fitted before sparsifying".
191     all_or_any : callable, {all, any}, default all
192         Specify whether all or any of the given attributes must exist.
193     Returns
194     -------
195     None
196     
197     Raises
198     ------
199     NotFittedError
200         If the attributes are not found.    
201     """
202     if msg is None:
203         msg = ("This %(name)s instance has not been fitted yet. Call 'transform' with "
204                "appropriate arguments before using this method.")
205 
206     check_is_fitted(estimator, attributes=attributes, msg=msg, all_or_any=all_or_any)
207 
208 
209 def validate_time_index(time_index):
210     """Validate time index
211 
212     Parameters
213     ----------
214     time_index : array-like
215 
216     Returns
217     -------
218     time_index : ndarray
219     """
220     # period or datetime index are not support yet
221     # TODO add support for period/datetime indexing
222     if isinstance(time_index, (pd.PeriodIndex, pd.DatetimeIndex)):
223         raise NotImplementedError(f"{type(time_index)} is not fully supported yet, "
224                                   f"use pandas RangeIndex instead")
225 
226     return np.asarray(time_index)
227 
228 
229 def check_consistent_time_indices(x, y):
230     """Check that x and y have consistent indices.
231 
232     Parameters
233     ----------
234     x : pandas Series
235     y : pandas Series
236 
237     Raises:
238     -------
239     ValueError
240         If time indicies are not equal
241     """
242 
243     if not x.index.equals(y.index):
244         raise ValueError(f"Found input variables with inconsistent indices")
245
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/sktime/utils/validation/forecasting.py b/sktime/utils/validation/forecasting.py
--- a/sktime/utils/validation/forecasting.py
+++ b/sktime/utils/validation/forecasting.py
@@ -14,7 +14,6 @@
     y : pandas Series or numpy ndarray
     X : pandas DataFrame
 
-<<<<<<< HEAD:sktime/utils/validation/forecasting.py
     Returns
     -------
     None

{"golden_diff": "diff --git a/sktime/utils/validation/forecasting.py b/sktime/utils/validation/forecasting.py\n--- a/sktime/utils/validation/forecasting.py\n+++ b/sktime/utils/validation/forecasting.py\n@@ -14,7 +14,6 @@\n     y : pandas Series or numpy ndarray\n     X : pandas DataFrame\n \n-<<<<<<< HEAD:sktime/utils/validation/forecasting.py\n     Returns\n     -------\n     None\n", "issue": "Documentation needs to be fixed \nSingle comment line on `sktime.utils.validation.forecasting` needs to be fixed. Check the image below.\r\n\r\nInstead of `<<<<<<< HEAD:sktime/utils/validation/forecasting.py` we should see `Returns`.\r\n \r\n![image](https://user-images.githubusercontent.com/7353520/66719148-2c0d0580-edc2-11e9-9a10-8632c1d896e4.png)\n", "before_files": [{"content": "import numpy as np\nimport pandas as pd\nfrom sklearn.utils.validation import check_is_fitted\n\n__author__ = \"Markus L\u00f6ning\"\n__all__ = [\"validate_y\", \"validate_X\", \"validate_y_X\", \"validate_fh\"]\n\n\ndef validate_y_X(y, X):\n    \"\"\"Validate input data.\n\n    Parameters\n    ----------\n    y : pandas Series or numpy ndarray\n    X : pandas DataFrame\n\n<<<<<<< HEAD:sktime/utils/validation/forecasting.py\n    Returns\n    -------\n    None\n\n    Raises\n    ------\n    ValueError\n        If y is an invalid input\n    \"\"\"\n    validate_y(y)\n    validate_X(X)\n\n\ndef validate_y(y):\n    \"\"\"Validate input data.\n\n    Parameters\n    ----------\n    y : pandas Series or numpy ndarray\n\n    Returns\n    -------\n    None\n\n    Raises\n    ------\n    ValueError\n        If y is an invalid input\n    \"\"\"\n    # Check if pandas series\n    if not isinstance(y, pd.Series):\n        raise ValueError(f'y must be a pandas Series, but found: {type(y)}')\n\n    # Check if single row\n    if not y.shape[0] == 1:\n        raise ValueError(f'y must consist of a pandas Series with a single row, '\n                         f'but found: {y.shape[0]} rows')\n\n    # Check if contained time series is either pandas series or numpy array\n    s = y.iloc[0]\n    if not isinstance(s, (np.ndarray, pd.Series)):\n        raise ValueError(f'y must contain a pandas Series or numpy array, '\n                         f'but found: {type(s)}.')\n\n\ndef validate_X(X):\n    \"\"\"Validate input data.\n\n    Parameters\n    ----------\n    X : pandas DataFrame\n\n    Returns\n    -------\n    None\n\n    Raises\n    ------\n    ValueError\n        If y is an invalid input\n    \"\"\"\n    if X is not None:\n        if not isinstance(X, pd.DataFrame):\n            raise ValueError(f\"`X` must a pandas DataFrame, but found: {type(X)}\")\n        if X.shape[0] > 1:\n            raise ValueError(f\"`X` must consist of a single row, but found: {X.shape[0]} rows\")\n\n        # Check if index is the same for all columns.\n\n        # Get index from first row, can be either pd.Series or np.array.\n        first_index = X.iloc[0, 0].index if hasattr(X.iloc[0, 0], 'index') else pd.RangeIndex(X.iloc[0, 0].shape[0])\n\n        # Series must contain at least 2 observations, otherwise should be primitive.\n        if len(first_index) < 1:\n            raise ValueError(f'Time series must contain at least 2 observations, but found: '\n                             f'{len(first_index)} observations in column: {X.columns[0]}')\n\n        # Compare with remaining columns\n        for c, col in enumerate(X.columns):\n            index = X.iloc[0, c].index if hasattr(X.iloc[0, c], 'index') else pd.RangeIndex(X.iloc[0, 0].shape[0])\n            if not np.array_equal(first_index, index):\n                raise ValueError(f'Found time series with unequal index in column {col}. '\n                                 f'Input time-series must have the same index.')\n\n\ndef validate_sp(sp):\n    \"\"\"Validate seasonal periodicity.\n\n    Parameters\n    ----------\n    sp : int\n        Seasonal periodicity\n\n    Returns\n    -------\n    sp : int\n        Validated seasonal periodicity\n    \"\"\"\n\n    if sp is None:\n        return sp\n\n    else:\n        if not isinstance(sp, int) and (sp >= 0):\n            raise ValueError(f\"Seasonal periodicity (sp) has to be a positive integer, but found: \"\n                             f\"{sp} of type: {type(sp)}\")\n        return sp\n\n\ndef validate_fh(fh):\n    \"\"\"Validate forecasting horizon.\n\n    Parameters\n    ----------\n    fh : int or list of int\n        Forecasting horizon with steps ahead to predict.\n\n    Returns\n    -------\n    fh : numpy array of int\n        Sorted and validated forecasting horizon.\n    \"\"\"\n\n    # Check single integer\n    if np.issubdtype(type(fh), np.integer):\n        return np.array([fh], dtype=np.int)\n\n    # Check array-like input\n    elif isinstance(fh, list):\n        if len(fh) < 1:\n            raise ValueError(f\"`fh` must specify at least one step, but found: \"\n                             f\"{type(fh)} of length {len(fh)}\")\n        if not np.all([np.issubdtype(type(h), np.integer) for h in fh]):\n            raise ValueError('If `fh` is passed as a list, '\n                             'it has to be a list of integers')\n\n    elif isinstance(fh, np.ndarray):\n        if fh.ndim > 1:\n            raise ValueError(f\"`fh` must be a 1d array, but found: \"\n                             f\"{fh.ndim} dimensions\")\n        if len(fh) < 1:\n            raise ValueError(f\"`fh` must specify at least one step, but found: \"\n                             f\"{type(fh)} of length {len(fh)}\")\n        if not np.issubdtype(fh.dtype, np.integer):\n            raise ValueError(\n                f'If `fh` is passed as an array, it has to be an array of '\n                f'integers, but found an array of dtype: {fh.dtype}')\n\n    else:\n        raise ValueError(f\"`fh` has to be either a list or array of integers, or a single \"\n                         f\"integer, but found: {type(fh)}\")\n\n    return np.asarray(np.sort(fh), dtype=np.int)\n\n\ndef check_is_fitted_in_transform(estimator, attributes, msg=None, all_or_any=all):\n    \"\"\"Checks if the estimator is fitted during transform by verifying the presence of\n    \"all_or_any\" of the passed attributes and raises a NotFittedError with the\n    given message.\n    \n    Parameters\n    ----------\n    estimator : estimator instance.\n        estimator instance for which the check is performed.\n    attributes : attribute name(s) given as string or a list/tuple of strings\n        Eg.:\n            ``[\"coef_\", \"estimator_\", ...], \"coef_\"``\n    msg : string\n        The default error message is, \"This %(name)s instance is not fitted\n        yet. Call 'fit' with appropriate arguments before using this method.\"\n        For custom messages if \"%(name)s\" is present in the message string,\n        it is substituted for the estimator name.\n        Eg. : \"Estimator, %(name)s, must be fitted before sparsifying\".\n    all_or_any : callable, {all, any}, default all\n        Specify whether all or any of the given attributes must exist.\n    Returns\n    -------\n    None\n    \n    Raises\n    ------\n    NotFittedError\n        If the attributes are not found.    \n    \"\"\"\n    if msg is None:\n        msg = (\"This %(name)s instance has not been fitted yet. Call 'transform' with \"\n               \"appropriate arguments before using this method.\")\n\n    check_is_fitted(estimator, attributes=attributes, msg=msg, all_or_any=all_or_any)\n\n\ndef validate_time_index(time_index):\n    \"\"\"Validate time index\n\n    Parameters\n    ----------\n    time_index : array-like\n\n    Returns\n    -------\n    time_index : ndarray\n    \"\"\"\n    # period or datetime index are not support yet\n    # TODO add support for period/datetime indexing\n    if isinstance(time_index, (pd.PeriodIndex, pd.DatetimeIndex)):\n        raise NotImplementedError(f\"{type(time_index)} is not fully supported yet, \"\n                                  f\"use pandas RangeIndex instead\")\n\n    return np.asarray(time_index)\n\n\ndef check_consistent_time_indices(x, y):\n    \"\"\"Check that x and y have consistent indices.\n\n    Parameters\n    ----------\n    x : pandas Series\n    y : pandas Series\n\n    Raises:\n    -------\n    ValueError\n        If time indicies are not equal\n    \"\"\"\n\n    if not x.index.equals(y.index):\n        raise ValueError(f\"Found input variables with inconsistent indices\")\n", "path": "sktime/utils/validation/forecasting.py"}], "after_files": [{"content": "import numpy as np\nimport pandas as pd\nfrom sklearn.utils.validation import check_is_fitted\n\n__author__ = \"Markus L\u00f6ning\"\n__all__ = [\"validate_y\", \"validate_X\", \"validate_y_X\", \"validate_fh\"]\n\n\ndef validate_y_X(y, X):\n    \"\"\"Validate input data.\n\n    Parameters\n    ----------\n    y : pandas Series or numpy ndarray\n    X : pandas DataFrame\n\n    Returns\n    -------\n    None\n\n    Raises\n    ------\n    ValueError\n        If y is an invalid input\n    \"\"\"\n    validate_y(y)\n    validate_X(X)\n\n\ndef validate_y(y):\n    \"\"\"Validate input data.\n\n    Parameters\n    ----------\n    y : pandas Series or numpy ndarray\n\n    Returns\n    -------\n    None\n\n    Raises\n    ------\n    ValueError\n        If y is an invalid input\n    \"\"\"\n    # Check if pandas series\n    if not isinstance(y, pd.Series):\n        raise ValueError(f'y must be a pandas Series, but found: {type(y)}')\n\n    # Check if single row\n    if not y.shape[0] == 1:\n        raise ValueError(f'y must consist of a pandas Series with a single row, '\n                         f'but found: {y.shape[0]} rows')\n\n    # Check if contained time series is either pandas series or numpy array\n    s = y.iloc[0]\n    if not isinstance(s, (np.ndarray, pd.Series)):\n        raise ValueError(f'y must contain a pandas Series or numpy array, '\n                         f'but found: {type(s)}.')\n\n\ndef validate_X(X):\n    \"\"\"Validate input data.\n\n    Parameters\n    ----------\n    X : pandas DataFrame\n\n    Returns\n    -------\n    None\n\n    Raises\n    ------\n    ValueError\n        If y is an invalid input\n    \"\"\"\n    if X is not None:\n        if not isinstance(X, pd.DataFrame):\n            raise ValueError(f\"`X` must a pandas DataFrame, but found: {type(X)}\")\n        if X.shape[0] > 1:\n            raise ValueError(f\"`X` must consist of a single row, but found: {X.shape[0]} rows\")\n\n        # Check if index is the same for all columns.\n\n        # Get index from first row, can be either pd.Series or np.array.\n        first_index = X.iloc[0, 0].index if hasattr(X.iloc[0, 0], 'index') else pd.RangeIndex(X.iloc[0, 0].shape[0])\n\n        # Series must contain at least 2 observations, otherwise should be primitive.\n        if len(first_index) < 1:\n            raise ValueError(f'Time series must contain at least 2 observations, but found: '\n                             f'{len(first_index)} observations in column: {X.columns[0]}')\n\n        # Compare with remaining columns\n        for c, col in enumerate(X.columns):\n            index = X.iloc[0, c].index if hasattr(X.iloc[0, c], 'index') else pd.RangeIndex(X.iloc[0, 0].shape[0])\n            if not np.array_equal(first_index, index):\n                raise ValueError(f'Found time series with unequal index in column {col}. '\n                                 f'Input time-series must have the same index.')\n\n\ndef validate_sp(sp):\n    \"\"\"Validate seasonal periodicity.\n\n    Parameters\n    ----------\n    sp : int\n        Seasonal periodicity\n\n    Returns\n    -------\n    sp : int\n        Validated seasonal periodicity\n    \"\"\"\n\n    if sp is None:\n        return sp\n\n    else:\n        if not isinstance(sp, int) and (sp >= 0):\n            raise ValueError(f\"Seasonal periodicity (sp) has to be a positive integer, but found: \"\n                             f\"{sp} of type: {type(sp)}\")\n        return sp\n\n\ndef validate_fh(fh):\n    \"\"\"Validate forecasting horizon.\n\n    Parameters\n    ----------\n    fh : int or list of int\n        Forecasting horizon with steps ahead to predict.\n\n    Returns\n    -------\n    fh : numpy array of int\n        Sorted and validated forecasting horizon.\n    \"\"\"\n\n    # Check single integer\n    if np.issubdtype(type(fh), np.integer):\n        return np.array([fh], dtype=np.int)\n\n    # Check array-like input\n    elif isinstance(fh, list):\n        if len(fh) < 1:\n            raise ValueError(f\"`fh` must specify at least one step, but found: \"\n                             f\"{type(fh)} of length {len(fh)}\")\n        if not np.all([np.issubdtype(type(h), np.integer) for h in fh]):\n            raise ValueError('If `fh` is passed as a list, '\n                             'it has to be a list of integers')\n\n    elif isinstance(fh, np.ndarray):\n        if fh.ndim > 1:\n            raise ValueError(f\"`fh` must be a 1d array, but found: \"\n                             f\"{fh.ndim} dimensions\")\n        if len(fh) < 1:\n            raise ValueError(f\"`fh` must specify at least one step, but found: \"\n                             f\"{type(fh)} of length {len(fh)}\")\n        if not np.issubdtype(fh.dtype, np.integer):\n            raise ValueError(\n                f'If `fh` is passed as an array, it has to be an array of '\n                f'integers, but found an array of dtype: {fh.dtype}')\n\n    else:\n        raise ValueError(f\"`fh` has to be either a list or array of integers, or a single \"\n                         f\"integer, but found: {type(fh)}\")\n\n    return np.asarray(np.sort(fh), dtype=np.int)\n\n\ndef check_is_fitted_in_transform(estimator, attributes, msg=None, all_or_any=all):\n    \"\"\"Checks if the estimator is fitted during transform by verifying the presence of\n    \"all_or_any\" of the passed attributes and raises a NotFittedError with the\n    given message.\n    \n    Parameters\n    ----------\n    estimator : estimator instance.\n        estimator instance for which the check is performed.\n    attributes : attribute name(s) given as string or a list/tuple of strings\n        Eg.:\n            ``[\"coef_\", \"estimator_\", ...], \"coef_\"``\n    msg : string\n        The default error message is, \"This %(name)s instance is not fitted\n        yet. Call 'fit' with appropriate arguments before using this method.\"\n        For custom messages if \"%(name)s\" is present in the message string,\n        it is substituted for the estimator name.\n        Eg. : \"Estimator, %(name)s, must be fitted before sparsifying\".\n    all_or_any : callable, {all, any}, default all\n        Specify whether all or any of the given attributes must exist.\n    Returns\n    -------\n    None\n    \n    Raises\n    ------\n    NotFittedError\n        If the attributes are not found.    \n    \"\"\"\n    if msg is None:\n        msg = (\"This %(name)s instance has not been fitted yet. Call 'transform' with \"\n               \"appropriate arguments before using this method.\")\n\n    check_is_fitted(estimator, attributes=attributes, msg=msg, all_or_any=all_or_any)\n\n\ndef validate_time_index(time_index):\n    \"\"\"Validate time index\n\n    Parameters\n    ----------\n    time_index : array-like\n\n    Returns\n    -------\n    time_index : ndarray\n    \"\"\"\n    # period or datetime index are not support yet\n    # TODO add support for period/datetime indexing\n    if isinstance(time_index, (pd.PeriodIndex, pd.DatetimeIndex)):\n        raise NotImplementedError(f\"{type(time_index)} is not fully supported yet, \"\n                                  f\"use pandas RangeIndex instead\")\n\n    return np.asarray(time_index)\n\n\ndef check_consistent_time_indices(x, y):\n    \"\"\"Check that x and y have consistent indices.\n\n    Parameters\n    ----------\n    x : pandas Series\n    y : pandas Series\n\n    Raises:\n    -------\n    ValueError\n        If time indicies are not equal\n    \"\"\"\n\n    if not x.index.equals(y.index):\n        raise ValueError(f\"Found input variables with inconsistent indices\")\n", "path": "sktime/utils/validation/forecasting.py"}]}