ICAR-Indian Agricultural Statistics Research Institute
ICAR-IASRI | Statistical Web Tool

FuzzyML
Intuitionistic Fuzzy Machine Learning for Time Series Forecasting

Forecast any time series with seven machine learning models that see the data through intuitionistic fuzzy sets . Each past value enters the model together with its degree of membership and non-membership in fuzzy clusters, so the model also learns from the uncertainty (hesitation) in the data.

What the tool does
1
Upload a time series (or load the sample) and choose the series to forecast
2
Split the series into a training set and a test set
3
Choose IFANN, IFRF, IFSVR, IFXGBoost, IFLightGBM, IFAdaBoost or IFCatBoost
4
Give each hyperparameter, including the lag, as a single value or a search range
5
Get accuracy, forecasts, tuning results, fuzzy clusters and feature importance
About the method

Why intuitionistic fuzzy machine learning?

Classical fuzzy sets give each value a single membership degree. Intuitionistic fuzzy sets (Atanassov, 1986) add a separate non-membership degree, and the gap between the two measures hesitation. Feeding these degrees to a machine learning model, together with the lagged values, gives it a richer description of where each observation lies in the range of the series.

IFANN

Intuitionistic Fuzzy Artificial Neural Network

Feed-forward neural network with one hidden layer; several networks from different random starts are averaged.

IFRF

Intuitionistic Fuzzy Random Forest

Bagged regression trees with random feature selection at every split (Breiman, 2001).

IFSVR

Intuitionistic Fuzzy Support Vector Regression

Epsilon-insensitive support vector regression with a kernel (Drucker et al., 1997).

IFXGBoost

Intuitionistic Fuzzy Extreme Gradient Boosting

Regularised gradient-boosted regression trees (Chen and Guestrin, 2016).

IFLightGBM

Intuitionistic Fuzzy Light Gradient Boosting Machine

Histogram-based, leaf-wise gradient boosting (Ke et al., 2017).

IFAdaBoost

Intuitionistic Fuzzy Adaptive Boosting (AdaBoost.R2)

AdaBoost.R2 (Drucker, 1997): regression trees fitted to re-weighted samples, combined by weighted median.

IFCatBoost

Intuitionistic Fuzzy Categorical Boosting

Gradient boosting with ordered boosting and symmetric (oblivious) trees (Prokhorenkova et al., 2018).

Grid-search tuning

Lag and hyperparameters

Every hyperparameter, including the lag order, can be fixed or searched over a min-max-step range with time-ordered hold-out or cross-validation.


Model in brief

1. Intuitionistic fuzzy c-means (IFCM). The training values are grouped into \(C\) clusters with centres \(v_k\). The membership degree of a value \(x\) in cluster \(k\) is the fuzzy c-means degree

$$\mu_k(x) = \left[ \sum_{j=1}^{C} \left( \frac{|x - v_k|}{|x - v_j|} \right)^{2/(m-1)} \right]^{-1}$$

and the non-membership and hesitation degrees come from the Yager generator (\(0 < \alpha \le 1\); \(\alpha = 1\) gives ordinary fuzzy sets):

$$\nu_k(x) = \left(1 - \mu_k(x)^{\alpha}\right)^{1/\alpha}, \qquad \pi_k(x) = 1 - \mu_k(x) - \nu_k(x)$$

Cluster centres are updated with the hesitation-augmented memberships \(\mu^{*} = \mu + \pi\) (Chaira, 2011) until convergence.

2. Inputs. For a target \(y_t\) and lag order \(L\), the input vector holds the lagged values and their degrees in every cluster:

$$\mathbf{x}_t = \big[\, y_{t-1},\dots,y_{t-L},\; \mu_k(y_{t-l}),\; \nu_k(y_{t-l}) \,\big]_{l=1..L,\;k=1..C}, \qquad p = L\,(1 + 2C)$$

3. Learner. A machine learning model \(\hat{y}_t = f(\mathbf{x}_t)\) is trained on the training set; \(f\) is a neural network, random forest, support vector regression, XGBoost, LightGBM, AdaBoost.R2 or CatBoost. Clustering and scaling use only the training data, and only past values enter the inputs, so the test forecasts never use information from the values being forecast.

Outputs you get

  • Training and test accuracy (RMSE, MAE, MAPE) and the selected hyperparameters
  • Interactive plot of actual, fitted and predicted values and a table of test-set predictions
  • Grid-search history with the validation score of every combination
  • Intuitionistic fuzzy cluster centres with membership, non-membership and hesitation curves
  • Feature importance of the lagged values and fuzzy degrees
  • A comparison table of all models run in the session and an Excel workbook of every result

Key references

  1. Atanassov, K.T. (1986). Intuitionistic fuzzy sets. Fuzzy Sets and Systems, 20(1), 87-96.
  2. Chaira, T. (2011). A novel intuitionistic fuzzy C means clustering algorithm and its application to medical images. Applied Soft Computing, 11(2), 1711-1717.
  3. Yolcu, O.C. and Yolcu, U. (2023). A novel intuitionistic fuzzy time series prediction model with cascaded structure for financial time series. Expert Systems with Applications, 215, 119336.
  4. Venables, W.N. and Ripley, B.D. (2002). Modern Applied Statistics with S (4th ed.). Springer, New York.
  5. Breiman, L. (2001). Random forests. Machine Learning, 45(1), 5-32.
  6. Drucker, H., Burges, C.J.C., Kaufman, L., Smola, A. and Vapnik, V. (1997). Support vector regression machines. Advances in Neural Information Processing Systems 9, 155-161.
  7. Chen, T. and Guestrin, C. (2016). XGBoost: A scalable tree boosting system. Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, 785-794.
  8. Ke, G., Meng, Q., Finley, T., Wang, T., Chen, W., Ma, W., Ye, Q. and Liu, T.-Y. (2017). LightGBM: A highly efficient gradient boosting decision tree. Advances in Neural Information Processing Systems 30.
  9. Drucker, H. (1997). Improving regressors using boosting techniques. Proceedings of the 14th International Conference on Machine Learning, 107-115.
  10. Prokhorenkova, L., Gusev, G., Vorobev, A., Dorogush, A.V. and Gulin, A. (2018). CatBoost: unbiased boosting with categorical features. Advances in Neural Information Processing Systems 31.
Forecasting workspace

Build an intuitionistic fuzzy forecasting model

Follow the steps from left to right. Every choice has a sensible default.

New here? Load the built-in sample (monthly values of five commodity series, 2015-2024) to try the tool.
What should the file contain? One sheet or CSV, one row per time point
  • First row: column names.
  • Time column (optional): dates, months, quarters, years, week numbers, date-times or any labels. It is read automatically and shown back exactly as written.
  • One or more numeric series columns: you choose which one to forecast. At least 30 observations are recommended.
  • Formats: .xlsx, .xls or .csv. Missing values can be filled by interpolation.
Date Y1 Y2 ...
2015-01-01 768.20 1266.65 ...
2015-02-01 928.81 1178.63 ...
... ... ... ...
Sample file: Excel CSV
Upload your file Excel or CSV
Selected series
Loading...
Data preview
Upload data first.
Train-test split The first part of the series trains the model; the last part tests it
The test set is never used for fitting or tuning. Fuzzy clusters and scaling are estimated from the training set only.
Loading...
Select the model All models use the same intuitionistic fuzzy inputs; only the learner differs
Hyperparameters Choose 'Single value' to fix a parameter or 'Range' to tune it by grid search (min, max, step). Both are pre-filled with defaults.
Intuitionistic fuzzy settings
In (0, 1]; 1 gives ordinary fuzzy sets.
Validation and forecasting

Ready to run

Forecast accuracy
Selected hyperparameters

Settings used
Loading...
Test set: actual vs predicted
Loading...
Test set errors
Loading...
Solid lines: membership (mu); dashed lines: non-membership (nu); click a legend item to show the hesitation (pi) curve. Clusters are estimated from the training set.
Loading...
Cluster centres
Loading...
By feature group
Every run in this session is listed here. Run other models (or other settings) on the same series and split to compare them.
Loading...
Results workbook Current model

Sheets: Accuracy, Parameters, Test_Predictions, Training_Fitted, Tuning_History, IFCM_Centres, Feature_Importance, Settings, Data_Used.

Download Excel workbook
Model comparison All runs of this session

One row per run with the selected hyperparameters and training / test accuracy.

Download comparison (Excel)
User guide

How to use FuzzyML

Upload a series, split it, pick a model, set the hyperparameters and run. Results can be compared across models and downloaded.

1

Prepare your file

  • One sheet (Excel) or a CSV file with column names in the first row.
  • An optional time column in any format: dates, months (Jan-2015, 2015-01), quarters (2015Q1), years, financial years (2015-16), week numbers, date-times or labels.
  • One or more numeric columns. Each column is a separate series; you choose which one to forecast.
  • At least 30 observations are recommended; longer series allow larger lags.
Date Y1 Y2 ...
2015-01-01 768.20 1266.65 ...
2015-02-01 928.81 1178.63 ...

A sample file (Excel and CSV) is available on Model > 1. Upload data, together with a 'Load sample data' button.

2

Upload and choose the series

  • Upload the file; for Excel choose the sheet. Confirm the time column (or choose 'No time column' to use row order).
  • Select the series to forecast. Its plot, summary statistics and a data preview are shown.
  • Missing values inside the series are filled by linear interpolation (default).
3

Split into training and test sets

  • Use the slider to set the training share (default 0.8 = first 80% for training, last 20% for testing).
  • The plot shades the test period. The test set is only used to measure accuracy, never for fitting or tuning.
4

Select the model

  • IFANN : Intuitionistic Fuzzy Artificial Neural Network . Feed-forward neural network with one hidden layer; several networks from different random starts are averaged.
  • IFRF : Intuitionistic Fuzzy Random Forest . Bagged regression trees with random feature selection at every split (Breiman, 2001).
  • IFSVR : Intuitionistic Fuzzy Support Vector Regression . Epsilon-insensitive support vector regression with a kernel (Drucker et al., 1997).
  • IFXGBoost : Intuitionistic Fuzzy Extreme Gradient Boosting . Regularised gradient-boosted regression trees (Chen and Guestrin, 2016).
  • IFLightGBM : Intuitionistic Fuzzy Light Gradient Boosting Machine . Histogram-based, leaf-wise gradient boosting (Ke et al., 2017).
  • IFAdaBoost : Intuitionistic Fuzzy Adaptive Boosting (AdaBoost.R2) . AdaBoost.R2 (Drucker, 1997): regression trees fitted to re-weighted samples, combined by weighted median.
  • IFCatBoost : Intuitionistic Fuzzy Categorical Boosting . Gradient boosting with ordered boosting and symmetric (oblivious) trees (Prokhorenkova et al., 2018).

A model marked 'package not installed' needs its R package; see install_packages.R.

5

Set the hyperparameters

  • Single value: the parameter is fixed at the value given.
  • Range: the parameter is tuned by grid search over seq(min, max, by = step); e.g. lag 1, 12, 1 tries lags 1 to 12. Use min = max for one value.
  • Parameters set to Range are tuned jointly: every combination is evaluated. The number of combinations is shown live; keep it moderate (a few hundred) for quick runs.
  • Lag order: the number of past values used as inputs; tuned over 1 to 12 by default.
  • Intuitionistic fuzzy settings: number of clusters C (default 3), fuzzifier m (2), Yager exponent alpha (0.85).
  • Validation: candidates are compared on the last part of the training set (hold-out) or by expanding-window time-series cross-validation, using RMSE, MAE or MAPE.
  • Forecast type: one-step ahead uses the observed past values; recursive feeds predictions back for multi-step forecasts.
  • Random seed: fixes the random starts so results can be reproduced.
Hyperparameter reference
Model Hyperparameter Default single value Default range (min, max, step) Meaning
All models Lag order (L) 1 1, 12, 1 Number of past values used as inputs.
IFANN Hidden neurons (Size) 4 2, 8, 2 Number of neurons in the hidden layer. (positive integer)
IFANN Weight decay 0.01 0.01, 0.09, 0.04 L2 penalty on the network weights. (number >= 0)
IFRF Number of trees (Ntree) 500 100, 500, 200 Trees in the forest. (positive integer)
IFRF Mtry (proportion of inputs) 0.33 0.2, 1, 0.4 Share of inputs tried at each split, in (0, 1]. (proportion in (0, 1])
IFRF Minimum node size 5 1, 9, 4 Minimum size of terminal nodes. (positive integer)
IFSVR Cost (C) 1 1, 10, 3 Penalty for errors outside the epsilon tube. (number > 0)
IFSVR Gamma 0.05 0.01, 0.1, 0.03 Kernel width parameter (radial, polynomial, sigmoid). (number > 0)
IFSVR Epsilon 0.1 0.05, 0.25, 0.1 Width of the insensitive tube (on the 0-1 scaled target). (number >= 0)
IFXGBoost Boosting rounds 200 100, 300, 100 Number of trees. (positive integer)
IFXGBoost Learning rate (eta) 0.1 0.05, 0.25, 0.1 Shrinkage of each tree. (proportion in (0, 1])
IFXGBoost Maximum tree depth 4 2, 6, 2 Depth of each tree. (positive integer)
IFXGBoost Row subsample 0.8 0.6, 1, 0.2 Share of rows used for each tree. (proportion in (0, 1])
IFLightGBM Boosting rounds 200 100, 300, 100 Number of trees. (positive integer)
IFLightGBM Learning rate 0.1 0.05, 0.25, 0.1 Shrinkage of each tree. (proportion in (0, 1])
IFLightGBM Number of leaves 15 7, 31, 8 Maximum leaves per tree. (positive integer)
IFLightGBM Minimum data in leaf 5 3, 9, 3 Minimum observations in a leaf. (positive integer)
IFAdaBoost Number of estimators 100 50, 150, 50 Maximum boosting iterations. (positive integer)
IFAdaBoost Learning rate 1 0.5, 1.5, 0.5 Contribution of each tree. (number > 0)
IFAdaBoost Maximum tree depth 3 2, 4, 1 Depth of each regression tree. (positive integer)
IFCatBoost Iterations 300 100, 500, 200 Number of trees. (positive integer)
IFCatBoost Learning rate 0.1 0.05, 0.25, 0.1 Shrinkage of each tree. (proportion in (0, 1])
IFCatBoost Tree depth 4 2, 6, 2 Depth of the symmetric trees. (positive integer)
IFCatBoost L2 leaf regularisation 3 1, 5, 2 L2 penalty on leaf values. (number > 0)
6

Run and read the results

  • Click Run Model . A progress bar shows each combination being evaluated and the best score so far.
  • Accuracy: RMSE, MAE and MAPE (%) on the training and test sets, with the selected hyperparameters. Lower is better; judge the model mainly by the test set.
  • Forecast plot / Predictions: actual, fitted and predicted values; the test-set table lists errors and absolute percentage errors.
  • Tuning: the validation score of every combination (best per lag when the lag is tuned).
  • Fuzzy clusters: cluster centres with membership, non-membership and hesitation curves.
  • Feature importance: which lags and fuzzy degrees matter most (model-based for tree models, permutation-based for IFANN and IFSVR).
  • Model comparison: every run of the session side by side; run several models on the same split to choose the best.
7

Download

  • Results > Download: an Excel workbook of the current model and an Excel table comparing all runs.
  • Every table has Copy / CSV / Excel buttons and every plot a camera icon to save a PNG.

Troubleshooting

  • 'Lags larger than ... were dropped' - the validation window is too short for the largest lags; use a longer series, a larger training share or a smaller validation share.
  • Run takes long - reduce the number of Range parameters or widen their steps; IFAdaBoost and large forests are the slowest.
  • MAPE error - MAPE cannot be used when the series contains zeros; use RMSE or MAE.
  • Need at least 'C' distinct values - the training set has too few different values for the number of clusters; reduce C.
  • Package not installed - run install_packages.R; CatBoost is installed from its GitHub release (the script does this).
Developer team

Meet the team

This web application was developed at ICAR-Indian Agricultural Statistics Research Institute, New Delhi.

Dr. Md Yeasin

Dr. Md Yeasin

Scientist
ICAR-Indian Agricultural Statistics Research Institute, New Delhi
Dr. Ranjit Kumar Paul

Dr. Ranjit Kumar Paul

ICAR National Fellow
ICAR-Indian Agricultural Statistics Research Institute, New Delhi
Pushkar Bora

Pushkar Bora

Junior Research Fellow
ICAR-Indian Agricultural Statistics Research Institute, New Delhi
Anita Sarkar

Anita Sarkar

Student
ICAR-Indian Agricultural Statistics Research Institute, New Delhi
Dr. Amrit Kumar Paul

Dr. Amrit Kumar Paul

Principal Scientist
ICAR-Indian Agricultural Statistics Research Institute, New Delhi