Skip to content

Commit

Permalink
Merge branch 'main' into parallel-hierarchical-backendparams
Browse files Browse the repository at this point in the history
  • Loading branch information
fkiraly committed Oct 7, 2023
2 parents 467fba6 + ac6bf41 commit 7bdd05f
Show file tree
Hide file tree
Showing 167 changed files with 9,665 additions and 7,263 deletions.
40 changes: 40 additions & 0 deletions .all-contributorsrc
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
"avatar_url": "https://avatars1.githubusercontent.com/u/7985502?v=4",
"profile": "https://github.com/fkiraly",
"contributions": [
"blog",
"bug",
"business",
"code",
Expand Down Expand Up @@ -2356,6 +2357,15 @@
"maintenance"
]
},
{
"login": "ali-parizad",
"name": "Ali Parizad",
"avatar_url": "https://avatars.githubusercontent.com/u/13907016?v=4",
"profile": "https://github.com/ali-parizad",
"contributions": [
"code"
]
},
{
"login": "BensHamza",
"name": "Hamza Benslimane",
Expand All @@ -2365,6 +2375,36 @@
"bug",
"code"
]
},
{
"login": "Vasudeva-bit",
"name": "Vasudeva Kilaru",
"avatar_url": "https://avatars.githubusercontent.com/u/70791259?v=4",
"profile": "https://github.com/Vasudeva-bit",
"contributions": [
"code",
"doc"
]
},
{
"login": "geronimos",
"name": "Geronimo Bergk",
"avatar_url": "https://avatars.githubusercontent.com/u/29955288?s=96&v=4",
"profile": "https://github.com/geronimos",
"contributions": [
"bug",
"code"
]
},
{
"login": "julnow",
"name": "Julian Nowak",
"avatar_url": "https://avatars.githubusercontent.com/u/21206185?v=4",
"profile": "https://github.com/julnow",
"contributions": [
"bug",
"code"
]
}
]
}
2 changes: 1 addition & 1 deletion .github/workflows/cancel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@ jobs:
cancel:
runs-on: ubuntu-latest
steps:
- uses: styfle/cancel-workflow-action@0.11.0
- uses: styfle/cancel-workflow-action@0.12.0
with:
workflow_id: ${{ github.event.workflow.id }}
54 changes: 2 additions & 52 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -169,63 +169,13 @@ jobs:
- name: Publish code coverage
uses: codecov/codecov-action@v3

test-windows:
test-full:
needs: test-nosoftdeps
runs-on: windows-latest
strategy:
fail-fast: false # to not fail all combinations if just one fail
matrix:
python-version: ['3.8', '3.9', '3.10', '3.11']

steps:
- uses: actions/checkout@v4

- run: git remote set-branches origin 'main'

- run: git fetch --depth 1

- uses: conda-incubator/setup-miniconda@v2
with:
auto-update-conda: true
python-version: ${{ matrix.python-version }}
channels: anaconda, conda-forge,

- run: conda --version
- run: which python

- name: Fix windows paths
if: ${{ runner.os == 'Windows' }}
run: echo "C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append

- name: Install conda libpython
run: conda install -c anaconda libpython

- name: Install sktime and dependencies
run: python -m pip install .[all_extras_pandas2,dev]

- name: Show dependencies
run: python -m pip list

- name: Show available branches
run: git branch -a

- name: Run tests
run: |
mkdir -p testdir/
cp .coveragerc testdir/
cp setup.cfg testdir/
python -m pytest
- name: Publish code coverage
uses: codecov/codecov-action@v3

test-unix:
needs: test-nosoftdeps
strategy:
fail-fast: false # to not fail all combinations if just one fail
matrix:
python-version: ['3.8', '3.9', '3.10', '3.11']
os: [ubuntu-latest, macos-latest]
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
Expand Down
1 change: 1 addition & 0 deletions CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ sktime/classification/sklearn/_continuous_interval_tree.py @MatthewMiddlehurst
sktime/classification/sklearn/_rotation_forest.py @MatthewMiddlehurst

sktime/forecasting/adapters/_hcrystalball.py @MichalChromcak
sktime/forecasting/arch/_uarch.py @Vasudeva-bit
sktime/forecasting/arima.py @HYang1996
sktime/forecasting/base/adapters/_statsforecast.py @FedericoGarza
sktime/forecasting/bats.py @aiwalter
Expand Down
82 changes: 42 additions & 40 deletions CONTRIBUTORS.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ sktime is a library for time series analysis in Python. It provides a unified in

| Overview | |
|---|---|
| <nobr>**Open Source**</nobr> | [![BSD 3-clause](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://github.com/sktime/sktime/blob/main/LICENSE) |
| **Open&#160;Source** | [![BSD 3-clause](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://github.com/sktime/sktime/blob/main/LICENSE) |
| **Tutorials** | [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/sktime/sktime/main?filepath=examples) [![!youtube](https://img.shields.io/static/v1?logo=youtube&label=YouTube&message=tutorials&color=red)](https://www.youtube.com/playlist?list=PLKs3UgGjlWHqNzu0LEOeLKvnjvvest2d0) |
| **Community** | [![!discord](https://img.shields.io/static/v1?logo=discord&label=discord&message=chat&color=lightgreen)](https://discord.com/invite/54ACzaFsn7) [![!slack](https://img.shields.io/static/v1?logo=linkedin&label=LinkedIn&message=news&color=lightblue)](https://www.linkedin.com/company/scikit-time/) |
| **CI/CD** | [![github-actions](https://img.shields.io/github/actions/workflow/status/sktime/sktime/wheels.yml?logo=github)](https://github.com/sktime/sktime/actions/workflows/wheels.yml) [![!codecov](https://img.shields.io/codecov/c/github/sktime/sktime?label=codecov&logo=codecov)](https://codecov.io/gh/sktime/sktime) [![readthedocs](https://img.shields.io/readthedocs/sktime?logo=readthedocs)](https://www.sktime.net/en/latest/?badge=latest) [![platform](https://img.shields.io/conda/pn/conda-forge/sktime)](https://github.com/sktime/sktime) |
Expand Down
2 changes: 2 additions & 0 deletions docs/source/api_reference/datasets.rst
Original file line number Diff line number Diff line change
Expand Up @@ -105,8 +105,10 @@ use common utilities such as ``pandas.read_csv``
load_from_tsfile
load_from_tsfile_to_dataframe
load_from_ucr_tsv_to_dataframe
load_from_long_to_dataframe
load_tsf_to_dataframe
write_panel_to_tsfile
write_dataframe_to_tsfile
write_ndarray_to_tsfile
write_tabular_transformation_to_arff
write_results_to_uea_format
3 changes: 2 additions & 1 deletion docs/source/api_reference/forecasting.rst
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,7 @@ Trend forecasters
TrendForecaster
PolynomialTrendForecaster
STLForecaster
CurveFitForecaster

.. currentmodule:: sktime.forecasting.statsforecast

Expand Down Expand Up @@ -281,7 +282,7 @@ ARCH models

StatsForecastARCH
StatsForecastGARCH

ARCH

Structural time series models
-----------------------------
Expand Down
8 changes: 8 additions & 0 deletions docs/source/api_reference/transformations.rst
Original file line number Diff line number Diff line change
Expand Up @@ -491,6 +491,14 @@ Seasonality and Date-Time Features

FourierTransform

.. currentmodule:: sktime.transformations.series.peak

.. autosummary::
:toctree: auto_generated/
:template: class.rst

PeakTimeFeature

Auto-correlation series
~~~~~~~~~~~~~~~~~~~~~~~

Expand Down
54 changes: 19 additions & 35 deletions examples/01_forecasting.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -2296,7 +2296,7 @@
"metadata": {},
"outputs": [],
"source": [
"from sktime.forecasting.model_selection import temporal_train_test_split"
"from sktime.split import temporal_train_test_split"
]
},
{
Expand Down Expand Up @@ -2541,9 +2541,9 @@
"source": [
"from sktime.datasets import load_airline\n",
"from sktime.forecasting.base import ForecastingHorizon\n",
"from sktime.forecasting.model_selection import temporal_train_test_split\n",
"from sktime.forecasting.naive import NaiveForecaster\n",
"from sktime.performance_metrics.forecasting import mean_absolute_percentage_error"
"from sktime.performance_metrics.forecasting import mean_absolute_percentage_error\n",
"from sktime.split import temporal_train_test_split"
]
},
{
Expand Down Expand Up @@ -2599,9 +2599,9 @@
"source": [
"from sktime.datasets import load_airline\n",
"from sktime.forecasting.base import ForecastingHorizon\n",
"from sktime.forecasting.model_selection import temporal_train_test_split\n",
"from sktime.forecasting.naive import NaiveForecaster\n",
"from sktime.performance_metrics.forecasting import MeanAbsolutePercentageError"
"from sktime.performance_metrics.forecasting import MeanAbsolutePercentageError\n",
"from sktime.split import temporal_train_test_split"
]
},
{
Expand Down Expand Up @@ -3010,7 +3010,7 @@
"source": [
"# from sktime.datasets import load_airline\n",
"# from sktime.forecasting.ets import AutoETS\n",
"# from sktime.forecasting.model_selection import ExpandingWindowSplitter\n",
"# from sktime.split import ExpandingWindowSplitter\n",
"# from sktime.utils.plotting import plot_series"
]
},
Expand Down Expand Up @@ -3076,7 +3076,7 @@
"source": [
"from sktime.forecasting.arima import AutoARIMA\n",
"from sktime.forecasting.model_evaluation import evaluate\n",
"from sktime.forecasting.model_selection import ExpandingWindowSplitter"
"from sktime.split import ExpandingWindowSplitter"
]
},
{
Expand Down Expand Up @@ -4579,8 +4579,8 @@
"# imports necessary for this chapter\n",
"from sktime.datasets import load_airline\n",
"from sktime.forecasting.base import ForecastingHorizon\n",
"from sktime.forecasting.model_selection import temporal_train_test_split\n",
"from sktime.performance_metrics.forecasting import mean_absolute_percentage_error\n",
"from sktime.split import temporal_train_test_split\n",
"from sktime.utils.plotting import plot_series\n",
"\n",
"# data loading for illustration (see section 1 for explanation)\n",
Expand Down Expand Up @@ -5214,8 +5214,8 @@
"# imports necessary for this chapter\n",
"from sktime.datasets import load_airline\n",
"from sktime.forecasting.base import ForecastingHorizon\n",
"from sktime.forecasting.model_selection import temporal_train_test_split\n",
"from sktime.performance_metrics.forecasting import mean_absolute_percentage_error\n",
"from sktime.split import temporal_train_test_split\n",
"from sktime.utils.plotting import plot_series\n",
"\n",
"# data loading for illustration (see section 1 for explanation)\n",
Expand Down Expand Up @@ -5852,10 +5852,8 @@
"from sklearn.neighbors import KNeighborsRegressor\n",
"\n",
"from sktime.forecasting.compose import make_reduction\n",
"from sktime.forecasting.model_selection import (\n",
" ForecastingGridSearchCV,\n",
" SlidingWindowSplitter,\n",
")"
"from sktime.forecasting.model_selection import ForecastingGridSearchCV\n",
"from sktime.split import SlidingWindowSplitter"
]
},
{
Expand Down Expand Up @@ -5993,10 +5991,8 @@
"from sklearn.neighbors import KNeighborsRegressor\n",
"\n",
"from sktime.forecasting.compose import make_reduction\n",
"from sktime.forecasting.model_selection import (\n",
" ForecastingGridSearchCV,\n",
" SlidingWindowSplitter,\n",
")"
"from sktime.forecasting.model_selection import ForecastingGridSearchCV\n",
"from sktime.split import SlidingWindowSplitter"
]
},
{
Expand Down Expand Up @@ -6380,10 +6376,8 @@
"metadata": {},
"outputs": [],
"source": [
"from sktime.forecasting.model_selection import (\n",
" ForecastingGridSearchCV,\n",
" SlidingWindowSplitter,\n",
")"
"from sktime.forecasting.model_selection import ForecastingGridSearchCV\n",
"from sktime.split import SlidingWindowSplitter"
]
},
{
Expand Down Expand Up @@ -6517,11 +6511,9 @@
"\n",
"from sktime.datasets import load_airline\n",
"from sktime.forecasting.compose import TransformedTargetForecaster\n",
"from sktime.forecasting.model_selection import (\n",
" ForecastingGridSearchCV,\n",
" SlidingWindowSplitter,\n",
")\n",
"from sktime.forecasting.model_selection import ForecastingGridSearchCV\n",
"from sktime.forecasting.naive import NaiveForecaster\n",
"from sktime.split import SlidingWindowSplitter\n",
"from sktime.transformations.compose import OptionalPassthrough\n",
"from sktime.transformations.series.adapt import TabularToSeriesAdaptor\n",
"from sktime.transformations.series.detrend import Deseasonalizer"
Expand Down Expand Up @@ -6690,23 +6682,15 @@
{
"cell_type": "code",
"execution_count": 288,
"metadata": {
"pycharm": {
"name": "#%%\n"
}
},
"metadata": {},
"outputs": [],
"source": [
"hedge_expert = NormalHedgeEnsemble(n_estimators=3, loss_func=mean_squared_error)"
]
},
{
"cell_type": "markdown",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"metadata": {},
"source": [
"We can then create the forecaster by defining the individual forecasters and specifying the `PredictionWeightedEnsembler` we are using. Then by fitting our forecasters and performing updates and prediction with the `update_predict` function, we get:"
]
Expand Down
4 changes: 3 additions & 1 deletion examples/01a_forecasting_sklearn.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@
"from sklearn.model_selection import train_test_split\n",
"\n",
"from sktime.datasets import load_airline\n",
"from sktime.forecasting.model_selection import temporal_train_test_split\n",
"from sktime.split import temporal_train_test_split\n",
"from sktime.utils.plotting import plot_series"
]
},
Expand Down Expand Up @@ -166,6 +166,8 @@
"outputs": [],
"source": [
"# slightly modified code from the M4 competition\n",
"\n",
"\n",
"def split_into_train_test(data, in_num, fh):\n",
" \"\"\"\n",
" Splits the series into train and test sets.\n",
Expand Down
Loading

0 comments on commit 7bdd05f

Please sign in to comment.