diff --git a/README.md b/README.md index 23c8abd0..2fd1f0b6 100644 --- a/README.md +++ b/README.md @@ -152,7 +152,7 @@ ts.load_series(utils.search_path("eeg-alcohol")) ts.normalize(normalizer="z_score") # plot a subset of time series -ts.plot(input_data=ts.data, nbr_series=9, nbr_val=100, save_path="./imputegap/assets") +ts.plot(input_data=ts.data, nbr_series=9, nbr_val=100, save_path="./imputegap_assets") # print a subset of time series ts.print(nbr_series=6, nbr_val=20) @@ -190,7 +190,7 @@ ts.normalize(normalizer="z_score") ts_m = ts.Contamination.missing_completely_at_random(ts.data, rate_dataset=0.2, rate_series=0.4, block_size=10, seed=True) # [OPTIONAL] plot the contaminated time series -ts.plot(ts.data, ts_m, nbr_series=9, subplot=True, save_path="./imputegap/assets") +ts.plot(ts.data, ts_m, nbr_series=9, subplot=True, save_path="./imputegap_assets") ``` --- @@ -236,7 +236,7 @@ imputer.score(ts.data, imputer.recov_data) ts.print_results(imputer.metrics) # plot the recovered time series -ts.plot(input_data=ts.data, incomp_data=ts_m, recov_data=imputer.recov_data, nbr_series=9, subplot=True, save_path="./imputegap/assets") +ts.plot(input_data=ts.data, incomp_data=ts_m, recov_data=imputer.recov_data, nbr_series=9, subplot=True, save_path="./imputegap_assets") ``` --- @@ -275,7 +275,7 @@ imputer.score(ts.data, imputer.recov_data) ts.print_results(imputer.metrics) # plot the recovered time series -ts.plot(input_data=ts.data, incomp_data=ts_m, recov_data=imputer.recov_data, nbr_series=9, subplot=True, save_path="./imputegap/assets", display=True) +ts.plot(input_data=ts.data, incomp_data=ts_m, recov_data=imputer.recov_data, nbr_series=9, subplot=True, save_path="./imputegap_assets", display=True) # save hyperparameters utils.save_optimization(optimal_params=imputer.parameters, algorithm=imputer.algorithm, dataset="eeg-alcohol", optimizer="ray_tune") @@ -343,7 +343,7 @@ ts = TimeSeries() print(f"ImputeGAP downstream models for forcasting : {ts.downstream_models}") # load and normalize the timeseries -ts.load_series(utils.search_path("chlorine")) +ts.load_series(utils.search_path("forecast-economy")) ts.normalize(normalizer="min_max") # contaminate the time series @@ -354,7 +354,7 @@ imputer = Imputation.MatrixCompletion.CDRec(ts_m) imputer.impute() # compute print the downstream results -downstream_config = {"task": "forecast", "model": "prophet"} +downstream_config = {"task": "forecast", "model": "hw-add"} imputer.score(ts.data, imputer.recov_data, downstream=downstream_config) ts.print_results(imputer.downstream_metrics, algorithm=imputer.algorithm) ``` diff --git a/build/lib/imputegap/runner_explainer.py b/build/lib/imputegap/runner_explainer.py index 07c7709d..c92f2784 100644 --- a/build/lib/imputegap/runner_explainer.py +++ b/build/lib/imputegap/runner_explainer.py @@ -9,7 +9,7 @@ ts_1.load_series(utils.search_path("eeg-alcohol")) # 3. call the explanation of your dataset with a specific algorithm to gain insight on the Imputation results -shap_values, shap_details = Explainer.shap_explainer(input_data=ts_1.data, extractor="pycatch22", pattern="mcar", missing_rate=0.25, limit_ratio=1, split_ratio=0.7, file_name="eeg-alcohol", algorithm="cdrec") +shap_values, shap_details = Explainer.shap_explainer(input_data=ts_1.data, extractor="pycatch22", pattern="mcar", missing_rate=0.25, rate_dataset=1, training_ratio=0.7, file_name="eeg-alcohol", algorithm="cdrec") # [OPTIONAL] print the results with the impact of each feature. Explainer.print(shap_values, shap_details) \ No newline at end of file diff --git a/docs/generation/build/doctrees/downstream.doctree b/docs/generation/build/doctrees/downstream.doctree index 71d6b8bb..d13e9132 100644 Binary files a/docs/generation/build/doctrees/downstream.doctree and b/docs/generation/build/doctrees/downstream.doctree differ diff --git a/docs/generation/build/doctrees/environment.pickle b/docs/generation/build/doctrees/environment.pickle index 4a79c7cf..4f08acc2 100644 Binary files a/docs/generation/build/doctrees/environment.pickle and b/docs/generation/build/doctrees/environment.pickle differ diff --git a/docs/generation/build/doctrees/imputegap.explainer.doctree b/docs/generation/build/doctrees/imputegap.explainer.doctree index e2b61811..039e85fd 100644 Binary files a/docs/generation/build/doctrees/imputegap.explainer.doctree and b/docs/generation/build/doctrees/imputegap.explainer.doctree differ diff --git a/docs/generation/build/doctrees/imputegap.imputation.doctree b/docs/generation/build/doctrees/imputegap.imputation.doctree index f67d5c7f..2b046778 100644 Binary files a/docs/generation/build/doctrees/imputegap.imputation.doctree and b/docs/generation/build/doctrees/imputegap.imputation.doctree differ diff --git a/docs/generation/build/doctrees/imputegap.manager.doctree b/docs/generation/build/doctrees/imputegap.manager.doctree index a5811268..3c95cf25 100644 Binary files a/docs/generation/build/doctrees/imputegap.manager.doctree and b/docs/generation/build/doctrees/imputegap.manager.doctree differ diff --git a/docs/generation/build/doctrees/imputegap.utils.doctree b/docs/generation/build/doctrees/imputegap.utils.doctree index 11117dac..b83f15ad 100644 Binary files a/docs/generation/build/doctrees/imputegap.utils.doctree and b/docs/generation/build/doctrees/imputegap.utils.doctree differ diff --git a/docs/generation/build/doctrees/tutorials.doctree b/docs/generation/build/doctrees/tutorials.doctree index 33f2d749..5324b628 100644 Binary files a/docs/generation/build/doctrees/tutorials.doctree and b/docs/generation/build/doctrees/tutorials.doctree differ diff --git a/docs/generation/build/html/downstream.html b/docs/generation/build/html/downstream.html index df9b5bc1..00f5ffee 100644 --- a/docs/generation/build/html/downstream.html +++ b/docs/generation/build/html/downstream.html @@ -282,7 +282,7 @@
Handle parameters and set variables to launch the SHAP model.
Whether to use a seed for reproducibility (default is True).
Limitation on the number of series for the model (default is 1).
+Limitation on the number of series for the model (default is 1).
Limitation on the training series for the model (default is 0.6).
+Limitation on the training series for the model (default is 0.6).
Name of the dataset file (default is ‘ts’).
config_contamination()
config_forecaster()
config_impute_algorithm()
display_title()
list_of_algorithms()
list_of_datasets()
list_of_downstreams()
list_of_downstreams_darts()
list_of_downstreams_sktime()
list_of_optimizers()
list_of_patterns()
load_parameters()
Perform imputation using the STMVL algorithm.
+Perform imputation using the MICE algorithm.
Whether to use user-defined or default parameters (default is True).
Parameters of the STMVL algorithm, if None, default ones are loaded.
+Parameters of the MICE algorithm, if None, default ones are loaded.
Algorithm parameters:
Maximum number of imputation rounds to perform before returning the imputations computed during the final round. (default is 3).
@@ -1871,10 +1871,12 @@++
- selfMICE
The object with recov_data set.
>>> mxgboost_imputer = Imputation.MachineLearning.MICE(incomp_data)
+>>> mxgboost_imputer = Imputation.MachineLearning.XGBOOST(incomp_data)
>>> mxgboost_imputer.impute() # default parameters for imputation > or
>>> mxgboost_imputer.impute(user_def=True, params={"n_estimators":3, "seed": 42}) # user defined > or
>>> mxgboost_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
@@ -3114,10 +3116,10 @@ Returns¶
Example¶
->>> trmf_imputer = Imputation.MatrixCompletion.SVT(incomp_data)
->>> trmf_imputer.impute() # default parameters for imputation > or
->>> trmf_imputer.impute(params={"lags":[], "K":-1, "lambda_f":1.0, "lambda_x":1.0, "lambda_w":1.0, "eta":1.0, "alpha":1000.0, "max_iter":100}) # user-defined > or
->>> trmf_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
+>>> trmf_imputer = Imputation.MatrixCompletion.TRMF(incomp_data)
+>>> trmf_imputer.impute()
+>>> trmf_imputer.impute(params={"lags":[], "K":-1, "lambda_f":1.0, "lambda_x":1.0, "lambda_w":1.0, "eta":1.0, "alpha":1000.0, "max_iter":100})
+>>> trmf_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"})
>>> recov_data = trmf_imputer.recov_data
diff --git a/docs/generation/build/html/imputegap.manager.html b/docs/generation/build/html/imputegap.manager.html
index 7f311397..fcf17dd7 100644
--- a/docs/generation/build/html/imputegap.manager.html
+++ b/docs/generation/build/html/imputegap.manager.html
@@ -636,7 +636,7 @@ Returns¶
-
-plot(input_data, incomp_data=None, recov_data=None, nbr_series=None, nbr_val=None, series_range=None, subplot=False, size=(16, 8), save_path='./imputegap/assets', display=True)[source]¶
+plot(input_data, incomp_data=None, recov_data=None, nbr_series=None, nbr_val=None, series_range=None, subplot=False, size=(16, 8), save_path='./imputegap_assets', display=True)[source]¶
Plot the time series data, including raw, contaminated, or imputed data.
Parameters¶
diff --git a/docs/generation/build/html/imputegap.utils.html b/docs/generation/build/html/imputegap.utils.html
index f897a19f..a3d380c7 100644
--- a/docs/generation/build/html/imputegap.utils.html
+++ b/docs/generation/build/html/imputegap.utils.html
@@ -315,12 +315,34 @@ Returns¶
+
+-
+imputegap.tools.utils.config_forecaster(model, params)[source]¶
+Configure and execute forecaster model for downstream analytics
+
+Parameters¶
+
+- modelstr
name of the forcaster model
+
+- paramslist of params
List of paramaters for a forcaster model
+
+
+
+
+Returns¶
+
+- Forecaster object (SKTIME/DART)
Forecaster object for downstream analytics
+
+
+
+
+
-
imputegap.tools.utils.config_impute_algorithm(incomp_data, algorithm)[source]¶
Configure and execute algorithm for selected imputation imputer and pattern.
-
-Parameters¶
+
+Parameters¶
- incomp_dataTimeSeries
TimeSeries object containing dataset.
@@ -328,8 +350,8 @@ Parameters¶<
-
-Returns¶
+
+Returns¶
- BaseImputer
Configured imputer instance with optimal parameters.
@@ -341,8 +363,8 @@ Returns¶
-
imputegap.tools.utils.display_title(title='Master Thesis', aut='Quentin Nater', lib='ImputeGAP', university='University Fribourg')[source]¶
Display the title and author information.
-
-Parameters¶
+
+Parameters¶
- titlestr, optional
The title of the thesis (default is “Master Thesis”).
@@ -354,8 +376,8 @@ Parameters¶<
-
-Returns¶
+
+Returns¶
None
@@ -375,6 +397,16 @@ Returns¶
imputegap.tools.utils.list_of_downstreams()[source]¶
+
+
+
+
-
imputegap.tools.utils.list_of_optimizers()[source]¶
@@ -389,8 +421,8 @@ Returns¶
-
imputegap.tools.utils.load_parameters(query: str = 'default', algorithm: str = 'cdrec', dataset: str = 'chlorine', optimizer: str = 'b', path=None)[source]¶
Load default or optimal parameters for algorithms from a TOML file.
-
-Parameters¶
+
+Parameters¶
- querystr, optional
‘default’ or ‘optimal’ to load default or optimal parameters (default is “default”).
@@ -404,8 +436,8 @@ Parameters¶<
-
-Returns¶
+
+Returns¶
-
-Returns¶
+
+Returns¶
- ctypes.CDLL
The loaded shared library object.
@@ -439,8 +471,8 @@ Returns¶
-
imputegap.tools.utils.save_optimization(optimal_params, algorithm='cdrec', dataset='', optimizer='b', file_name=None)[source]¶
Save the optimization parameters to a TOML file for later use without recomputing.
-
-Parameters¶
+
+Parameters¶
- optimal_paramsdict
Dictionary of the optimal parameters.
@@ -454,8 +486,8 @@ Parameters¶<
-
-Returns¶
+
+Returns¶
None
@@ -464,15 +496,15 @@ Returns¶
imputegap.tools.utils.search_path(set_name='test')[source]¶
Find the accurate path for loading test files.
-
-Parameters¶
+
+Parameters¶
- set_namestr, optional
Name of the dataset (default is “test”).
-
-Returns¶
+
+Returns¶
- str
The correct file path for the dataset.
@@ -484,8 +516,8 @@ Returns¶
imputegap.tools.utils.verification_limitation(percentage, low_limit=0.01, high_limit=1.0)[source]¶
Format and verify that the percentage given by the user is within acceptable bounds.
-
-Parameters¶
+
+Parameters¶
- percentagefloat
The percentage value to be checked and potentially adjusted.
@@ -495,8 +527,8 @@ Parameters¶
-
-Returns¶
+
+Returns¶
- float
Adjusted percentage based on the limits.
@@ -582,11 +614,14 @@ Notes¶
- Submodule Documentation
- imputegap.tools.utils module
config_contamination()
+config_forecaster()
config_impute_algorithm()
display_title()
list_of_algorithms()
list_of_datasets()
list_of_downstreams()
+list_of_downstreams_darts()
+list_of_downstreams_sktime()
list_of_optimizers()
list_of_patterns()
load_parameters()
diff --git a/docs/generation/build/html/modules/imputegap/recovery/benchmark.html b/docs/generation/build/html/modules/imputegap/recovery/benchmark.html
index 9ca4fce8..749ad202 100644
--- a/docs/generation/build/html/modules/imputegap/recovery/benchmark.html
+++ b/docs/generation/build/html/modules/imputegap/recovery/benchmark.html
@@ -390,10 +390,13 @@ Source code for imputegap.recovery.benchmark
# Add scores and times
for score_key, v in level_value["scores"].items():
+ if v is None :
+ v = 0
merger["scores"][score_key] = (merger["scores"].get(score_key, 0) + v / count)
for time_key, time_value in level_value["times"].items():
- merger["times"][time_key] = (
- merger["times"].get(time_key, 0) + time_value / count)
+ if time_value is None :
+ time_value = 0
+ merger["times"][time_key] = (merger["times"].get(time_key, 0) + time_value / count)
results_avg.append(merged_dict)
diff --git a/docs/generation/build/html/modules/imputegap/recovery/explainer.html b/docs/generation/build/html/modules/imputegap/recovery/explainer.html
index ea1f17e5..c048180f 100644
--- a/docs/generation/build/html/modules/imputegap/recovery/explainer.html
+++ b/docs/generation/build/html/modules/imputegap/recovery/explainer.html
@@ -696,7 +696,7 @@ Source code for imputegap.recovery.explainer
_, _, config = Explainer.load_configuration()
plots_categories = config[extractor]['categories']
- path_file = "./assets/shap/"
+ path_file = "./imputegap_assets/shap/"
if not os.path.exists(path_file):
path_file = "./imputegap" + path_file[1:]
@@ -925,7 +925,7 @@ Source code for imputegap.recovery.explainer
[docs]
def shap_explainer(input_data, algorithm="cdrec", params=None, extractor="pycatch", pattern="mcar", missing_rate=0.4,
- block_size=10, offset=0.1, seed=True, limit_ratio=1, split_ratio=0.6,
+ block_size=10, offset=0.1, seed=True, rate_dataset=1, training_ratio=0.6,
file_name="ts", display=False, verbose=False):
"""
Handle parameters and set variables to launch the SHAP model.
@@ -950,9 +950,9 @@ Source code for imputegap.recovery.explainer
Size of the uncontaminated section at the beginning of the time series (default is 0.1).
seed : bool, optional
Whether to use a seed for reproducibility (default is True).
- limit_ratio : flaot, optional
+ rate_dataset : flaot, optional
Limitation on the number of series for the model (default is 1).
- split_ratio : flaot, optional
+ training_ratio : flaot, optional
Limitation on the training series for the model (default is 0.6).
file_name : str, optional
Name of the dataset file (default is 'ts').
@@ -978,18 +978,18 @@ Source code for imputegap.recovery.explainer
"""
start_time = time.time() # Record start time
- if limit_ratio < 0.05 or limit_ratio > 1:
+ if rate_dataset < 0.05 or rate_dataset > 1:
print("\nlimit percentage higher than 100%, reduce to 100% of the dataset")
- limit_ratio = 1
+ rate_dataset = 1
M = input_data.shape[0]
- limit = math.ceil(M * limit_ratio)
+ limit = math.ceil(M * rate_dataset)
- if split_ratio < 0.05 or split_ratio > 0.95:
+ if training_ratio < 0.05 or training_ratio > 0.95:
print("\nsplit ratio to small or to high, reduce to 60% of the dataset")
- split_ratio = 0.6
+ training_ratio = 0.6
- training_ratio = int(limit * split_ratio)
+ training_ratio = int(limit * training_ratio)
if limit > M:
limit = M
@@ -1008,7 +1008,7 @@ Source code for imputegap.recovery.explainer
input_data_matrices, obfuscated_matrices = [], []
output_metrics, output_rmse, input_params, input_params_full = [], [], [], []
- if extractor == "pycatch":
+ if extractor == "pycatch" or extractor == "pycatch22":
categories, features, _ = Explainer.load_configuration()
for current_series in range(0, limit):
@@ -1023,7 +1023,7 @@ Source code for imputegap.recovery.explainer
input_data_matrices.append(input_data)
obfuscated_matrices.append(incomp_data)
- if extractor == "pycatch":
+ if extractor == "pycatch" or extractor == "pycatch22":
catch_fct, descriptions = Explainer.extractor_pycatch(incomp_data, categories, features, False)
extracted_features = np.array(list(catch_fct.values()))
elif extractor == "tsfel":
diff --git a/docs/generation/build/html/modules/imputegap/recovery/imputation.html b/docs/generation/build/html/modules/imputegap/recovery/imputation.html
index 3c945555..b6834755 100644
--- a/docs/generation/build/html/modules/imputegap/recovery/imputation.html
+++ b/docs/generation/build/html/modules/imputegap/recovery/imputation.html
@@ -835,11 +835,11 @@ Source code for imputegap.recovery.imputation
Example
-------
- >>> interpolation_imputer = Imputation.Statistics.Interpolation(incomp_data)
- >>> interpolation_imputer.impute() # default parameters for imputation > or
- >>> interpolation_imputer.impute(user_def=True, params={"method":"linear", "poly_order":2}) # user-defined > or
- >>> interpolation_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
- >>> recov_data = interpolation_imputer.recov_data
+ >>> interpolation_imputer = Imputation.Statistics.Interpolation(incomp_data)
+ >>> interpolation_imputer.impute() # default parameters for imputation > or
+ >>> interpolation_imputer.impute(user_def=True, params={"method":"linear", "poly_order":2}) # user-defined > or
+ >>> interpolation_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
+ >>> recov_data = interpolation_imputer.recov_data
"""
if params is not None:
method, poly_order = self._check_params(user_def, params)
@@ -892,11 +892,11 @@ Source code for imputegap.recovery.imputation
Example
-------
- >>> knn_imputer = Imputation.Statistics.KNN(incomp_data)
- >>> knn_imputer.impute() # default parameters for imputation > or
- >>> knn_imputer.impute(user_def=True, params={'k': 5, 'weights': "uniform"}) # user-defined > or
- >>> knn_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
- >>> recov_data = knn_imputer.recov_data
+ >>> knn_imputer = Imputation.Statistics.KNN(incomp_data)
+ >>> knn_imputer.impute() # default parameters for imputation > or
+ >>> knn_imputer.impute(user_def=True, params={'k': 5, 'weights': "uniform"}) # user-defined > or
+ >>> knn_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
+ >>> recov_data = knn_imputer.recov_data
"""
if params is not None:
k, weights = self._check_params(user_def, params)
@@ -1043,11 +1043,11 @@ Source code for imputegap.recovery.imputation
Example
-------
- >>> cdrec_imputer = Imputation.MatrixCompletion.CDRec(incomp_data)
- >>> cdrec_imputer.impute() # default parameters for imputation > or
- >>> cdrec_imputer.impute(user_def=True, params={'rank': 5, 'epsilon': 0.01, 'iterations': 100}) # user-defined > or
- >>> cdrec_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "bayesian", "options": {"n_calls": 2}}) # automl with bayesian
- >>> recov_data = cdrec_imputer.recov_data
+ >>> cdrec_imputer = Imputation.MatrixCompletion.CDRec(incomp_data)
+ >>> cdrec_imputer.impute() # default parameters for imputation > or
+ >>> cdrec_imputer.impute(user_def=True, params={'rank': 5, 'epsilon': 0.01, 'iterations': 100}) # user-defined > or
+ >>> cdrec_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "bayesian", "options": {"n_calls": 2}}) # automl with bayesian
+ >>> recov_data = cdrec_imputer.recov_data
References
----------
@@ -1107,11 +1107,11 @@ Source code for imputegap.recovery.imputation
Example
-------
- >>> i_svd_imputer = Imputation.MatrixCompletion.IterativeSVD(incomp_data)
- >>> i_svd_imputer.impute() # default parameters for imputation > or
- >>> i_svd_imputer.impute(params={'rank': 5}) # user-defined > or
- >>> i_svd_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
- >>> recov_data = i_svd_imputer.recov_data
+ >>> i_svd_imputer = Imputation.MatrixCompletion.IterativeSVD(incomp_data)
+ >>> i_svd_imputer.impute() # default parameters for imputation > or
+ >>> i_svd_imputer.impute(params={'rank': 5}) # user-defined > or
+ >>> i_svd_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
+ >>> recov_data = i_svd_imputer.recov_data
References
----------
@@ -1170,11 +1170,11 @@ Source code for imputegap.recovery.imputation
Example
-------
- >>> grouse_imputer = Imputation.MatrixCompletion.GROUSE(incomp_data)
- >>> grouse_imputer.impute() # default parameters for imputation > or
- >>> grouse_imputer.impute(params={'max_rank': 5}) # user-defined > or
- >>> grouse_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
- >>> recov_data = grouse_imputer.recov_data
+ >>> grouse_imputer = Imputation.MatrixCompletion.GROUSE(incomp_data)
+ >>> grouse_imputer.impute() # default parameters for imputation > or
+ >>> grouse_imputer.impute(params={'max_rank': 5}) # user-defined > or
+ >>> grouse_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
+ >>> recov_data = grouse_imputer.recov_data
References
----------
@@ -1236,11 +1236,11 @@ Source code for imputegap.recovery.imputation
Example
-------
- >>> rosl_imputer = Imputation.MatrixCompletion.ROSL(incomp_data)
- >>> rosl_imputer.impute() # default parameters for imputation > or
- >>> rosl_imputer.impute(params={'rank': 5, 'regularization': 10}) # user-defined > or
- >>> rosl_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
- >>> recov_data = rosl_imputer.recov_data
+ >>> rosl_imputer = Imputation.MatrixCompletion.ROSL(incomp_data)
+ >>> rosl_imputer.impute() # default parameters for imputation > or
+ >>> rosl_imputer.impute(params={'rank': 5, 'regularization': 10}) # user-defined > or
+ >>> rosl_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
+ >>> recov_data = rosl_imputer.recov_data
References
----------
@@ -1298,11 +1298,11 @@ Source code for imputegap.recovery.imputation
Example
-------
- >>> soft_impute_imputer = Imputation.MatrixCompletion.SoftImpute(incomp_data)
- >>> soft_impute_imputer.impute() # default parameters for imputation > or
- >>> soft_impute_imputer.impute(params={'max_rank': 5}) # user-defined > or
- >>> soft_impute_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
- >>> recov_data = soft_impute_imputer.recov_data
+ >>> soft_impute_imputer = Imputation.MatrixCompletion.SoftImpute(incomp_data)
+ >>> soft_impute_imputer.impute() # default parameters for imputation > or
+ >>> soft_impute_imputer.impute(params={'max_rank': 5}) # user-defined > or
+ >>> soft_impute_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
+ >>> recov_data = soft_impute_imputer.recov_data
References
----------
@@ -1367,11 +1367,11 @@ Source code for imputegap.recovery.imputation
Example
-------
- >>> spirit_imputer = Imputation.MatrixCompletion.SPIRIT(incomp_data)
- >>> spirit_imputer.impute() # default parameters for imputation > or
- >>> spirit_imputer.impute(params={'k': 2, 'w': 5, 'lambda_value': 0.85}) # user-defined > or
- >>> spirit_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
- >>> recov_data = spirit_imputer.recov_data
+ >>> spirit_imputer = Imputation.MatrixCompletion.SPIRIT(incomp_data)
+ >>> spirit_imputer.impute() # default parameters for imputation > or
+ >>> spirit_imputer.impute(params={'k': 2, 'w': 5, 'lambda_value': 0.85}) # user-defined > or
+ >>> spirit_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
+ >>> recov_data = spirit_imputer.recov_data
References
----------
@@ -1430,11 +1430,11 @@ Source code for imputegap.recovery.imputation
Example
-------
- >>> svt_imputer = Imputation.MatrixCompletion.SVT(incomp_data)
- >>> svt_imputer.impute() # default parameters for imputation > or
- >>> svt_imputer.impute(params={'tau': 1}) # user-defined > or
- >>> svt_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
- >>> recov_data = svt_imputer.recov_data
+ >>> svt_imputer = Imputation.MatrixCompletion.SVT(incomp_data)
+ >>> svt_imputer.impute() # default parameters for imputation > or
+ >>> svt_imputer.impute(params={'tau': 1}) # user-defined > or
+ >>> svt_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
+ >>> recov_data = svt_imputer.recov_data
References
----------
@@ -1509,18 +1509,18 @@ Source code for imputegap.recovery.imputation
Example
-------
- >>> trmf_imputer = Imputation.MatrixCompletion.SVT(incomp_data)
- >>> trmf_imputer.impute() # default parameters for imputation > or
- >>> trmf_imputer.impute(params={"lags":[], "K":-1, "lambda_f":1.0, "lambda_x":1.0, "lambda_w":1.0, "eta":1.0, "alpha":1000.0, "max_iter":100}) # user-defined > or
- >>> trmf_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
- >>> recov_data = trmf_imputer.recov_data
+ >>> trmf_imputer = Imputation.MatrixCompletion.TRMF(incomp_data)
+ >>> trmf_imputer.impute()
+ >>> trmf_imputer.impute(params={"lags":[], "K":-1, "lambda_f":1.0, "lambda_x":1.0, "lambda_w":1.0, "eta":1.0, "alpha":1000.0, "max_iter":100})
+ >>> trmf_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"})
+ >>> recov_data = trmf_imputer.recov_data
References
----------
H.-F. Yu, N. Rao, and I. S. Dhillon, "Temporal Regularized Matrix Factorization for High-dimensional Time Series Prediction," in *Advances in Neural Information Processing Systems*, vol. 29, 2016. [Online]. Available: https://proceedings.neurips.cc/paper_files/paper/2016/file/85422afb467e9456013a2a51d4dff702-Paper.pdf
"""
if params is not None:
- lags, K, lambda_f, lambda_x, lambda_w, eta, alpha, max_iter = self._check_params(user_def, params)[0]
+ lags, K, lambda_f, lambda_x, lambda_w, eta, alpha, max_iter = self._check_params(user_def, params)
else:
lags, K, lambda_f, lambda_x, lambda_w, eta, alpha, max_iter = utils.load_parameters(query="default", algorithm=self.algorithm)
@@ -1604,11 +1604,11 @@ Source code for imputegap.recovery.imputation
Example
-------
- >>> mf_imputer = Imputation.MachineLearning.MissForest(incomp_data)
- >>> mf_imputer.impute() # default parameters for imputation > or
- >>> mf_imputer.impute(user_def=True, params={"n_estimators":10, "max_iter":3, "max_features":"sqrt", "seed": 42}) # user defined > or
- >>> mf_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
- >>> recov_data = mf_imputer.recov_data
+ >>> mf_imputer = Imputation.MachineLearning.MissForest(incomp_data)
+ >>> mf_imputer.impute() # default parameters for imputation > or
+ >>> mf_imputer.impute(user_def=True, params={"n_estimators":10, "max_iter":3, "max_features":"sqrt", "seed": 42}) # user defined > or
+ >>> mf_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
+ >>> recov_data = mf_imputer.recov_data
References
----------
@@ -1637,7 +1637,7 @@ Source code for imputegap.recovery.imputation
Methods
-------
impute(self, user_def=True, params=None):
- Perform imputation using the STMVL algorithm.
+ Perform imputation using the MICE algorithm.
"""
algorithm = "mice"
@@ -1650,33 +1650,33 @@ Source code for imputegap.recovery.imputation
Parameters
----------
user_def : bool, optional
- Whether to use user-defined or default parameters (default is True).
+ Whether to use user-defined or default parameters (default is True). \n
params : dict, optional
- Parameters of the STMVL algorithm, if None, default ones are loaded.
+ Parameters of the MICE algorithm, if None, default ones are loaded. \n
**Algorithm parameters:**
max_iter : int, optional
- Maximum number of imputation rounds to perform before returning the imputations computed during the final round. (default is 3).
+ Maximum number of imputation rounds to perform before returning the imputations computed during the final round. (default is 3). \n
tol : float, optional
- Tolerance of the stopping condition. (default is 0.001).
+ Tolerance of the stopping condition. (default is 0.001). \n
initial_strategy : str, optional
- Which strategy to use to initialize the missing values. {‘mean’, ‘median’, ‘most_frequent’, ‘constant’} (default is "means").
+ Which strategy to use to initialize the missing values. {‘mean’, ‘median’, ‘most_frequent’, ‘constant’} (default is "means"). \n
seed : int, optional
- The seed of the pseudo random number generator to use. Randomizes selection of estimator features (default is 42).
+ The seed of the pseudo random number generator to use. Randomizes selection of estimator features (default is 42). \n
Returns
-------
- self : MICE
- The object with `recov_data` set.
+ self : MICE
+ The object with `recov_data` set.
Example
-------
- >>> mice_imputer = Imputation.MachineLearning.MICE(incomp_data)
- >>> mice_imputer.impute() # default parameters for imputation > or
- >>> mice_imputer.impute(user_def=True, params={"max_iter":3, "tol":0.001, "initial_strategy":"mean", "seed": 42}) # user defined > or
- >>> mice_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
- >>> recov_data = mice_imputer.recov_data
+ >>> mice_imputer = Imputation.MachineLearning.MICE(incomp_data)
+ >>> mice_imputer.impute() # default parameters for imputation > or
+ >>> mice_imputer.impute(user_def=True, params={"max_iter":3, "tol":0.001, "initial_strategy":"mean", "seed": 42}) # user defined > or
+ >>> mice_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
+ >>> recov_data = mice_imputer.recov_data
References
----------
@@ -1736,11 +1736,11 @@ Source code for imputegap.recovery.imputation
Example
-------
- >>> mxgboost_imputer = Imputation.MachineLearning.MICE(incomp_data)
- >>> mxgboost_imputer.impute() # default parameters for imputation > or
- >>> mxgboost_imputer.impute(user_def=True, params={"n_estimators":3, "seed": 42}) # user defined > or
- >>> mxgboost_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
- >>> recov_data = mxgboost_imputer.recov_data
+ >>> mxgboost_imputer = Imputation.MachineLearning.XGBOOST(incomp_data)
+ >>> mxgboost_imputer.impute() # default parameters for imputation > or
+ >>> mxgboost_imputer.impute(user_def=True, params={"n_estimators":3, "seed": 42}) # user defined > or
+ >>> mxgboost_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
+ >>> recov_data = mxgboost_imputer.recov_data
References
----------
@@ -1797,11 +1797,11 @@ Source code for imputegap.recovery.imputation
Example
-------
- >>> iim_imputer = Imputation.MachineLearning.IIM(incomp_data)
- >>> iim_imputer.impute() # default parameters for imputation > or
- >>> iim_imputer.impute(user_def=True, params={'learning_neighbors': 10}) # user-defined > or
- >>> iim_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "bayesian", "options": {"n_calls": 2}}) # automl with bayesian
- >>> recov_data = iim_imputer.recov_data
+ >>> iim_imputer = Imputation.MachineLearning.IIM(incomp_data)
+ >>> iim_imputer.impute() # default parameters for imputation > or
+ >>> iim_imputer.impute(user_def=True, params={'learning_neighbors': 10}) # user-defined > or
+ >>> iim_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "bayesian", "options": {"n_calls": 2}}) # automl with bayesian
+ >>> recov_data = iim_imputer.recov_data
References
----------
@@ -1883,11 +1883,11 @@ Source code for imputegap.recovery.imputation
Example
-------
- >>> stmvl_imputer = Imputation.PatternSearch.STMVL(incomp_data)
- >>> stmvl_imputer.impute() # default parameters for imputation > or
- >>> stmvl_imputer.impute(user_def=True, params={'window_size': 7, 'learning_rate':0.01, 'gamma':0.85, 'alpha': 7}) # user-defined > or
- >>> stmvl_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "bayesian", "options": {"n_calls": 2}}) # automl with bayesian
- >>> recov_data = stmvl_imputer.recov_data
+ >>> stmvl_imputer = Imputation.PatternSearch.STMVL(incomp_data)
+ >>> stmvl_imputer.impute() # default parameters for imputation > or
+ >>> stmvl_imputer.impute(user_def=True, params={'window_size': 7, 'learning_rate':0.01, 'gamma':0.85, 'alpha': 7}) # user-defined > or
+ >>> stmvl_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "bayesian", "options": {"n_calls": 2}}) # automl with bayesian
+ >>> recov_data = stmvl_imputer.recov_data
References
----------
@@ -1949,11 +1949,11 @@ Source code for imputegap.recovery.imputation
Example
-------
- >>> dynammo_imputer = Imputation.PatternSearch.DynaMMo(incomp_data)
- >>> dynammo_imputer.impute() # default parameters for imputation > or
- >>> dynammo_imputer.impute(params={'h': 5, 'max_iteration': 100, 'approximation': True}) # user-defined > or
- >>> dynammo_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
- >>> recov_data = dynammo_imputer.recov_data
+ >>> dynammo_imputer = Imputation.PatternSearch.DynaMMo(incomp_data)
+ >>> dynammo_imputer.impute() # default parameters for imputation > or
+ >>> dynammo_imputer.impute(params={'h': 5, 'max_iteration': 100, 'approximation': True}) # user-defined > or
+ >>> dynammo_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
+ >>> recov_data = dynammo_imputer.recov_data
References
----------
@@ -2010,11 +2010,11 @@ Source code for imputegap.recovery.imputation
Example
-------
- >>> tkcm_imputer = Imputation.PatternSearch.TKCM(incomp_data)
- >>> tkcm_imputer.impute() # default parameters for imputation > or
- >>> tkcm_imputer.impute(params={'rank': 5}) # user-defined > or
- >>> tkcm_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
- >>> recov_data = tkcm_imputer.recov_data
+ >>> tkcm_imputer = Imputation.PatternSearch.TKCM(incomp_data)
+ >>> tkcm_imputer.impute() # default parameters for imputation > or
+ >>> tkcm_imputer.impute(params={'rank': 5}) # user-defined > or
+ >>> tkcm_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
+ >>> recov_data = tkcm_imputer.recov_data
References
----------
@@ -2106,11 +2106,11 @@ Source code for imputegap.recovery.imputation
Example
-------
- >>> mrnn_imputer = Imputation.DeepLearning.MRNN(incomp_data)
- >>> mrnn_imputer.impute() # default parameters for imputation > or
- >>> mrnn_imputer.impute(user_def=True, params={'hidden_dim': 10, 'learning_rate':0.01, 'iterations':50, 'sequence_length': 7}) # user-defined > or
- >>> mrnn_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "bayesian", "options": {"n_calls": 2}}) # automl with bayesian
- >>> recov_data = mrnn_imputer.recov_data
+ >>> mrnn_imputer = Imputation.DeepLearning.MRNN(incomp_data)
+ >>> mrnn_imputer.impute() # default parameters for imputation > or
+ >>> mrnn_imputer.impute(user_def=True, params={'hidden_dim': 10, 'learning_rate':0.01, 'iterations':50, 'sequence_length': 7}) # user-defined > or
+ >>> mrnn_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "bayesian", "options": {"n_calls": 2}}) # automl with bayesian
+ >>> recov_data = mrnn_imputer.recov_data
References
----------
@@ -2175,11 +2175,11 @@ Source code for imputegap.recovery.imputation
Example
-------
- >>> brits_imputer = Imputation.DeepLearning.BRITS(incomp_data)
- >>> brits_imputer.impute() # default parameters for imputation > or
- >>> brits_imputer.impute(params={"model": "brits", "epoch": 2, "batch_size": 10, "nbr_features": 1, "hidden_layer": 64}) # user-defined > or
- >>> brits_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
- >>> recov_data = brits_imputer.recov_data
+ >>> brits_imputer = Imputation.DeepLearning.BRITS(incomp_data)
+ >>> brits_imputer.impute() # default parameters for imputation > or
+ >>> brits_imputer.impute(params={"model": "brits", "epoch": 2, "batch_size": 10, "nbr_features": 1, "hidden_layer": 64}) # user-defined > or
+ >>> brits_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
+ >>> recov_data = brits_imputer.recov_data
References
----------
@@ -2239,11 +2239,11 @@ Source code for imputegap.recovery.imputation
Example
-------
- >>> deep_mvi_imputer = Imputation.DeepLearning.DeepMVI(incomp_data)
- >>> deep_mvi_imputer.impute() # default parameters for imputation > or
- >>> deep_mvi_imputer.impute(params={"max_epoch": 10, "patience": 2}) # user-defined > or
- >>> deep_mvi_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
- >>> recov_data = deep_mvi_imputer.recov_data
+ >>> deep_mvi_imputer = Imputation.DeepLearning.DeepMVI(incomp_data)
+ >>> deep_mvi_imputer.impute() # default parameters for imputation > or
+ >>> deep_mvi_imputer.impute(params={"max_epoch": 10, "patience": 2}) # user-defined > or
+ >>> deep_mvi_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
+ >>> recov_data = deep_mvi_imputer.recov_data
References
----------
@@ -2315,11 +2315,11 @@ Source code for imputegap.recovery.imputation
Example
-------
- >>> mpin_imputer = Imputation.DeepLearning.MPIN(incomp_data)
- >>> mpin_imputer.impute() # default parameters for imputation > or
- >>> mpin_imputer.impute(params={"incre_mode": "data+state", "window": 1, "k": 15, "learning_rate": 0.001, "weight_decay": 0.2, "epochs": 6, "num_of_iteration": 6, "threshold": 0.50, "base": "GCN"}) # user-defined > or
- >>> mpin_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
- >>> recov_data = mpin_imputer.recov_data
+ >>> mpin_imputer = Imputation.DeepLearning.MPIN(incomp_data)
+ >>> mpin_imputer.impute() # default parameters for imputation > or
+ >>> mpin_imputer.impute(params={"incre_mode": "data+state", "window": 1, "k": 15, "learning_rate": 0.001, "weight_decay": 0.2, "epochs": 6, "num_of_iteration": 6, "threshold": 0.50, "base": "GCN"}) # user-defined > or
+ >>> mpin_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
+ >>> recov_data = mpin_imputer.recov_data
References
----------
@@ -2382,11 +2382,11 @@ Source code for imputegap.recovery.imputation
Example
-------
- >>> pristi_imputer = Imputation.DeepLearning.PRISTI(incomp_data)
- >>> pristi_imputer.impute() # default parameters for imputation > or
- >>> pristi_imputer.impute(params={"target_strategy":"hybrid", "unconditional":True, "seed":42, "device":"cpu"}) # user-defined > or
- >>> pristi_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
- >>> recov_data = pristi_imputer.recov_data
+ >>> pristi_imputer = Imputation.DeepLearning.PRISTI(incomp_data)
+ >>> pristi_imputer.impute() # default parameters for imputation > or
+ >>> pristi_imputer.impute(params={"target_strategy":"hybrid", "unconditional":True, "seed":42, "device":"cpu"}) # user-defined > or
+ >>> pristi_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
+ >>> recov_data = pristi_imputer.recov_data
References
----------
@@ -2455,11 +2455,11 @@ Source code for imputegap.recovery.imputation
Example
-------
- >>> miss_net_imputer = Imputation.DeepLearning.MissNet(incomp_data)
- >>> miss_net_imputer.impute() # default parameters for imputation > or
- >>> miss_net_imputer.impute(user_def=True, params={'alpha': 0.5, 'beta':0.1, 'L':10, 'n_cl': 1, 'max_iteration':20, 'tol':5, 'random_init':False}) # user-defined > or
- >>> miss_net_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # auto-ml with ray_tune
- >>> recov_data = miss_net_imputer.recov_data
+ >>> miss_net_imputer = Imputation.DeepLearning.MissNet(incomp_data)
+ >>> miss_net_imputer.impute() # default parameters for imputation > or
+ >>> miss_net_imputer.impute(user_def=True, params={'alpha': 0.5, 'beta':0.1, 'L':10, 'n_cl': 1, 'max_iteration':20, 'tol':5, 'random_init':False}) # user-defined > or
+ >>> miss_net_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # auto-ml with ray_tune
+ >>> recov_data = miss_net_imputer.recov_data
References
----------
@@ -2528,11 +2528,11 @@ Source code for imputegap.recovery.imputation
Example
-------
- >>> gain_imputer = Imputation.DeepLearning.GAIN(incomp_data)
- >>> gain_imputer.impute() # default parameters for imputation > or
- >>> gain_imputer.impute(user_def=True, params={"batch_size":32, "hint_rate":0.9, "alpha":10, "epoch":100}) # user defined> or
- >>> gain_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # auto-ml with ray_tune
- >>> recov_data = gain_imputer.recov_data
+ >>> gain_imputer = Imputation.DeepLearning.GAIN(incomp_data)
+ >>> gain_imputer.impute() # default parameters for imputation > or
+ >>> gain_imputer.impute(user_def=True, params={"batch_size":32, "hint_rate":0.9, "alpha":10, "epoch":100}) # user defined> or
+ >>> gain_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # auto-ml with ray_tune
+ >>> recov_data = gain_imputer.recov_data
References
----------
@@ -2613,11 +2613,11 @@ Source code for imputegap.recovery.imputation
Example
-------
- >>> grin_imputer = Imputation.DeepLearning.GRIN(incomp_data)
- >>> grin_imputer.impute() # default parameters for imputation > or
- >>> grin_imputer.impute(user_def=True, params={"d_hidden":32, "lr":0.001, "batch_size":32, "window":1, "alpha":10.0, "patience":4, "epochs":20, "workers":2}) # user defined> or
- >>> grin_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # auto-ml with ray_tune
- >>> recov_data = grin_imputer.recov_data
+ >>> grin_imputer = Imputation.DeepLearning.GRIN(incomp_data)
+ >>> grin_imputer.impute() # default parameters for imputation > or
+ >>> grin_imputer.impute(user_def=True, params={"d_hidden":32, "lr":0.001, "batch_size":32, "window":1, "alpha":10.0, "patience":4, "epochs":20, "workers":2}) # user defined> or
+ >>> grin_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # auto-ml with ray_tune
+ >>> recov_data = grin_imputer.recov_data
References
----------
@@ -2704,11 +2704,11 @@ Source code for imputegap.recovery.imputation
Example
-------
- >>> bay_otide_imputer = Imputation.DeepLearning.BayOTIDE(incomp_data)
- >>> bay_otide_imputer.impute() # default parameters for imputation > or
- >>> bay_otide_imputer.impute(user_def=True, params={"K_trend":20, "K_season":2, "n_season":5, "K_bias":1, "time_scale":1, "a0":0.6, "b0":2.5, "v":0.5}) # user defined> or
- >>> bay_otide_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # auto-ml with ray_tune
- >>> recov_data = bay_otide_imputer.recov_data
+ >>> bay_otide_imputer = Imputation.DeepLearning.BayOTIDE(incomp_data)
+ >>> bay_otide_imputer.impute() # default parameters for imputation > or
+ >>> bay_otide_imputer.impute(user_def=True, params={"K_trend":20, "K_season":2, "n_season":5, "K_bias":1, "time_scale":1, "a0":0.6, "b0":2.5, "v":0.5}) # user defined> or
+ >>> bay_otide_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # auto-ml with ray_tune
+ >>> recov_data = bay_otide_imputer.recov_data
References
----------
@@ -2776,11 +2776,11 @@ Source code for imputegap.recovery.imputation
Example
-------
- >>> hkmf_t_imputer = Imputation.DeepLearning.HKMF_T(incomp_data)
- >>> hkmf_t_imputer.impute() # default parameters for imputation > or
- >>> hkmf_t_imputer.impute(user_def=True, params={"tags":None, "data_names":None, "epoch":5}) # user defined> or
- >>> hkmf_t_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # auto-ml with ray_tune
- >>> recov_data = hkmf_t_imputer.recov_data
+ >>> hkmf_t_imputer = Imputation.DeepLearning.HKMF_T(incomp_data)
+ >>> hkmf_t_imputer.impute() # default parameters for imputation > or
+ >>> hkmf_t_imputer.impute(user_def=True, params={"tags":None, "data_names":None, "epoch":5}) # user defined> or
+ >>> hkmf_t_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # auto-ml with ray_tune
+ >>> recov_data = hkmf_t_imputer.recov_data
References
----------
@@ -2869,11 +2869,11 @@ Source code for imputegap.recovery.imputation
Example
-------
- >>> bit_graph_imputer = Imputation.DeepLearning.BitGraph(incomp_data)
- >>> bit_graph_imputer.impute() # default parameters for imputation > or
- >>> bit_graph_imputer.impute(user_def=True, params={"node_number":-1, "kernel_set":[1], "dropout":0.1, "subgraph_size":5, "node_dim":3, "seq_len":1, "lr":0.001, "epoch":10, "seed":42}) # user defined> or
- >>> bit_graph_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # auto-ml with ray_tune
- >>> recov_data = bit_graph_imputer.recov_data
+ >>> bit_graph_imputer = Imputation.DeepLearning.BitGraph(incomp_data)
+ >>> bit_graph_imputer.impute() # default parameters for imputation > or
+ >>> bit_graph_imputer.impute(user_def=True, params={"node_number":-1, "kernel_set":[1], "dropout":0.1, "subgraph_size":5, "node_dim":3, "seq_len":1, "lr":0.001, "epoch":10, "seed":42}) # user defined> or
+ >>> bit_graph_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # auto-ml with ray_tune
+ >>> recov_data = bit_graph_imputer.recov_data
References
----------
diff --git a/docs/generation/build/html/modules/imputegap/recovery/manager.html b/docs/generation/build/html/modules/imputegap/recovery/manager.html
index 8cd958c5..a8d3df1a 100644
--- a/docs/generation/build/html/modules/imputegap/recovery/manager.html
+++ b/docs/generation/build/html/modules/imputegap/recovery/manager.html
@@ -598,7 +598,7 @@ Source code for imputegap.recovery.manager
[docs]
def plot(self, input_data, incomp_data=None, recov_data=None, nbr_series=None, nbr_val=None, series_range=None,
- subplot=False, size=(16, 8), save_path="./imputegap/assets", display=True):
+ subplot=False, size=(16, 8), save_path="./imputegap_assets", display=True):
"""
Plot the time series data, including raw, contaminated, or imputed data.
@@ -719,7 +719,7 @@ Source code for imputegap.recovery.manager
ax.set_title('Series ' + str(i+1), fontsize=9)
ax.set_xlabel('Timestamp', fontsize=7)
ax.set_ylabel('Values', fontsize=7)
- ax.legend(loc='upper left', fontsize=7)
+ ax.legend(loc='upper left', fontsize=6, frameon=True, fancybox=True, framealpha=0.8)
plt.tight_layout()
number_of_series += 1
diff --git a/docs/generation/build/html/modules/imputegap/tools/utils.html b/docs/generation/build/html/modules/imputegap/tools/utils.html
index 3bae386a..f8d1f339 100644
--- a/docs/generation/build/html/modules/imputegap/tools/utils.html
+++ b/docs/generation/build/html/modules/imputegap/tools/utils.html
@@ -409,6 +409,85 @@ Source code for imputegap.tools.utils
+
+[docs]
+def config_forecaster(model, params):
+ """
+ Configure and execute forecaster model for downstream analytics
+
+ Parameters
+ ----------
+ model : str
+ name of the forcaster model
+ params : list of params
+ List of paramaters for a forcaster model
+
+ Returns
+ -------
+ Forecaster object (SKTIME/DART)
+ Forecaster object for downstream analytics
+ """
+
+ if model == "prophet":
+ from sktime.forecasting.fbprophet import Prophet
+ forecaster = Prophet(**params)
+ elif model == "exp-smoothing":
+ from sktime.forecasting.exp_smoothing import ExponentialSmoothing
+ forecaster = ExponentialSmoothing(**params)
+ elif model == "nbeats":
+ from darts.models import NBEATSModel
+ forecaster = NBEATSModel(**params)
+ elif model == "xgboost":
+ from darts.models.forecasting.xgboost import XGBModel
+ forecaster = XGBModel(**params)
+ elif model == "lightgbm":
+ from darts.models.forecasting.lgbm import LightGBMModel
+ forecaster = LightGBMModel(**params)
+ elif model == "lstm":
+ from darts.models.forecasting.rnn_model import RNNModel
+ forecaster = RNNModel(**params)
+ elif model == "deepar":
+ from darts.models.forecasting.rnn_model import RNNModel
+ forecaster = RNNModel(**params)
+ elif model == "transformer":
+ from darts.models.forecasting.transformer_model import TransformerModel
+ forecaster = TransformerModel(**params)
+ elif model == "hw-add":
+ from sktime.forecasting.exp_smoothing import ExponentialSmoothing
+ forecaster = ExponentialSmoothing(**params)
+ elif model == "arima":
+ from sktime.forecasting.arima import AutoARIMA
+ forecaster = AutoARIMA(**params)
+ elif model == "sf-arima":
+ from sktime.forecasting.statsforecast import StatsForecastAutoARIMA
+ forecaster = StatsForecastAutoARIMA(**params)
+ forecaster.set_config(warnings='off')
+ elif model == "bats":
+ from sktime.forecasting.bats import BATS
+ forecaster = BATS(**params)
+ elif model == "ets":
+ from sktime.forecasting.ets import AutoETS
+ forecaster = AutoETS(**params)
+ elif model == "croston":
+ from sktime.forecasting.croston import Croston
+ forecaster = Croston(**params)
+ elif model == "theta":
+ from sktime.forecasting.theta import ThetaForecaster
+ forecaster = ThetaForecaster(**params)
+ elif model == "unobs":
+ from sktime.forecasting.structural import UnobservedComponents
+ forecaster = UnobservedComponents(**params)
+
+
+ else:
+ from sktime.forecasting.naive import NaiveForecaster
+ forecaster = NaiveForecaster(**params)
+
+ return forecaster
+
+
+
+
def __marshal_as_numpy_column(__ctype_container, __py_sizen, __py_sizem):
"""
Marshal a ctypes container as a numpy column-major array.
@@ -782,6 +861,117 @@ Source code for imputegap.tools.utils
seasonality_mode = str(config[algorithm]['seasonality_mode'])
n_changepoints = int(config[algorithm]['n_changepoints'])
return {"seasonality_mode": seasonality_mode, "n_changepoints": n_changepoints}
+ elif algorithm == "forecaster-nbeats":
+ input_chunk_length = int(config[algorithm]['input_chunk_length'])
+ output_chunk_length = int(config[algorithm]['output_chunk_length'])
+ num_blocks = int(config[algorithm]['num_blocks'])
+ layer_widths = int(config[algorithm]['layer_widths'])
+ random_state = int(config[algorithm]['random_state'])
+ n_epochs = int(config[algorithm]['n_epochs'])
+ pl_trainer_kwargs = str(config[algorithm]['pl_trainer_kwargs'])
+ if pl_trainer_kwargs == "cpu":
+ drive = {"accelerator": pl_trainer_kwargs}
+ else:
+ drive = {"accelerator": pl_trainer_kwargs, "devices": [0]}
+ return {"input_chunk_length": input_chunk_length, "output_chunk_length": output_chunk_length, "num_blocks": num_blocks,
+ "layer_widths": layer_widths, "random_state": random_state, "n_epochs": n_epochs, "pl_trainer_kwargs": drive}
+ elif algorithm == "forecaster-xgboost":
+ lags = int(config[algorithm]['lags'])
+ return {"lags": lags}
+ elif algorithm == "forecaster-lightgbm":
+ lags = int(config[algorithm]['lags'])
+ verbose = int(config[algorithm]['verbose'])
+ return {"lags": lags, "verbose": verbose}
+ elif algorithm == "forecaster-lstm":
+ input_chunk_length = int(config[algorithm]['input_chunk_length'])
+ model = str(config[algorithm]['model'])
+ random_state = int(config[algorithm]['random_state'])
+ n_epochs = int(config[algorithm]['n_epochs'])
+ pl_trainer_kwargs = str(config[algorithm]['pl_trainer_kwargs'])
+ if pl_trainer_kwargs == "cpu":
+ drive = {"accelerator": pl_trainer_kwargs}
+ else:
+ drive = {"accelerator": pl_trainer_kwargs, "devices": [0]}
+ return {"input_chunk_length": input_chunk_length, "model": model, "random_state": random_state, "n_epochs": n_epochs, "pl_trainer_kwargs": drive}
+ elif algorithm == "forecaster-deepar":
+ input_chunk_length = int(config[algorithm]['input_chunk_length'])
+ model = str(config[algorithm]['model'])
+ random_state = int(config[algorithm]['random_state'])
+ n_epochs = int(config[algorithm]['n_epochs'])
+ pl_trainer_kwargs = str(config[algorithm]['pl_trainer_kwargs'])
+ if pl_trainer_kwargs == "cpu":
+ drive = {"accelerator": pl_trainer_kwargs}
+ else:
+ drive = {"accelerator": pl_trainer_kwargs, "devices": [0]}
+ return {"input_chunk_length": input_chunk_length, "model": model, "random_state": random_state, "n_epochs": n_epochs, "pl_trainer_kwargs": drive}
+ elif algorithm == "forecaster-transformer":
+ input_chunk_length = int(config[algorithm]['input_chunk_length'])
+ output_chunk_length = int(config[algorithm]['output_chunk_length'])
+ random_state = int(config[algorithm]['random_state'])
+ n_epochs = int(config[algorithm]['n_epochs'])
+ pl_trainer_kwargs = str(config[algorithm]['pl_trainer_kwargs'])
+ if pl_trainer_kwargs == "cpu":
+ drive = {"accelerator": pl_trainer_kwargs}
+ else:
+ drive = {"accelerator": pl_trainer_kwargs, "devices": [0]}
+ return {"input_chunk_length": input_chunk_length, "output_chunk_length": output_chunk_length, "random_state": random_state, "n_epochs": n_epochs, "pl_trainer_kwargs": drive}
+
+ elif algorithm == "forecaster-hw-add":
+ sp = int(config[algorithm]['sp'])
+ trend = str(config[algorithm]['trend'])
+ seasonal = str(config[algorithm]['seasonal'])
+ return {"sp": sp, "trend": trend, "seasonal": seasonal}
+ elif algorithm == "forecaster-arima":
+ sp = int(config[algorithm]['sp'])
+ suppress_warnings = bool(config[algorithm]['suppress_warnings'])
+ start_p = int(config[algorithm]['start_p'])
+ start_q = int(config[algorithm]['start_q'])
+ max_p = int(config[algorithm]['max_p'])
+ max_q = int(config[algorithm]['max_q'])
+ start_P = int(config[algorithm]['start_P'])
+ seasonal = int(config[algorithm]['seasonal'])
+ d = int(config[algorithm]['d'])
+ D = int(config[algorithm]['D'])
+ return {"sp": sp, "suppress_warnings": suppress_warnings, "start_p": start_p, "start_q": start_q,
+ "max_p": max_p, "max_q": max_q, "start_P": start_P, "seasonal": seasonal, "d": d, "D": D}
+ elif algorithm == "forecaster-sf-arima":
+ sp = int(config[algorithm]['sp'])
+ start_p = int(config[algorithm]['start_p'])
+ start_q = int(config[algorithm]['start_q'])
+ max_p = int(config[algorithm]['max_p'])
+ max_q = int(config[algorithm]['max_q'])
+ start_P = int(config[algorithm]['start_P'])
+ seasonal = int(config[algorithm]['seasonal'])
+ d = int(config[algorithm]['d'])
+ D = int(config[algorithm]['D'])
+ return {"sp": sp, "start_p": start_p, "start_q": start_q,
+ "max_p": max_p, "max_q": max_q, "start_P": start_P, "seasonal": seasonal, "d": d, "D": D}
+ elif algorithm == "forecaster-bats":
+ sp = int(config[algorithm]['sp'])
+ use_trend = bool(config[algorithm]['use_trend'])
+ use_box_cox = bool(config[algorithm]['use_box_cox'])
+ return {"sp": sp, "use_trend": use_trend, "use_box_cox": use_box_cox}
+ elif algorithm == "forecaster-ets":
+ sp = int(config[algorithm]['sp'])
+ auto = bool(config[algorithm]['auto'])
+ return {"sp": sp, "auto": auto}
+ elif algorithm == "forecaster-croston":
+ smoothing = float(config[algorithm]['smoothing'])
+ return {"smoothing": smoothing}
+ elif algorithm == "forecaster-unobs":
+ level = bool(config[algorithm]['level'])
+ trend = bool(config[algorithm]['trend'])
+ sp = int(config[algorithm]['sp'])
+ return {"level": level, "trend": trend, "seasonal": sp}
+ elif algorithm == "forecaster-theta":
+ sp = int(config[algorithm]['sp'])
+ deseasonalize = bool(config[algorithm]['deseasonalize'])
+ return {"sp": sp, "deseasonalize": deseasonalize}
+ elif algorithm == "forecaster-rnn":
+ input_size = int(config[algorithm]['input_size'])
+ inference_input_size = int(config[algorithm]['inference_input_size'])
+ return {"input_size": input_size, "inference_input_size": inference_input_size}
+
elif algorithm == "colors":
colors = config[algorithm]['plot']
return colors
@@ -1166,7 +1356,8 @@ Source code for imputegap.tools.utils
"electricity",
"motion",
"soccer",
- "temperature"
+ "temperature",
+ "forecast-economy"
])
if txt:
@@ -1190,13 +1381,40 @@ Source code for imputegap.tools.utils
[docs]
def list_of_downstreams():
+ return sorted(list_of_downstreams_sktime() + list_of_downstreams_darts())
+
+
+
+
+[docs]
+def list_of_downstreams_sktime():
return sorted([
"prophet",
"exp-smoothing",
+ "hw-add",
+ "arima",
+ "sf-arima",
+ "bats",
+ "ets",
+ "croston",
+ "theta",
+ "unobs",
"naive"
])
+
+[docs]
+def list_of_downstreams_darts():
+ return sorted([
+ "nbeats",
+ "xgboost",
+ "lightgbm",
+ "lstm",
+ "deepar",
+ "transformer"
+ ])
+
diff --git a/docs/generation/build/html/objects.inv b/docs/generation/build/html/objects.inv
index a29e1c57..3bf5f7a0 100644
Binary files a/docs/generation/build/html/objects.inv and b/docs/generation/build/html/objects.inv differ
diff --git a/docs/generation/build/html/searchindex.js b/docs/generation/build/html/searchindex.js
index f81a9dfe..e040a11d 100644
--- a/docs/generation/build/html/searchindex.js
+++ b/docs/generation/build/html/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles":{"Algorithms":[[19,null]],"Benchmark":[[20,null]],"Citing":[[25,"citing"]],"Contamination":[[49,"contamination"]],"Contributors":[[21,null],[45,"contributors"]],"Core Contributors":[[21,"core-contributors"]],"Data Format":[[45,"data-format"]],"Datasets":[[22,null]],"Distribution":[[50,null]],"Downstream Evaluation":[[23,null]],"Example":[[29,"example"],[29,"id16"],[30,"example"],[33,"example"],[34,"example"],[34,"id14"],[34,"id22"],[34,"id30"],[34,"id38"],[34,"id46"],[34,"id54"],[34,"id62"],[34,"id70"],[34,"id78"],[34,"id86"],[34,"id95"],[34,"id103"],[34,"id111"],[34,"id119"],[34,"id128"],[34,"id136"],[34,"id144"],[34,"id152"],[34,"id160"],[34,"id168"],[34,"id176"],[34,"id184"],[34,"id193"],[34,"id201"],[34,"id209"],[34,"id218"],[34,"id225"],[36,"example"],[37,"example"],[38,"example"],[40,"example"],[44,"example"]],"Explainer":[[24,null]],"Get Started":[[45,"get-started"]],"Getting Started":[[25,null]],"Imputation":[[49,"imputation"]],"ImputeGAP Documentation":[[45,null]],"ImputeGAP Package":[[26,null]],"Installation":[[25,"installation"]],"Loading and Preprocessing":[[49,"loading-and-preprocessing"]],"MONO-BLOCK":[[47,"mono-block"]],"MULTI-BLOCK":[[47,"multi-block"]],"Methods":[[29,"methods"],[29,"id15"],[31,"methods"],[31,"id5"],[32,"methods"],[34,"methods"],[34,"id3"],[34,"id4"],[34,"id10"],[34,"id18"],[34,"id26"],[34,"id34"],[34,"id42"],[34,"id50"],[34,"id58"],[34,"id66"],[34,"id74"],[34,"id82"],[34,"id91"],[34,"id99"],[34,"id107"],[34,"id115"],[34,"id124"],[34,"id132"],[34,"id140"],[34,"id148"],[34,"id156"],[34,"id164"],[34,"id172"],[34,"id180"],[34,"id189"],[34,"id197"],[34,"id205"],[34,"id214"],[34,"id221"],[34,"id228"],[34,"id234"],[34,"id239"],[34,"id245"],[35,"methods"],[35,"id1"],[39,"methods"],[39,"id7"]],"Module contents":[[26,"module-imputegap"],[32,"module-imputegap.recovery.explainer"],[34,"module-imputegap.recovery.imputation"],[35,"module-imputegap.recovery.manager"],[39,"module-imputegap.recovery.optimization"],[43,"module-imputegap.wrapper"]],"Modules":[[27,"module-imputegap.tools"],[28,"module-imputegap.algorithms"],[29,"module-imputegap.recovery.benchmark"],[30,"module-imputegap.algorithms.cdrec"],[31,"module-imputegap.recovery.evaluation"],[33,"module-imputegap.algorithms.iim"],[36,"module-imputegap.algorithms.mean_impute"],[37,"module-imputegap.algorithms.min_impute"],[38,"module-imputegap.algorithms.mrnn"],[40,"module-imputegap.algorithms.stmvl"],[41,"module-imputegap.tools"],[42,"module-imputegap.tools"],[44,"module-imputegap.algorithms.zero_impute"]],"Notes":[[29,"notes"],[29,"id9"],[29,"id14"],[29,"id26"],[29,"id33"],[29,"id40"],[32,"notes"],[33,"notes"],[36,"notes"],[37,"notes"],[38,"notes"],[40,"notes"],[42,"notes"],[44,"notes"]],"Parameterization":[[49,"parameterization"]],"Parameters":[[29,"parameters"],[29,"id1"],[29,"id3"],[29,"id5"],[29,"id7"],[29,"id10"],[29,"id12"],[29,"id18"],[29,"id21"],[29,"id24"],[29,"id28"],[29,"id31"],[29,"id35"],[29,"id38"],[30,"parameters"],[30,"id1"],[32,"parameters"],[32,"id1"],[32,"id3"],[32,"id5"],[32,"id7"],[32,"id9"],[32,"id11"],[32,"id13"],[33,"parameters"],[34,"parameters"],[34,"id1"],[34,"id2"],[34,"id5"],[34,"id6"],[34,"id8"],[34,"id11"],[34,"id12"],[34,"id16"],[34,"id19"],[34,"id20"],[34,"id24"],[34,"id27"],[34,"id28"],[34,"id32"],[34,"id35"],[34,"id36"],[34,"id40"],[34,"id43"],[34,"id44"],[34,"id48"],[34,"id51"],[34,"id52"],[34,"id56"],[34,"id59"],[34,"id60"],[34,"id64"],[34,"id67"],[34,"id68"],[34,"id72"],[34,"id75"],[34,"id76"],[34,"id80"],[34,"id83"],[34,"id84"],[34,"id88"],[34,"id92"],[34,"id93"],[34,"id97"],[34,"id100"],[34,"id101"],[34,"id105"],[34,"id108"],[34,"id109"],[34,"id113"],[34,"id116"],[34,"id117"],[34,"id121"],[34,"id125"],[34,"id126"],[34,"id130"],[34,"id133"],[34,"id134"],[34,"id138"],[34,"id141"],[34,"id142"],[34,"id146"],[34,"id149"],[34,"id150"],[34,"id154"],[34,"id157"],[34,"id158"],[34,"id162"],[34,"id165"],[34,"id166"],[34,"id170"],[34,"id173"],[34,"id174"],[34,"id178"],[34,"id181"],[34,"id182"],[34,"id186"],[34,"id190"],[34,"id191"],[34,"id195"],[34,"id198"],[34,"id199"],[34,"id203"],[34,"id206"],[34,"id207"],[34,"id211"],[34,"id215"],[34,"id216"],[34,"id219"],[34,"id222"],[34,"id223"],[34,"id226"],[34,"id229"],[34,"id230"],[34,"id232"],[34,"id235"],[34,"id237"],[34,"id240"],[34,"id241"],[34,"id243"],[34,"id246"],[34,"id247"],[34,"id249"],[34,"id251"],[35,"parameters"],[35,"id2"],[35,"id4"],[35,"id6"],[35,"id8"],[35,"id10"],[35,"id12"],[35,"id14"],[35,"id16"],[35,"id18"],[35,"id20"],[35,"id22"],[35,"id24"],[35,"id26"],[36,"parameters"],[37,"parameters"],[38,"parameters"],[39,"parameters"],[39,"id8"],[39,"id10"],[39,"id12"],[39,"id14"],[39,"id16"],[40,"parameters"],[42,"parameters"],[42,"id1"],[42,"id3"],[42,"id5"],[42,"id7"],[42,"id9"],[42,"id11"],[42,"id13"],[44,"parameters"]],"Patterns":[[47,null]],"Pre-processing":[[48,null]],"Raises":[[34,"raises"],[42,"raises"]],"References":[[19,"references"],[30,"references"],[33,"references"],[34,"references"],[34,"id15"],[34,"id23"],[34,"id31"],[34,"id39"],[34,"id47"],[34,"id55"],[34,"id63"],[34,"id71"],[34,"id79"],[34,"id87"],[34,"id96"],[34,"id104"],[34,"id112"],[34,"id120"],[34,"id129"],[34,"id137"],[34,"id145"],[34,"id153"],[34,"id161"],[34,"id169"],[34,"id177"],[34,"id185"],[34,"id194"],[34,"id202"],[34,"id210"],[38,"references"],[40,"references"]],"Returns":[[29,"returns"],[29,"id2"],[29,"id4"],[29,"id6"],[29,"id8"],[29,"id11"],[29,"id13"],[29,"id19"],[29,"id22"],[29,"id25"],[29,"id29"],[29,"id32"],[29,"id36"],[29,"id39"],[30,"returns"],[30,"id2"],[31,"returns"],[31,"id1"],[31,"id2"],[31,"id3"],[31,"id4"],[31,"id7"],[31,"id9"],[31,"id11"],[31,"id13"],[31,"id15"],[32,"returns"],[32,"id2"],[32,"id4"],[32,"id6"],[32,"id8"],[32,"id10"],[32,"id12"],[32,"id14"],[33,"returns"],[34,"returns"],[34,"id7"],[34,"id9"],[34,"id13"],[34,"id17"],[34,"id21"],[34,"id25"],[34,"id29"],[34,"id33"],[34,"id37"],[34,"id41"],[34,"id45"],[34,"id49"],[34,"id53"],[34,"id57"],[34,"id61"],[34,"id65"],[34,"id69"],[34,"id73"],[34,"id77"],[34,"id81"],[34,"id85"],[34,"id89"],[34,"id94"],[34,"id98"],[34,"id102"],[34,"id106"],[34,"id110"],[34,"id114"],[34,"id118"],[34,"id122"],[34,"id127"],[34,"id131"],[34,"id135"],[34,"id139"],[34,"id143"],[34,"id147"],[34,"id151"],[34,"id155"],[34,"id159"],[34,"id163"],[34,"id167"],[34,"id171"],[34,"id175"],[34,"id179"],[34,"id183"],[34,"id187"],[34,"id192"],[34,"id196"],[34,"id200"],[34,"id204"],[34,"id208"],[34,"id212"],[34,"id217"],[34,"id220"],[34,"id224"],[34,"id227"],[34,"id231"],[34,"id233"],[34,"id236"],[34,"id238"],[34,"id242"],[34,"id244"],[34,"id248"],[34,"id250"],[34,"id252"],[35,"returns"],[35,"id3"],[35,"id5"],[35,"id7"],[35,"id9"],[35,"id11"],[35,"id13"],[35,"id15"],[35,"id17"],[35,"id19"],[35,"id21"],[35,"id23"],[35,"id25"],[35,"id27"],[36,"returns"],[37,"returns"],[38,"returns"],[39,"returns"],[39,"id9"],[39,"id11"],[39,"id13"],[39,"id15"],[39,"id17"],[40,"returns"],[42,"returns"],[42,"id2"],[42,"id4"],[42,"id6"],[42,"id8"],[42,"id10"],[42,"id12"],[42,"id14"],[44,"returns"]],"Setup":[[47,"setup"]],"Subclasses":[[34,"subclasses"],[34,"id90"],[34,"id123"],[34,"id188"],[34,"id213"]],"Submodule Documentation":[[27,"submodule-documentation"],[28,"submodule-documentation"],[29,"submodule-documentation"],[31,"submodule-documentation"],[41,"submodule-documentation"],[42,"submodule-documentation"]],"Submodules":[[26,"submodules"],[27,"submodules"],[28,null],[29,"submodules"],[30,"submodules"],[31,"submodules"],[32,"submodules"],[33,"submodules"],[34,"submodules"],[35,"submodules"],[36,"submodules"],[37,"submodules"],[38,"submodules"],[39,"submodules"],[40,"submodules"],[41,"submodules"],[42,"submodules"],[43,"submodules"],[44,"submodules"]],"Subpackages":[[26,"subpackages"]],"System Requirements":[[25,"system-requirements"]],"Troubleshooting":[[25,"troubleshooting"]],"Tutorials":[[49,null]],"imputegap":[[46,null]],"imputegap.algorithms":[[0,null]],"imputegap.algorithms.cdrec":[[1,null]],"imputegap.algorithms.cdrec package":[[30,null]],"imputegap.algorithms.iim":[[2,null]],"imputegap.algorithms.iim package":[[33,null]],"imputegap.algorithms.mean_impute":[[3,null]],"imputegap.algorithms.mean_impute package":[[36,null]],"imputegap.algorithms.min_impute":[[4,null]],"imputegap.algorithms.min_impute package":[[37,null]],"imputegap.algorithms.mrnn":[[5,null]],"imputegap.algorithms.mrnn package":[[38,null]],"imputegap.algorithms.stmvl":[[6,null]],"imputegap.algorithms.stmvl package":[[40,null]],"imputegap.algorithms.zero_impute":[[7,null]],"imputegap.algorithms.zero_impute package":[[44,null]],"imputegap.recovery.benchmark":[[8,null],[9,null]],"imputegap.recovery.benchmark package":[[29,null]],"imputegap.recovery.evaluation":[[10,null]],"imputegap.recovery.evaluation module":[[29,"module-0"],[31,"module-0"]],"imputegap.recovery.evaluation package":[[31,null]],"imputegap.recovery.explainer":[[11,null]],"imputegap.recovery.explainer package":[[32,null]],"imputegap.recovery.imputation":[[12,null]],"imputegap.recovery.imputation package":[[34,null]],"imputegap.recovery.manager":[[13,null]],"imputegap.recovery.manager package":[[35,null]],"imputegap.recovery.optimization":[[14,null]],"imputegap.recovery.optimization package":[[39,null]],"imputegap.tools":[[15,null]],"imputegap.tools package":[[41,null]],"imputegap.tools.algorithm_parameters":[[16,null]],"imputegap.tools.algorithm_parameters package":[[27,null]],"imputegap.tools.utils":[[17,null]],"imputegap.tools.utils module":[[27,"module-imputegap.tools.algorithm_parameters"],[42,"module-imputegap.tools.utils"]],"imputegap.tools.utils package":[[42,null]],"imputegap.wrapper":[[18,null]],"imputegap.wrapper package":[[43,null]]},"docnames":["_autosummary/imputegap.algorithms","_autosummary/imputegap.algorithms.cdrec","_autosummary/imputegap.algorithms.iim","_autosummary/imputegap.algorithms.mean_impute","_autosummary/imputegap.algorithms.min_impute","_autosummary/imputegap.algorithms.mrnn","_autosummary/imputegap.algorithms.stmvl","_autosummary/imputegap.algorithms.zero_impute","_autosummary/imputegap.recovery.benchmark","_autosummary/imputegap.recovery.benchmarking","_autosummary/imputegap.recovery.evaluation","_autosummary/imputegap.recovery.explainer","_autosummary/imputegap.recovery.imputation","_autosummary/imputegap.recovery.manager","_autosummary/imputegap.recovery.optimization","_autosummary/imputegap.tools","_autosummary/imputegap.tools.algorithm_parameters","_autosummary/imputegap.tools.utils","_autosummary/imputegap.wrapper","algorithms","benchmark","contributors","datasets","downstream","explainer","getting_started","imputegap","imputegap.algorithm_parameters","imputegap.algorithms","imputegap.benchmark","imputegap.cdrec","imputegap.evaluation","imputegap.explainer","imputegap.iim","imputegap.imputation","imputegap.manager","imputegap.mean_impute","imputegap.min_impute","imputegap.mrnn","imputegap.optimization","imputegap.stmvl","imputegap.tools","imputegap.utils","imputegap.wrapper","imputegap.zero_impute","index","modules","patterns","preprocessing","tutorials","tutorials_distribution"],"envversion":{"sphinx":65,"sphinx.domains.c":3,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":9,"sphinx.domains.index":1,"sphinx.domains.javascript":3,"sphinx.domains.math":2,"sphinx.domains.python":4,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.viewcode":1},"filenames":["_autosummary/imputegap.algorithms.rst","_autosummary/imputegap.algorithms.cdrec.rst","_autosummary/imputegap.algorithms.iim.rst","_autosummary/imputegap.algorithms.mean_impute.rst","_autosummary/imputegap.algorithms.min_impute.rst","_autosummary/imputegap.algorithms.mrnn.rst","_autosummary/imputegap.algorithms.stmvl.rst","_autosummary/imputegap.algorithms.zero_impute.rst","_autosummary/imputegap.recovery.benchmark.rst","_autosummary/imputegap.recovery.benchmarking.rst","_autosummary/imputegap.recovery.evaluation.rst","_autosummary/imputegap.recovery.explainer.rst","_autosummary/imputegap.recovery.imputation.rst","_autosummary/imputegap.recovery.manager.rst","_autosummary/imputegap.recovery.optimization.rst","_autosummary/imputegap.tools.rst","_autosummary/imputegap.tools.algorithm_parameters.rst","_autosummary/imputegap.tools.utils.rst","_autosummary/imputegap.wrapper.rst","algorithms.rst","benchmark.rst","contributors.rst","datasets.rst","downstream.rst","explainer.rst","getting_started.rst","imputegap.rst","imputegap.algorithm_parameters.rst","imputegap.algorithms.rst","imputegap.benchmark.rst","imputegap.cdrec.rst","imputegap.evaluation.rst","imputegap.explainer.rst","imputegap.iim.rst","imputegap.imputation.rst","imputegap.manager.rst","imputegap.mean_impute.rst","imputegap.min_impute.rst","imputegap.mrnn.rst","imputegap.optimization.rst","imputegap.stmvl.rst","imputegap.tools.rst","imputegap.utils.rst","imputegap.wrapper.rst","imputegap.zero_impute.rst","index.rst","modules.rst","patterns.rst","preprocessing.rst","tutorials.rst","tutorials_distribution.rst"],"indexentries":{"__init__() (imputegap.recovery.imputation.baseimputer method)":[[34,"imputegap.recovery.imputation.BaseImputer.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.deeplearning.bayotide method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.BayOTIDE.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.deeplearning.bitgraph method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.BitGraph.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.deeplearning.brits method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.BRITS.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.deeplearning.deepmvi method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.DeepMVI.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.deeplearning.gain method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.GAIN.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.deeplearning.grin method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.GRIN.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.deeplearning.hkmf_t method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.HKMF_T.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.deeplearning.missnet method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.MissNet.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.deeplearning.mpin method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.MPIN.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.deeplearning.mrnn method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.MRNN.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.deeplearning.pristi method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.PRISTI.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.machinelearning.iim method)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.IIM.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.machinelearning.mice method)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.MICE.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.machinelearning.missforest method)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.MissForest.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.machinelearning.xgboost method)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.XGBOOST.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.matrixcompletion.cdrec method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.CDRec.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.matrixcompletion.grouse method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.GROUSE.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.matrixcompletion.iterativesvd method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.IterativeSVD.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.matrixcompletion.rosl method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.ROSL.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.matrixcompletion.softimpute method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.SoftImpute.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.matrixcompletion.spirit method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.SPIRIT.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.matrixcompletion.svt method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.SVT.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.matrixcompletion.trmf method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.TRMF.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.patternsearch.dynammo method)":[[34,"imputegap.recovery.imputation.Imputation.PatternSearch.DynaMMo.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.patternsearch.stmvl method)":[[34,"imputegap.recovery.imputation.Imputation.PatternSearch.STMVL.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.patternsearch.tkcm method)":[[34,"imputegap.recovery.imputation.Imputation.PatternSearch.TKCM.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.statistics.interpolation method)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.Interpolation.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.statistics.knn method)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.KNN.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.statistics.meanimpute method)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.MeanImpute.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.statistics.meanimputebyseries method)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.MeanImputeBySeries.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.statistics.minimpute method)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.MinImpute.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.statistics.zeroimpute method)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.ZeroImpute.__init__",false]],"algorithm (imputegap.recovery.imputation.baseimputer attribute)":[[34,"imputegap.recovery.imputation.BaseImputer.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.deeplearning.bayotide attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.BayOTIDE.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.deeplearning.bitgraph attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.BitGraph.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.deeplearning.brits attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.BRITS.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.deeplearning.deepmvi attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.DeepMVI.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.deeplearning.gain attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.GAIN.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.deeplearning.grin attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.GRIN.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.deeplearning.hkmf_t attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.HKMF_T.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.deeplearning.missnet attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.MissNet.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.deeplearning.mpin attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.MPIN.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.deeplearning.mrnn attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.MRNN.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.deeplearning.pristi attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.PRISTI.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.machinelearning.iim attribute)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.IIM.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.machinelearning.mice attribute)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.MICE.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.machinelearning.missforest attribute)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.MissForest.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.machinelearning.xgboost attribute)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.XGBOOST.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.matrixcompletion.cdrec attribute)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.CDRec.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.matrixcompletion.grouse attribute)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.GROUSE.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.matrixcompletion.iterativesvd attribute)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.IterativeSVD.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.matrixcompletion.rosl attribute)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.ROSL.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.matrixcompletion.softimpute attribute)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.SoftImpute.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.matrixcompletion.spirit attribute)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.SPIRIT.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.matrixcompletion.svt attribute)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.SVT.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.matrixcompletion.trmf attribute)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.TRMF.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.patternsearch.dynammo attribute)":[[34,"imputegap.recovery.imputation.Imputation.PatternSearch.DynaMMo.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.patternsearch.stmvl attribute)":[[34,"imputegap.recovery.imputation.Imputation.PatternSearch.STMVL.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.patternsearch.tkcm attribute)":[[34,"imputegap.recovery.imputation.Imputation.PatternSearch.TKCM.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.statistics.interpolation attribute)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.Interpolation.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.statistics.knn attribute)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.KNN.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.statistics.meanimpute attribute)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.MeanImpute.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.statistics.meanimputebyseries attribute)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.MeanImputeBySeries.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.statistics.minimpute attribute)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.MinImpute.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.statistics.zeroimpute attribute)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.ZeroImpute.algorithm",false]],"average_runs_by_names() (imputegap.recovery.benchmark.benchmark method)":[[29,"id17",false],[29,"imputegap.recovery.benchmark.Benchmark.average_runs_by_names",false]],"avg_results() (imputegap.recovery.benchmark.benchmark method)":[[29,"id20",false],[29,"imputegap.recovery.benchmark.Benchmark.avg_results",false]],"baseimputer (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.BaseImputer",false]],"baseoptimizer (class in imputegap.recovery.optimization)":[[39,"imputegap.recovery.optimization.BaseOptimizer",false]],"benchmark (class in imputegap.recovery.benchmark)":[[29,"id0",false],[29,"imputegap.recovery.benchmark.Benchmark",false]],"blackout() (imputegap.recovery.manager.timeseries.contamination method)":[[35,"imputegap.recovery.manager.TimeSeries.Contamination.blackout",false]],"cdrec() (in module imputegap.algorithms.cdrec)":[[30,"imputegap.algorithms.cdrec.cdrec",false]],"compute_all_metrics() (imputegap.recovery.evaluation.evaluation method)":[[31,"id6",false],[31,"imputegap.recovery.evaluation.Evaluation.compute_all_metrics",false]],"compute_correlation() (imputegap.recovery.evaluation.evaluation method)":[[31,"id8",false],[31,"imputegap.recovery.evaluation.Evaluation.compute_correlation",false]],"compute_mae() (imputegap.recovery.evaluation.evaluation method)":[[31,"id10",false],[31,"imputegap.recovery.evaluation.Evaluation.compute_mae",false]],"compute_mi() (imputegap.recovery.evaluation.evaluation method)":[[31,"id12",false],[31,"imputegap.recovery.evaluation.Evaluation.compute_mi",false]],"compute_rmse() (imputegap.recovery.evaluation.evaluation method)":[[31,"id14",false],[31,"imputegap.recovery.evaluation.Evaluation.compute_rmse",false]],"config_contamination() (in module imputegap.tools.utils)":[[42,"imputegap.tools.utils.config_contamination",false]],"config_impute_algorithm() (in module imputegap.tools.utils)":[[42,"imputegap.tools.utils.config_impute_algorithm",false]],"convert_results() (imputegap.recovery.explainer.explainer method)":[[32,"imputegap.recovery.explainer.Explainer.convert_results",false]],"disjoint() (imputegap.recovery.manager.timeseries.contamination method)":[[35,"imputegap.recovery.manager.TimeSeries.Contamination.disjoint",false]],"display_title() (in module imputegap.tools.utils)":[[42,"imputegap.tools.utils.display_title",false]],"distribution() (imputegap.recovery.manager.timeseries.contamination method)":[[35,"imputegap.recovery.manager.TimeSeries.Contamination.distribution",false]],"eval() (imputegap.recovery.benchmark.benchmark method)":[[29,"id23",false],[29,"imputegap.recovery.benchmark.Benchmark.eval",false]],"evaluate_params() (imputegap.recovery.imputation.imputation method)":[[34,"imputegap.recovery.imputation.Imputation.evaluate_params",false]],"evaluation (class in imputegap.recovery.evaluation)":[[31,"id0",false],[31,"imputegap.recovery.evaluation.Evaluation",false]],"execute_shap_model() (imputegap.recovery.explainer.explainer method)":[[32,"imputegap.recovery.explainer.Explainer.execute_shap_model",false]],"explainer (class in imputegap.recovery.explainer)":[[32,"imputegap.recovery.explainer.Explainer",false]],"extractor_pycatch() (imputegap.recovery.explainer.explainer method)":[[32,"imputegap.recovery.explainer.Explainer.extractor_pycatch",false]],"extractor_tsfel() (imputegap.recovery.explainer.explainer method)":[[32,"imputegap.recovery.explainer.Explainer.extractor_tsfel",false]],"extractor_tsfresh() (imputegap.recovery.explainer.explainer method)":[[32,"imputegap.recovery.explainer.Explainer.extractor_tsfresh",false]],"gaussian() (imputegap.recovery.manager.timeseries.contamination method)":[[35,"imputegap.recovery.manager.TimeSeries.Contamination.gaussian",false]],"generate_heatmap() (imputegap.recovery.benchmark.benchmark method)":[[29,"id27",false],[29,"imputegap.recovery.benchmark.Benchmark.generate_heatmap",false]],"generate_plots() (imputegap.recovery.benchmark.benchmark method)":[[29,"id30",false],[29,"imputegap.recovery.benchmark.Benchmark.generate_plots",false]],"generate_reports_excel() (imputegap.recovery.benchmark.benchmark method)":[[29,"id34",false],[29,"imputegap.recovery.benchmark.Benchmark.generate_reports_excel",false]],"generate_reports_txt() (imputegap.recovery.benchmark.benchmark method)":[[29,"id37",false],[29,"imputegap.recovery.benchmark.Benchmark.generate_reports_txt",false]],"iim() (in module imputegap.algorithms.iim)":[[33,"imputegap.algorithms.iim.iim",false]],"import_matrix() (imputegap.recovery.manager.timeseries method)":[[35,"imputegap.recovery.manager.TimeSeries.import_matrix",false]],"imputation (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation",false]],"imputation.deeplearning (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning",false]],"imputation.deeplearning.bayotide (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.BayOTIDE",false]],"imputation.deeplearning.bitgraph (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.BitGraph",false]],"imputation.deeplearning.brits (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.BRITS",false]],"imputation.deeplearning.deepmvi (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.DeepMVI",false]],"imputation.deeplearning.gain (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.GAIN",false]],"imputation.deeplearning.grin (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.GRIN",false]],"imputation.deeplearning.hkmf_t (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.HKMF_T",false]],"imputation.deeplearning.missnet (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.MissNet",false]],"imputation.deeplearning.mpin (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.MPIN",false]],"imputation.deeplearning.mrnn (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.MRNN",false]],"imputation.deeplearning.pristi (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.PRISTI",false]],"imputation.machinelearning (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning",false]],"imputation.machinelearning.iim (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.IIM",false]],"imputation.machinelearning.mice (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.MICE",false]],"imputation.machinelearning.missforest (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.MissForest",false]],"imputation.machinelearning.xgboost (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.XGBOOST",false]],"imputation.matrixcompletion (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion",false]],"imputation.matrixcompletion.cdrec (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.CDRec",false]],"imputation.matrixcompletion.grouse (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.GROUSE",false]],"imputation.matrixcompletion.iterativesvd (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.IterativeSVD",false]],"imputation.matrixcompletion.rosl (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.ROSL",false]],"imputation.matrixcompletion.softimpute (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.SoftImpute",false]],"imputation.matrixcompletion.spirit (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.SPIRIT",false]],"imputation.matrixcompletion.svt (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.SVT",false]],"imputation.matrixcompletion.trmf (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.TRMF",false]],"imputation.patternsearch (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.PatternSearch",false]],"imputation.patternsearch.dynammo (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.PatternSearch.DynaMMo",false]],"imputation.patternsearch.stmvl (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.PatternSearch.STMVL",false]],"imputation.patternsearch.tkcm (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.PatternSearch.TKCM",false]],"imputation.statistics (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.Statistics",false]],"imputation.statistics.interpolation (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.Interpolation",false]],"imputation.statistics.knn (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.KNN",false]],"imputation.statistics.meanimpute (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.MeanImpute",false]],"imputation.statistics.meanimputebyseries (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.MeanImputeBySeries",false]],"imputation.statistics.minimpute (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.MinImpute",false]],"imputation.statistics.zeroimpute (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.ZeroImpute",false]],"impute() (imputegap.recovery.imputation.baseimputer method)":[[34,"imputegap.recovery.imputation.BaseImputer.impute",false]],"impute() (imputegap.recovery.imputation.imputation.deeplearning.bayotide method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.BayOTIDE.impute",false]],"impute() (imputegap.recovery.imputation.imputation.deeplearning.bitgraph method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.BitGraph.impute",false]],"impute() (imputegap.recovery.imputation.imputation.deeplearning.brits method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.BRITS.impute",false]],"impute() (imputegap.recovery.imputation.imputation.deeplearning.deepmvi method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.DeepMVI.impute",false]],"impute() (imputegap.recovery.imputation.imputation.deeplearning.gain method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.GAIN.impute",false]],"impute() (imputegap.recovery.imputation.imputation.deeplearning.grin method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.GRIN.impute",false]],"impute() (imputegap.recovery.imputation.imputation.deeplearning.hkmf_t method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.HKMF_T.impute",false]],"impute() (imputegap.recovery.imputation.imputation.deeplearning.missnet method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.MissNet.impute",false]],"impute() (imputegap.recovery.imputation.imputation.deeplearning.mpin method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.MPIN.impute",false]],"impute() (imputegap.recovery.imputation.imputation.deeplearning.mrnn method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.MRNN.impute",false]],"impute() (imputegap.recovery.imputation.imputation.deeplearning.pristi method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.PRISTI.impute",false]],"impute() (imputegap.recovery.imputation.imputation.machinelearning.iim method)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.IIM.impute",false]],"impute() (imputegap.recovery.imputation.imputation.machinelearning.mice method)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.MICE.impute",false]],"impute() (imputegap.recovery.imputation.imputation.machinelearning.missforest method)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.MissForest.impute",false]],"impute() (imputegap.recovery.imputation.imputation.machinelearning.xgboost method)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.XGBOOST.impute",false]],"impute() (imputegap.recovery.imputation.imputation.matrixcompletion.cdrec method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.CDRec.impute",false]],"impute() (imputegap.recovery.imputation.imputation.matrixcompletion.grouse method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.GROUSE.impute",false]],"impute() (imputegap.recovery.imputation.imputation.matrixcompletion.iterativesvd method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.IterativeSVD.impute",false]],"impute() (imputegap.recovery.imputation.imputation.matrixcompletion.rosl method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.ROSL.impute",false]],"impute() (imputegap.recovery.imputation.imputation.matrixcompletion.softimpute method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.SoftImpute.impute",false]],"impute() (imputegap.recovery.imputation.imputation.matrixcompletion.spirit method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.SPIRIT.impute",false]],"impute() (imputegap.recovery.imputation.imputation.matrixcompletion.svt method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.SVT.impute",false]],"impute() (imputegap.recovery.imputation.imputation.matrixcompletion.trmf method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.TRMF.impute",false]],"impute() (imputegap.recovery.imputation.imputation.patternsearch.dynammo method)":[[34,"imputegap.recovery.imputation.Imputation.PatternSearch.DynaMMo.impute",false]],"impute() (imputegap.recovery.imputation.imputation.patternsearch.stmvl method)":[[34,"imputegap.recovery.imputation.Imputation.PatternSearch.STMVL.impute",false]],"impute() (imputegap.recovery.imputation.imputation.patternsearch.tkcm method)":[[34,"imputegap.recovery.imputation.Imputation.PatternSearch.TKCM.impute",false]],"impute() (imputegap.recovery.imputation.imputation.statistics.interpolation method)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.Interpolation.impute",false]],"impute() (imputegap.recovery.imputation.imputation.statistics.knn method)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.KNN.impute",false]],"impute() (imputegap.recovery.imputation.imputation.statistics.meanimpute method)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.MeanImpute.impute",false]],"impute() (imputegap.recovery.imputation.imputation.statistics.meanimputebyseries method)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.MeanImputeBySeries.impute",false]],"impute() (imputegap.recovery.imputation.imputation.statistics.minimpute method)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.MinImpute.impute",false]],"impute() (imputegap.recovery.imputation.imputation.statistics.zeroimpute method)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.ZeroImpute.impute",false]],"imputegap":[[26,"module-imputegap",false]],"imputegap.algorithms":[[0,"module-imputegap.algorithms",false],[28,"module-imputegap.algorithms",false]],"imputegap.algorithms.cdrec":[[1,"module-imputegap.algorithms.cdrec",false],[30,"module-imputegap.algorithms.cdrec",false]],"imputegap.algorithms.iim":[[2,"module-imputegap.algorithms.iim",false],[33,"module-imputegap.algorithms.iim",false]],"imputegap.algorithms.mean_impute":[[3,"module-imputegap.algorithms.mean_impute",false],[36,"module-imputegap.algorithms.mean_impute",false]],"imputegap.algorithms.min_impute":[[4,"module-imputegap.algorithms.min_impute",false],[37,"module-imputegap.algorithms.min_impute",false]],"imputegap.algorithms.mrnn":[[5,"module-imputegap.algorithms.mrnn",false],[38,"module-imputegap.algorithms.mrnn",false]],"imputegap.algorithms.stmvl":[[6,"module-imputegap.algorithms.stmvl",false],[40,"module-imputegap.algorithms.stmvl",false]],"imputegap.algorithms.zero_impute":[[7,"module-imputegap.algorithms.zero_impute",false],[44,"module-imputegap.algorithms.zero_impute",false]],"imputegap.recovery.benchmark":[[8,"module-imputegap.recovery.benchmark",false],[9,"module-imputegap.recovery.benchmark",false],[29,"module-0",false],[29,"module-imputegap.recovery.benchmark",false]],"imputegap.recovery.evaluation":[[10,"module-imputegap.recovery.evaluation",false],[31,"module-0",false],[31,"module-imputegap.recovery.evaluation",false]],"imputegap.recovery.explainer":[[11,"module-imputegap.recovery.explainer",false],[32,"module-imputegap.recovery.explainer",false]],"imputegap.recovery.imputation":[[12,"module-imputegap.recovery.imputation",false],[34,"module-imputegap.recovery.imputation",false]],"imputegap.recovery.manager":[[13,"module-imputegap.recovery.manager",false],[35,"module-imputegap.recovery.manager",false]],"imputegap.recovery.optimization":[[14,"module-imputegap.recovery.optimization",false],[39,"module-imputegap.recovery.optimization",false]],"imputegap.tools":[[15,"module-imputegap.tools",false],[27,"module-imputegap.tools",false],[41,"module-imputegap.tools",false],[42,"module-imputegap.tools",false]],"imputegap.tools.algorithm_parameters":[[16,"module-imputegap.tools.algorithm_parameters",false],[27,"module-imputegap.tools.algorithm_parameters",false]],"imputegap.tools.utils":[[17,"module-imputegap.tools.utils",false],[42,"module-imputegap.tools.utils",false]],"imputegap.wrapper":[[18,"module-imputegap.wrapper",false],[43,"module-imputegap.wrapper",false]],"list_of_algorithms() (in module imputegap.tools.utils)":[[42,"imputegap.tools.utils.list_of_algorithms",false]],"list_of_datasets() (in module imputegap.tools.utils)":[[42,"imputegap.tools.utils.list_of_datasets",false]],"list_of_downstreams() (in module imputegap.tools.utils)":[[42,"imputegap.tools.utils.list_of_downstreams",false]],"list_of_optimizers() (in module imputegap.tools.utils)":[[42,"imputegap.tools.utils.list_of_optimizers",false]],"list_of_patterns() (in module imputegap.tools.utils)":[[42,"imputegap.tools.utils.list_of_patterns",false]],"load_configuration() (imputegap.recovery.explainer.explainer method)":[[32,"imputegap.recovery.explainer.Explainer.load_configuration",false]],"load_parameters() (in module imputegap.tools.utils)":[[42,"imputegap.tools.utils.load_parameters",false]],"load_series() (imputegap.recovery.manager.timeseries method)":[[35,"imputegap.recovery.manager.TimeSeries.load_series",false]],"load_share_lib() (in module imputegap.tools.utils)":[[42,"imputegap.tools.utils.load_share_lib",false]],"logs (imputegap.recovery.imputation.baseimputer attribute)":[[34,"imputegap.recovery.imputation.BaseImputer.logs",false]],"logs (imputegap.recovery.imputation.imputation.deeplearning.bayotide attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.BayOTIDE.logs",false]],"logs (imputegap.recovery.imputation.imputation.deeplearning.bitgraph attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.BitGraph.logs",false]],"logs (imputegap.recovery.imputation.imputation.deeplearning.brits attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.BRITS.logs",false]],"logs (imputegap.recovery.imputation.imputation.deeplearning.deepmvi attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.DeepMVI.logs",false]],"logs (imputegap.recovery.imputation.imputation.deeplearning.gain attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.GAIN.logs",false]],"logs (imputegap.recovery.imputation.imputation.deeplearning.grin attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.GRIN.logs",false]],"logs (imputegap.recovery.imputation.imputation.deeplearning.hkmf_t attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.HKMF_T.logs",false]],"logs (imputegap.recovery.imputation.imputation.deeplearning.missnet attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.MissNet.logs",false]],"logs (imputegap.recovery.imputation.imputation.deeplearning.mpin attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.MPIN.logs",false]],"logs (imputegap.recovery.imputation.imputation.deeplearning.mrnn attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.MRNN.logs",false]],"logs (imputegap.recovery.imputation.imputation.deeplearning.pristi attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.PRISTI.logs",false]],"logs (imputegap.recovery.imputation.imputation.machinelearning.iim attribute)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.IIM.logs",false]],"logs (imputegap.recovery.imputation.imputation.machinelearning.mice attribute)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.MICE.logs",false]],"logs (imputegap.recovery.imputation.imputation.machinelearning.missforest attribute)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.MissForest.logs",false]],"logs (imputegap.recovery.imputation.imputation.machinelearning.xgboost attribute)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.XGBOOST.logs",false]],"logs (imputegap.recovery.imputation.imputation.matrixcompletion.cdrec attribute)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.CDRec.logs",false]],"logs (imputegap.recovery.imputation.imputation.matrixcompletion.grouse attribute)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.GROUSE.logs",false]],"logs (imputegap.recovery.imputation.imputation.matrixcompletion.iterativesvd attribute)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.IterativeSVD.logs",false]],"logs (imputegap.recovery.imputation.imputation.matrixcompletion.rosl attribute)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.ROSL.logs",false]],"logs (imputegap.recovery.imputation.imputation.matrixcompletion.softimpute attribute)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.SoftImpute.logs",false]],"logs (imputegap.recovery.imputation.imputation.matrixcompletion.spirit attribute)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.SPIRIT.logs",false]],"logs (imputegap.recovery.imputation.imputation.matrixcompletion.svt attribute)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.SVT.logs",false]],"logs (imputegap.recovery.imputation.imputation.matrixcompletion.trmf attribute)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.TRMF.logs",false]],"logs (imputegap.recovery.imputation.imputation.patternsearch.dynammo attribute)":[[34,"imputegap.recovery.imputation.Imputation.PatternSearch.DynaMMo.logs",false]],"logs (imputegap.recovery.imputation.imputation.patternsearch.stmvl attribute)":[[34,"imputegap.recovery.imputation.Imputation.PatternSearch.STMVL.logs",false]],"logs (imputegap.recovery.imputation.imputation.patternsearch.tkcm attribute)":[[34,"imputegap.recovery.imputation.Imputation.PatternSearch.TKCM.logs",false]],"logs (imputegap.recovery.imputation.imputation.statistics.interpolation attribute)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.Interpolation.logs",false]],"logs (imputegap.recovery.imputation.imputation.statistics.knn attribute)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.KNN.logs",false]],"logs (imputegap.recovery.imputation.imputation.statistics.meanimpute attribute)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.MeanImpute.logs",false]],"logs (imputegap.recovery.imputation.imputation.statistics.meanimputebyseries attribute)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.MeanImputeBySeries.logs",false]],"logs (imputegap.recovery.imputation.imputation.statistics.minimpute attribute)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.MinImpute.logs",false]],"logs (imputegap.recovery.imputation.imputation.statistics.zeroimpute attribute)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.ZeroImpute.logs",false]],"mean_impute() (in module imputegap.algorithms.mean_impute)":[[36,"imputegap.algorithms.mean_impute.mean_impute",false]],"min_impute() (in module imputegap.algorithms.min_impute)":[[37,"imputegap.algorithms.min_impute.min_impute",false]],"missing_completely_at_random() (imputegap.recovery.manager.timeseries.contamination method)":[[35,"imputegap.recovery.manager.TimeSeries.Contamination.missing_completely_at_random",false]],"missing_percentage() (imputegap.recovery.manager.timeseries.contamination method)":[[35,"imputegap.recovery.manager.TimeSeries.Contamination.missing_percentage",false]],"module":[[0,"module-imputegap.algorithms",false],[1,"module-imputegap.algorithms.cdrec",false],[2,"module-imputegap.algorithms.iim",false],[3,"module-imputegap.algorithms.mean_impute",false],[4,"module-imputegap.algorithms.min_impute",false],[5,"module-imputegap.algorithms.mrnn",false],[6,"module-imputegap.algorithms.stmvl",false],[7,"module-imputegap.algorithms.zero_impute",false],[8,"module-imputegap.recovery.benchmark",false],[9,"module-imputegap.recovery.benchmark",false],[10,"module-imputegap.recovery.evaluation",false],[11,"module-imputegap.recovery.explainer",false],[12,"module-imputegap.recovery.imputation",false],[13,"module-imputegap.recovery.manager",false],[14,"module-imputegap.recovery.optimization",false],[15,"module-imputegap.tools",false],[16,"module-imputegap.tools.algorithm_parameters",false],[17,"module-imputegap.tools.utils",false],[18,"module-imputegap.wrapper",false],[26,"module-imputegap",false],[27,"module-imputegap.tools",false],[27,"module-imputegap.tools.algorithm_parameters",false],[28,"module-imputegap.algorithms",false],[29,"module-0",false],[29,"module-imputegap.recovery.benchmark",false],[30,"module-imputegap.algorithms.cdrec",false],[31,"module-0",false],[31,"module-imputegap.recovery.evaluation",false],[32,"module-imputegap.recovery.explainer",false],[33,"module-imputegap.algorithms.iim",false],[34,"module-imputegap.recovery.imputation",false],[35,"module-imputegap.recovery.manager",false],[36,"module-imputegap.algorithms.mean_impute",false],[37,"module-imputegap.algorithms.min_impute",false],[38,"module-imputegap.algorithms.mrnn",false],[39,"module-imputegap.recovery.optimization",false],[40,"module-imputegap.algorithms.stmvl",false],[41,"module-imputegap.tools",false],[42,"module-imputegap.tools",false],[42,"module-imputegap.tools.utils",false],[43,"module-imputegap.wrapper",false],[44,"module-imputegap.algorithms.zero_impute",false]],"mrnn() (in module imputegap.algorithms.mrnn)":[[38,"imputegap.algorithms.mrnn.mrnn",false]],"native_cdrec() (in module imputegap.algorithms.cdrec)":[[30,"imputegap.algorithms.cdrec.native_cdrec",false]],"native_stmvl() (in module imputegap.algorithms.stmvl)":[[40,"imputegap.algorithms.stmvl.native_stmvl",false]],"normalize() (imputegap.recovery.manager.timeseries method)":[[35,"imputegap.recovery.manager.TimeSeries.normalize",false]],"optimization (class in imputegap.recovery.optimization)":[[39,"imputegap.recovery.optimization.Optimization",false]],"optimization.bayesian (class in imputegap.recovery.optimization)":[[39,"imputegap.recovery.optimization.Optimization.Bayesian",false]],"optimization.greedy (class in imputegap.recovery.optimization)":[[39,"imputegap.recovery.optimization.Optimization.Greedy",false]],"optimization.particleswarm (class in imputegap.recovery.optimization)":[[39,"imputegap.recovery.optimization.Optimization.ParticleSwarm",false]],"optimization.raytune (class in imputegap.recovery.optimization)":[[39,"imputegap.recovery.optimization.Optimization.RayTune",false]],"optimization.successivehalving (class in imputegap.recovery.optimization)":[[39,"imputegap.recovery.optimization.Optimization.SuccessiveHalving",false]],"optimize() (imputegap.recovery.optimization.baseoptimizer method)":[[39,"imputegap.recovery.optimization.BaseOptimizer.optimize",false]],"optimize() (imputegap.recovery.optimization.optimization.bayesian method)":[[39,"imputegap.recovery.optimization.Optimization.Bayesian.optimize",false]],"optimize() (imputegap.recovery.optimization.optimization.greedy method)":[[39,"imputegap.recovery.optimization.Optimization.Greedy.optimize",false]],"optimize() (imputegap.recovery.optimization.optimization.particleswarm method)":[[39,"imputegap.recovery.optimization.Optimization.ParticleSwarm.optimize",false]],"optimize() (imputegap.recovery.optimization.optimization.raytune method)":[[39,"imputegap.recovery.optimization.Optimization.RayTune.optimize",false]],"optimize() (imputegap.recovery.optimization.optimization.successivehalving method)":[[39,"imputegap.recovery.optimization.Optimization.SuccessiveHalving.optimize",false]],"overlap() (imputegap.recovery.manager.timeseries.contamination method)":[[35,"imputegap.recovery.manager.TimeSeries.Contamination.overlap",false]],"percentage_shift() (imputegap.recovery.manager.timeseries.contamination method)":[[35,"imputegap.recovery.manager.TimeSeries.Contamination.percentage_shift",false]],"plot() (imputegap.recovery.manager.timeseries method)":[[35,"imputegap.recovery.manager.TimeSeries.plot",false]],"print() (imputegap.recovery.explainer.explainer method)":[[32,"imputegap.recovery.explainer.Explainer.print",false]],"print() (imputegap.recovery.manager.timeseries method)":[[35,"imputegap.recovery.manager.TimeSeries.print",false]],"print_results() (imputegap.recovery.manager.timeseries method)":[[35,"imputegap.recovery.manager.TimeSeries.print_results",false]],"save_optimization() (in module imputegap.tools.utils)":[[42,"imputegap.tools.utils.save_optimization",false]],"score() (imputegap.recovery.imputation.baseimputer method)":[[34,"imputegap.recovery.imputation.BaseImputer.score",false]],"score() (imputegap.recovery.imputation.imputation.deeplearning.bayotide method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.BayOTIDE.score",false]],"score() (imputegap.recovery.imputation.imputation.deeplearning.bitgraph method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.BitGraph.score",false]],"score() (imputegap.recovery.imputation.imputation.deeplearning.brits method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.BRITS.score",false]],"score() (imputegap.recovery.imputation.imputation.deeplearning.deepmvi method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.DeepMVI.score",false]],"score() (imputegap.recovery.imputation.imputation.deeplearning.gain method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.GAIN.score",false]],"score() (imputegap.recovery.imputation.imputation.deeplearning.grin method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.GRIN.score",false]],"score() (imputegap.recovery.imputation.imputation.deeplearning.hkmf_t method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.HKMF_T.score",false]],"score() (imputegap.recovery.imputation.imputation.deeplearning.missnet method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.MissNet.score",false]],"score() (imputegap.recovery.imputation.imputation.deeplearning.mpin method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.MPIN.score",false]],"score() (imputegap.recovery.imputation.imputation.deeplearning.mrnn method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.MRNN.score",false]],"score() (imputegap.recovery.imputation.imputation.deeplearning.pristi method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.PRISTI.score",false]],"score() (imputegap.recovery.imputation.imputation.machinelearning.iim method)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.IIM.score",false]],"score() (imputegap.recovery.imputation.imputation.machinelearning.mice method)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.MICE.score",false]],"score() (imputegap.recovery.imputation.imputation.machinelearning.missforest method)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.MissForest.score",false]],"score() (imputegap.recovery.imputation.imputation.machinelearning.xgboost method)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.XGBOOST.score",false]],"score() (imputegap.recovery.imputation.imputation.matrixcompletion.cdrec method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.CDRec.score",false]],"score() (imputegap.recovery.imputation.imputation.matrixcompletion.grouse method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.GROUSE.score",false]],"score() (imputegap.recovery.imputation.imputation.matrixcompletion.iterativesvd method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.IterativeSVD.score",false]],"score() (imputegap.recovery.imputation.imputation.matrixcompletion.rosl method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.ROSL.score",false]],"score() (imputegap.recovery.imputation.imputation.matrixcompletion.softimpute method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.SoftImpute.score",false]],"score() (imputegap.recovery.imputation.imputation.matrixcompletion.spirit method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.SPIRIT.score",false]],"score() (imputegap.recovery.imputation.imputation.matrixcompletion.svt method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.SVT.score",false]],"score() (imputegap.recovery.imputation.imputation.matrixcompletion.trmf method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.TRMF.score",false]],"score() (imputegap.recovery.imputation.imputation.patternsearch.dynammo method)":[[34,"imputegap.recovery.imputation.Imputation.PatternSearch.DynaMMo.score",false]],"score() (imputegap.recovery.imputation.imputation.patternsearch.stmvl method)":[[34,"imputegap.recovery.imputation.Imputation.PatternSearch.STMVL.score",false]],"score() (imputegap.recovery.imputation.imputation.patternsearch.tkcm method)":[[34,"imputegap.recovery.imputation.Imputation.PatternSearch.TKCM.score",false]],"score() (imputegap.recovery.imputation.imputation.statistics.interpolation method)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.Interpolation.score",false]],"score() (imputegap.recovery.imputation.imputation.statistics.knn method)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.KNN.score",false]],"score() (imputegap.recovery.imputation.imputation.statistics.meanimpute method)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.MeanImpute.score",false]],"score() (imputegap.recovery.imputation.imputation.statistics.meanimputebyseries method)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.MeanImputeBySeries.score",false]],"score() (imputegap.recovery.imputation.imputation.statistics.minimpute method)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.MinImpute.score",false]],"score() (imputegap.recovery.imputation.imputation.statistics.zeroimpute method)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.ZeroImpute.score",false]],"search_path() (in module imputegap.tools.utils)":[[42,"imputegap.tools.utils.search_path",false]],"shap_explainer() (imputegap.recovery.explainer.explainer method)":[[32,"imputegap.recovery.explainer.Explainer.shap_explainer",false]],"stmvl() (in module imputegap.algorithms.stmvl)":[[40,"imputegap.algorithms.stmvl.stmvl",false]],"timeseries (class in imputegap.recovery.manager)":[[35,"imputegap.recovery.manager.TimeSeries",false]],"timeseries.contamination (class in imputegap.recovery.manager)":[[35,"imputegap.recovery.manager.TimeSeries.Contamination",false]],"verification_limitation() (in module imputegap.tools.utils)":[[42,"imputegap.tools.utils.verification_limitation",false]],"zero_impute() (in module imputegap.algorithms.zero_impute)":[[44,"imputegap.algorithms.zero_impute.zero_impute",false]]},"objects":{"":[[26,0,0,"-","imputegap"]],"imputegap":[[28,0,0,"-","algorithms"],[42,0,0,"-","tools"],[43,0,0,"-","wrapper"]],"imputegap.algorithms":[[30,0,0,"-","cdrec"],[33,0,0,"-","iim"],[36,0,0,"-","mean_impute"],[37,0,0,"-","min_impute"],[38,0,0,"-","mrnn"],[40,0,0,"-","stmvl"],[44,0,0,"-","zero_impute"]],"imputegap.algorithms.cdrec":[[30,1,1,"","cdrec"],[30,1,1,"","native_cdrec"]],"imputegap.algorithms.iim":[[33,1,1,"","iim"]],"imputegap.algorithms.mean_impute":[[36,1,1,"","mean_impute"]],"imputegap.algorithms.min_impute":[[37,1,1,"","min_impute"]],"imputegap.algorithms.mrnn":[[38,1,1,"","mrnn"]],"imputegap.algorithms.stmvl":[[40,1,1,"","native_stmvl"],[40,1,1,"","stmvl"]],"imputegap.algorithms.zero_impute":[[44,1,1,"","zero_impute"]],"imputegap.recovery":[[29,0,0,"module-0","benchmark"],[31,0,0,"module-0","evaluation"],[32,0,0,"-","explainer"],[34,0,0,"-","imputation"],[35,0,0,"-","manager"],[39,0,0,"-","optimization"]],"imputegap.recovery.benchmark":[[29,2,1,"id0","Benchmark"]],"imputegap.recovery.benchmark.Benchmark":[[29,3,1,"id17","average_runs_by_names"],[29,3,1,"id20","avg_results"],[29,3,1,"id23","eval"],[29,3,1,"id27","generate_heatmap"],[29,3,1,"id30","generate_plots"],[29,3,1,"id34","generate_reports_excel"],[29,3,1,"id37","generate_reports_txt"]],"imputegap.recovery.evaluation":[[31,2,1,"id0","Evaluation"]],"imputegap.recovery.evaluation.Evaluation":[[31,3,1,"id6","compute_all_metrics"],[31,3,1,"id8","compute_correlation"],[31,3,1,"id10","compute_mae"],[31,3,1,"id12","compute_mi"],[31,3,1,"id14","compute_rmse"]],"imputegap.recovery.explainer":[[32,2,1,"","Explainer"]],"imputegap.recovery.explainer.Explainer":[[32,3,1,"","convert_results"],[32,3,1,"","execute_shap_model"],[32,3,1,"","extractor_pycatch"],[32,3,1,"","extractor_tsfel"],[32,3,1,"","extractor_tsfresh"],[32,3,1,"","load_configuration"],[32,3,1,"","print"],[32,3,1,"","shap_explainer"]],"imputegap.recovery.imputation":[[34,2,1,"","BaseImputer"],[34,2,1,"","Imputation"]],"imputegap.recovery.imputation.BaseImputer":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation":[[34,2,1,"","DeepLearning"],[34,2,1,"","MachineLearning"],[34,2,1,"","MatrixCompletion"],[34,2,1,"","PatternSearch"],[34,2,1,"","Statistics"],[34,3,1,"","evaluate_params"]],"imputegap.recovery.imputation.Imputation.DeepLearning":[[34,2,1,"","BRITS"],[34,2,1,"","BayOTIDE"],[34,2,1,"","BitGraph"],[34,2,1,"","DeepMVI"],[34,2,1,"","GAIN"],[34,2,1,"","GRIN"],[34,2,1,"","HKMF_T"],[34,2,1,"","MPIN"],[34,2,1,"","MRNN"],[34,2,1,"","MissNet"],[34,2,1,"","PRISTI"]],"imputegap.recovery.imputation.Imputation.DeepLearning.BRITS":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.DeepLearning.BayOTIDE":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.DeepLearning.BitGraph":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.DeepLearning.DeepMVI":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.DeepLearning.GAIN":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.DeepLearning.GRIN":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.DeepLearning.HKMF_T":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.DeepLearning.MPIN":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.DeepLearning.MRNN":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.DeepLearning.MissNet":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.DeepLearning.PRISTI":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.MachineLearning":[[34,2,1,"","IIM"],[34,2,1,"","MICE"],[34,2,1,"","MissForest"],[34,2,1,"","XGBOOST"]],"imputegap.recovery.imputation.Imputation.MachineLearning.IIM":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.MachineLearning.MICE":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.MachineLearning.MissForest":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.MachineLearning.XGBOOST":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.MatrixCompletion":[[34,2,1,"","CDRec"],[34,2,1,"","GROUSE"],[34,2,1,"","IterativeSVD"],[34,2,1,"","ROSL"],[34,2,1,"","SPIRIT"],[34,2,1,"","SVT"],[34,2,1,"","SoftImpute"],[34,2,1,"","TRMF"]],"imputegap.recovery.imputation.Imputation.MatrixCompletion.CDRec":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.MatrixCompletion.GROUSE":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.MatrixCompletion.IterativeSVD":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.MatrixCompletion.ROSL":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.MatrixCompletion.SPIRIT":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.MatrixCompletion.SVT":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.MatrixCompletion.SoftImpute":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.MatrixCompletion.TRMF":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.PatternSearch":[[34,2,1,"","DynaMMo"],[34,2,1,"","STMVL"],[34,2,1,"","TKCM"]],"imputegap.recovery.imputation.Imputation.PatternSearch.DynaMMo":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.PatternSearch.STMVL":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.PatternSearch.TKCM":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.Statistics":[[34,2,1,"","Interpolation"],[34,2,1,"","KNN"],[34,2,1,"","MeanImpute"],[34,2,1,"","MeanImputeBySeries"],[34,2,1,"","MinImpute"],[34,2,1,"","ZeroImpute"]],"imputegap.recovery.imputation.Imputation.Statistics.Interpolation":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.Statistics.KNN":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.Statistics.MeanImpute":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.Statistics.MeanImputeBySeries":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.Statistics.MinImpute":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.Statistics.ZeroImpute":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.manager":[[35,2,1,"","TimeSeries"]],"imputegap.recovery.manager.TimeSeries":[[35,2,1,"","Contamination"],[35,3,1,"","import_matrix"],[35,3,1,"","load_series"],[35,3,1,"","normalize"],[35,3,1,"","plot"],[35,3,1,"","print"],[35,3,1,"","print_results"]],"imputegap.recovery.manager.TimeSeries.Contamination":[[35,3,1,"","blackout"],[35,3,1,"","disjoint"],[35,3,1,"","distribution"],[35,3,1,"","gaussian"],[35,3,1,"","missing_completely_at_random"],[35,3,1,"","missing_percentage"],[35,3,1,"","overlap"],[35,3,1,"","percentage_shift"]],"imputegap.recovery.optimization":[[39,2,1,"","BaseOptimizer"],[39,2,1,"","Optimization"]],"imputegap.recovery.optimization.BaseOptimizer":[[39,3,1,"","optimize"]],"imputegap.recovery.optimization.Optimization":[[39,2,1,"","Bayesian"],[39,2,1,"","Greedy"],[39,2,1,"","ParticleSwarm"],[39,2,1,"","RayTune"],[39,2,1,"","SuccessiveHalving"]],"imputegap.recovery.optimization.Optimization.Bayesian":[[39,3,1,"","optimize"]],"imputegap.recovery.optimization.Optimization.Greedy":[[39,3,1,"","optimize"]],"imputegap.recovery.optimization.Optimization.ParticleSwarm":[[39,3,1,"","optimize"]],"imputegap.recovery.optimization.Optimization.RayTune":[[39,3,1,"","optimize"]],"imputegap.recovery.optimization.Optimization.SuccessiveHalving":[[39,3,1,"","optimize"]],"imputegap.tools":[[27,0,0,"-","algorithm_parameters"],[42,0,0,"-","utils"]],"imputegap.tools.utils":[[42,1,1,"","config_contamination"],[42,1,1,"","config_impute_algorithm"],[42,1,1,"","display_title"],[42,1,1,"","list_of_algorithms"],[42,1,1,"","list_of_datasets"],[42,1,1,"","list_of_downstreams"],[42,1,1,"","list_of_optimizers"],[42,1,1,"","list_of_patterns"],[42,1,1,"","load_parameters"],[42,1,1,"","load_share_lib"],[42,1,1,"","save_optimization"],[42,1,1,"","search_path"],[42,1,1,"","verification_limitation"]]},"objnames":{"0":["py","module","Python module"],"1":["py","function","Python function"],"2":["py","class","Python class"],"3":["py","method","Python method"],"4":["py","attribute","Python attribute"]},"objtypes":{"0":"py:module","1":"py:function","2":"py:class","3":"py:method","4":"py:attribute"},"terms":{"":[19,24,33,34,42,47,49],"0":[20,23,29,30,32,34,35,38,40,42,44,47,48,49,50],"000001":30,"00023":[33,34],"00040669209664367576":29,"000461578369140625":29,"00048422813415527344":29,"0005095005035400391":29,"0005536079406738281":29,"0005743503570556641":29,"0005755424499511719":29,"0009615421295166016":29,"001":[34,38],"0010058879852294922":29,"0010309219360351562":29,"001056671142578125":29,"0014975078469404196":29,"00150":34,"0019745826721191406":29,"0020699501037597656":29,"0022056102752685547":29,"002231597900390625":29,"00298":[19,34],"003415822982788086":29,"0035880775657246428":29,"00482487678527832":29,"006171770470542263":29,"007096290588378906":29,"0072672367095947266":29,"007429599761962891":29,"007513931343350665":29,"00801849365234375":29,"01":[34,42],"010712060535523":29,"01121013333181846":29,"0112488396023014":29,"011590260996247858":29,"0125309431502871":29,"013509125598802707":29,"01421":[30,34],"0143105930114702":29,"01600":34,"0160968166750064":29,"01713728904724121":29,"0183962968474991":29,"019":[30,34],"020630168509677818":29,"021165172206064526":29,"02915935932568557":29,"02920":34,"0317754516097355":29,"03436":19,"037161060882302754":29,"0379347892718205":29,"04155403791391449":29,"042899370193481445":29,"043192148208618164":29,"04321551322937012":29,"04391813278198242":29,"0441472017887297":29,"04829454421997":29,"05":[20,29,35,42],"0552448338389784":29,"06361822797740405":29,"064299483512458":29,"06616526470761779":29,"07010293006897":29,"07344":[19,34],"0807965786089415":29,"08459032692102293":29,"09218788146972656":29,"09549617767333984":29,"09925566629402761":29,"1":[19,20,29,30,31,32,34,35,37,39,40,42,44,47,48,49,50],"10":[19,25,30,32,33,34,35,38,39,42,48,49],"100":[30,32,34,39,42,47,49],"1000":[34,38],"1007":[30,34],"10781252370591506":29,"10793352127075":29,"10881781578063965":29,"10908095436833125":29,"1093":34,"11":[19,34],"1109":[33,34,38],"112":[19,34],"11218049973594252":29,"1129295825958252":29,"1145":34,"1167751522591498":29,"118":[19,34],"11876685901414151":29,"11924522547609226":29,"12":19,"12567590499764303":29,"13":[19,20,25],"13422239939628303":29,"13619797235197734":29,"1380846624733049":29,"13894771223733138":29,"14":19,"1460":[19,34],"1468":[19,34],"14709529129218185":29,"1477":[19,34,38],"1490":[19,34,38],"14906":34,"15":[19,32,34,35],"1516089897042538":29,"151907444000244":29,"15th":34,"16":[34,35],"160":[33,34],"16953644212278182":29,"17":[19,34],"17044353485107422":29,"171":[33,34],"17184901237487793":29,"1728806495666504":29,"17329692840576172":29,"1806":34,"18152059329152104":29,"186191167936035":29,"1927":[19,34],"1939":[19,34],"1956":[19,34],"1960":34,"1974":29,"1982":[19,34],"19th":34,"2":[19,20,29,33,34,35,36,37,39,40,44,47,49,50],"20":[19,34,49],"200":[34,48],"2001":[19,34],"2004":19,"2005":[19,34],"2009":[19,34],"2010":[19,34],"2011":[19,34],"2012":[19,34],"2014":[19,34],"2016":[19,34],"2017":[19,34],"2018":[19,34,38],"2019":[19,33,34,38],"2020":[19,20,30,34],"2021":[19,34],"2022":19,"2023":[19,34],"2024":[19,34],"2025":25,"20th":34,"21":34,"2103":34,"2108":[19,34],"22":[19,34],"22056702659999994":29,"2257":[19,30,34],"2280":[19,30,34],"2287":[19,34],"2296":[19,34],"22nd":34,"23":[19,34],"2306":[19,34],"2308":34,"2311":[19,34],"2322":[19,34],"23303624184873978":29,"2366529609250008":29,"2380077838897705":29,"24":[19,34],"24340565131372927":29,"25":[19,34],"250":39,"2533":19,"2545":19,"255":29,"256":49,"26":19,"2696133927362288":29,"27":19,"2704":19,"2710":19,"2730547993858495":29,"2739817718416822":29,"2753022759369617":29,"28":[19,34],"2874712":[34,38],"29":[19,34],"2939506418814281":29,"2939672":34,"2939785":34,"2971190":34,"2d":[29,32,45],"3":[19,25,34,35,36,49],"30":[19,34],"302":34,"306":34,"30th":34,"31":[19,34],"31524085998535":29,"31st":34,"32":[19,34],"32988968428439397":29,"33":[19,20,29,34],"330":[19,34],"341":[19,34],"34494332493982044":29,"346560495723809":29,"35":29,"3582":[19,34],"3593":[19,34],"35th":[33,34],"3637528":34,"3671760":34,"37254427425455994":29,"38695094864012947":29,"3874":[19,34],"3881":[19,34],"39007056542870916":29,"3968159514130716":29,"39th":34,"4":[19,20,29,32,34,36,37,42,44,49,50],"40":29,"4155649406397416":29,"42":34,"42237901687622":29,"42568325996399":29,"4355197572001326":29,"439927101135254":29,"4445625930776235":29,"45":[19,34],"479795694351196":29,"49":29,"4924048353228427":29,"5":[19,20,32,34,36,38],"50":[29,32,34,39],"507":[19,34],"516":[19,34],"52":29,"520":[19,34],"525":[19,34],"53373336791992":29,"54":29,"543020248413086":29,"5434405584289141":29,"5650541301828254":29,"5675":19,"5684":19,"5862696375344495":29,"5999574661254883":29,"6":[19,20,29,32,34,36,37,44,49],"6027573766269363":29,"6064670085906982":29,"6077785491943359":29,"6101157665253":29,"6166613101959229":29,"62":[19,30,34],"64":[34,38,49],"66":[19,34,38],"66455388069153":29,"67":34,"6776":19,"6786":19,"6805167198181152":29,"697":[19,34],"7":[19,30,34,35,38,40],"7019459696903068":29,"708":[19,34],"7219362152785619":29,"7312998041323675":29,"7326965517264863":29,"7328867182584357":29,"734e6bfcd358e25ac1db0a4241b95651":34,"7380530834197998":29,"7425412593844177":29,"7426695186604741":29,"7470128536224":29,"7544523683503829":29,"757440007226372":29,"7599852461729673":29,"7610548321723654":29,"761136543268339":29,"7641520748788702":29,"7646823531588104":29,"7672558930795506":29,"768":20,"7774057495176013":29,"782":20,"7826457023620605":29,"783":32,"785":[19,34],"794":[19,34],"7952869439926":29,"8":[19,20,23,29,34,35],"802757cace6d":34,"8134840739732964":29,"814120507570725":29,"8178796825899766":29,"8280959876205578":29,"8390532279447225":29,"840":29,"847":19,"85":[34,40],"8519431955571422":29,"85422afb467e9456013a2a51d4dff702":34,"855":19,"8785057067871094":29,"88247036933899":29,"8944975075266335":29,"9":[19,34,35,49],"9004526656857551":29,"9166777087122915":29,"9180937736429735":29,"919934494058292":29,"9234927128429051":29,"9249744935121553":29,"9293322959355041":29,"9378046989440918":29,"9458508648057621":29,"94813060760498":29,"95":34,"9531900627237018":29,"9562773704528809":29,"968435455112644":29,"9699990038879407":29,"9711348247027318":29,"9829398352220718":29,"9901338133811375":29,"9914069853975623":29,"A":[19,29,31,32,33,34,35,39,42],"As":49,"At":47,"BE":19,"BY":34,"By":32,"FOR":34,"If":[25,29,32,34,35,36,37,42,49],"In":[34,45,49],"It":[24,35,36,37,45],"One":34,"That":34,"The":[20,22,23,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,47,49,50],"To":[25,49,50],"WITH":34,"With":[19,34],"_":19,"__init__":[26,34,35],"__py_alpha":40,"__py_epsilon":30,"__py_gamma":40,"__py_iter":30,"__py_matrix":[30,40],"__py_rank":30,"__py_window":40,"_check_param":34,"_object":39,"_optim":34,"a0":34,"ab":[19,34],"about":34,"absolut":31,"abstract":[34,39],"academi":[34,40],"accept":42,"access":[45,48],"accur":42,"accuraci":34,"acm":34,"acq_func":[34,39],"acquisit":[34,39],"across":[24,29],"action":33,"activ":34,"ad":[34,47],"adapt":[33,34],"addit":[23,24,34,39],"adjust":[42,48],"advanc":[34,40],"adversari":[19,34],"affect":47,"after":[30,34,39,40,47],"against":34,"aggreg":[32,33,34],"ahuja":[19,34],"airq":22,"aistat":[19,34],"alberto":20,"alcohol":[20,22,24,29,48,49],"algo":[29,32],"algo_cod":[33,34],"algorithm":[20,23,24,26,27,28,29,31,32,34,35,39,41,42,43,45,46,49],"alippi":[19,34],"all":[19,22,29,32,34,35,36,37,40,44,47,50],"allow":[30,35],"alon":34,"alpha":[34,40],"alreadi":35,"also":35,"altern":25,"altman":[19,34],"amount":31,"an":[20,23,25,29,34,42,47,49],"anaheim":34,"analysi":[20,32,33,34,45],"analyz":45,"andrea":19,"ani":[25,35,50],"anton":19,"aoqian":19,"api":[45,48],"append":50,"appli":[29,32,34,35],"applic":[23,35],"approach":38,"appropri":49,"approxim":34,"ar":[19,32,34,35,38,45,47,49],"arang":50,"arbitrari":47,"arg":34,"argument":34,"arrai":[29,32,34,35,36,37,44],"art":45,"articl":34,"artifici":34,"arxiv":34,"assess":45,"asset":[35,49],"assign":34,"associ":[34,35],"assumpt":32,"attribut":[19,34],"august":34,"aut":42,"author":[25,40,42,44],"auto":34,"autocorrel":32,"autom":45,"automl":[34,49],"autoregress":34,"avail":[19,22,32,34,47,49],"averag":[29,31],"average_runs_by_nam":29,"avg_result":29,"avoid":34,"b":[19,34,42],"b0":34,"back":47,"bafu":[22,35],"balanc":34,"balzano":[19,34],"bansal":[19,34],"base":[29,30,31,32,34,35,38,39,42,48],"baseimput":[26,34,42],"baseoptim":[26,39],"basic":32,"batch":34,"batch_siz":34,"bay_otid":34,"bay_otide_imput":34,"bayesian":[19,26,29,34,39],"bayotid":[19,34],"bed":20,"been":[29,36,37,44],"befor":34,"begin":[32,35,47],"behavior":[24,33,45],"being":[31,35],"belong":32,"below":23,"benchmark":45,"best":39,"beta":34,"better":40,"between":[31,34,42,47],"bia":34,"bias":[19,34],"bidirect":[19,34],"big":34,"bioinform":19,"bioinformat":[19,34],"biom":19,"biomed":[34,38],"bit_graph":34,"bit_graph_imput":34,"bitgraph":[19,34],"blackout":[19,34,35,42],"block":[19,30,32,34,35,42],"block_siz":[32,35,42,49],"block_size_mcar":42,"bo":19,"bool":[29,30,32,33,34,35,38,42],"boost":[19,34],"botstein":[19,34],"bound":42,"bowen":19,"brit":[19,34],"brits_i_univ":34,"brits_imput":34,"brown":[19,34],"btr597":34,"buck":34,"built":45,"buuren":34,"b\u00f6hlen":[19,30,34],"b\u00fchlmann":[19,34],"c":[30,34,40,45],"c1":[34,39],"c2":[34,39],"ca":34,"cadiz":34,"cai":[19,34],"calcul":[29,32],"call":[23,34,39,49],"cambronero":34,"can":[20,25,32,34,35,44,48,49],"cand\u00e8":[19,34],"cantor":[19,34],"cao":[19,34],"capac":34,"captur":34,"carlo":[19,34],"catch24":32,"categor":29,"categori":32,"cater":45,"cc":34,"cd":25,"cdll":42,"cdrec":[19,20,23,24,26,29,32,34,39,40,42,44,46,49],"cdrec_imput":34,"centroid":[30,34],"cesar":19,"ch":[21,45],"chain":[19,34],"charact":35,"characterist":45,"check":[34,42,45],"chen":[19,34],"chen1":34,"chenxiaodanhit":34,"china":[33,34],"chines":[34,40],"chlorin":[22,23,42],"choic":20,"chosen":[20,47,49],"christian":19,"christo":19,"cini":[19,34],"class":[8,9,10,11,12,13,14,29,31,32,34,35,39],"classifi":33,"climat":22,"clone":25,"close":34,"cluster":34,"code":[33,34,48,49,50],"coeffici":[31,34,39],"coevolv":[19,34],"columbu":34,"column":[29,30,34,45],"com":[25,34],"come":49,"command":25,"common":[20,34,39],"commonli":45,"compar":[20,31],"compat":[25,45],"complet":[19,29,34,35,47,49],"complex":[34,44],"compon":[34,40,49],"compos":49,"comprehens":[29,45],"comput":[23,31,32,33,34,35,49,50],"compute_all_metr":[26,31],"compute_correl":[26,31],"compute_ma":[26,31],"compute_mi":[26,31],"compute_rms":[26,31],"condit":[19,34],"confer":[33,34],"config":[32,34],"config_contamin":[26,42],"config_impute_algorithm":[26,42],"configur":[24,29,32,34,39,42,45,49],"consid":34,"constant":34,"contain":[22,29,30,31,32,33,34,35,36,37,38,39,40,42,44,49],"contamin":[23,26,29,30,31,32,33,34,35,36,37,38,39,40,42,45,50],"content":46,"contextu":34,"continu":[19,34,47],"contribut":34,"control":[20,34],"converg":[19,34],"convert":[32,42],"convert_result":[26,32],"convolut":[19,34],"core":45,"corr":[19,34],"correct":42,"correl":[19,29,30,31,34,38],"correspond":[34,39],"corrupt":[19,34],"coupl":34,"cover":50,"cpu":[34,39],"creat":[29,47],"criteria":[34,45],"criterion":30,"cross":[19,30,32,34],"ctype":42,"cuda":34,"cudr\u00e9":[19,20,30,34],"current":[23,32,44],"custom":[20,30,32,42,45],"cvpr":[19,34],"d":[34,35,50],"d_hidden":34,"daniel":[19,34],"data":[19,23,24,29,30,31,32,33,34,35,36,37,38,40,42,44,47,48,49,50],"data_nam":34,"databas":34,"dataset":[20,29,31,32,34,35,36,37,39,42,44,45,47,48,49],"dataset_r":42,"david":[19,34],"decai":34,"decim":42,"decomposit":[19,30,34],"dedic":23,"deep":[19,34,49],"deep_mvi":34,"deep_mvi_imput":34,"deeplearn":[26,34],"deepmvi":[19,34],"default":[29,30,32,33,34,35,36,37,38,39,42,44,47,49],"defin":[23,34,49],"dejiao":19,"demonstr":23,"depend":[29,33,34],"der":[19,34,38],"descent":[19,34],"describ":49,"descript":32,"deshpand":[19,34],"desir":32,"detail":[29,32,34,45],"determin":[19,32,33,34],"develop":[19,47],"deviat":[32,34,35,48],"devic":34,"dhillon":[19,34],"diagnost":[34,38],"dict":[29,31,32,34,35,36,37,39,42,44],"dictionari":[23,29,31,32,34,35,42,49],"differ":[24,30,33,35,39,43,49],"diffus":[19,34],"dign\u00f6":[19,34],"dimens":[32,34,38,49],"dimension":[19,34],"direct":[19,34,38],"directori":[29,32],"discoveri":[19,34],"disjoint":[35,42,47],"displai":[29,32,35,42,49],"display_titl":[26,42],"distanc":34,"distribut":[34,35,47,48,49],"divers":45,"divid":[42,48],"dl":34,"dna":[19,34],"do_catch24":32,"document":[26,34,46,48],"doi":[30,33,34,38],"domain":32,"dong":19,"downstream":[34,45],"downstream_config":23,"downstream_metr":23,"downstream_model":23,"dr":21,"drift":[22,29],"dropout":34,"du":[19,34],"dure":[34,39,49],"dynam":[32,34],"dynammo":[19,34],"dynammo_imput":34,"e":[25,29,32,34,35,39,42],"each":[24,29,32,34,35,39,45,47,49],"earli":34,"earlier":34,"easili":45,"edbt":[19,34],"eeg":[20,22,24,29,48,49],"effect":20,"effici":[19,20,34,35,45],"ei":34,"eigencompon":34,"eight":49,"either":49,"electr":22,"electrod":49,"electron":34,"embed":34,"emmanuel":19,"empti":[42,45],"enabl":[34,48],"encourag":34,"end":[35,47],"endow":[19,20],"enforc":34,"eng":19,"engin":[33,34,38],"ensur":[45,48],"entir":[32,34],"entropi":32,"environ":25,"epoch":[34,49],"epsilon":[30,34],"equal":34,"equat":[19,34],"error":[31,34],"estim":[19,33,34,38],"eta":34,"etc":39,"eval":[20,29],"evalu":[20,26,27,28,34,39,41,42,45,46],"evaluate_param":[26,34],"everi":47,"exampl":[23,32,49,50],"exascaleinfolab":25,"excel":29,"except":25,"execut":[29,30,33,34,35,38,40,42],"execute_shap_model":[26,32],"expand":23,"expect":32,"experi":45,"experiment":20,"explain":[26,35,42,45,46],"explan":[24,32,35],"explor":45,"expon":32,"express":35,"extend":[19,34],"extens":[44,45],"extern":34,"extract":32,"extractor":[24,32],"extractor_pycatch":[26,32],"extractor_tsfel":[26,32],"extractor_tsfresh":[26,32],"extrem":34,"f":[23,34,49],"face":25,"factor":[19,34,39],"faloutso":[19,34],"fals":[29,32,34,35,42,49],"famili":[19,49],"fang":[19,34],"fast":34,"faster":34,"fatih":19,"featur":[24,32,34,45],"feature_nam":32,"features_categori":32,"features_list":32,"feng":[19,34],"feser":34,"fft":32,"figur":29,"file":[29,30,32,34,35,42,48,49],"file_nam":[24,32,42],"file_path":32,"fill":[19,34,36,37,40],"filter":32,"final":34,"find":[36,37,39,42,45,49],"fine":[20,45,49],"first":47,"five":49,"fix":48,"flag":32,"flaot":32,"float":[29,30,31,32,34,35,38,39,40,42],"fmri":22,"follow":[20,25,44,45,47,48,49,50],"forcast":[23,34],"forecast":[19,23,34],"forest":34,"forget":34,"forgotten":34,"format":[32,34,35,42,49],"formatted_feature_nam":32,"foster":45,"four":32,"fractal":32,"framework":[19,34,43,45],"franc":34,"frequenc":32,"fribourg":42,"friendli":45,"from":[19,20,23,24,25,32,34,35,36,37,42,47,48,49,50],"fu":[19,34],"full":20,"function":[1,2,3,4,5,6,7,17,19,27,28,29,31,32,33,34,36,37,38,39,41,42,43],"futur":[23,44],"g":[19,29,32,34,35,39,42],"gain":[19,34],"gain_imput":34,"gamma":[34,40],"gamper":[19,34],"gap":20,"gaussian":[34,35,39,42,50],"gavin":[19,34],"gcn":34,"gener":[19,29,32,34],"generate_heatmap":29,"generate_plot":29,"generate_reports_excel":29,"generate_reports_txt":29,"genet":49,"geo":[19,34,40],"get":32,"git":25,"github":[25,34],"give":31,"given":[34,39,42,47],"global":[19,34,39],"gp_hedg":[34,39],"gpu":[34,39],"gradient":[19,34],"grain":45,"graph":[19,34],"grassmannian":[19,34],"greater":[30,34],"greedi":[26,34,39],"grin":[19,34],"grin_imput":34,"groothui":34,"ground":[31,34,39,49],"group":[32,34],"grous":[19,34],"grouse_imput":34,"guestrin":[19,34],"guid":45,"h":[19,30,34],"ha":[29,35],"halv":[34,39],"han":19,"handl":[27,28,30,31,32,33,36,37,38,40,41,42,44],"hankel":[19,34],"hann":19,"hao":19,"hasti":[19,34],"have":[20,34,36,37,39,44],"hd":29,"header":[29,35],"heatmap":29,"help":[34,35],"here":25,"hidden":[34,38],"hidden_dim":[34,38],"hidden_lay":34,"high":[19,30,34,42],"high_limit":42,"higher":[31,34],"hint":34,"hint_rat":34,"histor":34,"hkmf":[19,34],"hkmf_t":34,"hkmf_t_imput":34,"how":[23,24,31,34,45,49],"hsiang":19,"html":34,"http":[25,30,34],"hua":19,"huan":19,"huang":[19,34],"human":32,"hurst":32,"hybrid":34,"hyperparamet":[34,39,45,49],"hz":49,"i":[23,25,29,30,32,33,34,35,36,37,38,39,40,42,44,45,47],"i_svd_imput":34,"ian":19,"icd":[19,33,34],"icde55515":34,"iclr":19,"icml":19,"identifi":24,"ieee":[19,33,34,38],"ignor":34,"iim":[19,20,26,29,32,34,40,44,46],"iim_imput":34,"ijcai":19,"illustr":[24,49,50],"imag":[34,38],"immedi":47,"impact":[23,24,45],"implement":[19,34,39,40,44,45,49],"import":[20,23,24,32,35,48,49,50],"import_matrix":[26,35],"improv":34,"imput":[19,20,23,24,26,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,44,45,46,48],"imputegap":[19,20,22,23,24,25,28,47,48,49],"imputegap_2025":25,"inch":35,"includ":[20,23,29,31,32,34,35,45,49],"incomp_data":[30,31,32,33,34,35,36,37,38,39,40,42,44,49],"incomplet":[19,34],"incre_mod":34,"increas":[34,39],"increment":34,"inderjit":19,"index":[34,35,45],"indic":[31,34],"individu":[19,33,34,49],"inertia":[34,39],"inf":[19,30,34],"infect":34,"infer":34,"influenc":24,"inform":[29,31,34,40,42],"inherit":34,"init":25,"initi":[23,24,34,35,39,44,48,49],"initial_strategi":34,"inner":35,"input":[30,32,33,34,35,36,37,38,40,44,49],"input_data":[24,31,32,34,35,39,49],"insid":[35,49],"insight":24,"instal":[32,45],"instanc":42,"institut":[34,40,42],"int":[29,30,32,33,34,35,38,39,40,42,50],"integr":45,"intellig":34,"interact":43,"interfac":43,"intern":[33,34],"interpol":[19,34,38],"interpolation_imput":34,"interpret":34,"invers":34,"invok":[40,49],"issu":[25,34],"itali":34,"iter":[30,33,34,38,39],"iterative_svd":34,"iterativeimput":34,"iterativesvd":[19,34],"ivan":19,"j":[19,33,34,40],"jame":19,"januari":34,"java":45,"jensen":[19,34],"jian":19,"jianmin":19,"jiaotong":[34,40],"jimeng":19,"jinsung":19,"jmlr":19,"johann":19,"jordon":[19,34],"journal":[19,34],"jss":34,"jstatsoft":34,"juli":34,"junbo":19,"june":34,"k":[33,34],"k_bia":34,"k_season":34,"k_trend":34,"kai":19,"karin":34,"kawabata":[19,34],"kdd":[19,34],"kei":[32,45],"kept":[34,39],"kernel":34,"kernel_set":34,"kevin":19,"keyword":[33,34,38],"khayati":[19,20,21,25,30,34,45],"knn":[33,34],"knn_imput":34,"knnimput":19,"knowl":[19,30,34],"knowledg":34,"kohei":[19,34],"koheiobata":34,"koki":[19,34],"kwarg":39,"l":34,"label":32,"lag":34,"lambda_f":34,"lambda_valu":34,"lambda_w":34,"lambda_x":34,"languag":45,"larg":[19,31,32,34],"larger":34,"last":35,"latent":34,"later":42,"latest":25,"launch":[20,32],"laura":19,"layer":34,"lcb":34,"learn":[19,30,33,34,38,39,45,49],"learning_neighbor":34,"learning_neighbour":34,"learning_r":[34,38],"lei":19,"leilei":19,"len":50,"length":[34,35,38,47],"lerner":20,"less":[30,34],"let":[24,49],"level":29,"leverag":40,"li":[19,34,40],"liang":19,"lib":42,"lib_cdrec":42,"lib_path":30,"librari":[22,25,29,30,32,42,45,49],"licens":25,"like":[29,34,35,40,44],"limit":[32,34,35,42,47],"limit_ratio":32,"linear":[31,34],"link":48,"list":[20,29,32,34,35,39,49],"list_of_algorithm":[26,42],"list_of_dataset":[26,42],"list_of_downstream":[26,42],"list_of_optim":[26,42],"list_of_pattern":[26,42],"list_result":20,"liu":[19,34],"lmzzml":34,"load":[23,24,32,34,35,42,48],"load_configur":[26,32],"load_paramet":[26,42],"load_seri":[23,24,26,35,48,49],"load_share_lib":[26,42],"loc":50,"local":[32,35,42],"log":[26,30,32,33,34,35,38,40],"logic":34,"long":34,"loss":34,"low":[19,30,34,42],"low_limit":42,"lower":[34,42],"lr":34,"lu":[19,34],"luo":[19,34],"m":[30,32,34,38,47,49],"macao":[33,34],"mach":19,"machin":[19,34,38,49],"machinelearn":[26,34],"machineri":34,"mae":[29,31],"magnitud":31,"mai":[33,34,38],"main":[34,39,45],"make":[31,34],"manag":[23,24,26,32,46,48,49],"mani":34,"manipul":35,"map":32,"march":34,"marisca":[19,34],"market":34,"markl":[19,34],"master":42,"match":35,"matlab":45,"matric":[19,34],"matrix":[19,29,30,33,34,35,36,37,38,40,44,45,49,50],"matrixcomplet":[23,26,34,49],"matsubara":[19,34],"mauroux":[19,20,30,34],"max":[34,47,48],"max_concurrent_tri":[20,34,39],"max_epoch":34,"max_featur":34,"max_it":34,"max_iter":34,"max_rank":34,"max_seri":35,"max_valu":35,"maximum":[30,34,35,48],"mazumd":[19,34],"mcar":[24,29,32,35,42,49],"mccann":[19,34],"mean":[29,31,32,34,36,42,48,50],"mean_featur":32,"mean_imput":[26,34,46],"meanimput":[19,20,34],"meanimputebyseri":[19,34],"measur":[31,34,38,49],"median":34,"medic":[34,38],"medium":34,"memori":[34,39],"messag":[19,34],"metadata":34,"meteo":22,"meteorologi":34,"method":[19,24,33,44,45,49],"metric":[29,31,34,35,39,40,49],"mf_imput":34,"mi":[29,31],"mice":[19,34],"mice_imput":34,"michael":[19,34],"microarrai":[19,34],"microsoft":[34,40],"mihaela":19,"min":48,"min_imput":[26,34,46],"min_max":[23,35],"mind":20,"mine":[19,34],"mingzh":19,"mini":34,"minim":34,"minimput":[19,34],"minimum":[34,36,37,48],"miss":[19,20,29,30,32,33,34,35,36,37,38,40,42,44,45,47,49],"miss_forest":34,"miss_net":34,"miss_net_imput":34,"missforest":[19,34],"missing":[20,24,45,47,49],"missing_completely_at_random":[20,24,35,49],"missing_percentag":[23,35],"missing_percentage_at_random":35,"missing_r":[32,35],"missnet":[19,34],"mit":25,"mitter":[19,34],"mix":[19,34],"ml":34,"mode":34,"model":[19,23,24,32,33,34,38],"modul":[19,20,22,23,45,46,47,49],"modular":45,"more":[31,32,34,39,40,44],"most":[24,35],"most_frequ":34,"motion":22,"mourad":[19,20,21,25,45],"mp":42,"mpin":[19,34],"mpin_imput":34,"mrnn":[19,20,26,29,32,34,40,44,46],"mrnn_imput":34,"multi":[19,34,38],"multidimension":[19,34],"multipl":[19,29,34,40,44],"multivari":[19,34,38],"must":[30,32,34,39],"mutual":31,"mvl":[19,34,40],"mxgboost_imput":34,"n":[19,32,34,47,50],"n_call":[20,34,39],"n_cl":34,"n_estim":34,"n_particl":[34,39],"n_process":[34,39],"n_random_start":[34,39],"n_season":34,"name":[24,29,32,34,35,42],"nan":[30,31,33,35,36,37,38,40,44,45],"nanci":19,"narendra":19,"nater":[21,25,40,42,44,45],"nativ":[30,40],"native_cdrec":[26,30],"native_stmvl":[26,40],"nbr_featur":34,"nbr_run":20,"nbr_seri":[35,48,49],"nbr_val":[35,48,49],"ndarrai":[29,30,32,33,34,35,36,37,38,39,40,44,45],"nearest":[33,34],"need":[35,49],"neg":31,"neighbor":[33,34],"net":[19,34,38],"network":[19,34,38],"neural":[19,34,38],"neurip":[19,34],"new":[34,45],"newlin":[35,45],"nikhil":19,"nip":19,"node":34,"node_dim":34,"node_numb":34,"nois":34,"non":[19,34,36,37],"none":[29,30,32,34,35,36,37,42,44],"norm":50,"normal":[23,24,26,35,45,48,49],"norwai":34,"notimplementederror":34,"nov":34,"now":49,"np":[29,32,36,37,44,50],"num_config":[34,39],"num_iter":[34,39],"num_of_iter":34,"number":[29,30,32,33,34,35,38,39,47],"number_neighbor":33,"numer":[33,34],"numpi":[29,30,32,33,34,35,36,37,38,39,40,44,45,50],"ny":34,"o":19,"obata":[19,34],"object":[23,24,29,31,32,34,35,39,42,48,49],"objectview":22,"observ":34,"off":34,"offset":[32,35,42,47],"oh":34,"olga":[19,34],"one":[32,35,47],"ones":34,"onli":[32,35],"onlin":[19,34],"open":25,"oper":[27,28,31,34,41,42],"optim":[19,20,26,29,34,42,46,49],"optimal_param":[42,49],"option":[20,29,30,32,33,34,35,36,37,38,39,42,44,45,49],"org":[30,34],"organ":29,"origin":[32,34,35,42],"orthonorm":[19,34],"other":[27,28,31,34,41,42],"oudshoorn":34,"our":49,"outlier":31,"output":[29,32,33,35,45,50],"outsid":42,"ov":34,"over":[20,29,32,34],"overfit":34,"overlap":[35,42,47],"own":45,"p":[30,34,50],"packag":[28,45,46],"page":34,"pandei":[19,34],"papadimitri":[19,34],"paper":34,"paper_fil":34,"parallel":[34,39],"param":[32,34,36,37,44,49],"paramet":[20,27,28,31,41,49,50],"parameter":45,"parametr":[19,34],"pari":34,"parikshit":19,"particl":[34,39],"particleswarm":[26,39],"pass":[34,44],"past":34,"pat":34,"path":[30,32,35,42],"patienc":34,"patrick":19,"pattern":[19,20,24,29,31,32,34,35,42,45,49],"patternsearch":[26,34],"pbansal5":34,"pdf":[34,50],"pearson":31,"per":[32,34,35,47],"percentag":[32,35,42,47],"percentage_shift":35,"perfect":31,"perform":[29,30,31,33,34,38,39,40,49],"person":[34,39],"peter":[19,34],"philipp":[19,20],"php":34,"pi":34,"pip":[25,32],"pipelin":29,"place":49,"plai":45,"plan":23,"pleas":[25,34,39,45,49],"plot":[26,29,32,35,49],"plug":45,"pmlr":19,"point":[34,36,37,39],"pollard":[19,34],"poly_ord":34,"popular":45,"porikli":[19,34],"posit":[31,32,35,47],"potenti":42,"power":[34,40],"pp":[33,34,38],"prathamesh":19,"pre":45,"predefin":[34,35],"predict":[19,23,24,33,34],"predisposit":49,"preprint":34,"preprocess":[45,48],"preserv":31,"prevent":34,"previou":47,"primari":23,"princip":34,"print":[23,24,26,30,32,33,35,36,37,38,40,42,44,49],"print_result":[23,26,35,49],"prior":[34,39,48],"pristi":[19,34],"pristi_imput":34,"probabilist":35,"probabl":[34,35,42,50],"problem":25,"proc":[19,20],"proceed":34,"process":[23,27,28,31,32,34,35,38,39,41,42,45,49],"produc":50,"progress":47,"project":[34,42],"propag":[19,34],"prophet":23,"provid":[22,24,27,28,29,31,32,33,34,35,39,41,42,43,45,49,50],"pseudo":34,"pso":[34,39],"publicli":22,"purpos":35,"pvldb":19,"pycatch":[24,32],"pycatch22":32,"pypi":[25,34],"python":[25,45],"q":34,"qingsong":19,"qualiti":29,"quentin":[21,25,40,42,44,45],"queri":42,"quickli":34,"r":[19,34,38,45,47,50],"rahul":19,"rai":[34,39,49],"rand":32,"random":[32,34,35,39,47],"random_init":34,"randomli":47,"rang":[20,42,45,48],"rank":[19,30,34],"rao":[19,34],"rate":[20,29,30,34,38,42,47],"rate_dataset":[35,49,50],"rate_seri":[23,35,49,50],"ratio":32,"raw":[32,35],"ray_tun":[20,34,49],"raytun":[26,39],"re":19,"reach":[34,47],"read":[20,22,45],"readabl":32,"readm":34,"real":45,"recognit":34,"recomput":42,"reconstruct":34,"recov":[19,30,33,34,38,40,49],"recov_data":[23,30,31,33,34,35,36,37,38,40,44,49],"recoveri":[19,20,23,24,26,30,46,48,49],"recurr":[19,34,38],"reduc":32,"reduct":[34,39],"reduction_factor":[34,39],"refer":49,"refin":32,"regress":[24,32,33,34],"regular":[19,34],"relat":[32,34,39],"relationship":[31,40],"remov":[32,42,47,49],"repair":45,"replac":[34,35,36,37,44],"replace_nan":35,"report":[19,29],"repres":[30,32,33,36,37,38,44],"represent":34,"reproduc":[32,34,35,45],"requir":[32,34],"research":[25,34,40,45],"resourc":[34,39],"restrict":35,"result":[23,24,29,32,35,42,45],"retain":34,"reveal":24,"rmse":[29,31,32,34,39],"robert":[19,34],"robust":[19,31,34],"root":31,"rosl":[19,34],"rosl_imput":34,"round":34,"row":[29,32,34,45],"royal":34,"royston":[19,34],"run":[20,25,29,34,39],"runs_plots_scor":29,"russ":[19,34],"s10115":[30,34],"sage":34,"sakurai":[19,34],"same":[35,47,50],"sampl":[32,34,49],"sarawagi":[19,34],"satisfi":45,"save":[29,32,35,42,49],"save_dir":[20,29],"save_optim":[26,42,49],"save_path":[35,49],"scalabl":[19,30,34],"scale":[34,48,50],"scalp":49,"schaar":[19,34,38],"school":[34,40],"scienc":[34,40],"scikit":34,"scipi":50,"score":[23,26,29,31,34,39,48,49],"scores_list":29,"sdv":34,"search":[19,49],"search_path":[23,24,26,42,48,49],"season":34,"second":49,"section":[29,32,35,49],"see":34,"seed":[32,34,35,42,49,50],"select":[23,32,34,39,42,48,49],"self":[29,34],"sensor":[19,34],"sensori":[19,34,40],"separ":[32,35,45],"septemb":34,"seq_len":34,"sequenc":[19,34,38],"sequence_length":[34,38],"seri":[19,20,23,24,30,31,32,33,34,35,36,37,38,39,40,44,45,47,48,49,50],"series_r":[35,42],"series_rang":35,"serv":20,"set":[29,31,32,33,34,35,38],"set_nam":42,"sever":49,"sh":34,"shandian":19,"shaoxu":19,"shap":[24,32],"shap_detail":[24,32],"shap_explain":[24,26,32],"shap_valu":[24,32],"shape":[32,35],"shaplei":24,"share":[30,31,42],"shen":[19,34],"shenzhen":[34,40],"sherlock":[19,34],"shift":[35,42,47],"shikai":19,"short":34,"should":34,"show":49,"shrunk":34,"shu":[19,34],"siam":[19,34],"sigkdd":34,"simeng":19,"simpl":[36,37,44],"simul":[45,49],"singl":[29,47],"singular":[19,34],"size":[32,34,35,40,42,47],"skew":32,"sklearn":34,"slide":34,"smaller":[30,34],"smith":34,"smooth":[34,40],"snippet":50,"soccer":22,"societi":34,"soft":34,"soft_imput":34,"soft_impute_imput":34,"softimput":[19,34],"softwar":[19,25,34],"solut":34,"song":[19,33,34],"sourc":[25,29,30,31,32,33,34,35,36,37,38,39,40,42,44],"southwest":[34,40],"space":[35,45],"spain":34,"spars":[19,34],"sparser":34,"sparsiti":34,"spatial":[34,40],"spatio":34,"spatiotempor":[19,34],"specif":[32,33,34,35,39,49],"specifi":[23,32,34,49],"spectral":[19,32,34],"speed":34,"spirit":[19,34],"spirit_imput":34,"spiro":19,"split":32,"split_ratio":32,"splitter":32,"sqrt":34,"squar":31,"st":[19,34,40],"stabl":34,"standard":[32,35,48,49],"start":[35,47,49],"stat":50,"stata":[19,34],"state":[34,45],"static":34,"statist":[19,26,32,34,49],"std_dev":[35,42,50],"stef":34,"stekhoven":[19,34],"step":48,"stmvl":[20,26,29,32,34,46],"stmvl_imput":34,"stop":[30,34],"stoptask":22,"str":[29,30,32,33,34,35,39,42],"strategi":[34,39,44],"stream":[19,34,38],"string":42,"structur":[34,38,39],"subclass":39,"subgraph":34,"subgraph_s":34,"subject":49,"submodul":[45,46,49],"subpackag":46,"subplot":[29,35,49],"subsequ":47,"subset":49,"subspac":[19,34],"subtract":48,"success":[34,39],"successivehalv":[26,39],"suitabl":34,"sum":[34,50],"sum_scor":20,"summar":[19,29,34],"summari":29,"sun":[19,33,34],"sunita":19,"support":[23,30,32,35,40,44,45],"svd":34,"svt":[19,34],"svt_imput":34,"swarm":39,"switch":[19,34],"syst":[19,30,34],"system":[19,34,42,45],"systemat":23,"t":[19,22,23,24,32,34,35,40,42,47,48,49,50],"tab":34,"tag":[19,34],"tao":[19,34],"target":34,"target_strategi":34,"task":[23,34,45],"tau":34,"tbme":[34,38],"technic":19,"techniqu":[20,35,36,37,40,44,48],"technologi":[34,40],"temperatur":22,"templat":34,"tempor":[19,32,34,38,40],"tensor":34,"term":[31,34],"test":[20,29,32,42],"text":[29,35],"than":[30,31,34],"them":[29,32,34,49],"thesi":42,"thi":[32,33,34,35,36,37,38,39,40,44,47,49,50],"those":49,"thre":34,"threshold":[19,30,34],"through":29,"tianheng":19,"tianqi":[19,34],"tianrui":19,"tibshirani":[19,34],"tick":29,"time":[19,20,23,24,29,30,31,32,33,34,35,36,37,38,39,40,44,45,47,48,49],"time_scal":34,"timeseri":[23,24,26,35,42,48,49],"timestamp":[35,45],"titl":[25,42],"tkcm":[19,34],"tkcm_imput":34,"tkde":[19,34],"tmp":32,"to_sav":32,"tol":34,"toler":34,"toml":[32,42],"tool":[23,24,26,28,29,31,43,45,46,48,49],"top":47,"total":[33,34,38,39,47],"trade":34,"train":[24,32,34,38],"tran":19,"transact":[34,38],"transfer":34,"tree":[19,33,34],"trend":34,"trevor":[19,34],"trial":[34,39],"trigger":34,"trmf":[19,34],"trmf_imput":34,"trondheim":34,"troyanskaya":[19,34],"true":[29,30,32,33,34,35,38,40,42,49,50],"truncat":30,"truncation_rank":30,"truth":[31,34,39,49],"try":[34,39],"ts_1":34,"ts_m":[23,49,50],"ts_m2":50,"ts_test":42,"tsfel":32,"tsfresh":32,"tune":[20,34,39,45,49],"tupl":[32,34,35,39,42],"tutori":45,"two":[32,48],"txt":[29,35,42],"tymchenko":20,"type":[19,32,34,42],"typic":48,"tzhaonj":34,"uncondit":34,"uncontamin":[32,35],"undercov":34,"underli":31,"uniform":34,"unifr":[21,45],"uniqu":34,"unit":34,"univers":[34,40,42],"unix":25,"until":47,"up":[32,34,47],"updat":34,"upper":42,"url":25,"us":[19,24,25,30,32,33,34,35,36,37,38,39,40,42,44,45,49,50],"usa":34,"user":[20,34,35,42,45,47,48,49],"user_def":[29,34,49],"util":[20,23,24,26,28,29,31,33,41,46,48,49],"v":34,"v045i04":34,"valid":[32,34],"valu":[19,20,29,30,31,32,33,34,35,36,37,38,39,40,42,44,45,47,48,49,50],"valueerror":42,"van":[19,34,38],"vari":[45,47],"variabl":[32,34],"varianc":[32,34],"variat":34,"variou":[20,24,27,28,29,30,31,33,34,36,37,38,39,40,41,42,44,45],"varun":19,"venic":34,"venu":19,"verbos":32,"veri":34,"verifi":42,"verification_limit":[26,42],"version":[19,25,32,33,34],"via":[19,34],"view":[29,34,35],"view_by_seri":35,"vision":34,"visual":[29,35,45],"vldb":[19,20],"vol":[34,38],"volker":19,"volum":34,"w":[34,38,39,47],"wang":[19,33,34],"wangliang":34,"warn":42,"we":49,"wei":19,"weight":[31,34,39,40],"weight_decai":34,"well":31,"wellenzohn":[19,34],"wen":[19,34],"when":34,"where":[32,35,36,37,38,44],"whether":[30,32,33,34,35,38],"which":[32,34],"while":34,"white":[19,34],"whole":34,"william":19,"window":[34,40],"window_s":[34,40],"within":[34,38,42],"without":[34,35,42],"work":33,"worker":34,"world":45,"wu":[19,34],"www":34,"x":[34,40,47],"x_axi":[20,29],"x_dataset":32,"x_inform":32,"xgbi":19,"xgboost":[19,34],"xianbiao":19,"xianp":19,"xiao":19,"xiaodan":19,"xiucheng":19,"xiuwen":19,"xli":34,"xuangu":34,"y":[33,34,40],"y_dataset":32,"y_size":29,"yanji":19,"yasuko":[19,34],"yasushi":[19,34],"year":[19,25],"yi":[19,34,40],"yingtao":19,"yitan":19,"yoon":[19,34,38],"york":34,"you":[25,34,35,39,48,49],"your":[25,34,39,45],"yu":[19,34],"yuenshingyan":34,"z":[34,48],"z_score":[24,35,48,49],"zakhar":20,"zame":[19,34,38],"zero":[32,34,44],"zero_imput":[26,34,46],"zeroimput":[19,34],"zhang":[19,33,34,40],"zhe":[19,34],"zheng":[19,34,40],"zhijun":19,"zhou":[19,34],"zuowei":19},"titles":["imputegap.algorithms","imputegap.algorithms.cdrec","imputegap.algorithms.iim","imputegap.algorithms.mean_impute","imputegap.algorithms.min_impute","imputegap.algorithms.mrnn","imputegap.algorithms.stmvl","imputegap.algorithms.zero_impute","imputegap.recovery.benchmark","imputegap.recovery.benchmark","imputegap.recovery.evaluation","imputegap.recovery.explainer","imputegap.recovery.imputation","imputegap.recovery.manager","imputegap.recovery.optimization","imputegap.tools","imputegap.tools.algorithm_parameters","imputegap.tools.utils","imputegap.wrapper","Algorithms","Benchmark","Contributors","Datasets","Downstream Evaluation","Explainer","Getting Started","ImputeGAP Package","imputegap.tools.algorithm_parameters package","Submodules","imputegap.recovery.benchmark package","imputegap.algorithms.cdrec package","imputegap.recovery.evaluation package","imputegap.recovery.explainer package","imputegap.algorithms.iim package","imputegap.recovery.imputation package","imputegap.recovery.manager package","imputegap.algorithms.mean_impute package","imputegap.algorithms.min_impute package","imputegap.algorithms.mrnn package","imputegap.recovery.optimization package","imputegap.algorithms.stmvl package","imputegap.tools package","imputegap.tools.utils package","imputegap.wrapper package","imputegap.algorithms.zero_impute package","ImputeGAP Documentation","imputegap","Patterns","Pre-processing","Tutorials","Distribution"],"titleterms":{"algorithm":[0,1,2,3,4,5,6,7,19,30,33,36,37,38,40,44],"algorithm_paramet":[16,27],"benchmark":[8,9,20,29],"block":47,"cdrec":[1,30],"cite":25,"contamin":49,"content":[26,32,34,35,39,43],"contributor":[21,45],"core":21,"data":45,"dataset":22,"distribut":50,"document":[27,28,29,31,41,42,45],"downstream":23,"evalu":[10,23,29,31],"exampl":[29,30,33,34,36,37,38,40,44],"explain":[11,24,32],"format":45,"get":[25,45],"iim":[2,33],"imput":[12,34,49],"imputegap":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,26,27,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],"instal":25,"load":49,"manag":[13,35],"mean_imput":[3,36],"method":[29,31,32,34,35,39],"min_imput":[4,37],"modul":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],"mono":47,"mrnn":[5,38],"multi":47,"note":[29,32,33,36,37,38,40,42,44],"optim":[14,39],"packag":[26,27,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],"paramet":[29,30,32,33,34,35,36,37,38,39,40,42,44],"parameter":49,"pattern":47,"pre":48,"preprocess":49,"process":48,"rais":[34,42],"recoveri":[8,9,10,11,12,13,14,29,31,32,34,35,39],"refer":[19,30,33,34,38,40],"requir":25,"return":[29,30,31,32,33,34,35,36,37,38,39,40,42,44],"setup":47,"start":[25,45],"stmvl":[6,40],"subclass":34,"submodul":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],"subpackag":26,"system":25,"tool":[15,16,17,27,41,42],"troubleshoot":25,"tutori":49,"util":[17,27,42],"wrapper":[18,43],"zero_imput":[7,44]}})
\ No newline at end of file
+Search.setIndex({"alltitles":{"Algorithms":[[19,null]],"Benchmark":[[20,null]],"Citing":[[25,"citing"]],"Contamination":[[49,"contamination"]],"Contributors":[[21,null],[45,"contributors"]],"Core Contributors":[[21,"core-contributors"]],"Data Format":[[45,"data-format"]],"Datasets":[[22,null]],"Distribution":[[50,null]],"Downstream Evaluation":[[23,null]],"Example":[[29,"example"],[29,"id16"],[30,"example"],[33,"example"],[34,"example"],[34,"id14"],[34,"id22"],[34,"id30"],[34,"id38"],[34,"id46"],[34,"id54"],[34,"id62"],[34,"id70"],[34,"id78"],[34,"id86"],[34,"id95"],[34,"id103"],[34,"id111"],[34,"id119"],[34,"id128"],[34,"id136"],[34,"id144"],[34,"id152"],[34,"id160"],[34,"id168"],[34,"id176"],[34,"id184"],[34,"id193"],[34,"id201"],[34,"id209"],[34,"id218"],[34,"id225"],[36,"example"],[37,"example"],[38,"example"],[40,"example"],[44,"example"]],"Explainer":[[24,null]],"Get Started":[[45,"get-started"]],"Getting Started":[[25,null]],"Imputation":[[49,"imputation"]],"ImputeGAP Documentation":[[45,null]],"ImputeGAP Package":[[26,null]],"Installation":[[25,"installation"]],"Loading and Preprocessing":[[49,"loading-and-preprocessing"]],"MONO-BLOCK":[[47,"mono-block"]],"MULTI-BLOCK":[[47,"multi-block"]],"Methods":[[29,"methods"],[29,"id15"],[31,"methods"],[31,"id5"],[32,"methods"],[34,"methods"],[34,"id3"],[34,"id4"],[34,"id10"],[34,"id18"],[34,"id26"],[34,"id34"],[34,"id42"],[34,"id50"],[34,"id58"],[34,"id66"],[34,"id74"],[34,"id82"],[34,"id91"],[34,"id99"],[34,"id107"],[34,"id115"],[34,"id124"],[34,"id132"],[34,"id140"],[34,"id148"],[34,"id156"],[34,"id164"],[34,"id172"],[34,"id180"],[34,"id189"],[34,"id197"],[34,"id205"],[34,"id214"],[34,"id221"],[34,"id228"],[34,"id234"],[34,"id239"],[34,"id245"],[35,"methods"],[35,"id1"],[39,"methods"],[39,"id7"]],"Module contents":[[26,"module-imputegap"],[32,"module-imputegap.recovery.explainer"],[34,"module-imputegap.recovery.imputation"],[35,"module-imputegap.recovery.manager"],[39,"module-imputegap.recovery.optimization"],[43,"module-imputegap.wrapper"]],"Modules":[[27,"module-imputegap.tools"],[28,"module-imputegap.algorithms"],[29,"module-imputegap.recovery.benchmark"],[30,"module-imputegap.algorithms.cdrec"],[31,"module-imputegap.recovery.evaluation"],[33,"module-imputegap.algorithms.iim"],[36,"module-imputegap.algorithms.mean_impute"],[37,"module-imputegap.algorithms.min_impute"],[38,"module-imputegap.algorithms.mrnn"],[40,"module-imputegap.algorithms.stmvl"],[41,"module-imputegap.tools"],[42,"module-imputegap.tools"],[44,"module-imputegap.algorithms.zero_impute"]],"Notes":[[29,"notes"],[29,"id9"],[29,"id14"],[29,"id26"],[29,"id33"],[29,"id40"],[32,"notes"],[33,"notes"],[36,"notes"],[37,"notes"],[38,"notes"],[40,"notes"],[42,"notes"],[44,"notes"]],"Parameterization":[[49,"parameterization"]],"Parameters":[[29,"parameters"],[29,"id1"],[29,"id3"],[29,"id5"],[29,"id7"],[29,"id10"],[29,"id12"],[29,"id18"],[29,"id21"],[29,"id24"],[29,"id28"],[29,"id31"],[29,"id35"],[29,"id38"],[30,"parameters"],[30,"id1"],[32,"parameters"],[32,"id1"],[32,"id3"],[32,"id5"],[32,"id7"],[32,"id9"],[32,"id11"],[32,"id13"],[33,"parameters"],[34,"parameters"],[34,"id1"],[34,"id2"],[34,"id5"],[34,"id6"],[34,"id8"],[34,"id11"],[34,"id12"],[34,"id16"],[34,"id19"],[34,"id20"],[34,"id24"],[34,"id27"],[34,"id28"],[34,"id32"],[34,"id35"],[34,"id36"],[34,"id40"],[34,"id43"],[34,"id44"],[34,"id48"],[34,"id51"],[34,"id52"],[34,"id56"],[34,"id59"],[34,"id60"],[34,"id64"],[34,"id67"],[34,"id68"],[34,"id72"],[34,"id75"],[34,"id76"],[34,"id80"],[34,"id83"],[34,"id84"],[34,"id88"],[34,"id92"],[34,"id93"],[34,"id97"],[34,"id100"],[34,"id101"],[34,"id105"],[34,"id108"],[34,"id109"],[34,"id113"],[34,"id116"],[34,"id117"],[34,"id121"],[34,"id125"],[34,"id126"],[34,"id130"],[34,"id133"],[34,"id134"],[34,"id138"],[34,"id141"],[34,"id142"],[34,"id146"],[34,"id149"],[34,"id150"],[34,"id154"],[34,"id157"],[34,"id158"],[34,"id162"],[34,"id165"],[34,"id166"],[34,"id170"],[34,"id173"],[34,"id174"],[34,"id178"],[34,"id181"],[34,"id182"],[34,"id186"],[34,"id190"],[34,"id191"],[34,"id195"],[34,"id198"],[34,"id199"],[34,"id203"],[34,"id206"],[34,"id207"],[34,"id211"],[34,"id215"],[34,"id216"],[34,"id219"],[34,"id222"],[34,"id223"],[34,"id226"],[34,"id229"],[34,"id230"],[34,"id232"],[34,"id235"],[34,"id237"],[34,"id240"],[34,"id241"],[34,"id243"],[34,"id246"],[34,"id247"],[34,"id249"],[34,"id251"],[35,"parameters"],[35,"id2"],[35,"id4"],[35,"id6"],[35,"id8"],[35,"id10"],[35,"id12"],[35,"id14"],[35,"id16"],[35,"id18"],[35,"id20"],[35,"id22"],[35,"id24"],[35,"id26"],[36,"parameters"],[37,"parameters"],[38,"parameters"],[39,"parameters"],[39,"id8"],[39,"id10"],[39,"id12"],[39,"id14"],[39,"id16"],[40,"parameters"],[42,"parameters"],[42,"id1"],[42,"id3"],[42,"id5"],[42,"id7"],[42,"id9"],[42,"id11"],[42,"id13"],[42,"id15"],[44,"parameters"]],"Patterns":[[47,null]],"Pre-processing":[[48,null]],"Raises":[[34,"raises"],[42,"raises"]],"References":[[19,"references"],[30,"references"],[33,"references"],[34,"references"],[34,"id15"],[34,"id23"],[34,"id31"],[34,"id39"],[34,"id47"],[34,"id55"],[34,"id63"],[34,"id71"],[34,"id79"],[34,"id87"],[34,"id96"],[34,"id104"],[34,"id112"],[34,"id120"],[34,"id129"],[34,"id137"],[34,"id145"],[34,"id153"],[34,"id161"],[34,"id169"],[34,"id177"],[34,"id185"],[34,"id194"],[34,"id202"],[34,"id210"],[38,"references"],[40,"references"]],"Returns":[[29,"returns"],[29,"id2"],[29,"id4"],[29,"id6"],[29,"id8"],[29,"id11"],[29,"id13"],[29,"id19"],[29,"id22"],[29,"id25"],[29,"id29"],[29,"id32"],[29,"id36"],[29,"id39"],[30,"returns"],[30,"id2"],[31,"returns"],[31,"id1"],[31,"id2"],[31,"id3"],[31,"id4"],[31,"id7"],[31,"id9"],[31,"id11"],[31,"id13"],[31,"id15"],[32,"returns"],[32,"id2"],[32,"id4"],[32,"id6"],[32,"id8"],[32,"id10"],[32,"id12"],[32,"id14"],[33,"returns"],[34,"returns"],[34,"id7"],[34,"id9"],[34,"id13"],[34,"id17"],[34,"id21"],[34,"id25"],[34,"id29"],[34,"id33"],[34,"id37"],[34,"id41"],[34,"id45"],[34,"id49"],[34,"id53"],[34,"id57"],[34,"id61"],[34,"id65"],[34,"id69"],[34,"id73"],[34,"id77"],[34,"id81"],[34,"id85"],[34,"id89"],[34,"id94"],[34,"id98"],[34,"id102"],[34,"id106"],[34,"id110"],[34,"id114"],[34,"id118"],[34,"id122"],[34,"id127"],[34,"id131"],[34,"id135"],[34,"id139"],[34,"id143"],[34,"id147"],[34,"id151"],[34,"id155"],[34,"id159"],[34,"id163"],[34,"id167"],[34,"id171"],[34,"id175"],[34,"id179"],[34,"id183"],[34,"id187"],[34,"id192"],[34,"id196"],[34,"id200"],[34,"id204"],[34,"id208"],[34,"id212"],[34,"id217"],[34,"id220"],[34,"id224"],[34,"id227"],[34,"id231"],[34,"id233"],[34,"id236"],[34,"id238"],[34,"id242"],[34,"id244"],[34,"id248"],[34,"id250"],[34,"id252"],[35,"returns"],[35,"id3"],[35,"id5"],[35,"id7"],[35,"id9"],[35,"id11"],[35,"id13"],[35,"id15"],[35,"id17"],[35,"id19"],[35,"id21"],[35,"id23"],[35,"id25"],[35,"id27"],[36,"returns"],[37,"returns"],[38,"returns"],[39,"returns"],[39,"id9"],[39,"id11"],[39,"id13"],[39,"id15"],[39,"id17"],[40,"returns"],[42,"returns"],[42,"id2"],[42,"id4"],[42,"id6"],[42,"id8"],[42,"id10"],[42,"id12"],[42,"id14"],[42,"id16"],[44,"returns"]],"Setup":[[47,"setup"]],"Subclasses":[[34,"subclasses"],[34,"id90"],[34,"id123"],[34,"id188"],[34,"id213"]],"Submodule Documentation":[[27,"submodule-documentation"],[28,"submodule-documentation"],[29,"submodule-documentation"],[31,"submodule-documentation"],[41,"submodule-documentation"],[42,"submodule-documentation"]],"Submodules":[[26,"submodules"],[27,"submodules"],[28,null],[29,"submodules"],[30,"submodules"],[31,"submodules"],[32,"submodules"],[33,"submodules"],[34,"submodules"],[35,"submodules"],[36,"submodules"],[37,"submodules"],[38,"submodules"],[39,"submodules"],[40,"submodules"],[41,"submodules"],[42,"submodules"],[43,"submodules"],[44,"submodules"]],"Subpackages":[[26,"subpackages"]],"System Requirements":[[25,"system-requirements"]],"Troubleshooting":[[25,"troubleshooting"]],"Tutorials":[[49,null]],"imputegap":[[46,null]],"imputegap.algorithms":[[0,null]],"imputegap.algorithms.cdrec":[[1,null]],"imputegap.algorithms.cdrec package":[[30,null]],"imputegap.algorithms.iim":[[2,null]],"imputegap.algorithms.iim package":[[33,null]],"imputegap.algorithms.mean_impute":[[3,null]],"imputegap.algorithms.mean_impute package":[[36,null]],"imputegap.algorithms.min_impute":[[4,null]],"imputegap.algorithms.min_impute package":[[37,null]],"imputegap.algorithms.mrnn":[[5,null]],"imputegap.algorithms.mrnn package":[[38,null]],"imputegap.algorithms.stmvl":[[6,null]],"imputegap.algorithms.stmvl package":[[40,null]],"imputegap.algorithms.zero_impute":[[7,null]],"imputegap.algorithms.zero_impute package":[[44,null]],"imputegap.recovery.benchmark":[[8,null],[9,null]],"imputegap.recovery.benchmark package":[[29,null]],"imputegap.recovery.evaluation":[[10,null]],"imputegap.recovery.evaluation module":[[29,"module-0"],[31,"module-0"]],"imputegap.recovery.evaluation package":[[31,null]],"imputegap.recovery.explainer":[[11,null]],"imputegap.recovery.explainer package":[[32,null]],"imputegap.recovery.imputation":[[12,null]],"imputegap.recovery.imputation package":[[34,null]],"imputegap.recovery.manager":[[13,null]],"imputegap.recovery.manager package":[[35,null]],"imputegap.recovery.optimization":[[14,null]],"imputegap.recovery.optimization package":[[39,null]],"imputegap.tools":[[15,null]],"imputegap.tools package":[[41,null]],"imputegap.tools.algorithm_parameters":[[16,null]],"imputegap.tools.algorithm_parameters package":[[27,null]],"imputegap.tools.utils":[[17,null]],"imputegap.tools.utils module":[[27,"module-imputegap.tools.algorithm_parameters"],[42,"module-imputegap.tools.utils"]],"imputegap.tools.utils package":[[42,null]],"imputegap.wrapper":[[18,null]],"imputegap.wrapper package":[[43,null]]},"docnames":["_autosummary/imputegap.algorithms","_autosummary/imputegap.algorithms.cdrec","_autosummary/imputegap.algorithms.iim","_autosummary/imputegap.algorithms.mean_impute","_autosummary/imputegap.algorithms.min_impute","_autosummary/imputegap.algorithms.mrnn","_autosummary/imputegap.algorithms.stmvl","_autosummary/imputegap.algorithms.zero_impute","_autosummary/imputegap.recovery.benchmark","_autosummary/imputegap.recovery.benchmarking","_autosummary/imputegap.recovery.evaluation","_autosummary/imputegap.recovery.explainer","_autosummary/imputegap.recovery.imputation","_autosummary/imputegap.recovery.manager","_autosummary/imputegap.recovery.optimization","_autosummary/imputegap.tools","_autosummary/imputegap.tools.algorithm_parameters","_autosummary/imputegap.tools.utils","_autosummary/imputegap.wrapper","algorithms","benchmark","contributors","datasets","downstream","explainer","getting_started","imputegap","imputegap.algorithm_parameters","imputegap.algorithms","imputegap.benchmark","imputegap.cdrec","imputegap.evaluation","imputegap.explainer","imputegap.iim","imputegap.imputation","imputegap.manager","imputegap.mean_impute","imputegap.min_impute","imputegap.mrnn","imputegap.optimization","imputegap.stmvl","imputegap.tools","imputegap.utils","imputegap.wrapper","imputegap.zero_impute","index","modules","patterns","preprocessing","tutorials","tutorials_distribution"],"envversion":{"sphinx":65,"sphinx.domains.c":3,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":9,"sphinx.domains.index":1,"sphinx.domains.javascript":3,"sphinx.domains.math":2,"sphinx.domains.python":4,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.viewcode":1},"filenames":["_autosummary/imputegap.algorithms.rst","_autosummary/imputegap.algorithms.cdrec.rst","_autosummary/imputegap.algorithms.iim.rst","_autosummary/imputegap.algorithms.mean_impute.rst","_autosummary/imputegap.algorithms.min_impute.rst","_autosummary/imputegap.algorithms.mrnn.rst","_autosummary/imputegap.algorithms.stmvl.rst","_autosummary/imputegap.algorithms.zero_impute.rst","_autosummary/imputegap.recovery.benchmark.rst","_autosummary/imputegap.recovery.benchmarking.rst","_autosummary/imputegap.recovery.evaluation.rst","_autosummary/imputegap.recovery.explainer.rst","_autosummary/imputegap.recovery.imputation.rst","_autosummary/imputegap.recovery.manager.rst","_autosummary/imputegap.recovery.optimization.rst","_autosummary/imputegap.tools.rst","_autosummary/imputegap.tools.algorithm_parameters.rst","_autosummary/imputegap.tools.utils.rst","_autosummary/imputegap.wrapper.rst","algorithms.rst","benchmark.rst","contributors.rst","datasets.rst","downstream.rst","explainer.rst","getting_started.rst","imputegap.rst","imputegap.algorithm_parameters.rst","imputegap.algorithms.rst","imputegap.benchmark.rst","imputegap.cdrec.rst","imputegap.evaluation.rst","imputegap.explainer.rst","imputegap.iim.rst","imputegap.imputation.rst","imputegap.manager.rst","imputegap.mean_impute.rst","imputegap.min_impute.rst","imputegap.mrnn.rst","imputegap.optimization.rst","imputegap.stmvl.rst","imputegap.tools.rst","imputegap.utils.rst","imputegap.wrapper.rst","imputegap.zero_impute.rst","index.rst","modules.rst","patterns.rst","preprocessing.rst","tutorials.rst","tutorials_distribution.rst"],"indexentries":{"__init__() (imputegap.recovery.imputation.baseimputer method)":[[34,"imputegap.recovery.imputation.BaseImputer.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.deeplearning.bayotide method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.BayOTIDE.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.deeplearning.bitgraph method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.BitGraph.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.deeplearning.brits method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.BRITS.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.deeplearning.deepmvi method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.DeepMVI.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.deeplearning.gain method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.GAIN.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.deeplearning.grin method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.GRIN.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.deeplearning.hkmf_t method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.HKMF_T.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.deeplearning.missnet method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.MissNet.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.deeplearning.mpin method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.MPIN.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.deeplearning.mrnn method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.MRNN.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.deeplearning.pristi method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.PRISTI.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.machinelearning.iim method)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.IIM.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.machinelearning.mice method)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.MICE.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.machinelearning.missforest method)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.MissForest.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.machinelearning.xgboost method)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.XGBOOST.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.matrixcompletion.cdrec method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.CDRec.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.matrixcompletion.grouse method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.GROUSE.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.matrixcompletion.iterativesvd method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.IterativeSVD.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.matrixcompletion.rosl method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.ROSL.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.matrixcompletion.softimpute method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.SoftImpute.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.matrixcompletion.spirit method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.SPIRIT.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.matrixcompletion.svt method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.SVT.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.matrixcompletion.trmf method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.TRMF.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.patternsearch.dynammo method)":[[34,"imputegap.recovery.imputation.Imputation.PatternSearch.DynaMMo.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.patternsearch.stmvl method)":[[34,"imputegap.recovery.imputation.Imputation.PatternSearch.STMVL.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.patternsearch.tkcm method)":[[34,"imputegap.recovery.imputation.Imputation.PatternSearch.TKCM.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.statistics.interpolation method)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.Interpolation.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.statistics.knn method)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.KNN.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.statistics.meanimpute method)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.MeanImpute.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.statistics.meanimputebyseries method)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.MeanImputeBySeries.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.statistics.minimpute method)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.MinImpute.__init__",false]],"__init__() (imputegap.recovery.imputation.imputation.statistics.zeroimpute method)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.ZeroImpute.__init__",false]],"algorithm (imputegap.recovery.imputation.baseimputer attribute)":[[34,"imputegap.recovery.imputation.BaseImputer.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.deeplearning.bayotide attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.BayOTIDE.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.deeplearning.bitgraph attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.BitGraph.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.deeplearning.brits attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.BRITS.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.deeplearning.deepmvi attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.DeepMVI.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.deeplearning.gain attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.GAIN.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.deeplearning.grin attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.GRIN.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.deeplearning.hkmf_t attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.HKMF_T.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.deeplearning.missnet attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.MissNet.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.deeplearning.mpin attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.MPIN.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.deeplearning.mrnn attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.MRNN.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.deeplearning.pristi attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.PRISTI.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.machinelearning.iim attribute)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.IIM.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.machinelearning.mice attribute)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.MICE.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.machinelearning.missforest attribute)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.MissForest.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.machinelearning.xgboost attribute)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.XGBOOST.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.matrixcompletion.cdrec attribute)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.CDRec.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.matrixcompletion.grouse attribute)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.GROUSE.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.matrixcompletion.iterativesvd attribute)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.IterativeSVD.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.matrixcompletion.rosl attribute)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.ROSL.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.matrixcompletion.softimpute attribute)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.SoftImpute.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.matrixcompletion.spirit attribute)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.SPIRIT.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.matrixcompletion.svt attribute)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.SVT.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.matrixcompletion.trmf attribute)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.TRMF.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.patternsearch.dynammo attribute)":[[34,"imputegap.recovery.imputation.Imputation.PatternSearch.DynaMMo.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.patternsearch.stmvl attribute)":[[34,"imputegap.recovery.imputation.Imputation.PatternSearch.STMVL.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.patternsearch.tkcm attribute)":[[34,"imputegap.recovery.imputation.Imputation.PatternSearch.TKCM.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.statistics.interpolation attribute)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.Interpolation.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.statistics.knn attribute)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.KNN.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.statistics.meanimpute attribute)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.MeanImpute.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.statistics.meanimputebyseries attribute)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.MeanImputeBySeries.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.statistics.minimpute attribute)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.MinImpute.algorithm",false]],"algorithm (imputegap.recovery.imputation.imputation.statistics.zeroimpute attribute)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.ZeroImpute.algorithm",false]],"average_runs_by_names() (imputegap.recovery.benchmark.benchmark method)":[[29,"id17",false],[29,"imputegap.recovery.benchmark.Benchmark.average_runs_by_names",false]],"avg_results() (imputegap.recovery.benchmark.benchmark method)":[[29,"id20",false],[29,"imputegap.recovery.benchmark.Benchmark.avg_results",false]],"baseimputer (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.BaseImputer",false]],"baseoptimizer (class in imputegap.recovery.optimization)":[[39,"imputegap.recovery.optimization.BaseOptimizer",false]],"benchmark (class in imputegap.recovery.benchmark)":[[29,"id0",false],[29,"imputegap.recovery.benchmark.Benchmark",false]],"blackout() (imputegap.recovery.manager.timeseries.contamination method)":[[35,"imputegap.recovery.manager.TimeSeries.Contamination.blackout",false]],"cdrec() (in module imputegap.algorithms.cdrec)":[[30,"imputegap.algorithms.cdrec.cdrec",false]],"compute_all_metrics() (imputegap.recovery.evaluation.evaluation method)":[[31,"id6",false],[31,"imputegap.recovery.evaluation.Evaluation.compute_all_metrics",false]],"compute_correlation() (imputegap.recovery.evaluation.evaluation method)":[[31,"id8",false],[31,"imputegap.recovery.evaluation.Evaluation.compute_correlation",false]],"compute_mae() (imputegap.recovery.evaluation.evaluation method)":[[31,"id10",false],[31,"imputegap.recovery.evaluation.Evaluation.compute_mae",false]],"compute_mi() (imputegap.recovery.evaluation.evaluation method)":[[31,"id12",false],[31,"imputegap.recovery.evaluation.Evaluation.compute_mi",false]],"compute_rmse() (imputegap.recovery.evaluation.evaluation method)":[[31,"id14",false],[31,"imputegap.recovery.evaluation.Evaluation.compute_rmse",false]],"config_contamination() (in module imputegap.tools.utils)":[[42,"imputegap.tools.utils.config_contamination",false]],"config_forecaster() (in module imputegap.tools.utils)":[[42,"imputegap.tools.utils.config_forecaster",false]],"config_impute_algorithm() (in module imputegap.tools.utils)":[[42,"imputegap.tools.utils.config_impute_algorithm",false]],"convert_results() (imputegap.recovery.explainer.explainer method)":[[32,"imputegap.recovery.explainer.Explainer.convert_results",false]],"disjoint() (imputegap.recovery.manager.timeseries.contamination method)":[[35,"imputegap.recovery.manager.TimeSeries.Contamination.disjoint",false]],"display_title() (in module imputegap.tools.utils)":[[42,"imputegap.tools.utils.display_title",false]],"distribution() (imputegap.recovery.manager.timeseries.contamination method)":[[35,"imputegap.recovery.manager.TimeSeries.Contamination.distribution",false]],"eval() (imputegap.recovery.benchmark.benchmark method)":[[29,"id23",false],[29,"imputegap.recovery.benchmark.Benchmark.eval",false]],"evaluate_params() (imputegap.recovery.imputation.imputation method)":[[34,"imputegap.recovery.imputation.Imputation.evaluate_params",false]],"evaluation (class in imputegap.recovery.evaluation)":[[31,"id0",false],[31,"imputegap.recovery.evaluation.Evaluation",false]],"execute_shap_model() (imputegap.recovery.explainer.explainer method)":[[32,"imputegap.recovery.explainer.Explainer.execute_shap_model",false]],"explainer (class in imputegap.recovery.explainer)":[[32,"imputegap.recovery.explainer.Explainer",false]],"extractor_pycatch() (imputegap.recovery.explainer.explainer method)":[[32,"imputegap.recovery.explainer.Explainer.extractor_pycatch",false]],"extractor_tsfel() (imputegap.recovery.explainer.explainer method)":[[32,"imputegap.recovery.explainer.Explainer.extractor_tsfel",false]],"extractor_tsfresh() (imputegap.recovery.explainer.explainer method)":[[32,"imputegap.recovery.explainer.Explainer.extractor_tsfresh",false]],"gaussian() (imputegap.recovery.manager.timeseries.contamination method)":[[35,"imputegap.recovery.manager.TimeSeries.Contamination.gaussian",false]],"generate_heatmap() (imputegap.recovery.benchmark.benchmark method)":[[29,"id27",false],[29,"imputegap.recovery.benchmark.Benchmark.generate_heatmap",false]],"generate_plots() (imputegap.recovery.benchmark.benchmark method)":[[29,"id30",false],[29,"imputegap.recovery.benchmark.Benchmark.generate_plots",false]],"generate_reports_excel() (imputegap.recovery.benchmark.benchmark method)":[[29,"id34",false],[29,"imputegap.recovery.benchmark.Benchmark.generate_reports_excel",false]],"generate_reports_txt() (imputegap.recovery.benchmark.benchmark method)":[[29,"id37",false],[29,"imputegap.recovery.benchmark.Benchmark.generate_reports_txt",false]],"iim() (in module imputegap.algorithms.iim)":[[33,"imputegap.algorithms.iim.iim",false]],"import_matrix() (imputegap.recovery.manager.timeseries method)":[[35,"imputegap.recovery.manager.TimeSeries.import_matrix",false]],"imputation (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation",false]],"imputation.deeplearning (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning",false]],"imputation.deeplearning.bayotide (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.BayOTIDE",false]],"imputation.deeplearning.bitgraph (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.BitGraph",false]],"imputation.deeplearning.brits (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.BRITS",false]],"imputation.deeplearning.deepmvi (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.DeepMVI",false]],"imputation.deeplearning.gain (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.GAIN",false]],"imputation.deeplearning.grin (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.GRIN",false]],"imputation.deeplearning.hkmf_t (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.HKMF_T",false]],"imputation.deeplearning.missnet (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.MissNet",false]],"imputation.deeplearning.mpin (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.MPIN",false]],"imputation.deeplearning.mrnn (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.MRNN",false]],"imputation.deeplearning.pristi (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.PRISTI",false]],"imputation.machinelearning (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning",false]],"imputation.machinelearning.iim (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.IIM",false]],"imputation.machinelearning.mice (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.MICE",false]],"imputation.machinelearning.missforest (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.MissForest",false]],"imputation.machinelearning.xgboost (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.XGBOOST",false]],"imputation.matrixcompletion (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion",false]],"imputation.matrixcompletion.cdrec (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.CDRec",false]],"imputation.matrixcompletion.grouse (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.GROUSE",false]],"imputation.matrixcompletion.iterativesvd (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.IterativeSVD",false]],"imputation.matrixcompletion.rosl (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.ROSL",false]],"imputation.matrixcompletion.softimpute (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.SoftImpute",false]],"imputation.matrixcompletion.spirit (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.SPIRIT",false]],"imputation.matrixcompletion.svt (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.SVT",false]],"imputation.matrixcompletion.trmf (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.TRMF",false]],"imputation.patternsearch (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.PatternSearch",false]],"imputation.patternsearch.dynammo (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.PatternSearch.DynaMMo",false]],"imputation.patternsearch.stmvl (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.PatternSearch.STMVL",false]],"imputation.patternsearch.tkcm (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.PatternSearch.TKCM",false]],"imputation.statistics (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.Statistics",false]],"imputation.statistics.interpolation (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.Interpolation",false]],"imputation.statistics.knn (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.KNN",false]],"imputation.statistics.meanimpute (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.MeanImpute",false]],"imputation.statistics.meanimputebyseries (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.MeanImputeBySeries",false]],"imputation.statistics.minimpute (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.MinImpute",false]],"imputation.statistics.zeroimpute (class in imputegap.recovery.imputation)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.ZeroImpute",false]],"impute() (imputegap.recovery.imputation.baseimputer method)":[[34,"imputegap.recovery.imputation.BaseImputer.impute",false]],"impute() (imputegap.recovery.imputation.imputation.deeplearning.bayotide method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.BayOTIDE.impute",false]],"impute() (imputegap.recovery.imputation.imputation.deeplearning.bitgraph method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.BitGraph.impute",false]],"impute() (imputegap.recovery.imputation.imputation.deeplearning.brits method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.BRITS.impute",false]],"impute() (imputegap.recovery.imputation.imputation.deeplearning.deepmvi method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.DeepMVI.impute",false]],"impute() (imputegap.recovery.imputation.imputation.deeplearning.gain method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.GAIN.impute",false]],"impute() (imputegap.recovery.imputation.imputation.deeplearning.grin method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.GRIN.impute",false]],"impute() (imputegap.recovery.imputation.imputation.deeplearning.hkmf_t method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.HKMF_T.impute",false]],"impute() (imputegap.recovery.imputation.imputation.deeplearning.missnet method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.MissNet.impute",false]],"impute() (imputegap.recovery.imputation.imputation.deeplearning.mpin method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.MPIN.impute",false]],"impute() (imputegap.recovery.imputation.imputation.deeplearning.mrnn method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.MRNN.impute",false]],"impute() (imputegap.recovery.imputation.imputation.deeplearning.pristi method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.PRISTI.impute",false]],"impute() (imputegap.recovery.imputation.imputation.machinelearning.iim method)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.IIM.impute",false]],"impute() (imputegap.recovery.imputation.imputation.machinelearning.mice method)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.MICE.impute",false]],"impute() (imputegap.recovery.imputation.imputation.machinelearning.missforest method)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.MissForest.impute",false]],"impute() (imputegap.recovery.imputation.imputation.machinelearning.xgboost method)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.XGBOOST.impute",false]],"impute() (imputegap.recovery.imputation.imputation.matrixcompletion.cdrec method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.CDRec.impute",false]],"impute() (imputegap.recovery.imputation.imputation.matrixcompletion.grouse method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.GROUSE.impute",false]],"impute() (imputegap.recovery.imputation.imputation.matrixcompletion.iterativesvd method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.IterativeSVD.impute",false]],"impute() (imputegap.recovery.imputation.imputation.matrixcompletion.rosl method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.ROSL.impute",false]],"impute() (imputegap.recovery.imputation.imputation.matrixcompletion.softimpute method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.SoftImpute.impute",false]],"impute() (imputegap.recovery.imputation.imputation.matrixcompletion.spirit method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.SPIRIT.impute",false]],"impute() (imputegap.recovery.imputation.imputation.matrixcompletion.svt method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.SVT.impute",false]],"impute() (imputegap.recovery.imputation.imputation.matrixcompletion.trmf method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.TRMF.impute",false]],"impute() (imputegap.recovery.imputation.imputation.patternsearch.dynammo method)":[[34,"imputegap.recovery.imputation.Imputation.PatternSearch.DynaMMo.impute",false]],"impute() (imputegap.recovery.imputation.imputation.patternsearch.stmvl method)":[[34,"imputegap.recovery.imputation.Imputation.PatternSearch.STMVL.impute",false]],"impute() (imputegap.recovery.imputation.imputation.patternsearch.tkcm method)":[[34,"imputegap.recovery.imputation.Imputation.PatternSearch.TKCM.impute",false]],"impute() (imputegap.recovery.imputation.imputation.statistics.interpolation method)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.Interpolation.impute",false]],"impute() (imputegap.recovery.imputation.imputation.statistics.knn method)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.KNN.impute",false]],"impute() (imputegap.recovery.imputation.imputation.statistics.meanimpute method)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.MeanImpute.impute",false]],"impute() (imputegap.recovery.imputation.imputation.statistics.meanimputebyseries method)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.MeanImputeBySeries.impute",false]],"impute() (imputegap.recovery.imputation.imputation.statistics.minimpute method)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.MinImpute.impute",false]],"impute() (imputegap.recovery.imputation.imputation.statistics.zeroimpute method)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.ZeroImpute.impute",false]],"imputegap":[[26,"module-imputegap",false]],"imputegap.algorithms":[[0,"module-imputegap.algorithms",false],[28,"module-imputegap.algorithms",false]],"imputegap.algorithms.cdrec":[[1,"module-imputegap.algorithms.cdrec",false],[30,"module-imputegap.algorithms.cdrec",false]],"imputegap.algorithms.iim":[[2,"module-imputegap.algorithms.iim",false],[33,"module-imputegap.algorithms.iim",false]],"imputegap.algorithms.mean_impute":[[3,"module-imputegap.algorithms.mean_impute",false],[36,"module-imputegap.algorithms.mean_impute",false]],"imputegap.algorithms.min_impute":[[4,"module-imputegap.algorithms.min_impute",false],[37,"module-imputegap.algorithms.min_impute",false]],"imputegap.algorithms.mrnn":[[5,"module-imputegap.algorithms.mrnn",false],[38,"module-imputegap.algorithms.mrnn",false]],"imputegap.algorithms.stmvl":[[6,"module-imputegap.algorithms.stmvl",false],[40,"module-imputegap.algorithms.stmvl",false]],"imputegap.algorithms.zero_impute":[[7,"module-imputegap.algorithms.zero_impute",false],[44,"module-imputegap.algorithms.zero_impute",false]],"imputegap.recovery.benchmark":[[8,"module-imputegap.recovery.benchmark",false],[9,"module-imputegap.recovery.benchmark",false],[29,"module-0",false],[29,"module-imputegap.recovery.benchmark",false]],"imputegap.recovery.evaluation":[[10,"module-imputegap.recovery.evaluation",false],[31,"module-0",false],[31,"module-imputegap.recovery.evaluation",false]],"imputegap.recovery.explainer":[[11,"module-imputegap.recovery.explainer",false],[32,"module-imputegap.recovery.explainer",false]],"imputegap.recovery.imputation":[[12,"module-imputegap.recovery.imputation",false],[34,"module-imputegap.recovery.imputation",false]],"imputegap.recovery.manager":[[13,"module-imputegap.recovery.manager",false],[35,"module-imputegap.recovery.manager",false]],"imputegap.recovery.optimization":[[14,"module-imputegap.recovery.optimization",false],[39,"module-imputegap.recovery.optimization",false]],"imputegap.tools":[[15,"module-imputegap.tools",false],[27,"module-imputegap.tools",false],[41,"module-imputegap.tools",false],[42,"module-imputegap.tools",false]],"imputegap.tools.algorithm_parameters":[[16,"module-imputegap.tools.algorithm_parameters",false],[27,"module-imputegap.tools.algorithm_parameters",false]],"imputegap.tools.utils":[[17,"module-imputegap.tools.utils",false],[42,"module-imputegap.tools.utils",false]],"imputegap.wrapper":[[18,"module-imputegap.wrapper",false],[43,"module-imputegap.wrapper",false]],"list_of_algorithms() (in module imputegap.tools.utils)":[[42,"imputegap.tools.utils.list_of_algorithms",false]],"list_of_datasets() (in module imputegap.tools.utils)":[[42,"imputegap.tools.utils.list_of_datasets",false]],"list_of_downstreams() (in module imputegap.tools.utils)":[[42,"imputegap.tools.utils.list_of_downstreams",false]],"list_of_downstreams_darts() (in module imputegap.tools.utils)":[[42,"imputegap.tools.utils.list_of_downstreams_darts",false]],"list_of_downstreams_sktime() (in module imputegap.tools.utils)":[[42,"imputegap.tools.utils.list_of_downstreams_sktime",false]],"list_of_optimizers() (in module imputegap.tools.utils)":[[42,"imputegap.tools.utils.list_of_optimizers",false]],"list_of_patterns() (in module imputegap.tools.utils)":[[42,"imputegap.tools.utils.list_of_patterns",false]],"load_configuration() (imputegap.recovery.explainer.explainer method)":[[32,"imputegap.recovery.explainer.Explainer.load_configuration",false]],"load_parameters() (in module imputegap.tools.utils)":[[42,"imputegap.tools.utils.load_parameters",false]],"load_series() (imputegap.recovery.manager.timeseries method)":[[35,"imputegap.recovery.manager.TimeSeries.load_series",false]],"load_share_lib() (in module imputegap.tools.utils)":[[42,"imputegap.tools.utils.load_share_lib",false]],"logs (imputegap.recovery.imputation.baseimputer attribute)":[[34,"imputegap.recovery.imputation.BaseImputer.logs",false]],"logs (imputegap.recovery.imputation.imputation.deeplearning.bayotide attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.BayOTIDE.logs",false]],"logs (imputegap.recovery.imputation.imputation.deeplearning.bitgraph attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.BitGraph.logs",false]],"logs (imputegap.recovery.imputation.imputation.deeplearning.brits attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.BRITS.logs",false]],"logs (imputegap.recovery.imputation.imputation.deeplearning.deepmvi attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.DeepMVI.logs",false]],"logs (imputegap.recovery.imputation.imputation.deeplearning.gain attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.GAIN.logs",false]],"logs (imputegap.recovery.imputation.imputation.deeplearning.grin attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.GRIN.logs",false]],"logs (imputegap.recovery.imputation.imputation.deeplearning.hkmf_t attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.HKMF_T.logs",false]],"logs (imputegap.recovery.imputation.imputation.deeplearning.missnet attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.MissNet.logs",false]],"logs (imputegap.recovery.imputation.imputation.deeplearning.mpin attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.MPIN.logs",false]],"logs (imputegap.recovery.imputation.imputation.deeplearning.mrnn attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.MRNN.logs",false]],"logs (imputegap.recovery.imputation.imputation.deeplearning.pristi attribute)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.PRISTI.logs",false]],"logs (imputegap.recovery.imputation.imputation.machinelearning.iim attribute)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.IIM.logs",false]],"logs (imputegap.recovery.imputation.imputation.machinelearning.mice attribute)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.MICE.logs",false]],"logs (imputegap.recovery.imputation.imputation.machinelearning.missforest attribute)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.MissForest.logs",false]],"logs (imputegap.recovery.imputation.imputation.machinelearning.xgboost attribute)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.XGBOOST.logs",false]],"logs (imputegap.recovery.imputation.imputation.matrixcompletion.cdrec attribute)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.CDRec.logs",false]],"logs (imputegap.recovery.imputation.imputation.matrixcompletion.grouse attribute)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.GROUSE.logs",false]],"logs (imputegap.recovery.imputation.imputation.matrixcompletion.iterativesvd attribute)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.IterativeSVD.logs",false]],"logs (imputegap.recovery.imputation.imputation.matrixcompletion.rosl attribute)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.ROSL.logs",false]],"logs (imputegap.recovery.imputation.imputation.matrixcompletion.softimpute attribute)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.SoftImpute.logs",false]],"logs (imputegap.recovery.imputation.imputation.matrixcompletion.spirit attribute)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.SPIRIT.logs",false]],"logs (imputegap.recovery.imputation.imputation.matrixcompletion.svt attribute)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.SVT.logs",false]],"logs (imputegap.recovery.imputation.imputation.matrixcompletion.trmf attribute)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.TRMF.logs",false]],"logs (imputegap.recovery.imputation.imputation.patternsearch.dynammo attribute)":[[34,"imputegap.recovery.imputation.Imputation.PatternSearch.DynaMMo.logs",false]],"logs (imputegap.recovery.imputation.imputation.patternsearch.stmvl attribute)":[[34,"imputegap.recovery.imputation.Imputation.PatternSearch.STMVL.logs",false]],"logs (imputegap.recovery.imputation.imputation.patternsearch.tkcm attribute)":[[34,"imputegap.recovery.imputation.Imputation.PatternSearch.TKCM.logs",false]],"logs (imputegap.recovery.imputation.imputation.statistics.interpolation attribute)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.Interpolation.logs",false]],"logs (imputegap.recovery.imputation.imputation.statistics.knn attribute)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.KNN.logs",false]],"logs (imputegap.recovery.imputation.imputation.statistics.meanimpute attribute)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.MeanImpute.logs",false]],"logs (imputegap.recovery.imputation.imputation.statistics.meanimputebyseries attribute)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.MeanImputeBySeries.logs",false]],"logs (imputegap.recovery.imputation.imputation.statistics.minimpute attribute)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.MinImpute.logs",false]],"logs (imputegap.recovery.imputation.imputation.statistics.zeroimpute attribute)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.ZeroImpute.logs",false]],"mean_impute() (in module imputegap.algorithms.mean_impute)":[[36,"imputegap.algorithms.mean_impute.mean_impute",false]],"min_impute() (in module imputegap.algorithms.min_impute)":[[37,"imputegap.algorithms.min_impute.min_impute",false]],"missing_completely_at_random() (imputegap.recovery.manager.timeseries.contamination method)":[[35,"imputegap.recovery.manager.TimeSeries.Contamination.missing_completely_at_random",false]],"missing_percentage() (imputegap.recovery.manager.timeseries.contamination method)":[[35,"imputegap.recovery.manager.TimeSeries.Contamination.missing_percentage",false]],"module":[[0,"module-imputegap.algorithms",false],[1,"module-imputegap.algorithms.cdrec",false],[2,"module-imputegap.algorithms.iim",false],[3,"module-imputegap.algorithms.mean_impute",false],[4,"module-imputegap.algorithms.min_impute",false],[5,"module-imputegap.algorithms.mrnn",false],[6,"module-imputegap.algorithms.stmvl",false],[7,"module-imputegap.algorithms.zero_impute",false],[8,"module-imputegap.recovery.benchmark",false],[9,"module-imputegap.recovery.benchmark",false],[10,"module-imputegap.recovery.evaluation",false],[11,"module-imputegap.recovery.explainer",false],[12,"module-imputegap.recovery.imputation",false],[13,"module-imputegap.recovery.manager",false],[14,"module-imputegap.recovery.optimization",false],[15,"module-imputegap.tools",false],[16,"module-imputegap.tools.algorithm_parameters",false],[17,"module-imputegap.tools.utils",false],[18,"module-imputegap.wrapper",false],[26,"module-imputegap",false],[27,"module-imputegap.tools",false],[27,"module-imputegap.tools.algorithm_parameters",false],[28,"module-imputegap.algorithms",false],[29,"module-0",false],[29,"module-imputegap.recovery.benchmark",false],[30,"module-imputegap.algorithms.cdrec",false],[31,"module-0",false],[31,"module-imputegap.recovery.evaluation",false],[32,"module-imputegap.recovery.explainer",false],[33,"module-imputegap.algorithms.iim",false],[34,"module-imputegap.recovery.imputation",false],[35,"module-imputegap.recovery.manager",false],[36,"module-imputegap.algorithms.mean_impute",false],[37,"module-imputegap.algorithms.min_impute",false],[38,"module-imputegap.algorithms.mrnn",false],[39,"module-imputegap.recovery.optimization",false],[40,"module-imputegap.algorithms.stmvl",false],[41,"module-imputegap.tools",false],[42,"module-imputegap.tools",false],[42,"module-imputegap.tools.utils",false],[43,"module-imputegap.wrapper",false],[44,"module-imputegap.algorithms.zero_impute",false]],"mrnn() (in module imputegap.algorithms.mrnn)":[[38,"imputegap.algorithms.mrnn.mrnn",false]],"native_cdrec() (in module imputegap.algorithms.cdrec)":[[30,"imputegap.algorithms.cdrec.native_cdrec",false]],"native_stmvl() (in module imputegap.algorithms.stmvl)":[[40,"imputegap.algorithms.stmvl.native_stmvl",false]],"normalize() (imputegap.recovery.manager.timeseries method)":[[35,"imputegap.recovery.manager.TimeSeries.normalize",false]],"optimization (class in imputegap.recovery.optimization)":[[39,"imputegap.recovery.optimization.Optimization",false]],"optimization.bayesian (class in imputegap.recovery.optimization)":[[39,"imputegap.recovery.optimization.Optimization.Bayesian",false]],"optimization.greedy (class in imputegap.recovery.optimization)":[[39,"imputegap.recovery.optimization.Optimization.Greedy",false]],"optimization.particleswarm (class in imputegap.recovery.optimization)":[[39,"imputegap.recovery.optimization.Optimization.ParticleSwarm",false]],"optimization.raytune (class in imputegap.recovery.optimization)":[[39,"imputegap.recovery.optimization.Optimization.RayTune",false]],"optimization.successivehalving (class in imputegap.recovery.optimization)":[[39,"imputegap.recovery.optimization.Optimization.SuccessiveHalving",false]],"optimize() (imputegap.recovery.optimization.baseoptimizer method)":[[39,"imputegap.recovery.optimization.BaseOptimizer.optimize",false]],"optimize() (imputegap.recovery.optimization.optimization.bayesian method)":[[39,"imputegap.recovery.optimization.Optimization.Bayesian.optimize",false]],"optimize() (imputegap.recovery.optimization.optimization.greedy method)":[[39,"imputegap.recovery.optimization.Optimization.Greedy.optimize",false]],"optimize() (imputegap.recovery.optimization.optimization.particleswarm method)":[[39,"imputegap.recovery.optimization.Optimization.ParticleSwarm.optimize",false]],"optimize() (imputegap.recovery.optimization.optimization.raytune method)":[[39,"imputegap.recovery.optimization.Optimization.RayTune.optimize",false]],"optimize() (imputegap.recovery.optimization.optimization.successivehalving method)":[[39,"imputegap.recovery.optimization.Optimization.SuccessiveHalving.optimize",false]],"overlap() (imputegap.recovery.manager.timeseries.contamination method)":[[35,"imputegap.recovery.manager.TimeSeries.Contamination.overlap",false]],"percentage_shift() (imputegap.recovery.manager.timeseries.contamination method)":[[35,"imputegap.recovery.manager.TimeSeries.Contamination.percentage_shift",false]],"plot() (imputegap.recovery.manager.timeseries method)":[[35,"imputegap.recovery.manager.TimeSeries.plot",false]],"print() (imputegap.recovery.explainer.explainer method)":[[32,"imputegap.recovery.explainer.Explainer.print",false]],"print() (imputegap.recovery.manager.timeseries method)":[[35,"imputegap.recovery.manager.TimeSeries.print",false]],"print_results() (imputegap.recovery.manager.timeseries method)":[[35,"imputegap.recovery.manager.TimeSeries.print_results",false]],"save_optimization() (in module imputegap.tools.utils)":[[42,"imputegap.tools.utils.save_optimization",false]],"score() (imputegap.recovery.imputation.baseimputer method)":[[34,"imputegap.recovery.imputation.BaseImputer.score",false]],"score() (imputegap.recovery.imputation.imputation.deeplearning.bayotide method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.BayOTIDE.score",false]],"score() (imputegap.recovery.imputation.imputation.deeplearning.bitgraph method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.BitGraph.score",false]],"score() (imputegap.recovery.imputation.imputation.deeplearning.brits method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.BRITS.score",false]],"score() (imputegap.recovery.imputation.imputation.deeplearning.deepmvi method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.DeepMVI.score",false]],"score() (imputegap.recovery.imputation.imputation.deeplearning.gain method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.GAIN.score",false]],"score() (imputegap.recovery.imputation.imputation.deeplearning.grin method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.GRIN.score",false]],"score() (imputegap.recovery.imputation.imputation.deeplearning.hkmf_t method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.HKMF_T.score",false]],"score() (imputegap.recovery.imputation.imputation.deeplearning.missnet method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.MissNet.score",false]],"score() (imputegap.recovery.imputation.imputation.deeplearning.mpin method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.MPIN.score",false]],"score() (imputegap.recovery.imputation.imputation.deeplearning.mrnn method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.MRNN.score",false]],"score() (imputegap.recovery.imputation.imputation.deeplearning.pristi method)":[[34,"imputegap.recovery.imputation.Imputation.DeepLearning.PRISTI.score",false]],"score() (imputegap.recovery.imputation.imputation.machinelearning.iim method)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.IIM.score",false]],"score() (imputegap.recovery.imputation.imputation.machinelearning.mice method)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.MICE.score",false]],"score() (imputegap.recovery.imputation.imputation.machinelearning.missforest method)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.MissForest.score",false]],"score() (imputegap.recovery.imputation.imputation.machinelearning.xgboost method)":[[34,"imputegap.recovery.imputation.Imputation.MachineLearning.XGBOOST.score",false]],"score() (imputegap.recovery.imputation.imputation.matrixcompletion.cdrec method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.CDRec.score",false]],"score() (imputegap.recovery.imputation.imputation.matrixcompletion.grouse method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.GROUSE.score",false]],"score() (imputegap.recovery.imputation.imputation.matrixcompletion.iterativesvd method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.IterativeSVD.score",false]],"score() (imputegap.recovery.imputation.imputation.matrixcompletion.rosl method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.ROSL.score",false]],"score() (imputegap.recovery.imputation.imputation.matrixcompletion.softimpute method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.SoftImpute.score",false]],"score() (imputegap.recovery.imputation.imputation.matrixcompletion.spirit method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.SPIRIT.score",false]],"score() (imputegap.recovery.imputation.imputation.matrixcompletion.svt method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.SVT.score",false]],"score() (imputegap.recovery.imputation.imputation.matrixcompletion.trmf method)":[[34,"imputegap.recovery.imputation.Imputation.MatrixCompletion.TRMF.score",false]],"score() (imputegap.recovery.imputation.imputation.patternsearch.dynammo method)":[[34,"imputegap.recovery.imputation.Imputation.PatternSearch.DynaMMo.score",false]],"score() (imputegap.recovery.imputation.imputation.patternsearch.stmvl method)":[[34,"imputegap.recovery.imputation.Imputation.PatternSearch.STMVL.score",false]],"score() (imputegap.recovery.imputation.imputation.patternsearch.tkcm method)":[[34,"imputegap.recovery.imputation.Imputation.PatternSearch.TKCM.score",false]],"score() (imputegap.recovery.imputation.imputation.statistics.interpolation method)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.Interpolation.score",false]],"score() (imputegap.recovery.imputation.imputation.statistics.knn method)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.KNN.score",false]],"score() (imputegap.recovery.imputation.imputation.statistics.meanimpute method)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.MeanImpute.score",false]],"score() (imputegap.recovery.imputation.imputation.statistics.meanimputebyseries method)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.MeanImputeBySeries.score",false]],"score() (imputegap.recovery.imputation.imputation.statistics.minimpute method)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.MinImpute.score",false]],"score() (imputegap.recovery.imputation.imputation.statistics.zeroimpute method)":[[34,"imputegap.recovery.imputation.Imputation.Statistics.ZeroImpute.score",false]],"search_path() (in module imputegap.tools.utils)":[[42,"imputegap.tools.utils.search_path",false]],"shap_explainer() (imputegap.recovery.explainer.explainer method)":[[32,"imputegap.recovery.explainer.Explainer.shap_explainer",false]],"stmvl() (in module imputegap.algorithms.stmvl)":[[40,"imputegap.algorithms.stmvl.stmvl",false]],"timeseries (class in imputegap.recovery.manager)":[[35,"imputegap.recovery.manager.TimeSeries",false]],"timeseries.contamination (class in imputegap.recovery.manager)":[[35,"imputegap.recovery.manager.TimeSeries.Contamination",false]],"verification_limitation() (in module imputegap.tools.utils)":[[42,"imputegap.tools.utils.verification_limitation",false]],"zero_impute() (in module imputegap.algorithms.zero_impute)":[[44,"imputegap.algorithms.zero_impute.zero_impute",false]]},"objects":{"":[[26,0,0,"-","imputegap"]],"imputegap":[[28,0,0,"-","algorithms"],[42,0,0,"-","tools"],[43,0,0,"-","wrapper"]],"imputegap.algorithms":[[30,0,0,"-","cdrec"],[33,0,0,"-","iim"],[36,0,0,"-","mean_impute"],[37,0,0,"-","min_impute"],[38,0,0,"-","mrnn"],[40,0,0,"-","stmvl"],[44,0,0,"-","zero_impute"]],"imputegap.algorithms.cdrec":[[30,1,1,"","cdrec"],[30,1,1,"","native_cdrec"]],"imputegap.algorithms.iim":[[33,1,1,"","iim"]],"imputegap.algorithms.mean_impute":[[36,1,1,"","mean_impute"]],"imputegap.algorithms.min_impute":[[37,1,1,"","min_impute"]],"imputegap.algorithms.mrnn":[[38,1,1,"","mrnn"]],"imputegap.algorithms.stmvl":[[40,1,1,"","native_stmvl"],[40,1,1,"","stmvl"]],"imputegap.algorithms.zero_impute":[[44,1,1,"","zero_impute"]],"imputegap.recovery":[[29,0,0,"module-0","benchmark"],[31,0,0,"module-0","evaluation"],[32,0,0,"-","explainer"],[34,0,0,"-","imputation"],[35,0,0,"-","manager"],[39,0,0,"-","optimization"]],"imputegap.recovery.benchmark":[[29,2,1,"id0","Benchmark"]],"imputegap.recovery.benchmark.Benchmark":[[29,3,1,"id17","average_runs_by_names"],[29,3,1,"id20","avg_results"],[29,3,1,"id23","eval"],[29,3,1,"id27","generate_heatmap"],[29,3,1,"id30","generate_plots"],[29,3,1,"id34","generate_reports_excel"],[29,3,1,"id37","generate_reports_txt"]],"imputegap.recovery.evaluation":[[31,2,1,"id0","Evaluation"]],"imputegap.recovery.evaluation.Evaluation":[[31,3,1,"id6","compute_all_metrics"],[31,3,1,"id8","compute_correlation"],[31,3,1,"id10","compute_mae"],[31,3,1,"id12","compute_mi"],[31,3,1,"id14","compute_rmse"]],"imputegap.recovery.explainer":[[32,2,1,"","Explainer"]],"imputegap.recovery.explainer.Explainer":[[32,3,1,"","convert_results"],[32,3,1,"","execute_shap_model"],[32,3,1,"","extractor_pycatch"],[32,3,1,"","extractor_tsfel"],[32,3,1,"","extractor_tsfresh"],[32,3,1,"","load_configuration"],[32,3,1,"","print"],[32,3,1,"","shap_explainer"]],"imputegap.recovery.imputation":[[34,2,1,"","BaseImputer"],[34,2,1,"","Imputation"]],"imputegap.recovery.imputation.BaseImputer":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation":[[34,2,1,"","DeepLearning"],[34,2,1,"","MachineLearning"],[34,2,1,"","MatrixCompletion"],[34,2,1,"","PatternSearch"],[34,2,1,"","Statistics"],[34,3,1,"","evaluate_params"]],"imputegap.recovery.imputation.Imputation.DeepLearning":[[34,2,1,"","BRITS"],[34,2,1,"","BayOTIDE"],[34,2,1,"","BitGraph"],[34,2,1,"","DeepMVI"],[34,2,1,"","GAIN"],[34,2,1,"","GRIN"],[34,2,1,"","HKMF_T"],[34,2,1,"","MPIN"],[34,2,1,"","MRNN"],[34,2,1,"","MissNet"],[34,2,1,"","PRISTI"]],"imputegap.recovery.imputation.Imputation.DeepLearning.BRITS":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.DeepLearning.BayOTIDE":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.DeepLearning.BitGraph":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.DeepLearning.DeepMVI":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.DeepLearning.GAIN":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.DeepLearning.GRIN":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.DeepLearning.HKMF_T":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.DeepLearning.MPIN":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.DeepLearning.MRNN":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.DeepLearning.MissNet":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.DeepLearning.PRISTI":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.MachineLearning":[[34,2,1,"","IIM"],[34,2,1,"","MICE"],[34,2,1,"","MissForest"],[34,2,1,"","XGBOOST"]],"imputegap.recovery.imputation.Imputation.MachineLearning.IIM":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.MachineLearning.MICE":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.MachineLearning.MissForest":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.MachineLearning.XGBOOST":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.MatrixCompletion":[[34,2,1,"","CDRec"],[34,2,1,"","GROUSE"],[34,2,1,"","IterativeSVD"],[34,2,1,"","ROSL"],[34,2,1,"","SPIRIT"],[34,2,1,"","SVT"],[34,2,1,"","SoftImpute"],[34,2,1,"","TRMF"]],"imputegap.recovery.imputation.Imputation.MatrixCompletion.CDRec":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.MatrixCompletion.GROUSE":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.MatrixCompletion.IterativeSVD":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.MatrixCompletion.ROSL":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.MatrixCompletion.SPIRIT":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.MatrixCompletion.SVT":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.MatrixCompletion.SoftImpute":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.MatrixCompletion.TRMF":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.PatternSearch":[[34,2,1,"","DynaMMo"],[34,2,1,"","STMVL"],[34,2,1,"","TKCM"]],"imputegap.recovery.imputation.Imputation.PatternSearch.DynaMMo":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.PatternSearch.STMVL":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.PatternSearch.TKCM":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.Statistics":[[34,2,1,"","Interpolation"],[34,2,1,"","KNN"],[34,2,1,"","MeanImpute"],[34,2,1,"","MeanImputeBySeries"],[34,2,1,"","MinImpute"],[34,2,1,"","ZeroImpute"]],"imputegap.recovery.imputation.Imputation.Statistics.Interpolation":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.Statistics.KNN":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.Statistics.MeanImpute":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.Statistics.MeanImputeBySeries":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.Statistics.MinImpute":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.imputation.Imputation.Statistics.ZeroImpute":[[34,3,1,"","__init__"],[34,4,1,"","algorithm"],[34,3,1,"","impute"],[34,4,1,"","logs"],[34,3,1,"","score"]],"imputegap.recovery.manager":[[35,2,1,"","TimeSeries"]],"imputegap.recovery.manager.TimeSeries":[[35,2,1,"","Contamination"],[35,3,1,"","import_matrix"],[35,3,1,"","load_series"],[35,3,1,"","normalize"],[35,3,1,"","plot"],[35,3,1,"","print"],[35,3,1,"","print_results"]],"imputegap.recovery.manager.TimeSeries.Contamination":[[35,3,1,"","blackout"],[35,3,1,"","disjoint"],[35,3,1,"","distribution"],[35,3,1,"","gaussian"],[35,3,1,"","missing_completely_at_random"],[35,3,1,"","missing_percentage"],[35,3,1,"","overlap"],[35,3,1,"","percentage_shift"]],"imputegap.recovery.optimization":[[39,2,1,"","BaseOptimizer"],[39,2,1,"","Optimization"]],"imputegap.recovery.optimization.BaseOptimizer":[[39,3,1,"","optimize"]],"imputegap.recovery.optimization.Optimization":[[39,2,1,"","Bayesian"],[39,2,1,"","Greedy"],[39,2,1,"","ParticleSwarm"],[39,2,1,"","RayTune"],[39,2,1,"","SuccessiveHalving"]],"imputegap.recovery.optimization.Optimization.Bayesian":[[39,3,1,"","optimize"]],"imputegap.recovery.optimization.Optimization.Greedy":[[39,3,1,"","optimize"]],"imputegap.recovery.optimization.Optimization.ParticleSwarm":[[39,3,1,"","optimize"]],"imputegap.recovery.optimization.Optimization.RayTune":[[39,3,1,"","optimize"]],"imputegap.recovery.optimization.Optimization.SuccessiveHalving":[[39,3,1,"","optimize"]],"imputegap.tools":[[27,0,0,"-","algorithm_parameters"],[42,0,0,"-","utils"]],"imputegap.tools.utils":[[42,1,1,"","config_contamination"],[42,1,1,"","config_forecaster"],[42,1,1,"","config_impute_algorithm"],[42,1,1,"","display_title"],[42,1,1,"","list_of_algorithms"],[42,1,1,"","list_of_datasets"],[42,1,1,"","list_of_downstreams"],[42,1,1,"","list_of_downstreams_darts"],[42,1,1,"","list_of_downstreams_sktime"],[42,1,1,"","list_of_optimizers"],[42,1,1,"","list_of_patterns"],[42,1,1,"","load_parameters"],[42,1,1,"","load_share_lib"],[42,1,1,"","save_optimization"],[42,1,1,"","search_path"],[42,1,1,"","verification_limitation"]]},"objnames":{"0":["py","module","Python module"],"1":["py","function","Python function"],"2":["py","class","Python class"],"3":["py","method","Python method"],"4":["py","attribute","Python attribute"]},"objtypes":{"0":"py:module","1":"py:function","2":"py:class","3":"py:method","4":"py:attribute"},"terms":{"":[19,24,33,34,42,47,49],"0":[20,23,29,30,32,34,35,38,40,42,44,47,48,49,50],"000001":30,"00023":[33,34],"00040669209664367576":29,"000461578369140625":29,"00048422813415527344":29,"0005095005035400391":29,"0005536079406738281":29,"0005743503570556641":29,"0005755424499511719":29,"0009615421295166016":29,"001":[34,38],"0010058879852294922":29,"0010309219360351562":29,"001056671142578125":29,"0014975078469404196":29,"00150":34,"0019745826721191406":29,"0020699501037597656":29,"0022056102752685547":29,"002231597900390625":29,"00298":[19,34],"003415822982788086":29,"0035880775657246428":29,"00482487678527832":29,"006171770470542263":29,"007096290588378906":29,"0072672367095947266":29,"007429599761962891":29,"007513931343350665":29,"00801849365234375":29,"01":[34,42],"010712060535523":29,"01121013333181846":29,"0112488396023014":29,"011590260996247858":29,"0125309431502871":29,"013509125598802707":29,"01421":[30,34],"0143105930114702":29,"01600":34,"0160968166750064":29,"01713728904724121":29,"0183962968474991":29,"019":[30,34],"020630168509677818":29,"021165172206064526":29,"02915935932568557":29,"02920":34,"0317754516097355":29,"03436":19,"037161060882302754":29,"0379347892718205":29,"04155403791391449":29,"042899370193481445":29,"043192148208618164":29,"04321551322937012":29,"04391813278198242":29,"0441472017887297":29,"04829454421997":29,"05":[20,29,35,42],"0552448338389784":29,"06361822797740405":29,"064299483512458":29,"06616526470761779":29,"07010293006897":29,"07344":[19,34],"0807965786089415":29,"08459032692102293":29,"09218788146972656":29,"09549617767333984":29,"09925566629402761":29,"1":[19,20,29,30,31,32,34,35,37,39,40,42,44,47,48,49,50],"10":[19,25,30,32,33,34,35,38,39,42,48,49],"100":[30,32,34,39,42,47,49],"1000":[34,38],"1007":[30,34],"10781252370591506":29,"10793352127075":29,"10881781578063965":29,"10908095436833125":29,"1093":34,"11":[19,34],"1109":[33,34,38],"112":[19,34],"11218049973594252":29,"1129295825958252":29,"1145":34,"1167751522591498":29,"118":[19,34],"11876685901414151":29,"11924522547609226":29,"12":19,"12567590499764303":29,"13":[19,20,25],"13422239939628303":29,"13619797235197734":29,"1380846624733049":29,"13894771223733138":29,"14":19,"1460":[19,34],"1468":[19,34],"14709529129218185":29,"1477":[19,34,38],"1490":[19,34,38],"14906":34,"15":[19,32,34,35],"1516089897042538":29,"151907444000244":29,"15th":34,"16":[34,35],"160":[33,34],"16953644212278182":29,"17":[19,34],"17044353485107422":29,"171":[33,34],"17184901237487793":29,"1728806495666504":29,"17329692840576172":29,"1806":34,"18152059329152104":29,"186191167936035":29,"1927":[19,34],"1939":[19,34],"1956":[19,34],"1960":34,"1974":29,"1982":[19,34],"19th":34,"2":[19,20,29,33,34,35,36,37,39,40,44,47,49,50],"20":[19,34,49],"200":[34,48],"2001":[19,34],"2004":19,"2005":[19,34],"2009":[19,34],"2010":[19,34],"2011":[19,34],"2012":[19,34],"2014":[19,34],"2016":[19,34],"2017":[19,34],"2018":[19,34,38],"2019":[19,33,34,38],"2020":[19,20,30,34],"2021":[19,34],"2022":19,"2023":[19,34],"2024":[19,34],"2025":25,"20th":34,"21":34,"2103":34,"2108":[19,34],"22":[19,34],"22056702659999994":29,"2257":[19,30,34],"2280":[19,30,34],"2287":[19,34],"2296":[19,34],"22nd":34,"23":[19,34],"2306":[19,34],"2308":34,"2311":[19,34],"2322":[19,34],"23303624184873978":29,"2366529609250008":29,"2380077838897705":29,"24":[19,34],"24340565131372927":29,"25":[19,34],"250":39,"2533":19,"2545":19,"255":29,"256":49,"26":19,"2696133927362288":29,"27":19,"2704":19,"2710":19,"2730547993858495":29,"2739817718416822":29,"2753022759369617":29,"28":[19,34],"2874712":[34,38],"29":[19,34],"2939506418814281":29,"2939672":34,"2939785":34,"2971190":34,"2d":[29,32,45],"3":[19,25,34,35,36,49],"30":[19,34],"302":34,"306":34,"30th":34,"31":[19,34],"31524085998535":29,"31st":34,"32":[19,34],"32988968428439397":29,"33":[19,20,29,34],"330":[19,34],"341":[19,34],"34494332493982044":29,"346560495723809":29,"35":29,"3582":[19,34],"3593":[19,34],"35th":[33,34],"3637528":34,"3671760":34,"37254427425455994":29,"38695094864012947":29,"3874":[19,34],"3881":[19,34],"39007056542870916":29,"3968159514130716":29,"39th":34,"4":[19,20,29,32,34,36,37,42,44,49,50],"40":29,"4155649406397416":29,"42":34,"42237901687622":29,"42568325996399":29,"4355197572001326":29,"439927101135254":29,"4445625930776235":29,"45":[19,34],"479795694351196":29,"49":29,"4924048353228427":29,"5":[19,20,32,34,36,38],"50":[29,32,34,39],"507":[19,34],"516":[19,34],"52":29,"520":[19,34],"525":[19,34],"53373336791992":29,"54":29,"543020248413086":29,"5434405584289141":29,"5650541301828254":29,"5675":19,"5684":19,"5862696375344495":29,"5999574661254883":29,"6":[19,20,29,32,34,36,37,44,49],"6027573766269363":29,"6064670085906982":29,"6077785491943359":29,"6101157665253":29,"6166613101959229":29,"62":[19,30,34],"64":[34,38,49],"66":[19,34,38],"66455388069153":29,"67":34,"6776":19,"6786":19,"6805167198181152":29,"697":[19,34],"7":[19,30,34,35,38,40],"7019459696903068":29,"708":[19,34],"7219362152785619":29,"7312998041323675":29,"7326965517264863":29,"7328867182584357":29,"734e6bfcd358e25ac1db0a4241b95651":34,"7380530834197998":29,"7425412593844177":29,"7426695186604741":29,"7470128536224":29,"7544523683503829":29,"757440007226372":29,"7599852461729673":29,"7610548321723654":29,"761136543268339":29,"7641520748788702":29,"7646823531588104":29,"7672558930795506":29,"768":20,"7774057495176013":29,"782":20,"7826457023620605":29,"783":32,"785":[19,34],"794":[19,34],"7952869439926":29,"8":[19,20,23,29,34,35],"802757cace6d":34,"8134840739732964":29,"814120507570725":29,"8178796825899766":29,"8280959876205578":29,"8390532279447225":29,"840":29,"847":19,"85":[34,40],"8519431955571422":29,"85422afb467e9456013a2a51d4dff702":34,"855":19,"8785057067871094":29,"88247036933899":29,"8944975075266335":29,"9":[19,34,35,49],"9004526656857551":29,"9166777087122915":29,"9180937736429735":29,"919934494058292":29,"9234927128429051":29,"9249744935121553":29,"9293322959355041":29,"9378046989440918":29,"9458508648057621":29,"94813060760498":29,"95":34,"9531900627237018":29,"9562773704528809":29,"968435455112644":29,"9699990038879407":29,"9711348247027318":29,"9829398352220718":29,"9901338133811375":29,"9914069853975623":29,"A":[19,29,31,32,33,34,35,39,42],"As":49,"At":47,"BE":19,"BY":34,"By":32,"FOR":34,"If":[25,29,32,34,35,36,37,42,49],"In":[34,45,49],"It":[24,35,36,37,45],"One":34,"That":34,"The":[20,22,23,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,47,49,50],"To":[25,49,50],"WITH":34,"With":[19,34],"_":19,"__init__":[26,34,35],"__py_alpha":40,"__py_epsilon":30,"__py_gamma":40,"__py_iter":30,"__py_matrix":[30,40],"__py_rank":30,"__py_window":40,"_check_param":34,"_object":39,"_optim":34,"a0":34,"ab":[19,34],"about":34,"absolut":31,"abstract":[34,39],"academi":[34,40],"accept":42,"access":[45,48],"accur":42,"accuraci":34,"acm":34,"acq_func":[34,39],"acquisit":[34,39],"across":[24,29],"action":33,"activ":34,"ad":[34,47],"adapt":[33,34],"add":23,"addit":[23,24,34,39],"adjust":[42,48],"advanc":[34,40],"adversari":[19,34],"affect":47,"after":[30,34,39,40,47],"against":34,"aggreg":[32,33,34],"ahuja":[19,34],"airq":22,"aistat":[19,34],"alberto":20,"alcohol":[20,22,24,29,48,49],"algo":[29,32],"algo_cod":[33,34],"algorithm":[20,23,24,26,27,28,29,31,32,34,35,39,41,42,43,45,46,49],"alippi":[19,34],"all":[19,22,29,32,34,35,36,37,40,44,47,50],"allow":[30,35],"alon":34,"alpha":[34,40],"alreadi":35,"also":35,"altern":25,"altman":[19,34],"amount":31,"an":[20,23,25,29,34,42,47,49],"anaheim":34,"analysi":[20,32,33,34,45],"analyt":42,"analyz":45,"andrea":19,"ani":[25,35,50],"anton":19,"aoqian":19,"api":[45,48],"append":50,"appli":[29,32,34,35],"applic":[23,35],"approach":38,"appropri":49,"approxim":34,"ar":[19,32,34,35,38,45,47,49],"arang":50,"arbitrari":47,"arg":34,"argument":34,"arrai":[29,32,34,35,36,37,44],"art":45,"articl":34,"artifici":34,"arxiv":34,"assess":45,"assign":34,"associ":[34,35],"assumpt":32,"attribut":[19,34],"august":34,"aut":42,"author":[25,40,42,44],"auto":34,"autocorrel":32,"autom":45,"automl":[34,49],"autoregress":34,"avail":[19,22,32,34,47,49],"averag":[29,31],"average_runs_by_nam":29,"avg_result":29,"avoid":34,"b":[19,34,42],"b0":34,"back":47,"bafu":[22,35],"balanc":34,"balzano":[19,34],"bansal":[19,34],"base":[29,30,31,32,34,35,38,39,42,48],"baseimput":[26,34,42],"baseoptim":[26,39],"basic":32,"batch":34,"batch_siz":34,"bay_otid":34,"bay_otide_imput":34,"bayesian":[19,26,29,34,39],"bayotid":[19,34],"bed":20,"been":[29,36,37,44],"befor":34,"begin":[32,35,47],"behavior":[24,33,45],"being":[31,35],"belong":32,"below":23,"benchmark":45,"best":39,"beta":34,"better":40,"between":[31,34,42,47],"bia":34,"bias":[19,34],"bidirect":[19,34],"big":34,"bioinform":19,"bioinformat":[19,34],"biom":19,"biomed":[34,38],"bit_graph":34,"bit_graph_imput":34,"bitgraph":[19,34],"blackout":[19,34,35,42],"block":[19,30,32,34,35,42],"block_siz":[32,35,42,49],"block_size_mcar":42,"bo":19,"bool":[29,30,32,33,34,35,38,42],"boost":[19,34],"botstein":[19,34],"bound":42,"bowen":19,"brit":[19,34],"brits_i_univ":34,"brits_imput":34,"brown":[19,34],"btr597":34,"buck":34,"built":45,"buuren":34,"b\u00f6hlen":[19,30,34],"b\u00fchlmann":[19,34],"c":[30,34,40,45],"c1":[34,39],"c2":[34,39],"ca":34,"cadiz":34,"cai":[19,34],"calcul":[29,32],"call":[23,34,39,49],"cambronero":34,"can":[20,25,32,34,35,44,48,49],"cand\u00e8":[19,34],"cantor":[19,34],"cao":[19,34],"capac":34,"captur":34,"carlo":[19,34],"catch24":32,"categor":29,"categori":32,"cater":45,"cc":34,"cd":25,"cdll":42,"cdrec":[19,20,23,24,26,29,32,34,39,40,42,44,46,49],"cdrec_imput":34,"centroid":[30,34],"cesar":19,"ch":[21,45],"chain":[19,34],"charact":35,"characterist":45,"check":[34,42,45],"chen":[19,34],"chen1":34,"chenxiaodanhit":34,"china":[33,34],"chines":[34,40],"chlorin":[22,42],"choic":20,"chosen":[20,47,49],"christian":19,"christo":19,"cini":[19,34],"class":[8,9,10,11,12,13,14,29,31,32,34,35,39],"classifi":33,"climat":22,"clone":25,"close":34,"cluster":34,"code":[33,34,48,49,50],"coeffici":[31,34,39],"coevolv":[19,34],"columbu":34,"column":[29,30,34,45],"com":[25,34],"come":49,"command":25,"common":[20,34,39],"commonli":45,"compar":[20,31],"compat":[25,45],"complet":[19,29,34,35,47,49],"complex":[34,44],"compon":[34,40,49],"compos":49,"comprehens":[29,45],"comput":[23,31,32,33,34,35,49,50],"compute_all_metr":[26,31],"compute_correl":[26,31],"compute_ma":[26,31],"compute_mi":[26,31],"compute_rms":[26,31],"condit":[19,34],"confer":[33,34],"config":[32,34],"config_contamin":[26,42],"config_forecast":[26,42],"config_impute_algorithm":[26,42],"configur":[24,29,32,34,39,42,45,49],"consid":34,"constant":34,"contain":[22,29,30,31,32,33,34,35,36,37,38,39,40,42,44,49],"contamin":[23,26,29,30,31,32,33,34,35,36,37,38,39,40,42,45,50],"content":46,"contextu":34,"continu":[19,34,47],"contribut":34,"control":[20,34],"converg":[19,34],"convert":[32,42],"convert_result":[26,32],"convolut":[19,34],"core":45,"corr":[19,34],"correct":42,"correl":[19,29,30,31,34,38],"correspond":[34,39],"corrupt":[19,34],"coupl":34,"cover":50,"cpu":[34,39],"creat":[29,47],"criteria":[34,45],"criterion":30,"cross":[19,30,32,34],"ctype":42,"cuda":34,"cudr\u00e9":[19,20,30,34],"current":[23,32,44],"custom":[20,30,32,42,45],"cvpr":[19,34],"d":[34,35,50],"d_hidden":34,"daniel":[19,34],"dart":42,"data":[19,23,24,29,30,31,32,33,34,35,36,37,38,40,42,44,47,48,49,50],"data_nam":34,"databas":34,"dataset":[20,29,31,32,34,35,36,37,39,42,44,45,47,48,49],"dataset_r":42,"david":[19,34],"decai":34,"decim":42,"decomposit":[19,30,34],"dedic":23,"deep":[19,34,49],"deep_mvi":34,"deep_mvi_imput":34,"deeplearn":[26,34],"deepmvi":[19,34],"default":[29,30,32,33,34,35,36,37,38,39,42,44,47,49],"defin":[23,34,49],"dejiao":19,"demonstr":23,"depend":[29,33,34],"der":[19,34,38],"descent":[19,34],"describ":49,"descript":32,"deshpand":[19,34],"desir":32,"detail":[29,32,34,45],"determin":[19,32,33,34],"develop":[19,47],"deviat":[32,34,35,48],"devic":34,"dhillon":[19,34],"diagnost":[34,38],"dict":[29,31,32,34,35,36,37,39,42,44],"dictionari":[23,29,31,32,34,35,42,49],"differ":[24,30,33,35,39,43,49],"diffus":[19,34],"dign\u00f6":[19,34],"dimens":[32,34,38,49],"dimension":[19,34],"direct":[19,34,38],"directori":[29,32],"discoveri":[19,34],"disjoint":[35,42,47],"displai":[29,32,35,42,49],"display_titl":[26,42],"distanc":34,"distribut":[34,35,47,48,49],"divers":45,"divid":[42,48],"dl":34,"dna":[19,34],"do_catch24":32,"document":[26,34,46,48],"doi":[30,33,34,38],"domain":32,"dong":19,"downstream":[34,42,45],"downstream_config":23,"downstream_metr":23,"downstream_model":23,"dr":21,"drift":[22,29],"dropout":34,"du":[19,34],"dure":[34,39,49],"dynam":[32,34],"dynammo":[19,34],"dynammo_imput":34,"e":[25,29,32,34,35,39,42],"each":[24,29,32,34,35,39,45,47,49],"earli":34,"earlier":34,"easili":45,"economi":23,"edbt":[19,34],"eeg":[20,22,24,29,48,49],"effect":20,"effici":[19,20,34,35,45],"ei":34,"eigencompon":34,"eight":49,"either":49,"electr":22,"electrod":49,"electron":34,"embed":34,"emmanuel":19,"empti":[42,45],"enabl":[34,48],"encourag":34,"end":[35,47],"endow":[19,20],"enforc":34,"eng":19,"engin":[33,34,38],"ensur":[45,48],"entir":[32,34],"entropi":32,"environ":25,"epoch":[34,49],"epsilon":[30,34],"equal":34,"equat":[19,34],"error":[31,34],"estim":[19,33,34,38],"eta":34,"etc":39,"eval":[20,29],"evalu":[20,26,27,28,34,39,41,42,45,46],"evaluate_param":[26,34],"everi":47,"exampl":[23,32,49,50],"exascaleinfolab":25,"excel":29,"except":25,"execut":[29,30,33,34,35,38,40,42],"execute_shap_model":[26,32],"expand":23,"expect":32,"experi":45,"experiment":20,"explain":[26,35,42,45,46],"explan":[24,32,35],"explor":45,"expon":32,"express":35,"extend":[19,34],"extens":[44,45],"extern":34,"extract":32,"extractor":[24,32],"extractor_pycatch":[26,32],"extractor_tsfel":[26,32],"extractor_tsfresh":[26,32],"extrem":34,"f":[23,34,49],"face":25,"factor":[19,34,39],"faloutso":[19,34],"fals":[29,32,34,35,42,49],"famili":[19,49],"fang":[19,34],"fast":34,"faster":34,"fatih":19,"featur":[24,32,34,45],"feature_nam":32,"features_categori":32,"features_list":32,"feng":[19,34],"feser":34,"fft":32,"figur":29,"file":[29,30,32,34,35,42,48,49],"file_nam":[24,32,42],"file_path":32,"fill":[19,34,36,37,40],"filter":32,"final":34,"find":[36,37,39,42,45,49],"fine":[20,45,49],"first":47,"five":49,"fix":48,"flag":32,"flaot":32,"float":[29,30,31,32,34,35,38,39,40,42],"fmri":22,"follow":[20,25,44,45,47,48,49,50],"forcast":[23,34,42],"forecast":[19,23,34,42],"forest":34,"forget":34,"forgotten":34,"format":[32,34,35,42,49],"formatted_feature_nam":32,"foster":45,"four":32,"fractal":32,"framework":[19,34,43,45],"franc":34,"frequenc":32,"fribourg":42,"friendli":45,"from":[19,20,23,24,25,32,34,35,36,37,42,47,48,49,50],"fu":[19,34],"full":20,"function":[1,2,3,4,5,6,7,17,19,27,28,29,31,32,33,34,36,37,38,39,41,42,43],"futur":[23,44],"g":[19,29,32,34,35,39,42],"gain":[19,34],"gain_imput":34,"gamma":[34,40],"gamper":[19,34],"gap":20,"gaussian":[34,35,39,42,50],"gavin":[19,34],"gcn":34,"gener":[19,29,32,34],"generate_heatmap":29,"generate_plot":29,"generate_reports_excel":29,"generate_reports_txt":29,"genet":49,"geo":[19,34,40],"get":32,"git":25,"github":[25,34],"give":31,"given":[34,39,42,47],"global":[19,34,39],"gp_hedg":[34,39],"gpu":[34,39],"gradient":[19,34],"grain":45,"graph":[19,34],"grassmannian":[19,34],"greater":[30,34],"greedi":[26,34,39],"grin":[19,34],"grin_imput":34,"groothui":34,"ground":[31,34,39,49],"group":[32,34],"grous":[19,34],"grouse_imput":34,"guestrin":[19,34],"guid":45,"h":[19,30,34],"ha":[29,35],"halv":[34,39],"han":19,"handl":[27,28,30,31,32,33,36,37,38,40,41,42,44],"hankel":[19,34],"hann":19,"hao":19,"hasti":[19,34],"have":[20,34,36,37,39,44],"hd":29,"header":[29,35],"heatmap":29,"help":[34,35],"here":25,"hidden":[34,38],"hidden_dim":[34,38],"hidden_lay":34,"high":[19,30,34,42],"high_limit":42,"higher":[31,34],"hint":34,"hint_rat":34,"histor":34,"hkmf":[19,34],"hkmf_t":34,"hkmf_t_imput":34,"how":[23,24,31,34,45,49],"hsiang":19,"html":34,"http":[25,30,34],"hua":19,"huan":19,"huang":[19,34],"human":32,"hurst":32,"hw":23,"hybrid":34,"hyperparamet":[34,39,45,49],"hz":49,"i":[23,25,29,30,32,33,34,35,36,37,38,39,40,42,44,45,47],"i_svd_imput":34,"ian":19,"icd":[19,33,34],"icde55515":34,"iclr":19,"icml":19,"identifi":24,"ieee":[19,33,34,38],"ignor":34,"iim":[19,20,26,29,32,34,40,44,46],"iim_imput":34,"ijcai":19,"illustr":[24,49,50],"imag":[34,38],"immedi":47,"impact":[23,24,45],"implement":[19,34,39,40,44,45,49],"import":[20,23,24,32,35,48,49,50],"import_matrix":[26,35],"improv":34,"imput":[19,20,23,24,26,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,44,45,46,48],"imputegap":[19,20,22,23,24,25,28,47,48,49],"imputegap_2025":25,"imputegap_asset":[35,49],"inch":35,"includ":[20,23,29,31,32,34,35,45,49],"incomp_data":[30,31,32,33,34,35,36,37,38,39,40,42,44,49],"incomplet":[19,34],"incre_mod":34,"increas":[34,39],"increment":34,"inderjit":19,"index":[34,35,45],"indic":[31,34],"individu":[19,33,34,49],"inertia":[34,39],"inf":[19,30,34],"infect":34,"infer":34,"influenc":24,"inform":[29,31,34,40,42],"inherit":34,"init":25,"initi":[23,24,34,35,39,44,48,49],"initial_strategi":34,"inner":35,"input":[30,32,33,34,35,36,37,38,40,44,49],"input_data":[24,31,32,34,35,39,49],"insid":[35,49],"insight":24,"instal":[32,45],"instanc":42,"institut":[34,40,42],"int":[29,30,32,33,34,35,38,39,40,42,50],"integr":45,"intellig":34,"interact":43,"interfac":43,"intern":[33,34],"interpol":[19,34,38],"interpolation_imput":34,"interpret":34,"invers":34,"invok":[40,49],"issu":[25,34],"itali":34,"iter":[30,33,34,38,39],"iterative_svd":34,"iterativeimput":34,"iterativesvd":[19,34],"ivan":19,"j":[19,33,34,40],"jame":19,"januari":34,"java":45,"jensen":[19,34],"jian":19,"jianmin":19,"jiaotong":[34,40],"jimeng":19,"jinsung":19,"jmlr":19,"johann":19,"jordon":[19,34],"journal":[19,34],"jss":34,"jstatsoft":34,"juli":34,"junbo":19,"june":34,"k":[33,34],"k_bia":34,"k_season":34,"k_trend":34,"kai":19,"karin":34,"kawabata":[19,34],"kdd":[19,34],"kei":[32,45],"kept":[34,39],"kernel":34,"kernel_set":34,"kevin":19,"keyword":[33,34,38],"khayati":[19,20,21,25,30,34,45],"knn":[33,34],"knn_imput":34,"knnimput":19,"knowl":[19,30,34],"knowledg":34,"kohei":[19,34],"koheiobata":34,"koki":[19,34],"kwarg":39,"l":34,"label":32,"lag":34,"lambda_f":34,"lambda_valu":34,"lambda_w":34,"lambda_x":34,"languag":45,"larg":[19,31,32,34],"larger":34,"last":35,"latent":34,"later":42,"latest":25,"launch":[20,32],"laura":19,"layer":34,"lcb":34,"learn":[19,30,33,34,38,39,45,49],"learning_neighbor":34,"learning_neighbour":34,"learning_r":[34,38],"lei":19,"leilei":19,"len":50,"length":[34,35,38,47],"lerner":20,"less":[30,34],"let":[24,49],"level":29,"leverag":40,"li":[19,34,40],"liang":19,"lib":42,"lib_cdrec":42,"lib_path":30,"librari":[22,25,29,30,32,42,45,49],"licens":25,"like":[29,34,35,40,44],"limit":[32,34,35,42,47],"linear":[31,34],"link":48,"list":[20,29,32,34,35,39,42,49],"list_of_algorithm":[26,42],"list_of_dataset":[26,42],"list_of_downstream":[26,42],"list_of_downstreams_dart":[26,42],"list_of_downstreams_sktim":[26,42],"list_of_optim":[26,42],"list_of_pattern":[26,42],"list_result":20,"liu":[19,34],"lmzzml":34,"load":[23,24,32,34,35,42,48],"load_configur":[26,32],"load_paramet":[26,42],"load_seri":[23,24,26,35,48,49],"load_share_lib":[26,42],"loc":50,"local":[32,35,42],"log":[26,30,32,33,34,35,38,40],"logic":34,"long":34,"loss":34,"low":[19,30,34,42],"low_limit":42,"lower":[34,42],"lr":34,"lu":[19,34],"luo":[19,34],"m":[30,32,34,38,47,49],"macao":[33,34],"mach":19,"machin":[19,34,38,49],"machinelearn":[26,34],"machineri":34,"mae":[29,31],"magnitud":31,"mai":[33,34,38],"main":[34,39,45],"make":[31,34],"manag":[23,24,26,32,46,48,49],"mani":34,"manipul":35,"map":32,"march":34,"marisca":[19,34],"market":34,"markl":[19,34],"master":42,"match":35,"matlab":45,"matric":[19,34],"matrix":[19,29,30,33,34,35,36,37,38,40,44,45,49,50],"matrixcomplet":[23,26,34,49],"matsubara":[19,34],"mauroux":[19,20,30,34],"max":[34,47,48],"max_concurrent_tri":[20,34,39],"max_epoch":34,"max_featur":34,"max_it":34,"max_iter":34,"max_rank":34,"max_seri":35,"max_valu":35,"maximum":[30,34,35,48],"mazumd":[19,34],"mcar":[24,29,32,35,42,49],"mccann":[19,34],"mean":[29,31,32,34,36,42,48,50],"mean_featur":32,"mean_imput":[26,34,46],"meanimput":[19,20,34],"meanimputebyseri":[19,34],"measur":[31,34,38,49],"median":34,"medic":[34,38],"medium":34,"memori":[34,39],"messag":[19,34],"metadata":34,"meteo":22,"meteorologi":34,"method":[19,24,33,44,45,49],"metric":[29,31,34,35,39,40,49],"mf_imput":34,"mi":[29,31],"mice":[19,34],"mice_imput":34,"michael":[19,34],"microarrai":[19,34],"microsoft":[34,40],"mihaela":19,"min":48,"min_imput":[26,34,46],"min_max":[23,35],"mind":20,"mine":[19,34],"mingzh":19,"mini":34,"minim":34,"minimput":[19,34],"minimum":[34,36,37,48],"miss":[19,20,29,30,32,33,34,35,36,37,38,40,42,44,45,47,49],"miss_forest":34,"miss_net":34,"miss_net_imput":34,"missforest":[19,34],"missing":[20,24,45,47,49],"missing_completely_at_random":[20,24,35,49],"missing_percentag":[23,35],"missing_percentage_at_random":35,"missing_r":[32,35],"missnet":[19,34],"mit":25,"mitter":[19,34],"mix":[19,34],"ml":34,"mode":34,"model":[19,23,24,32,33,34,38,42],"modul":[19,20,22,23,45,46,47,49],"modular":45,"more":[31,32,34,39,40,44],"most":[24,35],"most_frequ":34,"motion":22,"mourad":[19,20,21,25,45],"mp":42,"mpin":[19,34],"mpin_imput":34,"mrnn":[19,20,26,29,32,34,40,44,46],"mrnn_imput":34,"multi":[19,34,38],"multidimension":[19,34],"multipl":[19,29,34,40,44],"multivari":[19,34,38],"must":[30,32,34,39],"mutual":31,"mvl":[19,34,40],"mxgboost_imput":34,"n":[19,32,34,47,50],"n_call":[20,34,39],"n_cl":34,"n_estim":34,"n_particl":[34,39],"n_process":[34,39],"n_random_start":[34,39],"n_season":34,"name":[24,29,32,34,35,42],"nan":[30,31,33,35,36,37,38,40,44,45],"nanci":19,"narendra":19,"nater":[21,25,40,42,44,45],"nativ":[30,40],"native_cdrec":[26,30],"native_stmvl":[26,40],"nbr_featur":34,"nbr_run":20,"nbr_seri":[35,48,49],"nbr_val":[35,48,49],"ndarrai":[29,30,32,33,34,35,36,37,38,39,40,44,45],"nearest":[33,34],"need":[35,49],"neg":31,"neighbor":[33,34],"net":[19,34,38],"network":[19,34,38],"neural":[19,34,38],"neurip":[19,34],"new":[34,45],"newlin":[35,45],"nikhil":19,"nip":19,"node":34,"node_dim":34,"node_numb":34,"nois":34,"non":[19,34,36,37],"none":[29,30,32,34,35,36,37,42,44],"norm":50,"normal":[23,24,26,35,45,48,49],"norwai":34,"notimplementederror":34,"nov":34,"now":49,"np":[29,32,36,37,44,50],"num_config":[34,39],"num_iter":[34,39],"num_of_iter":34,"number":[29,30,32,33,34,35,38,39,47],"number_neighbor":33,"numer":[33,34],"numpi":[29,30,32,33,34,35,36,37,38,39,40,44,45,50],"ny":34,"o":19,"obata":[19,34],"object":[23,24,29,31,32,34,35,39,42,48,49],"objectview":22,"observ":34,"off":34,"offset":[32,35,42,47],"oh":34,"olga":[19,34],"one":[32,35,47],"ones":34,"onli":[32,35],"onlin":[19,34],"open":25,"oper":[27,28,31,34,41,42],"optim":[19,20,26,29,34,42,46,49],"optimal_param":[42,49],"option":[20,29,30,32,33,34,35,36,37,38,39,42,44,45,49],"org":[30,34],"organ":29,"origin":[32,34,35,42],"orthonorm":[19,34],"other":[27,28,31,34,41,42],"oudshoorn":34,"our":49,"outlier":31,"output":[29,32,33,35,45,50],"outsid":42,"ov":34,"over":[20,29,32,34],"overfit":34,"overlap":[35,42,47],"own":45,"p":[30,34,50],"packag":[28,45,46],"page":34,"pandei":[19,34],"papadimitri":[19,34],"paper":34,"paper_fil":34,"parallel":[34,39],"param":[32,34,36,37,42,44,49],"paramat":42,"paramet":[20,27,28,31,41,49,50],"parameter":45,"parametr":[19,34],"pari":34,"parikshit":19,"particl":[34,39],"particleswarm":[26,39],"pass":[34,44],"past":34,"pat":34,"path":[30,32,35,42],"patienc":34,"patrick":19,"pattern":[19,20,24,29,31,32,34,35,42,45,49],"patternsearch":[26,34],"pbansal5":34,"pdf":[34,50],"pearson":31,"per":[32,34,35,47],"percentag":[32,35,42,47],"percentage_shift":35,"perfect":31,"perform":[29,30,31,33,34,38,39,40,49],"person":[34,39],"peter":[19,34],"philipp":[19,20],"php":34,"pi":34,"pip":[25,32],"pipelin":29,"place":49,"plai":45,"plan":23,"pleas":[25,34,39,45,49],"plot":[26,29,32,35,49],"plug":45,"pmlr":19,"point":[34,36,37,39],"pollard":[19,34],"poly_ord":34,"popular":45,"porikli":[19,34],"posit":[31,32,35,47],"potenti":42,"power":[34,40],"pp":[33,34,38],"prathamesh":19,"pre":45,"predefin":[34,35],"predict":[19,23,24,33,34],"predisposit":49,"preprint":34,"preprocess":[45,48],"preserv":31,"prevent":34,"previou":47,"primari":23,"princip":34,"print":[23,24,26,30,32,33,35,36,37,38,40,42,44,49],"print_result":[23,26,35,49],"prior":[34,39,48],"pristi":[19,34],"pristi_imput":34,"probabilist":35,"probabl":[34,35,42,50],"problem":25,"proc":[19,20],"proceed":34,"process":[23,27,28,31,32,34,35,38,39,41,42,45,49],"produc":50,"progress":47,"project":[34,42],"propag":[19,34],"prophet":23,"provid":[22,24,27,28,29,31,32,33,34,35,39,41,42,43,45,49,50],"pseudo":34,"pso":[34,39],"publicli":22,"purpos":35,"pvldb":19,"pycatch":[24,32],"pycatch22":32,"pypi":[25,34],"python":[25,45],"q":34,"qingsong":19,"qualiti":29,"quentin":[21,25,40,42,44,45],"queri":42,"quickli":34,"r":[19,34,38,45,47,50],"rahul":19,"rai":[34,39,49],"rand":32,"random":[32,34,35,39,47],"random_init":34,"randomli":47,"rang":[20,42,45,48],"rank":[19,30,34],"rao":[19,34],"rate":[20,29,30,34,38,42,47],"rate_dataset":[32,35,49,50],"rate_seri":[23,35,49,50],"ratio":32,"raw":[32,35],"ray_tun":[20,34,49],"raytun":[26,39],"re":19,"reach":[34,47],"read":[20,22,45],"readabl":32,"readm":34,"real":45,"recognit":34,"recomput":42,"reconstruct":34,"recov":[19,30,33,34,38,40,49],"recov_data":[23,30,31,33,34,35,36,37,38,40,44,49],"recoveri":[19,20,23,24,26,30,46,48,49],"recurr":[19,34,38],"reduc":32,"reduct":[34,39],"reduction_factor":[34,39],"refer":49,"refin":32,"regress":[24,32,33,34],"regular":[19,34],"relat":[32,34,39],"relationship":[31,40],"remov":[32,42,47,49],"repair":45,"replac":[34,35,36,37,44],"replace_nan":35,"report":[19,29],"repres":[30,32,33,36,37,38,44],"represent":34,"reproduc":[32,34,35,45],"requir":[32,34],"research":[25,34,40,45],"resourc":[34,39],"restrict":35,"result":[23,24,29,32,35,42,45],"retain":34,"reveal":24,"rmse":[29,31,32,34,39],"robert":[19,34],"robust":[19,31,34],"root":31,"rosl":[19,34],"rosl_imput":34,"round":34,"row":[29,32,34,45],"royal":34,"royston":[19,34],"run":[20,25,29,34,39],"runs_plots_scor":29,"russ":[19,34],"s10115":[30,34],"sage":34,"sakurai":[19,34],"same":[35,47,50],"sampl":[32,34,49],"sarawagi":[19,34],"satisfi":45,"save":[29,32,35,42,49],"save_dir":[20,29],"save_optim":[26,42,49],"save_path":[35,49],"scalabl":[19,30,34],"scale":[34,48,50],"scalp":49,"schaar":[19,34,38],"school":[34,40],"scienc":[34,40],"scikit":34,"scipi":50,"score":[23,26,29,31,34,39,48,49],"scores_list":29,"sdv":34,"search":[19,49],"search_path":[23,24,26,42,48,49],"season":34,"second":49,"section":[29,32,35,49],"see":34,"seed":[32,34,35,42,49,50],"select":[23,32,34,39,42,48,49],"self":[29,34],"sensor":[19,34],"sensori":[19,34,40],"separ":[32,35,45],"septemb":34,"seq_len":34,"sequenc":[19,34,38],"sequence_length":[34,38],"seri":[19,20,23,24,30,31,32,33,34,35,36,37,38,39,40,44,45,47,48,49,50],"series_r":[35,42],"series_rang":35,"serv":20,"set":[29,31,32,33,34,35,38],"set_nam":42,"sever":49,"sh":34,"shandian":19,"shaoxu":19,"shap":[24,32],"shap_detail":[24,32],"shap_explain":[24,26,32],"shap_valu":[24,32],"shape":[32,35],"shaplei":24,"share":[30,31,42],"shen":[19,34],"shenzhen":[34,40],"sherlock":[19,34],"shift":[35,42,47],"shikai":19,"short":34,"should":34,"show":49,"shrunk":34,"shu":[19,34],"siam":[19,34],"sigkdd":34,"simeng":19,"simpl":[36,37,44],"simul":[45,49],"singl":[29,47],"singular":[19,34],"size":[32,34,35,40,42,47],"skew":32,"sklearn":34,"sktime":42,"slide":34,"smaller":[30,34],"smith":34,"smooth":[34,40],"snippet":50,"soccer":22,"societi":34,"soft":34,"soft_imput":34,"soft_impute_imput":34,"softimput":[19,34],"softwar":[19,25,34],"solut":34,"song":[19,33,34],"sourc":[25,29,30,31,32,33,34,35,36,37,38,39,40,42,44],"southwest":[34,40],"space":[35,45],"spain":34,"spars":[19,34],"sparser":34,"sparsiti":34,"spatial":[34,40],"spatio":34,"spatiotempor":[19,34],"specif":[32,33,34,35,39,49],"specifi":[23,32,34,49],"spectral":[19,32,34],"speed":34,"spirit":[19,34],"spirit_imput":34,"spiro":19,"split":32,"splitter":32,"sqrt":34,"squar":31,"st":[19,34,40],"stabl":34,"standard":[32,35,48,49],"start":[35,47,49],"stat":50,"stata":[19,34],"state":[34,45],"static":34,"statist":[19,26,32,34,49],"std_dev":[35,42,50],"stef":34,"stekhoven":[19,34],"step":48,"stmvl":[20,26,29,32,34,46],"stmvl_imput":34,"stop":[30,34],"stoptask":22,"str":[29,30,32,33,34,35,39,42],"strategi":[34,39,44],"stream":[19,34,38],"string":42,"structur":[34,38,39],"subclass":39,"subgraph":34,"subgraph_s":34,"subject":49,"submodul":[45,46,49],"subpackag":46,"subplot":[29,35,49],"subsequ":47,"subset":49,"subspac":[19,34],"subtract":48,"success":[34,39],"successivehalv":[26,39],"suitabl":34,"sum":[34,50],"sum_scor":20,"summar":[19,29,34],"summari":29,"sun":[19,33,34],"sunita":19,"support":[23,30,32,35,40,44,45],"svd":34,"svt":[19,34],"svt_imput":34,"swarm":39,"switch":[19,34],"syst":[19,30,34],"system":[19,34,42,45],"systemat":23,"t":[19,22,23,24,32,34,35,40,42,47,48,49,50],"tab":34,"tag":[19,34],"tao":[19,34],"target":34,"target_strategi":34,"task":[23,34,45],"tau":34,"tbme":[34,38],"technic":19,"techniqu":[20,35,36,37,40,44,48],"technologi":[34,40],"temperatur":22,"templat":34,"tempor":[19,32,34,38,40],"tensor":34,"term":[31,34],"test":[20,29,32,42],"text":[29,35],"than":[30,31,34],"them":[29,32,34,49],"thesi":42,"thi":[32,33,34,35,36,37,38,39,40,44,47,49,50],"those":49,"thre":34,"threshold":[19,30,34],"through":29,"tianheng":19,"tianqi":[19,34],"tianrui":19,"tibshirani":[19,34],"tick":29,"time":[19,20,23,24,29,30,31,32,33,34,35,36,37,38,39,40,44,45,47,48,49],"time_scal":34,"timeseri":[23,24,26,35,42,48,49],"timestamp":[35,45],"titl":[25,42],"tkcm":[19,34],"tkcm_imput":34,"tkde":[19,34],"tmp":32,"to_sav":32,"tol":34,"toler":34,"toml":[32,42],"tool":[23,24,26,28,29,31,43,45,46,48,49],"top":47,"total":[33,34,38,39,47],"trade":34,"train":[24,32,34,38],"training_ratio":32,"tran":19,"transact":[34,38],"transfer":34,"tree":[19,33,34],"trend":34,"trevor":[19,34],"trial":[34,39],"trigger":34,"trmf":[19,34],"trmf_imput":34,"trondheim":34,"troyanskaya":[19,34],"true":[29,30,32,33,34,35,38,40,42,49,50],"truncat":30,"truncation_rank":30,"truth":[31,34,39,49],"try":[34,39],"ts_1":34,"ts_m":[23,49,50],"ts_m2":50,"ts_test":42,"tsfel":32,"tsfresh":32,"tune":[20,34,39,45,49],"tupl":[32,34,35,39,42],"tutori":45,"two":[32,48],"txt":[29,35,42],"tymchenko":20,"type":[19,32,34,42],"typic":48,"tzhaonj":34,"uncondit":34,"uncontamin":[32,35],"undercov":34,"underli":31,"uniform":34,"unifr":[21,45],"uniqu":34,"unit":34,"univers":[34,40,42],"unix":25,"until":47,"up":[32,34,47],"updat":34,"upper":42,"url":25,"us":[19,24,25,30,32,33,34,35,36,37,38,39,40,42,44,45,49,50],"usa":34,"user":[20,34,35,42,45,47,48,49],"user_def":[29,34,49],"util":[20,23,24,26,28,29,31,33,41,46,48,49],"v":34,"v045i04":34,"valid":[32,34],"valu":[19,20,29,30,31,32,33,34,35,36,37,38,39,40,42,44,45,47,48,49,50],"valueerror":42,"van":[19,34,38],"vari":[45,47],"variabl":[32,34],"varianc":[32,34],"variat":34,"variou":[20,24,27,28,29,30,31,33,34,36,37,38,39,40,41,42,44,45],"varun":19,"venic":34,"venu":19,"verbos":32,"veri":34,"verifi":42,"verification_limit":[26,42],"version":[19,25,32,33,34],"via":[19,34],"view":[29,34,35],"view_by_seri":35,"vision":34,"visual":[29,35,45],"vldb":[19,20],"vol":[34,38],"volker":19,"volum":34,"w":[34,38,39,47],"wang":[19,33,34],"wangliang":34,"warn":42,"we":49,"wei":19,"weight":[31,34,39,40],"weight_decai":34,"well":31,"wellenzohn":[19,34],"wen":[19,34],"when":34,"where":[32,35,36,37,38,44],"whether":[30,32,33,34,35,38],"which":[32,34],"while":34,"white":[19,34],"whole":34,"william":19,"window":[34,40],"window_s":[34,40],"within":[34,38,42],"without":[34,35,42],"work":33,"worker":34,"world":45,"wu":[19,34],"www":34,"x":[34,40,47],"x_axi":[20,29],"x_dataset":32,"x_inform":32,"xgbi":19,"xgboost":[19,34],"xianbiao":19,"xianp":19,"xiao":19,"xiaodan":19,"xiucheng":19,"xiuwen":19,"xli":34,"xuangu":34,"y":[33,34,40],"y_dataset":32,"y_size":29,"yanji":19,"yasuko":[19,34],"yasushi":[19,34],"year":[19,25],"yi":[19,34,40],"yingtao":19,"yitan":19,"yoon":[19,34,38],"york":34,"you":[25,34,35,39,48,49],"your":[25,34,39,45],"yu":[19,34],"yuenshingyan":34,"z":[34,48],"z_score":[24,35,48,49],"zakhar":20,"zame":[19,34,38],"zero":[32,34,44],"zero_imput":[26,34,46],"zeroimput":[19,34],"zhang":[19,33,34,40],"zhe":[19,34],"zheng":[19,34,40],"zhijun":19,"zhou":[19,34],"zuowei":19},"titles":["imputegap.algorithms","imputegap.algorithms.cdrec","imputegap.algorithms.iim","imputegap.algorithms.mean_impute","imputegap.algorithms.min_impute","imputegap.algorithms.mrnn","imputegap.algorithms.stmvl","imputegap.algorithms.zero_impute","imputegap.recovery.benchmark","imputegap.recovery.benchmark","imputegap.recovery.evaluation","imputegap.recovery.explainer","imputegap.recovery.imputation","imputegap.recovery.manager","imputegap.recovery.optimization","imputegap.tools","imputegap.tools.algorithm_parameters","imputegap.tools.utils","imputegap.wrapper","Algorithms","Benchmark","Contributors","Datasets","Downstream Evaluation","Explainer","Getting Started","ImputeGAP Package","imputegap.tools.algorithm_parameters package","Submodules","imputegap.recovery.benchmark package","imputegap.algorithms.cdrec package","imputegap.recovery.evaluation package","imputegap.recovery.explainer package","imputegap.algorithms.iim package","imputegap.recovery.imputation package","imputegap.recovery.manager package","imputegap.algorithms.mean_impute package","imputegap.algorithms.min_impute package","imputegap.algorithms.mrnn package","imputegap.recovery.optimization package","imputegap.algorithms.stmvl package","imputegap.tools package","imputegap.tools.utils package","imputegap.wrapper package","imputegap.algorithms.zero_impute package","ImputeGAP Documentation","imputegap","Patterns","Pre-processing","Tutorials","Distribution"],"titleterms":{"algorithm":[0,1,2,3,4,5,6,7,19,30,33,36,37,38,40,44],"algorithm_paramet":[16,27],"benchmark":[8,9,20,29],"block":47,"cdrec":[1,30],"cite":25,"contamin":49,"content":[26,32,34,35,39,43],"contributor":[21,45],"core":21,"data":45,"dataset":22,"distribut":50,"document":[27,28,29,31,41,42,45],"downstream":23,"evalu":[10,23,29,31],"exampl":[29,30,33,34,36,37,38,40,44],"explain":[11,24,32],"format":45,"get":[25,45],"iim":[2,33],"imput":[12,34,49],"imputegap":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,26,27,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],"instal":25,"load":49,"manag":[13,35],"mean_imput":[3,36],"method":[29,31,32,34,35,39],"min_imput":[4,37],"modul":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],"mono":47,"mrnn":[5,38],"multi":47,"note":[29,32,33,36,37,38,40,42,44],"optim":[14,39],"packag":[26,27,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],"paramet":[29,30,32,33,34,35,36,37,38,39,40,42,44],"parameter":49,"pattern":47,"pre":48,"preprocess":49,"process":48,"rais":[34,42],"recoveri":[8,9,10,11,12,13,14,29,31,32,34,35,39],"refer":[19,30,33,34,38,40],"requir":25,"return":[29,30,31,32,33,34,35,36,37,38,39,40,42,44],"setup":47,"start":[25,45],"stmvl":[6,40],"subclass":34,"submodul":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],"subpackag":26,"system":25,"tool":[15,16,17,27,41,42],"troubleshoot":25,"tutori":49,"util":[17,27,42],"wrapper":[18,43],"zero_imput":[7,44]}})
\ No newline at end of file
diff --git a/docs/generation/build/html/sources/downstream.rst.txt b/docs/generation/build/html/sources/downstream.rst.txt
index 76f0bf60..47f8d857 100644
--- a/docs/generation/build/html/sources/downstream.rst.txt
+++ b/docs/generation/build/html/sources/downstream.rst.txt
@@ -18,7 +18,7 @@ Below is an example of how to call the downstream process for the model Prophet
print(f"ImputeGAP downstream models for forcasting : {ts.downstream_models}")
# load and normalize the timeseries
- ts.load_series(utils.search_path("chlorine"))
+ ts.load_series(utils.search_path("forecast-economy"))
ts.normalize(normalizer="min_max")
# contaminate the time series
@@ -29,7 +29,7 @@ Below is an example of how to call the downstream process for the model Prophet
imputer.impute()
# compute print the downstream results
- downstream_config = {"task": "forecast", "model": "prophet"}
+ downstream_config = {"task": "forecast", "model": "hw-add"}
imputer.score(ts.data, imputer.recov_data, downstream=downstream_config)
ts.print_results(imputer.downstream_metrics, algorithm=imputer.algorithm)
diff --git a/docs/generation/build/html/sources/tutorials.rst.txt b/docs/generation/build/html/sources/tutorials.rst.txt
index 4a227dab..db8b4ee5 100644
--- a/docs/generation/build/html/sources/tutorials.rst.txt
+++ b/docs/generation/build/html/sources/tutorials.rst.txt
@@ -27,7 +27,7 @@ alcoholism. The dataset contains measurements from 64 electrodes placed on subje
ts.normalize(normalizer="z_score")
# plot a subset of time series
- ts.plot(input_data=ts.data, nbr_series=9, nbr_val=100, save_path="./imputegap/assets")
+ ts.plot(input_data=ts.data, nbr_series=9, nbr_val=100, save_path="./imputegap_assets")
# print a subset of time series
ts.print(nbr_series=6, nbr_val=20)
@@ -58,7 +58,7 @@ As example, we show how to contaminate the eeg-alcohol dataset with the MCAR pat
ts_m = ts.Contamination.missing_completely_at_random(ts.data, rate_dataset=0.2, rate_series=0.4, block_size=10, seed=True)
# plot the contaminated time series
- ts.plot(ts.data, ts_m, nbr_series=9, subplot=True, save_path="./imputegap/assets")
+ ts.plot(ts.data, ts_m, nbr_series=9, subplot=True, save_path="./imputegap_assets")
@@ -109,7 +109,7 @@ Let's illustrate the imputation using the CDRec Algorithm from the Matrix Comple
ts.print_results(imputer.metrics)
# plot the recovered time series
- ts.plot(input_data=ts.data, incomp_data=ts_m, recov_data=imputer.recov_data, nbr_series=9, subplot=True, save_path="./imputegap/assets")
+ ts.plot(input_data=ts.data, incomp_data=ts_m, recov_data=imputer.recov_data, nbr_series=9, subplot=True, save_path="./imputegap_assets")
@@ -147,7 +147,7 @@ The Optimizer component manages algorithm configuration and hyperparameter tunin
ts.print_results(imputer.metrics)
# plot the recovered time series
- ts.plot(input_data=ts.data, incomp_data=ts_m, recov_data=imputer.recov_data, nbr_series=9, subplot=True, save_path="./imputegap/assets", display=True)
+ ts.plot(input_data=ts.data, incomp_data=ts_m, recov_data=imputer.recov_data, nbr_series=9, subplot=True, save_path="./imputegap_assets", display=True)
# save hyperparameters
utils.save_optimization(optimal_params=imputer.parameters, algorithm=imputer.algorithm, dataset="eeg-alcohol", optimizer="ray_tune")
diff --git a/docs/generation/build/html/tutorials.html b/docs/generation/build/html/tutorials.html
index 8fee4b75..f555b795 100644
--- a/docs/generation/build/html/tutorials.html
+++ b/docs/generation/build/html/tutorials.html
@@ -288,7 +288,7 @@ Tutorialsts.normalize(normalizer="z_score")
# plot a subset of time series
-ts.plot(input_data=ts.data, nbr_series=9, nbr_val=100, save_path="./imputegap/assets")
+ts.plot(input_data=ts.data, nbr_series=9, nbr_val=100, save_path="./imputegap_assets")
# print a subset of time series
ts.print(nbr_series=6, nbr_val=20)
@@ -314,7 +314,7 @@ Tutorialsts_m = ts.Contamination.missing_completely_at_random(ts.data, rate_dataset=0.2, rate_series=0.4, block_size=10, seed=True)
# plot the contaminated time series
-ts.plot(ts.data, ts_m, nbr_series=9, subplot=True, save_path="./imputegap/assets")
+ts.plot(ts.data, ts_m, nbr_series=9, subplot=True, save_path="./imputegap_assets")
If you need to remove data following a specific distribution, please refer to this tutorial.
@@ -349,7 +349,7 @@ Tutorialsts.print_results(imputer.metrics)
# plot the recovered time series
-ts.plot(input_data=ts.data, incomp_data=ts_m, recov_data=imputer.recov_data, nbr_series=9, subplot=True, save_path="./imputegap/assets")
+ts.plot(input_data=ts.data, incomp_data=ts_m, recov_data=imputer.recov_data, nbr_series=9, subplot=True, save_path="./imputegap_assets")
@@ -380,7 +380,7 @@ Tutorialsts.print_results(imputer.metrics)
# plot the recovered time series
-ts.plot(input_data=ts.data, incomp_data=ts_m, recov_data=imputer.recov_data, nbr_series=9, subplot=True, save_path="./imputegap/assets", display=True)
+ts.plot(input_data=ts.data, incomp_data=ts_m, recov_data=imputer.recov_data, nbr_series=9, subplot=True, save_path="./imputegap_assets", display=True)
# save hyperparameters
utils.save_optimization(optimal_params=imputer.parameters, algorithm=imputer.algorithm, dataset="eeg-alcohol", optimizer="ray_tune")
diff --git a/docs/generation/report.log b/docs/generation/report.log
index 49464c9d..6b6b8a4d 100644
--- a/docs/generation/report.log
+++ b/docs/generation/report.log
@@ -62,3 +62,4 @@
2025-03-13 16:16:46,736 - numba.cuda.cudadrv.driver - INFO - init
2025-03-13 18:21:00,585 - numba.cuda.cudadrv.driver - INFO - init
2025-03-14 14:37:31,196 - numba.cuda.cudadrv.driver - INFO - init
+2025-03-18 18:21:29,466 - numba.cuda.cudadrv.driver - INFO - init
diff --git a/docs/generation/source/downstream.rst b/docs/generation/source/downstream.rst
index 76f0bf60..47f8d857 100644
--- a/docs/generation/source/downstream.rst
+++ b/docs/generation/source/downstream.rst
@@ -18,7 +18,7 @@ Below is an example of how to call the downstream process for the model Prophet
print(f"ImputeGAP downstream models for forcasting : {ts.downstream_models}")
# load and normalize the timeseries
- ts.load_series(utils.search_path("chlorine"))
+ ts.load_series(utils.search_path("forecast-economy"))
ts.normalize(normalizer="min_max")
# contaminate the time series
@@ -29,7 +29,7 @@ Below is an example of how to call the downstream process for the model Prophet
imputer.impute()
# compute print the downstream results
- downstream_config = {"task": "forecast", "model": "prophet"}
+ downstream_config = {"task": "forecast", "model": "hw-add"}
imputer.score(ts.data, imputer.recov_data, downstream=downstream_config)
ts.print_results(imputer.downstream_metrics, algorithm=imputer.algorithm)
diff --git a/docs/generation/source/tutorials.rst b/docs/generation/source/tutorials.rst
index 4a227dab..db8b4ee5 100644
--- a/docs/generation/source/tutorials.rst
+++ b/docs/generation/source/tutorials.rst
@@ -27,7 +27,7 @@ alcoholism. The dataset contains measurements from 64 electrodes placed on subje
ts.normalize(normalizer="z_score")
# plot a subset of time series
- ts.plot(input_data=ts.data, nbr_series=9, nbr_val=100, save_path="./imputegap/assets")
+ ts.plot(input_data=ts.data, nbr_series=9, nbr_val=100, save_path="./imputegap_assets")
# print a subset of time series
ts.print(nbr_series=6, nbr_val=20)
@@ -58,7 +58,7 @@ As example, we show how to contaminate the eeg-alcohol dataset with the MCAR pat
ts_m = ts.Contamination.missing_completely_at_random(ts.data, rate_dataset=0.2, rate_series=0.4, block_size=10, seed=True)
# plot the contaminated time series
- ts.plot(ts.data, ts_m, nbr_series=9, subplot=True, save_path="./imputegap/assets")
+ ts.plot(ts.data, ts_m, nbr_series=9, subplot=True, save_path="./imputegap_assets")
@@ -109,7 +109,7 @@ Let's illustrate the imputation using the CDRec Algorithm from the Matrix Comple
ts.print_results(imputer.metrics)
# plot the recovered time series
- ts.plot(input_data=ts.data, incomp_data=ts_m, recov_data=imputer.recov_data, nbr_series=9, subplot=True, save_path="./imputegap/assets")
+ ts.plot(input_data=ts.data, incomp_data=ts_m, recov_data=imputer.recov_data, nbr_series=9, subplot=True, save_path="./imputegap_assets")
@@ -147,7 +147,7 @@ The Optimizer component manages algorithm configuration and hyperparameter tunin
ts.print_results(imputer.metrics)
# plot the recovered time series
- ts.plot(input_data=ts.data, incomp_data=ts_m, recov_data=imputer.recov_data, nbr_series=9, subplot=True, save_path="./imputegap/assets", display=True)
+ ts.plot(input_data=ts.data, incomp_data=ts_m, recov_data=imputer.recov_data, nbr_series=9, subplot=True, save_path="./imputegap_assets", display=True)
# save hyperparameters
utils.save_optimization(optimal_params=imputer.parameters, algorithm=imputer.algorithm, dataset="eeg-alcohol", optimizer="ray_tune")
diff --git a/imputegap/algorithms/__pycache__/xgboost.cpython-312.pyc b/imputegap/algorithms/__pycache__/xgboost.cpython-312.pyc
index 1092b70d..e78ef9ff 100644
Binary files a/imputegap/algorithms/__pycache__/xgboost.cpython-312.pyc and b/imputegap/algorithms/__pycache__/xgboost.cpython-312.pyc differ
diff --git a/imputegap/algorithms/xgboost.py b/imputegap/algorithms/xgboost.py
index b939eee2..29834896 100644
--- a/imputegap/algorithms/xgboost.py
+++ b/imputegap/algorithms/xgboost.py
@@ -3,7 +3,7 @@
import numpy as np
import pandas as pd
-from xgboost import XGBRegressor, XGBClassifier
+from xgboost import XGBRegressor
def xgboost(incomp_data, n_estimators=10, seed=42, logs=True):
diff --git a/imputegap/assets/25_01_08_17_34_43_plot.jpg b/imputegap/assets/25_01_08_17_34_43_plot.jpg
deleted file mode 100644
index afa4d95e..00000000
Binary files a/imputegap/assets/25_01_08_17_34_43_plot.jpg and /dev/null differ
diff --git a/imputegap/assets/25_01_08_17_35_48_plot.jpg b/imputegap/assets/25_01_08_17_35_48_plot.jpg
deleted file mode 100644
index 4d919300..00000000
Binary files a/imputegap/assets/25_01_08_17_35_48_plot.jpg and /dev/null differ
diff --git a/imputegap/assets/25_01_24_16_04_19_plot.jpg b/imputegap/assets/25_01_24_16_04_19_plot.jpg
deleted file mode 100644
index 233be8d2..00000000
Binary files a/imputegap/assets/25_01_24_16_04_19_plot.jpg and /dev/null differ
diff --git a/imputegap/assets/25_02_07_13_59_51_plot.jpg b/imputegap/assets/25_02_07_13_59_51_plot.jpg
deleted file mode 100644
index 4af1244a..00000000
Binary files a/imputegap/assets/25_02_07_13_59_51_plot.jpg and /dev/null differ
diff --git a/imputegap/assets/shap/eeg-alcohol_cdrec_pycatch_DTL_Beeswarm.png b/imputegap/assets/shap/eeg-alcohol_cdrec_pycatch_DTL_Beeswarm.png
deleted file mode 100644
index 519bad13..00000000
Binary files a/imputegap/assets/shap/eeg-alcohol_cdrec_pycatch_DTL_Beeswarm.png and /dev/null differ
diff --git a/imputegap/assets/shap/eeg-alcohol_cdrec_pycatch_DTL_Waterfall.png b/imputegap/assets/shap/eeg-alcohol_cdrec_pycatch_DTL_Waterfall.png
deleted file mode 100644
index 4c5fb5ce..00000000
Binary files a/imputegap/assets/shap/eeg-alcohol_cdrec_pycatch_DTL_Waterfall.png and /dev/null differ
diff --git a/imputegap/assets/shap/eeg-alcohol_cdrec_pycatch_results.txt b/imputegap/assets/shap/eeg-alcohol_cdrec_pycatch_results.txt
deleted file mode 100644
index 85a91920..00000000
--- a/imputegap/assets/shap/eeg-alcohol_cdrec_pycatch_results.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-Feature : 5 CDRec with a score of 31.1 Correlation Time reversibility CO_trev_1_num
-Feature : 10 CDRec with a score of 20.85 Geometry Goodness of exponential fit to embedding distance distribution CO_Embed2_Dist_tau_d_expfit_meandiff
-Feature : 2 CDRec with a score of 12.12 Correlation First 1/e crossing of the ACF CO_f1ecac
-Feature : 21 CDRec with a score of 9.13 Trend Error of 3-point rolling mean forecast FC_LocalSimple_mean3_stderr
-Feature : 8 CDRec with a score of 5.16 Geometry Transition matrix column variance SB_TransitionMatrix_3ac_sumdiagcov
-Feature : 15 CDRec with a score of 4.71 Transformation Power in the lowest 20% of frequencies SP_Summaries_welch_rect_area_5_1
-Feature : 17 CDRec with a score of 4.04 Trend Entropy of successive pairs in symbolized series SB_MotifThree_quantile_hh
-Feature : 1 CDRec with a score of 3.42 Geometry 10-bin histogram mode DN_HistogramMode_10
-Feature : 6 CDRec with a score of 2.09 Geometry Proportion of high incremental changes in the series MD_hrv_classic_pnn40
-Feature : 4 CDRec with a score of 2.07 Correlation Histogram-based automutual information (lag 2, 5 bins) CO_HistogramAMI_even_2_5
-Feature : 20 CDRec with a score of 1.61 Transformation Centroid frequency SP_Summaries_welch_rect_centroid
-Feature : 13 CDRec with a score of 1.27 Geometry Positive outlier timing DN_OutlierInclude_p_001_mdrmd
-Feature : 0 CDRec with a score of 1.05 Geometry 5-bin histogram mode DN_HistogramMode_5
-Feature : 18 CDRec with a score of 0.63 Geometry Rescaled range fluctuation analysis (low-scale scaling) SC_FluctAnal_2_rsrangefit_50_1_logi_prop_r1
-Feature : 12 CDRec with a score of 0.41 Correlation Change in autocorrelation timescale after incremental differencing FC_LocalSimple_mean1_tauresrat
-Feature : 14 CDRec with a score of 0.33 Geometry Negative outlier timing DN_OutlierInclude_n_001_mdrmd
-Feature : 3 CDRec with a score of 0.0 Correlation First minimum of the ACF CO_FirstMin_ac
-Feature : 7 CDRec with a score of 0.0 Geometry Longest stretch of above-mean values SB_BinaryStats_mean_longstretch1
-Feature : 9 CDRec with a score of 0.0 Trend Wangs periodicity metric PD_PeriodicityWang_th0_01
-Feature : 11 CDRec with a score of 0.0 Correlation First minimum of the AMI function IN_AutoMutualInfoStats_40_gaussian_fmmi
-Feature : 16 CDRec with a score of 0.0 Geometry Longest stretch of decreasing values SB_BinaryStats_diff_longstretch0
-Feature : 19 CDRec with a score of 0.0 Geometry Detrended fluctuation analysis (low-scale scaling) SC_FluctAnal_2_dfa_50_1_2_logi_prop_r1
diff --git a/imputegap/assets/shap/eeg-alcohol_cdrec_pycatch_shap_aggregate_plot.png b/imputegap/assets/shap/eeg-alcohol_cdrec_pycatch_shap_aggregate_plot.png
deleted file mode 100644
index 530f0517..00000000
Binary files a/imputegap/assets/shap/eeg-alcohol_cdrec_pycatch_shap_aggregate_plot.png and /dev/null differ
diff --git a/imputegap/assets/shap/eeg-alcohol_cdrec_pycatch_shap_aggregate_reverse_plot.png b/imputegap/assets/shap/eeg-alcohol_cdrec_pycatch_shap_aggregate_reverse_plot.png
deleted file mode 100644
index c986664c..00000000
Binary files a/imputegap/assets/shap/eeg-alcohol_cdrec_pycatch_shap_aggregate_reverse_plot.png and /dev/null differ
diff --git a/imputegap/assets/shap/eeg-alcohol_cdrec_pycatch_shap_correlation_plot.png b/imputegap/assets/shap/eeg-alcohol_cdrec_pycatch_shap_correlation_plot.png
deleted file mode 100644
index 30cb48aa..00000000
Binary files a/imputegap/assets/shap/eeg-alcohol_cdrec_pycatch_shap_correlation_plot.png and /dev/null differ
diff --git a/imputegap/assets/shap/eeg-alcohol_cdrec_pycatch_shap_geometry_plot.png b/imputegap/assets/shap/eeg-alcohol_cdrec_pycatch_shap_geometry_plot.png
deleted file mode 100644
index 3765d6f8..00000000
Binary files a/imputegap/assets/shap/eeg-alcohol_cdrec_pycatch_shap_geometry_plot.png and /dev/null differ
diff --git a/imputegap/assets/shap/eeg-alcohol_cdrec_pycatch_shap_plot.png b/imputegap/assets/shap/eeg-alcohol_cdrec_pycatch_shap_plot.png
deleted file mode 100644
index 312bc77c..00000000
Binary files a/imputegap/assets/shap/eeg-alcohol_cdrec_pycatch_shap_plot.png and /dev/null differ
diff --git a/imputegap/assets/shap/eeg-alcohol_cdrec_pycatch_shap_reverse_plot.png b/imputegap/assets/shap/eeg-alcohol_cdrec_pycatch_shap_reverse_plot.png
deleted file mode 100644
index 34a1b20f..00000000
Binary files a/imputegap/assets/shap/eeg-alcohol_cdrec_pycatch_shap_reverse_plot.png and /dev/null differ
diff --git a/imputegap/assets/shap/eeg-alcohol_cdrec_pycatch_shap_transformation_plot.png b/imputegap/assets/shap/eeg-alcohol_cdrec_pycatch_shap_transformation_plot.png
deleted file mode 100644
index a3726d5f..00000000
Binary files a/imputegap/assets/shap/eeg-alcohol_cdrec_pycatch_shap_transformation_plot.png and /dev/null differ
diff --git a/imputegap/assets/shap/eeg-alcohol_cdrec_pycatch_shap_trend_plot.png b/imputegap/assets/shap/eeg-alcohol_cdrec_pycatch_shap_trend_plot.png
deleted file mode 100644
index d04183bc..00000000
Binary files a/imputegap/assets/shap/eeg-alcohol_cdrec_pycatch_shap_trend_plot.png and /dev/null differ
diff --git a/imputegap/dataset/README.md b/imputegap/dataset/README.md
index f34e75c9..bae717fd 100644
--- a/imputegap/dataset/README.md
+++ b/imputegap/dataset/README.md
@@ -9,8 +9,8 @@ ImputeGap uses several complete datasets containing different characteristics to
This dataset, which has been sampled, defines the air quality for 10 series and 1000 values.
-
-
+
+
### Features
| Category | Feature | Value |
@@ -136,7 +136,6 @@ Chlorine dataset - raw data 20x400 provides a subset of the data, limited to 20
Finally, Chlorine - normalized 20x400 demonstrates the impact of "MIN-MAX" normalization on the raw data, applied to the same 20x400 subset.

-

### Features
@@ -204,7 +203,6 @@ Climate dataset - raw data 20x400 provides a subset of the data, limited to 20 t
Finally, Climate - normalized 20x400 demonstrates the impact of "MIN-MAX" normalization on the raw data, applied to the same 20x400 subset.

-

@@ -269,7 +267,6 @@ Drift dataset - raw data 20x400 provides a subset of the data, limited to 20 tim
Finally, Drift - normalized 20x400 demonstrates the impact of "MIN-MAX" normalization on the raw data, applied to the same 20x400 subset.

-

### Features
@@ -347,7 +344,6 @@ EEG-ALCOHOL dataset - raw data 20x400 provides a subset of the data, limited to
Finally, EEG-ALCOHOL - normalized 20x400 demonstrates the impact of "MIN-MAX" normalization on the raw data, applied to the same 20x400 subset.

-

@@ -492,8 +488,8 @@ Finally, EEG-READING - normalized 20x400 demonstrates the impact of "MIN-MAX" no
This dataset records the electricity consumption of 370 individual points or clients. The data has already been normalized and reduced to a certain size.
-
-
+
+
@@ -630,7 +626,6 @@ fMRI-STOPTASK dataset - raw data 360x182 shows the full raw dataset, consisting
fMRI-STOPTASK dataset - raw data 20x182 provides a subset of the data, limited to 20 time series over 182 time steps, while fMRI-STOPTASK dataset - raw data 01x182 focuses on a single time series extracted from the dataset.
Finally, fMRI-STOPTASK - normalized 20x182 demonstrates the impact of "MIN-MAX" normalization on the raw data, applied to the same 20x182 subset.
-


@@ -684,6 +679,62 @@ Finally, fMRI-STOPTASK - normalized 20x182 demonstrates the impact of "MIN-MAX"
+## FORECAST-ECONOMY
+
+This economic dataset is used for testing downstream forecasting. It exhibits a seasonality of 7 and consists of 16 time series, each containing 931 values.
+
+
+
+
+
+
+
+### Features
+| Category | Feature | Value |
+|---------------|-------------------------------------------------------------------|-----------------------|
+| Geometry | 5-bin histogram mode | -0.5710874806115164 |
+| Geometry | 10-bin histogram mode | -0.9082987200476134 |
+| Geometry | Proportion of high incremental changes in the series | 0.7816717019133937 |
+| Geometry | Longest stretch of above-mean values | 357.0 |
+| Geometry | Transition matrix column variance | 0.011316872427983538 |
+| Geometry | Goodness of exponential fit to embedding distance distribution | 0.12664898312226522 |
+| Geometry | Positive outlier timing | 0.18958109559613323 |
+| Geometry | Negative outlier timing | -0.2299274973147154 |
+| Geometry | Longest stretch of decreasing values | 7.0 |
+| Geometry | Rescaled range fluctuation analysis (low-scale scaling) | 0.3 |
+| Geometry | Detrended fluctuation analysis (low-scale scaling) | 0.22 |
+| Correlation | First 1/e crossing of the ACF | 124.60446764082629 |
+| Correlation | First minimum of the ACF | 1 |
+| Correlation | Histogram-based automutual information (lag 2, 5 bins) | 0.22074051585149523 |
+| Correlation | Time reversibility | 0.28049126008447584 |
+| Correlation | First minimum of the AMI function | 5.0 |
+| Correlation | Change in autocorrelation timescale after incremental differencing| 0.0012224938875305623 |
+| Trend | Wangs periodicity metric | 6 |
+| Trend | Entropy of successive pairs in symbolized series | 1.8906454432766748 |
+| Trend | Error of 3-point rolling mean forecast | 0.7191953107910503 |
+| Transformation| Power in the lowest 20% of frequencies | 0.6678786769493903 |
+| Transformation| Centroid frequency | 0.009203884727314454 |
+
+
+
+
+### Summary
+
+| Data info | |
+|--------------------|------------------------------------------------------------------------------------------|
+| Dataset codename | forecast-economy |
+| Dataset name | ECONOMY |
+| Dataset source | https://zenodo.org/records/14023107 |
+| Dataset dimensions | M=16 N=931 |
+
+
+
+
+
+
+
+
+
@@ -699,9 +750,7 @@ Meteo dataset - raw data 20x400 provides a subset of the data, limited to 20 tim
Finally, Meteo - normalized 20x400 demonstrates the impact of "MIN-MAX" normalization on the raw data, applied to the same 20x400 subset.

-

-
### Features
@@ -774,8 +823,8 @@ Example: 13 = observation period 12:41 to 13:40
This dataset consists of time series data collected from accelerometer and gyroscope sensors, capturing attributes such as attitude, gravity, user acceleration, and rotation rate [[4]](#ref4). Recorded at a high sampling rate of 50Hz using an iPhone 6s placed in users' front pockets, the data reflects various human activities. While the motion time series are non-periodic, they display partial trend similarities.
-
-
+
+
### Features
| Category | Feature | Value |
@@ -824,8 +873,35 @@ This dataset consists of time series data collected from accelerometer and gyros
This dataset, initially presented in the DEBS Challenge 2013 [[3]](#ref3), captures player positions during a football match. The data is collected from sensors placed near players' shoes and the goalkeeper's hands. With a high tracking frequency of 200Hz, it generates 15,000 position events per second. Soccer time series exhibit bursty behavior and contain numerous outliers.
-
-
+
+
+
+### Features
+| Category | Feature | Value |
+|---------------|-------------------------------------------------------------------|-----------------------|
+| Geometry | 5-bin histogram mode | 0.09084722786947164 |
+| Geometry | 10-bin histogram mode | -0.2583118928950434 |
+| Geometry | Proportion of high incremental changes in the series | 0.0011092863312203406 |
+| Geometry | Longest stretch of above-mean values | 71757.0 |
+| Geometry | Transition matrix column variance | 0.006802721088435373 |
+| Geometry | Goodness of exponential fit to embedding distance distribution | 0.3417367925024475 |
+| Geometry | Positive outlier timing | 0.1377957597962023 |
+| Geometry | Negative outlier timing | 0.05898850648030396 |
+| Geometry | Longest stretch of decreasing values | 1096.0 |
+| Geometry | Rescaled range fluctuation analysis (low-scale scaling) | 0.48 |
+| Geometry | Detrended fluctuation analysis (low-scale scaling) | 0.46 |
+| Correlation | First 1/e crossing of the ACF | 17792.5919437391 |
+| Correlation | First minimum of the ACF | 5221 |
+| Correlation | Histogram-based automutual information (lag 2, 5 bins) | 1.1086843892176654 |
+| Correlation | Time reversibility | 6.552378315312122e-06 |
+| Correlation | First minimum of the AMI function | 40.0 |
+| Correlation | Change in autocorrelation timescale after incremental differencing| 0.0006084989404959624 |
+| Trend | Wangs periodicity metric | 11198 |
+| Trend | Entropy of successive pairs in symbolized series | 1.1035630861406998 |
+| Trend | Error of 3-point rolling mean forecast | 0.01179174759304637 |
+| Transformation| Power in the lowest 20% of frequencies | 0.9999572395164824 |
+| Transformation| Centroid frequency | 0.0001370695723550248 |
+
### Summary
@@ -849,8 +925,35 @@ This dataset, initially presented in the DEBS Challenge 2013 [[3]](#ref3), captu
## Temperature
-
-
+
+
+
+### Features
+| Category | Feature | Value |
+|---------------|-------------------------------------------------------------------|-----------------------|
+| Geometry | 5-bin histogram mode | 22.045650551725167 |
+| Geometry | 10-bin histogram mode | 8.743492676833597 |
+| Geometry | Proportion of high incremental changes in the series | 0.7958665687091343 |
+| Geometry | Longest stretch of above-mean values | 21931.0 |
+| Geometry | Transition matrix column variance | 0.0008670367268468369 |
+| Geometry | Goodness of exponential fit to embedding distance distribution | 0.0037844314057919114 |
+| Geometry | Positive outlier timing | 0.4030755233654515 |
+| Geometry | Negative outlier timing | -0.572629720089644 |
+| Geometry | Longest stretch of decreasing values | 15.0 |
+| Geometry | Rescaled range fluctuation analysis (low-scale scaling) | 0.4 |
+| Geometry | Detrended fluctuation analysis (low-scale scaling) | 0.38 |
+| Correlation | First 1/e crossing of the ACF | 81.7405995576158 |
+| Correlation | First minimum of the ACF | 183 |
+| Correlation | Histogram-based automutual information (lag 2, 5 bins) | 1.439425719697347e-06 |
+| Correlation | Time reversibility | 0.005588686797775345 |
+| Correlation | First minimum of the AMI function | 40.0 |
+| Correlation | Change in autocorrelation timescale after incremental differencing| 0.00847457627118644 |
+| Trend | Wangs periodicity metric | 365 |
+| Trend | Entropy of successive pairs in symbolized series | 1.4530196005684877 |
+| Trend | Error of 3-point rolling mean forecast | 0.3145083996285715 |
+| Transformation| Power in the lowest 20% of frequencies | 0.9542560901714987 |
+| Transformation| Centroid frequency | 0.017202605837583908 |
+
### Summary
diff --git a/imputegap/dataset/docs/forecast-economy/features_forecast-economy.txt b/imputegap/dataset/docs/forecast-economy/features_forecast-economy.txt
new file mode 100644
index 00000000..6e5b1a70
--- /dev/null
+++ b/imputegap/dataset/docs/forecast-economy/features_forecast-economy.txt
@@ -0,0 +1,22 @@
+|Geometry|5-bin histogram mode|-0.5710874806115164|
+|Geometry|10-bin histogram mode|-0.9082987200476134|
+|Correlation|First 1/e crossing of the ACF|124.60446764082629|
+|Correlation|First minimum of the ACF|1|
+|Correlation|Histogram-based automutual information (lag 2, 5 bins)|0.22074051585149523|
+|Correlation|Time reversibility|0.28049126008447584|
+|Geometry|Proportion of high incremental changes in the series|0.7816717019133937|
+|Geometry|Longest stretch of above-mean values|357.0|
+|Geometry|Transition matrix column variance|0.011316872427983538|
+|Trend|Wangs periodicity metric|6|
+|Geometry|Goodness of exponential fit to embedding distance distribution|0.12664898312226522|
+|Correlation|First minimum of the AMI function|5.0|
+|Correlation|Change in autocorrelation timescale after incremental differencing|0.0012224938875305623|
+|Geometry|Positive outlier timing|0.18958109559613323|
+|Geometry|Negative outlier timing|-0.2299274973147154|
+|Transformation|Power in the lowest 20% of frequencies|0.6678786769493903|
+|Geometry|Longest stretch of decreasing values|7.0|
+|Trend|Entropy of successive pairs in symbolized series|1.8906454432766748|
+|Geometry|Rescaled range fluctuation analysis (low-scale scaling)|0.3|
+|Geometry|Detrended fluctuation analysis (low-scale scaling)|0.22|
+|Transformation|Centroid frequency|0.009203884727314454|
+|Trend|Error of 3-point rolling mean forecast|0.7191953107910503|
diff --git a/imputegap/dataset/docs/forecast-economy/forecast-economy_1.jpg b/imputegap/dataset/docs/forecast-economy/forecast-economy_1.jpg
new file mode 100644
index 00000000..496e58f8
Binary files /dev/null and b/imputegap/dataset/docs/forecast-economy/forecast-economy_1.jpg differ
diff --git a/imputegap/dataset/docs/forecast-economy/forecast-economy_M.jpg b/imputegap/dataset/docs/forecast-economy/forecast-economy_M.jpg
new file mode 100644
index 00000000..2f8e330b
Binary files /dev/null and b/imputegap/dataset/docs/forecast-economy/forecast-economy_M.jpg differ
diff --git a/imputegap/dataset/docs/soccer/features_soccer.txt b/imputegap/dataset/docs/soccer/features_soccer.txt
new file mode 100644
index 00000000..24f24056
--- /dev/null
+++ b/imputegap/dataset/docs/soccer/features_soccer.txt
@@ -0,0 +1,22 @@
+|Geometry|5-bin histogram mode|0.09084722786947164|
+|Geometry|10-bin histogram mode|-0.2583118928950434|
+|Correlation|First 1/e crossing of the ACF|17792.5919437391|
+|Correlation|First minimum of the ACF|5221|
+|Correlation|Histogram-based automutual information (lag 2, 5 bins)|1.1086843892176654|
+|Correlation|Time reversibility|6.552378315312122e-06|
+|Geometry|Proportion of high incremental changes in the series|0.0011092863312203406|
+|Geometry|Longest stretch of above-mean values|71757.0|
+|Geometry|Transition matrix column variance|0.006802721088435373|
+|Trend|Wangs periodicity metric|11198|
+|Geometry|Goodness of exponential fit to embedding distance distribution|0.3417367925024475|
+|Correlation|First minimum of the AMI function|40.0|
+|Correlation|Change in autocorrelation timescale after incremental differencing|0.0006084989404959624|
+|Geometry|Positive outlier timing|0.1377957597962023|
+|Geometry|Negative outlier timing|0.05898850648030396|
+|Transformation|Power in the lowest 20% of frequencies|0.9999572395164824|
+|Geometry|Longest stretch of decreasing values|1096.0|
+|Trend|Entropy of successive pairs in symbolized series|1.1035630861406998|
+|Geometry|Rescaled range fluctuation analysis (low-scale scaling)|0.48|
+|Geometry|Detrended fluctuation analysis (low-scale scaling)|0.46|
+|Transformation|Centroid frequency|0.0001370695723550248|
+|Trend|Error of 3-point rolling mean forecast|0.01179174759304637|
diff --git a/imputegap/dataset/docs/temperature/features_temperature.txt b/imputegap/dataset/docs/temperature/features_temperature.txt
new file mode 100644
index 00000000..4a8c3eda
--- /dev/null
+++ b/imputegap/dataset/docs/temperature/features_temperature.txt
@@ -0,0 +1,22 @@
+|Geometry|5-bin histogram mode|22.045650551725167|
+|Geometry|10-bin histogram mode|8.743492676833597|
+|Correlation|First 1/e crossing of the ACF|81.7405995576158|
+|Correlation|First minimum of the ACF|183|
+|Correlation|Histogram-based automutual information (lag 2, 5 bins)|1.439425719697347e-06|
+|Correlation|Time reversibility|0.005588686797775345|
+|Geometry|Proportion of high incremental changes in the series|0.7958665687091343|
+|Geometry|Longest stretch of above-mean values|21931.0|
+|Geometry|Transition matrix column variance|0.0008670367268468369|
+|Trend|Wangs periodicity metric|365|
+|Geometry|Goodness of exponential fit to embedding distance distribution|0.0037844314057919114|
+|Correlation|First minimum of the AMI function|40.0|
+|Correlation|Change in autocorrelation timescale after incremental differencing|0.00847457627118644|
+|Geometry|Positive outlier timing|0.4030755233654515|
+|Geometry|Negative outlier timing|-0.572629720089644|
+|Transformation|Power in the lowest 20% of frequencies|0.9542560901714987|
+|Geometry|Longest stretch of decreasing values|15.0|
+|Trend|Entropy of successive pairs in symbolized series|1.4530196005684877|
+|Geometry|Rescaled range fluctuation analysis (low-scale scaling)|0.4|
+|Geometry|Detrended fluctuation analysis (low-scale scaling)|0.38|
+|Transformation|Centroid frequency|0.017202605837583908|
+|Trend|Error of 3-point rolling mean forecast|0.3145083996285715|
diff --git a/imputegap/dataset/forecast-economy.txt b/imputegap/dataset/forecast-economy.txt
new file mode 100644
index 00000000..ca1a33b2
--- /dev/null
+++ b/imputegap/dataset/forecast-economy.txt
@@ -0,0 +1,931 @@
+108.465615 582.459818 726.487025 69.352955 1535.333049 1080.211608 118.546043 828.596577 866.818231 444.325221 665.569295 1023.750187 627.571038 621.632005 179.905276 771.239401
+94.121158 552.256802 589.776083 66.104898 1188.508902 1055.464701 104.810656 602.038266 762.903182 380.492084 617.945021 853.847488 475.659882 596.963737 156.586386 663.445012
+94.052851 522.740219 472.840939 55.366421 917.399885 945.753415 86.660324 572.411410 649.023676 348.951004 509.708033 817.532407 439.753608 606.881907 133.860349 494.215359
+82.440671 513.816600 496.915821 61.265954 1233.693738 932.555065 100.003271 598.552754 742.974268 348.200026 560.218627 803.265768 496.375039 605.356034 142.357911 620.854921
+92.345178 557.061828 588.056449 57.686462 1171.411937 1122.281349 95.392105 619.465828 679.628793 380.492084 531.355431 773.435523 547.472428 666.645237 126.548494 578.264830
+103.205981 577.654793 322.372921 40.849591 808.712036 876.462076 60.955529 617.723072 755.785713 356.460785 591.968144 843.471750 423.181482 600.778418 87.420187 546.228036
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 269.889315 487.863870 5.211219 11.025124
+82.099137 482.240720 341.288901 54.902412 939.381697 807.995635 81.558609 446.932961 530.161941 366.223500 508.264873 804.562735 424.562492 608.407779 114.296196 479.139220
+76.702888 399.868858 321.513104 53.642962 779.402953 845.115995 86.660324 490.501867 504.539052 285.868845 438.993201 669.678150 405.228345 612.476772 121.212816 410.919694
+74.038918 430.071874 330.111277 47.942289 725.669634 785.723419 82.539708 420.791617 486.745379 292.627648 408.686845 693.023559 396.942282 639.942473 107.181958 410.542791
+67.959600 474.689966 366.223601 51.256633 978.460474 780.774037 96.078875 432.990911 523.756219 291.876670 437.550042 658.005446 470.135839 674.020287 119.631874 466.324503
+75.883205 515.189465 416.952818 52.184650 1016.318040 936.679549 91.369599 523.614235 565.749287 330.176552 518.366992 742.308311 391.418240 688.261761 121.015198 458.786433
+103.752437 598.934191 288.840049 40.717017 791.615071 1209.720419 49.476671 650.835441 698.134213 378.990127 655.467176 897.944371 416.276429 656.218443 93.348718 485.923483
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 308.557609 451.242935 5.211219 11.025124
+88.246761 619.527156 578.598459 62.525405 1211.711926 974.624806 90.388500 431.248155 802.049262 406.776317 492.390115 792.890031 471.516850 667.408173 166.269654 621.231824
+90.227663 544.706048 563.981566 60.735659 1138.439218 1025.768413 94.509116 581.125191 732.298065 342.192201 586.195504 870.708061 398.323293 637.145040 146.705501 606.532590
+94.940841 555.688963 465.102584 57.553888 1022.424098 1002.671300 88.720632 593.324485 661.123373 331.678508 548.673349 818.829374 477.040892 640.959721 129.315142 571.857471
+83.533582 508.325143 418.672452 59.012200 1176.296784 954.002384 94.018567 645.607172 629.806509 355.709807 555.889148 842.174783 445.277650 654.692571 132.081790 554.519912
+89.817821 606.484945 492.616735 56.692159 1125.005889 1091.760164 93.626127 657.806466 659.699879 342.943179 563.104947 882.380765 518.471207 767.352807 124.769934 525.498346
+99.039258 548.824641 291.419501 38.529550 787.951435 1192.397585 58.208452 694.404347 647.600182 328.674596 649.694537 835.689947 425.943503 603.067226 100.067720 478.008510
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 27.794382 7.758389 6.316212 11.761844 8.931571 5.630960 137.312305 523.976180 5.211219 11.025124
+88.178454 476.062830 366.223601 50.925199 945.487756 786.548315 82.343488 480.045329 576.425490 310.651122 470.742718 717.665935 419.038450 642.231281 120.224727 481.023738
+71.853096 412.224637 361.064697 48.538871 808.712036 785.723419 85.384895 490.501867 521.620978 282.113954 384.153128 682.647822 424.562492 634.093296 118.050932 406.019949
+78.069027 462.334187 404.915377 45.158239 908.851402 824.493572 80.283180 507.929429 553.649589 337.686333 467.856398 731.932574 332.034788 638.416600 111.924783 496.476779
+82.030830 487.045745 508.093446 57.089880 1070.051358 910.282849 102.161689 534.070773 783.543842 330.176552 483.731156 746.199213 456.325734 710.641221 118.643785 570.349857
+78.683790 574.222632 495.196187 56.957306 1043.184699 1219.619182 107.263404 560.212116 606.318861 401.519470 469.299558 859.035356 581.997691 773.964920 138.010321 509.291497
+111.471121 642.179418 376.541408 39.789001 842.905966 1206.420832 83.717027 685.690565 747.956497 387.250886 643.921898 914.804945 720.098743 667.408173 109.553371 559.796561
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 312.700641 586.791255 5.211219 11.025124
+102.659526 639.433689 682.636346 68.159791 1584.181521 1214.669801 105.595535 781.542159 809.878478 444.325221 651.137697 993.919942 590.283754 662.576245 172.395803 721.488145
+98.766030 526.172379 586.336815 66.966627 1299.639174 1204.771038 97.942963 694.404347 754.362219 327.923618 524.139632 884.974700 446.658661 675.037535 138.405557 650.630294
+92.481792 567.358310 428.130442 57.156167 1232.472526 1194.047378 94.509116 589.838972 646.888435 352.705894 499.605914 904.429207 481.183924 656.218443 137.219850 545.474229
+94.052851 569.417607 511.532715 59.873930 1000.442286 1064.538567 96.176985 629.922366 721.621861 339.939267 564.548107 881.083798 499.137060 690.804882 140.579351 592.210258
+87.973533 589.324140 591.495718 62.724266 1193.393749 1160.226606 99.414611 656.063709 686.746262 396.262623 570.320746 822.720276 555.758491 743.447475 137.219850 549.243264
+109.353606 609.917106 348.167439 42.705624 897.860496 1047.215732 63.506387 774.571134 747.956497 424.799791 685.773533 856.441422 515.709186 768.878680 100.067720 548.489457
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 448.039671 576.873085 5.211219 11.025124
+85.172949 493.223635 325.812190 50.593764 389.836392 832.742541 99.807051 506.186673 205.605348 412.033163 489.503796 782.514294 522.614239 671.477166 135.638909 319.709057
+78.820404 416.343230 408.354646 50.461191 802.605977 894.609808 87.248983 431.248155 634.788737 306.145253 499.605914 747.496180 457.706745 642.739905 123.386610 503.637945
+81.894216 500.774389 385.999397 51.588068 1128.669524 939.154240 87.347093 525.356992 587.813441 339.939267 462.083759 788.999129 526.757271 631.804487 125.560405 486.300386
+75.746591 511.757304 439.308066 52.913806 1177.517996 923.481199 102.456018 511.414942 595.642657 363.970566 527.025951 748.793147 514.328176 663.593493 134.650820 491.200131
+78.820404 551.570370 438.448249 51.057773 1024.866522 977.099497 95.097776 507.929429 552.937842 331.678508 479.401677 792.890031 465.992808 688.261761 110.541459 461.047854
+99.380792 607.171377 285.400780 41.843894 816.039306 1169.300472 62.917727 673.491272 691.016743 440.570330 635.262939 890.162568 522.614239 749.805276 93.941571 494.969166
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 405.228345 552.204817 5.211219 11.025124
+110.241596 607.171377 681.776528 70.347259 1558.536073 1044.741042 110.402921 825.111065 882.476663 478.870213 716.079889 926.477649 608.236891 648.843394 185.240954 741.840931
+83.396969 518.621625 537.327232 53.245240 1142.102854 946.578312 89.897951 577.639679 668.240842 384.997952 541.457550 794.186998 526.757271 626.972558 157.772092 552.258491
+101.498308 524.113083 504.654177 52.317224 1035.857428 986.173363 86.954654 704.860884 683.187527 363.970566 568.877586 892.756503 581.997691 634.347608 141.765058 555.273719
+88.451682 576.968361 504.654177 59.409921 1030.972581 968.025631 101.474919 666.520247 603.471873 351.954916 567.434427 821.423309 504.661102 639.942473 133.860349 510.799111
+86.880622 615.408563 502.074725 57.885323 1071.272570 1059.589186 91.467709 804.197990 630.518256 418.040988 555.889148 782.514294 515.709186 757.180325 129.117524 561.681078
+94.531000 629.823639 248.428639 37.601533 752.536293 1081.036505 58.895221 718.802934 626.959521 424.048812 554.445988 848.659619 459.087755 623.412190 93.151101 432.780095
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 38.390251 7.758389 6.316212 11.761844 8.931571 5.630960 269.889315 566.191979 5.211219 11.025124
+79.230245 522.740219 362.784332 50.660051 814.818094 578.674300 86.660324 480.045329 504.539052 370.729368 454.867960 698.211428 493.613018 625.955310 126.548494 465.570696
+80.186542 427.326145 432.429528 51.588068 972.354415 819.544191 85.581115 530.585260 527.314953 344.445136 469.299558 686.538723 477.040892 604.084474 125.560405 503.261042
+81.962523 441.054789 435.868797 48.737731 924.727155 838.516819 87.248983 563.697629 547.955614 348.200026 469.299558 756.574950 540.567376 631.550175 119.829492 484.792772
+69.667274 460.961322 484.878380 60.271651 1114.014983 893.784911 109.127492 671.748516 685.322768 362.468610 511.151193 759.168885 526.757271 715.218838 129.907995 579.772444
+88.861524 548.824641 561.402115 56.228150 1089.590747 1079.386711 99.414611 642.121659 636.923978 380.492084 512.594353 763.059786 638.619122 779.051161 119.434256 561.304174
+114.135091 605.798513 358.485246 42.175329 890.533225 1363.976137 86.464104 720.545690 784.255589 482.625103 612.172381 884.974700 620.665986 787.189147 98.882014 612.563045
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 793.292300 586.536943 5.211219 11.025124
+117.550438 607.171377 734.225380 71.076415 1512.130026 1131.355215 113.444328 800.712477 897.423349 502.901511 756.488365 1095.083381 822.293521 679.360840 179.312423 812.321878
+104.093971 544.019616 617.290235 62.392831 1197.057384 1198.996760 110.206701 715.317422 779.273361 380.492084 616.501861 932.962485 747.718953 710.132597 159.945887 703.019875
+102.591219 522.740219 520.130887 57.421314 1076.157417 978.749291 95.392105 614.237560 686.746262 412.784141 547.230189 884.974700 722.860764 696.908371 143.938853 658.545267
+96.990050 568.044743 539.906683 57.885323 1223.924044 1001.846403 102.357909 710.089153 737.280293 408.278273 586.195504 916.101912 640.000133 695.382498 145.322177 626.508473
+95.350683 652.475901 607.832246 62.326545 1139.660430 1126.405834 95.195886 710.089153 700.269453 442.823265 577.536545 905.726174 689.716511 776.508041 131.291319 660.806688
+111.129586 611.289970 303.456942 37.270099 772.075682 1158.576812 63.702607 722.288446 695.998972 423.297834 685.773533 957.604861 648.286196 768.878680 96.708219 460.670951
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 366.560051 543.049583 5.211219 11.025124
+83.192048 466.452780 410.074280 51.124060 873.436260 851.715170 92.841248 638.636147 594.930910 436.064462 626.603980 807.156670 666.239333 661.558996 120.422345 486.677289
+55.527737 457.529161 349.027256 48.804018 726.890846 784.898522 96.667534 269.171825 429.805626 371.480347 349.517292 642.441839 709.050659 650.877891 129.710377 366.821989
+80.528077 464.393483 372.242321 48.008576 908.851402 822.843779 80.675620 553.241091 540.838145 388.001864 521.253312 812.344538 630.333059 693.093690 109.553371 491.200131
+72.672779 489.105042 386.859215 53.311527 1021.202887 774.999759 103.535227 676.976784 582.119466 380.492084 535.684910 861.629291 746.337942 721.322327 124.572317 492.330841
+86.607395 542.646752 469.401670 51.322920 1035.857428 1032.367588 104.418217 699.632615 577.137237 400.768492 581.866025 883.677733 811.245437 765.318311 131.291319 503.261042
+110.924665 657.280926 281.961511 40.451870 828.251424 1235.292223 65.664805 880.879264 764.326676 432.309571 632.376619 887.568634 715.955711 804.990990 96.115366 556.027526
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 157.451592 8.931571 5.630960 624.809017 577.636022 5.211219 11.025124
+118.438429 517.935193 619.869687 72.799874 1504.802755 970.500322 65.174255 913.991633 893.864614 409.780229 672.785094 1014.671417 778.101184 663.847805 135.046055 802.522388
+98.766030 513.816600 613.850966 62.459118 1101.802865 983.698672 99.512721 694.404347 759.344447 454.838914 593.411304 938.150354 866.485857 661.813308 150.065002 639.323190
+89.407979 507.638711 379.980677 57.819036 916.178673 1050.515320 86.169774 685.690565 565.037540 430.056637 542.900709 897.944371 859.580805 701.994612 127.338965 472.354958
+90.295969 566.671878 482.298928 61.597389 1227.587679 969.675425 111.776459 743.201521 693.151984 431.558593 524.139632 864.223225 762.910069 696.654059 139.986498 620.854921
+95.760525 657.967358 541.626318 57.089880 1135.996795 1203.946141 104.810656 750.172546 713.792645 443.574243 547.230189 905.726174 747.718953 712.421405 148.484060 610.301624
+101.088466 653.848765 290.559684 39.457566 779.402953 1327.680674 51.340759 880.879264 698.845960 577.248342 613.615541 890.162568 800.197353 656.472756 96.905837 539.820677
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 70.079750 7.758389 6.316212 245.316028 8.931571 5.630960 947.965478 555.765186 5.211219 11.025124
+105.186882 644.925147 614.710783 74.921054 1390.008847 1466.263352 125.021296 893.078558 820.554682 686.140164 617.945021 1013.374449 1246.263749 701.740300 181.090982 750.509711
+105.938259 593.442733 598.374256 64.845447 1226.366467 1421.718920 129.338132 795.484208 802.049262 574.995408 564.548107 974.465434 1173.070192 684.447081 152.436414 727.895503
+110.719744 631.882935 582.037728 62.260258 1214.154349 1508.333093 126.689165 927.933683 812.725466 619.303115 652.580857 1015.968384 1167.546150 714.710214 150.855472 693.220385
+117.891973 839.871887 659.421280 75.782784 1558.536073 1608.970513 157.201345 1035.984569 952.939608 781.514381 821.430557 1175.495345 1329.124380 814.400536 186.229043 747.494483
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 11.640348 597.218049 5.211219 11.025124
+118.028587 944.896010 506.373811 56.493298 1284.984633 1762.401335 153.571278 1171.919556 967.174546 992.539223 1055.222450 1008.186581 2090.061174 680.632400 145.519794 701.135358
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 48.789901 7.758389 6.316212 149.941812 8.931571 5.630960 1030.826109 499.307912 5.211219 11.025124
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 55.657594 7.758389 6.316212 297.884494 8.931571 5.630960 1387.126821 631.550175 5.211219 11.025124
+99.380792 548.138209 510.672897 56.758446 1159.199819 1076.087123 122.862878 610.752047 710.945657 581.754210 625.160820 821.423309 1231.072633 736.072426 136.034144 674.375212
+89.271365 467.825644 418.672452 52.317224 1011.433192 969.675425 105.693645 582.867947 594.219163 514.917161 554.445988 776.029458 1224.167581 708.606725 108.762900 547.358746
+84.558186 488.418609 457.364228 54.438404 1131.111948 893.784911 109.323712 565.440385 597.066151 497.644665 453.424800 739.714377 1066.732382 687.753137 125.165170 573.365085
+81.757602 516.562329 472.840939 52.118363 1018.760463 1057.114495 106.674744 614.237560 582.119466 493.138796 532.798591 746.199213 934.155373 701.231675 118.050932 474.616379
+103.889050 554.316099 287.120415 38.728410 886.869590 1268.288098 73.807927 732.744984 649.023676 408.278273 620.831340 857.738389 867.866868 787.189147 98.882014 488.561807
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 36.329943 7.758389 6.316212 207.016146 8.931571 5.630960 609.617901 561.614363 5.211219 11.025124
+115.296309 648.357308 669.739087 69.485529 1276.436150 1066.188361 115.112196 743.201521 886.035398 475.866300 794.010520 907.023142 924.488299 708.861037 175.952922 740.710221
+90.979039 559.121124 570.860104 60.801946 1184.845266 992.772538 104.810656 711.831909 709.522163 412.033163 580.422865 776.029458 780.863205 749.805276 159.353034 647.991970
+97.878040 545.392481 458.224046 56.294437 1089.590747 982.873775 84.698126 670.005759 672.511324 387.250886 547.230189 751.387082 710.431669 694.110938 130.500848 554.896816
+84.284959 535.095998 453.065142 56.824732 1167.748301 870.687798 107.950173 624.694097 713.080898 367.725456 532.798591 707.290198 660.715291 730.477561 135.046055 604.271169
+97.399891 614.722131 524.429973 56.692159 1063.945299 1138.779287 107.263404 739.716009 681.764034 433.811528 593.411304 801.968801 721.479753 788.206395 138.603174 583.918382
+106.279793 618.840724 303.456942 37.999255 842.905966 1248.490573 67.921332 722.288446 747.244750 465.352607 646.808217 794.186998 711.812680 722.593887 90.582070 527.382863
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 42.707087 7.758389 6.316212 186.739738 8.931571 5.630960 732.527837 588.571439 5.211219 11.025124
+84.694800 434.190467 373.102139 45.821108 947.930179 807.170738 94.705336 500.958404 571.443262 392.507733 503.935394 687.835690 722.860764 748.025092 116.469991 572.988182
+80.732998 432.817603 454.784777 52.118363 922.284732 828.618057 91.467709 480.045329 577.137237 343.694157 480.844837 593.157087 791.911289 687.753137 119.829492 569.972954
+82.645592 434.876899 376.541408 47.146846 925.948367 783.248728 90.977160 492.244623 503.827305 351.954916 463.526919 654.114544 747.718953 719.542143 118.643785 524.367635
+73.492462 452.724136 357.625428 49.268027 1001.663498 816.244603 103.240898 507.929429 560.055311 388.001864 505.378554 565.920777 855.437773 722.848199 124.374699 544.720422
+84.284959 518.621625 463.382949 50.660051 969.911992 959.776662 102.161689 561.954873 562.190552 433.060550 553.002828 687.835690 765.672090 758.451886 130.698466 508.914594
+99.722327 572.849768 293.139135 35.148918 855.118084 1162.701297 69.589201 779.799402 736.568546 475.866300 586.195504 713.775034 932.774362 778.033913 95.720131 527.005960
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 41.725988 7.758389 6.316212 210.771036 8.931571 5.630960 822.293521 560.088490 5.211219 11.025124
+110.309903 574.909064 612.991149 62.724266 1426.645200 1052.165114 114.817866 741.458765 838.348355 538.948459 713.193570 813.641506 928.631330 728.443064 164.688712 739.956414
+93.916237 541.960320 540.766501 55.167560 1161.642242 976.274600 104.418217 617.723072 740.839027 444.325221 577.536545 731.932574 822.293521 683.429832 147.693589 651.384101
+101.156773 513.816600 436.728615 50.593764 961.363509 888.010633 91.467709 577.639679 616.283317 438.317396 531.355431 669.678150 874.771920 796.090068 128.524671 594.094775
+84.353266 495.282931 423.831356 52.184650 1109.130135 901.208983 112.463229 511.414942 657.564639 445.076199 516.923832 695.617493 818.150489 785.663275 145.322177 605.401879
+83.943424 635.315096 484.878380 53.311527 1056.618029 1048.865526 106.086085 692.661590 616.995064 486.379994 570.320746 747.496180 905.154152 807.534110 127.141347 540.951388
+97.536505 596.188462 312.055115 39.590140 903.966555 1156.102122 69.000541 774.571134 691.016743 477.368257 658.353496 848.659619 1015.634993 723.611135 104.415310 516.452663
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 78.909642 7.758389 6.316212 242.312116 8.931571 5.630960 947.965478 601.032730 5.211219 11.025124
+111.744349 641.492986 655.122194 67.099201 1359.478552 1136.304596 122.666659 811.169015 905.964312 607.287465 651.137697 836.986915 1054.303287 741.921603 157.376857 766.716560
+114.408319 721.805551 698.972873 70.214685 1370.469458 1203.121244 123.843977 762.371840 1031.231769 580.252254 765.147324 868.114127 1070.875413 846.443853 178.521952 773.877725
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 11.640348 631.295863 5.211219 11.025124
+111.266200 638.060825 625.888408 70.744980 1403.442176 1213.020007 151.903410 774.571134 817.707694 736.455696 665.569295 883.677733 1336.029432 809.822919 174.964833 762.193718
+104.981962 623.645749 654.262377 60.006503 1200.721020 1338.404334 128.357033 778.056646 750.091737 577.248342 642.478738 859.035356 1265.597896 796.344380 148.879295 673.244502
+104.572120 593.442733 326.672008 43.302206 925.948367 1169.300472 91.075270 833.824846 766.461916 631.318764 692.989332 1060.065267 1244.882738 845.172293 98.289161 564.319402
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 44.276846 7.758389 6.316212 282.864933 8.931571 5.630960 993.538825 637.399352 5.211219 11.025124
+90.500890 544.706048 439.308066 49.002879 1023.645310 956.477075 121.391230 561.954873 632.653496 605.785509 512.594353 734.526508 1179.975244 796.853004 142.555529 628.392990
+85.104642 464.393483 500.355090 55.963003 899.081708 1001.846403 114.621646 591.581729 582.831212 532.940635 505.378554 705.993231 1150.974023 719.796455 124.177081 539.066870
+95.009148 616.094995 493.476552 54.372117 1209.269502 1029.068001 120.115801 638.636147 654.717651 614.046268 667.012455 824.017243 1139.925939 844.663669 139.393645 589.195030
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 97.059974 7.758389 6.316212 337.686333 8.931571 5.630960 1289.075075 659.270188 5.211219 11.025124
+106.211486 644.925147 507.233628 60.470512 1316.736139 1444.816033 158.672993 778.056646 754.362219 784.518293 655.467176 840.877816 1475.511494 781.594282 146.112647 721.111241
+108.875457 639.433689 346.447804 38.065541 972.354415 1121.456452 121.685560 825.111065 855.430281 588.513013 729.068328 835.689947 1340.172464 733.020681 92.360630 543.589712
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 67.038343 7.758389 6.316212 253.576787 8.931571 5.630960 979.728720 610.696587 5.211219 11.025124
+92.755019 635.315096 593.215352 67.430635 1393.672482 1222.918770 127.964593 715.317422 824.825163 693.649945 714.636730 861.629291 1196.547370 754.128581 162.514917 680.782571
+100.951852 552.256802 589.776083 58.680765 1179.960419 1120.631555 109.912371 689.176078 780.696855 489.383906 642.478738 750.090114 1204.833433 724.374072 152.634032 677.013536
+96.785129 521.367354 435.008980 50.991486 1089.590747 1046.390835 102.456018 596.809997 663.970361 476.617278 577.536545 752.684049 1018.397014 743.447475 125.560405 576.380313
+83.943424 551.570370 473.700756 57.553888 1155.536183 980.399084 126.787275 610.752047 676.781805 481.123147 622.274500 711.181099 1097.114613 747.262156 148.286442 605.024976
+100.815238 570.790471 583.757363 56.559585 1212.933137 1081.861402 118.546043 776.313890 652.582410 615.548224 604.956582 779.920359 1191.023328 807.534110 132.872261 559.419657
+104.025664 626.391478 329.251459 37.336386 949.151391 1060.414082 116.387625 699.632615 702.404694 767.996775 701.648291 699.508395 1498.988673 832.202379 107.577193 505.522462
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 64.095046 7.758389 6.316212 410.531207 8.931571 5.630960 1442.367242 602.812914 5.211219 11.025124
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 58.699001 7.758389 6.316212 363.970566 8.931571 5.630960 1254.549812 624.938062 5.211219 11.025124
+100.337090 509.011575 446.186604 55.366421 1066.387723 935.029755 116.976284 715.317422 705.251682 692.898967 655.467176 786.405195 1059.827329 725.391320 131.291319 634.046542
+87.153850 486.359313 360.204880 53.974396 907.630190 874.812283 93.037468 535.813529 537.991157 559.975846 463.526919 663.193314 1184.118276 676.563407 111.134312 465.193792
+71.033412 469.884941 356.765611 53.245240 960.142297 831.917644 116.976284 485.273598 539.414651 487.881950 535.684910 700.805362 1081.923498 712.930030 133.267496 470.470441
+82.030830 545.392481 437.588432 52.449797 1043.184699 1005.970888 110.108591 612.494803 577.137237 553.968021 512.594353 698.211428 1081.923498 724.628384 117.062844 531.528801
+98.970951 603.739216 270.783887 35.414066 781.845376 1075.262226 62.819617 704.860884 769.308904 545.707262 606.399742 703.399296 837.484636 845.680917 80.898802 473.485668
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 64.389376 7.758389 6.316212 321.915793 8.931571 5.630960 1097.114613 633.076047 5.211219 11.025124
+106.757942 620.213588 564.841383 67.032914 1437.636106 1091.760164 127.375934 889.593045 776.426373 665.112778 632.376619 791.593064 1311.171243 720.559391 168.838684 756.163263
+91.662108 496.655796 581.177911 60.205364 1168.969513 1008.445579 116.191405 689.176078 742.262521 532.940635 522.696472 725.447738 1075.018445 705.300668 149.472148 663.068108
+99.722327 559.121124 561.402115 55.366421 1144.545277 1009.270475 114.621646 863.451702 641.906206 616.299202 773.806283 836.986915 1148.212002 788.206395 134.255585 536.805450
+11.606375 570.104039 15.418166 60.868233 6.375891 1047.215732 128.749473 7.758389 6.316212 552.466065 8.931571 5.630960 1224.167581 635.619168 143.741235 11.025124
+119.804567 665.518112 713.589766 67.894644 1535.333049 1379.649178 126.100505 1145.778212 984.256472 603.532575 744.943086 1036.719858 1272.502949 863.737072 148.088824 828.905630
+115.159696 570.104039 358.485246 44.230223 851.454448 1345.828406 94.312896 823.368308 808.454984 707.167550 694.432492 864.223225 1300.123159 720.050767 100.067720 507.783883
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 55.068935 7.758389 6.316212 300.137429 8.931571 5.630960 1104.019666 629.769991 5.211219 11.025124
+112.973873 615.408563 670.598904 59.144774 1405.884600 1038.141867 141.798090 839.053114 865.394738 680.132339 716.079889 808.453637 1308.409222 774.982169 164.491095 772.747015
+102.249684 526.858812 603.533159 55.167560 1168.969513 941.628931 126.100505 666.520247 725.892342 515.668139 669.898775 729.338640 1218.643539 741.921603 151.250708 650.253391
+95.282376 480.181423 488.317649 48.074862 1001.663498 859.964139 118.447933 701.375372 658.276385 585.509101 590.524984 751.387082 1297.361138 800.667685 128.524671 561.681078
+87.836920 509.011575 493.476552 59.211061 1187.287690 859.139242 119.919581 692.661590 643.329700 577.999320 581.866025 725.447738 1402.317937 837.542932 143.741235 627.262280
+91.935336 594.815598 563.981566 56.095577 1164.084666 776.649553 121.979889 753.658059 684.611021 642.583435 565.991267 707.290198 1236.596675 878.232859 132.674643 630.277507
+104.435506 554.316099 281.101694 33.690606 823.366577 715.607183 79.302081 685.690565 701.692947 626.061917 701.648291 668.381183 1236.596675 726.662880 101.846280 491.577034
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 56.148144 7.758389 6.316212 320.413837 8.931571 5.630960 1081.923498 589.588688 5.211219 11.025124
+88.315068 491.850770 407.494828 55.300134 1001.663498 666.113370 121.979889 575.896922 565.749287 629.065830 610.729222 694.320526 1222.786570 726.154256 144.531706 554.143009
+82.918820 438.995492 433.289346 51.057773 1000.442286 721.381461 111.384020 513.157698 575.001996 553.217043 499.605914 654.114544 1148.212002 752.857021 134.453202 533.413318
+81.894216 474.003534 373.102139 46.152543 880.763531 729.630430 105.595535 513.157698 502.403811 511.162270 483.731156 622.987332 1116.448760 721.322327 117.458079 501.376524
+76.634581 484.300016 379.980677 49.069166 977.239262 734.579812 108.636942 549.755579 532.297182 549.462153 538.571230 603.532824 1065.351371 763.792439 121.212816 475.747089
+80.118235 548.138209 467.682035 53.245240 1104.245288 941.628931 108.931272 635.150635 584.254706 505.154446 581.866025 691.726592 1051.541266 824.573017 126.943729 554.519912
+100.200476 605.798513 286.260597 36.938664 853.896872 951.527693 74.592806 793.741452 672.511324 554.718999 665.569295 741.011344 1150.974023 767.607119 101.055809 503.261042
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 58.012232 7.758389 6.316212 339.939267 8.931571 5.630960 985.252762 637.145040 5.211219 11.025124
+103.684130 618.154292 620.729504 67.563209 1354.593705 1058.764289 137.186924 798.969721 769.308904 646.338326 694.432492 764.356753 1166.165139 816.180720 166.862507 708.673427
+92.345178 525.485947 570.000287 58.349331 1034.636216 1001.846403 112.855668 676.976784 619.130305 553.217043 561.661787 724.150771 1197.928381 908.750304 150.065002 605.401879
+84.216652 502.833685 414.373366 56.029290 952.815027 860.789035 110.697250 619.465828 584.254706 600.528662 554.445988 676.162986 1135.782908 862.465512 127.931818 560.927271
+90.091049 547.451777 437.588432 53.444101 1044.405911 861.613932 116.191405 713.574665 571.443262 531.438679 612.172381 704.696264 1126.115834 785.663275 135.243673 510.422207
+94.735921 596.188462 578.598459 60.536798 1162.863454 1147.028256 111.384020 771.085621 661.123373 632.820720 617.945021 708.587165 1063.970361 799.650437 145.322177 561.681078
+101.908149 560.493989 286.260597 38.728410 785.509012 1027.418207 84.109466 699.632615 711.657404 629.816808 665.569295 669.678150 1123.353813 708.861037 93.743954 510.045304
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 58.600892 7.758389 6.316212 352.705894 8.931571 5.630960 1034.969140 563.648859 5.211219 11.025124
+85.924325 493.910067 398.896656 53.178953 982.124109 834.392335 121.489340 544.527310 574.290250 653.097128 590.524984 646.332741 1144.068971 708.861037 125.362788 509.668400
+73.560769 423.893984 421.251904 53.178953 857.560507 806.345841 108.931272 575.896922 527.314953 558.473890 538.571230 690.429625 1029.445098 675.291847 118.446168 487.431096
+81.620988 440.368357 329.251459 49.201740 885.648378 847.590685 102.946568 588.096216 512.368268 514.166183 502.492234 664.490281 1084.685519 690.296258 115.679520 473.108765
+75.131829 474.689966 393.737752 51.654355 1029.751369 840.991510 117.368724 596.809997 545.820373 508.909336 574.650226 607.423726 798.816342 720.813703 122.398522 494.969166
+86.470781 591.383437 502.934542 58.813339 1043.184699 1127.230730 119.821471 666.520247 584.254706 584.007145 641.035578 742.308311 1065.351371 837.034308 122.991375 481.777545
+101.976456 587.264844 340.429084 44.760518 869.772625 1216.319594 98.825952 781.542159 760.056194 585.509101 685.773533 875.895930 1110.924718 788.460707 91.965394 541.328291
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 86.660324 7.758389 6.316212 352.705894 8.931571 5.630960 1197.928381 662.576245 5.211219 11.025124
+118.506736 684.738213 704.131777 59.807643 1514.572449 1175.899647 145.133826 844.281383 891.017626 754.479170 848.850594 801.968801 1486.559579 811.094479 183.660013 795.361223
+100.200476 566.671878 621.589321 56.095577 1231.251314 1039.791660 126.002395 785.027671 743.686015 574.244429 718.966209 801.968801 1414.747032 810.585855 144.531706 720.357434
+86.129246 555.688963 484.018563 57.156167 977.239262 1019.169238 124.432637 722.288446 693.151984 683.136252 669.898775 827.908144 1458.939368 779.305473 123.386610 578.641734
+97.946347 570.104039 502.074725 57.553888 1264.224033 1025.768413 130.809781 729.259471 698.845960 606.536487 669.898775 827.908144 1398.174906 814.654848 141.962675 664.952626
+98.902644 631.882935 547.645039 55.764142 1206.827078 1133.005009 126.492945 753.658059 682.475781 604.283553 665.569295 787.702162 1370.554695 854.581839 132.081790 606.155686
+96.443594 555.688963 299.157856 35.082631 880.763531 1073.612433 102.161689 663.034734 675.358311 719.934178 678.557734 651.520610 1424.414105 1007.169066 92.360630 488.184903
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 57.227353 7.758389 6.316212 462.348695 8.931571 5.630960 1330.505390 701.740300 5.211219 11.025124
+84.694800 479.494991 395.457387 51.455494 1052.954393 881.411458 135.126616 586.353460 545.108626 919.694348 505.378554 683.944789 1813.859071 788.460707 122.596140 585.802899
+75.883205 425.266849 432.429528 49.002879 952.815027 910.282849 119.821471 492.244623 542.261638 754.479170 502.492234 658.005446 1655.042861 726.917192 118.643785 513.060532
+79.981622 468.512076 394.597570 47.743428 929.612003 939.154240 137.285034 485.273598 542.261638 687.642120 493.833275 648.926675 1635.708714 706.826540 123.188993 502.507235
+78.137334 441.741221 392.018118 53.245240 991.893804 870.687798 126.296725 546.270066 563.614046 636.575610 596.297623 635.957004 1472.749473 679.360840 118.446168 525.875249
+74.653680 522.053786 464.242766 47.942289 1040.742275 999.371713 127.768374 607.266535 594.930910 739.459608 567.434427 672.272084 1558.372125 760.995006 124.374699 525.121442
+93.438089 557.748260 277.662425 39.059845 803.827188 1048.040629 116.191405 635.150635 684.611021 759.736016 602.070263 641.144872 1504.512715 702.503236 87.420187 472.731861
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 80.675620 7.758389 6.316212 525.430854 8.931571 5.630960 1516.941810 596.963737 5.211219 11.025124
+112.632339 678.560324 694.673787 65.508316 1437.636106 1357.376962 173.880028 852.995164 889.594133 939.970757 845.964274 857.738389 1873.242523 771.421800 171.802950 805.537616
+93.096554 518.621625 632.766946 58.017897 1210.490714 1116.507071 142.877299 664.777491 799.914021 808.549592 667.012455 760.465852 1777.952797 793.801260 137.615086 674.375212
+93.779623 518.621625 576.878825 54.703552 1140.881642 1076.087123 133.556858 652.578197 730.162824 753.728192 626.603980 711.181099 1621.898609 784.137402 131.291319 624.247052
+82.987127 496.655796 483.158746 56.824732 1219.039196 1019.994135 143.465958 628.179610 698.134213 786.771227 594.854463 696.914461 1715.807324 868.060377 133.069878 648.368873
+91.593801 622.272885 576.019008 52.714945 1233.693738 1139.604184 147.880904 732.744984 723.757102 875.386641 654.024017 647.629708 1855.289386 811.094479 132.872261 657.037653
+91.798722 507.638711 330.111277 36.739804 842.905966 916.882024 104.712546 626.436853 640.482713 763.490907 669.898775 711.181099 1685.425093 697.162683 86.629716 520.221697
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 66.940233 7.758389 6.316212 527.683788 8.931571 5.630960 1677.139030 698.434243 5.211219 11.025124
+78.478869 438.309060 366.223601 47.345707 895.418073 892.960014 162.989829 561.954873 520.909231 1087.162461 537.128070 645.035774 2016.867616 818.469528 112.912872 565.827016
+71.170026 393.690968 373.102139 48.273723 892.975649 872.337592 147.684684 426.019886 463.969478 888.904247 488.060636 650.223642 1947.817091 715.473150 112.517636 449.740750
+83.260355 443.800518 342.148718 44.097649 894.196861 841.816407 146.016816 530.585260 523.756219 819.814263 447.652160 593.157087 2032.058732 670.968542 102.241515 510.422207
+68.915897 450.664839 352.466525 50.792625 1037.078640 888.835530 157.397564 497.472892 535.144169 739.459608 450.538480 590.563153 1728.236419 741.921603 122.200904 502.884138
+74.721987 509.698007 414.373366 43.302206 991.893804 930.905271 139.835892 614.237560 500.268570 828.826000 472.185878 674.866019 1707.521261 720.559391 121.015198 507.783883
+82.235751 517.935193 238.970649 32.630016 743.987811 859.964139 105.006876 581.125191 567.172780 816.059373 547.230189 597.047989 1809.716039 935.707381 87.815422 445.971716
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 91.271489 7.758389 6.316212 524.679876 8.931571 5.630960 1754.475618 594.166304 5.211219 11.025124
+99.039258 671.009570 667.159635 70.347259 1496.254272 1382.123869 172.310270 910.506120 876.782688 962.500099 781.022082 822.720276 1935.387996 715.473150 180.695747 780.661988
+96.306980 626.391478 657.701646 58.216757 1248.348279 1277.361964 166.031236 866.937214 792.084805 880.643488 718.966209 822.720276 2125.967447 669.951294 170.814861 730.533828
+104.503813 609.230673 607.832246 62.392831 1154.314972 1290.560314 163.480378 741.458765 926.604972 780.763403 667.012455 814.938473 1987.866395 736.835362 165.676801 678.144247
+87.631999 615.408563 514.112166 61.796249 1200.721020 1082.686298 166.031236 666.520247 637.635725 771.000688 643.921898 725.447738 1758.618650 812.111727 162.119682 660.806688
+81.620988 640.120122 588.056449 54.968699 1117.678618 1152.802534 132.870089 685.690565 626.247774 732.700805 646.808217 734.526508 1722.712377 918.668474 146.705501 558.665850
+91.662108 693.661832 355.045977 38.264402 894.196861 943.278724 143.858398 757.143571 695.287225 878.390554 662.682976 722.853804 1902.243744 718.524895 117.062844 527.382863
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 72.826828 7.758389 6.316212 446.578155 8.931571 5.630960 1494.845642 637.145040 5.211219 11.025124
+78.820404 718.373390 455.644594 50.593764 934.496850 946.578312 172.015940 520.128723 577.848984 1019.574434 571.763906 682.647822 2012.724585 780.322722 195.517075 585.425996
+64.885788 659.340223 510.672897 48.804018 989.451380 864.088623 167.895324 459.132254 557.920070 915.939458 501.049074 624.284299 1873.242523 659.015876 187.809985 554.519912
+77.181037 582.459818 373.102139 42.970772 867.330201 946.578312 138.168023 579.382435 550.802601 729.696893 554.445988 669.678150 1713.045303 648.334770 179.114805 481.400641
+75.473363 591.383437 434.149163 45.887395 1024.866522 879.761664 156.710795 638.636147 560.767058 767.996775 607.842902 610.017660 1599.802441 644.520089 164.293477 520.221697
+75.746591 588.637708 496.915821 49.135453 945.487756 986.173363 128.455143 643.864416 567.172780 681.634296 560.218627 547.763236 1463.082400 731.240497 142.357911 504.014849
+91.457187 660.026655 298.298039 37.601533 772.075682 911.932643 129.436242 638.636147 654.005904 734.953740 714.636730 598.344956 1602.564462 682.158272 118.050932 440.318164
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 70.570300 7.758389 6.316212 502.901511 8.931571 5.630960 1414.747032 566.446292 5.211219 11.025124
+99.039258 692.288967 739.384283 62.657979 1515.793661 1277.361964 174.566798 880.879264 907.387805 960.998143 866.168512 783.811261 1845.622312 685.210017 199.469430 792.722898
+99.790634 651.789469 628.467859 61.597389 1181.181631 1147.028256 151.707190 797.226965 745.109509 698.155813 684.330373 748.793147 1755.856629 657.490004 177.929099 609.547817
+92.481792 592.069869 522.710339 54.902412 1079.821053 1091.760164 145.918706 720.545690 698.845960 724.440046 687.216693 750.090114 1534.894947 638.416600 152.634032 597.486906
+85.719404 564.612582 471.121304 52.582371 1177.517996 948.228106 136.892595 750.172546 688.881503 712.424397 694.432492 703.399296 1503.131705 691.313506 164.293477 612.563045
+93.028247 631.196503 552.803942 50.063469 1050.511970 1121.456452 135.617166 699.632615 649.735422 738.708630 723.295689 689.132658 1587.373346 773.710608 143.543617 592.587162
+94.189465 610.603538 257.026811 34.287189 809.933247 805.520944 110.991580 750.172546 599.913138 645.587348 710.307250 658.005446 1505.893726 682.666896 103.031986 429.764867
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 59.778210 7.758389 6.316212 494.640752 8.931571 5.630960 1247.644759 709.878285 5.211219 11.025124
+89.271365 523.426651 371.382504 47.213133 855.118084 923.481199 141.994310 816.397283 563.614046 774.004600 703.091451 670.975117 1489.321600 654.692571 150.855472 531.151898
+77.317651 448.605543 382.560128 49.533174 870.993837 869.862901 126.296725 603.781022 525.179712 656.852019 612.172381 621.690365 1458.939368 645.283026 128.327053 484.792772
+82.372364 463.707051 348.167439 44.694231 814.818094 879.761664 121.979889 652.578197 486.033632 635.073654 577.536545 577.593481 1458.939368 663.084869 128.524671 476.500896
+72.262937 445.859814 356.765611 46.550264 952.815027 842.641304 129.632462 582.867947 483.186644 665.863756 541.457550 651.520610 1521.084841 700.468739 119.631874 460.294047
+75.131829 496.655796 391.158301 47.146846 943.045332 908.633055 119.821471 668.263003 473.933935 609.540399 589.081824 582.781350 1377.459748 817.452280 123.386610 477.631606
+88.315068 542.646752 267.344618 35.480353 693.918127 839.341716 105.889865 657.806466 580.695972 720.685156 628.047140 785.108228 1463.082400 707.843789 100.660574 427.126543
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 71.355179 7.758389 6.316212 372.231325 8.931571 5.630960 1407.841979 571.532532 5.211219 11.025124
+100.815238 632.569368 675.757808 69.154095 1379.017941 1217.144491 150.922311 1079.553475 813.437213 831.078934 958.530741 800.671834 1695.092166 657.490004 179.510041 700.381551
+94.121158 535.782430 539.046866 56.427011 1112.793771 1090.110370 127.375934 744.944278 676.070058 696.653857 733.397807 726.744705 1507.274736 687.498825 149.076913 608.417107
+96.648515 521.367354 437.588432 52.781232 1050.511970 1109.082999 126.296725 704.860884 599.201392 611.042356 726.182008 663.193314 1481.035536 673.765975 139.591263 553.766105
+83.123741 539.901023 533.887963 57.620175 1164.084666 982.048878 139.149122 750.172546 613.436330 592.267903 747.829406 698.211428 1348.458527 721.322327 141.962675 621.985631
+97.126663 677.187459 655.122194 62.459118 1338.717952 1172.600059 127.768374 889.593045 779.273361 653.848106 711.750410 799.374867 1392.650863 802.956494 150.262619 623.493245
+98.219574 635.315096 375.681590 38.529550 851.454448 1114.032380 101.769249 833.824846 708.098669 647.840282 757.931525 781.217326 1229.691623 689.024697 96.115366 493.084648
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 54.872715 7.758389 6.316212 342.192201 8.931571 5.630960 1106.781687 604.338786 5.211219 11.025124
+92.003643 538.528159 458.224046 54.968699 1083.484688 827.793160 119.723361 567.183141 577.137237 641.832457 667.012455 648.926675 1220.024549 730.477561 138.800792 587.687417
+82.372364 504.892982 465.962401 54.173257 1107.908924 811.295222 116.681954 481.788086 632.653496 519.423029 528.469111 663.193314 1226.929602 764.809687 134.453202 584.672189
+78.683790 476.749262 386.859215 47.743428 1023.645310 797.271975 112.463229 509.672185 584.254706 534.442591 490.946955 581.484383 1218.643539 749.805276 121.805669 510.422207
+74.653680 443.800518 398.036839 47.809715 1026.087734 793.972387 120.115801 537.556285 568.596274 487.130972 522.696472 608.720693 1186.880297 812.111727 129.907995 509.291497
+79.161938 466.452780 439.308066 47.677141 999.221074 949.053003 108.833162 636.893391 540.838145 574.244429 630.933459 610.017660 1236.596675 893.745894 113.900960 472.731861
+92.003643 537.155294 332.690728 36.673517 899.081708 938.329343 96.078875 762.371840 640.482713 640.330501 779.578922 725.447738 1394.031874 743.447475 98.091543 452.002171
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 52.616187 7.758389 6.316212 368.476434 8.931571 5.630960 1030.826109 620.614757 5.211219 11.025124
+111.949269 666.204545 698.972873 69.087808 1458.396707 1173.424956 114.131097 872.165483 913.081781 793.530030 985.950778 785.108228 1411.985011 725.899944 166.862507 743.725449
+97.878040 570.790471 536.467415 64.248865 1160.421031 1114.032380 123.843977 750.172546 680.340540 614.797246 770.919963 782.514294 1066.732382 702.503236 157.376857 576.380313
+86.060939 541.960320 478.859659 58.216757 1024.866522 1047.215732 107.753953 694.404347 649.735422 581.754210 701.648291 757.871917 1619.136588 700.468739 144.531706 503.637945
+87.085543 557.061828 534.747780 59.873930 1129.890736 964.726043 124.825076 694.404347 747.244750 535.944547 779.578922 765.653720 1352.601559 722.848199 146.112647 624.623956
+94.804227 601.679919 619.009870 53.974396 1161.642242 1126.405834 117.466834 811.169015 705.963429 538.197481 775.249443 730.635607 1218.643539 814.400536 141.172205 608.040203
+92.345178 583.146251 284.540963 37.468959 805.048400 1077.736917 83.520807 791.998696 645.464941 557.722912 755.045205 808.453637 1170.308171 878.487171 102.439133 449.740750
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 58.600892 7.758389 6.316212 304.643297 8.931571 5.630960 1168.927160 644.011465 5.211219 11.025124
+78.547176 533.723133 386.859215 52.118363 962.584721 789.023006 110.402921 546.270066 557.920070 616.299202 610.729222 742.308311 1290.456085 706.572228 129.117524 539.820677
+76.634581 448.605543 407.494828 51.455494 932.054426 848.415582 103.339008 527.099748 533.720675 501.399555 519.810152 656.708478 1225.548591 683.175520 118.248550 487.054193
+72.741086 458.902026 356.765611 44.296509 853.896872 786.548315 101.474919 511.414942 500.980317 480.372169 502.492234 663.193314 1171.689181 681.141024 107.774811 444.841005
+73.765690 439.681925 340.429084 49.533174 1018.760463 808.820531 106.184195 615.980316 552.937842 505.154446 537.128070 613.908562 1185.499286 696.399747 121.608051 466.324503
+72.194630 516.562329 432.429528 50.394904 996.778651 981.223981 106.576634 610.752047 516.638749 536.695525 547.230189 646.332741 1069.494403 780.322722 119.631874 455.394302
+95.760525 596.874894 293.998952 39.059845 768.412047 1136.304596 78.026652 670.005759 654.005904 496.893687 742.056766 682.647822 1237.977686 701.231675 93.743954 474.239475
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 44.963615 7.758389 6.316212 228.794510 8.931571 5.630960 956.251541 600.778418 5.211219 11.025124
+102.113070 632.569368 644.804387 68.491226 1353.372493 1140.429081 116.191405 835.567602 754.362219 679.381361 871.941151 708.587165 1313.933264 730.986185 160.736358 683.420895
+91.388880 492.537203 537.327232 60.536798 1118.899830 963.076250 104.908766 607.266535 686.034515 532.940635 671.341935 643.738807 1232.453644 694.873874 149.076913 614.824466
+88.724910 497.342228 457.364228 50.394904 972.354415 909.457952 109.323712 661.291978 650.447169 491.636840 604.956582 654.114544 989.395793 740.395730 121.212816 528.890477
+83.806810 562.553285 479.719477 61.199667 1068.830146 908.633055 108.833162 682.205053 612.012836 476.617278 643.921898 702.102329 1182.737265 738.106922 138.010321 547.735650
+89.817821 633.942232 643.944570 56.824732 1164.084666 1177.549441 111.285910 713.574665 641.906206 552.466065 740.613607 716.368968 1102.638655 809.314295 139.196027 589.948837
+98.014654 574.222632 322.372921 38.728410 867.330201 1150.327843 82.343488 746.687034 624.112534 525.430854 759.374684 703.399296 1215.881518 861.193952 97.301072 496.476779
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 81.460499 7.758389 6.316212 309.900144 8.931571 5.630960 1139.925939 606.118971 5.211219 11.025124
+96.511901 559.807556 510.672897 63.453422 1039.521064 949.877899 122.960988 582.867947 653.294157 611.042356 646.808217 674.866019 1333.267411 783.628778 147.495971 557.535140
+84.421573 485.672881 514.112166 51.588068 1120.121042 883.886148 111.384020 544.527310 599.913138 500.648577 509.708033 664.490281 1149.593013 791.258139 134.057967 570.726761
+93.369782 552.943235 454.784777 51.256633 1123.784677 963.076250 114.621646 612.494803 593.507416 602.781597 695.875652 665.787249 1220.024549 847.461101 140.184116 540.197581
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 50.261550 7.758389 6.316212 303.141341 8.931571 5.630960 1500.369684 682.666896 5.211219 11.025124
+102.659526 600.993487 539.046866 52.184650 1244.684644 1396.972013 140.915101 750.172546 688.881503 803.292745 707.420930 808.453637 1522.465852 844.155045 144.531706 664.952626
+92.071950 564.612582 303.456942 34.684910 828.251424 1238.591810 84.109466 767.600109 674.646564 562.979758 648.251377 864.223225 1449.272295 800.413373 89.001129 537.559256
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 47.416363 7.758389 6.316212 295.631560 8.931571 5.630960 1266.978907 653.675323 5.211219 11.025124
+114.340012 552.256802 735.085197 69.750677 1497.475484 1219.619182 123.843977 891.335802 855.430281 698.155813 902.247508 817.532407 1503.131705 807.025486 163.700624 798.376450
+96.033752 499.401524 649.103473 61.199667 1197.057384 1117.331968 109.618041 741.458765 726.604089 565.983671 717.523049 773.435523 1425.795116 748.533716 134.255585 654.776232
+95.145762 509.011575 477.999842 58.415618 1022.424098 1023.293723 100.297601 689.176078 677.493552 623.058005 680.000894 778.623392 1307.028212 744.464723 128.919906 555.273719
+86.402474 477.435695 525.289790 59.409921 1175.075572 972.150115 107.950173 746.687034 672.511324 542.703350 678.557734 778.623392 1244.882738 784.137402 130.698466 588.064320
+85.992632 576.968361 587.196632 63.320848 1098.139229 1150.327843 100.395710 774.571134 583.542959 531.438679 651.137697 874.598962 1271.121938 832.456691 126.548494 524.744539
+97.809733 563.926149 322.372921 40.120435 903.966555 1195.697172 73.513597 737.973253 700.981200 541.201394 700.205131 794.186998 1084.685519 734.037929 79.317861 520.221697
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 45.748494 7.758389 6.316212 284.366889 8.931571 5.630960 1152.355034 623.920814 5.211219 11.025124
+86.129246 493.223635 433.289346 53.178953 949.151391 861.613932 104.810656 595.067241 600.624885 530.687701 610.729222 625.581266 1207.595454 770.913176 132.477025 538.313063
+74.995215 443.114085 382.560128 54.836126 870.993837 859.964139 78.615312 535.813529 537.279410 475.866300 485.174316 598.344956 1066.732382 738.106922 105.798634 446.725523
+76.224740 458.215593 381.700311 47.146846 897.860496 864.913520 94.018567 514.900454 534.432422 469.858476 505.378554 591.860120 1088.828550 763.792439 113.308107 459.540240
+68.437749 456.156297 409.214463 50.792625 990.672592 802.221356 93.135578 539.299041 545.108626 430.807615 498.162755 584.078317 816.769479 770.150240 106.391487 462.555468
+75.063522 515.875897 445.326787 50.063469 1044.405911 971.325219 93.233688 572.411410 570.019768 460.095761 508.264873 641.144872 1127.496845 796.344380 119.631874 494.215359
+92.891633 601.679919 299.157856 36.673517 789.172647 1098.359339 79.302081 647.349928 698.845960 562.228780 578.979705 626.878233 1023.921056 855.344775 93.941571 498.738200
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 46.827703 7.758389 6.316212 291.876670 8.931571 5.630960 950.727499 611.205211 5.211219 11.025124
+104.025664 636.687961 607.832246 60.934520 1365.584611 1141.253978 120.017691 844.281383 825.536910 643.334413 789.681041 746.199213 1075.018445 757.434637 180.300512 693.220385
+89.066445 504.892982 520.130887 54.968699 1116.457406 1091.760164 107.950173 654.320953 658.276385 468.356520 563.104947 659.302413 1033.588130 778.288225 134.255585 641.584611
+85.104642 511.757304 474.560573 51.124060 924.727155 1029.068001 98.825952 629.922366 656.852892 503.652489 580.422865 660.599380 1033.588130 740.904355 140.776969 526.629056
+68.574363 537.155294 426.410808 55.366421 1110.351347 838.516819 105.104986 731.002228 663.970361 469.858476 589.081824 651.520610 883.057983 778.288225 137.417468 557.535140
+91.252267 580.400522 507.233628 54.173257 1088.369535 1104.133618 103.044678 737.973253 611.301089 529.936722 655.467176 752.684049 979.728720 819.741089 136.034144 500.999621
+97.536505 574.909064 275.082973 37.137525 778.181741 1042.266351 73.513597 737.973253 622.689040 494.640752 690.103012 699.508395 967.299625 766.589871 97.893926 467.832117
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 64.879925 7.758389 6.316212 261.086568 8.931571 5.630960 703.526617 612.476772 5.211219 11.025124
+86.675702 431.444738 379.980677 49.002879 820.924153 778.299347 66.547794 556.726604 511.656521 230.296467 606.399742 646.332741 343.082872 745.227659 102.241515 461.047854
+81.757602 440.368357 387.719032 47.345707 894.196861 901.208983 83.520807 554.983848 570.019768 490.885862 560.218627 626.878233 769.815121 727.425816 128.129436 509.668400
+84.626493 522.740219 441.887518 57.752749 1007.769557 1036.492073 103.044678 596.809997 641.906206 475.115322 594.854463 648.926675 758.767037 742.175915 128.919906 545.474229
+80.801305 555.688963 570.860104 12.213653 1256.896762 10.320343 115.700855 535.813529 829.095645 460.846739 583.309185 672.272084 776.720174 893.745894 148.879295 609.170914
+87.973533 586.578411 15.418166 63.254561 6.375891 1346.653303 107.557733 708.346397 6.316212 472.862388 616.501861 922.586748 727.003795 810.331543 129.512760 11.025124
+107.509318 633.255800 460.803497 40.915878 988.230168 1270.762789 81.068059 875.650995 821.266429 526.181832 721.852529 852.550521 645.524175 781.848594 108.367664 563.188692
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 11.640348 665.882301 5.211219 11.025124
+108.465615 644.238715 598.374256 72.203292 1416.875506 1131.355215 110.304811 858.223433 764.326676 552.466065 791.124201 809.750604 756.005016 770.658864 166.664889 612.563045
+94.189465 557.748260 607.832246 65.906037 1179.960419 1100.834030 109.323712 724.031203 775.002879 384.246974 688.659853 820.126341 681.430448 804.736678 159.945887 600.502134
+95.692218 570.104039 490.897101 56.095577 1083.484688 1017.519444 103.044678 676.976784 713.080898 423.297834 700.205131 798.077900 615.141944 842.629173 138.800792 551.127781
+92.550098 585.205547 419.532270 60.735659 1044.405911 939.979137 102.456018 706.603640 651.158916 400.017514 688.659853 751.387082 615.141944 828.642010 142.753146 485.546579
+89.954435 592.756301 606.972428 59.476208 1111.572559 1247.665676 107.361514 798.969721 755.785713 437.566418 697.318812 761.762819 703.526617 856.362023 144.531706 571.857471
+102.864446 644.238715 309.475663 41.910181 858.781719 1257.564439 61.053639 821.625552 731.586318 458.593804 763.704164 760.465852 423.181482 766.844183 91.570159 512.306725
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 11.640348 609.933651 5.211219 11.025124
+86.060939 470.571373 421.251904 50.527478 1043.184699 839.341716 104.908766 579.382435 626.247774 446.578155 664.126135 678.756920 644.143164 766.844183 137.219850 523.236925
+76.361354 466.452780 395.457387 48.605158 911.293826 814.594810 81.656719 528.842504 560.767058 355.709807 563.104947 663.193314 434.229566 746.499220 112.517636 483.285158
+84.694800 471.257805 384.279763 46.152543 906.408979 803.871150 89.897951 556.726604 567.172780 342.192201 577.536545 607.423726 586.140723 750.059588 127.931818 484.792772
+69.940501 458.215593 389.438666 49.864609 1006.548345 816.244603 103.731447 593.324485 570.019768 364.721544 623.717660 656.708478 530.900302 777.779601 132.872261 488.561807
+82.167444 559.121124 458.224046 50.792625 993.115016 975.449703 101.671139 612.494803 579.272478 397.013601 583.309185 659.302413 602.712849 864.754321 125.560405 482.154448
+98.834337 627.764342 293.998952 39.126132 830.693848 1257.564439 68.215662 762.371840 725.892342 478.119235 740.613607 804.562735 562.663544 732.257745 102.241515 537.182353
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 11.640348 612.731084 5.211219 11.025124
+102.181377 621.586453 615.570601 72.269579 1410.769447 1178.374338 114.621646 891.335802 846.889318 494.640752 922.451746 888.865601 646.905185 793.038324 188.402838 691.335868
+93.916237 561.866853 613.850966 63.188274 1165.305878 1076.912020 100.395710 732.744984 755.785713 394.009689 711.750410 761.762819 599.950828 756.926013 152.238796 627.639183
+93.233168 539.214591 497.775639 60.072790 1070.051358 1017.519444 103.339008 729.259471 695.287225 389.503821 617.945021 765.653720 573.711628 783.120154 141.962675 573.741989
+79.435166 593.442733 496.915821 58.945913 1176.296784 1010.920269 106.282305 692.661590 671.799577 383.495996 642.478738 712.478067 554.377481 783.374466 137.219850 526.252153
+88.861524 621.586453 571.719921 57.156167 1063.945299 1220.444079 101.376809 805.940746 630.518256 435.313484 685.773533 759.168885 577.854660 881.284603 139.196027 531.905705
+101.225080 619.527156 307.756028 43.898788 860.002931 1269.112995 68.608102 882.622020 685.322768 447.329133 769.476803 801.968801 564.044554 905.444248 103.229604 495.346069
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 11.640348 679.869464 5.211219 11.025124
+80.254849 524.113083 400.616290 53.510388 995.557439 946.578312 115.112196 628.179610 607.742354 442.823265 704.534611 751.387082 601.331838 782.102906 155.203062 532.659512
+79.298552 494.596499 455.644594 50.394904 946.708968 934.204859 96.471314 624.694097 580.695972 384.997952 604.956582 685.241756 511.566155 760.740694 137.022233 533.413318
+79.366859 493.223635 428.130442 50.328617 965.027144 895.434705 95.097776 647.349928 542.261638 400.768492 557.332308 693.023559 398.323293 775.236481 127.734200 543.589712
+76.497968 571.476903 463.382949 54.239544 1089.590747 921.831405 120.508241 694.404347 584.254706 405.274360 668.455615 764.356753 499.137060 796.344380 148.088824 539.443774
+88.451682 675.128163 625.028590 56.625872 1139.660430 1395.322219 123.549648 833.824846 697.422466 417.290010 720.409369 868.114127 425.943503 960.884274 138.010321 585.425996
+119.258112 824.770379 402.335925 43.434780 1000.442286 1528.130618 105.889865 1056.897644 791.373058 496.142709 1010.484495 952.416993 576.473649 965.461890 145.322177 760.309201
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 11.640348 737.343986 5.211219 11.025124
+119.189805 739.652788 770.337704 73.263882 1733.169359 1472.037630 135.322836 1027.270788 992.797435 496.893687 1072.540368 983.544205 771.196132 867.551753 198.283723 871.118818
+101.225080 651.789469 709.290680 62.856840 1404.663388 1354.902272 118.251713 805.940746 881.764917 448.080111 899.361188 859.035356 588.902744 830.167882 168.838684 766.716560
+102.044763 717.686958 589.776083 61.199667 1215.375561 1392.022632 118.840372 872.165483 809.878478 432.309571 840.191635 818.829374 506.042113 866.534505 165.676801 652.514812
+95.350683 559.121124 527.009425 66.568906 1308.187657 1260.864026 84.600016 990.672907 771.444145 234.051357 974.405500 894.053470 232.602031 902.646815 141.369822 629.146797
+95.965445 605.112080 626.748225 53.377814 1156.757395 1155.277225 92.154479 866.937214 740.127281 282.113954 718.966209 878.489864 407.990366 1012.509619 127.931818 589.571934
+103.684130 668.950273 344.728170 38.728410 897.860496 1468.738042 93.920457 767.600109 688.881503 440.570330 824.316877 943.338222 443.896640 1017.850172 113.703343 676.636633
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 11.640348 731.749121 5.211219 11.025124
+89.339672 592.069869 473.700756 55.366421 1160.421031 1069.487948 120.312021 671.748516 678.205299 429.305659 690.103012 752.684049 580.616681 819.741089 144.926941 625.000859
+86.197553 529.604540 503.794359 53.245240 1033.415005 1074.437330 111.384020 638.636147 683.899274 366.223500 623.717660 759.168885 555.758491 810.077231 137.219850 650.253391
+86.060939 539.214591 437.588432 54.438404 1017.539251 1136.304596 106.870964 615.980316 635.500484 366.223500 620.831340 709.884132 504.661102 796.853004 129.710377 586.179803
+78.752097 524.799515 452.205325 51.521781 1110.351347 1112.382586 117.270614 649.092684 634.076990 333.931442 641.035578 729.338640 475.659882 853.310279 147.891207 592.964065
+84.626493 592.069869 551.084308 57.819036 1128.669524 1414.294848 97.550523 776.313890 654.717651 408.278273 717.523049 776.029458 552.996470 949.948856 140.381734 614.070659
+104.435506 673.068866 335.270180 45.489674 864.887778 1667.538192 108.244503 908.763364 703.116441 406.776317 796.896840 969.277566 517.090197 958.341153 128.524671 659.675977
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 11.640348 724.374072 5.211219 11.025124
+125.610657 824.083946 891.571935 82.411473 1757.593595 1710.432831 147.979014 1164.948531 1063.260380 556.971934 1153.357319 1075.628873 731.146827 880.267355 236.226324 978.536304
+115.432923 756.813593 794.412587 71.341562 1502.360331 1678.261852 142.386749 987.187395 992.797435 430.056637 994.609737 1053.580432 634.476091 911.293425 191.367103 865.088363
+113.998478 720.432687 668.879270 68.424939 1338.717952 1675.787161 142.975409 1016.814251 957.210089 443.574243 867.611672 1079.519775 657.953270 857.379271 183.660013 834.559182
+102.796139 756.813593 653.402559 68.822660 1593.951215 1614.744792 133.556858 1023.785276 892.441120 472.862388 929.667545 1019.859285 595.807796 887.896717 185.833808 743.348545
+113.383715 845.363344 772.057339 71.076415 1497.475484 2009.045504 143.564068 1130.093406 937.992923 496.893687 1009.041336 1166.416575 780.863205 944.608303 202.433695 784.807926
+121.648855 846.049776 421.251904 50.991486 1256.896762 1886.135868 115.504636 1161.463018 986.391713 553.217043 1036.461372 1207.919524 604.093859 1015.561363 164.095859 832.674665
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 100.003271 7.758389 6.316212 11.761844 8.931571 5.630960 702.145606 719.033519 5.211219 11.025124
+135.925005 1065.021642 799.571490 83.074342 2098.311684 2153.402460 179.374183 1564.039709 1090.306762 839.339693 1358.286015 1471.203859 1148.212002 858.142207 267.252305 1027.910657
+67.481452 426.639713 391.158301 33.292885 822.145365 484.636054 76.358784 643.864416 358.630934 339.939267 655.467176 504.963320 536.424344 337.311139 103.229604 284.657035
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 11.640348 535.928846 5.211219 11.025124
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 986.633772 610.442275 5.211219 11.025124
+91.047346 625.705046 496.056004 61.796249 1116.457406 1665.063502 117.761163 849.509652 693.863731 674.124515 779.578922 961.495763 1113.686739 746.753532 139.196027 632.538928
+86.197553 636.001529 343.868352 48.472584 851.454448 1392.847529 98.825952 889.593045 686.034515 677.879405 747.829406 934.259452 1501.750694 696.399747 106.193870 576.003409
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 51.046429 7.758389 6.316212 11.761844 8.931571 5.630960 1304.266191 565.174731 5.211219 11.025124
+113.520329 846.736208 635.346397 73.197595 1313.072504 1536.379587 145.624376 955.817782 833.366126 891.908159 933.997024 1038.016826 1653.661851 777.016665 177.336246 780.661988
+70.760185 472.630669 392.018118 31.967147 715.899940 448.340591 76.260674 499.215648 403.470990 418.791966 524.139632 392.127176 930.012341 365.031152 89.593982 280.888001
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 888.582026 412.078880 5.211219 11.025124
+85.924325 533.723133 388.578849 51.919502 1056.618029 1080.211608 112.757558 750.172546 657.564639 574.995408 609.286062 807.156670 1022.540045 719.033519 144.926941 567.711533
+87.222157 561.866853 468.541852 48.605158 980.902898 1219.619182 103.927667 697.889859 619.130305 493.889774 649.694537 721.556837 874.771920 705.809292 123.386610 556.404429
+93.779623 599.620623 362.784332 39.789001 850.233236 1188.273100 75.672015 746.687034 686.034515 451.084024 752.158885 861.629291 685.573480 683.429832 102.636751 506.653173
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 483.945945 600.524106 5.211219 11.025124
+105.938259 656.594494 735.945015 73.993038 1488.927002 10.320343 107.753953 936.647464 937.281176 493.138796 899.361188 847.362652 656.572259 803.210806 188.995691 727.141696
+91.662108 568.731175 688.655066 63.188274 1214.154349 1346.653303 103.927667 762.371840 878.206182 403.772404 730.511488 792.890031 550.234449 728.443064 165.874419 706.035103
+93.438089 546.078913 503.794359 53.642962 1081.042264 1122.281349 96.176985 661.291978 698.845960 403.772404 642.478738 769.544622 486.707966 718.524895 134.255585 608.417107
+79.093631 513.816600 510.672897 57.089880 1092.033170 959.776662 90.094171 703.118128 613.436330 354.207851 622.274500 704.696264 417.657440 746.753532 132.872261 541.328291
+89.476286 644.238715 649.103473 59.873930 1137.218007 1230.342842 105.987975 835.567602 745.109509 420.293922 717.523049 730.635607 488.088976 792.021076 142.357911 589.948837
+92.071950 570.104039 340.429084 38.993558 789.172647 1193.222482 54.284056 825.111065 677.493552 405.274360 773.806283 743.605279 305.795588 676.309095 95.324895 484.038965
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 11.640348 599.506857 5.211219 11.025124
+75.541670 481.554288 461.663315 49.930895 991.893804 778.299347 93.429907 534.070773 607.742354 359.464697 607.842902 712.478067 438.372598 732.766369 124.374699 536.805450
+76.361354 454.097000 442.747335 47.677141 944.266544 743.653677 89.014962 544.527310 584.254706 324.168727 577.536545 607.423726 500.518071 746.753532 127.734200 487.054193
+73.697383 459.588458 402.335925 47.544567 855.118084 753.552440 87.739533 605.523778 567.172780 315.907968 508.264873 635.957004 388.656219 723.102511 119.434256 487.808000
+67.822986 437.622628 402.335925 49.268027 979.681686 725.505946 86.365994 539.299041 554.361336 345.196114 555.889148 624.284299 374.846114 783.883090 118.248550 484.792772
+79.435166 537.155294 472.840939 49.732035 963.805933 989.472950 94.214787 615.980316 577.848984 369.227412 619.388181 626.878233 472.897860 806.008238 128.722289 513.060532
+105.938259 644.238715 322.372921 40.120435 847.790813 770.875275 61.544189 791.998696 710.233910 394.009689 806.998959 822.720276 472.897860 689.024697 104.217692 564.319402
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 11.640348 619.597509 5.211219 11.025124
+105.665031 638.747257 672.318539 70.479833 1473.051248 1069.487948 98.433512 872.165483 912.370034 452.585980 991.723418 852.550521 587.521733 764.809687 169.629155 684.928509
+94.940841 515.189465 636.206215 56.427011 1137.218007 849.240479 89.505511 750.172546 755.785713 360.215675 814.214758 720.259870 475.659882 733.783617 132.674643 598.617617
+92.071950 537.155294 489.177466 53.908109 1052.954393 853.364963 79.694521 737.973253 747.244750 336.184377 720.409369 717.665935 416.276429 750.313900 130.303230 620.478018
+78.069027 540.587455 471.121304 57.355028 1070.051358 888.835530 90.977160 751.915303 648.311929 355.709807 731.954648 686.538723 388.656219 766.844183 138.207939 567.711533
+85.582791 640.806554 522.710339 52.913806 1093.254382 1038.141867 85.384895 809.426258 691.728490 380.492084 788.237881 766.950688 427.324513 800.667685 139.196027 568.465340
+97.536505 574.222632 324.952373 37.866681 813.596883 1163.526194 59.581991 819.882796 707.386923 350.452960 809.885279 733.229541 414.895419 808.297047 94.534424 546.228036
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 11.640348 596.455113 5.211219 11.025124
+80.118235 450.664839 363.644149 46.616551 966.248356 765.925893 78.811532 567.183141 558.631817 340.690245 577.536545 676.162986 443.896640 706.572228 115.086667 512.683628
+75.473363 464.393483 441.887518 49.798322 974.796839 809.645428 84.207576 541.041798 573.578503 314.406012 571.763906 593.157087 423.181482 709.115349 118.248550 514.568145
+78.000720 459.588458 399.756473 48.141149 936.939273 767.575687 75.181465 528.842504 576.425490 314.406012 564.548107 642.441839 329.272767 724.628384 108.565282 503.261042
+73.424155 467.139212 406.635011 51.720642 1005.327133 822.018882 91.075270 619.465828 599.913138 378.239149 591.968144 709.884132 452.182703 769.641616 127.141347 553.766105
+84.353266 637.374393 607.832246 56.493298 1126.227100 1058.764289 98.041073 720.545690 791.373058 398.515558 733.397807 769.544622 548.853439 917.905538 126.548494 638.946287
+98.356188 675.814595 361.064697 43.501067 787.951435 1250.965264 73.513597 859.966189 634.076990 428.554681 785.351561 870.708061 417.657440 789.986579 103.229604 479.139220
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 11.640348 699.705803 5.211219 11.025124
+110.173289 639.433689 769.477887 70.612406 1497.475484 1308.708046 114.131097 952.332270 990.662194 464.601629 996.052897 833.096013 731.146827 843.900733 191.169486 829.282534
+104.777041 596.188462 681.776528 62.525405 1282.542209 1187.448203 104.614436 791.998696 841.195342 369.978390 806.998959 786.405195 562.663544 811.603103 162.514917 725.257179
+87.153850 531.663837 545.925404 53.642962 1038.299852 1049.690423 93.331797 727.516715 778.561614 396.262623 681.444053 759.168885 493.613018 833.219627 138.010321 607.663300
+88.110147 512.443736 586.336815 58.879626 1149.430124 1038.141867 104.025777 732.744984 747.956497 392.507733 737.727287 728.041673 464.611797 840.340364 157.969710 636.684866
+87.973533 622.959317 585.476997 56.493298 1004.105922 1010.920269 88.033863 804.197990 672.511324 403.021426 685.773533 830.502079 431.467545 908.750304 126.548494 528.136670
+91.320574 633.255800 335.270180 41.711321 803.827188 1057.114495 66.449684 861.708946 693.863731 430.807615 819.987397 809.750604 420.419461 812.620351 102.241515 467.078310
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 11.640348 644.520089 5.211219 11.025124
+81.006226 487.045745 418.672452 51.985789 1044.405911 879.761664 94.901556 563.697629 683.899274 396.262623 655.467176 656.708478 562.663544 785.663275 145.124559 574.495795
+80.391463 465.079915 452.205325 48.207436 985.787745 843.466201 90.780940 560.212116 604.895367 307.647209 610.729222 629.472168 496.375039 756.926013 130.105613 543.212808
+79.230245 469.198508 409.214463 48.737731 958.921085 865.738417 90.192280 563.697629 603.471873 364.721544 603.513422 664.490281 378.989145 752.348397 118.050932 537.936160
+65.842085 482.240720 381.700311 53.974396 1052.954393 838.516819 100.395710 603.781022 563.614046 339.939267 619.388181 676.162986 540.567376 801.684933 132.674643 496.099876
+83.260355 588.637708 557.103028 52.516084 1046.848334 938.329343 91.958259 769.342865 669.664336 369.227412 726.182008 772.138556 575.092639 945.625551 131.884172 570.726761
+97.604812 639.433689 354.186159 36.474656 833.136271 1078.561814 63.310167 814.654527 710.233910 448.080111 831.532676 855.144455 551.615460 853.310279 98.486779 545.474229
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 11.640348 677.580655 5.211219 11.025124
+106.279793 630.510071 703.271959 66.568906 1469.387613 1103.308721 108.833162 908.763364 865.394738 484.878037 954.201262 791.593064 696.621564 794.055572 174.767216 729.403117
+95.897139 566.671878 580.318094 59.741356 1161.642242 985.348466 100.003271 744.944278 787.102577 369.978390 802.669479 726.744705 581.997691 782.102906 149.274531 657.414557
+94.804227 563.239717 480.579294 51.853215 1008.990769 892.960014 89.505511 774.571134 676.781805 391.756755 773.806283 715.072001 504.661102 759.977758 132.477025 564.696306
+83.123741 551.570370 523.570156 52.118363 1118.899830 864.913520 100.297601 755.400815 693.863731 439.819352 788.237881 730.635607 511.566155 756.417389 140.579351 608.417107
+87.563692 607.857809 571.719921 49.665748 1153.093760 1058.764289 87.739533 823.368308 692.440237 405.274360 733.397807 718.962902 550.234449 859.668080 128.722289 565.450112
+97.536505 610.603538 344.728170 36.010648 829.472636 1102.483824 59.778210 837.310358 667.529095 489.383906 817.101078 813.641506 644.143164 727.171504 97.893926 503.637945
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 11.640348 625.700998 5.211219 11.025124
+83.396969 471.944237 446.186604 49.997182 1071.272570 743.653677 89.996061 640.378903 597.777898 412.784141 581.866025 629.472168 642.762154 731.240497 135.046055 486.300386
+76.224740 439.681925 458.224046 49.533174 988.230168 730.455327 82.049159 528.842504 550.090854 343.694157 632.376619 615.205529 593.045775 741.667291 119.829492 423.357508
+73.765690 456.156297 400.616290 41.910181 1096.918018 720.556564 83.815137 603.781022 569.308021 351.954916 587.638664 642.441839 508.804134 751.585460 112.912872 369.083410
+74.243839 490.477906 422.111721 46.285116 846.569601 786.548315 99.120282 715.317422 603.471873 399.266536 662.682976 678.756920 593.045775 836.271371 132.674643 413.181115
+88.451682 579.714090 603.533159 55.034986 1259.339185 1091.760164 97.059974 819.882796 767.173663 458.593804 788.237881 787.702162 598.569817 921.465907 133.860349 478.762317
+107.714239 590.697005 390.298484 38.927271 1005.327133 1207.245729 81.558609 917.477145 931.587201 508.158358 856.066393 855.144455 786.387247 954.017848 101.451044 466.701406
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 604.093859 738.106922 5.211219 11.025124
+113.725250 636.687961 640.505301 69.352955 686.590857 1109.082999 127.179714 983.701882 329.449311 599.026706 1009.041336 804.562735 841.627668 910.276177 191.169486 243.574558
+101.703228 549.511074 720.468304 64.315151 1227.587679 1009.270475 102.063579 793.741452 996.356170 407.527295 809.885279 808.453637 718.717732 836.017059 154.017356 593.340968
+98.424495 535.782430 605.252794 59.012200 1397.336117 972.150115 91.565819 751.915303 871.088713 420.293922 783.908402 773.435523 649.667206 809.059983 147.693589 481.023738
+85.992632 537.155294 515.831801 56.824732 1343.602799 935.854652 107.165294 769.342865 827.672151 422.546856 778.135762 708.587165 674.525396 794.564196 154.017356 542.082098
+88.451682 620.900021 631.047311 53.576675 1253.233126 1108.258102 102.161689 851.252408 860.412509 496.142709 778.135762 768.247655 715.955711 890.694149 140.381734 494.592262
+103.615823 555.688963 341.288901 37.601533 886.869590 1095.884649 63.702607 819.882796 789.237818 466.103585 769.476803 718.962902 874.771920 806.516862 99.079632 453.509785
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 917.583246 736.581050 5.211219 11.025124
+81.347760 454.097000 400.616290 49.334313 1046.848334 750.252852 99.120282 598.552754 676.070058 466.854563 688.659853 613.908562 733.908848 837.797244 130.698466 477.254703
+78.820404 449.978407 464.242766 48.737731 984.566533 781.598934 90.879050 581.125191 641.906206 378.239149 580.422865 622.987332 663.477312 763.792439 115.284284 454.263592
+80.596384 453.410568 382.560128 47.942289 880.763531 764.276100 93.724237 568.925897 624.112534 374.484259 568.877586 652.817577 711.812680 781.848594 114.098578 404.512335
+75.131829 455.469865 392.877935 46.550264 1093.254382 741.178987 97.746743 572.411410 641.906206 380.492084 578.979705 589.266186 649.667206 811.603103 128.722289 448.610040
+77.317651 518.621625 492.616735 46.550264 1049.290758 898.734292 100.297601 596.809997 677.493552 431.558593 685.773533 656.708478 688.335501 899.086447 124.769934 437.679840
+95.965445 614.035699 315.494384 39.324992 886.869590 1149.502946 66.645904 866.937214 746.533003 452.585980 801.226320 822.720276 692.478532 926.552148 93.941571 393.959038
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 138.677140 8.931571 5.630960 452.182703 662.576245 5.211219 11.025124
+106.279793 637.374393 666.299818 68.226078 1549.987591 1109.907896 107.165294 900.049583 870.376966 488.632928 926.781225 820.126341 727.003795 848.732662 175.557686 552.258491
+89.271365 559.121124 554.523577 58.945913 1167.748301 958.951765 96.667534 821.625552 655.429398 400.017514 850.293754 829.205112 686.954490 727.171504 148.681678 377.752190
+95.077455 552.256802 498.635456 52.980093 1073.714994 940.804034 90.780940 699.632615 769.308904 380.492084 755.045205 648.926675 630.333059 889.931213 129.710377 500.245814
+79.571780 465.766347 459.943680 50.328617 1109.130135 833.567438 100.101381 680.462297 718.063126 404.523382 749.272566 634.660036 700.764595 870.094874 142.160293 505.522462
+85.856018 551.570370 588.916266 50.792625 1109.130135 1056.289598 87.935753 798.969721 729.451077 441.321308 690.103012 708.587165 630.333059 901.883879 132.279408 441.825778
+97.604812 597.561326 336.129997 39.059845 856.339295 1142.078874 67.332673 947.104001 759.344447 480.372169 789.681041 820.126341 733.908848 834.745499 102.241515 439.941261
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 53.106737 7.758389 6.316212 163.459417 8.931571 5.630960 605.474870 713.438654 5.211219 11.025124
+85.787711 478.808559 469.401670 53.775535 960.142297 778.299347 90.584720 732.744984 657.564639 456.340870 662.682976 668.381183 760.148048 793.292636 139.788881 437.302936
+77.385958 442.427653 442.747335 47.809715 962.584721 782.423831 88.230082 603.781022 631.230003 374.484259 641.035578 586.672251 638.619122 868.314689 122.793757 432.403191
+79.776701 435.563331 342.148718 46.152543 891.754437 795.622181 86.169774 593.324485 500.268570 381.994040 636.706099 580.187415 670.382364 732.512057 118.446168 335.539002
+71.784789 450.664839 356.765611 50.593764 1028.530157 747.778162 94.901556 642.121659 539.414651 384.246974 603.513422 669.678150 662.096301 751.839772 134.453202 361.545341
+81.416067 527.545244 536.467415 52.516084 1062.724087 984.523569 101.671139 629.922366 666.105601 469.858476 639.592418 616.502496 722.860764 959.612713 124.572317 447.102426
+98.561109 566.671878 355.905794 35.215205 842.905966 1114.857277 65.174255 832.082089 748.668244 481.874125 727.625168 716.368968 849.913731 870.094874 95.720131 418.457763
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 67.921332 7.758389 6.316212 149.190833 8.931571 5.630960 753.242995 657.490004 5.211219 11.025124
+112.154190 651.789469 826.225825 84.267506 1757.593595 1118.156865 110.304811 964.531564 1044.043213 523.177920 997.496057 835.689947 869.247878 947.660047 190.774250 610.301624
+98.561109 587.951276 645.664204 57.355028 1247.127067 1023.293723 106.772854 819.882796 886.035398 424.799791 798.340000 761.762819 791.911289 890.694149 168.641067 539.066870
+97.399891 519.308058 555.383394 50.792625 1142.102854 948.228106 100.003271 751.915303 795.643540 386.499908 726.182008 704.696264 677.287417 860.685328 144.334088 486.300386
+90.842425 552.256802 506.373811 53.444101 1231.251314 922.656302 104.123887 802.455233 794.220046 458.593804 701.648291 687.835690 765.672090 880.775979 155.005444 493.461552
+93.096554 641.492986 636.206215 55.498995 1153.093760 1128.055627 99.022172 852.995164 766.461916 472.111410 785.351561 721.556837 729.765816 968.767947 136.626997 442.202681
+101.156773 620.213588 347.307621 38.662124 884.427166 1069.487948 73.023047 880.879264 784.967336 544.956284 804.112639 746.199213 970.061646 920.702971 100.265338 419.588474
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 38.292142 7.758389 6.316212 225.790598 8.931571 5.630960 562.663544 715.727462 5.211219 11.025124
+87.973533 508.325143 451.345508 49.732035 999.221074 793.972387 105.693645 713.574665 725.180595 487.881950 707.420930 650.223642 805.721395 883.573412 134.255585 442.956488
+79.298552 463.020619 462.523132 49.930895 968.690780 793.972387 89.603621 600.295510 635.500484 422.546856 626.603980 648.926675 779.482195 904.427000 121.608051 386.797873
+82.713899 489.791474 444.466970 46.749125 938.160485 826.143366 95.784545 568.925897 691.016743 448.831089 609.286062 690.429625 855.437773 856.362023 115.679520 405.643046
+76.088126 456.842729 442.747335 50.792625 1022.424098 765.100996 105.104986 654.320953 682.475781 474.364344 694.432492 655.411511 764.291079 878.487171 134.848438 445.594812
+80.049928 528.231676 533.887963 49.466887 1056.618029 969.675425 103.142788 647.349928 641.906206 451.084024 700.205131 663.193314 852.675752 940.539310 122.003286 419.211570
+98.834337 598.247759 322.372921 35.082631 883.205955 1129.705421 68.313772 746.687034 821.978176 633.571698 750.715725 744.902246 1069.494403 861.702576 92.360630 445.971716
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 60.955529 7.758389 6.316212 287.370801 8.931571 5.630960 1171.689181 748.279404 5.211219 11.025124
+112.837260 704.644747 662.860549 69.949537 1589.066368 1419.244229 145.526266 1035.984569 924.469731 833.331869 1050.892971 904.429207 1307.028212 844.409357 190.576633 577.887927
+99.858941 642.179418 674.038173 68.292365 1325.284622 1380.474075 134.243627 896.564070 894.576361 632.820720 895.031709 877.192897 1320.838317 902.392503 162.910153 545.474229
+105.801645 636.687961 601.813525 62.856840 1178.739207 1351.602684 122.862878 927.933683 856.853775 659.104953 944.099143 864.223225 1291.837096 868.823313 162.910153 523.613828
+104.640427 765.050779 662.000732 63.585996 1366.805823 1257.564439 156.612685 1081.296232 902.405577 878.390554 1037.904532 917.398879 1515.560799 982.500797 191.169486 551.881588
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 11.640348 683.429832 5.211219 11.025124
+103.820744 773.974397 495.196187 47.146846 1278.878574 1321.906396 162.793609 1124.865137 971.445028 1133.723103 1130.266762 838.283882 2630.036285 901.375255 137.022233 524.367635
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 48.397462 7.758389 6.316212 184.486803 8.931571 5.630960 1208.976465 623.412190 5.211219 11.025124
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 56.442474 7.758389 6.316212 361.717631 8.931571 5.630960 1293.218106 697.162683 5.211219 11.025124
+85.719404 523.426651 451.345508 51.256633 1017.539251 879.761664 126.591055 788.513184 714.504392 703.412660 711.750410 735.823476 1442.367242 871.366434 126.746112 508.160787
+79.913315 476.062830 381.700311 45.025665 910.072614 835.217232 105.889865 602.038266 645.464941 566.734649 577.536545 568.514711 1265.597896 809.314295 115.877137 401.874011
+72.946007 453.410568 404.915377 47.677141 990.672592 839.341716 113.149998 635.150635 611.301089 589.263991 586.195504 603.532824 1186.880297 827.879074 121.608051 422.980605
+74.926908 476.749262 442.747335 46.947985 1057.839240 915.232230 98.237293 657.806466 641.906206 471.360432 633.819779 612.611595 1191.023328 899.595071 109.355753 397.728073
+94.394386 518.621625 297.438221 34.353475 921.063520 977.099497 67.038343 880.879264 775.002879 570.489539 773.806283 699.508395 1164.784129 774.982169 80.503567 412.050405
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 71.649509 7.758389 6.316212 291.876670 8.931571 5.630960 936.917394 636.636416 5.211219 11.025124
+101.976456 589.324140 692.094335 67.629496 1392.451270 1098.359339 121.587450 1001.129445 979.274244 722.187112 1048.006651 792.890031 1280.789012 833.219627 155.598298 567.711533
+91.115653 547.451777 649.103473 59.078487 1199.499808 1052.165114 119.330922 849.509652 871.088713 558.473890 830.089516 820.126341 1179.975244 821.775585 145.519794 511.176014
+108.533922 687.483942 668.879270 67.231775 1416.875506 1219.619182 121.489340 959.303295 1114.506158 659.104953 1004.711856 814.938473 1195.166360 1051.673674 158.167328 556.027526
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 11.640348 751.076836 5.211219 11.025124
+110.651438 785.643744 736.804832 69.551816 1473.051248 1611.445204 171.525390 1163.205775 910.946540 971.511836 994.609737 955.010927 1747.570566 908.750304 170.024391 602.763555
+103.069367 579.714090 376.541408 40.253009 873.436260 1166.825781 90.388500 907.020608 903.117324 583.256166 856.066393 826.611177 1345.696506 939.522062 97.103455 436.172226
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 50.359660 7.758389 6.316212 226.541576 8.931571 5.630960 833.341605 711.658469 5.211219 11.025124
+102.113070 660.713087 664.580183 69.949537 1420.539141 1149.502946 126.885384 938.390220 910.234793 616.299202 998.939217 803.265768 1063.970361 917.396914 168.838684 565.450112
+87.631999 563.239717 622.449139 61.398528 1221.481620 1049.690423 112.953778 809.426258 773.579386 495.391731 811.328438 764.356753 992.157814 872.129370 146.705501 488.938710
+91.593801 562.553285 533.028146 56.095577 1030.972581 1034.842279 101.867359 790.255940 784.967336 472.862388 786.794721 788.999129 999.062867 886.370844 130.500848 438.433647
+81.347760 545.392481 497.775639 53.775535 1231.251314 981.223981 108.048283 793.741452 788.526071 481.123147 792.567361 801.968801 931.393351 885.607908 135.243673 458.786433
+87.290464 625.018614 605.252794 60.271651 1195.836172 1198.171863 105.595535 913.991633 801.337515 537.446503 832.975836 812.344538 903.773141 978.940429 137.219850 453.509785
+91.867029 618.840724 391.158301 36.673517 954.036238 1238.591810 67.823223 971.502589 805.607997 498.395643 968.632860 926.477649 928.631330 815.926408 102.636751 361.168438
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 42.903307 7.758389 6.316212 213.023971 8.931571 5.630960 615.141944 728.188752 5.211219 11.025124
+83.670196 482.927152 387.719032 51.389207 913.736249 783.248728 103.829557 645.607172 656.852892 540.450416 711.750410 725.447738 1086.066529 849.495598 127.141347 373.983155
+78.069027 455.469865 452.205325 51.124060 960.142297 782.423831 101.376809 600.295510 608.454101 441.321308 633.819779 587.969218 956.251541 813.128975 117.458079 380.013611
+80.664691 428.699010 416.093001 46.815411 908.851402 883.886148 96.275095 544.527310 621.977293 441.321308 623.717660 620.393398 914.821225 816.435032 120.224727 386.797873
+71.853096 449.978407 410.934097 51.124060 978.460474 822.018882 105.006876 605.523778 698.845960 491.636840 620.831340 642.441839 943.822446 826.607514 117.458079 410.165887
+76.224740 529.604540 430.709894 46.749125 957.699874 949.877899 110.893470 642.121659 673.223071 499.146621 681.444053 626.878233 916.202236 934.435821 115.877137 428.257253
+90.227663 528.918108 287.980232 37.071238 801.384765 1053.814907 67.234563 769.342865 760.767941 487.881950 796.896840 669.678150 1229.691623 1037.940823 94.929660 415.819439
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 47.416363 7.758389 6.316212 233.300379 8.931571 5.630960 954.870530 749.042340 5.211219 11.025124
+97.809733 617.467860 658.561463 61.067094 1361.920976 1110.732793 123.353428 896.564070 853.295040 650.093216 961.417061 794.186998 1200.690402 933.927197 150.855472 575.249602
+89.134751 504.206550 544.205770 56.559585 1135.996795 995.247228 102.456018 781.542159 777.138120 520.924985 779.578922 717.665935 1286.313054 949.185920 132.279408 503.637945
+85.309563 452.037704 483.158746 49.334313 997.999863 861.613932 99.807051 729.259471 670.376083 587.011057 752.158885 667.084216 1214.500507 922.228843 128.919906 434.664612
+78.615483 479.494991 490.037284 52.913806 1115.236194 863.263726 117.368724 622.951341 730.874571 466.103585 705.977771 629.472168 1120.591792 907.224432 130.105613 455.771206
+86.060939 563.239717 532.168328 55.764142 1143.324065 1104.958514 96.667534 842.538627 706.675176 553.968021 819.987397 687.835690 1073.637435 934.435821 131.093701 438.810550
+91.388880 537.155294 335.270180 36.938664 812.375671 990.297847 74.690916 915.734389 708.810416 561.477802 856.066393 674.866019 1185.499286 751.839772 89.791599 399.989494
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 70.275970 7.758389 6.316212 268.596349 8.931571 5.630960 1155.117055 665.627989 5.211219 11.025124
+71.784789 448.605543 367.943235 50.394904 938.160485 831.092747 108.931272 605.523778 610.589342 640.330501 729.068328 646.332741 1311.171243 825.081642 116.667608 397.728073
+74.243839 482.240720 400.616290 53.444101 739.102964 928.430580 110.501031 629.922366 561.478805 559.975846 662.682976 668.381183 1131.639876 819.995401 108.170047 367.575796
+92.345178 584.519115 543.345952 58.548192 1160.421031 1085.160989 119.134702 931.419195 699.557706 620.805071 866.168512 759.168885 1181.356255 916.125354 128.129436 477.631606
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 103.535227 7.758389 6.316212 311.402100 8.931571 5.630960 1360.887622 765.063999 5.211219 11.025124
+101.498308 624.332181 640.505301 62.326545 1311.851292 1489.360465 163.087939 1088.267256 924.469731 841.592628 977.291819 820.126341 1719.950356 969.785195 144.136470 605.401879
+97.331584 583.146251 358.485246 48.870305 945.487756 1092.585061 123.942087 846.024139 866.818231 712.424397 886.372750 731.932574 1511.417768 880.521667 87.222569 430.518674
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 67.823223 7.758389 6.316212 319.662859 8.931571 5.630960 1054.303287 759.723446 5.211219 11.025124
+104.025664 651.789469 704.991594 67.828357 1391.230058 1299.634180 130.711671 985.444638 962.904065 682.385274 1081.199327 795.483965 1342.934485 955.543721 184.055248 605.024976
+89.271365 549.511074 631.047311 62.923127 1146.987701 1150.327843 125.708066 750.172546 868.953472 589.263991 781.022082 774.732491 1425.795116 923.500403 149.867384 553.766105
+86.402474 526.172379 519.271070 53.510388 1115.236194 1123.106246 118.153603 783.284915 755.073966 580.252254 781.022082 744.902246 1342.934485 914.853793 136.824615 474.993282
+83.601889 571.476903 533.887963 54.637265 1260.560397 1048.040629 114.229207 866.937214 771.444145 640.330501 795.453680 764.356753 1282.170022 884.336348 139.196027 469.339730
+92.959940 620.213588 564.841383 56.824732 1221.481620 1095.059752 125.021296 819.882796 752.938725 662.108865 768.033643 751.387082 1394.031874 1038.703759 134.255585 523.236925
+97.058356 599.620623 339.569266 38.728410 903.966555 1010.920269 116.583845 900.049583 813.437213 822.818176 905.133828 725.447738 1819.383113 965.970515 104.612928 398.481880
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 69.392981 7.758389 6.316212 464.601629 8.931571 5.630960 1656.423872 830.676507 5.211219 11.025124
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 56.442474 7.758389 6.316212 377.488171 8.931571 5.630960 1543.181010 878.995795 5.211219 11.025124
+86.948929 526.172379 306.036394 54.239544 1071.272570 838.516819 129.534352 731.002228 748.668244 827.324044 819.987397 731.932574 1532.132926 684.701393 152.634032 503.637945
+79.913315 519.994490 393.737752 50.129756 1012.654404 838.516819 118.742262 622.951341 641.906206 667.365712 638.149258 699.508395 1380.221769 624.175126 128.327053 437.679840
+76.361354 465.079915 400.616290 55.366421 1062.724087 911.107746 120.312021 696.147103 709.522163 651.595172 701.648291 639.847905 1220.024549 649.352018 139.196027 478.762317
+78.205641 511.757304 477.140025 53.245240 1120.121042 1010.920269 115.112196 704.860884 682.475781 662.859843 698.761971 651.520610 1273.883959 747.516468 128.919906 464.816889
+96.443594 544.706048 319.793470 39.523853 896.639284 1100.009133 69.883530 861.708946 813.437213 629.816808 896.474869 734.526508 1162.022107 646.808898 96.312984 408.281370
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 53.302957 7.758389 6.316212 311.402100 8.931571 5.630960 1021.159035 646.045962 5.211219 11.025124
+95.077455 583.832683 680.056894 68.756373 1380.239152 1010.095372 131.202220 990.672907 899.558589 801.039811 1026.359254 691.726592 1526.608883 807.788422 171.012479 556.781333
+92.550098 504.206550 639.645483 61.531102 1198.278596 968.025631 112.953778 889.593045 845.465824 578.750298 866.168512 776.029458 1217.262528 813.891912 144.334088 541.328291
+95.145762 535.095998 551.944125 51.654355 1347.266434 892.960014 113.542438 954.075026 851.159799 637.326589 1006.155016 741.011344 1309.790233 963.681706 140.974587 507.030076
+11.606375 559.807556 15.418166 56.692159 6.375891 922.656302 124.334527 7.758389 6.316212 599.026706 8.931571 5.630960 1251.787791 712.675718 135.836526 11.025124
+102.249684 570.104039 655.982011 55.565281 1403.442176 1076.912020 113.542438 1159.720262 909.523046 611.042356 1010.484495 925.180682 1297.361138 869.077625 141.172205 567.334630
+89.612900 510.384439 326.672008 34.154615 835.578695 1006.795785 69.392981 762.371840 756.497460 608.038443 845.964274 648.926675 1220.024549 743.447475 91.767777 420.719184
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 52.616187 7.758389 6.316212 295.631560 8.931571 5.630960 888.582026 705.554980 5.211219 11.025124
+82.782206 482.240720 428.990259 50.063469 993.115016 760.976512 120.312021 670.005759 680.340540 630.567786 705.977771 597.047989 1235.215665 869.331937 117.655697 477.254703
+73.833997 442.427653 451.345508 48.141149 945.487756 775.824656 103.044678 568.925897 642.617953 517.921073 626.603980 581.484383 1135.782908 845.426605 112.122401 411.296598
+77.044423 423.893984 404.915377 48.671444 917.399885 792.322594 93.528017 561.954873 607.030608 521.675964 596.297623 576.296514 981.109730 800.159061 109.158135 397.728073
+68.164521 404.673883 384.279763 47.743428 972.354415 649.615432 104.516326 558.469360 595.642657 487.881950 606.399742 482.914878 1139.925939 893.491582 107.577193 391.697618
+74.243839 519.994490 510.672897 49.201740 1021.202887 883.886148 110.501031 715.317422 641.194459 575.746386 697.318812 655.411511 1066.732382 990.130159 134.848438 441.825778
+88.041840 557.748260 326.672008 37.535246 880.763531 983.698672 75.083355 947.104001 783.543842 629.065830 770.919963 739.714377 1203.452423 744.719035 103.031986 386.420969
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 79.302081 7.758389 6.316212 299.386450 8.931571 5.630960 1022.540045 644.011465 5.211219 11.025124
+106.962863 681.306053 957.777863 89.239023 1824.760243 1166.825781 137.285034 1137.064431 1073.936583 688.393098 1187.993155 836.986915 1392.650863 958.849777 176.743393 581.280058
+94.189465 598.934191 649.963290 57.222454 1313.072504 1100.834030 120.312021 849.509652 920.910997 594.520838 802.669479 696.914461 1253.168801 897.560574 164.095859 485.546579
+94.052851 589.324140 600.093890 49.466887 1221.481620 1003.496197 111.972679 818.140040 900.270336 593.018882 812.771598 731.932574 1358.125601 923.754715 140.579351 451.248364
+82.099137 544.019616 535.607597 57.288741 1205.605867 967.200734 119.134702 819.882796 809.878478 560.726824 724.738848 672.272084 1287.694064 994.453464 152.238796 448.610040
+78.478869 515.875897 500.355090 54.438404 1134.775583 922.656302 100.886260 783.284915 703.828188 482.625103 737.727287 589.266186 1113.686739 1093.126537 122.003286 364.183665
+87.085543 564.612582 358.485246 36.739804 870.993837 968.025631 96.176985 896.564070 775.002879 678.630383 850.293754 769.544622 1344.315495 828.133386 91.767777 354.007272
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 57.914122 7.758389 6.316212 293.378626 8.931571 5.630960 1235.215665 750.059588 5.211219 11.025124
+80.801305 498.028660 461.663315 49.201740 1044.405911 798.096872 136.500155 643.864416 712.369151 764.241885 714.636730 660.599380 1508.655747 860.685328 132.872261 424.488219
+72.604472 502.833685 373.102139 52.184650 640.184809 779.949140 122.666659 656.063709 507.386040 659.104953 684.330373 667.084216 1337.410443 791.003827 125.362788 256.012372
+63.861184 436.936196 330.971094 47.213133 695.139339 760.976512 106.184195 612.494803 495.286342 549.462153 604.956582 634.660036 1501.750694 755.908765 123.781846 234.151972
+71.648175 454.783433 416.093001 53.642962 1077.378629 779.949140 124.236417 666.520247 740.839027 662.108865 664.126135 617.799463 1562.515157 858.142207 126.548494 377.375286
+74.107225 547.451777 510.672897 46.152543 1021.202887 928.430580 114.327317 685.690565 616.995064 718.432222 635.262939 606.126759 1632.946693 830.422194 131.884172 360.037727
+95.487297 561.180421 317.214018 38.529550 829.472636 997.721919 107.557733 891.335802 760.056194 789.024162 834.418996 694.320526 1936.769006 798.378877 102.636751 339.308037
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 79.203971 7.758389 6.316212 486.379994 8.931571 5.630960 1413.366021 781.085658 5.211219 11.025124
+96.511901 601.679919 580.318094 56.692159 1244.684644 1025.768413 157.201345 882.622020 807.743237 843.845562 996.052897 695.617493 1819.383113 811.857415 155.203062 469.339730
+86.880622 507.638711 624.168773 56.824732 1057.839240 1015.869651 133.066308 722.288446 756.497460 718.432222 817.101078 703.399296 1742.046524 779.305473 133.860349 451.625268
+90.364276 528.231676 504.654177 57.156167 982.124109 1053.814907 138.266133 722.288446 711.657404 700.408748 762.261004 739.714377 1777.952797 846.952477 132.872261 402.250915
+81.279453 541.273887 459.943680 54.703552 1110.351347 844.291098 133.164418 765.857352 651.158916 722.187112 792.567361 686.538723 1880.147575 888.405341 134.453202 407.150660
+79.913315 532.350269 513.252349 52.582371 974.796839 1025.768413 132.085209 814.654527 612.724583 780.012425 830.089516 661.896347 1928.482943 1022.173477 136.034144 372.098638
+81.142840 490.477906 285.400780 35.215205 753.757505 861.613932 103.240898 717.060178 587.813441 857.363167 806.998959 624.284299 2316.546898 1007.932002 85.444010 301.994594
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 83.520807 7.758389 6.316212 487.130972 8.931571 5.630960 1570.801220 739.124170 5.211219 11.025124
+77.727493 493.223635 340.429084 48.671444 811.154459 890.485323 152.197740 696.147103 580.695972 970.760858 752.158885 690.429625 2130.110479 773.456296 115.877137 351.368948
+77.112730 417.716095 431.569711 45.025665 894.196861 869.038004 120.410131 675.234028 610.589342 776.257534 633.819779 647.629708 1997.533469 797.361629 105.403399 375.867672
+75.131829 393.690968 375.681590 44.296509 849.012025 821.193985 124.530747 661.291978 566.461033 755.230148 599.183943 622.987332 1992.009427 798.378877 105.601016 338.554230
+72.331244 432.817603 360.204880 46.351403 919.842308 851.715170 131.987099 711.831909 602.760126 717.681244 646.808217 646.332741 1931.244964 792.784012 108.762900 344.207782
+76.771195 465.766347 438.448249 48.074862 1002.884710 1010.095372 128.945692 753.658059 552.937842 754.479170 685.773533 603.532824 1873.242523 788.206395 108.565282 335.539002
+85.924325 526.858812 293.998952 33.359172 791.615071 839.341716 115.798965 926.190926 658.988132 860.367080 818.544238 638.550938 1845.622312 987.587038 78.922625 337.423520
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 85.384895 7.758389 6.316212 424.799791 8.931571 5.630960 1508.655747 659.270188 5.211219 11.025124
+89.339672 597.561326 527.869242 57.156167 1241.021009 1095.884649 144.054618 929.676439 775.714626 1119.454519 871.941151 763.059786 2302.736793 805.753926 150.855472 476.877800
+80.732998 509.011575 503.794359 44.627944 999.221074 1011.745166 129.926791 774.571134 786.390830 931.709998 791.124201 772.138556 2192.255952 799.904749 124.374699 451.625268
+86.334167 540.587455 520.130887 51.786928 1067.608935 1069.487948 157.495674 863.451702 777.849867 854.359255 763.704164 766.950688 2116.300373 788.969331 131.093701 449.740750
+85.377870 572.163336 575.159190 58.216757 1254.454338 1089.285474 158.084334 863.451702 937.992923 822.818176 794.010520 751.387082 2110.776331 922.483155 141.567440 488.938710
+86.197553 595.502030 654.262377 54.570978 1241.021009 1157.751915 136.402045 903.535095 701.692947 875.386641 824.316877 747.496180 2022.391658 956.815281 140.776969 433.156998
+89.066445 543.333184 339.569266 35.480353 878.321107 985.348466 124.923186 805.940746 757.920953 916.690436 817.101078 725.447738 2275.116583 869.586249 81.491655 341.569458
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 95.293995 7.758389 6.316212 513.415205 8.931571 5.630960 1639.851746 744.973347 5.211219 11.025124
+96.853436 638.060825 637.925849 59.940216 1283.763421 1210.545316 165.246357 954.075026 876.782688 1153.999511 1053.779290 773.435523 2696.324790 774.982169 154.610209 543.212808
+87.153850 527.545244 580.318094 55.631568 1040.742275 1112.382586 156.907015 807.683502 809.878478 930.959020 822.873717 809.750604 2248.877383 763.792439 131.291319 477.254703
+85.992632 527.545244 477.140025 51.654355 977.239262 1009.270475 144.348947 704.860884 672.511324 864.872948 704.534611 751.387082 2215.733130 750.568212 130.698466 407.527563
+73.833997 555.688963 500.355090 53.245240 1132.333159 939.154240 172.997039 793.741452 705.963429 907.678699 744.943086 628.175201 2161.873720 722.085263 122.200904 394.335942
+78.820404 525.485947 524.429973 48.671444 1061.502876 945.753415 129.436242 732.744984 725.180595 758.985038 731.954648 658.005446 2059.678942 794.055572 119.434256 386.420969
+83.670196 562.553285 289.699866 33.823180 822.145365 925.130993 122.862878 807.683502 705.251682 859.616102 853.180074 659.302413 1992.009427 889.931213 80.701185 325.362609
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 73.023047 7.758389 6.316212 403.772404 8.931571 5.630960 1539.037978 714.201590 5.211219 11.025124
+79.913315 484.986449 395.457387 52.582371 1000.442286 930.905271 170.348072 724.031203 665.393855 1016.570521 704.534611 660.599380 2382.835403 763.538127 129.512760 397.728073
+71.716482 442.427653 400.616290 47.279420 886.869590 807.170738 136.598265 642.121659 641.194459 835.584803 596.297623 551.654138 2215.733130 749.042340 107.181958 389.059294
+65.842085 434.190467 372.242321 45.423387 913.736249 835.217232 125.413736 619.465828 631.230003 711.673419 590.524984 648.926675 1866.337470 946.642799 109.158135 346.092299
+65.363936 456.156297 367.943235 47.279420 993.115016 847.590685 140.915101 654.320953 654.717651 782.265359 688.659853 629.472168 1940.912038 821.012649 112.912872 357.399403
+61.197213 502.833685 437.588432 47.942289 1021.202887 958.951765 125.021296 670.005759 590.660429 686.891142 593.411304 626.878233 1806.954018 847.969726 113.703343 307.271243
+84.216652 519.308058 293.139135 35.082631 935.718062 979.574187 108.931272 776.313890 750.091737 774.755578 740.613607 711.181099 1818.002102 783.120154 83.270215 317.070733
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 71.060849 7.758389 6.316212 484.127059 8.931571 5.630960 1348.458527 690.296258 5.211219 11.025124
+90.432583 631.196503 662.860549 69.816964 1364.363399 1113.207483 146.016816 997.643932 958.633583 808.549592 939.769664 781.217326 1974.056290 798.124565 166.467272 516.829566
+79.435166 535.782430 625.888408 58.548192 1256.896762 1034.842279 139.345342 798.969721 799.914021 722.938090 750.715725 690.429625 2036.201763 785.917587 141.369822 438.810550
+80.528077 540.587455 530.448694 51.853215 1181.181631 954.002384 134.047407 697.889859 772.155892 699.657770 723.295689 611.314627 1784.857850 764.555375 138.010321 430.895578
+75.951512 530.290973 484.018563 52.913806 1100.581653 892.960014 129.436242 797.226965 737.280293 683.136252 755.045205 633.363069 1671.614988 768.115743 140.776969 399.989494
+76.224740 594.815598 603.533159 46.749125 1156.757395 935.854652 126.100505 762.371840 752.226978 706.416572 724.738848 603.532824 1706.140250 871.620746 138.998410 410.542791
+79.913315 584.519115 313.774749 35.414066 881.984743 852.540067 104.712546 764.114596 760.056194 722.187112 798.340000 613.908562 1479.654526 883.827724 100.067720 353.630368
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 69.981640 7.758389 6.316212 409.780229 8.931571 5.630960 1305.647201 688.516073 5.211219 11.025124
+68.642670 660.713087 398.896656 50.394904 1000.442286 834.392335 156.318355 565.440385 656.141145 926.453151 615.058701 587.969218 1758.618650 762.012254 185.636190 363.052955
+59.421233 524.799515 404.915377 49.930895 789.172647 858.314345 128.749473 546.270066 557.208324 750.724279 560.218627 602.235857 1713.045303 747.770780 167.060125 306.140532
+71.306640 533.036701 386.859215 44.031362 1000.442286 845.940891 118.644153 563.697629 612.724583 645.587348 591.968144 551.654138 1674.377009 781.594282 148.484060 353.630368
+66.251927 522.053786 421.251904 47.213133 982.124109 864.913520 130.319231 629.922366 629.806509 650.093216 635.262939 611.314627 1708.902271 796.090068 140.974587 374.360059
+74.926908 618.840724 553.663759 54.968699 1117.678618 1020.819032 129.338132 776.313890 723.757102 759.736016 695.875652 574.999547 1635.708714 906.970120 138.998410 398.104977
+81.347760 673.068866 348.167439 36.739804 852.675660 978.749291 112.561338 952.332270 834.789620 758.985038 879.156951 677.459953 1588.754357 798.124565 106.391487 339.684940
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 86.365994 7.758389 6.316212 391.005777 8.931571 5.630960 1191.023328 694.619562 5.211219 11.025124
+96.102059 712.881933 727.346842 71.474136 1510.908814 1221.268976 149.254442 849.509652 918.775756 921.947283 1024.916094 733.229541 1730.998440 843.646421 200.852754 537.182353
+83.943424 622.959317 651.682925 59.409921 1263.002821 1118.156865 132.085209 786.770427 795.643540 673.373537 799.783160 737.120443 1619.136588 804.990990 163.898241 437.679840
+85.036335 544.019616 543.345952 53.178953 1117.678618 997.721919 127.375934 743.201521 764.326676 658.353975 726.182008 704.696264 1573.563241 817.197968 144.729323 395.843556
+77.044423 518.621625 485.738197 55.432708 1160.421031 842.641304 131.594660 833.824846 776.426373 666.614734 817.101078 663.193314 1533.513936 850.767158 137.417468 422.603701
+83.192048 566.671878 583.757363 51.588068 1111.572559 982.873775 120.312021 917.477145 714.504392 757.483082 832.975836 722.853804 1510.036757 859.413768 129.512760 392.074521
+83.943424 545.392481 320.653287 35.347779 809.933247 852.540067 90.879050 955.817782 826.960404 760.486994 871.941151 673.569052 1516.941810 867.551753 95.127278 345.715396
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 57.816012 7.758389 6.316212 361.717631 8.931571 5.630960 1073.637435 773.456296 5.211219 11.025124
+80.254849 496.655796 413.513549 49.268027 984.566533 797.271975 121.293120 924.448170 666.105601 754.479170 786.794721 693.023559 1540.418989 866.280193 138.800792 387.174776
+75.131829 456.156297 490.037284 50.063469 945.487756 755.202234 104.712546 732.744984 654.717651 587.762035 701.648291 574.999547 1385.745811 755.654453 130.698466 352.499658
+73.492462 429.385442 398.036839 46.218829 947.930179 696.634555 99.414611 791.998696 626.959521 549.462153 703.091451 586.672251 1322.219327 760.486382 118.841403 340.815651
+66.320234 449.291975 391.158301 50.461191 1005.327133 726.330843 112.953778 778.056646 654.005904 573.493451 753.602045 572.405612 1214.500507 799.650437 130.698466 347.976816
+67.344838 514.503032 427.270625 52.317224 982.124109 883.886148 108.833162 727.516715 630.518256 610.291378 710.307250 655.411511 1360.887622 885.607908 117.062844 371.721734
+89.817821 548.138209 303.456942 37.535246 814.818094 988.648053 90.486610 936.647464 776.426373 602.030619 843.077955 664.490281 1536.275957 927.315084 97.893926 344.207782
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 46.239044 7.758389 6.316212 357.962741 8.931571 5.630960 1155.117055 693.093690 5.211219 11.025124
+93.847930 600.307055 662.860549 66.171184 1316.736139 994.422331 129.141912 941.875732 866.106484 756.732104 1026.359254 712.478067 1696.473177 877.215611 156.784004 475.370186
+90.022742 507.638711 598.374256 58.879626 1183.624055 837.691923 109.618041 811.169015 826.248657 611.793334 812.771598 668.381183 1666.090945 898.832135 138.800792 448.610040
+86.539088 471.944237 489.177466 52.714945 1035.857428 833.567438 105.497425 772.828377 721.621861 584.007145 742.056766 641.144872 1599.802441 874.672490 131.291319 385.667162
+78.342255 472.630669 461.663315 54.305830 1029.751369 786.548315 111.187800 788.513184 725.892342 571.240517 794.010520 585.375284 1550.086062 870.094874 137.219850 399.612590
+81.620988 548.138209 520.990704 52.582371 1135.996795 969.675425 104.025777 826.853821 709.522163 611.793334 763.704164 634.660036 1439.605221 941.810870 128.129436 378.505997
+86.470781 541.960320 309.475663 37.402673 790.393859 994.422331 86.071665 903.535095 740.127281 679.381361 861.839033 654.114544 1563.896167 815.163472 84.851157 347.223010
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 53.401067 7.758389 6.316212 303.141341 8.931571 5.630960 1075.018445 699.197179 5.211219 11.025124
+75.063522 464.393483 392.018118 50.991486 899.081708 768.400584 109.618041 666.520247 612.724583 623.058005 733.397807 610.017660 1536.275957 808.551359 124.374699 353.630368
+71.033412 437.622628 441.887518 53.444101 913.736249 780.774037 101.769249 572.411410 601.336632 536.695525 574.650226 572.405612 1340.172464 786.426211 120.224727 355.137982
+73.082621 451.351272 340.429084 46.483977 800.163553 711.482699 90.388500 663.034734 597.777898 525.430854 629.490299 608.720693 1184.118276 861.193952 107.577193 326.116416
+68.574363 478.808559 373.102139 50.394904 996.778651 753.552440 100.297601 661.291978 603.471873 540.450416 669.898775 495.884550 1273.883959 802.702182 117.655697 358.153210
+70.418650 517.248761 453.065142 54.239544 985.787745 863.263726 100.297601 736.230496 622.689040 559.975846 677.114574 578.890448 1144.068971 868.060377 120.224727 315.563119
+85.036335 519.994490 315.494384 39.059845 881.984743 1027.418207 73.807927 839.053114 823.401670 529.936722 822.873717 607.423726 1243.501728 885.353596 90.582070 347.976816
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 71.943838 7.758389 6.316212 271.600261 8.931571 5.630960 1072.256424 703.774796 5.211219 11.025124
+90.159356 576.968361 677.477442 68.027217 1387.566423 946.578312 122.568549 933.161951 849.024558 671.871580 980.178139 739.714377 1458.939368 881.793228 157.179239 514.191242
+89.476286 590.697005 748.842273 80.157719 1414.433082 989.472950 103.044678 880.879264 970.733281 599.026706 877.713791 718.962902 1387.126821 940.539310 136.034144 499.115104
+92.891633 570.104039 527.869242 51.322920 1171.411937 986.998259 109.127492 852.995164 857.565521 519.423029 853.180074 724.150771 1286.313054 936.724629 150.460237 456.901916
+91.867029 651.103037 584.617180 58.614479 1449.848224 1038.141867 130.711671 957.560539 824.825163 596.022794 1019.143454 785.108228 1429.938147 1048.621929 158.957799 487.808000
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 49.771000 7.758389 6.316212 327.172640 8.931571 5.630960 1474.130484 870.603498 5.211219 11.025124
+100.815238 616.094995 396.317204 45.025665 1050.511970 1378.824281 112.757558 1077.810719 905.252565 752.977214 923.894905 811.047571 1881.528586 1058.540099 111.924783 421.849894
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 56.933023 7.758389 6.316212 326.421661 8.931571 5.630960 1072.256424 791.258139 5.211219 11.025124
+100.405397 589.324140 695.533604 64.978020 1357.036128 1034.017382 130.123011 995.901176 970.021534 713.926353 984.507618 794.186998 1621.898609 915.108106 160.538740 520.975504
+65.500550 540.587455 522.710339 61.067094 1099.360441 950.702796 102.456018 797.226965 777.849867 569.738561 840.191635 726.744705 1218.643539 855.853399 137.615086 391.697618
+85.377870 495.969363 478.859659 53.510388 905.187767 923.481199 103.535227 750.172546 710.233910 569.738561 698.761971 677.459953 1302.885180 814.400536 131.093701 365.314376
+78.478869 541.960320 567.420835 54.239544 1201.942231 855.839654 116.387625 776.313890 797.778781 530.687701 786.794721 689.132658 1338.791453 843.900733 136.626997 422.226798
+83.943424 584.519115 566.561018 53.245240 1160.421031 1078.561814 108.931272 884.364777 802.049262 529.936722 860.395873 704.696264 1237.977686 903.155439 123.188993 410.542791
+93.847930 528.918108 315.494384 39.059845 833.136271 1121.456452 78.124762 950.589514 814.148960 551.715087 919.565426 728.041673 1235.215665 789.986579 91.965394 338.554230
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 54.087836 7.758389 6.316212 316.658946 8.931571 5.630960 1051.541266 697.925619 5.211219 11.025124
+78.410562 476.749262 367.083418 46.483977 957.699874 793.147491 97.648633 654.320953 618.418558 659.104953 726.182008 643.738807 1139.925939 849.241286 107.379576 377.375286
+74.858601 447.232679 454.784777 47.411993 866.108990 728.805533 100.886260 577.639679 718.063126 460.095761 632.376619 622.987332 1280.789012 865.517257 113.900960 404.512335
+79.913315 434.190467 409.214463 46.483977 886.869590 817.069500 91.467709 621.208585 674.646564 496.142709 638.149258 590.563153 1192.404339 681.649648 102.834368 338.554230
+66.251927 446.546246 373.102139 51.124060 936.939273 746.128368 98.237293 577.639679 636.923978 495.391731 687.216693 571.108645 1153.736044 878.487171 120.027109 332.146871
+73.014314 514.503032 426.410808 48.804018 935.718062 968.025631 95.293995 713.574665 658.276385 478.119235 691.546172 654.114544 1156.498065 887.133781 104.217692 338.177327
+87.631999 523.426651 332.690728 36.076935 847.790813 1069.487948 76.751224 866.937214 796.355287 549.462153 775.249443 650.223642 1207.595454 605.356034 85.246392 352.122755
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 38.194032 7.758389 6.316212 259.584612 8.931571 5.630960 896.868089 611.713836 5.211219 11.025124
+90.364276 530.290973 621.589321 61.862536 1336.275528 967.200734 111.187800 920.962658 916.640515 694.400923 910.906467 731.932574 1434.081179 886.879468 153.424503 460.670951
+75.131829 489.105042 552.803942 59.409921 919.842308 904.508571 89.309291 805.940746 692.440237 456.340870 681.444053 715.072001 947.965478 871.620746 113.900960 361.545341
+82.850513 498.715092 511.532715 53.576675 1004.105922 860.789035 93.528017 703.118128 709.522163 497.644665 695.875652 739.714377 979.728720 853.564591 120.422345 338.554230
+76.497968 490.477906 527.009425 58.680765 1041.963487 919.356715 99.512721 769.342865 807.743237 524.679876 843.077955 622.987332 1162.022107 856.870647 130.896084 407.527563
+80.664691 550.197506 589.776083 56.161863 1149.430124 1065.363464 97.256194 683.947809 787.814324 549.462153 708.864090 647.629708 1160.641097 963.173082 122.991375 402.250915
+84.694800 570.104039 326.672008 36.540943 835.578695 1071.137742 71.551399 870.422727 837.636608 534.442591 809.885279 704.696264 1153.736044 930.875452 93.151101 346.092299
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 70.374080 7.758389 6.316212 275.355152 8.931571 5.630960 1000.443877 779.814097 5.211219 11.025124
+75.473363 507.638711 447.906239 50.262330 1012.654404 919.356715 102.063579 706.603640 700.269453 597.524750 760.817844 621.690365 1173.070192 866.280193 132.279408 347.976816
+69.257432 452.724136 451.345508 50.726338 954.036238 896.259602 91.271489 600.295510 641.906206 463.850651 547.230189 574.999547 1102.638655 866.788817 122.793757 366.068183
+71.033412 452.724136 401.476108 49.466887 875.878684 901.208983 94.607226 628.179610 651.158916 518.672051 628.047140 587.969218 963.156593 851.021470 104.612928 325.362609
+69.394046 515.189465 520.990704 65.839750 1142.102854 1051.340217 115.014086 696.147103 819.842935 472.111410 739.170447 643.738807 1030.826109 931.638388 144.531706 393.205232
+73.765690 607.171377 686.075615 12.213653 1297.196751 10.320343 113.934877 804.197990 958.633583 530.687701 726.182008 669.678150 1083.304508 1049.893489 141.962675 437.679840
+90.910732 610.603538 15.418166 46.152543 6.375891 1221.268976 83.324587 856.480677 6.316212 560.726824 922.451746 953.713960 925.869309 891.965709 96.510602 11.025124
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 11.640348 880.013043 5.211219 11.025124
+90.295969 592.069869 781.515328 75.186202 1613.490604 1052.165114 125.217516 990.672907 882.476663 593.769860 1003.268696 816.235440 1097.114613 960.121338 168.048213 568.842244
+90.637504 526.858812 676.617625 65.773463 1225.145255 994.422331 105.595535 811.169015 866.818231 465.352607 871.941151 765.653720 880.295962 949.694544 150.855472 454.640495
+86.880622 548.138209 594.075170 55.631568 1172.633148 939.154240 95.588325 788.513184 856.853775 452.585980 786.794721 704.696264 778.101184 891.202773 132.872261 436.549129
+78.137334 534.409566 547.645039 58.614479 1201.942231 884.711045 108.735052 809.426258 883.900157 430.807615 850.293754 689.132658 800.197353 640.959721 135.243673 444.464102
+82.030830 579.027657 621.589321 55.432708 1081.042264 1005.970888 101.965469 947.104001 813.437213 466.854563 827.203197 760.465852 851.294742 760.995006 138.603174 413.181115
+93.506396 635.315096 355.905794 39.590140 940.602909 1092.585061 64.781815 884.364777 923.757985 479.621191 897.918028 713.775034 681.430448 659.524500 96.312984 430.895578
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 11.640348 739.124170 5.211219 11.025124
+91.183960 580.400522 633.626763 63.585996 1294.754327 961.426456 109.421822 917.477145 908.811299 542.703350 1069.654049 755.277983 710.431669 916.125354 151.448326 488.938710
+82.508978 544.706048 547.645039 60.271651 1034.636216 897.084499 101.376809 826.853821 777.849867 404.523382 795.453680 725.447738 681.430448 882.556164 152.041179 418.080860
+87.290464 507.638711 489.177466 56.360724 1041.963487 873.162489 89.211181 804.197990 745.109509 404.523382 746.386246 696.914461 577.854660 894.763142 138.800792 406.396853
+79.161938 557.748260 510.672897 61.000807 1074.936205 889.660427 102.456018 797.226965 621.265546 408.278273 802.669479 616.502496 680.049438 875.435426 137.417468 444.841005
+83.260355 577.654793 592.355535 56.228150 1155.536183 1001.846403 110.893470 778.056646 616.283317 440.570330 843.077955 787.702162 717.336722 966.479139 128.722289 426.372736
+95.692218 606.484945 355.045977 39.722714 817.260518 1233.642429 66.547794 889.593045 715.927885 496.142709 867.611672 801.968801 634.476091 819.232464 95.720131 372.475541
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 11.640348 665.373677 5.211219 11.025124
+79.435166 512.443736 478.859659 53.444101 1027.308946 817.894397 103.142788 683.947809 580.695972 490.134884 786.794721 642.441839 696.621564 876.961299 141.962675 388.305487
+67.754679 449.978407 492.616735 52.582371 952.815027 767.575687 94.803446 619.465828 537.279410 371.480347 628.047140 691.726592 519.852218 842.120549 126.350876 370.967927
+78.205641 463.707051 397.177021 52.449797 933.275638 804.696047 94.312896 694.404347 495.998089 366.974478 643.921898 646.332741 533.662323 828.133386 122.991375 341.569458
+69.735581 453.410568 407.494828 52.913806 996.778651 771.700171 103.437117 628.179610 538.702904 406.025338 705.977771 829.205112 591.664765 882.556164 143.543617 380.013611
+73.082621 522.053786 488.317649 48.538871 1000.442286 991.947641 98.924062 704.860884 504.539052 427.803703 694.432492 744.902246 576.473649 961.647210 111.529548 402.250915
+96.238673 605.112080 336.129997 37.270099 828.251424 1233.642429 65.959134 947.104001 645.464941 489.383906 851.736914 884.974700 544.710407 941.302246 97.498690 391.320714
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 11.640348 736.581050 5.211219 11.025124
+97.878040 614.722131 681.776528 67.894644 1409.548235 1081.861402 120.410131 980.216370 698.134213 515.668139 1042.234012 905.726174 664.858322 920.448658 167.850596 564.696306
+87.085543 549.511074 606.112611 63.784856 1142.102854 961.426456 114.131097 891.335802 639.059219 393.258711 796.896840 796.780932 568.187586 872.892306 152.436414 480.646834
+86.470781 537.841727 552.803942 58.614479 1096.918018 1003.496197 107.557733 957.560539 619.130305 418.791966 863.282192 798.077900 561.282533 872.892306 140.184116 444.464102
+84.421573 532.350269 555.383394 61.199667 1211.711926 986.998259 121.293120 919.219901 631.230003 438.317396 854.623233 872.005028 532.281313 897.560574 155.005444 506.276269
+97.194970 702.585450 711.010315 65.442029 1364.363399 1458.014383 137.775584 1049.926619 771.444145 493.889774 996.052897 927.774616 615.141944 1090.074793 158.167328 579.018637
+106.484714 727.983441 465.102584 43.302206 1096.918018 1495.134743 101.867359 1107.437575 757.920953 530.687701 1124.494122 977.059369 581.997691 1022.936413 130.105613 560.550367
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 11.640348 817.197968 5.211219 11.025124
+102.181377 693.661832 746.262821 74.655907 1530.448202 1401.096497 134.047407 1048.183863 835.501367 534.442591 1003.268696 943.338222 667.620343 971.311068 180.498129 554.896816
+90.159356 657.280926 669.739087 68.888947 1271.551303 1244.366089 115.504636 783.284915 724.468848 412.033163 880.600110 935.556419 598.569817 924.771963 151.448326 529.267380
+91.183960 577.654793 539.046866 57.885323 1170.190725 1206.420832 116.191405 947.104001 626.247774 422.546856 895.031709 907.023142 548.853439 915.362418 136.626997 448.610040
+83.670196 598.247759 578.598459 61.133381 1258.117974 1130.530318 121.685560 1008.100470 681.764034 445.827177 925.338065 888.865601 561.282533 932.147013 163.503006 484.792772
+95.692218 740.339220 653.402559 64.646586 1419.317930 1605.670926 126.296725 1096.981038 761.479688 560.726824 1146.141520 929.071583 681.430448 1166.877030 180.893365 550.750878
+99.244179 629.137207 404.915377 42.705624 951.593815 1331.805159 93.822347 1022.042519 720.198367 421.795878 1026.359254 973.168467 550.234449 1075.070382 118.446168 535.297836
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 11.640348 760.995006 5.211219 11.025124
+88.588296 553.629667 441.887518 54.968699 1050.511970 981.223981 105.693645 778.056646 669.664336 400.768492 805.555799 796.780932 453.563713 921.211595 132.279408 443.710295
+74.243839 496.655796 495.196187 51.853215 1081.042264 997.721919 101.965469 710.089153 577.137237 383.495996 775.249443 730.635607 551.615460 865.262945 131.884172 417.327053
+74.038918 490.477906 455.644594 49.798322 982.124109 907.808158 94.116677 676.976784 534.432422 401.519470 733.397807 808.453637 421.800471 881.284603 121.212816 376.621479
+71.511561 529.604540 422.111721 55.764142 990.672592 963.076250 93.920457 727.516715 547.243867 354.207851 704.534611 766.950688 374.846114 951.220416 135.836526 377.752190
+78.615483 621.586453 418.672452 53.046379 989.451380 1214.669801 90.388500 680.462297 539.414651 394.009689 773.806283 805.859703 405.228345 1031.328710 119.039021 373.606252
+100.063862 674.441731 412.653732 43.235919 989.451380 1486.060877 107.950173 922.705414 728.027583 405.274360 890.702229 1108.053053 544.710407 1034.126143 117.655697 548.489457
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 11.640348 789.986579 5.211219 11.025124
+103.889050 698.466857 809.889297 82.212613 1614.711816 1558.651803 135.911496 1267.771149 771.444145 556.971934 1270.253266 1135.289363 608.236891 989.621535 197.098017 565.827016
+96.511901 666.890977 749.702090 68.756373 1435.193683 1438.216857 122.176109 1107.437575 834.077873 455.589892 1053.779290 1073.034939 609.617901 940.793622 174.964833 591.833355
+86.265860 632.569368 558.822663 66.635193 1187.287690 1448.115620 111.874569 971.502589 730.874571 439.068374 1052.336131 1031.531990 518.471207 1065.660836 159.945887 470.847344
+88.588296 651.103037 606.112611 67.298062 1422.981565 1481.111496 123.745867 1107.437575 806.319744 472.862388 1039.347692 1096.380348 615.141944 995.725024 172.791039 552.635395
+93.438089 724.551280 638.785666 69.220382 1260.560397 1709.607934 129.043802 1133.578919 662.546867 520.924985 977.291819 1152.149936 750.480974 1031.074398 174.767216 489.692517
+111.744349 727.297009 448.766056 51.124060 1076.157417 1680.736543 103.044678 1140.549944 798.490528 533.691613 1133.153081 1253.313375 488.088976 976.905932 135.836526 561.681078
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 94.999666 7.758389 6.316212 11.761844 8.931571 5.630960 550.234449 772.439048 5.211219 11.025124
+109.831754 868.702038 640.505301 78.500547 1724.620877 1898.509321 146.016816 1356.651717 928.740213 702.661682 1281.798544 1406.355501 729.765816 929.095268 199.074194 690.582061
+114.271705 836.439726 776.356425 80.157719 1702.639064 1660.939017 151.020421 1480.387410 883.900157 677.879405 1355.399696 1246.828540 970.061646 878.995795 220.614525 645.730549
+66.183620 443.114085 373.102139 34.883771 866.108990 501.958889 69.785421 736.230496 412.723700 344.445136 742.056766 551.654138 597.188807 381.307123 105.403399 190.431170
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 11.640348 568.989412 5.211219 11.025124
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 154.447680 8.931571 5.630960 1030.826109 734.037929 5.211219 11.025124
+70.828492 673.068866 307.756028 52.847519 769.633258 1582.573813 104.025777 842.538627 602.048379 781.514381 669.898775 892.756503 1127.496845 787.443459 103.229604 339.308037
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 1406.460969 666.899549 5.211219 11.025124
+90.979039 655.908062 500.355090 54.372117 1175.075572 1425.843404 144.643277 894.821314 625.536027 876.137620 864.725352 913.507977 1684.044082 805.245302 151.053090 504.391752
+94.462693 677.873892 577.738642 64.646586 1126.227100 1228.693048 134.145517 912.248876 708.098669 777.008512 926.781225 917.398879 1645.375788 837.034308 145.717412 493.838455
+61.128906 507.638711 347.307621 33.558033 765.969623 410.395334 76.653114 513.157698 416.994181 474.364344 577.536545 429.739224 981.109730 401.143462 77.539301 148.217983
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 1126.115834 442.087701 5.211219 11.025124
+75.746591 574.222632 477.999842 53.245240 1054.175605 1173.424956 110.108591 947.104001 594.930910 654.599085 840.191635 857.738389 1301.504170 737.852610 120.422345 436.549129
+76.907809 592.069869 349.887073 37.800394 750.093870 1114.857277 60.955529 825.111065 604.183620 522.426942 799.783160 842.174783 559.901523 708.098101 84.258303 340.815651
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 507.423123 649.606330 5.211219 11.025124
+103.001060 624.332181 672.318539 67.960931 1407.105812 1382.948766 122.862878 1018.557007 762.191435 494.640752 993.166577 929.071583 688.335501 888.151029 169.826773 553.766105
+80.664691 543.333184 626.748225 67.298062 1188.508902 10.320343 94.803446 774.571134 672.511324 383.495996 713.193570 777.326425 588.902744 794.055572 149.867384 474.993282
+83.943424 504.206550 531.308511 58.813339 1092.033170 1078.561814 91.762039 685.690565 607.030608 412.033163 616.501861 787.702162 602.712849 791.766764 141.567440 378.129093
+63.383035 519.994490 408.354646 59.078487 918.621096 883.061251 92.350698 760.629084 550.090854 377.488171 727.625168 598.344956 370.703082 836.271371 121.212816 333.277582
+79.503473 537.155294 489.177466 58.283044 1063.945299 1007.620682 74.102256 844.281383 577.137237 374.484259 749.272566 646.332741 392.799251 866.025881 105.798634 368.329603
+87.973533 537.155294 333.550546 41.578747 800.163553 1100.834030 48.888011 891.335802 588.525188 323.417749 873.384311 739.714377 311.319630 706.826540 86.036863 312.547891
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 11.640348 647.317522 5.211219 11.025124
+90.637504 570.790471 657.701646 66.966627 1261.781609 1095.884649 93.626127 891.335802 730.162824 446.578155 1052.336131 770.841589 430.086535 859.413768 145.915030 487.431096
+92.003643 525.485947 573.439556 60.735659 1033.415005 1022.468826 86.071665 746.687034 594.219163 358.713719 808.442119 737.120443 376.227124 876.961299 130.698466 412.050405
+78.342255 515.189465 527.869242 59.078487 958.921085 958.951765 87.445203 697.889859 593.507416 305.394275 778.135762 712.478067 434.229566 853.818903 126.153258 360.414631
+77.522572 502.147253 437.588432 58.084183 1051.733181 928.430580 83.717027 753.658059 579.272478 351.954916 822.873717 676.162986 366.560051 885.862220 119.039021 367.952700
+77.727493 579.714090 613.850966 58.614479 1187.287690 1051.340217 96.961864 873.908239 663.258614 415.788054 864.725352 685.241756 590.283754 926.297835 141.962675 426.372736
+94.257772 651.789469 373.961956 43.302206 835.578695 1036.492073 60.366870 907.020608 658.276385 435.313484 895.031709 812.344538 533.662323 755.145829 93.743954 374.360059
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 11.640348 699.960115 5.211219 11.025124
+73.697383 448.605543 404.915377 51.588068 922.284732 759.326718 85.090566 640.378903 535.144169 374.484259 716.079889 628.175201 450.801692 841.103300 121.015198 376.244576
+66.866689 432.131171 433.289346 49.599461 929.612003 743.653677 81.754829 553.241091 500.268570 329.425574 625.160820 604.829792 428.705524 818.215216 114.691431 314.055505
+71.716482 417.716095 392.018118 50.991486 845.348389 789.847903 81.754829 561.954873 496.709836 303.892319 584.752345 602.235857 431.467545 823.810081 116.865226 324.231899
+65.090709 423.207552 379.120859 52.582371 973.575627 771.700171 88.230082 572.411410 528.738447 328.674596 675.671414 645.035774 488.088976 845.680917 127.931818 349.861334
+70.282036 493.223635 429.850077 51.720642 952.815027 940.804034 81.951049 778.056646 518.062243 353.456873 710.307250 639.847905 431.467545 888.913965 115.679520 321.216671
+81.620988 522.740219 250.148273 43.832501 736.660540 1191.572688 43.491966 805.940746 471.798694 348.200026 759.374684 783.811261 383.132177 735.309490 80.503567 249.228110
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 11.640348 685.718641 5.211219 11.025124
+78.410562 569.417607 571.719921 65.839750 1134.775583 1009.270475 92.350698 851.252408 622.689040 424.799791 975.848659 739.714377 407.990366 891.457085 143.543617 409.412080
+81.620988 522.740219 576.878825 63.188274 1131.111948 966.375837 100.101381 805.940746 641.906206 372.231325 845.964274 695.617493 566.806576 828.642010 144.531706 413.558018
+84.284959 482.240720 440.167884 55.764142 951.593815 916.882024 85.188675 821.625552 565.749287 317.409924 792.567361 702.102329 349.987925 858.650831 118.050932 369.083410
+72.467858 498.028660 514.112166 61.067094 1118.899830 961.426456 65.664805 772.828377 598.489645 324.168727 805.555799 748.793147 399.704303 886.879468 108.565282 381.144321
+91.867029 655.908062 623.308956 62.856840 1217.817985 1184.148616 101.573029 1018.557007 696.710719 430.056637 974.405500 804.562735 608.236891 1014.544115 142.753146 442.579585
+94.189465 651.789469 453.065142 43.832501 952.815027 1216.319594 66.645904 992.415663 788.526071 494.640752 980.178139 833.096013 568.187586 903.918376 105.996252 393.582135
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 11.640348 764.555375 5.211219 11.025124
+95.009148 605.112080 664.580183 69.220382 1289.869480 1272.412583 115.406526 919.219901 697.422466 482.625103 1065.324569 873.301995 699.383585 928.840956 164.293477 451.248364
+85.377870 516.562329 630.187494 62.856840 1155.536183 1088.460577 90.290390 807.683502 677.493552 351.954916 867.611672 778.623392 554.377481 886.879468 136.429379 464.816889
+82.167444 552.256802 520.130887 55.432708 1089.590747 1104.958514 95.490215 786.770427 637.635725 367.725456 799.783160 711.181099 544.710407 989.367223 132.674643 413.934922
+77.590879 548.138209 510.672897 60.139077 1176.296784 1013.394960 100.297601 741.458765 616.283317 363.219588 796.896840 720.259870 489.469987 906.970120 143.543617 438.433647
+81.142840 607.171377 553.663759 58.349331 1122.563465 981.223981 93.331797 821.625552 595.642657 384.997952 871.941151 788.999129 576.473649 961.901522 132.872261 409.035177
+91.525494 579.027657 331.830911 39.921574 853.896872 947.403209 72.434388 905.277851 598.489645 436.815440 884.929590 782.514294 461.849776 798.887501 92.953483 379.636707
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 11.640348 676.563407 5.211219 11.025124
+77.044423 503.520117 437.588432 52.317224 991.893804 803.046253 92.252588 694.404347 558.631817 416.539032 742.056766 655.411511 470.135839 863.991384 130.698466 357.776306
+71.853096 451.351272 427.270625 53.576675 1033.415005 757.676924 87.935753 633.407878 542.261638 335.433398 755.045205 549.060203 503.280092 829.150634 126.548494 380.390514
+71.033412 475.376398 455.644594 51.322920 1144.545277 791.497697 85.090566 713.574665 564.325793 364.721544 678.557734 655.411511 438.372598 862.211200 123.188993 392.451425
+65.773778 496.655796 423.831356 53.046379 774.518105 777.474450 95.588325 647.349928 543.685132 336.184377 737.727287 624.284299 485.326955 894.254518 130.500848 375.490769
+71.989710 595.502030 497.775639 52.714945 1070.051358 936.679549 100.297601 798.969721 560.055311 440.570330 718.966209 822.720276 598.569817 1010.220810 124.374699 402.627818
+95.760525 544.706048 398.036839 41.247312 925.948367 1036.492073 63.113947 884.364777 703.116441 469.858476 1003.268696 814.938473 660.715291 849.749910 101.846280 401.497108
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 11.640348 740.904355 5.211219 11.025124
+93.369782 607.171377 543.345952 69.087808 547.372713 894.609808 106.282305 990.672907 231.939984 537.446503 988.837098 625.581266 670.382364 943.082430 160.736358 185.908329
+85.036335 518.621625 577.738642 61.000807 976.018051 774.999759 96.863754 725.773959 668.240842 375.986215 824.316877 669.678150 573.711628 839.068804 133.267496 455.394302
+87.222157 511.070871 543.345952 56.493298 1171.411937 801.396459 90.388500 755.400815 623.400787 389.503821 781.022082 665.787249 496.375039 857.887895 138.207939 406.773756
+74.790294 523.426651 537.327232 61.398528 1181.181631 765.100996 98.825952 785.027671 630.518256 377.488171 825.760037 663.193314 633.095080 849.749910 142.357911 428.634157
+83.601889 555.688963 533.028146 55.366421 1037.078640 917.706921 81.264279 882.622020 584.966453 499.897599 828.646356 716.368968 471.516850 921.211595 121.608051 365.691279
+86.675702 590.697005 306.036394 43.633641 873.436260 981.223981 58.895221 833.824846 614.148077 509.660314 921.008586 715.072001 483.945945 747.516468 87.617805 348.730623
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 11.640348 705.300668 5.211219 11.025124
+65.637164 469.198508 400.616290 51.190346 978.460474 596.822031 86.954654 591.581729 493.151101 459.344782 646.808217 594.454054 540.567376 831.185131 121.608051 282.772518
+70.760185 421.148256 416.952818 54.239544 878.321107 706.533317 81.558609 736.230496 493.151101 348.200026 708.864090 654.114544 492.232008 782.865842 113.505725 335.539002
+76.293047 470.571373 398.896656 48.671444 925.948367 677.661926 78.320982 689.176078 523.044472 331.678508 681.444053 669.678150 472.897860 841.357612 117.458079 352.499658
+72.604472 484.986449 468.541852 49.268027 1004.105922 710.657802 94.509116 704.860884 528.026700 384.246974 716.079889 639.847905 546.091418 868.823313 133.860349 393.959038
+70.896799 553.629667 533.887963 53.245240 1027.308946 954.827281 96.471314 868.679970 616.995064 433.060550 822.873717 708.587165 637.238112 1024.207973 115.877137 392.074521
+101.976456 600.993487 402.335925 42.042755 935.718062 1101.658927 67.136453 1022.042519 708.098669 469.107498 1019.143454 835.689947 686.954490 1034.889079 93.151101 412.427308
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 500.518071 769.387304 5.211219 11.025124
+98.697723 576.281929 756.580628 69.352955 1385.124000 1005.145991 107.263404 1004.614957 742.262521 506.656402 1095.630926 873.301995 710.431669 942.828118 172.988656 537.559256
+91.115653 559.121124 618.150052 66.966627 1205.605867 960.601559 100.886260 861.708946 658.988132 363.970566 877.713791 752.684049 624.809017 905.444248 145.519794 465.947599
+92.959940 519.994490 524.429973 62.061397 1115.236194 877.286973 91.369599 880.879264 602.760126 391.005777 848.850594 779.920359 577.854660 862.719824 126.350876 417.703956
+84.353266 523.426651 566.561018 59.211061 1176.296784 796.447078 99.807051 844.281383 626.247774 403.021426 915.235946 698.211428 664.858322 860.685328 135.046055 458.786433
+83.943424 602.366352 579.458277 55.764142 1078.599841 911.932643 99.807051 948.846757 634.788737 456.340870 873.384311 756.574950 671.763375 941.302246 126.350876 415.442536
+93.916237 587.951276 336.989815 37.800394 914.957461 1028.243104 75.966344 908.763364 646.888435 524.679876 929.667545 744.902246 872.009899 890.694149 98.091543 374.360059
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 854.056763 804.228054 5.211219 11.025124
+78.752097 482.927152 452.205325 51.389207 999.221074 698.284348 100.788150 771.085621 538.702904 481.874125 778.135762 634.660036 780.863205 829.913570 140.974587 376.244576
+69.189125 430.758306 457.364228 49.798322 925.948367 732.930018 88.131973 685.690565 544.396879 393.258711 720.409369 642.441839 635.857101 821.266961 123.979464 381.898128
+79.503473 452.724136 442.747335 48.074862 886.869590 758.501821 88.230082 682.205053 505.962546 376.737193 632.376619 681.350855 616.522954 848.732662 121.015198 365.691279
+70.350343 429.385442 436.728615 50.593764 988.230168 681.786411 97.256194 692.661590 550.802601 370.729368 724.738848 530.902663 709.050659 874.418178 127.141347 395.843556
+71.443254 537.155294 556.243211 51.124060 1032.193793 848.415582 97.158084 776.313890 542.261638 448.831089 742.056766 645.035774 750.480974 957.069593 115.877137 372.098638
+91.525494 590.010572 335.270180 39.192419 878.321107 1067.013258 67.430783 913.991633 646.888435 526.181832 948.428623 782.514294 820.912510 969.785195 89.396364 149.348693
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 154.447680 8.931571 5.630960 562.663544 748.788028 5.211219 11.025124
+96.921743 568.731175 672.318539 69.352955 1350.930069 979.574187 107.753953 966.274320 725.892342 511.162270 1079.756167 790.296097 852.675752 934.181509 183.067160 522.106215
+87.631999 532.350269 599.234073 62.525405 1164.084666 863.263726 98.727842 814.654527 632.653496 436.815440 867.611672 725.447738 859.580805 896.289014 145.519794 462.932372
+92.071950 513.130168 502.934542 54.836126 1089.590747 796.447078 91.173380 805.940746 567.884527 406.776317 776.692602 659.302413 779.482195 928.078020 138.405557 425.242026
+83.123741 502.833685 496.056004 59.807643 1161.642242 848.415582 101.376809 852.995164 604.183620 445.076199 858.952713 699.508395 843.008679 894.000206 140.579351 414.311825
+85.651098 630.510071 572.579739 54.305830 1106.687712 926.780787 94.705336 955.817782 622.689040 471.360432 830.089516 617.799463 751.861985 956.306657 134.650820 406.773756
+91.115653 605.112080 298.298039 35.480353 831.915060 1029.068001 61.936628 941.875732 568.596274 487.130972 922.451746 661.896347 698.002574 879.250107 92.953483 324.608802
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 49.967220 7.758389 6.316212 147.688877 8.931571 5.630960 793.292300 760.486382 5.211219 11.025124
+81.484374 470.571373 429.850077 52.913806 1021.202887 753.552440 93.331797 685.690565 567.172780 506.656402 726.182008 647.629708 782.244216 876.198363 133.860349 428.257253
+71.853096 428.699010 473.700756 49.864609 939.381697 713.957389 84.109466 657.806466 505.962546 406.025338 652.580857 607.423726 703.526617 833.473939 115.877137 393.959038
+77.181037 447.919111 422.111721 46.417690 860.002931 721.381461 87.641423 647.349928 437.634842 464.601629 639.592418 585.375284 703.526617 842.629173 116.667608 344.584685
+67.822986 493.223635 402.335925 53.974396 967.469568 667.763164 100.690040 647.349928 529.450194 444.325221 648.251377 641.144872 750.480974 825.335954 121.212816 387.928583
+77.317651 580.400522 453.065142 49.732035 991.893804 911.107746 95.097776 744.944278 499.556823 512.664227 760.817844 691.726592 808.483416 962.155834 115.284284 333.277582
+91.252267 600.307055 361.924515 39.656427 845.348389 1096.709546 67.430783 938.390220 681.764034 644.085391 895.031709 790.296097 1059.827329 725.137008 96.708219 340.815651
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 73.121157 7.758389 6.316212 279.861020 8.931571 5.630960 684.192469 683.429832 5.211219 11.025124
+100.132169 633.942232 777.216242 79.030842 1381.460364 1079.386711 128.062703 1159.720262 668.240842 762.739929 1011.927655 909.617076 1175.832213 915.616730 178.521952 513.814339
+88.315068 597.561326 728.206659 82.013752 1198.278596 1078.561814 107.950173 978.473613 683.899274 629.816808 933.997024 769.544622 945.203457 741.412979 140.184116 481.023738
+102.454605 712.195501 598.374256 62.923127 1096.918018 1224.568563 122.862878 1049.926619 714.504392 689.895055 1060.995090 922.586748 1253.168801 931.638388 164.491095 493.838455
+98.356188 769.169372 698.972873 66.038611 1466.945189 1435.742167 152.884509 1236.401537 766.461916 866.374904 1257.264827 942.041255 1456.177347 1029.802838 191.762339 546.604939
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 11.640348 789.986579 5.211219 11.025124
+91.525494 814.473896 508.953263 50.991486 1164.084666 1462.138867 161.518180 1257.314612 848.312812 1170.521029 1242.833229 1038.016826 2525.079486 948.931608 138.010321 500.999621
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 50.359660 7.758389 6.316212 192.747562 8.931571 5.630960 1168.927160 696.908371 5.211219 11.025124
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 66.155354 7.758389 6.316212 353.456873 8.931571 5.630960 1478.273515 823.810081 5.211219 11.025124
+85.172949 534.409566 539.046866 57.819036 1050.511970 1070.312845 125.119406 800.712477 652.582410 852.106321 799.783160 725.447738 1478.273515 1010.475122 133.069878 471.224248
+82.850513 446.546246 424.691173 51.654355 903.966555 868.213107 109.029382 666.520247 558.631817 578.750298 720.409369 654.114544 1279.408001 939.013438 117.260461 376.244576
+68.710976 431.444738 414.373366 53.178953 977.239262 774.174862 112.659448 574.154166 567.172780 574.244429 652.580857 563.326842 1197.928381 943.591055 120.619962 404.512335
+74.038918 460.274890 483.158746 46.285116 950.372603 895.434705 101.278700 682.205053 508.809533 553.217043 740.613607 560.732908 1309.790233 973.345564 110.936695 365.314376
+86.675702 544.706048 318.933652 35.148918 896.639284 1043.916145 66.645904 920.962658 634.788737 569.738561 925.338065 686.538723 1026.683077 880.267355 87.815422 325.362609
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 50.163440 7.758389 6.316212 222.786686 8.931571 5.630960 869.247878 813.637599 5.211219 11.025124
+95.487297 568.044743 680.056894 69.816964 1365.584611 1060.414082 118.840372 1002.872201 701.692947 605.785509 1089.858286 750.090114 1046.017224 946.134175 163.700624 490.823228
+85.582791 540.587455 603.533159 64.845447 1096.918018 938.329343 99.414611 856.480677 619.130305 440.570330 857.509553 699.508395 876.152931 916.633978 142.753146 450.494557
+81.757602 469.198508 481.439111 49.466887 1023.645310 850.890273 93.724237 729.259471 601.336632 420.293922 731.954648 655.411511 989.395793 996.996584 123.584228 430.518674
+83.738503 512.443736 521.850521 59.873930 1134.775583 895.434705 101.965469 811.169015 607.030608 450.333045 870.497992 628.175201 881.676973 932.147013 133.860349 430.141771
+87.836920 544.019616 617.290235 57.288741 1181.181631 1011.745166 100.395710 943.618489 656.141145 496.142709 895.031709 668.381183 885.820004 996.996584 129.710377 388.682390
+94.121158 562.553285 351.606708 37.734107 868.551413 1098.359339 68.019442 910.506120 641.194459 500.648577 933.997024 711.181099 1028.064088 942.573806 86.629716 357.776306
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 49.869110 7.758389 6.316212 219.031795 8.931571 5.630960 800.197353 781.848594 5.211219 11.025124
+79.366859 459.588458 441.887518 50.328617 976.018051 743.653677 101.474919 664.777491 566.461033 452.585980 752.158885 628.175201 805.721395 924.263339 131.686554 387.928583
+74.653680 445.859814 453.924959 49.466887 951.593815 685.085998 95.490215 565.440385 523.756219 440.570330 629.490299 545.169302 906.535162 890.694149 119.434256 382.651935
+79.571780 472.630669 385.999397 45.821108 932.054426 760.151615 95.784545 629.922366 550.090854 391.005777 661.239816 538.684466 826.436552 693.348002 112.517636 334.785195
+69.394046 463.020619 392.877935 49.599461 1026.087734 731.280224 101.671139 649.092684 528.026700 458.593804 703.091451 558.138974 874.771920 743.956099 121.410433 370.967927
+69.120818 527.545244 443.607152 48.406297 892.975649 861.613932 92.546918 725.773959 534.432422 428.554681 739.170447 572.405612 800.197353 977.923181 117.062844 375.867672
+89.817821 585.205547 314.634566 36.540943 834.357483 949.053003 63.800716 964.531564 592.083922 538.197481 938.326504 702.102329 881.676973 934.690133 89.791599 364.183665
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 56.246254 7.758389 6.316212 231.047445 8.931571 5.630960 641.381143 734.800865 5.211219 11.025124
+86.539088 627.077910 667.159635 69.286668 1352.151281 977.924394 109.912371 1015.071494 692.440237 566.734649 1000.382377 750.090114 1068.113392 922.991779 175.360069 437.302936
+93.847930 533.723133 607.832246 64.050004 1150.651336 1021.643929 106.870964 846.024139 675.358311 496.893687 896.474869 721.556837 971.442656 913.836545 155.993533 450.494557
+92.345178 555.002531 580.318094 56.493298 1189.730113 936.679549 109.127492 910.506120 676.070058 511.162270 884.929590 756.574950 1026.683077 944.353991 156.981622 442.579585
+97.468198 744.457813 716.169218 72.799874 1431.530047 1066.188361 129.534352 1093.495525 836.213114 590.765947 1098.517245 848.659619 1133.020887 1160.264917 167.257743 486.300386
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 12.783567 7.758389 6.316212 11.761844 8.931571 5.630960 11.640348 866.025881 5.211219 11.025124
+103.410902 695.721128 467.682035 47.146846 1041.963487 1361.501447 126.885384 1133.578919 790.661312 847.600452 1108.619364 852.550521 1614.993556 919.177098 119.829492 488.938710
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 56.540584 7.758389 6.316212 249.821897 8.931571 5.630960 865.104847 763.792439 5.211219 11.025124
+98.970951 625.018614 707.571046 67.563209 1411.990659 1027.418207 126.591055 1077.810719 695.287225 643.334413 1104.289885 769.544622 1266.978907 1022.427789 172.593421 529.267380
+89.203058 491.850770 599.234073 59.012200 1048.069546 910.282849 99.807051 804.197990 619.130305 475.866300 897.918028 672.272084 943.822446 827.370450 127.734200 424.865122
+85.992632 552.256802 556.243211 53.444101 994.336227 921.006508 103.731447 859.966189 618.418558 457.842826 864.725352 700.805362 1097.114613 817.197968 142.950764 433.533902
+82.508978 603.052784 537.327232 59.476208 1137.218007 926.780787 113.051888 852.995164 647.600182 536.695525 841.634795 642.441839 1036.350151 850.512846 138.207939 425.995833
+85.309563 621.586453 582.897546 55.366421 1103.024076 1042.266351 110.697250 826.853821 631.230003 535.193569 847.407434 700.805362 996.300846 919.685722 139.393645 442.202681
+96.580208 647.670876 400.616290 38.662124 908.851402 1123.106246 68.804322 1105.694819 693.151984 602.781597 1024.916094 778.623392 1008.729940 913.836545 95.720131 381.898128
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 57.129243 7.758389 6.316212 258.833634 8.931571 5.630960 974.204677 738.869858 5.211219 11.025124
+80.664691 484.986449 438.448249 50.991486 974.796839 790.672800 116.485735 680.462297 555.784830 596.022794 724.738848 593.157087 1170.308171 1018.867420 122.003286 400.366397
+70.418650 514.503032 490.897101 52.184650 934.496850 778.299347 112.267009 708.346397 537.279410 602.030619 655.467176 573.702580 1168.927160 931.638388 109.355753 393.205232
+82.987127 585.205547 501.214908 56.493298 1099.360441 906.983261 123.353428 882.622020 651.158916 685.389186 977.291819 683.944789 1177.213223 1071.255701 127.734200 407.904466
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 105.595535 7.758389 6.316212 342.943179 8.931571 5.630960 1358.125601 844.917981 5.211219 11.025124
+88.315068 617.467860 533.887963 55.764142 1175.075572 1277.361964 154.159938 962.788807 612.724583 809.300570 857.509553 683.944789 1573.563241 944.353991 130.698466 484.415869
+91.320574 572.163336 316.354201 37.137525 790.393859 958.951765 115.406526 962.788807 670.376083 683.136252 895.031709 660.599380 1326.362359 808.297047 90.977306 338.931133
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 77.045553 7.758389 6.316212 273.853196 8.931571 5.630960 1019.778024 762.012254 5.211219 11.025124
+97.878040 603.052784 651.682925 65.110594 1241.021009 1106.608308 121.783669 983.701882 717.351379 702.661682 1146.141520 753.981016 1266.978907 999.539705 171.407715 517.960277
+86.060939 537.841727 597.514439 63.917430 1070.051358 981.223981 108.244503 870.422727 649.023676 571.991495 871.941151 713.775034 1228.310612 927.315084 143.543617 425.242026
+85.856018 535.782430 515.831801 55.034986 1084.705900 919.356715 104.712546 870.422727 624.824280 548.711175 856.066393 696.914461 1324.981348 831.693755 128.722289 423.734412
+78.888710 501.460821 504.654177 55.764142 1219.039196 894.609808 115.308416 765.857352 639.770966 569.738561 825.760037 616.502496 1262.835875 838.814492 141.765058 420.342281
+86.470781 561.180421 570.000287 54.902412 1107.908924 937.504446 109.225602 961.046051 544.396879 616.299202 908.020147 647.629708 1249.025770 990.638783 127.536582 411.673501
+96.853436 582.459818 332.690728 38.595837 905.187767 905.333467 119.821471 981.959126 632.653496 781.514381 997.496057 661.896347 1650.899830 969.022259 93.743954 372.475541
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 66.155354 7.758389 6.316212 378.239149 8.931571 5.630960 1576.325262 827.370450 5.211219 11.025124
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 61.838518 7.758389 6.316212 385.748930 8.931571 5.630960 1417.509053 807.788422 5.211219 11.025124
+87.495385 540.587455 490.897101 57.686462 1090.811959 872.337592 118.938482 807.683502 593.507416 741.712542 876.270631 626.878233 1323.600338 928.332332 146.705501 436.549129
+78.137334 485.672881 398.896656 50.461191 979.681686 773.349965 107.557733 760.629084 513.791762 581.003232 731.954648 650.223642 1287.694064 884.336348 126.548494 358.530113
+71.511561 513.130168 410.934097 55.565281 1017.539251 784.898522 124.236417 746.687034 564.325793 648.591260 794.010520 620.393398 1152.355034 896.543326 122.200904 422.603701
+80.869612 585.205547 603.533159 57.222454 1115.236194 1027.418207 118.644153 882.622020 629.094762 629.065830 834.418996 702.102329 1145.449981 1036.414951 120.619962 416.196343
+103.137674 635.315096 428.130442 44.031362 824.587789 1104.958514 67.136453 1142.292700 668.952589 629.816808 1084.085647 757.871917 1237.977686 1122.118110 89.396364 311.794084
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 79.498301 7.758389 6.316212 331.678508 8.931571 5.630960 1033.588130 858.650831 5.211219 11.025124
+88.383375 620.213588 698.113056 71.341562 1503.581543 1047.215732 140.915101 957.560539 776.426373 774.004600 1101.403565 792.890031 1608.088504 994.199152 169.036302 553.012298
+95.555604 557.061828 616.430418 63.784856 1237.357373 980.399084 102.652238 980.216370 632.653496 638.077567 933.997024 770.841589 1159.260086 943.591055 140.381734 465.947599
+103.001060 555.002531 580.318094 57.487601 1311.851292 929.255477 122.077999 1035.984569 657.564639 613.295290 1147.584680 804.562735 1302.885180 1043.281376 134.650820 479.139220
+11.606375 529.604540 15.418166 63.254561 6.375891 897.084499 114.915976 7.758389 6.316212 579.501276 8.931571 5.630960 1255.930823 853.310279 134.848438 11.025124
+96.716822 508.325143 571.719921 55.697855 1289.869480 1031.542691 119.625252 1145.778212 655.429398 707.918529 1065.324569 795.483965 1619.136588 1127.712975 116.074755 497.230586
+88.861524 572.163336 395.457387 37.932968 857.560507 903.683674 106.184195 837.310358 634.076990 698.155813 990.280258 602.235857 1511.417768 821.521273 90.582070 344.207782
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 57.914122 7.758389 6.316212 298.635472 8.931571 5.630960 1104.019666 791.258139 5.211219 11.025124
+80.391463 478.122127 461.663315 56.758446 1024.866522 773.349965 120.213911 690.918834 592.083922 716.930266 815.657918 656.708478 1399.555916 940.030686 122.596140 419.588474
+74.175532 441.741221 469.401670 52.582371 951.593815 798.921769 109.323712 640.378903 525.179712 541.201394 740.613607 634.660036 1278.026991 870.603498 111.727165 389.436197
+75.336750 421.834688 418.672452 48.936592 949.151391 727.980636 100.101381 629.922366 530.161941 545.707262 711.750410 593.157087 1192.404339 892.220021 110.936695 365.314376
+69.257432 461.647754 445.326787 53.974396 946.708968 726.330843 119.527142 670.005759 553.649589 621.556049 744.943086 578.890448 1304.266191 966.224827 119.829492 406.773756
+68.642670 491.850770 484.018563 49.135453 891.754437 863.263726 104.516326 666.520247 510.233027 577.248342 760.817844 552.951105 1253.168801 1095.669658 112.715254 350.992044
+93.847930 592.756301 331.830911 34.486049 831.915060 939.979137 92.546918 884.364777 613.436330 706.416572 918.122266 656.708478 1173.070192 867.551753 91.174923 316.316926
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 61.249859 7.758389 6.316212 299.386450 8.931571 5.630960 1050.160256 758.451886 5.211219 11.025124
+94.804227 600.993487 713.589766 69.485529 1383.902788 1047.215732 132.870089 1093.495525 729.451077 758.985038 1205.311073 765.653720 1435.462189 967.242075 178.126717 493.084648
+83.738503 548.138209 681.776528 62.923127 1167.748301 921.006508 120.115801 880.879264 614.148077 605.785509 860.395873 658.005446 1251.787791 900.358007 148.484060 463.309275
+89.203058 509.698007 535.607597 55.764142 1044.405911 828.618057 108.244503 896.564070 616.995064 562.228780 848.850594 622.987332 1177.213223 957.323905 130.105613 432.026288
+72.467858 533.723133 473.700756 58.680765 1129.890736 826.143366 117.564944 814.654527 561.478805 601.279641 882.043270 651.520610 1149.593013 880.521667 133.860349 410.542791
+75.200136 574.909064 545.925404 52.449797 1099.360441 988.648053 110.108591 940.132976 553.649589 595.271816 880.600110 637.253971 1144.068971 917.651226 133.069878 346.469203
+90.910732 524.799515 313.774749 35.480353 866.108990 996.897022 86.267884 900.049583 582.119466 596.022794 922.451746 646.332741 1179.975244 772.184736 91.372541 339.308037
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 55.167045 7.758389 6.316212 267.845371 8.931571 5.630960 996.300846 699.197179 5.211219 11.025124
+66.593461 425.953281 393.737752 54.106970 852.675660 767.575687 109.814261 661.291978 528.738447 692.898967 705.977771 639.847905 1239.358696 848.986974 121.410433 315.940022
+76.634581 412.224637 431.569711 57.951610 919.842308 727.155740 99.807051 690.918834 535.144169 531.438679 652.580857 585.375284 1197.928381 856.107711 119.039021 357.776306
+70.418650 430.758306 394.597570 47.478280 853.896872 755.202234 99.414611 689.176078 488.880620 584.007145 655.467176 542.575368 1083.304508 887.133781 102.241515 349.484430
+63.587956 412.224637 395.457387 48.804018 1011.433192 671.887648 106.086085 589.838972 523.756219 476.617278 606.399742 567.217744 970.061646 926.552148 113.308107 376.244576
+68.984204 444.486950 460.803497 47.544567 1030.972581 813.769913 97.746743 670.005759 488.880620 581.754210 717.523049 550.357171 1068.113392 960.629962 116.865226 380.013611
+87.563692 530.290973 307.756028 38.529550 791.615071 1003.496197 91.467709 868.679970 600.624885 711.673419 959.973901 606.126759 1156.498065 819.741089 91.767777 346.469203
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 83.030258 7.758389 6.316212 285.117867 8.931571 5.630960 1150.974023 717.507646 5.211219 11.025124
+95.077455 588.637708 737.664649 69.021521 1361.920976 1043.916145 144.545167 1086.524500 713.792645 820.565241 1095.630926 707.290198 1555.610104 996.233648 183.660013 537.936160
+91.662108 564.612582 706.711228 75.915358 1371.690670 1101.658927 136.402045 913.991633 681.052287 710.171463 899.361188 742.308311 1566.658188 1005.388882 161.329211 520.975504
+86.470781 505.579414 483.158746 56.095577 978.460474 1003.496197 127.375934 786.770427 567.172780 722.187112 871.941151 734.526508 1663.328924 1138.394081 146.310265 450.494557
+79.025324 525.485947 418.672452 55.896716 1070.051358 928.430580 133.066308 795.484208 537.991157 767.245797 818.544238 748.793147 1804.191997 1178.575384 146.507883 427.126543
+78.205641 578.341225 495.196187 57.288741 1013.875616 981.223981 124.432637 840.795871 523.756219 742.463520 825.760037 703.399296 1587.373346 1106.859388 139.986498 395.466652
+76.224740 526.172379 280.241877 37.468959 800.163553 836.867026 99.905161 819.882796 486.033632 752.226236 928.224385 731.932574 2074.870058 1065.152212 96.510602 292.948911
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 60.268760 7.758389 6.316212 376.737193 8.931571 5.630960 1371.935706 717.253334 5.211219 11.025124
+81.211146 533.723133 421.251904 51.985789 982.124109 897.084499 150.137432 797.226965 561.478805 851.355343 830.089516 705.993231 1829.050186 911.293425 139.393645 431.649384
+70.077115 455.469865 412.653732 51.985789 852.675660 852.540067 120.312021 638.636147 473.933935 688.393098 692.989332 634.660036 1659.185893 923.500403 122.793757 352.122755
+77.317651 470.571373 392.018118 54.703552 795.278706 949.877899 133.262528 727.516715 515.927003 606.536487 760.817844 634.660036 1620.517598 844.155045 116.272373 346.092299
+72.194630 504.206550 425.550990 54.239544 940.602909 898.734292 128.062703 732.744984 523.756219 627.563873 691.546172 628.175201 1436.843200 826.098890 121.805669 376.998383
+68.574363 498.028660 520.130887 51.720642 913.736249 968.025631 120.312021 711.831909 485.321885 671.871580 755.045205 587.969218 1498.988673 889.168277 118.841403 371.721734
+83.601889 546.078913 321.513104 38.927271 801.384765 950.702796 100.788150 849.509652 535.144169 659.104953 945.542303 577.593481 1585.992336 843.137797 90.977306 325.362609
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 67.627003 7.758389 6.316212 407.527295 8.931571 5.630960 1323.600338 683.429832 5.211219 11.025124
+93.096554 629.137207 644.804387 64.978020 1211.711926 1136.304596 154.552377 1124.865137 658.988132 870.880773 1141.812040 722.853804 1859.432418 844.409357 175.360069 413.934922
+86.948929 548.824641 559.682480 59.675069 1117.678618 986.173363 130.319231 858.223433 597.777898 703.412660 935.440184 711.181099 1769.666734 853.055966 148.681678 397.351170
+88.724910 522.053786 494.336370 53.178953 977.239262 925.130993 133.262528 791.998696 619.842052 713.175375 799.783160 718.962902 1630.184672 838.814492 133.860349 422.603701
+74.448759 533.036701 508.953263 59.873930 1122.563465 892.135117 144.152727 800.712477 568.596274 689.895055 806.998959 676.162986 1685.425093 894.254518 154.017356 426.749639
+81.689295 541.960320 490.897101 50.063469 1026.087734 879.761664 134.047407 912.248876 549.379108 743.965477 835.862156 678.756920 1747.570566 1043.281376 137.219850 367.575796
+86.744009 579.027657 338.709449 37.800394 779.402953 821.193985 106.772854 886.107533 563.614046 770.249710 900.804348 669.678150 1815.240081 814.400536 100.067720 346.092299
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 88.131973 7.758389 6.316212 564.481714 8.931571 5.630960 1508.655747 732.003433 5.211219 11.025124
+77.249344 504.206550 421.251904 50.063469 960.142297 844.291098 148.960113 774.571134 559.343564 905.425765 801.226320 687.835690 2092.823195 845.935229 129.710377 382.275031
+79.093631 438.995492 419.532270 48.804018 853.896872 756.027131 135.617166 621.208585 450.446286 828.075022 718.966209 613.908562 1939.531027 815.926408 106.786723 349.484430
+74.858601 415.656798 379.980677 43.302206 795.278706 669.412957 110.599140 673.491272 530.161941 746.218411 701.648291 606.126759 1891.195659 800.667685 102.241515 341.192554
+74.995215 473.317101 379.980677 50.328617 873.436260 771.700171 152.393959 765.857352 482.474898 742.463520 746.386246 658.005446 1905.005765 809.822919 120.224727 359.660824
+74.721987 513.816600 438.448249 47.080559 901.524131 795.622181 124.138307 734.487740 466.816465 792.779052 753.602045 600.938890 1772.428755 976.142996 112.715254 355.514886
+81.347760 564.612582 274.223156 35.878074 605.990879 843.466201 101.671139 840.795871 456.852009 827.324044 840.191635 654.114544 1826.288165 743.956099 76.155977 218.322026
+11.606375 12.721107 15.418166 12.213653 6.375891 10.320343 94.411006 7.758389 6.316212 400.017514 8.931571 5.630960 1602.564462 721.068015 5.211219 11.025124
diff --git a/imputegap/env/default_values.toml b/imputegap/env/default_values.toml
index a7112c7e..e422936d 100644
--- a/imputegap/env/default_values.toml
+++ b/imputegap/env/default_values.toml
@@ -209,17 +209,111 @@ max_concurrent_trials = -1
[forecaster-naive]
strategy = "mean"
window_length = 10
-sp = 5
+sp = 7
[forecaster-exp-smoothing]
trend = "additive"
seasonal = "additive"
-sp = 5
+sp = 7
[forecaster-prophet]
seasonality_mode = "additive"
n_changepoints = 25
+[forecaster-nbeats]
+input_chunk_length = 12
+output_chunk_length = 12
+num_blocks = 3
+layer_widths = 20
+random_state = 42
+n_epochs = 10
+pl_trainer_kwargs = "cpu"
+
+[forecaster-xgboost]
+lags = 7
+
+[forecaster-lightgbm]
+lags = 7
+verbose = -1
+
+[forecaster-lstm]
+input_chunk_length = 12
+model = 'LSTM'
+random_state = 42
+n_epochs = 10
+pl_trainer_kwargs = "cpu"
+
+[forecaster-deepar]
+input_chunk_length = 12
+model = 'RNN'
+random_state = 42
+n_epochs = 10
+pl_trainer_kwargs = "cpu"
+
+[forecaster-transformer]
+input_chunk_length = 12
+output_chunk_length = 12
+random_state = 42
+n_epochs = 10
+pl_trainer_kwargs = "cpu"
+
+[forecaster-hw-add]
+sp = 7
+trend = "add"
+seasonal = "additive"
+
+[forecaster-arima]
+sp = 7
+suppress_warnings = true
+start_p = 1
+start_q = 1
+max_p = 3
+max_q = 3
+start_P = 0
+seasonal = true
+d = 1
+D = 1
+
+[forecaster-sf-arima]
+sp= 7
+start_p = 1
+start_q = 1
+max_p = 3
+max_q = 3
+start_P = 0
+seasonal = true
+d = 1
+D = 1
+
+[forecaster-bats]
+sp= 7
+use_trend = true
+use_box_cox = false
+
+
+[forecaster-ets]
+sp= 7
+auto = true
+
+[forecaster-croston]
+smoothing = 0.1
+
+[forecaster-theta]
+sp = 7
+deseasonalize = false
+
+[forecaster-unobs]
+level = true
+trend = true
+sp = 7
+
+[forecaster-rnn]
+input_size = 20
+inference_input_size = 12
+
+
+
+
diff --git a/imputegap/assets/shap/.gitkeep b/imputegap/imputegap_assets/.gitkeep
similarity index 100%
rename from imputegap/assets/shap/.gitkeep
rename to imputegap/imputegap_assets/.gitkeep
diff --git a/imputegap/imputegap_assets/25_03_18_18_16_42_plot.jpg b/imputegap/imputegap_assets/25_03_18_18_16_42_plot.jpg
new file mode 100644
index 00000000..e0560938
Binary files /dev/null and b/imputegap/imputegap_assets/25_03_18_18_16_42_plot.jpg differ
diff --git a/imputegap/imputegap_assets/shap/.gitkeep b/imputegap/imputegap_assets/shap/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/imputegap/recovery/__pycache__/benchmark.cpython-312.pyc b/imputegap/recovery/__pycache__/benchmark.cpython-312.pyc
index 05509dd6..6eb0c663 100644
Binary files a/imputegap/recovery/__pycache__/benchmark.cpython-312.pyc and b/imputegap/recovery/__pycache__/benchmark.cpython-312.pyc differ
diff --git a/imputegap/recovery/__pycache__/downstream.cpython-312.pyc b/imputegap/recovery/__pycache__/downstream.cpython-312.pyc
index eb4b020f..86f4b575 100644
Binary files a/imputegap/recovery/__pycache__/downstream.cpython-312.pyc and b/imputegap/recovery/__pycache__/downstream.cpython-312.pyc differ
diff --git a/imputegap/recovery/__pycache__/explainer.cpython-312.pyc b/imputegap/recovery/__pycache__/explainer.cpython-312.pyc
index b7935b13..1d5bfae7 100644
Binary files a/imputegap/recovery/__pycache__/explainer.cpython-312.pyc and b/imputegap/recovery/__pycache__/explainer.cpython-312.pyc differ
diff --git a/imputegap/recovery/__pycache__/imputation.cpython-312.pyc b/imputegap/recovery/__pycache__/imputation.cpython-312.pyc
index abdad1dd..71bb4bdf 100644
Binary files a/imputegap/recovery/__pycache__/imputation.cpython-312.pyc and b/imputegap/recovery/__pycache__/imputation.cpython-312.pyc differ
diff --git a/imputegap/recovery/__pycache__/manager.cpython-312.pyc b/imputegap/recovery/__pycache__/manager.cpython-312.pyc
index 42f5d3ef..f1f5f278 100644
Binary files a/imputegap/recovery/__pycache__/manager.cpython-312.pyc and b/imputegap/recovery/__pycache__/manager.cpython-312.pyc differ
diff --git a/imputegap/recovery/benchmark.py b/imputegap/recovery/benchmark.py
index 71b47e64..e25cc722 100644
--- a/imputegap/recovery/benchmark.py
+++ b/imputegap/recovery/benchmark.py
@@ -121,10 +121,13 @@ def average_runs_by_names(self, data):
# Add scores and times
for score_key, v in level_value["scores"].items():
+ if v is None :
+ v = 0
merger["scores"][score_key] = (merger["scores"].get(score_key, 0) + v / count)
for time_key, time_value in level_value["times"].items():
- merger["times"][time_key] = (
- merger["times"].get(time_key, 0) + time_value / count)
+ if time_value is None :
+ time_value = 0
+ merger["times"][time_key] = (merger["times"].get(time_key, 0) + time_value / count)
results_avg.append(merged_dict)
diff --git a/imputegap/recovery/downstream.py b/imputegap/recovery/downstream.py
index 2bb55136..eafbddca 100644
--- a/imputegap/recovery/downstream.py
+++ b/imputegap/recovery/downstream.py
@@ -6,10 +6,15 @@
from imputegap.tools import utils
-from sktime.forecasting.exp_smoothing import ExponentialSmoothing
-from sktime.forecasting.fbprophet import Prophet
-from sktime.forecasting.naive import NaiveForecaster
-from sktime.performance_metrics.forecasting import mean_absolute_error, mean_squared_error
+from darts import TimeSeries
+from darts.metrics import mae as darts_mae, mse as darts_mse
+from sklearn.metrics import mean_absolute_error, mean_squared_error
+from sktime.forecasting.base import ForecastingHorizon
+
+
+
+
+
class Downstream:
"""
@@ -19,6 +24,10 @@ class Downstream:
the performance of downstream forecasting models. It computes metrics such as Mean Absolute
Error (MAE) and Mean Squared Error (MSE) and visualizes the results for better interpretability.
+ ImputeGAP downstream models for forcasting : ['arima', 'bats', 'croston', 'deepar', 'ets', 'exp-smoothing',
+ 'hw-add', 'lightgbm', 'lstm', 'naive', 'nbeats', 'prophet', 'sf-arima', 'theta',
+ 'transformer', 'unobs', 'xgboost']
+
Attributes
----------
input_data : numpy.ndarray
@@ -64,11 +73,16 @@ def __init__(self, input_data, recov_data, incomp_data, downstream):
self.incomp_data = incomp_data
self.downstream = downstream
self.split = 0.8
+ self.sktime_models = utils.list_of_downstreams_sktime()
def downstream_analysis(self):
"""
Compute a set of evaluation metrics with a downstream analysis
+ ImputeGAP downstream models for forcasting : ['arima', 'bats', 'croston', 'deepar', 'ets', 'exp-smoothing',
+ 'hw-add', 'lightgbm', 'lstm', 'naive', 'nbeats', 'prophet', 'sf-arima', 'theta',
+ 'transformer', 'unobs', 'xgboost']
+
Returns
-------
dict or None
@@ -78,6 +92,9 @@ def downstream_analysis(self):
model = self.downstream.get("model", "naive")
params = self.downstream.get("params", None)
plots = self.downstream.get("plots", True)
+
+ model = model.lower()
+ evaluator = evaluator.lower()
if not params:
print("\n\t\t\t\tThe params for model of downstream analysis are empty or missing. Default ones loaded...")
@@ -85,9 +102,9 @@ def downstream_analysis(self):
params = utils.load_parameters(query="default", algorithm=loader)
print("\n\t\t\t\tDownstream analysis launched for <", evaluator, "> on the model <", model,
- "> with parameters :\n\t\t\t\t\t", params)
+ "> with parameters :\n\t\t\t\t\t", params, " \n\n")
- if evaluator == "forecast" or evaluator == "forecaster"or evaluator == "forecasting":
+ if evaluator in ["forecast", "forecaster", "forecasting"]:
y_train_all, y_test_all, y_pred_all = [], [], []
mae, mse = [], []
@@ -106,35 +123,63 @@ def downstream_analysis(self):
y_train = data[:, :train_len]
y_test = data[:, train_len:]
- y_pred = np.zeros_like(y_test)
- # Forecast for each series
- for series_idx in range(data.shape[0]):
- series_train = y_train[series_idx, :]
+ forecaster = utils.config_forecaster(model, params)
+
+ if model in self.sktime_models:
+ # --- SKTIME APPROACH ---
+ y_pred = np.zeros_like(y_test)
+
+ for series_idx in range(data.shape[0]):
+ series_train = y_train[series_idx, :]
+ fh = np.arange(1, y_test.shape[1] + 1) # Forecast horizon
- # Initialize and fit the forecasting model
- if model == "prophet":
- forecaster = Prophet(**params)
- elif model == "exp-smoothing":
- forecaster = ExponentialSmoothing(**params)
- else:
- forecaster = NaiveForecaster(**params)
+ if model == "ltsf" or model == "rnn":
+ forecaster.fit(series_train, fh=ForecastingHorizon(fh))
+ series_pred = forecaster.predict()
+ else:
+ forecaster.fit(series_train)
+ series_pred = forecaster.predict(fh=fh)
- forecaster.fit(series_train)
- fh = np.arange(1, y_test.shape[1] + 1) # Forecast horizon
- series_pred = forecaster.predict(fh=fh)
- series_pred = series_pred.ravel()
+ y_pred[series_idx, :] = series_pred.ravel()
- # Store predictions
- y_pred[series_idx, :] = series_pred
+ # Compute metrics using sktime
+ mae.append(mean_absolute_error(y_test, y_pred))
+ mse.append(mean_squared_error(y_test, y_pred))
+
+ else:
+ # --- DARTS APPROACH ---
+ # Convert entire matrix to a Darts multivariate TimeSeries object
+ y_train_ts = TimeSeries.from_values(y_train.T) # Shape: (time_steps, n_series)
+ y_test_ts = TimeSeries.from_values(y_test.T) # Shape: (time_steps, n_series)
- # Validate shapes
- if y_pred.shape != y_test.shape:
- raise ValueError(f"Shape mismatch: y_pred={y_pred.shape}, y_test={y_test.shape}, y_train={y_train.shape}")
+ # Fit the model
+ forecaster.fit(y_train_ts)
- # Calculate metrics
- mae.append(mean_absolute_error(y_test, y_pred))
- mse.append(mean_squared_error(y_test, y_pred))
+ # Predict for the entire series at once
+ forecast_horizon = y_test.shape[1]
+ y_pred_ts = forecaster.predict(n=forecast_horizon)
+
+ # Convert predictions back to NumPy
+ y_pred = y_pred_ts.values().T # Shape: (n_series, time_steps)
+
+
+
+ # Ensure y_pred_ts has the same components as y_test_ts
+ y_pred_ts = y_pred_ts.with_columns_renamed(y_pred_ts.components, y_test_ts.components)
+
+ # Shift time index to match
+ if y_pred_ts.start_time() != y_test_ts.start_time():
+ y_pred_ts = y_pred_ts.shift(y_test_ts.start_time() - y_pred_ts.start_time())
+
+ # Compute metrics safely
+ mae_score = darts_mae(y_test_ts, y_pred_ts)
+ mse_score = darts_mse(y_test_ts, y_pred_ts)
+
+
+ # Compute metrics using Darts
+ mae.append(mae_score)
+ mse.append(mse_score)
# Store for plotting
y_train_all.append(y_train)
@@ -143,14 +188,14 @@ def downstream_analysis(self):
if plots:
# Global plot with all rows and columns
- self._plot_downstream(y_train_all, y_test_all, y_pred_all, self.incomp_data)
+ self._plot_downstream(y_train_all, y_test_all, y_pred_all, self.incomp_data, model, evaluator)
# Save metrics in a dictionary
metrics = {"DOWNSTREAM-RECOV-MAE": mae[0], "DOWNSTREAM-INPUT-MAE": mae[1],
"DOWNSTREAM-MEANI-MAE": mae[2], "DOWNSTREAM-RECOV-MSE": mse[0],
"DOWNSTREAM-INPUT-MSE": mse[1], "DOWNSTREAM-MEANI-MSE": mse[2]}
- print("\t\t\t\tDownstream analysis complete. " + "*" * 58 + "\n")
+ print("\n\t\t\t\tDownstream analysis complete. " + "*" * 58 + "\n")
return metrics
else:
@@ -159,7 +204,7 @@ def downstream_analysis(self):
return None
@staticmethod
- def _plot_downstream(y_train, y_test, y_pred, incomp_data, title="Ground Truth vs Predictions", max_series=4, save_path="./imputegap/assets"):
+ def _plot_downstream(y_train, y_test, y_pred, incomp_data, model=None, type=None, title="Ground Truth vs Predictions", max_series=1, save_path="./imputegap_assets"):
"""
Plot ground truth vs. predictions for contaminated series (series with NaN values).
@@ -173,6 +218,10 @@ def _plot_downstream(y_train, y_test, y_pred, incomp_data, title="Ground Truth v
Forecasted data array of shape (n_series, test_len).
incomp_data : np.ndarray
Incomplete data array of shape (n_series, total_len), used to identify contaminated series.
+ model : str
+ Name of the current model used
+ type : str
+ Name of the current type used
title : str
Title of the plot.
max_series : int
@@ -182,6 +231,9 @@ def _plot_downstream(y_train, y_test, y_pred, incomp_data, title="Ground Truth v
x_size = max_series * 5
+ if max_series == 1:
+ x_size = 24
+
fig, axs = plt.subplots(3, max_series, figsize=(x_size, 15))
fig.suptitle(title, fontsize=16)
@@ -192,7 +244,10 @@ def _plot_downstream(y_train, y_test, y_pred, incomp_data, title="Ground Truth v
for col_idx, series_idx in enumerate(valid_indices):
# Access the correct subplot
- ax = axs[row_idx, col_idx]
+ if max_series > 1:
+ ax = axs[row_idx, col_idx]
+ else:
+ ax = axs[row_idx]
# Extract the corresponding data for this data type and series
s_y_train = y_train[row_idx]
@@ -247,7 +302,7 @@ def _plot_downstream(y_train, y_test, y_pred, incomp_data, title="Ground Truth v
now = datetime.datetime.now()
current_time = now.strftime("%y_%m_%d_%H_%M_%S")
- file_path = os.path.join(save_path + "/" + current_time + "_downstream.jpg")
+ file_path = os.path.join(save_path + "/" + current_time + "_" + type + "_" + model + "_downstream.jpg")
plt.savefig(file_path, bbox_inches='tight')
print("plots saved in ", file_path)
diff --git a/imputegap/recovery/explainer.py b/imputegap/recovery/explainer.py
index 01714076..efb4c1c2 100644
--- a/imputegap/recovery/explainer.py
+++ b/imputegap/recovery/explainer.py
@@ -409,7 +409,7 @@ def execute_shap_model(x_dataset, x_information, y_dataset, file, algorithm, spl
_, _, config = Explainer.load_configuration()
plots_categories = config[extractor]['categories']
- path_file = "./assets/shap/"
+ path_file = "./imputegap_assets/shap/"
if not os.path.exists(path_file):
path_file = "./imputegap" + path_file[1:]
@@ -635,7 +635,7 @@ def execute_shap_model(x_dataset, x_information, y_dataset, file, algorithm, spl
return results_shap
def shap_explainer(input_data, algorithm="cdrec", params=None, extractor="pycatch", pattern="mcar", missing_rate=0.4,
- block_size=10, offset=0.1, seed=True, limit_ratio=1, split_ratio=0.6,
+ block_size=10, offset=0.1, seed=True, rate_dataset=1, training_ratio=0.6,
file_name="ts", display=False, verbose=False):
"""
Handle parameters and set variables to launch the SHAP model.
@@ -660,9 +660,9 @@ def shap_explainer(input_data, algorithm="cdrec", params=None, extractor="pycatc
Size of the uncontaminated section at the beginning of the time series (default is 0.1).
seed : bool, optional
Whether to use a seed for reproducibility (default is True).
- limit_ratio : flaot, optional
+ rate_dataset : flaot, optional
Limitation on the number of series for the model (default is 1).
- split_ratio : flaot, optional
+ training_ratio : flaot, optional
Limitation on the training series for the model (default is 0.6).
file_name : str, optional
Name of the dataset file (default is 'ts').
@@ -688,18 +688,18 @@ def shap_explainer(input_data, algorithm="cdrec", params=None, extractor="pycatc
"""
start_time = time.time() # Record start time
- if limit_ratio < 0.05 or limit_ratio > 1:
+ if rate_dataset < 0.05 or rate_dataset > 1:
print("\nlimit percentage higher than 100%, reduce to 100% of the dataset")
- limit_ratio = 1
+ rate_dataset = 1
M = input_data.shape[0]
- limit = math.ceil(M * limit_ratio)
+ limit = math.ceil(M * rate_dataset)
- if split_ratio < 0.05 or split_ratio > 0.95:
+ if training_ratio < 0.05 or training_ratio > 0.95:
print("\nsplit ratio to small or to high, reduce to 60% of the dataset")
- split_ratio = 0.6
+ training_ratio = 0.6
- training_ratio = int(limit * split_ratio)
+ training_ratio = int(limit * training_ratio)
if limit > M:
limit = M
@@ -718,7 +718,7 @@ def shap_explainer(input_data, algorithm="cdrec", params=None, extractor="pycatc
input_data_matrices, obfuscated_matrices = [], []
output_metrics, output_rmse, input_params, input_params_full = [], [], [], []
- if extractor == "pycatch":
+ if extractor == "pycatch" or extractor == "pycatch22":
categories, features, _ = Explainer.load_configuration()
for current_series in range(0, limit):
@@ -733,7 +733,7 @@ def shap_explainer(input_data, algorithm="cdrec", params=None, extractor="pycatc
input_data_matrices.append(input_data)
obfuscated_matrices.append(incomp_data)
- if extractor == "pycatch":
+ if extractor == "pycatch" or extractor == "pycatch22":
catch_fct, descriptions = Explainer.extractor_pycatch(incomp_data, categories, features, False)
extracted_features = np.array(list(catch_fct.values()))
elif extractor == "tsfel":
diff --git a/imputegap/recovery/imputation.py b/imputegap/recovery/imputation.py
index 75935091..6a3a1a23 100644
--- a/imputegap/recovery/imputation.py
+++ b/imputegap/recovery/imputation.py
@@ -523,11 +523,11 @@ def impute(self, user_def=True, params=None):
Example
-------
- >>> interpolation_imputer = Imputation.Statistics.Interpolation(incomp_data)
- >>> interpolation_imputer.impute() # default parameters for imputation > or
- >>> interpolation_imputer.impute(user_def=True, params={"method":"linear", "poly_order":2}) # user-defined > or
- >>> interpolation_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
- >>> recov_data = interpolation_imputer.recov_data
+ >>> interpolation_imputer = Imputation.Statistics.Interpolation(incomp_data)
+ >>> interpolation_imputer.impute() # default parameters for imputation > or
+ >>> interpolation_imputer.impute(user_def=True, params={"method":"linear", "poly_order":2}) # user-defined > or
+ >>> interpolation_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
+ >>> recov_data = interpolation_imputer.recov_data
"""
if params is not None:
method, poly_order = self._check_params(user_def, params)
@@ -574,11 +574,11 @@ def impute(self, user_def=True, params=None):
Example
-------
- >>> knn_imputer = Imputation.Statistics.KNN(incomp_data)
- >>> knn_imputer.impute() # default parameters for imputation > or
- >>> knn_imputer.impute(user_def=True, params={'k': 5, 'weights': "uniform"}) # user-defined > or
- >>> knn_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
- >>> recov_data = knn_imputer.recov_data
+ >>> knn_imputer = Imputation.Statistics.KNN(incomp_data)
+ >>> knn_imputer.impute() # default parameters for imputation > or
+ >>> knn_imputer.impute(user_def=True, params={'k': 5, 'weights': "uniform"}) # user-defined > or
+ >>> knn_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
+ >>> recov_data = knn_imputer.recov_data
"""
if params is not None:
k, weights = self._check_params(user_def, params)
@@ -716,11 +716,11 @@ def impute(self, user_def=True, params=None):
Example
-------
- >>> cdrec_imputer = Imputation.MatrixCompletion.CDRec(incomp_data)
- >>> cdrec_imputer.impute() # default parameters for imputation > or
- >>> cdrec_imputer.impute(user_def=True, params={'rank': 5, 'epsilon': 0.01, 'iterations': 100}) # user-defined > or
- >>> cdrec_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "bayesian", "options": {"n_calls": 2}}) # automl with bayesian
- >>> recov_data = cdrec_imputer.recov_data
+ >>> cdrec_imputer = Imputation.MatrixCompletion.CDRec(incomp_data)
+ >>> cdrec_imputer.impute() # default parameters for imputation > or
+ >>> cdrec_imputer.impute(user_def=True, params={'rank': 5, 'epsilon': 0.01, 'iterations': 100}) # user-defined > or
+ >>> cdrec_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "bayesian", "options": {"n_calls": 2}}) # automl with bayesian
+ >>> recov_data = cdrec_imputer.recov_data
References
----------
@@ -774,11 +774,11 @@ def impute(self, user_def=True, params=None):
Example
-------
- >>> i_svd_imputer = Imputation.MatrixCompletion.IterativeSVD(incomp_data)
- >>> i_svd_imputer.impute() # default parameters for imputation > or
- >>> i_svd_imputer.impute(params={'rank': 5}) # user-defined > or
- >>> i_svd_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
- >>> recov_data = i_svd_imputer.recov_data
+ >>> i_svd_imputer = Imputation.MatrixCompletion.IterativeSVD(incomp_data)
+ >>> i_svd_imputer.impute() # default parameters for imputation > or
+ >>> i_svd_imputer.impute(params={'rank': 5}) # user-defined > or
+ >>> i_svd_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
+ >>> recov_data = i_svd_imputer.recov_data
References
----------
@@ -831,11 +831,11 @@ def impute(self, user_def=True, params=None):
Example
-------
- >>> grouse_imputer = Imputation.MatrixCompletion.GROUSE(incomp_data)
- >>> grouse_imputer.impute() # default parameters for imputation > or
- >>> grouse_imputer.impute(params={'max_rank': 5}) # user-defined > or
- >>> grouse_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
- >>> recov_data = grouse_imputer.recov_data
+ >>> grouse_imputer = Imputation.MatrixCompletion.GROUSE(incomp_data)
+ >>> grouse_imputer.impute() # default parameters for imputation > or
+ >>> grouse_imputer.impute(params={'max_rank': 5}) # user-defined > or
+ >>> grouse_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
+ >>> recov_data = grouse_imputer.recov_data
References
----------
@@ -891,11 +891,11 @@ def impute(self, user_def=True, params=None):
Example
-------
- >>> rosl_imputer = Imputation.MatrixCompletion.ROSL(incomp_data)
- >>> rosl_imputer.impute() # default parameters for imputation > or
- >>> rosl_imputer.impute(params={'rank': 5, 'regularization': 10}) # user-defined > or
- >>> rosl_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
- >>> recov_data = rosl_imputer.recov_data
+ >>> rosl_imputer = Imputation.MatrixCompletion.ROSL(incomp_data)
+ >>> rosl_imputer.impute() # default parameters for imputation > or
+ >>> rosl_imputer.impute(params={'rank': 5, 'regularization': 10}) # user-defined > or
+ >>> rosl_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
+ >>> recov_data = rosl_imputer.recov_data
References
----------
@@ -947,11 +947,11 @@ def impute(self, user_def=True, params=None):
Example
-------
- >>> soft_impute_imputer = Imputation.MatrixCompletion.SoftImpute(incomp_data)
- >>> soft_impute_imputer.impute() # default parameters for imputation > or
- >>> soft_impute_imputer.impute(params={'max_rank': 5}) # user-defined > or
- >>> soft_impute_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
- >>> recov_data = soft_impute_imputer.recov_data
+ >>> soft_impute_imputer = Imputation.MatrixCompletion.SoftImpute(incomp_data)
+ >>> soft_impute_imputer.impute() # default parameters for imputation > or
+ >>> soft_impute_imputer.impute(params={'max_rank': 5}) # user-defined > or
+ >>> soft_impute_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
+ >>> recov_data = soft_impute_imputer.recov_data
References
----------
@@ -1010,11 +1010,11 @@ def impute(self, user_def=True, params=None):
Example
-------
- >>> spirit_imputer = Imputation.MatrixCompletion.SPIRIT(incomp_data)
- >>> spirit_imputer.impute() # default parameters for imputation > or
- >>> spirit_imputer.impute(params={'k': 2, 'w': 5, 'lambda_value': 0.85}) # user-defined > or
- >>> spirit_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
- >>> recov_data = spirit_imputer.recov_data
+ >>> spirit_imputer = Imputation.MatrixCompletion.SPIRIT(incomp_data)
+ >>> spirit_imputer.impute() # default parameters for imputation > or
+ >>> spirit_imputer.impute(params={'k': 2, 'w': 5, 'lambda_value': 0.85}) # user-defined > or
+ >>> spirit_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
+ >>> recov_data = spirit_imputer.recov_data
References
----------
@@ -1067,11 +1067,11 @@ def impute(self, user_def=True, params=None):
Example
-------
- >>> svt_imputer = Imputation.MatrixCompletion.SVT(incomp_data)
- >>> svt_imputer.impute() # default parameters for imputation > or
- >>> svt_imputer.impute(params={'tau': 1}) # user-defined > or
- >>> svt_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
- >>> recov_data = svt_imputer.recov_data
+ >>> svt_imputer = Imputation.MatrixCompletion.SVT(incomp_data)
+ >>> svt_imputer.impute() # default parameters for imputation > or
+ >>> svt_imputer.impute(params={'tau': 1}) # user-defined > or
+ >>> svt_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
+ >>> recov_data = svt_imputer.recov_data
References
----------
@@ -1140,18 +1140,18 @@ def impute(self, user_def=True, params=None):
Example
-------
- >>> trmf_imputer = Imputation.MatrixCompletion.SVT(incomp_data)
- >>> trmf_imputer.impute() # default parameters for imputation > or
- >>> trmf_imputer.impute(params={"lags":[], "K":-1, "lambda_f":1.0, "lambda_x":1.0, "lambda_w":1.0, "eta":1.0, "alpha":1000.0, "max_iter":100}) # user-defined > or
- >>> trmf_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
- >>> recov_data = trmf_imputer.recov_data
+ >>> trmf_imputer = Imputation.MatrixCompletion.TRMF(incomp_data)
+ >>> trmf_imputer.impute()
+ >>> trmf_imputer.impute(params={"lags":[], "K":-1, "lambda_f":1.0, "lambda_x":1.0, "lambda_w":1.0, "eta":1.0, "alpha":1000.0, "max_iter":100})
+ >>> trmf_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"})
+ >>> recov_data = trmf_imputer.recov_data
References
----------
H.-F. Yu, N. Rao, and I. S. Dhillon, "Temporal Regularized Matrix Factorization for High-dimensional Time Series Prediction," in *Advances in Neural Information Processing Systems*, vol. 29, 2016. [Online]. Available: https://proceedings.neurips.cc/paper_files/paper/2016/file/85422afb467e9456013a2a51d4dff702-Paper.pdf
"""
if params is not None:
- lags, K, lambda_f, lambda_x, lambda_w, eta, alpha, max_iter = self._check_params(user_def, params)[0]
+ lags, K, lambda_f, lambda_x, lambda_w, eta, alpha, max_iter = self._check_params(user_def, params)
else:
lags, K, lambda_f, lambda_x, lambda_w, eta, alpha, max_iter = utils.load_parameters(query="default", algorithm=self.algorithm)
@@ -1226,11 +1226,11 @@ def impute(self, user_def=True, params=None):
Example
-------
- >>> mf_imputer = Imputation.MachineLearning.MissForest(incomp_data)
- >>> mf_imputer.impute() # default parameters for imputation > or
- >>> mf_imputer.impute(user_def=True, params={"n_estimators":10, "max_iter":3, "max_features":"sqrt", "seed": 42}) # user defined > or
- >>> mf_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
- >>> recov_data = mf_imputer.recov_data
+ >>> mf_imputer = Imputation.MachineLearning.MissForest(incomp_data)
+ >>> mf_imputer.impute() # default parameters for imputation > or
+ >>> mf_imputer.impute(user_def=True, params={"n_estimators":10, "max_iter":3, "max_features":"sqrt", "seed": 42}) # user defined > or
+ >>> mf_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
+ >>> recov_data = mf_imputer.recov_data
References
----------
@@ -1255,7 +1255,7 @@ class MICE(BaseImputer):
Methods
-------
impute(self, user_def=True, params=None):
- Perform imputation using the STMVL algorithm.
+ Perform imputation using the MICE algorithm.
"""
algorithm = "mice"
@@ -1266,33 +1266,33 @@ def impute(self, user_def=True, params=None):
Parameters
----------
user_def : bool, optional
- Whether to use user-defined or default parameters (default is True).
+ Whether to use user-defined or default parameters (default is True). \n
params : dict, optional
- Parameters of the STMVL algorithm, if None, default ones are loaded.
+ Parameters of the MICE algorithm, if None, default ones are loaded. \n
**Algorithm parameters:**
max_iter : int, optional
- Maximum number of imputation rounds to perform before returning the imputations computed during the final round. (default is 3).
+ Maximum number of imputation rounds to perform before returning the imputations computed during the final round. (default is 3). \n
tol : float, optional
- Tolerance of the stopping condition. (default is 0.001).
+ Tolerance of the stopping condition. (default is 0.001). \n
initial_strategy : str, optional
- Which strategy to use to initialize the missing values. {‘mean’, ‘median’, ‘most_frequent’, ‘constant’} (default is "means").
+ Which strategy to use to initialize the missing values. {‘mean’, ‘median’, ‘most_frequent’, ‘constant’} (default is "means"). \n
seed : int, optional
- The seed of the pseudo random number generator to use. Randomizes selection of estimator features (default is 42).
+ The seed of the pseudo random number generator to use. Randomizes selection of estimator features (default is 42). \n
Returns
-------
- self : MICE
- The object with `recov_data` set.
+ self : MICE
+ The object with `recov_data` set.
Example
-------
- >>> mice_imputer = Imputation.MachineLearning.MICE(incomp_data)
- >>> mice_imputer.impute() # default parameters for imputation > or
- >>> mice_imputer.impute(user_def=True, params={"max_iter":3, "tol":0.001, "initial_strategy":"mean", "seed": 42}) # user defined > or
- >>> mice_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
- >>> recov_data = mice_imputer.recov_data
+ >>> mice_imputer = Imputation.MachineLearning.MICE(incomp_data)
+ >>> mice_imputer.impute() # default parameters for imputation > or
+ >>> mice_imputer.impute(user_def=True, params={"max_iter":3, "tol":0.001, "initial_strategy":"mean", "seed": 42}) # user defined > or
+ >>> mice_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
+ >>> recov_data = mice_imputer.recov_data
References
----------
@@ -1346,11 +1346,11 @@ def impute(self, user_def=True, params=None):
Example
-------
- >>> mxgboost_imputer = Imputation.MachineLearning.MICE(incomp_data)
- >>> mxgboost_imputer.impute() # default parameters for imputation > or
- >>> mxgboost_imputer.impute(user_def=True, params={"n_estimators":3, "seed": 42}) # user defined > or
- >>> mxgboost_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
- >>> recov_data = mxgboost_imputer.recov_data
+ >>> mxgboost_imputer = Imputation.MachineLearning.XGBOOST(incomp_data)
+ >>> mxgboost_imputer.impute() # default parameters for imputation > or
+ >>> mxgboost_imputer.impute(user_def=True, params={"n_estimators":3, "seed": 42}) # user defined > or
+ >>> mxgboost_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
+ >>> recov_data = mxgboost_imputer.recov_data
References
----------
@@ -1401,11 +1401,11 @@ def impute(self, user_def=True, params=None):
Example
-------
- >>> iim_imputer = Imputation.MachineLearning.IIM(incomp_data)
- >>> iim_imputer.impute() # default parameters for imputation > or
- >>> iim_imputer.impute(user_def=True, params={'learning_neighbors': 10}) # user-defined > or
- >>> iim_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "bayesian", "options": {"n_calls": 2}}) # automl with bayesian
- >>> recov_data = iim_imputer.recov_data
+ >>> iim_imputer = Imputation.MachineLearning.IIM(incomp_data)
+ >>> iim_imputer.impute() # default parameters for imputation > or
+ >>> iim_imputer.impute(user_def=True, params={'learning_neighbors': 10}) # user-defined > or
+ >>> iim_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "bayesian", "options": {"n_calls": 2}}) # automl with bayesian
+ >>> recov_data = iim_imputer.recov_data
References
----------
@@ -1478,11 +1478,11 @@ def impute(self, user_def=True, params=None):
Example
-------
- >>> stmvl_imputer = Imputation.PatternSearch.STMVL(incomp_data)
- >>> stmvl_imputer.impute() # default parameters for imputation > or
- >>> stmvl_imputer.impute(user_def=True, params={'window_size': 7, 'learning_rate':0.01, 'gamma':0.85, 'alpha': 7}) # user-defined > or
- >>> stmvl_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "bayesian", "options": {"n_calls": 2}}) # automl with bayesian
- >>> recov_data = stmvl_imputer.recov_data
+ >>> stmvl_imputer = Imputation.PatternSearch.STMVL(incomp_data)
+ >>> stmvl_imputer.impute() # default parameters for imputation > or
+ >>> stmvl_imputer.impute(user_def=True, params={'window_size': 7, 'learning_rate':0.01, 'gamma':0.85, 'alpha': 7}) # user-defined > or
+ >>> stmvl_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "bayesian", "options": {"n_calls": 2}}) # automl with bayesian
+ >>> recov_data = stmvl_imputer.recov_data
References
----------
@@ -1538,11 +1538,11 @@ def impute(self, user_def=True, params=None):
Example
-------
- >>> dynammo_imputer = Imputation.PatternSearch.DynaMMo(incomp_data)
- >>> dynammo_imputer.impute() # default parameters for imputation > or
- >>> dynammo_imputer.impute(params={'h': 5, 'max_iteration': 100, 'approximation': True}) # user-defined > or
- >>> dynammo_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
- >>> recov_data = dynammo_imputer.recov_data
+ >>> dynammo_imputer = Imputation.PatternSearch.DynaMMo(incomp_data)
+ >>> dynammo_imputer.impute() # default parameters for imputation > or
+ >>> dynammo_imputer.impute(params={'h': 5, 'max_iteration': 100, 'approximation': True}) # user-defined > or
+ >>> dynammo_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
+ >>> recov_data = dynammo_imputer.recov_data
References
----------
@@ -1593,11 +1593,11 @@ def impute(self, user_def=True, params=None):
Example
-------
- >>> tkcm_imputer = Imputation.PatternSearch.TKCM(incomp_data)
- >>> tkcm_imputer.impute() # default parameters for imputation > or
- >>> tkcm_imputer.impute(params={'rank': 5}) # user-defined > or
- >>> tkcm_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
- >>> recov_data = tkcm_imputer.recov_data
+ >>> tkcm_imputer = Imputation.PatternSearch.TKCM(incomp_data)
+ >>> tkcm_imputer.impute() # default parameters for imputation > or
+ >>> tkcm_imputer.impute(params={'rank': 5}) # user-defined > or
+ >>> tkcm_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
+ >>> recov_data = tkcm_imputer.recov_data
References
----------
@@ -1680,11 +1680,11 @@ def impute(self, user_def=True, params=None):
Example
-------
- >>> mrnn_imputer = Imputation.DeepLearning.MRNN(incomp_data)
- >>> mrnn_imputer.impute() # default parameters for imputation > or
- >>> mrnn_imputer.impute(user_def=True, params={'hidden_dim': 10, 'learning_rate':0.01, 'iterations':50, 'sequence_length': 7}) # user-defined > or
- >>> mrnn_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "bayesian", "options": {"n_calls": 2}}) # automl with bayesian
- >>> recov_data = mrnn_imputer.recov_data
+ >>> mrnn_imputer = Imputation.DeepLearning.MRNN(incomp_data)
+ >>> mrnn_imputer.impute() # default parameters for imputation > or
+ >>> mrnn_imputer.impute(user_def=True, params={'hidden_dim': 10, 'learning_rate':0.01, 'iterations':50, 'sequence_length': 7}) # user-defined > or
+ >>> mrnn_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "bayesian", "options": {"n_calls": 2}}) # automl with bayesian
+ >>> recov_data = mrnn_imputer.recov_data
References
----------
@@ -1743,11 +1743,11 @@ def impute(self, user_def=True, params=None):
Example
-------
- >>> brits_imputer = Imputation.DeepLearning.BRITS(incomp_data)
- >>> brits_imputer.impute() # default parameters for imputation > or
- >>> brits_imputer.impute(params={"model": "brits", "epoch": 2, "batch_size": 10, "nbr_features": 1, "hidden_layer": 64}) # user-defined > or
- >>> brits_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
- >>> recov_data = brits_imputer.recov_data
+ >>> brits_imputer = Imputation.DeepLearning.BRITS(incomp_data)
+ >>> brits_imputer.impute() # default parameters for imputation > or
+ >>> brits_imputer.impute(params={"model": "brits", "epoch": 2, "batch_size": 10, "nbr_features": 1, "hidden_layer": 64}) # user-defined > or
+ >>> brits_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
+ >>> recov_data = brits_imputer.recov_data
References
----------
@@ -1801,11 +1801,11 @@ def impute(self, user_def=True, params=None):
Example
-------
- >>> deep_mvi_imputer = Imputation.DeepLearning.DeepMVI(incomp_data)
- >>> deep_mvi_imputer.impute() # default parameters for imputation > or
- >>> deep_mvi_imputer.impute(params={"max_epoch": 10, "patience": 2}) # user-defined > or
- >>> deep_mvi_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
- >>> recov_data = deep_mvi_imputer.recov_data
+ >>> deep_mvi_imputer = Imputation.DeepLearning.DeepMVI(incomp_data)
+ >>> deep_mvi_imputer.impute() # default parameters for imputation > or
+ >>> deep_mvi_imputer.impute(params={"max_epoch": 10, "patience": 2}) # user-defined > or
+ >>> deep_mvi_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
+ >>> recov_data = deep_mvi_imputer.recov_data
References
----------
@@ -1871,11 +1871,11 @@ def impute(self, user_def=True, params=None):
Example
-------
- >>> mpin_imputer = Imputation.DeepLearning.MPIN(incomp_data)
- >>> mpin_imputer.impute() # default parameters for imputation > or
- >>> mpin_imputer.impute(params={"incre_mode": "data+state", "window": 1, "k": 15, "learning_rate": 0.001, "weight_decay": 0.2, "epochs": 6, "num_of_iteration": 6, "threshold": 0.50, "base": "GCN"}) # user-defined > or
- >>> mpin_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
- >>> recov_data = mpin_imputer.recov_data
+ >>> mpin_imputer = Imputation.DeepLearning.MPIN(incomp_data)
+ >>> mpin_imputer.impute() # default parameters for imputation > or
+ >>> mpin_imputer.impute(params={"incre_mode": "data+state", "window": 1, "k": 15, "learning_rate": 0.001, "weight_decay": 0.2, "epochs": 6, "num_of_iteration": 6, "threshold": 0.50, "base": "GCN"}) # user-defined > or
+ >>> mpin_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
+ >>> recov_data = mpin_imputer.recov_data
References
----------
@@ -1932,11 +1932,11 @@ def impute(self, user_def=True, params=None):
Example
-------
- >>> pristi_imputer = Imputation.DeepLearning.PRISTI(incomp_data)
- >>> pristi_imputer.impute() # default parameters for imputation > or
- >>> pristi_imputer.impute(params={"target_strategy":"hybrid", "unconditional":True, "seed":42, "device":"cpu"}) # user-defined > or
- >>> pristi_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
- >>> recov_data = pristi_imputer.recov_data
+ >>> pristi_imputer = Imputation.DeepLearning.PRISTI(incomp_data)
+ >>> pristi_imputer.impute() # default parameters for imputation > or
+ >>> pristi_imputer.impute(params={"target_strategy":"hybrid", "unconditional":True, "seed":42, "device":"cpu"}) # user-defined > or
+ >>> pristi_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # automl with ray_tune
+ >>> recov_data = pristi_imputer.recov_data
References
----------
@@ -1999,11 +1999,11 @@ def impute(self, user_def=True, params=None):
Example
-------
- >>> miss_net_imputer = Imputation.DeepLearning.MissNet(incomp_data)
- >>> miss_net_imputer.impute() # default parameters for imputation > or
- >>> miss_net_imputer.impute(user_def=True, params={'alpha': 0.5, 'beta':0.1, 'L':10, 'n_cl': 1, 'max_iteration':20, 'tol':5, 'random_init':False}) # user-defined > or
- >>> miss_net_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # auto-ml with ray_tune
- >>> recov_data = miss_net_imputer.recov_data
+ >>> miss_net_imputer = Imputation.DeepLearning.MissNet(incomp_data)
+ >>> miss_net_imputer.impute() # default parameters for imputation > or
+ >>> miss_net_imputer.impute(user_def=True, params={'alpha': 0.5, 'beta':0.1, 'L':10, 'n_cl': 1, 'max_iteration':20, 'tol':5, 'random_init':False}) # user-defined > or
+ >>> miss_net_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # auto-ml with ray_tune
+ >>> recov_data = miss_net_imputer.recov_data
References
----------
@@ -2066,11 +2066,11 @@ def impute(self, user_def=True, params=None):
Example
-------
- >>> gain_imputer = Imputation.DeepLearning.GAIN(incomp_data)
- >>> gain_imputer.impute() # default parameters for imputation > or
- >>> gain_imputer.impute(user_def=True, params={"batch_size":32, "hint_rate":0.9, "alpha":10, "epoch":100}) # user defined> or
- >>> gain_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # auto-ml with ray_tune
- >>> recov_data = gain_imputer.recov_data
+ >>> gain_imputer = Imputation.DeepLearning.GAIN(incomp_data)
+ >>> gain_imputer.impute() # default parameters for imputation > or
+ >>> gain_imputer.impute(user_def=True, params={"batch_size":32, "hint_rate":0.9, "alpha":10, "epoch":100}) # user defined> or
+ >>> gain_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # auto-ml with ray_tune
+ >>> recov_data = gain_imputer.recov_data
References
----------
@@ -2145,11 +2145,11 @@ def impute(self, user_def=True, params=None):
Example
-------
- >>> grin_imputer = Imputation.DeepLearning.GRIN(incomp_data)
- >>> grin_imputer.impute() # default parameters for imputation > or
- >>> grin_imputer.impute(user_def=True, params={"d_hidden":32, "lr":0.001, "batch_size":32, "window":1, "alpha":10.0, "patience":4, "epochs":20, "workers":2}) # user defined> or
- >>> grin_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # auto-ml with ray_tune
- >>> recov_data = grin_imputer.recov_data
+ >>> grin_imputer = Imputation.DeepLearning.GRIN(incomp_data)
+ >>> grin_imputer.impute() # default parameters for imputation > or
+ >>> grin_imputer.impute(user_def=True, params={"d_hidden":32, "lr":0.001, "batch_size":32, "window":1, "alpha":10.0, "patience":4, "epochs":20, "workers":2}) # user defined> or
+ >>> grin_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # auto-ml with ray_tune
+ >>> recov_data = grin_imputer.recov_data
References
----------
@@ -2230,11 +2230,11 @@ def impute(self, user_def=True, params=None):
Example
-------
- >>> bay_otide_imputer = Imputation.DeepLearning.BayOTIDE(incomp_data)
- >>> bay_otide_imputer.impute() # default parameters for imputation > or
- >>> bay_otide_imputer.impute(user_def=True, params={"K_trend":20, "K_season":2, "n_season":5, "K_bias":1, "time_scale":1, "a0":0.6, "b0":2.5, "v":0.5}) # user defined> or
- >>> bay_otide_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # auto-ml with ray_tune
- >>> recov_data = bay_otide_imputer.recov_data
+ >>> bay_otide_imputer = Imputation.DeepLearning.BayOTIDE(incomp_data)
+ >>> bay_otide_imputer.impute() # default parameters for imputation > or
+ >>> bay_otide_imputer.impute(user_def=True, params={"K_trend":20, "K_season":2, "n_season":5, "K_bias":1, "time_scale":1, "a0":0.6, "b0":2.5, "v":0.5}) # user defined> or
+ >>> bay_otide_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # auto-ml with ray_tune
+ >>> recov_data = bay_otide_imputer.recov_data
References
----------
@@ -2296,11 +2296,11 @@ def impute(self, user_def=True, params=None):
Example
-------
- >>> hkmf_t_imputer = Imputation.DeepLearning.HKMF_T(incomp_data)
- >>> hkmf_t_imputer.impute() # default parameters for imputation > or
- >>> hkmf_t_imputer.impute(user_def=True, params={"tags":None, "data_names":None, "epoch":5}) # user defined> or
- >>> hkmf_t_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # auto-ml with ray_tune
- >>> recov_data = hkmf_t_imputer.recov_data
+ >>> hkmf_t_imputer = Imputation.DeepLearning.HKMF_T(incomp_data)
+ >>> hkmf_t_imputer.impute() # default parameters for imputation > or
+ >>> hkmf_t_imputer.impute(user_def=True, params={"tags":None, "data_names":None, "epoch":5}) # user defined> or
+ >>> hkmf_t_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # auto-ml with ray_tune
+ >>> recov_data = hkmf_t_imputer.recov_data
References
----------
@@ -2383,11 +2383,11 @@ def impute(self, user_def=True, params=None):
Example
-------
- >>> bit_graph_imputer = Imputation.DeepLearning.BitGraph(incomp_data)
- >>> bit_graph_imputer.impute() # default parameters for imputation > or
- >>> bit_graph_imputer.impute(user_def=True, params={"node_number":-1, "kernel_set":[1], "dropout":0.1, "subgraph_size":5, "node_dim":3, "seq_len":1, "lr":0.001, "epoch":10, "seed":42}) # user defined> or
- >>> bit_graph_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # auto-ml with ray_tune
- >>> recov_data = bit_graph_imputer.recov_data
+ >>> bit_graph_imputer = Imputation.DeepLearning.BitGraph(incomp_data)
+ >>> bit_graph_imputer.impute() # default parameters for imputation > or
+ >>> bit_graph_imputer.impute(user_def=True, params={"node_number":-1, "kernel_set":[1], "dropout":0.1, "subgraph_size":5, "node_dim":3, "seq_len":1, "lr":0.001, "epoch":10, "seed":42}) # user defined> or
+ >>> bit_graph_imputer.impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "ray_tune"}) # auto-ml with ray_tune
+ >>> recov_data = bit_graph_imputer.recov_data
References
----------
diff --git a/imputegap/recovery/manager.py b/imputegap/recovery/manager.py
index fbc50953..de9ace68 100644
--- a/imputegap/recovery/manager.py
+++ b/imputegap/recovery/manager.py
@@ -314,7 +314,7 @@ def normalize(self, normalizer="z_score"):
print(f"\n\t\t> logs, normalization {normalizer} - Execution Time: {(end_time - start_time):.4f} seconds\n")
def plot(self, input_data, incomp_data=None, recov_data=None, nbr_series=None, nbr_val=None, series_range=None,
- subplot=False, size=(16, 8), save_path="./imputegap/assets", display=True):
+ subplot=False, size=(16, 8), save_path="./imputegap_assets", display=True):
"""
Plot the time series data, including raw, contaminated, or imputed data.
@@ -435,7 +435,7 @@ def plot(self, input_data, incomp_data=None, recov_data=None, nbr_series=None, n
ax.set_title('Series ' + str(i+1), fontsize=9)
ax.set_xlabel('Timestamp', fontsize=7)
ax.set_ylabel('Values', fontsize=7)
- ax.legend(loc='upper left', fontsize=7)
+ ax.legend(loc='upper left', fontsize=6, frameon=True, fancybox=True, framealpha=0.8)
plt.tight_layout()
number_of_series += 1
diff --git a/imputegap/report.log b/imputegap/report.log
index 0606aa98..e69de29b 100644
--- a/imputegap/report.log
+++ b/imputegap/report.log
@@ -1,113 +0,0 @@
-2025-03-06 18:22:32,474 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:22:32,481 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:22:32,557 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:22:32,606 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:22:49,647 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:22:49,654 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:22:49,756 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:22:49,802 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:23:05,697 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:23:05,722 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:23:07,346 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:23:08,633 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:23:21,944 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:23:21,950 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:23:25,553 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:23:26,941 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:23:39,059 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:23:39,086 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:23:44,319 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:23:45,742 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:23:57,321 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:23:57,609 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:24:03,092 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:24:02,403 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:24:14,619 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:24:14,626 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:24:20,613 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:24:22,564 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:24:32,219 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:24:32,289 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:24:35,045 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:24:36,680 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:28:19,196 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:28:19,203 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:28:19,247 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:28:33,245 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:28:33,249 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:28:34,843 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:28:47,569 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:28:47,598 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:28:49,541 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:31:45,503 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:31:45,549 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:31:45,566 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:31:45,572 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:32:46,815 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:32:46,822 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:32:46,887 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:32:46,990 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:33:03,044 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:33:03,051 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:33:03,493 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:33:04,902 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:33:18,776 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:33:18,783 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:33:18,531 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:33:20,187 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:33:33,996 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:33:34,003 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:33:37,611 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:33:38,898 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:33:47,479 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:33:47,486 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:33:52,212 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:33:53,764 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:34:03,773 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:34:03,779 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:34:10,006 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:34:12,592 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:35:06,949 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:35:06,954 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:35:07,023 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:35:07,087 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:35:18,933 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:35:18,939 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:35:19,400 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:35:19,832 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:35:35,369 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:35:35,375 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:35:36,639 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:35:36,986 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:35:48,835 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:35:48,840 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:35:50,581 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:35:51,103 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:36:04,594 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:36:04,600 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:36:07,200 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:36:07,227 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:36:17,618 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:36:17,625 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:36:20,408 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:36:20,419 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:36:33,467 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:36:33,471 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:36:35,488 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:36:35,494 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:36:46,120 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:36:46,133 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:36:47,513 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:36:47,518 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:40:51,117 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:40:51,123 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:40:51,128 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:40:51,202 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:41:40,100 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:41:40,106 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:41:40,426 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:41:40,996 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:41:52,207 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:41:52,211 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:41:53,818 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
-2025-03-06 18:41:53,838 - tensorboardX.x2num - WARNING - NaN or Inf found in input tensor.
diff --git a/imputegap/runner_contamination.py b/imputegap/runner_contamination.py
index 3862d996..d1560e8d 100644
--- a/imputegap/runner_contamination.py
+++ b/imputegap/runner_contamination.py
@@ -13,4 +13,4 @@
ts_m = ts.Contamination.missing_completely_at_random(ts.data, rate_dataset=0.2, rate_series=0.4, block_size=10, seed=True)
# plot the contaminated time series
-ts.plot(ts.data, ts_m, nbr_series=9, subplot=True, save_path="./imputegap/assets")
\ No newline at end of file
+ts.plot(ts.data, ts_m, nbr_series=9, subplot=True, save_path="./imputegap_assets")
\ No newline at end of file
diff --git a/imputegap/runner_datasets.py b/imputegap/runner_datasets.py
deleted file mode 100644
index 1662d1d8..00000000
--- a/imputegap/runner_datasets.py
+++ /dev/null
@@ -1,53 +0,0 @@
-from imputegap.recovery.explainer import Explainer
-from imputegap.recovery.manager import TimeSeries
-from imputegap.tools import utils
-
-datasets = ["electricity", "soccer", "temperature", "motion"]
-
-for dataset in datasets:
- # small one
- data_n = TimeSeries()
- data_n.load_series(data=utils.search_path(dataset), nbr_series=20, nbr_val=400, header=False)
- data_n.plot(input_data=data_n.data, nbr_series=20, save_path="./dataset/docs/" + dataset + "", display=False)
- data_n.plot(input_data=data_n.data, nbr_series=1, save_path="./dataset/docs/" + dataset + "", display=False)
- data_n.normalize(normalizer="min_max")
- data_n.plot(input_data=data_n.data, nbr_series=20, save_path="./dataset/docs/" + dataset + "", display=False)
-
- # 5x one
- data_n = TimeSeries()
- max_series = 3
- max_value = 500
- if dataset == "bafu":
- max_value = 10000
- elif dataset == "chlorine":
- max_value = 1000
- elif dataset == "eeg-alcohol":
- max_value = 256
- elif dataset == "eeg-reading":
- max_value = 1201
- elif dataset == "drift":
- max_value = 400
-
- data_n.load_series(data=utils.search_path(dataset), nbr_series=max_series, nbr_val=max_value, header=False)
- data_n.plot(input_data=data_n.data, save_path="./dataset/docs/" + dataset + "", display=False)
- data_n.normalize(normalizer="min_max")
- data_n.plot(input_data=data_n.data, save_path="./dataset/docs/" + dataset + "", display=False)
-
- # full one
- data_n = TimeSeries()
- data_n.load_series(data=utils.search_path(dataset), header=False)
- data_n.plot(input_data=data_n.data, save_path="./dataset/docs/" + dataset + "", display=False)
-
- categories, features, _ = Explainer.load_configuration()
- characteristics, descriptions = Explainer.extractor_pycatch(data=data_n.data, features_categories=categories, features_list=features, do_catch24=False)
-
- p = "./dataset/docs/"+dataset+"/features_"+dataset+".txt"
- with open(p, 'w') as f:
- for desc in descriptions:
- key, category, description = desc
- if key in characteristics:
- value = characteristics[key]
- f.write(f"|{category}|{description}|{value}|\n")
- else:
- f.write(f"Warning: Key '{key}' not found in characteristics!\n")
- print(f"Table exported to {p}")
diff --git a/imputegap/runner_downstream.py b/imputegap/runner_downstream.py
index 5c152944..84376518 100644
--- a/imputegap/runner_downstream.py
+++ b/imputegap/runner_downstream.py
@@ -7,7 +7,7 @@
print(f"ImputeGAP downstream models for forcasting : {ts.downstream_models}")
# load and normalize the timeseries
-ts.load_series(utils.search_path("chlorine"))
+ts.load_series(utils.search_path("forecast-economy"))
ts.normalize(normalizer="min_max")
# contaminate the time series
@@ -18,6 +18,6 @@
imputer.impute()
# compute print the downstream results
-downstream_config = {"task": "forecast", "model": "prophet"}
+downstream_config = {"task": "forecast", "model": "hw-add"}
imputer.score(ts.data, imputer.recov_data, downstream=downstream_config)
ts.print_results(imputer.downstream_metrics, algorithm=imputer.algorithm)
\ No newline at end of file
diff --git a/imputegap/runner_features.py b/imputegap/runner_features.py
new file mode 100644
index 00000000..f80f750a
--- /dev/null
+++ b/imputegap/runner_features.py
@@ -0,0 +1,22 @@
+from imputegap.recovery.explainer import Explainer
+from imputegap.recovery.manager import TimeSeries
+from imputegap.tools import utils
+
+dataset = "temperature"
+
+ts = TimeSeries()
+ts.load_series(data=utils.search_path(dataset), header=False)
+
+categories, features, _ = Explainer.load_configuration()
+characteristics, descriptions = Explainer.extractor_pycatch(data=ts.data, features_categories=categories, features_list=features, do_catch24=False)
+
+p = "./dataset/docs/"+dataset+"/features_"+dataset+".txt"
+with open(p, 'w') as f:
+ for desc in descriptions:
+ key, category, description = desc
+ if key in characteristics:
+ value = characteristics[key]
+ f.write(f"|{category}|{description}|{value}|\n")
+ else:
+ f.write(f"Warning: Key '{key}' not found in characteristics!\n")
+print(f"Table exported to {p}")
diff --git a/imputegap/runner_imputation.py b/imputegap/runner_imputation.py
index beaec3f4..546920be 100644
--- a/imputegap/runner_imputation.py
+++ b/imputegap/runner_imputation.py
@@ -22,4 +22,4 @@
ts.print_results(imputer.metrics)
# plot the recovered time series
-ts.plot(input_data=ts.data, incomp_data=ts_m, recov_data=imputer.recov_data, nbr_series=9, subplot=True, save_path="./imputegap/assets")
\ No newline at end of file
+ts.plot(input_data=ts.data, incomp_data=ts_m, recov_data=imputer.recov_data, nbr_series=9, subplot=True, save_path="./imputegap_assets")
\ No newline at end of file
diff --git a/imputegap/runner_loading.py b/imputegap/runner_loading.py
index 32a195b8..9b1d89a4 100644
--- a/imputegap/runner_loading.py
+++ b/imputegap/runner_loading.py
@@ -7,10 +7,10 @@
# load the timeseries from file or from the code
-ts.load_series(utils.search_path("eeg-alcohol"), nbr_series=1)
+ts.load_series(utils.search_path("eeg-alcohol"))
# plot a subset of time series
-ts.plot(input_data=ts.data, save_path="./imputegap/assets")
+ts.plot(input_data=ts.data, save_path="./imputegap_assets")
# print a subset of time series
ts.print(nbr_series=6, nbr_val=20)
diff --git a/imputegap/runner_optimization.py b/imputegap/runner_optimization.py
index 52eabe69..e609dc75 100644
--- a/imputegap/runner_optimization.py
+++ b/imputegap/runner_optimization.py
@@ -22,7 +22,7 @@
ts.print_results(imputer.metrics)
# plot the recovered time series
-ts.plot(input_data=ts.data, incomp_data=ts_m, recov_data=imputer.recov_data, nbr_series=9, subplot=True, save_path="./imputegap/assets", display=True)
+ts.plot(input_data=ts.data, incomp_data=ts_m, recov_data=imputer.recov_data, nbr_series=9, subplot=True, save_path="./imputegap_assets", display=True)
# save hyperparameters
utils.save_optimization(optimal_params=imputer.parameters, algorithm=imputer.algorithm, dataset="eeg-alcohol", optimizer="ray_tune")
\ No newline at end of file
diff --git a/imputegap/tools/__pycache__/algorithm_parameters.cpython-312.pyc b/imputegap/tools/__pycache__/algorithm_parameters.cpython-312.pyc
index 52e5fec7..b924e14f 100644
Binary files a/imputegap/tools/__pycache__/algorithm_parameters.cpython-312.pyc and b/imputegap/tools/__pycache__/algorithm_parameters.cpython-312.pyc differ
diff --git a/imputegap/tools/__pycache__/utils.cpython-312.pyc b/imputegap/tools/__pycache__/utils.cpython-312.pyc
index e2b08b1d..31f44198 100644
Binary files a/imputegap/tools/__pycache__/utils.cpython-312.pyc and b/imputegap/tools/__pycache__/utils.cpython-312.pyc differ
diff --git a/imputegap/tools/algorithm_parameters.py b/imputegap/tools/algorithm_parameters.py
index ab752eef..5d8f3b1a 100644
--- a/imputegap/tools/algorithm_parameters.py
+++ b/imputegap/tools/algorithm_parameters.py
@@ -74,9 +74,9 @@
#"keep_prob": tune.loguniform(1e-6, 1) # Dropout keep probability
},
"stmvl": {
- "window_size": tune.grid_search([i for i in range(2, 100)]), # Window size
+ "window_size": tune.grid_search([i for i in range(10, 100)]), # Window size
"gamma": tune.loguniform(1e-6, 1), # Smoothing parameter gamma
- "alpha": tune.grid_search([i for i in range(1, 10)]) # Smoothing parameter alpha
+ "alpha": tune.grid_search([i for i in range(2, 10)]), # Window size
},
# --- New Algorithms ---
diff --git a/imputegap/tools/utils.py b/imputegap/tools/utils.py
index e0b37f14..a52bd7ce 100644
--- a/imputegap/tools/utils.py
+++ b/imputegap/tools/utils.py
@@ -138,6 +138,82 @@ def config_contamination(ts, pattern, dataset_rate=0.4, series_rate=0.4, block_s
return incomp_data
+def config_forecaster(model, params):
+ """
+ Configure and execute forecaster model for downstream analytics
+
+ Parameters
+ ----------
+ model : str
+ name of the forcaster model
+ params : list of params
+ List of paramaters for a forcaster model
+
+ Returns
+ -------
+ Forecaster object (SKTIME/DART)
+ Forecaster object for downstream analytics
+ """
+
+ if model == "prophet":
+ from sktime.forecasting.fbprophet import Prophet
+ forecaster = Prophet(**params)
+ elif model == "exp-smoothing":
+ from sktime.forecasting.exp_smoothing import ExponentialSmoothing
+ forecaster = ExponentialSmoothing(**params)
+ elif model == "nbeats":
+ from darts.models import NBEATSModel
+ forecaster = NBEATSModel(**params)
+ elif model == "xgboost":
+ from darts.models.forecasting.xgboost import XGBModel
+ forecaster = XGBModel(**params)
+ elif model == "lightgbm":
+ from darts.models.forecasting.lgbm import LightGBMModel
+ forecaster = LightGBMModel(**params)
+ elif model == "lstm":
+ from darts.models.forecasting.rnn_model import RNNModel
+ forecaster = RNNModel(**params)
+ elif model == "deepar":
+ from darts.models.forecasting.rnn_model import RNNModel
+ forecaster = RNNModel(**params)
+ elif model == "transformer":
+ from darts.models.forecasting.transformer_model import TransformerModel
+ forecaster = TransformerModel(**params)
+ elif model == "hw-add":
+ from sktime.forecasting.exp_smoothing import ExponentialSmoothing
+ forecaster = ExponentialSmoothing(**params)
+ elif model == "arima":
+ from sktime.forecasting.arima import AutoARIMA
+ forecaster = AutoARIMA(**params)
+ elif model == "sf-arima":
+ from sktime.forecasting.statsforecast import StatsForecastAutoARIMA
+ forecaster = StatsForecastAutoARIMA(**params)
+ forecaster.set_config(warnings='off')
+ elif model == "bats":
+ from sktime.forecasting.bats import BATS
+ forecaster = BATS(**params)
+ elif model == "ets":
+ from sktime.forecasting.ets import AutoETS
+ forecaster = AutoETS(**params)
+ elif model == "croston":
+ from sktime.forecasting.croston import Croston
+ forecaster = Croston(**params)
+ elif model == "theta":
+ from sktime.forecasting.theta import ThetaForecaster
+ forecaster = ThetaForecaster(**params)
+ elif model == "unobs":
+ from sktime.forecasting.structural import UnobservedComponents
+ forecaster = UnobservedComponents(**params)
+
+
+ else:
+ from sktime.forecasting.naive import NaiveForecaster
+ forecaster = NaiveForecaster(**params)
+
+ return forecaster
+
+
+
def __marshal_as_numpy_column(__ctype_container, __py_sizen, __py_sizem):
"""
Marshal a ctypes container as a numpy column-major array.
@@ -503,6 +579,117 @@ def load_parameters(query: str = "default", algorithm: str = "cdrec", dataset: s
seasonality_mode = str(config[algorithm]['seasonality_mode'])
n_changepoints = int(config[algorithm]['n_changepoints'])
return {"seasonality_mode": seasonality_mode, "n_changepoints": n_changepoints}
+ elif algorithm == "forecaster-nbeats":
+ input_chunk_length = int(config[algorithm]['input_chunk_length'])
+ output_chunk_length = int(config[algorithm]['output_chunk_length'])
+ num_blocks = int(config[algorithm]['num_blocks'])
+ layer_widths = int(config[algorithm]['layer_widths'])
+ random_state = int(config[algorithm]['random_state'])
+ n_epochs = int(config[algorithm]['n_epochs'])
+ pl_trainer_kwargs = str(config[algorithm]['pl_trainer_kwargs'])
+ if pl_trainer_kwargs == "cpu":
+ drive = {"accelerator": pl_trainer_kwargs}
+ else:
+ drive = {"accelerator": pl_trainer_kwargs, "devices": [0]}
+ return {"input_chunk_length": input_chunk_length, "output_chunk_length": output_chunk_length, "num_blocks": num_blocks,
+ "layer_widths": layer_widths, "random_state": random_state, "n_epochs": n_epochs, "pl_trainer_kwargs": drive}
+ elif algorithm == "forecaster-xgboost":
+ lags = int(config[algorithm]['lags'])
+ return {"lags": lags}
+ elif algorithm == "forecaster-lightgbm":
+ lags = int(config[algorithm]['lags'])
+ verbose = int(config[algorithm]['verbose'])
+ return {"lags": lags, "verbose": verbose}
+ elif algorithm == "forecaster-lstm":
+ input_chunk_length = int(config[algorithm]['input_chunk_length'])
+ model = str(config[algorithm]['model'])
+ random_state = int(config[algorithm]['random_state'])
+ n_epochs = int(config[algorithm]['n_epochs'])
+ pl_trainer_kwargs = str(config[algorithm]['pl_trainer_kwargs'])
+ if pl_trainer_kwargs == "cpu":
+ drive = {"accelerator": pl_trainer_kwargs}
+ else:
+ drive = {"accelerator": pl_trainer_kwargs, "devices": [0]}
+ return {"input_chunk_length": input_chunk_length, "model": model, "random_state": random_state, "n_epochs": n_epochs, "pl_trainer_kwargs": drive}
+ elif algorithm == "forecaster-deepar":
+ input_chunk_length = int(config[algorithm]['input_chunk_length'])
+ model = str(config[algorithm]['model'])
+ random_state = int(config[algorithm]['random_state'])
+ n_epochs = int(config[algorithm]['n_epochs'])
+ pl_trainer_kwargs = str(config[algorithm]['pl_trainer_kwargs'])
+ if pl_trainer_kwargs == "cpu":
+ drive = {"accelerator": pl_trainer_kwargs}
+ else:
+ drive = {"accelerator": pl_trainer_kwargs, "devices": [0]}
+ return {"input_chunk_length": input_chunk_length, "model": model, "random_state": random_state, "n_epochs": n_epochs, "pl_trainer_kwargs": drive}
+ elif algorithm == "forecaster-transformer":
+ input_chunk_length = int(config[algorithm]['input_chunk_length'])
+ output_chunk_length = int(config[algorithm]['output_chunk_length'])
+ random_state = int(config[algorithm]['random_state'])
+ n_epochs = int(config[algorithm]['n_epochs'])
+ pl_trainer_kwargs = str(config[algorithm]['pl_trainer_kwargs'])
+ if pl_trainer_kwargs == "cpu":
+ drive = {"accelerator": pl_trainer_kwargs}
+ else:
+ drive = {"accelerator": pl_trainer_kwargs, "devices": [0]}
+ return {"input_chunk_length": input_chunk_length, "output_chunk_length": output_chunk_length, "random_state": random_state, "n_epochs": n_epochs, "pl_trainer_kwargs": drive}
+
+ elif algorithm == "forecaster-hw-add":
+ sp = int(config[algorithm]['sp'])
+ trend = str(config[algorithm]['trend'])
+ seasonal = str(config[algorithm]['seasonal'])
+ return {"sp": sp, "trend": trend, "seasonal": seasonal}
+ elif algorithm == "forecaster-arima":
+ sp = int(config[algorithm]['sp'])
+ suppress_warnings = bool(config[algorithm]['suppress_warnings'])
+ start_p = int(config[algorithm]['start_p'])
+ start_q = int(config[algorithm]['start_q'])
+ max_p = int(config[algorithm]['max_p'])
+ max_q = int(config[algorithm]['max_q'])
+ start_P = int(config[algorithm]['start_P'])
+ seasonal = int(config[algorithm]['seasonal'])
+ d = int(config[algorithm]['d'])
+ D = int(config[algorithm]['D'])
+ return {"sp": sp, "suppress_warnings": suppress_warnings, "start_p": start_p, "start_q": start_q,
+ "max_p": max_p, "max_q": max_q, "start_P": start_P, "seasonal": seasonal, "d": d, "D": D}
+ elif algorithm == "forecaster-sf-arima":
+ sp = int(config[algorithm]['sp'])
+ start_p = int(config[algorithm]['start_p'])
+ start_q = int(config[algorithm]['start_q'])
+ max_p = int(config[algorithm]['max_p'])
+ max_q = int(config[algorithm]['max_q'])
+ start_P = int(config[algorithm]['start_P'])
+ seasonal = int(config[algorithm]['seasonal'])
+ d = int(config[algorithm]['d'])
+ D = int(config[algorithm]['D'])
+ return {"sp": sp, "start_p": start_p, "start_q": start_q,
+ "max_p": max_p, "max_q": max_q, "start_P": start_P, "seasonal": seasonal, "d": d, "D": D}
+ elif algorithm == "forecaster-bats":
+ sp = int(config[algorithm]['sp'])
+ use_trend = bool(config[algorithm]['use_trend'])
+ use_box_cox = bool(config[algorithm]['use_box_cox'])
+ return {"sp": sp, "use_trend": use_trend, "use_box_cox": use_box_cox}
+ elif algorithm == "forecaster-ets":
+ sp = int(config[algorithm]['sp'])
+ auto = bool(config[algorithm]['auto'])
+ return {"sp": sp, "auto": auto}
+ elif algorithm == "forecaster-croston":
+ smoothing = float(config[algorithm]['smoothing'])
+ return {"smoothing": smoothing}
+ elif algorithm == "forecaster-unobs":
+ level = bool(config[algorithm]['level'])
+ trend = bool(config[algorithm]['trend'])
+ sp = int(config[algorithm]['sp'])
+ return {"level": level, "trend": trend, "seasonal": sp}
+ elif algorithm == "forecaster-theta":
+ sp = int(config[algorithm]['sp'])
+ deseasonalize = bool(config[algorithm]['deseasonalize'])
+ return {"sp": sp, "deseasonalize": deseasonalize}
+ elif algorithm == "forecaster-rnn":
+ input_size = int(config[algorithm]['input_size'])
+ inference_input_size = int(config[algorithm]['inference_input_size'])
+ return {"input_size": input_size, "inference_input_size": inference_input_size}
+
elif algorithm == "colors":
colors = config[algorithm]['plot']
return colors
@@ -869,7 +1056,8 @@ def list_of_datasets(txt=False):
"electricity",
"motion",
"soccer",
- "temperature"
+ "temperature",
+ "forecast-economy"
])
if txt:
@@ -887,9 +1075,30 @@ def list_of_optimizers():
])
def list_of_downstreams():
+ return sorted(list_of_downstreams_sktime() + list_of_downstreams_darts())
+
+
+def list_of_downstreams_sktime():
return sorted([
"prophet",
"exp-smoothing",
+ "hw-add",
+ "arima",
+ "sf-arima",
+ "bats",
+ "ets",
+ "croston",
+ "theta",
+ "unobs",
"naive"
])
+def list_of_downstreams_darts():
+ return sorted([
+ "nbeats",
+ "xgboost",
+ "lightgbm",
+ "lstm",
+ "deepar",
+ "transformer"
+ ])
diff --git a/requirements.txt b/requirements.txt
index 5320dda0..cec68d2b 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -24,11 +24,15 @@ sktime==0.35.0
statsmodels==0.14.4
prophet==1.1.6
plotly==5.24.1
+darts<0.34.0
+
# PyTorch and Related Libraries
torch==2.5.1
torchvision==0.20.1
torchaudio==2.5.1
+# neuralforecast==1.6.4
+
# PyTorch Geometric and Extensions (use prebuilt binaries)
#-f https://data.pyg.org/whl/torch-2.5.1.html
diff --git a/tests/test_downstream.py b/tests/test_downstream.py
index b2876ddf..f0948aeb 100644
--- a/tests/test_downstream.py
+++ b/tests/test_downstream.py
@@ -13,7 +13,7 @@ def test_downstream(self):
"""
# Load and normalize the series
ts_1 = TimeSeries()
- ts_1.load_series(utils.search_path("chlorine"))
+ ts_1.load_series(utils.search_path("forecast-economy"))
ts_1.normalize(normalizer="min_max")
# Create a mask for contamination
@@ -26,7 +26,8 @@ def test_downstream(self):
# Configure downstream options
downstream_options = [{"task": "forecast", "model": "prophet", "params": None, "plots": False},
{"task": "forecast", "model": "naive", "params": None, "plots": False},
- {"task": "forecast", "model": "exp-smoothing", "params": None, "plots": False}]
+ {"task": "forecast", "model": "exp-smoothing", "params": None, "plots": False},
+ {"task": "forecast", "model": "nbeats", "params": None, "plots": False}]
for options in downstream_options:
model = options.get("model")
diff --git a/tests/test_explainer.py b/tests/test_explainer.py
index ff7df0cf..244b4ced 100644
--- a/tests/test_explainer.py
+++ b/tests/test_explainer.py
@@ -22,7 +22,7 @@ def test_explainer_shap(self):
ts_1 = TimeSeries()
ts_1.load_series(utils.search_path(filename))
- shap_values, shap_details = Explainer.shap_explainer(input_data=ts_1.data, file_name=filename, limit_ratio=0.3,
+ shap_values, shap_details = Explainer.shap_explainer(input_data=ts_1.data, file_name=filename, rate_dataset=0.3,
seed=True, verbose=True)
self.assertTrue(shap_values is not None)
diff --git a/tests/test_pipeline.py b/tests/test_pipeline.py
index fc4a7a79..d954175b 100644
--- a/tests/test_pipeline.py
+++ b/tests/test_pipeline.py
@@ -42,7 +42,7 @@ def test_pipeline(self):
# explainer
ts_1 = TimeSeries()
ts_1.load_series(utils.search_path("chlorine"))
- shap_values, shap_details = Explainer.shap_explainer(input_data=ts_1.data, algorithm="cdrec", missing_rate=0.25, limit_ratio=0.4, split_ratio=0.6, file_name="eeg-alcohol")
+ shap_values, shap_details = Explainer.shap_explainer(input_data=ts_1.data, algorithm="cdrec", missing_rate=0.25, rate_dataset=0.4, training_ratio=0.6, file_name="eeg-alcohol")
Explainer.print(shap_values, shap_details)
# benchmark