├── pre_textuals ├── approval.tex ├── FolhaAprovacao.pdf ├── ficha_catalografica.pdf ├── cataloging.tex ├── epigraph.tex ├── dedication.tex ├── acronyms.tex ├── preface.tex ├── symbols.tex ├── acknowledgments.tex └── abstract.tex ├── figures ├── bsts.png ├── ifts.png ├── knn.png ├── qar.png ├── ufmg.jpg ├── arima.png ├── ifnmg.jpg ├── datasets.png ├── fts_order.png ├── speed_up.png ├── candlestick.png ├── ensemblefts.png ├── ifts_wifts.png ├── membership.png ├── pyfts_logo.png ├── dataset_sonda.png ├── datasets_acf.png ├── fts_partitions.png ├── fts_simplified.pdf ├── fts_taxonomy.pdf ├── fts_training.pdf ├── hofts_residual.png ├── ifts_interval.png ├── interval_arma.png ├── interval_qar.png ├── partitioners.png ├── pwfts_residual.png ├── dataset_malaysia.png ├── deho_convergence.png ├── ensemblefts_crps.png ├── fts_forecasting.pdf ├── fts_partitioning.png ├── hofts_gridsearch.png ├── ifts_gridsearch.png ├── ifts_many_steps.pdf ├── ifts_partitions.png ├── ifts_sensibility.png ├── pyfts_last07days.png ├── pyfts_last90days.png ├── whofts_residual.png ├── wifts_gridsearch.png ├── dataset_sonda_acf.png ├── distributed_models.pdf ├── distributed_testing.pdf ├── ifts_error_surface.png ├── ifts_sample_onestep.png ├── interval_ahead_arma.png ├── interval_many_steps.png ├── pwfts_ahead_point.png ├── variables_malaysia.png ├── wifts_error_surface.png ├── dataset_malaysia_acf.png ├── ensemblefts_training.pdf ├── ifts_sample_manystep.png ├── pwfts_ahead_interval.png ├── pwfts_fuzzyfrequency.pdf ├── pwfts_sample_manystep.png ├── pwfts_sample_onestep.png ├── variables_sonda_solar.png ├── variables_sonda_wind.png ├── convergence_sonda_solar.png ├── ensemblefts_forecasting.pdf ├── ensemblefts_winklerscore.png ├── mvfts_training_procedure.pdf ├── probabilistic_many_steps.png ├── pwfts_gridsearch_point.png ├── pwfts_rules_firstorder.png ├── convergence_malaysia_load.png ├── ensemblefts_sample_onestep.png ├── figfts_training_procedure.pdf ├── multivariate_point_results.png ├── pwfts_ahead_probabilistic.png ├── pwfts_gridsearch_interval.png ├── pwfts_sample_onestep_tiled.png ├── distributed_models_training.pdf ├── ensemblefts_sample_manystep.png ├── figfts_forecasting_procedure.pdf ├── figfts_probabilistic_manystep.png ├── figfts_probabilistic_onestep.png ├── multivariate_interval_results.png ├── multivariate_sample_manystep.png ├── multivariate_sample_onestep.png ├── mvfts_forecasting_procedure.pdf ├── pwfts_densities_secondorder.png ├── pwfts_probabilistic_manysteps.pdf ├── pwfts_sample_manystep_tiled.png ├── pwfts_ahead_probabilistic_tiled.png ├── pwfts_gridsearch_probabilistic.png ├── pwfts_probabilistic_forecasting.pdf ├── convergence_malaysia_temperature.png ├── figfts_probabilistic_onestep_tiled.png ├── multivariate_probabilistic_results.png └── figfts_probabilistic_manystep_tiled.png ├── experiments ├── experiments.db.gz └── hyperparameter.tar.gz ├── post_textuals ├── attachments.tex ├── appendix.tex ├── apd_monovariate_datasets.tex └── apd_multivariate_datasets.tex ├── definitions.tex ├── .zenodo.json ├── abntex2abrev.sty ├── README.md ├── main.tex ├── chapters ├── chp1_introduction.tex ├── chp7_conclusion.tex └── chap_results.tex ├── abbrvnat.bst └── abntex2.cls /pre_textuals/approval.tex: -------------------------------------------------------------------------------- 1 | \includepdf{pre_textuals/FolhaAprovacao.pdf} -------------------------------------------------------------------------------- /figures/bsts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/bsts.png -------------------------------------------------------------------------------- /figures/ifts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/ifts.png -------------------------------------------------------------------------------- /figures/knn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/knn.png -------------------------------------------------------------------------------- /figures/qar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/qar.png -------------------------------------------------------------------------------- /figures/ufmg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/ufmg.jpg -------------------------------------------------------------------------------- /figures/arima.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/arima.png -------------------------------------------------------------------------------- /figures/ifnmg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/ifnmg.jpg -------------------------------------------------------------------------------- /figures/datasets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/datasets.png -------------------------------------------------------------------------------- /figures/fts_order.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/fts_order.png -------------------------------------------------------------------------------- /figures/speed_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/speed_up.png -------------------------------------------------------------------------------- /figures/candlestick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/candlestick.png -------------------------------------------------------------------------------- /figures/ensemblefts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/ensemblefts.png -------------------------------------------------------------------------------- /figures/ifts_wifts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/ifts_wifts.png -------------------------------------------------------------------------------- /figures/membership.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/membership.png -------------------------------------------------------------------------------- /figures/pyfts_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/pyfts_logo.png -------------------------------------------------------------------------------- /figures/dataset_sonda.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/dataset_sonda.png -------------------------------------------------------------------------------- /figures/datasets_acf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/datasets_acf.png -------------------------------------------------------------------------------- /figures/fts_partitions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/fts_partitions.png -------------------------------------------------------------------------------- /figures/fts_simplified.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/fts_simplified.pdf -------------------------------------------------------------------------------- /figures/fts_taxonomy.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/fts_taxonomy.pdf -------------------------------------------------------------------------------- /figures/fts_training.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/fts_training.pdf -------------------------------------------------------------------------------- /figures/hofts_residual.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/hofts_residual.png -------------------------------------------------------------------------------- /figures/ifts_interval.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/ifts_interval.png -------------------------------------------------------------------------------- /figures/interval_arma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/interval_arma.png -------------------------------------------------------------------------------- /figures/interval_qar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/interval_qar.png -------------------------------------------------------------------------------- /figures/partitioners.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/partitioners.png -------------------------------------------------------------------------------- /figures/pwfts_residual.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/pwfts_residual.png -------------------------------------------------------------------------------- /figures/dataset_malaysia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/dataset_malaysia.png -------------------------------------------------------------------------------- /figures/deho_convergence.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/deho_convergence.png -------------------------------------------------------------------------------- /figures/ensemblefts_crps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/ensemblefts_crps.png -------------------------------------------------------------------------------- /figures/fts_forecasting.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/fts_forecasting.pdf -------------------------------------------------------------------------------- /figures/fts_partitioning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/fts_partitioning.png -------------------------------------------------------------------------------- /figures/hofts_gridsearch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/hofts_gridsearch.png -------------------------------------------------------------------------------- /figures/ifts_gridsearch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/ifts_gridsearch.png -------------------------------------------------------------------------------- /figures/ifts_many_steps.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/ifts_many_steps.pdf -------------------------------------------------------------------------------- /figures/ifts_partitions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/ifts_partitions.png -------------------------------------------------------------------------------- /figures/ifts_sensibility.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/ifts_sensibility.png -------------------------------------------------------------------------------- /figures/pyfts_last07days.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/pyfts_last07days.png -------------------------------------------------------------------------------- /figures/pyfts_last90days.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/pyfts_last90days.png -------------------------------------------------------------------------------- /figures/whofts_residual.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/whofts_residual.png -------------------------------------------------------------------------------- /figures/wifts_gridsearch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/wifts_gridsearch.png -------------------------------------------------------------------------------- /experiments/experiments.db.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/experiments/experiments.db.gz -------------------------------------------------------------------------------- /figures/dataset_sonda_acf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/dataset_sonda_acf.png -------------------------------------------------------------------------------- /figures/distributed_models.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/distributed_models.pdf -------------------------------------------------------------------------------- /figures/distributed_testing.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/distributed_testing.pdf -------------------------------------------------------------------------------- /figures/ifts_error_surface.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/ifts_error_surface.png -------------------------------------------------------------------------------- /figures/ifts_sample_onestep.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/ifts_sample_onestep.png -------------------------------------------------------------------------------- /figures/interval_ahead_arma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/interval_ahead_arma.png -------------------------------------------------------------------------------- /figures/interval_many_steps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/interval_many_steps.png -------------------------------------------------------------------------------- /figures/pwfts_ahead_point.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/pwfts_ahead_point.png -------------------------------------------------------------------------------- /figures/variables_malaysia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/variables_malaysia.png -------------------------------------------------------------------------------- /figures/wifts_error_surface.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/wifts_error_surface.png -------------------------------------------------------------------------------- /pre_textuals/FolhaAprovacao.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/pre_textuals/FolhaAprovacao.pdf -------------------------------------------------------------------------------- /experiments/hyperparameter.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/experiments/hyperparameter.tar.gz -------------------------------------------------------------------------------- /figures/dataset_malaysia_acf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/dataset_malaysia_acf.png -------------------------------------------------------------------------------- /figures/ensemblefts_training.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/ensemblefts_training.pdf -------------------------------------------------------------------------------- /figures/ifts_sample_manystep.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/ifts_sample_manystep.png -------------------------------------------------------------------------------- /figures/pwfts_ahead_interval.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/pwfts_ahead_interval.png -------------------------------------------------------------------------------- /figures/pwfts_fuzzyfrequency.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/pwfts_fuzzyfrequency.pdf -------------------------------------------------------------------------------- /figures/pwfts_sample_manystep.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/pwfts_sample_manystep.png -------------------------------------------------------------------------------- /figures/pwfts_sample_onestep.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/pwfts_sample_onestep.png -------------------------------------------------------------------------------- /figures/variables_sonda_solar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/variables_sonda_solar.png -------------------------------------------------------------------------------- /figures/variables_sonda_wind.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/variables_sonda_wind.png -------------------------------------------------------------------------------- /figures/convergence_sonda_solar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/convergence_sonda_solar.png -------------------------------------------------------------------------------- /figures/ensemblefts_forecasting.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/ensemblefts_forecasting.pdf -------------------------------------------------------------------------------- /figures/ensemblefts_winklerscore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/ensemblefts_winklerscore.png -------------------------------------------------------------------------------- /figures/mvfts_training_procedure.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/mvfts_training_procedure.pdf -------------------------------------------------------------------------------- /figures/probabilistic_many_steps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/probabilistic_many_steps.png -------------------------------------------------------------------------------- /figures/pwfts_gridsearch_point.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/pwfts_gridsearch_point.png -------------------------------------------------------------------------------- /figures/pwfts_rules_firstorder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/pwfts_rules_firstorder.png -------------------------------------------------------------------------------- /pre_textuals/ficha_catalografica.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/pre_textuals/ficha_catalografica.pdf -------------------------------------------------------------------------------- /figures/convergence_malaysia_load.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/convergence_malaysia_load.png -------------------------------------------------------------------------------- /figures/ensemblefts_sample_onestep.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/ensemblefts_sample_onestep.png -------------------------------------------------------------------------------- /figures/figfts_training_procedure.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/figfts_training_procedure.pdf -------------------------------------------------------------------------------- /figures/multivariate_point_results.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/multivariate_point_results.png -------------------------------------------------------------------------------- /figures/pwfts_ahead_probabilistic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/pwfts_ahead_probabilistic.png -------------------------------------------------------------------------------- /figures/pwfts_gridsearch_interval.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/pwfts_gridsearch_interval.png -------------------------------------------------------------------------------- /figures/pwfts_sample_onestep_tiled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/pwfts_sample_onestep_tiled.png -------------------------------------------------------------------------------- /figures/distributed_models_training.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/distributed_models_training.pdf -------------------------------------------------------------------------------- /figures/ensemblefts_sample_manystep.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/ensemblefts_sample_manystep.png -------------------------------------------------------------------------------- /figures/figfts_forecasting_procedure.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/figfts_forecasting_procedure.pdf -------------------------------------------------------------------------------- /figures/figfts_probabilistic_manystep.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/figfts_probabilistic_manystep.png -------------------------------------------------------------------------------- /figures/figfts_probabilistic_onestep.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/figfts_probabilistic_onestep.png -------------------------------------------------------------------------------- /figures/multivariate_interval_results.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/multivariate_interval_results.png -------------------------------------------------------------------------------- /figures/multivariate_sample_manystep.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/multivariate_sample_manystep.png -------------------------------------------------------------------------------- /figures/multivariate_sample_onestep.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/multivariate_sample_onestep.png -------------------------------------------------------------------------------- /figures/mvfts_forecasting_procedure.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/mvfts_forecasting_procedure.pdf -------------------------------------------------------------------------------- /figures/pwfts_densities_secondorder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/pwfts_densities_secondorder.png -------------------------------------------------------------------------------- /figures/pwfts_probabilistic_manysteps.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/pwfts_probabilistic_manysteps.pdf -------------------------------------------------------------------------------- /figures/pwfts_sample_manystep_tiled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/pwfts_sample_manystep_tiled.png -------------------------------------------------------------------------------- /figures/pwfts_ahead_probabilistic_tiled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/pwfts_ahead_probabilistic_tiled.png -------------------------------------------------------------------------------- /figures/pwfts_gridsearch_probabilistic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/pwfts_gridsearch_probabilistic.png -------------------------------------------------------------------------------- /figures/pwfts_probabilistic_forecasting.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/pwfts_probabilistic_forecasting.pdf -------------------------------------------------------------------------------- /figures/convergence_malaysia_temperature.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/convergence_malaysia_temperature.png -------------------------------------------------------------------------------- /figures/figfts_probabilistic_onestep_tiled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/figfts_probabilistic_onestep_tiled.png -------------------------------------------------------------------------------- /figures/multivariate_probabilistic_results.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/multivariate_probabilistic_results.png -------------------------------------------------------------------------------- /figures/figfts_probabilistic_manystep_tiled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/petroniocandido/PhdThesis/HEAD/figures/figfts_probabilistic_manystep_tiled.png -------------------------------------------------------------------------------- /pre_textuals/cataloging.tex: -------------------------------------------------------------------------------- 1 | %----------------------------------- 2 | % Cataloguing data 3 | 4 | % Manually 5 | % \begin{fichacatalografica} 6 | \includepdf{pre_textuals/ficha_catalografica.pdf} 7 | % \end{fichacatalografica} 8 | 9 | % or 10 | % Automatically 11 | 12 | -------------------------------------------------------------------------------- /pre_textuals/epigraph.tex: -------------------------------------------------------------------------------- 1 | \begin{epigrafe} 2 | \vspace*{\fill} 3 | \begin{flushright} 4 | \textit{ 5 | ``Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it. And to make matters worse: complexity sells better'' (Edsger Wybe Dijkstra)} 6 | \end{flushright} 7 | \end{epigrafe} -------------------------------------------------------------------------------- /post_textuals/attachments.tex: -------------------------------------------------------------------------------- 1 | \begin{anexosenv} 2 | \label{attachments} 3 | 4 | %----------------------------------- 5 | \chapter{Titulo do anexo I} \label{anexoA} 6 | 7 | \begin{figure}[htb] 8 | \centering 9 | \includegraphics[]{figures/looneytunes.jpg} 10 | \caption{That's all Folks} 11 | \label{fig_looneytunes} 12 | \caption*{Fonte: Warner Bross, 1500} 13 | \end{figure} 14 | 15 | 16 | 17 | \end{anexosenv} -------------------------------------------------------------------------------- /post_textuals/appendix.tex: -------------------------------------------------------------------------------- 1 | %----------------------------------- 2 | \begin{apendicesenv} 3 | \label{appendix} 4 | %----------------------------------- 5 | 6 | %----------------------------------- 7 | %\chapter{Summary of FTS methods} \label{apd:fts_summary} 8 | % Please add the following required packages to your document preamble: 9 | % \usepackage{longtable} 10 | % Note: It may be necessary to compile the document several times to get a multi-page table to line up properly 11 | 12 | \input{post_textuals/apd_monovariate_datasets.tex} 13 | \input{post_textuals/apd_multivariate_datasets.tex} 14 | 15 | \end{apendicesenv} -------------------------------------------------------------------------------- /definitions.tex: -------------------------------------------------------------------------------- 1 | \newcommand{\var}{\mathcal{V}} 2 | \newcommand{\vari}{\mathcal{V}_i} 3 | \newcommand{\ulvar}{\tilde{A}} 4 | \newcommand{\mlvar}{\widetilde{\mathcal{V}}_i} 5 | \newcommand{\tlvar}{\widetilde{*\mathcal{V}}} 6 | \newcommand{\ufset}{A_j} 7 | \newcommand{\mfset}{A_j^{\vari}} 8 | \newcommand{\tfset}{A_j^{*\var}} 9 | \newcommand{\model}{\mathcal{M}} 10 | \newcommand{\estimate}{\hat{y}(t+1)} 11 | \newcommand{\intvl}{\mathbb{I}} 12 | \newcommand{\interval}{\intvl = [\underline{l},\overline{u}{]}} 13 | \newcommand{\ifts}{[\mathbb{I}]FTS} 14 | \newcommand{\FIG}{\mathcal{FIG}} 15 | \newcommand{\fig}{\mathcal{G}} 16 | \newcommand{\figi}{\mathcal{G}_i} 17 | \renewcommand{\textdegree}{$^{\circ}$} 18 | 19 | -------------------------------------------------------------------------------- /pre_textuals/dedication.tex: -------------------------------------------------------------------------------- 1 | \begin{dedicatoria} 2 | \vspace*{\fill} 3 | \centering 4 | \noindent 5 | \textit{We all are the sum of many people - the result of their direct or indirect efforts for us. We have no merit alone neither did nothing in our life by ourselves. Because this I dedicate this work to the wide web of people that somehow helped me to become what I am. When I remember the people around me in my life, with varying degrees of closeness, I realize that it is almost impossible to separate what is my own and what is influence absorbed from others. Because of this, I am continuously meditating about all my ancestors (also my parents in law) and my friends. It's always on my mind their disposition to help and their sacrifices to offer better life conditions to their sons, actions that paved the road I'm walking now. I'm grateful to all of you!} 6 | \vspace*{\fill} 7 | \end{dedicatoria} -------------------------------------------------------------------------------- /pre_textuals/acronyms.tex: -------------------------------------------------------------------------------- 1 | %----------------------------------- 2 | % Abbreviations and acronyms 3 | %----------------------------------- 4 | 5 | \begin{siglas} 6 | \item[ARIMA] Autoregressive Integrated Moving Average 7 | \item[BSTS] Bayesian Structural Time Series 8 | \item[CRPS] Continuous Ranked Probability Score 9 | \item[DEHO] Distributed Evolutionary Hyperparameter Optimization 10 | \item[FIG] Fuzzy Information Granule 11 | \item[FIG-FTS] Fuzzy Information Granule Fuzzy Time Series 12 | \item[FLR] Fuzzy Logical Relationship 13 | \item[FLRG] Fuzzy Logical Relationship Group 14 | \item[FTP] Fuzzy Temporal Pattern 15 | \item[FTPG] Fuzzy Temporal Pattern Group 16 | \item[FTS] Fuzzy Time Series 17 | \item[HOFTS] High Order Fuzzy Time Series 18 | \item[IFTS] Interval Fuzzy Time Series 19 | \item[LHS] Left Hand Side 20 | \item[MAE] Mean Absolute Error 21 | \item[MAPE] Mean Average Percent Error 22 | \item[MVFTS] Multivariate Fuzzy Time Series 23 | \item[PWFTP] Probabilistic Weighted Fuzzy Temporal Pattern 24 | \item[PWFTPG] Probabilistic Weighted Fuzzy Temporal Pattern Group 25 | \item[PWFTS] Probabilistic Weighted Fuzzy Time Series 26 | \item[QAR] Quantile Autoregression 27 | \item[RHS] Right Hand Side 28 | \item[RMSE] Root Mean Squared Error 29 | \item[UoD] Universe of Discourse 30 | \item[WHOFTS] Weighted High Order Fuzzy Time Series 31 | \item[WIFTS] Weighted Interval Fuzzy Time Series 32 | \item[WMVFTS] Weighted Multivariate Fuzzy Time Series 33 | \end{siglas} -------------------------------------------------------------------------------- /pre_textuals/preface.tex: -------------------------------------------------------------------------------- 1 | % Prefácio 2 | \chapter*[Preface]{Preface} \index{Preface} 3 | 4 | \newepigraph{From my part I know nothing with any certainty, but the sight of the stars makes me dream.} 5 | {Vincent Van Gogh} 6 | 7 | When Prof. Fred suggested me to study Fuzzy Time Series - I need to confess - I became excited. Because one of the most fascinating issues on scientific research is to deal with uncertainty. Uncertainty is pervasive, omnipresent and self propagated. Pliny the Elder, early on first century of Cristian Age, stated that ``the only certainty is the uncertainty''. The mankind expanded the boundaries of the knowledge and some uncertainties could be reduced or eliminated. Others, however, remain irreducible. And here we are! 8 | 9 | I always felt uncomfortable with the mechanistic and deterministic view of the world. The advances of science have forced us to assume some limitations of our knowledge and accept the separation between our known-knowns, the known-unknowns and even of the unknown-unknowns. We know now that we live in a fuzzy and probabilistic world. 10 | 11 | And until here we just talked about the present and the past. Things get even more interesting when we try to look ahead and predict the future. If we can't measure accurately some natural, social and economical processes, due to instrumentation limitations for example, and these processes are also intrinsically non-deterministic, these uncertainties combined make the forecasting task complex and barely precise. 12 | 13 | The fog of uncertainty becomes yet more dense as the forecasting horizon goes away: the forecasting methods need to into take account all uncertainties on present to forecast ranges of possibilities on future. When we look more than one step in the future the forecasting method should consider all possible combinations in the range of variation of each past step - and this increases the complexity and the output uncertainty. 14 | 15 | With this research problem in hand, many ideas in mind, and a lot of excitement, we expect to give some contributions to this field. We focused on non-deterministic processes and assume that all measurements are not completely accurate, every single value actually represents a fuzzy neighborhood. We propose to bring the fuzzy time series to the domain of probabilistic forecasting. 16 | 17 | I hope you enjoy this work as I enjoyed dreaming and implementing it. 18 | -------------------------------------------------------------------------------- /post_textuals/apd_monovariate_datasets.tex: -------------------------------------------------------------------------------- 1 | \chapter{Monovariate Benchmark Datasets} 2 | \label{apd:monovariate_datasets}\index{Monovariate Benchmark Datasets} 3 | 4 | The Taiwan Stock Exchange Capitalization Weighted Stock Index (TAIEX)\footnote{\url{http://www.twse.com.tw/en/products/indices/Index_Series.php}. Access in 23/05/2016} is a well known economic time series data commonly used in the FTS literature. This dataset is sampled from 1995 to 2014 time window, and has the averaged daily index by business day. This is a stationary time series dataset whose Augmented Dickey-Fuller (ADF) statistic is $-2.65$ where the critical value for $\alpha = 0.05$ is $-2.86$. 5 | \index{Taiwan Stock Exchange Capitalization Weighted Stock Index}\index{TAIEX} 6 | 7 | 8 | The National Association of Securities Dealers Automated Quotations - Composite Index (NASDAQ \^IXIC)\footnote{\url{http://www.nasdaq.com/aspx/flashquotes.aspx?symbol=IXIC\&selected=IXIC}. Access in 23/05/2016} is an economical index already used in the FTS literature . The historical data was sampled from 2000 to 2016 time window, and has the averaged daily index by business day. This is a stationary time series dataset whose ADF statistic is $0.04$ where the critical value for $\alpha = 0.05$ is $-2.86$. 9 | \index{National Association of Securities Dealers Automated Quotations}\index{NASDAQ} 10 | 11 | The S\&P500 - Standard \& Poor's 500 \footnote{\url{https://finance.yahoo.com/quote/\%5EGSPC/history?p=\%5EGSPC}. Access in 19/03/2017} is a market index composed by 500 assets quoted on New York Stock Exchange and Nasdaq. This dataset contains the averaged daily index, by business day, from 1950 to 2017 with 16000 instances. This is a stationary dataset whose ADF Statistic is 0.00 where critical value for $\alpha = 0.05$ is $-2.86$. 12 | \index{Standard \& Poor's 500}\index{S\&P 500} 13 | 14 | In order to contribute with the research reproducibility, all data and source codes are available in the following URL \url{http://bit.ly/scalable_probabilistic_fts_appendixA}. 15 | \index{Reproducibility}\index{Source codes} 16 | 17 | \begin{figure} 18 | \centering 19 | \includegraphics[width=\textwidth]{figures/datasets.png} 20 | \caption{Benchmark datasets} 21 | \label{fig:datasets} 22 | \end{figure} 23 | 24 | \begin{figure} 25 | \centering 26 | \includegraphics[width=\textwidth]{figures/datasets_acf.png} 27 | \caption{Autocorrelation and Partial Autocorrelation plots for each benchmark dataset} 28 | \label{fig:datasets_acf} 29 | \end{figure} 30 | 31 | -------------------------------------------------------------------------------- /pre_textuals/symbols.tex: -------------------------------------------------------------------------------- 1 | %----------------------------------- 2 | % Symbols 3 | %----------------------------------- 4 | 5 | \begin{simbolos} 6 | 7 | \item[$Y \in \mathbb{R}^n$] the crisp time series data 8 | \item[$n = |\var|$] the number of variables of $Y$, univariate if $n=1$ or multivariate if $n > 1$ 9 | \item[$y(t) \in Y$] an individual instance of $Y$ on time $t$ 10 | \item[$F \in \ulvar$] Linguistic time series produced by $Y$ fuzzyfication 11 | \item[$f(t) \in F$] an individual instance of $F$ on time $t$, such that $f(t) = \{ \ufset\;|\; \mu_{\ufset}(y(t)) \geq \alpha\; \forall \ufset \in \ulvar \}$ 12 | \item[$U = [\underline{l},\overline{u}{]}$] the Universe of Discourse of a univariate $Y$, where the lower bound is $l = \min Y$ and the upper bound is $u = \max Y$. 13 | \item[$T \in \mathbb{N}^+$] the total length of $Y$ 14 | \item[$t \in T$] the time index 15 | \item[$k \in \mathbb{N}^+$] the number of partitions of $U$ 16 | \item[$\alpha \in [0,1{]}$] the Alfa-Cut, the minimal membership grade to be considered in fuzzyfication process 17 | \item[$\Omega \in \mathbb{N}^+$] the Model order, the number of time series lags used by model 18 | \item[$L$] the lag indexes 19 | \item[$\mu_{\ufset}: U \rightarrow [0,1{]}$] the fuzzy membership function for fuzzy set $\ufset$, $j = 1..k$ 20 | \item[$\ulvar$] the linguistic variable for univariate $Y$ 21 | \item[$\ufset \in \ulvar$] the individual fuzzy sets in $\ulvar$, $j = 1..k$ 22 | \item[$\var$] the set of variables of a multivariate $Y$ 23 | \item[$\vari \in \var$] an individual variable of $Y$, $i = 1..n$ 24 | \item[$*\var \in \var$] the target variable (or endogenous variable) of $Y$ 25 | \item[$U_i$] the Universe of Discourse of each $\vari$, for multivariate $Y$ , $i = 1..n$ 26 | \item[$k_i$] Number of partitions of $U_i$ for each $\vari$, for multivariate $Y$, $i = 1..n$ 27 | \item[$\alpha_i$] Alpha-Cut for each $\vari \in \var$, $i = 1..n$ 28 | \item[$\mlvar$] the linguistic variable for each $\vari \in \var$, the group of fuzzy sets, $i = 1..n$ 29 | \item[$\mfset \in \mlvar$] the individuals fuzzy sets in $\mlvar$, $i = 1..n$ and $j = 1..k_i$ 30 | \item[$\model$] the FTS model, including the linguistic variable $\ulvar$ and the knowledge model 31 | \item[$|\model|$] the model parsimony, the amount of parameters of the model 32 | \item[$H \in \mathbb{N}^+$] The forecasting horizon, i.e, the number of steps to predict ahead 33 | \item[$\estimate \in \mathbb{R}^n$] a point forecast for time $t+1$ 34 | \item[$\interval$] a prediction interval for time $t+1$ with lower bound $l \in \mathbb{R}$ and upper bound $u \in \mathbb{R}$ 35 | \item[$P: U \rightarrow [0,1{]}$] a probability distribution forecast for time $t+1$ 36 | \end{simbolos} -------------------------------------------------------------------------------- /pre_textuals/acknowledgments.tex: -------------------------------------------------------------------------------- 1 | \begin{agradecimentos} 2 | I would like to thank all my familly, but at first place my parents Joaquim Cândido and Édina Lúcia that are the main responsible for this achievement. You have no idea the respect, admiration and love I have for you. You are my heros! My brothers André and Ivana, my best friends since ever and forever and people that always inspired me. My parents in law, Antônio Dourado and Arlete Fraga, precious gifts that life gave me and I love and keep inside my heart. 3 | 4 | My grandfathers Olavo Cândido and Otávio Perpétuo and my grandmothers Maria da Conceição (Lia) and Maria Salomé (Nina), \textit{in memoriam}. 5 | 6 | My precious jewel of light, my wife Nikaelle Fraga, I'm really devoted to you! You suffer with me each step of this odyssey, each pain and each victory. You deserve more credits for this than me, for having supported me and encouraged me to follow my dreams. You give meaning to my favorite quote: \textit{Ubi thesaurus tuus est, ibi cor tuum est}. I love you! 7 | 8 | All my uncles, especially those from BH who were close to me during this journey: João Domingos, Maria Vita, Geralda Magela and Alencar Sanches (no, I didn't forget about those from VGP and SSA, I love you!). All my cousins, especially Bruno Araújo and Alexandra Ank, thank you for everything! My sister-in-law Ingrid and my godchildren João Rafael and Antônio Nicolau, thanks for the good vibes. 9 | 10 | My advisor Prof. Dr. Frederico Gadelha Guimarães, the best advisor ever and really a gifted person. I'm really proud to be your student and it's an honor to have the opportunity to learn with you! Best wishes also for his wife Rúbia Pereira and his lovely daughter Laura. 11 | 12 | My co-advisor Prof. Dr. Hossein Javedani Sadaei, a fantastic person which to a person who helped me and taught me a lot, also possibly the world's greatest specialist on Fuzzy Time Series. It's a privilege to count on you! 13 | 14 | My lifelong best friends Prof. Dr. Gefter Thiago, Prof. Dr. Márcio Ramos (Bisa) and Prof. Rodrigo Carneiro Brandão. Even living so far and been so unplugged, my thoughts will always be with you! You are the best guys ever! 15 | 16 | All professors and staff of the PPGEE - UFMG and my teammates on MINDS - Machine Intelligence and Data Science Laboratory, very special and careful people! Marcos Alves, Carlos Severiano, Gustavo Vieira, Tamires Rezende, Rodrigo Pedrosa, Cristiano Leite, Ivan Reinaldo, Rúbia Reis, Leonardo Augusto, Giulia Zanon, Maria Victória, Fernando Galindres, Roozbeh, Kossar, Omid Orang, Babak and Bruno Alberto. Thank you very much! 17 | 18 | All colleagues and students of IFNMG - Instituto Federal do Norte de Minas Gerais. I will not nominate to avoid any omission, except for these special guys: Paulo Vitor (PV), Felipe (Bolinha) and Patrícia Lucas, also my colleagues at PPGEE. 19 | 20 | Finally, my kittens Perrengo, Yôda, Salém and Vingador, my companies during the long nights writing this work. Meow! 21 | 22 | \vspace{5cm} 23 | 24 | 25 | \begin{center} 26 | \textbf{\textit{Glória in Excélsis Deo!}} 27 | \end{center} 28 | 29 | \end{agradecimentos} -------------------------------------------------------------------------------- /post_textuals/apd_multivariate_datasets.tex: -------------------------------------------------------------------------------- 1 | \chapter{Multivariate and Large Benchmark Datasets} 2 | \label{apd:multivariate_datasets}\index{Multivariate and Large Benchmark Datasets} 3 | 4 | In order to contribute with the research reproducibility, all data and source codes are available in the following URL \url{http://bit.ly/scalable_probabilistic_fts_appendixB}. 5 | \index{Reproducibility}\index{Source codes} 6 | 7 | 8 | \section{SONDA dataset} 9 | 10 | The Project SONDA - Sistema de Organização Nacional de Dados Ambientais (Brazilian National System of Environmental Data Organization), is a governmental project which groups environmental data (solar radiance, wind speed, precipitation, etc) from INPE - Instituto Nacional de Pesquisas Espaciais (Brazilian Institute of Space Research). The chosen variables are the global solar horizontal radiation and the wind speed at 10 meters, both from the Brasilia telemetry station\footnote{Code: BRB. Coordinates: 15\textdegree 36' 03" S 47\textdegree 42'47" O. Alt.: 1023m}, recorded between 2012 and 2015, by minute, summing 2 million instances. This dataset was retrieved directly from the SONDA Project page at \url{http://sonda.ccst.inpe.br/}\footnote{Access in 19/05/2019} 11 | \index{SONDA}\index{Sistema de Organização Nacional de Dados Ambientais}\index{Brazilian National System of Environmental Data Organization} 12 | 13 | \begin{table}[htb] 14 | \centering 15 | \begin{tabular}{|c|c|l|} \hline 16 | \textbf{Variable} & \textbf{Type} & \textbf{Description} \\ \hline 17 | DateTime & Time Stamp & yyyy-MM-dd HH:MM \\ \hline 18 | glo\_avg & Real & Global average solar radiation in \\ \hline 19 | ws\_10m & Real & Wind speed in meters by second (m/s) \\ \hline 20 | \end{tabular} 21 | \caption{SONDA dataset variables} 22 | \label{tab:sonda_variables} 23 | \end{table} 24 | 25 | \begin{figure}[htb] 26 | \centering 27 | \includegraphics[width=\textwidth]{figures/dataset_sonda.png} 28 | \caption{SONDA dataset samples} 29 | \label{fig:sonda} 30 | \end{figure} 31 | 32 | \begin{figure}[htb] 33 | \centering 34 | \includegraphics[width=\textwidth]{figures/dataset_sonda_acf.png} 35 | \caption{Autocorrelation and Partial Autocorrelation plots for SONDA dataset} 36 | \label{fig:sonda_acf} 37 | \end{figure} 38 | 39 | \section{Malaysia dataset} 40 | 41 | Hourly electric load and temperature data of the power supply company of the city of Johor in Malaysia sampled between 2009 and 2010, with 17,519 instances. This dataset was retrieved from \cite{Sadaei2019}. 42 | \index{Malaysia Dataset} 43 | 44 | \begin{table}[htb] 45 | \centering 46 | \begin{tabular}{|c|c|l|} \hline 47 | \textbf{Variable} & \textbf{Type} & \textbf{Description} \\ \hline 48 | DateTime & Time Stamp & yyyy-MM-dd HH:MM \\ \hline 49 | temperature & Real & Temperature in Celcius degrees ($^o$C) \\ \hline 50 | load & Integer & Eletric load in Mega Watts by hour (MW/h) \\ \hline 51 | \end{tabular} 52 | \caption{Malaysia dataset variables} 53 | \label{tab:malaysia_variables} 54 | \end{table} 55 | 56 | \begin{figure}[htb] 57 | \centering 58 | \includegraphics[width=\textwidth]{figures/dataset_malaysia.png} 59 | \caption{Malaysia dataset samples} 60 | \label{fig:malaysia} 61 | \end{figure} 62 | 63 | \begin{figure}[htb] 64 | \centering 65 | \includegraphics[width=\textwidth]{figures/dataset_malaysia_acf.png} 66 | \caption{Autocorrelation and Partial Autocorrelation plots for Malaysia dataset} 67 | \label{fig:malaysia_acf} 68 | \end{figure} 69 | 70 | -------------------------------------------------------------------------------- /.zenodo.json: -------------------------------------------------------------------------------- 1 | { 2 | "contributors": [], 3 | "language": "eng", 4 | "title": "Scalable Models For Probabilistic Forecasting With Fuzzy Time Series (PhD Thesis)", 5 | "thesis_university": "Federal University of Minas Gerais (UFMG), Brazil", 6 | "thesis_supervisors": [ 7 | { 8 | "orcid": "0000-0001-9238-8839", 9 | "affiliation": "Electrical Engineering Dept, Federal University of Minas Gerais (UFMG), Brazil", 10 | "name": "Frederico Gadelha Guimar\u00e3es" 11 | }, 12 | { 13 | "orcid": "0000-0002-0848-9280", 14 | "affiliation": "MINDS - Machine Learning and Data Science", 15 | "name": "Hossein Javedani Sadaei" 16 | } 17 | ], 18 | "publication_type": "thesis", 19 | "references": [ 20 | "Petr\u00f4nio C\u00e2ndido de Lima e Silva et al. pyFTS: Fuzzy Time Series for Python. Stable version 1.6 (Version pkg1.6). Zenodo. http://doi.org/10.5281/zenodo.597359", 21 | "SILVA, Petr\u00f4nio C. L.; SADAEI, Hossein J. ; BALLINI, Ros\u00e2ngela ; GUIMAR\u00c3ES, Frederico G. . Probabilistic Forecasting With Fuzzy Time Series. IEEE Transactions on Fuzzy Systems, v. 1, p. 1-1, 2019. DOI: 10.1109/tfuzz.2019.2922152", 22 | "SADAEI, Hossein J.; SILVA, Petr\u00f4nio C. L.; GUIMAR\u00c3ES, Frederico G.; LEE, Muhammad H. Short-term load forecasting by using a combined method of convolutional neural networks and fuzzy time series. ENERGY, v. 174, p. 1, 2019. DOI: 10.1016/j.energy.2019.03.081", 23 | "SILVA, Petr\u00f4nio C. L.; LUCAS, Patr\u00edcia O. ; GUIMAR\u00c3ES, Frederico G. A Distributed Algorithm for Scalable Fuzzy Time Series. Lecture Notes in Computer Science. 1ed.: Springer International Publishing, 2019, v. , p. 42-56. DOI: 10.1007/978-3-030-19223-5\\_4", 24 | "SEVERIANO Jr, Carlos A.; SILVA, Petr\u00f4nio C.; SADAEI, Hossein J.; GUIMAR\u00c3ES, Frederico G. Very Short-term Solar Forecasting using Fuzzy Time Series. 2017 IEEE Conference on Fuzzy Systems. DOI: 10.1109/fuzz-ieee.2017.8015732", 25 | "SILVA, Petr\u00f4nio C. L.; SADAEI, Hossein J.; GUIMAR\u00c3ES, Frederico G. Interval Forecasting with Fuzzy Time Series. In Computational Intelligence (SSCI), 2016 IEEE Symposium Series on (pp. 1-8). IEEE. DOI: 10.1109/ssci.2016.7850010" 26 | ], 27 | "upload_type": "publication", 28 | "keywords": [ 29 | "probabilistic forecasting", 30 | "interval forecasting", 31 | "fuzzy time series", 32 | "scalability" 33 | ], 34 | "publication_date": "2019-07-24", 35 | "creators": [ 36 | { 37 | "orcid": "0000-0002-1202-2552", 38 | "affiliation": "IFNMG - Instituto Federal do Norte de Minas Gerais", 39 | "name": "Petr\u00f4nio C\u00e2ndido de Lima e Silva" 40 | } 41 | ], 42 | "access_right": "closed", 43 | "description": "

Abstract

\n\n

On time series forecasting field the most known methods are based on point forecasting. However, this kind of forecasting has a serious drawback: it does not quantify the uncertainties inherent to natural and social processes neither other uncertainties caused by the data capturing and processing. Because this in last years the interval and probabilistic forecasting methods have gaining more attention of researches, specially on environmental and economical sciences. But these techniques also have its own issues due the methods being black-boxes and use stochastic simulations and ensembles of multiple forecasting methods which are computationally expensive.

\n\n

In other hand, the data volume (number of instances) and dimensionality (number of variables) have reached magnitudes even greater, due to the commoditizing of the capturing and storing computational devices, in a phenom knows as Big Data. Such factors impact directly in the models's training and updating costs, and for time series with Big Data characteristics, the scalability became a decisive factor in the choosing of predictive methods.

\n\n

In this context emerge the Fuzzy Time Series (FTS) methods, which have growing in recent years due their accurate results, easy to implement, low computational cost and model explainability. The Fuzzy Time Series methods have been applied to forecast electric load, market assets, economical indicators, tourism demand, etc. But there is a lack on FTS literature regarding to interval and probabilistic forecasting.

\n\n

This thesis proposes new scalable Fuzzy Time Series methods and discuss its application on point, interval and probabilistic forecasting of mono and multivariate time series, for one to many steps ahead. The parameters and hyper-parameters are discussed and fine tunning alternatives are presented. Finally the proposed methods are compared with the main Fuzzy Time Series techniques and other literature approaches using environmental and stock market data. The proposed methods obtained promising results on point, interval and probabilistic forecasting and presented low computational cost, making it useful for a wide range of applications.

\n\n

 

\n\n

 

" 44 | } 45 | -------------------------------------------------------------------------------- /pre_textuals/abstract.tex: -------------------------------------------------------------------------------- 1 | \begin{resumo}[Resumo] 2 | 3 | No campo da previsão de séries temporais os métodos mais difundidos baseiam-se em predição por ponto. Esse tipo de previsão, no entanto, tem um sério inconveniente: ele não quantifica as incertezas inerentes aos processos naturais e sociais nem outras incertezas decorrentes da captura e processamento dos dados. Por isso nos últimos anos os métodos de previsão intervalar e probabilística têm ganhado a atenção dos pesquisadores, particularmente nas ciências climáticas e na econometria. Mas outro inconveniente vem do fato de grande parte dos métodos de previsão probabilística serem métodos de caixa preta e demandarem simulações estocásticas ou \textit{ensembles} de métodos preditivos que são computacionalmente despendiosos. 4 | 5 | Por outro lado, o volume (número de registros) e a dimensionalidade (número de variáveis) dos dados vêm alcançando magnitudes cada vez maiores, graças ao barateamento dos dispositivos computacionais de captura e armazenamento de dados, um fenômeno conhecido como \textit{Big Data}. Tais fatores impactam diretamente no custo de treinamento e atualização dos modelos e, para séries temporais com essas características, a escalabilidade tornou-se um fator decisivo na escolha dos métodos preditivos. 6 | 7 | Nesse contexto emergem os métodos de Séries Temporais Nebulosas, que vêm em crescente expansão nos últimos anos dado os seus resultados acurados, a facilidade de implementação dos métodos, o seu baixo custo computacional e a interpretabilidade de seus modelos. Os métodos de Séries Temporais Nebulosas têm sido utilizados em áreas como previsão de demanda energética, indicadores e ativos de mercado, turismo entre outras. Mas há lacunas na literatura de tais métodos referentes a escalabilidade para grandes volumes de dados e previsão probabilística e por intervalos. 8 | 9 | A presente tese propõe novos métodos escaláveis de Séries Temporais Nebulosas e investiga a aplicação desses modelos na previsão por ponto, intervalar e probabilística, para uma ou mais variáveis e para mais de um passo à frente. Os parâmetros e hiperparâmetros dos métodos são discutidos e são apresentadas alternativas de ajuste fino dos modelos. Os métodos propostos são então comparados com as principais técnicas de Séries Temporais Nebulosas e outros modelos estatísticos utilizando dados ambientais e do mercado de ações. Os modelos propostos apresentaram resultados promissores tanto nas previsões por ponto quanto nas previsões por intervalo e probabilísticas e com baixo custo computacional, tornando-os úteis para um vasta gama de aplicações. 10 | 11 | Palavras-chave: Séries Temporais Nebulosas, Previsão Probabilística, Escalabilidade, Previsão por Intervalo. 12 | 13 | \end{resumo} 14 | 15 | %----------------------------------- 16 | % Abstract (in English) 17 | \begin{resumo}[Abstract] 18 | \begin{otherlanguage*}{english} 19 | 20 | In the field of time series forecasting, the most known methods are based on point forecasting. However, this kind of forecasting has a serious drawback: it does not quantify the uncertainties inherent to natural and social processes neither other uncertainties caused by the data gathering and processing. Because this in last years the interval and probabilistic forecasting methods have been gaining more attention of researches, specially on environmental and economical sciences. But these techniques also have their own issues due to the methods being black-boxes and requiring stochastic simulations and ensembles of multiple forecasting methods which are computationally expensive. 21 | 22 | On the other hand, the data volume (number of instances) and dimensionality (number of variables) have reached magnitudes even greater, due to the commoditizing of the capturing and storing computational devices, in a phenomenon known as Big Data. Such factors impact directly on the model's training and updating costs, and for time series with Big Data characteristics, the scalability became a decisive factor in the choosing of predictive methods. 23 | 24 | In this context the Fuzzy Time Series (FTS) methods emerge, which have been growing in recent years due to their accurate results, easiness of implementation, low computational cost and model explainability. The Fuzzy Time Series methods have been applied to forecast electric load, market assets, economical indicators, tourism demand etc. But there is a lack on FTS literature regarding interval and probabilistic forecasting. 25 | 26 | This thesis proposes new scalable Fuzzy Time Series methods and discusses its application to point, interval and probabilistic forecasting of mono and multivariate time series, for one to many steps ahead. The parameters and hyper-parameters are discussed and fine tunning alternatives are presented. Finally the proposed methods are compared with the main Fuzzy Time Series techniques and other literature approaches using environmental and stock market data. The proposed methods obtained promising results on point, interval and probabilistic forecasting and presented low computational cost, making it useful for a wide range of applications. 27 | 28 | \textit{Keywords: Fuzzy Time Series, Probabilistic Forecasting, Interval Forecasting, Scalable Models.} 29 | \end{otherlanguage*} 30 | \end{resumo} -------------------------------------------------------------------------------- /abntex2abrev.sty: -------------------------------------------------------------------------------- 1 | %% abntex2abrev.sty, v-1.9.6 laurocesar 2 | %% Copyright 2012-2016 by abnTeX2 group at https://www.abntex.net.br/ 3 | %% 4 | %% This work may be distributed and/or modified under the 5 | %% conditions of the LaTeX Project Public License, either version 1.3 6 | %% of this license or (at your option) any later version. 7 | %% The latest version of this license is in 8 | %% http://www.latex-project.org/lppl.txt 9 | %% and version 1.3 or later is part of all distributions of LaTeX 10 | %% version 2005/12/01 or later. 11 | %% 12 | %% This work has the LPPL maintenance status `maintained'. 13 | %% 14 | %% The Current Maintainer of this work is the abnTeX2 team, led 15 | %% by Lauro César Araujo. Further information are available on 16 | %% https://www.abntex.net.br/ 17 | %% 18 | %% Creator and original mantainer: Gerald Weber 19 | %% Copyright 2003 by the abnTeX group at http://abntex.codigolivre.org.br 20 | 21 | \NeedsTeXFormat{LaTeX2e} 22 | 23 | \RequirePackage{ifthen} 24 | 25 | \newcommand{\NoAbrevending}{\let\Abrevending\@empty} 26 | 27 | % Incorporating file nbr10522-1988.def from abntex1 28 | \newcommand{\@NBR@A@abril}{abr} 29 | \newcommand{\@NBR@A@acompanhamento}{acomp} 30 | \newcommand{\@NBR@A@adaptacao}{adapt} 31 | \newcommand{\@NBR@A@adaptado}{adapt} 32 | \newcommand{\@NBR@A@adaptada}{adapt} 33 | \newcommand{\@NBR@A@adaptador}{adapt} 34 | \newcommand{\@NBR@A@adaptadora}{adapt} 35 | \newcommand{\@NBR@A@agosto}{ago} 36 | \newcommand{\@NBR@A@ampliado}{ampl} 37 | \newcommand{\@NBR@A@ampliada}{ampl} 38 | \newcommand{\@NBR@A@capitulo}{cap} 39 | \newcommand{\@NBR@A@capitulos}{cap} 40 | \newcommand{\@NBR@A@citacao}{cit} 41 | \newcommand{\@NBR@A@edicao}{ed} 42 | \newcommand{\@NBR@A@editado}{ed} 43 | \newcommand{\@NBR@A@editada}{ed} 44 | \newcommand{\@NBR@A@editor}{ed} 45 | \newcommand{\@NBR@A@editora}{ed} 46 | \newcommand{\@NBR@A@fevereiro}{fev} 47 | \newcommand{\@NBR@A@dezembro}{dez} 48 | \newcommand{\@NBR@A@ilustracao}{il} 49 | \newcommand{\@NBR@A@ilustrado}{il} 50 | \newcommand{\@NBR@A@ilustrada}{il} 51 | \newcommand{\@NBR@A@ilustrador}{il} 52 | \newcommand{\@NBR@A@ilustradora}{il} 53 | \newcommand{\@NBR@A@janeiro}{jan} 54 | \newcommand{\@NBR@A@junho}{jun} 55 | \newcommand{\@NBR@A@julho}{jul} 56 | \newcommand{\@NBR@A@marco}{mar} 57 | \newcommand{\@NBR@A@maio}{maio\NoAbrevending} 58 | \newcommand{\@NBR@A@novembro}{nov} 59 | \newcommand{\@NBR@A@outubro}{out} 60 | \newcommand{\@NBR@A@oeste}{O\NoAbrevending} 61 | \newcommand{\@NBR@A@setembro}{set} 62 | \newcommand{\@NBR@A@pagina}{p} 63 | % end of nbr10522-1988.def 64 | 65 | \newcommand{\@NBR}{@NBR@A@} 66 | \newcommand{\@PREF@}[1]{\csname \@NBR#1\endcsname} 67 | 68 | % Incorporating file abntex-abrev-pt_BR.def from abntex1 69 | \providecommand{\@PREF@}{} 70 | \newcommand{\@TR@adaptation}{\@PREF@{adaptacao}} 71 | \newcommand{\@TR@adapted}{\@PREF@{adaptado}} 72 | \newcommand{\@TR@adapter}{\@PREF@{adaptador}} 73 | \newcommand{\@TR@april}{\@PREF@{abril}} 74 | \newcommand{\@TR@august}{\@PREF@{agosto}} 75 | \newcommand{\@TR@chapter}{\@PREF@{capitulo}} 76 | \newcommand{\@TR@chapters}{\@PREF@{capitulos}} 77 | \newcommand{\@TR@citation}{\@PREF@{citacao}} 78 | \newcommand{\@TR@extended}{\@PREF@{ampliado}} 79 | \newcommand{\@TR@edited}{\@PREF@{editado}} 80 | \newcommand{\@TR@edition}{\@PREF@{edicao}} 81 | \newcommand{\@TR@editor}{\@PREF@{editor}} 82 | \newcommand{\@TR@february}{\@PREF@{fevereiro}} 83 | \newcommand{\@TR@december}{\@PREF@{dezembro}} 84 | \newcommand{\@TR@illustrated}{\@PREF@{ilustrado}} 85 | \newcommand{\@TR@illustration}{\@PREF@{ilustracao}} 86 | \newcommand{\@TR@illustrator}{\@PREF@{ilustrador}} 87 | \newcommand{\@TR@january}{\@PREF@{janeiro}} 88 | \newcommand{\@TR@june}{\@PREF@{junho}} 89 | \newcommand{\@TR@jule}{\@PREF@{julho}} 90 | \newcommand{\@TR@march}{\@PREF@{marco}} 91 | \newcommand{\@TR@may}{\@PREF@{maio}} 92 | \newcommand{\@TR@november}{\@PREF@{novembro}} 93 | \newcommand{\@TR@october}{\@PREF@{outubro}} 94 | \newcommand{\@TR@september}{\@PREF@{setembro}} 95 | \newcommand{\@TR@west}{\@PREF@{oeste}} 96 | \newcommand{\@TR@page}{\@PREF@{pagina}} 97 | % end of abntex-abrev-pt_BR.def 98 | 99 | 100 | \ProcessOptions 101 | 102 | \newcommand{\@TR@}{@TR@} 103 | \newcommand{\Capitalize}[1]{\uppercase{#1}} 104 | 105 | %para testar, coloca os resultados em forma mais explícita 106 | \newcommand{\TESTabrev}[1]{% 107 | \@ifundefined{@TR@#1}{pt(#1):\csname \@NBR#1\endcsname}{en(#1):\csname \@TR@#1\endcsname}} 108 | 109 | %controla como termina a abreviação 110 | \newcommand{\abrevending}{.} 111 | \newcommand{\Abrevending}{} 112 | %comando para usuários, pode ser português ou inglês 113 | \newcommand{\abrev}[1]{\let\Abrevending\abrevending% 114 | \@ifundefined{@TR@#1}{\csname \@NBR#1\endcsname\Abrevending}{\csname \@TR@#1\endcsname\Abrevending}} 115 | 116 | %comando para usuários, pode ser português ou inglês 117 | \newcommand{\Abrev}[1]{\expandafter\Capitalize\abrev{#1}} 118 | 119 | %comando para desenvolvedores, só inglês sem finalização, ou seja sem ponto 120 | \newcommand{\ABNTEXabrev}[1]{\@ifundefined{@TR@#1}{#1}{\csname \@TR@#1\endcsname}} 121 | 122 | %comando para desenvolvedores, só inglês com finalização, ou seja com ponto 123 | \newcommand{\ABNTEXabrevp}[1]{\let\Abrevending\abrevending 124 | \ABNTEXabrev{#1}\Abrevending} 125 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Scalable Models of Probabilistic Forecasting with Fuzzy Time Series, PhD Thesis 2 | [![Open Source Love png2](https://badges.frapsoft.com/os/v2/open-source.png?v=103)](https://github.com/ellerbrock/open-source-badges/) 3 | [![made-with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg)](https://www.python.org/) 4 | [![DOI:10.5281/zenodo.597359](https://zenodo.org/badge/DOI/10.5281/zenodo.597359.svg)](https://doi.org/10.5281/zenodo.597359) 5 | 6 | * **Author**: Petrônio Cândido de Lima e Silva ORCID iD icon (SILVA, P.C.L) 7 | * **Advisor**: Frederico Gadelha Guimarães ORCID iD icon (GUIMARÃES, F. G) 8 | * **Co-Advisor**: Hossein Javedani Sadaei ORCID iD icon (SADAEI, H. J.) 9 | 10 | In case you have any questions, do not hesitate in contact us using the following e-mail: petronio.candido@ifnmg.edu.br 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 22 | 23 |
UFMG - Universidade Federal de Minas Gerais         PPGEE          MINDS - Machine Intelligence and Data Science Lab         IFNMG - Instituto Federal do Norte de Minas Gerais
24 |
25 | 26 | ## Abstract 27 | 28 | On time series forecasting field the most known methods are based on point forecasting. However, this kind of forecasting has a serious drawback: it does not quantify the uncertainties inherent to natural and social processes neither other uncertainties caused by the data capturing and processing. Because this in last years the interval and probabilistic forecasting methods have gaining more attention of researches, specially on environmental and economical sciences. But these techniques also have its own issues due the methods being black-boxes and use stochastic simulations and ensembles of multiple forecasting methods which are computationally expensive. 29 | 30 | In other hand, the data volume (number of instances) and dimensionality (number of variables) have reached magnitudes even greater, due to the commoditizing of the capturing and storing computational devices, in a phenom knows as Big Data. Such factors impact directly in the models's training and updating costs, and for time series with Big Data characteristics, the scalability became a decisive factor in the choosing of predictive methods. 31 | 32 | In this context emerge the Fuzzy Time Series (FTS) methods, which have growing in recent years due their accurate results, easy to implement, low computational cost and model explainability. The Fuzzy Time Series methods have been applied to forecast electric load, market assets, economical indicators, tourism demand, etc. But there is a lack on FTS literature regarding to interval and probabilistic forecasting. 33 | 34 | This thesis proposes new scalable Fuzzy Time Series methods and discuss its application on point, interval and probabilistic forecasting of mono and multivariate time series, for one to many steps ahead. The parameters and hyper-parameters are discussed and fine tunning alternatives are presented. Finally the proposed methods are compared with the main Fuzzy Time Series techniques and other literature approaches using environmental and stock market data. The proposed methods obtained promising results on point, interval and probabilistic forecasting and presented low computational cost, making it useful for a wide range of applications. 35 | 36 | ## How to execute the code? 37 | 38 | 39 |
40 | 41 | 42 | 43 |
pyFTS - Fuzzy Time Series for Python
44 |
45 | 46 | ## How to reference this work? 47 | 48 | Silva, P. C. L. et al. *pyFTS: Fuzzy Time Series for Python.* Belo Horizonte. 2018. DOI: 10.5281/zenodo.597359. Url: 49 | 50 | ## MINDS - Machine Intelligence And Data Science Lab 51 | 52 | This tool is result of collective effort of [MINDS Lab](http://www.minds.eng.ufmg.br/), headed by Prof. Frederico Gadelha Guimaraes. 53 | -------------------------------------------------------------------------------- /main.tex: -------------------------------------------------------------------------------- 1 | %----------------------------------- 2 | %----------------------------------- 3 | % Msc Dissertation / Phd Thesis Template - Minds Lab 4 | % Based on Abntex2 5 | % Updated: November, 2018 6 | %----------------------------------- 7 | %----------------------------------- 8 | 9 | \documentclass[ 10 | 12pt, 11 | openright, 12 | twoside, 13 | a4paper, 14 | %brazil, % Texts in pt-br 15 | english 16 | ]{abntex2} 17 | 18 | %----------------------------------- 19 | % Basic packages 20 | %----------------------------------- 21 | \usepackage[T1]{fontenc} % Font 22 | %\usepackage{times} 23 | \usepackage[utf8]{inputenc} % Special pt-br characters 24 | \usepackage{lastpage} % Catalographic card 25 | \usepackage{indentfirst} % Indent 1st paragraph 26 | \usepackage{color} 27 | \usepackage{graphicx} 28 | \usepackage{microtype} % Justify (left and right side) 29 | \usepackage{makeidx} % Remissive Index 30 | 31 | %----------------------------------- 32 | % Additional packages 33 | %----------------------------------- 34 | \usepackage{amsmath,amsfonts,amssymb} 35 | \usepackage[table]{xcolor} 36 | \usepackage{multirow} % Merge rows and columns in tables 37 | \usepackage{longtable} % Large tables 38 | \usepackage{fancyvrb} % Codes and Outputs commands 39 | \usepackage{listings} % Codes and Outputs commands 40 | \usepackage{pdflscape} 41 | \usepackage{pdfpages} 42 | \usepackage{float} 43 | \usepackage[authoryear]{natbib} % Authors imputation 44 | \usepackage{subfig} % Subfigures 45 | \usepackage{latexsym} % Extra symbols of Latex 46 | \usepackage{booktabs} 47 | \usepackage{enumerate} 48 | \usepackage{acronym} 49 | \usepackage{algorithm} % Algorithms 50 | %\usepackage[portuguese, ruled, linesnumbered]{algorithm2e} %to portuguese text, include this linha and comment the top row: \usepackage{algorithm} 51 | \usepackage[noend]{algpseudocode} 52 | \usepackage{url} 53 | %\let\realurl\url 54 | %\renewcommand{\url}[1]{\realurl{#1}\wlog{URLX #1}} 55 | \usepackage{rotating} 56 | \usepackage{epigraph} 57 | \usepackage{pbox} 58 | \usepackage{subfig} 59 | \usepackage{listings} 60 | \usepackage{colortbl} 61 | \usepackage{multirow} 62 | \usepackage{array} 63 | \usepackage{nameref} 64 | \usepackage{psfrag} 65 | \usepackage{epstopdf} 66 | \usepackage{makeidx} 67 | \usepackage{authorindex} 68 | \usepackage{fancyhdr,fancybox} 69 | %\usepackage[algochapter,algoruled,linesnumbered,vlined]{algorithm2e} 70 | \usepackage{graphicx} 71 | \usepackage{latexsym} 72 | \usepackage{amssymb,amsmath,amstext,amscd} 73 | \usepackage{amsthm} 74 | \usepackage{booktabs} 75 | 76 | %----------------------------------- 77 | % Box the algorithm 78 | \makeatletter 79 | \def\BState{\State\hskip-\ALG@thistlm} 80 | \makeatother 81 | 82 | %----------------------------------- 83 | % Front pages 84 | %----------------------------------- 85 | \titulo{Scalable Models for Probabilistic Forecasting with Fuzzy Time Series} 86 | \autor{Petrônio Cândido de Lima e Silva} 87 | \local{Belo Horizonte - Minas Gerais} 88 | \data{November, 2019} 89 | \orientador{Frederico Gadelha Guimarães} 90 | \coorientador{Hossein Javedani Sadaei} 91 | \instituicao{% 92 | Federal University of Minas Gerais - UFMG 93 | \par 94 | Graduate Program in Electrical Engineering - PPGEE 95 | \par 96 | Machine Intelligence and Data Science Laboratory - MINDS 97 | } 98 | 99 | \tipotrabalho{Thesis (Doctorate)} 100 | %\preambulo{Tese de Doutorado submetida à Banca Examinadora 101 | % designada pelo Colegiado do Programa de Pós-Graduação em Engenharia Elétrica 102 | % da Escola de Engenharia da Universidade Federal de Minas Gerais, como 103 | % requisito para obtenção do Título de Doutor em Engenharia Elétrica.} 104 | \preambulo{Final thesis presented to the Graduate Program in Electrical Engineering of the Federal University of Minas Gerais in partial fulfillment of the requirements for the degree of Doctor in Electrical Engineering.} 105 | 106 | %----------------------------------- 107 | % Set the final PDF 108 | %----------------------------------- 109 | \definecolor{blue}{RGB}{41,5,195} % setting the blue color 110 | 111 | % PDF informations 112 | \makeatletter 113 | \hypersetup{ 114 | %pagebackref=true, 115 | pdftitle={\@title}, 116 | pdfauthor={\@author}, 117 | pdfsubject={\imprimirpreambulo}, 118 | pdfcreator={LaTeX with abnTeX2}, 119 | pdfkeywords={abnt}{latex}{abntex}{abntex2}{trabalho acadêmico}, 120 | colorlinks=true, % false: boxed links; true: colored links 121 | linkcolor=blue, % color of internal links 122 | citecolor=blue, % color of links to bibliography 123 | filecolor=magenta, % color of file links 124 | urlcolor=blue, 125 | bookmarksdepth=4 126 | } 127 | \makeatother 128 | 129 | %----------------------------------- 130 | % Spacing between lines and paragraphs 131 | %----------------------------------- 132 | \setlength{\parindent}{1.5cm} % Set length of indent 133 | \setlength{\parskip}{0.2cm} % Set length among the paragraphs 134 | 135 | %Index 136 | \makeindex 137 | 138 | \setlength\epigraphwidth{.8\textwidth} 139 | \setlength\epigraphrule{0pt} 140 | \renewcommand{\epigraphflush}{flushleft} 141 | \renewcommand{\sourceflush}{flushleft} 142 | 143 | \newcommand{\newepigraph}[2]{\epigraph{\itshape ``#1''}{\hspace{5 mm}--- #2}} 144 | 145 | %----------------------------------- 146 | % Main document 147 | %----------------------------------- 148 | \begin{document} 149 | 150 | \input{definitions.tex} 151 | 152 | %----------------------------------- 153 | %Language 154 | %\selectlanguage{brazil} % Texts in pt-br 155 | \selectlanguage{english} 156 | \frenchspacing % Remove obsolete spaces between phrases 157 | 158 | %----------------------------------- 159 | % Pre-textual elements 160 | \pretextual 161 | 162 | %----------------------------------- 163 | % Cover 164 | \imprimircapa 165 | 166 | % Folha de rosto 167 | \imprimirfolhaderosto* % (o * indica que haverá a ficha bibliográfica) 168 | 169 | 170 | 171 | \input{pre_textuals/cataloging.tex} 172 | 173 | \input{pre_textuals/approval.tex} 174 | 175 | \newpage 176 | 177 | %----------------------------------- 178 | % Dedication 179 | \include{pre_textuals/dedication} 180 | 181 | %----------------------------------- 182 | % Acknowledgments 183 | \include{pre_textuals/acknowledgments} 184 | 185 | %----------------------------------- 186 | % Epigraph 187 | \include{pre_textuals/epigraph} 188 | 189 | %----------------------------------- 190 | % Resumo (abstract in Portuguese) 191 | %\setlength{\absparsep}{18pt} % set spacing between the paragraphs 192 | 193 | \include{pre_textuals/abstract} 194 | 195 | %----------------------------------- 196 | % Preface 197 | \include{pre_textuals/preface} 198 | 199 | 200 | %----------------------------------- 201 | % Figures list 202 | \pdfbookmark[0]{\listfigurename}{lof} 203 | \listoffigures* 204 | \cleardoublepage 205 | 206 | %----------------------------------- 207 | % Tables list 208 | \pdfbookmark[0]{\listtablename}{lot} 209 | \listoftables* 210 | \cleardoublepage 211 | 212 | %----------------------------------- 213 | % Algorithms list 214 | %\pdfbookmark[0]{\listtablename}{loa} 215 | %\listofalgorithms 216 | %\cleardoublepage 217 | 218 | %----------------------------------- 219 | % Abbreviations 220 | \input{pre_textuals/acronyms.tex} 221 | \cleardoublepage 222 | 223 | %----------------------------------- 224 | % Symbols 225 | \input{pre_textuals/symbols.tex} 226 | \cleardoublepage 227 | 228 | %----------------------------------- 229 | % Summary 230 | \pdfbookmark[0]{\contentsname}{toc} 231 | \tableofcontents* 232 | \cleardoublepage 233 | 234 | 235 | %----------------------------------- 236 | % TEXTUAL ELEMENTS 237 | %----------------------------------- 238 | \textual 239 | 240 | %----------------------------------- 241 | % Chapters 242 | \include{chapters/chp1_introduction} 243 | \include{chapters/chp2_review_fts} 244 | \include{chapters/chp3_review_prob} 245 | \include{chapters/chp4_pwfts} 246 | \include{chapters/chp5_hyperparamopt} 247 | \include{chapters/chp6_granular} 248 | \include{chapters/chp7_conclusion} 249 | 250 | %----------------------------------- 251 | % Finaliza a parte no bookmark do PDF 252 | % para que se inicie o bookmark na raiz 253 | % e adiciona espaço de parte no Sumário 254 | 255 | \phantompart 256 | 257 | %----------------------------------- 258 | % Bibliography 259 | \bibliography{references.bib} 260 | \bibliographystyle{abbrvnat} 261 | %\bibliographystyle{unsrtnat} 262 | 263 | %----------------------------------- 264 | % POST-TEXTUAL ELEMENTS 265 | %----------------------------------- 266 | \postextual 267 | 268 | % Attachments 269 | %\include{post_textuals/attachments} 270 | 271 | % Appendix 272 | \include{post_textuals/appendix} 273 | 274 | % Remissive Index 275 | %\renewcommand{\indexname}{Índice Remissivo} 276 | \renewcommand{\indexname}{Index} 277 | \printindex 278 | 279 | \end{document} 280 | -------------------------------------------------------------------------------- /chapters/chp1_introduction.tex: -------------------------------------------------------------------------------- 1 | \chapter[Introduction]{Introduction} 2 | \label{chap:Intro} \index{Introduction} 3 | 4 | \newepigraph{In the strict formulation of the law of causality - if we know the present, we can calculate the future - it is not the conclusion that is wrong, but the premise.} 5 | {Werner Heisenberg} 6 | 7 | A significant part of scientific applications demand the forecasting of natural, social and economical processes and there is an extensive literature on forecasting methods and models. Such methods are also preceded by many processes as instrumentation, measurement, storing, aggregation, etc. However, a great recurrent problem is how to deal with the uncertainty generated or captured in each step of this task, and measure how it spreads. \cite{Makridakis2009} stated that ``Statistical models underestimate uncertainty, sometimes catastrophically'', by assuming, for example, that events are independent, forecasting errors are tractable, the variance of forecasting errors is finite, known and constant. 8 | 9 | \index{Ontological uncertainty}\index{Intrinsic uncertainty}\index{Irreducible uncertainty} 10 | 11 | In these natural and social processes the uncertainty can be intrinsic or extrinsic and is classified, by \cite{Georgescu2014}, in two categories: the epistemic uncertainty and the ontological uncertainty. The ontological uncertainty represents the intrinsic and irreducible uncertainty of a process defined basically as the non-deterministic behavior -- randomness and stochasticity -- that usually is modeled by the probability theory. 12 | 13 | \index{Epistemic uncertainty}\index{Extrinsic uncertainty}\index{Reducible uncertainty} 14 | 15 | Contrarily, the epistemic uncertainty represents the extrinsic and reducible sources of uncertainty on a process like vagueness, lack of information and imprecision due to measurement errors, sensor calibration, rounding and limitations of numerical precision, among others. Another possibility is the conversion of continuous processes to discrete processes. This conversion is not lossless and some uncertainty is imputed on converted data. The epistemic uncertainty can be modeled by the fuzzy theory. 16 | 17 | This is the case of data preprocessing tasks, for example. Very often time series datasets need to be aggregated by some time resolution (daily, hourly, etc) and this aggregation also introduces the epistemic uncertainty on data. A good example are the financial time series that summarize all transactions of a whole day in four numbers: opening, minimum, maximum and closing prices. This method is an attempt to represent the volatility (e. g. the uncertainty) of the price value inside a certain time window and is also a tool for detecting patterns on data, the Candlestick Graph techniques, as shown in Figure \ref{fig:candlestick}. Sometimes the aggregation is even more aggressive and all the values are summarized into one, the average or median value, hiding all information about the volatility. When this data is used as input for fitting a forecasting model the extrinsic uncertainty is introduced. 18 | 19 | \begin{figure} 20 | \includegraphics[width=\textwidth,height=2in]{figures/candlestick.png} 21 | \caption[Candlestick chart for IBOVESPA]% 22 | {Candlestick chart for IBOVESPA. Source: Google Finance\protect\footnotemark} 23 | \label{fig:candlestick} 24 | \end{figure} 25 | 26 | \footnotetext{\url{https://www.google.com/financeq=INDEXBVMF\%3AIBOV&ei=zHz2WOmMKODrep_bgbAI}. Access in 18/04/2017} 27 | 28 | The forecasting methods propagate the input uncertainties on their outputs and compromise the reliability of the forecast. Despite these points, the majority of forecasting methods are concerned with one step ahead point forecasting without output uncertainty measures. When the many steps ahead forecasting is considered, the uncertainty grows yet more and affects the accuracy and reliability of models. This effect becomes even worst as the forecasting horizon becomes wider. 29 | 30 | This fact led to the development of methods for Probabilistic Forecasting \cite{Gneiting2014b} and Interval Forecasting \cite{Chatfield1993}, to deal with forecasting uncertainty by estimating distributions of possible values instead of a unique point forecast. However, traditional methods of probabilistic forecasting require the use of parametric models with distribution assumptions, as in Bayesian Inference, or costly estimation techniques and Monte-Carlo simulations. Probabilistic forecasting has been used in areas such as weather forecasting (\cite{Fraley2011} and \cite{Leutbecher2008}) eletric load forecasting (\cite{Hong2016}, \cite{Hong2016a} and \cite{Liu2015}), wind power generation prediction (\cite{Pinson2006} and  \cite{Netto2016}) and hydrological forecasting (\cite{Laio2007}). 31 | 32 | Side by side with the uncertainty representation in time series forecasts, some other factors became prevailing in the evaluation of predictive methods, such as Big Data scalability and model explainability. The Big Data phenomenon emerged in the late 2000s decade \cite{Lynch2008} calling attention to new demands on data analysis brought by the growth of data volume, dimensionality and variety. This revolution was possible due to the advances on the technologies of data capturing and storage, as well as its commoditizing, allowing the distributed management of amounts of data never seen before. 33 | 34 | But traditional forecasting methods, and even some newer ones, were not designed to deal with such high volume of data. The most critical issues were the high dimensionality (dozens of hundreds of attributes) and volume (hundreds of millions or billions of samples) \cite{Qiu2016}. Such data volume cannot be grounded on a single machine memory and demands a distributed architecture of storage and processing. New technologies emerged to tackle these issues, for instance the Map Reduce based frameworks \cite{Dean2008}, a divide-and-conquer approach which is the basis of Hadoop clusters \cite{White2012}, where the processing units also act as storage units of the data subsets using commodity and cheap hardware assets. 35 | 36 | The Big Data issues do not stop on data volume and, indeed, the velocity and variability of the data must be seriously considered when developing forecasting models. Many sources of data have non-stationary behaviors, meaning that their statistical properties may change along the time. Some models are time-variant, they are specially designed to be self-adaptable and evolve as the data change. But the majority of the conventional methods are time-invariant and need to be retrained periodically depending on the variability of the data, what can be problematic given the computational cost of the training and adapting procedures. Yet more critical is the data with Concept Drifts \citep{Gama2014}, which have high volume with high velocity and need to be adaptable to new behaviors in feasible time. 37 | 38 | Another traditionally neglected aspect of the forecasting methods also started to gain more attention in recent years: the explainability. With the expansion of the machine learning methods enabled to tackle Big Data, another issues came up to the light: black-box methods started to find legal barriers or adoption resistance due to its lack of transparency and auditability \citep{Leslie2019, ECAIHLEG2019}. Diversely, the white-box methods can help in the knowledge extraction and simplification of complex temporal patterns, besides being easily auditable. 39 | 40 | %If all these concerns (uncertainty representation, scalability, low computational cost, explainability and self-adaptability) were taken in account, it becomes pretty hard to find a fitting method. But several of these issues 41 | %the development of new soft-computing methods 42 | The exposed scenario favored the rising of the Fuzzy Time Series (FTS) methods \cite{song1993fuzzy}, which have been drawing more attention and relevance in recent years due to many studies reporting its good accuracy compared with other models \cite{Singh2008}. Fuzzy Time Series are soft-computing methods that produce data-driven, non-parametric, simple, computationally cheap and readable models for time series analysis and forecasting. FTS methods are also an approach to deal with the epistemic uncertainty, as on the time-aggregation case of the financial time series. The fuzzyfication of data gives a more flexible representation to the individual measures, embracing the range of possible value fluctuations not covered by the single values. 43 | 44 | Despite the great improvements published in the FTS literature in the recent years, there are still some notable lacks. Interval and probabilistic forecasting, specially for many steps ahead, are not properly explored, besides the absence of scalable methods to tackle big multivariate time series. There is, indeed, a plethora of soft-computing forecasting methods. But very few of them are flexible enough to incorporate scalable point, interval, probabilistic and multivariate forecasting, with one to many steps ahead, for univariate and multivariate time series. This research opportunity is exploited in this work by the proposition of new FTS methods and their subsequent applications on several case studies, including financial, environmental and energy time series. 45 | 46 | \section{Objectives} \index{Objectives} 47 | 48 | The main goal of this thesis is to develop a scalable probabilistic forecasting approach based on the Fuzzy Time Series methods, providing a flexible computational framework for applications with uncertainties. Specific goals are divided in: 49 | 50 | \begin{itemize} 51 | \item Identify the strengths and weaknesses of the main FTS approaches presented in literature; 52 | \item Identify extension opportunities on known probabilistic forecasting methods; 53 | \item Introduce the Probabilistic Weighted Fuzzy Time Series, a new method family that exploits uncertainties on datasets to capture time series patterns and translate them into the rule-based knowledge system (the Probabilistic Weighted Fuzzy Logical Relationship Groups); 54 | \item Improve PWFTS scalability in order to enable it to deal with big time series by proposing a distributed processing design with the Map/Reduce paradigm; 55 | \item Extend the PWFTS method to enable multivariate time series using Fuzzy Information Granules. 56 | \end{itemize} 57 | 58 | \section{Work structure} \index{Work structure} 59 | 60 | This thesis is organized as follows: 61 | 62 | \begin{itemize} 63 | \item \textbf{Chapter \ref{chap:review_fts} - \nameref{chap:review_fts} } presents a contextual background on Fuzzy Time Series methods and discusses the most relevant methods in literature; 64 | 65 | \item \textbf{Chapter \ref{chap:review_probforecasting} - \nameref{chap:review_probforecasting} } introduces the probabilistic forecasting concepts and main techniques, reviewing the surrounding literature. In Section \ref{sec:ifts} the Interval Fuzzy Time Series method is proposed for binding the fuzzy uncertainty on forecasts, and in Section \ref{sec:ensemblefts} the EnsembleFTS method is proposed to probabilistic forecasting; 66 | 67 | \item \textbf{Chapter \ref{chap:pwfts} - \nameref{chap:pwfts}} introduces the Probabilistic Fuzzy Time Series method for generating the Probabilistic Weighted Fuzzy Temporal Pattern rules and a method to generate one step ahead probabilistic forecasts; in Section \ref{sec:pwfts_interval} the previous method is extended to create prediction intervals and in Section \ref{sec:pwfts_point} a simple heuristic to produce point forecasts is presented . Section \ref{sec:pwfts_extensions} presents extensions for many steps ahead forecasting and high-order models. The characteristics and parameters of the methods are discussed in Section \ref{sec:pwfts_experiments}; 68 | 69 | \item \textbf{Chapter \ref{chap:scalability} - \nameref{chap:scalability}} proposes a distributed approach for PWFTS, based on Map/Reduce paradigm and computational clusters, enabling it to deal with big time series. In Section \ref{sec:hyperparameter} the Distributed Evolutionary Hyperparameter Optimization (DEHO) is proposed, employing evolutionary algorithms with the distributed processing to improve the performance. 70 | 71 | \item \textbf{Chapter \ref{chap:multivariate} - \nameref{chap:multivariate}} proposes an extension for multivariate time series using Fuzzy Information Granules (FIG) and an incremental universe of discourse partitioner. With this extension PWFTS can be used for multivariate forecasting in a Multiple Input/Multiple Output (MIMO) design or monovariate forecasting in a Multiple Input/Single Output(MISO) design. 72 | 73 | %\item \textbf{Chapter \ref{chap:results} - \nameref{chap:results}} an empirical analysis is employed to validate the proposed method, using open datasets and standard measures, and to compare its performance with others well-known literature methods. 74 | 75 | \item \textbf{Chapter \ref{chap:conclusions} - \nameref{chap:conclusions}} the findings are summarized and overall conclusions are given, as well as the contributions, known limitations and future investigations. 76 | \end{itemize} 77 | 78 | \section{Main contributions} \index{Contributions} 79 | 80 | This research presents contributions to the Forecasting and Fuzzy Time Series research fields, whose the most important are summarized below: 81 | 82 | \begin{itemize} 83 | \item Proposal of new High Order Fuzzy Time Series (HOFTS) and the Weighted HOFTS, methods that aggregate the major FTS features present in the literature and play the role of the consensus of the FTS methods; 84 | \item Proposal of the first FTS methods to perform interval forecasting, the Interval Fuzzy Time Series ($\ifts$) and the Weighted $\ifts$; 85 | \item Proposal of the first FTS method to perform probabilistic forecasting, the Ensemble FTS; 86 | \item Proposal of the Probabilistic Weighted Fuzzy Time Series - PWFTS, a new non-parametric, data driven and highly accurate forecasting method, the first FTS method in the literature that integrates point, interval and probabilistic forecasting in the same model, for one to many steps ahead; 87 | \item A new representation method for fuzzy temporal rules, with weights on the precedent and the consequent of the rules, reflecting its \textit{a priori} and \textit{a posteriori} empirical probabilities and aiding with model explainability; 88 | \item New defuzzyfication methods capable to produce probability distributions, prediction intervals and point forecasts; 89 | \item Proposal of distributed training and forecasting methods that allow PWFTS to work with big time series using Map/Reduce framework; 90 | \item Proposal of the Distributed Evolutionary Hyperparameter Optimization (DEHO) method for PWFTS; 91 | \item Proposal of the Multivariate Fuzzy Time Series and (MVFTS) the Weighted MVFTS, simple multivariate fuzzy time series; 92 | \item Proposal of the $\FIG$-FTS, a wrapper method that allow PWFTS to work with multivariate time series; 93 | \item Proposal of the pyFTS library \cite{pyFTS}\footnote{\url{http://pyfts.github.io/pyFTS/}} for Python programming language, an open and free framework to facilitate the development of new models and help on research reproducibility; 94 | \item The application of the proposed methods in the forecasting of renewable energy and environmental processes; 95 | \end{itemize} 96 | 97 | 98 | -------------------------------------------------------------------------------- /chapters/chp7_conclusion.tex: -------------------------------------------------------------------------------- 1 | \chapter[Conclusion]{Conclusion} 2 | \label{chap:conclusions} \index{Conclusion} 3 | 4 | \newepigraph{...it is good to have measured myself, to recognize my limitations.} 5 | {Charles Francis Richter} 6 | 7 | On the forecasting research field, dealing with uncertainties is somehow mandatory, but still many of the forecasting methods are only concerned with point forecasting. The point forecasting methods have as their main general drawback the inability to measure the uncertainty of their results and, depending on the field of application, this is a crucial information. The direct alternative are the probabilistic methods as intervals and probability distributions \cite{Gneiting2014b}. 8 | 9 | There are statistical forecasting methods available for probabilistic and interval forecasting, as instance Auto Regressive Integrated Moving Average (ARIMA), Quantile Auto-Regression (QAR), Bayesian Structural Time Series (BSTS), k-Nearest Neighbors (k-NN), among others. However these methods suffer from several limitations as lack of scalability, parametric assumptions, explainability or computational performance. 10 | 11 | In the other hand, the Fuzzy Time Series (FTS) methods represent a growing field that has been gaining more attention in recent years. FTS forecasting methods produce data driven and non-parametric models, and have become attractive due to their simplicity, versatility, forecasting accuracy and computational performance, and it also produces human readable representations of the time series patterns, making its knowledge transferable, auditable, easily reusable and updatable. The variants of Fuzzy Time Series methods were investigated on Chapter \ref{chap:review_fts}. Within these variants, this work delimited its scope on time invariant rule-based FTS methods. The rule-based conventional High-Order Fuzzy Time Series (HOFTS) and the Weighted High-Order Fuzzy Time Series (WHOFTS) were studied and its accuracy was assessed and compared with conventional statistical forecasting methods which showed accuracy equivalence between the methods. 12 | 13 | However, the FTS methods also suffer from lack of forecasting uncertainty representation, more specifically the absence of probabilistic forecasting methods. To deepen the discussion about the probabilistic forecasting, the Chapter \ref{chap:review_probforecasting} presented a review of the classical methods for interval and probability distribution forecasting and its main features. In order to fill the probabilistic forecasting gap at FTS field, the three first FTS methods for probabilistic forecasting in literature were proposed : $\ifts$, $W\ifts$ and Ensemble FTS. 14 | 15 | $\ifts$ and $W\ifts$ extends HOFTS and WHOFTS methods, enabling the generating of predict intervals that represents the fuzzy uncertainty around the point forecasts. The Ensemble FTS method aims to represent the parameter uncertainty by embodying internally several FTS models with variations in their parameters. Ensemble FTS is capable to forecast intervals and probability distributions for one to more steps ahead. The accuracy of these methods was assessed and compared with the main statistical probabilistic methods which showed their accurate performance. 16 | 17 | Nevertheless, until this point still missing a method that incorporate all uncertainties, capable to forecast points, intervals and probability distributions, for one to more steps ahead. To fill this lack the Probabilistic Weighted Fuzzy Time Series (PWFTS) method were proposed on Chapter \ref{chap:pwfts}. The PWFTS method use empirical fuzzy probabilities associated with their rules to represent the ontological uncertainty of data, and propose new deffuzyfication methods that exploit this probabilities. The PWFTS accuracy was assessed with computational experiments, compared with the previous FTS methods and the classical methods which showed the effectivenes of the method. 18 | 19 | The main contribution of PWFTS is to combine versatility, accuracy and human readability. PWFTS is a versatile data driven, non parametric approach which integrates point, interval and probabilistic forecasting for one or multiple steps ahead, for first or higher orders. The measured accuracy shows its compatibility with, when it is not better than, standard approaches in the literature. The PWFTPG rule model is human-readable, easy to understand and interchangeable, which allows its assessment by experts and also non technical people. The PWFTPG rule set can be viewed as the conditional probability distribution of the fuzzy sets, and its visualization can even be used for data description and comprehension tasks. 20 | 21 | Once flexible and accurate FTS models were proposed, new questions arise as result of its employment in real world problems, as instance big data scalability, model optimization and multivariate time series. The first question, discussed in Chapter \ref{chap:scalability}, concerns in the impact of the data volume on FTS training and forecasting performances. The optimization of machine learning models for big time series is a challenging task to execute with sequential procedures or even parallel ones executed on a single machine. Thanks to the distributed computation frameworks, these methods are now enabled to work with massive datasets using cheap and available hardware infrastructure.To tackle this problem a distributed training method was proposed for computational clusters of commodity hardware using the Map/Reduce paradigm. 22 | 23 | The second question concerns in the hyperparameter optimization which search for accurate and simultaneously parsimonic models. Generally, in fuzzy time series models, the increase of the number of rules leads to improvement on accuracy. But there is a trade off between the increase of the number of rules and the model overfitting. The Distributed Evolutionary Hyperparameter Optimization (DEHO) method is proposed embracing the distributed training and genetic algorithms, producing accurate and parsimonic models in feasible time. 24 | 25 | The last question concerns in the forecasting of complex dynamics systems composed by many interacting variables. Dealing with multivariate and spatio-temporal time series was always a challenging task for FTS methods, specially because of the complexity growth of the rules as the dimension increases. To acomplish this task, in Chapter \ref{chap:multivariate}, the Fuzzy Information Granular Fuzzy Time Series method ($\mathcal{FIG}$-FTS) is proposed, an approach that incorporates Fuzzy Information Granules (FIG) to the FTS methodology in order to simplify the processing of the multivariate crisp data. First, individual Universe of Discourse partitioning schemes are provided for each variable and then Fuzzy Information Granules $\figi$ are created as combinations of the fuzzy sets of the variables. Each $\fig$ is created on demand, on the fuzzyfication phase, by selecting one fuzzy set of each variable. After that, each multivariate data point can be replaced by an univariate one, identified with a corresponding $\fig$. 26 | 27 | This work performed computational experiments to assess the $\mathcal{FIG}$-FTS method performance, and applied the proposed method to model and forecast the 28 | 29 | In this way, the proposed method family is useful for a wide range of applications and user needs due its flexibility and customizability. The experimental analysis showed the effectiveness of the proposed methods and their flexibility on several scenarios. 30 | 31 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 32 | \section{Summary of contributions} 33 | \index{Contributions} 34 | \begin{itemize} 35 | \item First interval forecasting approaches for FTS methods: Interval Fuzzy Time Series ($\ifts$), Weighted Interval Fuzzy Time Series($W\ifts$), Ensemble FTS, Probabilistic Weighted Fuzzy Time Series (PWFTS) and Fuzzy Information Granule Fuzzy Time Series ($\mathcal{FIG}$-FTS); 36 | \item First probabilistic forecasting approaches for FTS methods: Ensemble FTS, PWFTS and $\mathcal{FIG}$-FTS; 37 | \item The PWFTS method, an high-order integrated method capable to produce point, interval and probabilistic forecasts for one and many steps ahead, with a white-box model; 38 | \item Two new scalability approaches for FTS distributed training and forecasting using clusters of commodity hardware; 39 | \item The Distributed Evolutionary Hyperparameter Optimization (DEHO) method, an optimization engine for FTS models; 40 | \item $\mathcal{FIG}$-FTS an extension of PWFTS for multivariate data, bringing all features of PWFTS method to the multivariate time series. 41 | \item pyFTS - An free and open source library for Fuzzy Time Series in Python language to grant the research reproducibility and easy employment. 42 | \end{itemize} 43 | 44 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 45 | \section{Summary of methods limitations} 46 | \index{Limitations of proposed methods} 47 | 48 | This research limited its scope to rule based time-invariant methods, which reduced the applicability of the proposed methods to stationary and well behaved time series with or without data pre-processing. 49 | 50 | The presented methods lacks abilities on forecasting with trend and demands previous data transformations to deal with this kind of time series. It also lacks mechanisms to deal with concept drifts a heteroskedastic time series. Despite being easily upgradable, the models produced by the proposed methods needs to be frequently updated to follow new data behaviors. For the presented non-weighted methods, outliers may be hard to trick and can reduce the accuracy of the methods. It is advisable to perform outlier removal pre-processing tasks before train the models. 51 | 52 | On PWFTS method, as the order and number of partitions increases the a priori probabilities may vanish to very low numbers, limited to the computational numerical precision. 53 | 54 | The tuning of multivariate models is an open issue, demanding new hyperparameter optimization strategies. Without tuning, the models produced by $FIG$-FTS methods are not parsimonious and can be computationally expensive. 55 | 56 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 57 | 58 | \section{Future Investigations} 59 | \index{Future Investigations} 60 | 61 | Some future research directions must be pointed, some of them extracted from methods limitations: 62 | 63 | \begin{itemize} 64 | \item Time variant extensions for the proposed methods should be investigated, including the use of non-stationary fuzzy sets proposed by \cite{Garibaldi2008}; 65 | \item The use of Approximate Bayesian Methods will be examined for the substitution of the $\pi_k$ fixed probabilities for probability distributions, to embrace the uncertainty of these quantities; 66 | \item Extension of DEHO method for MVFTS and $\FIG$-FTS should be investigated; 67 | \item A new probabilistic forecasting method that produces joint probability distributions for multivariate forecasting in $\FIG$-FTS should be investigated. 68 | \end{itemize} 69 | 70 | 71 | \section{Publications} 72 | 73 | From this research methods the following publications were extracted: 74 | 75 | \subsection{Journal Papers} 76 | \begin{enumerate} 77 | \item SILVA, Petrônio C. L.; SADAEI, Hossein J. ; BALLINI, Rosângela ; GUIMARÃES, Frederico G. . Probabilistic Forecasting With Fuzzy Time Series. IEEE Transactions on Fuzzy Systems, v. 1, p. 1-1, 2019. DOI: 10.1109/tfuzz.2019.2922152 \nocite{Silva2019b} 78 | \item SADAEI, Hossein J.; SILVA, Petrônio C. L.; GUIMARÃES, Frederico G.; LEE, Muhammad H. Short-term load forecasting by using a combined method of convolutional neural networks and fuzzy time series. ENERGY, v. 174, p. 1, 2019. DOI: 10.1016/j.energy.2019.03.081\nocite{Sadaei2019} 79 | \end{enumerate} 80 | 81 | \subsection{Conference Papers} 82 | \begin{enumerate} 83 | \item ALVES, M. A.; ALMEIDA, L. V. V. B.; REZENDE, T. M.; SILVA, P. C. L. S.; SEVERIANO, C. A.; SILVA, R.; GUIMARÃES, F. G. Otimização Dinâmica Evolucionária para Despacho de Energia em uma Microrrede usando Veículos Elétricos. In 14º Simpósio Brasileiro de Automação Inteligente - SBAI'19, Ouro Preto, 2019. 84 | \item LUCAS, P. O. E.; SILVA, P. C. L. S.; GUIMARÃES, F. G. Otimização Evolutiva de Hiperparâmetros para Modelos de Séries Temporais Nebulosas. In 14º Simpósio Brasileiro de Automação Inteligente - SBAI'19, Ouro Preto, 2019. 85 | \item SILVA, Petrônio C. L.; SEVERIANO Jr., Carlos A.; ALVES, Marcos A. ; COHEN, Miri W.; GUIMARÃES, Frederico G. A New Granular Approach for Multivariate Forecasting. 2nd Latin American Workshop on Computational Neuroscience. Communications in Computer and Information Science, 2019. 86 | \item SILVA, Petrônio C. L.; LUCAS, Patrícia O. ; GUIMARÃES, Frederico G. A Distributed Algorithm for Scalable Fuzzy Time Series. Lecture Notes in Computer Science. 1ed.: Springer International Publishing, 2019, v. , p. 42-56. DOI: 10.1007/978-3-030-19223-5\_4 \nocite{Silva2019} 87 | \item ALVES, Marcos A. ; SILVA, Petrônio C. L. ; SEVERIANO JR., Carlos A. ; VIEIRA, Gustavo L. ; GUIMARAES, Frederico G. ; SADAEI, Hossein J. . An extension of nonstationary fuzzy sets to heteroskedastic fuzzy time series. In: 26th European Symposium on Artificial Neural Networks, Computational Intelligence and Machine Learning, 2018, Bruges, Bélgica. 26th European Symposium on Artificial Neural Networks, Computational Intelligence and Machine Learning, 2018.\nocite{Alves2018} 88 | \item SILVA, Petrônio C. L.; ALVES, Marcos A. ; SEVERIANO JR., Carlos A. ; VIEIRA, Gustavo L. ; GUIMARAES, Frederido G. ; SADAEI, Hossein J. . Probabilistic Forecasting with Seasonal Ensemble Fuzzy Time-Series. In: XIII Brazilian Congress on Computational Intelligence, 2017, Niterói. Anais do XIII Brazilian Congress on Computational Intelligence, 2017.\nocite{Silva2017ensemble} 89 | \item COSTA, Francirley R. B. ; SILVA, Petrônio C. L.; GUIMARAES, Frederico G. ; BATISTA, Lucas S. . Regressão Linear Aplicada na Predição de Séries Temporais Fuzzy. In: XIII Simpósio Brasileiro de Automação Inteligente, 2017, Porto Alegre. Anais do XIII Simpósio Brasileiro de Automação Inteligente, 2017. \nocite{Costa2017} 90 | \item SEVERIANO Jr, Carlos A.; SILVA, Petrônio C.; SADAEI, Hossein J.; GUIMARÃES, Frederico G. Very Short-term Solar Forecasting using Fuzzy Time Series. 2017 IEEE Conference on Fuzzy Systems. DOI: 10.1109/fuzz-ieee.2017.8015732 \nocite{Severiano2017a} 91 | \item SILVA, Petrônio C. L.; SADAEI, Hossein J.; GUIMARÃES, Frederico G. Interval Forecasting with Fuzzy Time Series. In Computational Intelligence (SSCI), 2016 IEEE Symposium Series on (pp. 1-8). IEEE. DOI: 10.1109/ssci.2016.7850010 \nocite{Silva2016ifts} 92 | \end{enumerate} 93 | 94 | \subsection{Software Libraries} 95 | 96 | Silva, P. C. L, et al. pyFTS: Fuzzy Time Series for Python. Source Code: \url{http://pyfts.github.io/pyFTS} DOI: 10.5281/zenodo.597359. \nocite{pyFTS} 97 | 98 | \subsection{Short Courses and Talks} 99 | 100 | \begin{enumerate} 101 | \item SILVA, Petrônio C. L.; GUIMARÃES, Frederico G. Séries Temporais Nebulosas (STN). In 14º Simpósio Brasileiro de Automação Inteligente - SBAI'19, Ouro Preto, 2019. 102 | \item SILVA, Petrônio C. L.; GUIMARÃES, Frederico G. Fuzzy Time Series. In pyDATA BH, Belo Horizonte, 2019. 103 | \item SILVA, Petrônio C. L.; GUIMARÃES, Frederico G. pyFTS Quick Start. In Avenue Code Meetup, Belo Horizonte, 2019. 104 | \item SILVA, Petrônio C. L.; GUIMARÃES, Frederico G. Introdução às Séries Temporais Nebulosas com Aplicações em Energia Solar. In 2$^a$ Semana de Informática do IFNMG Campus Pirapora, Pirapora, 2018. 105 | \end{enumerate} 106 | 107 | 108 | -------------------------------------------------------------------------------- /abbrvnat.bst: -------------------------------------------------------------------------------- 1 | % Para bibliografia em português, trocar os comentários das linhas: 2 | % Trocando "and" pelo "e" 3 | % 239 - 240 4 | % 333 - 334 5 | % 1120 - 1121 6 | 7 | 8 | %% File: `abbrvnat.bst' 9 | %% A modification of `abbrv.bst' for use with natbib package 10 | %% 11 | %% Copyright 1993-2007 Patrick W Daly 12 | %% Max-Planck-Institut f\"ur Sonnensystemforschung 13 | %% Max-Planck-Str. 2 14 | %% D-37191 Katlenburg-Lindau 15 | %% Germany 16 | %% E-mail: daly@mps.mpg.de 17 | %% 18 | %% This program can be redistributed and/or modified under the terms 19 | %% of the LaTeX Project Public License Distributed from CTAN 20 | %% archives in directory macros/latex/base/lppl.txt; either 21 | %% version 1 of the License, or any later version. 22 | %% 23 | % Version and source file information: 24 | % \ProvidesFile{natbst.mbs}[2007/11/26 1.93 (PWD)] 25 | % 26 | % BibTeX `plainnat' family 27 | % version 0.99b for BibTeX versions 0.99a or later, 28 | % for LaTeX versions 2.09 and 2e. 29 | % 30 | % For use with the `natbib.sty' package; emulates the corresponding 31 | % member of the `plain' family, but with author-year citations. 32 | % 33 | % With version 6.0 of `natbib.sty', it may also be used for numerical 34 | % citations, while retaining the commands \citeauthor, \citefullauthor, 35 | % and \citeyear to print the corresponding information. 36 | % 37 | % For version 7.0 of `natbib.sty', the KEY field replaces missing 38 | % authors/editors, and the date is left blank in \bibitem. 39 | % 40 | % Includes field EID for the sequence/citation number of electronic journals 41 | % which is used instead of page numbers. 42 | % 43 | % Includes fields ISBN and ISSN. 44 | % 45 | % Includes field URL for Internet addresses. 46 | % 47 | % Includes field DOI for Digital Object Idenfifiers. 48 | % 49 | % Works best with the url.sty package of Donald Arseneau. 50 | % 51 | % Works with identical authors and year are further sorted by 52 | % citation key, to preserve any natural sequence. 53 | % 54 | ENTRY 55 | { address 56 | author 57 | booktitle 58 | chapter 59 | doi 60 | eid 61 | edition 62 | editor 63 | howpublished 64 | institution 65 | isbn 66 | issn 67 | journal 68 | key 69 | month 70 | note 71 | number 72 | organization 73 | pages 74 | publisher 75 | school 76 | series 77 | title 78 | type 79 | url 80 | volume 81 | year 82 | } 83 | {} 84 | { label extra.label sort.label short.list } 85 | 86 | INTEGERS { output.state before.all mid.sentence after.sentence after.block } 87 | 88 | FUNCTION {init.state.consts} 89 | { #0 'before.all := 90 | #1 'mid.sentence := 91 | #2 'after.sentence := 92 | #3 'after.block := 93 | } 94 | 95 | STRINGS { s t } 96 | 97 | FUNCTION {output.nonnull} 98 | { 's := 99 | output.state mid.sentence = 100 | { ", " * write$ } 101 | { output.state after.block = 102 | { add.period$ write$ 103 | newline$ 104 | "\newblock " write$ 105 | } 106 | { output.state before.all = 107 | 'write$ 108 | { add.period$ " " * write$ } 109 | if$ 110 | } 111 | if$ 112 | mid.sentence 'output.state := 113 | } 114 | if$ 115 | s 116 | } 117 | 118 | FUNCTION {output} 119 | { duplicate$ empty$ 120 | 'pop$ 121 | 'output.nonnull 122 | if$ 123 | } 124 | 125 | FUNCTION {output.check} 126 | { 't := 127 | duplicate$ empty$ 128 | { pop$ "empty " t * " in " * cite$ * warning$ } 129 | 'output.nonnull 130 | if$ 131 | } 132 | 133 | FUNCTION {fin.entry} 134 | { add.period$ 135 | write$ 136 | newline$ 137 | } 138 | 139 | FUNCTION {new.block} 140 | { output.state before.all = 141 | 'skip$ 142 | { after.block 'output.state := } 143 | if$ 144 | } 145 | 146 | FUNCTION {new.sentence} 147 | { output.state after.block = 148 | 'skip$ 149 | { output.state before.all = 150 | 'skip$ 151 | { after.sentence 'output.state := } 152 | if$ 153 | } 154 | if$ 155 | } 156 | 157 | FUNCTION {not} 158 | { { #0 } 159 | { #1 } 160 | if$ 161 | } 162 | 163 | FUNCTION {and} 164 | { 'skip$ 165 | { pop$ #0 } 166 | if$ 167 | } 168 | 169 | FUNCTION {or} 170 | { { pop$ #1 } 171 | 'skip$ 172 | if$ 173 | } 174 | 175 | FUNCTION {new.block.checka} 176 | { empty$ 177 | 'skip$ 178 | 'new.block 179 | if$ 180 | } 181 | 182 | FUNCTION {new.block.checkb} 183 | { empty$ 184 | swap$ empty$ 185 | and 186 | 'skip$ 187 | 'new.block 188 | if$ 189 | } 190 | 191 | FUNCTION {new.sentence.checka} 192 | { empty$ 193 | 'skip$ 194 | 'new.sentence 195 | if$ 196 | } 197 | 198 | FUNCTION {new.sentence.checkb} 199 | { empty$ 200 | swap$ empty$ 201 | and 202 | 'skip$ 203 | 'new.sentence 204 | if$ 205 | } 206 | 207 | FUNCTION {field.or.null} 208 | { duplicate$ empty$ 209 | { pop$ "" } 210 | 'skip$ 211 | if$ 212 | } 213 | 214 | FUNCTION {emphasize} 215 | { duplicate$ empty$ 216 | { pop$ "" } 217 | { "\emph{" swap$ * "}" * } 218 | if$ 219 | } 220 | 221 | INTEGERS { nameptr namesleft numnames } 222 | 223 | FUNCTION {format.names} 224 | { 's := 225 | #1 'nameptr := 226 | s num.names$ 'numnames := 227 | numnames 'namesleft := 228 | { namesleft #0 > } 229 | { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := 230 | nameptr #1 > 231 | { namesleft #1 > 232 | { ", " * t * } 233 | { numnames #2 > 234 | { "," * } 235 | 'skip$ 236 | if$ 237 | t "others" = 238 | { " et~al." * } 239 | { " and " * t * } 240 | %{ " e " * t * } 241 | if$ 242 | } 243 | if$ 244 | } 245 | 't 246 | if$ 247 | nameptr #1 + 'nameptr := 248 | namesleft #1 - 'namesleft := 249 | } 250 | while$ 251 | } 252 | 253 | FUNCTION {format.key} 254 | { empty$ 255 | { key field.or.null } 256 | { "" } 257 | if$ 258 | } 259 | 260 | FUNCTION {format.authors} 261 | { author empty$ 262 | { "" } 263 | { author format.names } 264 | if$ 265 | } 266 | 267 | FUNCTION {format.editors} 268 | { editor empty$ 269 | { "" } 270 | { editor format.names 271 | editor num.names$ #1 > 272 | { ", editors" * } 273 | { ", editor" * } 274 | if$ 275 | } 276 | if$ 277 | } 278 | 279 | FUNCTION {format.isbn} 280 | { isbn empty$ 281 | { "" } 282 | { new.block "ISBN " isbn * } 283 | if$ 284 | } 285 | 286 | FUNCTION {format.issn} 287 | { issn empty$ 288 | { "" } 289 | { new.block "ISSN " issn * } 290 | if$ 291 | } 292 | 293 | FUNCTION {format.url} 294 | { url empty$ 295 | { "" } 296 | { new.block "URL \url{" url * "}" * } 297 | if$ 298 | } 299 | 300 | FUNCTION {format.doi} 301 | { doi empty$ 302 | { "" } 303 | { new.block "\doi{" doi * "}" * } 304 | if$ 305 | } 306 | 307 | FUNCTION {format.title} 308 | { title empty$ 309 | { "" } 310 | { title "t" change.case$ } 311 | if$ 312 | } 313 | 314 | FUNCTION {format.full.names} 315 | {'s := 316 | #1 'nameptr := 317 | s num.names$ 'numnames := 318 | numnames 'namesleft := 319 | { namesleft #0 > } 320 | { s nameptr 321 | "{vv~}{ll}" format.name$ 't := 322 | nameptr #1 > 323 | { 324 | namesleft #1 > 325 | { ", " * t * } 326 | { 327 | numnames #2 > 328 | { "," * } 329 | 'skip$ 330 | if$ 331 | t "others" = 332 | { " et~al." * } 333 | { " and " * t * } 334 | %{ " e " * t * } 335 | if$ 336 | } 337 | if$ 338 | } 339 | 't 340 | if$ 341 | nameptr #1 + 'nameptr := 342 | namesleft #1 - 'namesleft := 343 | } 344 | while$ 345 | } 346 | 347 | FUNCTION {author.editor.full} 348 | { author empty$ 349 | { editor empty$ 350 | { "" } 351 | { editor format.full.names } 352 | if$ 353 | } 354 | { author format.full.names } 355 | if$ 356 | } 357 | 358 | FUNCTION {author.full} 359 | { author empty$ 360 | { "" } 361 | { author format.full.names } 362 | if$ 363 | } 364 | 365 | FUNCTION {editor.full} 366 | { editor empty$ 367 | { "" } 368 | { editor format.full.names } 369 | if$ 370 | } 371 | 372 | FUNCTION {make.full.names} 373 | { type$ "book" = 374 | type$ "inbook" = 375 | or 376 | 'author.editor.full 377 | { type$ "proceedings" = 378 | 'editor.full 379 | 'author.full 380 | if$ 381 | } 382 | if$ 383 | } 384 | 385 | FUNCTION {output.bibitem} 386 | { newline$ 387 | "\bibitem[" write$ 388 | label write$ 389 | ")" make.full.names duplicate$ short.list = 390 | { pop$ } 391 | { * } 392 | if$ 393 | "]{" * write$ 394 | cite$ write$ 395 | "}" write$ 396 | newline$ 397 | "" 398 | before.all 'output.state := 399 | } 400 | 401 | FUNCTION {n.dashify} 402 | { 't := 403 | "" 404 | { t empty$ not } 405 | { t #1 #1 substring$ "-" = 406 | { t #1 #2 substring$ "--" = not 407 | { "--" * 408 | t #2 global.max$ substring$ 't := 409 | } 410 | { { t #1 #1 substring$ "-" = } 411 | { "-" * 412 | t #2 global.max$ substring$ 't := 413 | } 414 | while$ 415 | } 416 | if$ 417 | } 418 | { t #1 #1 substring$ * 419 | t #2 global.max$ substring$ 't := 420 | } 421 | if$ 422 | } 423 | while$ 424 | } 425 | 426 | FUNCTION {format.date} 427 | { year duplicate$ empty$ 428 | { "empty year in " cite$ * warning$ 429 | pop$ "" } 430 | 'skip$ 431 | if$ 432 | month empty$ 433 | 'skip$ 434 | { month 435 | " " * swap$ * 436 | } 437 | if$ 438 | extra.label * 439 | } 440 | 441 | FUNCTION {format.btitle} 442 | { title emphasize 443 | } 444 | 445 | FUNCTION {tie.or.space.connect} 446 | { duplicate$ text.length$ #3 < 447 | { "~" } 448 | { " " } 449 | if$ 450 | swap$ * * 451 | } 452 | 453 | FUNCTION {either.or.check} 454 | { empty$ 455 | 'pop$ 456 | { "can't use both " swap$ * " fields in " * cite$ * warning$ } 457 | if$ 458 | } 459 | 460 | FUNCTION {format.bvolume} 461 | { volume empty$ 462 | { "" } 463 | { "volume" volume tie.or.space.connect 464 | series empty$ 465 | 'skip$ 466 | { " of " * series emphasize * } 467 | if$ 468 | "volume and number" number either.or.check 469 | } 470 | if$ 471 | } 472 | 473 | FUNCTION {format.number.series} 474 | { volume empty$ 475 | { number empty$ 476 | { series field.or.null } 477 | { output.state mid.sentence = 478 | { "number" } 479 | { "Number" } 480 | if$ 481 | number tie.or.space.connect 482 | series empty$ 483 | { "there's a number but no series in " cite$ * warning$ } 484 | { " in " * series * } 485 | if$ 486 | } 487 | if$ 488 | } 489 | { "" } 490 | if$ 491 | } 492 | 493 | FUNCTION {format.edition} 494 | { edition empty$ 495 | { "" } 496 | { output.state mid.sentence = 497 | { edition "l" change.case$ " edition" * } 498 | { edition "t" change.case$ " edition" * } 499 | if$ 500 | } 501 | if$ 502 | } 503 | 504 | INTEGERS { multiresult } 505 | 506 | FUNCTION {multi.page.check} 507 | { 't := 508 | #0 'multiresult := 509 | { multiresult not 510 | t empty$ not 511 | and 512 | } 513 | { t #1 #1 substring$ 514 | duplicate$ "-" = 515 | swap$ duplicate$ "," = 516 | swap$ "+" = 517 | or or 518 | { #1 'multiresult := } 519 | { t #2 global.max$ substring$ 't := } 520 | if$ 521 | } 522 | while$ 523 | multiresult 524 | } 525 | 526 | FUNCTION {format.pages} 527 | { pages empty$ 528 | { "" } 529 | { pages multi.page.check 530 | { "pages" pages n.dashify tie.or.space.connect } 531 | { "page" pages tie.or.space.connect } 532 | if$ 533 | } 534 | if$ 535 | } 536 | 537 | FUNCTION {format.eid} 538 | { eid empty$ 539 | { "" } 540 | { "art." eid tie.or.space.connect } 541 | if$ 542 | } 543 | 544 | FUNCTION {format.vol.num.pages} 545 | { volume field.or.null 546 | number empty$ 547 | 'skip$ 548 | { "\penalty0 (" number * ")" * * 549 | volume empty$ 550 | { "there's a number but no volume in " cite$ * warning$ } 551 | 'skip$ 552 | if$ 553 | } 554 | if$ 555 | pages empty$ 556 | 'skip$ 557 | { duplicate$ empty$ 558 | { pop$ format.pages } 559 | { ":\penalty0 " * pages n.dashify * } 560 | if$ 561 | } 562 | if$ 563 | } 564 | 565 | FUNCTION {format.vol.num.eid} 566 | { volume field.or.null 567 | number empty$ 568 | 'skip$ 569 | { "\penalty0 (" number * ")" * * 570 | volume empty$ 571 | { "there's a number but no volume in " cite$ * warning$ } 572 | 'skip$ 573 | if$ 574 | } 575 | if$ 576 | eid empty$ 577 | 'skip$ 578 | { duplicate$ empty$ 579 | { pop$ format.eid } 580 | { ":\penalty0 " * eid * } 581 | if$ 582 | } 583 | if$ 584 | } 585 | 586 | FUNCTION {format.chapter.pages} 587 | { chapter empty$ 588 | 'format.pages 589 | { type empty$ 590 | { "chapter" } 591 | { type "l" change.case$ } 592 | if$ 593 | chapter tie.or.space.connect 594 | pages empty$ 595 | 'skip$ 596 | { ", " * format.pages * } 597 | if$ 598 | } 599 | if$ 600 | } 601 | 602 | FUNCTION {format.in.ed.booktitle} 603 | { booktitle empty$ 604 | { "" } 605 | { editor empty$ 606 | { "In " booktitle emphasize * } 607 | { "In " format.editors * ", " * booktitle emphasize * } 608 | if$ 609 | } 610 | if$ 611 | } 612 | 613 | FUNCTION {empty.misc.check} 614 | { author empty$ title empty$ howpublished empty$ 615 | month empty$ year empty$ note empty$ 616 | and and and and and 617 | key empty$ not and 618 | { "all relevant fields are empty in " cite$ * warning$ } 619 | 'skip$ 620 | if$ 621 | } 622 | 623 | FUNCTION {format.thesis.type} 624 | { type empty$ 625 | 'skip$ 626 | { pop$ 627 | type "t" change.case$ 628 | } 629 | if$ 630 | } 631 | 632 | FUNCTION {format.tr.number} 633 | { type empty$ 634 | { "Technical Report" } 635 | 'type 636 | if$ 637 | number empty$ 638 | { "t" change.case$ } 639 | { number tie.or.space.connect } 640 | if$ 641 | } 642 | 643 | FUNCTION {format.article.crossref} 644 | { key empty$ 645 | { journal empty$ 646 | { "need key or journal for " cite$ * " to crossref " * crossref * 647 | warning$ 648 | "" 649 | } 650 | { "In \emph{" journal * "}" * } 651 | if$ 652 | } 653 | { "In " } 654 | if$ 655 | " \citet{" * crossref * "}" * 656 | } 657 | 658 | FUNCTION {format.book.crossref} 659 | { volume empty$ 660 | { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ 661 | "In " 662 | } 663 | { "Volume" volume tie.or.space.connect 664 | " of " * 665 | } 666 | if$ 667 | editor empty$ 668 | editor field.or.null author field.or.null = 669 | or 670 | { key empty$ 671 | { series empty$ 672 | { "need editor, key, or series for " cite$ * " to crossref " * 673 | crossref * warning$ 674 | "" * 675 | } 676 | { "\emph{" * series * "}" * } 677 | if$ 678 | } 679 | 'skip$ 680 | if$ 681 | } 682 | 'skip$ 683 | if$ 684 | " \citet{" * crossref * "}" * 685 | } 686 | 687 | FUNCTION {format.incoll.inproc.crossref} 688 | { editor empty$ 689 | editor field.or.null author field.or.null = 690 | or 691 | { key empty$ 692 | { booktitle empty$ 693 | { "need editor, key, or booktitle for " cite$ * " to crossref " * 694 | crossref * warning$ 695 | "" 696 | } 697 | { "In \emph{" booktitle * "}" * } 698 | if$ 699 | } 700 | { "In " } 701 | if$ 702 | } 703 | { "In " } 704 | if$ 705 | " \citet{" * crossref * "}" * 706 | } 707 | 708 | FUNCTION {article} 709 | { output.bibitem 710 | format.authors "author" output.check 711 | author format.key output 712 | new.block 713 | format.title "title" output.check 714 | new.block 715 | crossref missing$ 716 | { journal emphasize "journal" output.check 717 | eid empty$ 718 | { format.vol.num.pages output } 719 | { format.vol.num.eid output } 720 | if$ 721 | format.date "year" output.check 722 | } 723 | { format.article.crossref output.nonnull 724 | eid empty$ 725 | { format.pages output } 726 | { format.eid output } 727 | if$ 728 | } 729 | if$ 730 | format.issn output 731 | format.doi output 732 | format.url output 733 | new.block 734 | note output 735 | fin.entry 736 | } 737 | 738 | FUNCTION {book} 739 | { output.bibitem 740 | author empty$ 741 | { format.editors "author and editor" output.check 742 | editor format.key output 743 | } 744 | { format.authors output.nonnull 745 | crossref missing$ 746 | { "author and editor" editor either.or.check } 747 | 'skip$ 748 | if$ 749 | } 750 | if$ 751 | new.block 752 | format.btitle "title" output.check 753 | crossref missing$ 754 | { format.bvolume output 755 | new.block 756 | format.number.series output 757 | new.sentence 758 | publisher "publisher" output.check 759 | address output 760 | } 761 | { new.block 762 | format.book.crossref output.nonnull 763 | } 764 | if$ 765 | format.edition output 766 | format.date "year" output.check 767 | format.isbn output 768 | format.doi output 769 | format.url output 770 | new.block 771 | note output 772 | fin.entry 773 | } 774 | 775 | FUNCTION {booklet} 776 | { output.bibitem 777 | format.authors output 778 | author format.key output 779 | new.block 780 | format.title "title" output.check 781 | howpublished address new.block.checkb 782 | howpublished output 783 | address output 784 | format.date output 785 | format.isbn output 786 | format.doi output 787 | format.url output 788 | new.block 789 | note output 790 | fin.entry 791 | } 792 | 793 | FUNCTION {inbook} 794 | { output.bibitem 795 | author empty$ 796 | { format.editors "author and editor" output.check 797 | editor format.key output 798 | } 799 | { format.authors output.nonnull 800 | crossref missing$ 801 | { "author and editor" editor either.or.check } 802 | 'skip$ 803 | if$ 804 | } 805 | if$ 806 | new.block 807 | format.btitle "title" output.check 808 | crossref missing$ 809 | { format.bvolume output 810 | format.chapter.pages "chapter and pages" output.check 811 | new.block 812 | format.number.series output 813 | new.sentence 814 | publisher "publisher" output.check 815 | address output 816 | } 817 | { format.chapter.pages "chapter and pages" output.check 818 | new.block 819 | format.book.crossref output.nonnull 820 | } 821 | if$ 822 | format.edition output 823 | format.date "year" output.check 824 | format.isbn output 825 | format.doi output 826 | format.url output 827 | new.block 828 | note output 829 | fin.entry 830 | } 831 | 832 | FUNCTION {incollection} 833 | { output.bibitem 834 | format.authors "author" output.check 835 | author format.key output 836 | new.block 837 | format.title "title" output.check 838 | new.block 839 | crossref missing$ 840 | { format.in.ed.booktitle "booktitle" output.check 841 | format.bvolume output 842 | format.number.series output 843 | format.chapter.pages output 844 | new.sentence 845 | publisher "publisher" output.check 846 | address output 847 | format.edition output 848 | format.date "year" output.check 849 | } 850 | { format.incoll.inproc.crossref output.nonnull 851 | format.chapter.pages output 852 | } 853 | if$ 854 | format.isbn output 855 | format.doi output 856 | format.url output 857 | new.block 858 | note output 859 | fin.entry 860 | } 861 | 862 | FUNCTION {inproceedings} 863 | { output.bibitem 864 | format.authors "author" output.check 865 | author format.key output 866 | new.block 867 | format.title "title" output.check 868 | new.block 869 | crossref missing$ 870 | { format.in.ed.booktitle "booktitle" output.check 871 | format.bvolume output 872 | format.number.series output 873 | format.pages output 874 | address empty$ 875 | { organization publisher new.sentence.checkb 876 | organization output 877 | publisher output 878 | format.date "year" output.check 879 | } 880 | { address output.nonnull 881 | format.date "year" output.check 882 | new.sentence 883 | organization output 884 | publisher output 885 | } 886 | if$ 887 | } 888 | { format.incoll.inproc.crossref output.nonnull 889 | format.pages output 890 | } 891 | if$ 892 | format.isbn output 893 | format.doi output 894 | format.url output 895 | new.block 896 | note output 897 | fin.entry 898 | } 899 | 900 | FUNCTION {conference} { inproceedings } 901 | 902 | FUNCTION {manual} 903 | { output.bibitem 904 | format.authors output 905 | author format.key output 906 | new.block 907 | format.btitle "title" output.check 908 | organization address new.block.checkb 909 | organization output 910 | address output 911 | format.edition output 912 | format.date output 913 | format.url output 914 | new.block 915 | note output 916 | fin.entry 917 | } 918 | 919 | FUNCTION {mastersthesis} 920 | { output.bibitem 921 | format.authors "author" output.check 922 | author format.key output 923 | new.block 924 | format.title "title" output.check 925 | new.block 926 | "Master's thesis" format.thesis.type output.nonnull 927 | school "school" output.check 928 | address output 929 | format.date "year" output.check 930 | format.url output 931 | new.block 932 | note output 933 | fin.entry 934 | } 935 | 936 | FUNCTION {misc} 937 | { output.bibitem 938 | format.authors output 939 | author format.key output 940 | title howpublished new.block.checkb 941 | format.title output 942 | howpublished new.block.checka 943 | howpublished output 944 | format.date output 945 | format.issn output 946 | format.url output 947 | new.block 948 | note output 949 | fin.entry 950 | empty.misc.check 951 | } 952 | 953 | FUNCTION {phdthesis} 954 | { output.bibitem 955 | format.authors "author" output.check 956 | author format.key output 957 | new.block 958 | format.btitle "title" output.check 959 | new.block 960 | "PhD thesis" format.thesis.type output.nonnull 961 | school "school" output.check 962 | address output 963 | format.date "year" output.check 964 | format.url output 965 | new.block 966 | note output 967 | fin.entry 968 | } 969 | 970 | FUNCTION {proceedings} 971 | { output.bibitem 972 | format.editors output 973 | editor format.key output 974 | new.block 975 | format.btitle "title" output.check 976 | format.bvolume output 977 | format.number.series output 978 | address output 979 | format.date "year" output.check 980 | new.sentence 981 | organization output 982 | publisher output 983 | format.isbn output 984 | format.doi output 985 | format.url output 986 | new.block 987 | note output 988 | fin.entry 989 | } 990 | 991 | FUNCTION {techreport} 992 | { output.bibitem 993 | format.authors "author" output.check 994 | author format.key output 995 | new.block 996 | format.title "title" output.check 997 | new.block 998 | format.tr.number output.nonnull 999 | institution "institution" output.check 1000 | address output 1001 | format.date "year" output.check 1002 | format.url output 1003 | new.block 1004 | note output 1005 | fin.entry 1006 | } 1007 | 1008 | FUNCTION {unpublished} 1009 | { output.bibitem 1010 | format.authors "author" output.check 1011 | author format.key output 1012 | new.block 1013 | format.title "title" output.check 1014 | new.block 1015 | note "note" output.check 1016 | format.date output 1017 | format.url output 1018 | fin.entry 1019 | } 1020 | 1021 | FUNCTION {default.type} { misc } 1022 | 1023 | 1024 | MACRO {jan} {"Jan."} 1025 | 1026 | MACRO {feb} {"Feb."} 1027 | 1028 | MACRO {mar} {"Mar."} 1029 | 1030 | MACRO {apr} {"Apr."} 1031 | 1032 | MACRO {may} {"May"} 1033 | 1034 | MACRO {jun} {"June"} 1035 | 1036 | MACRO {jul} {"July"} 1037 | 1038 | MACRO {aug} {"Aug."} 1039 | 1040 | MACRO {sep} {"Sept."} 1041 | 1042 | MACRO {oct} {"Oct."} 1043 | 1044 | MACRO {nov} {"Nov."} 1045 | 1046 | MACRO {dec} {"Dec."} 1047 | 1048 | 1049 | 1050 | MACRO {acmcs} {"ACM Comput. Surv."} 1051 | 1052 | MACRO {acta} {"Acta Inf."} 1053 | 1054 | MACRO {cacm} {"Commun. ACM"} 1055 | 1056 | MACRO {ibmjrd} {"IBM J. Res. Dev."} 1057 | 1058 | MACRO {ibmsj} {"IBM Syst.~J."} 1059 | 1060 | MACRO {ieeese} {"IEEE Trans. Softw. Eng."} 1061 | 1062 | MACRO {ieeetc} {"IEEE Trans. Comput."} 1063 | 1064 | MACRO {ieeetcad} 1065 | {"IEEE Trans. Comput.-Aided Design Integrated Circuits"} 1066 | 1067 | MACRO {ipl} {"Inf. Process. Lett."} 1068 | 1069 | MACRO {jacm} {"J.~ACM"} 1070 | 1071 | MACRO {jcss} {"J.~Comput. Syst. Sci."} 1072 | 1073 | MACRO {scp} {"Sci. Comput. Programming"} 1074 | 1075 | MACRO {sicomp} {"SIAM J. Comput."} 1076 | 1077 | MACRO {tocs} {"ACM Trans. Comput. Syst."} 1078 | 1079 | MACRO {tods} {"ACM Trans. Database Syst."} 1080 | 1081 | MACRO {tog} {"ACM Trans. Gr."} 1082 | 1083 | MACRO {toms} {"ACM Trans. Math. Softw."} 1084 | 1085 | MACRO {toois} {"ACM Trans. Office Inf. Syst."} 1086 | 1087 | MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."} 1088 | 1089 | MACRO {tcs} {"Theoretical Comput. Sci."} 1090 | 1091 | 1092 | READ 1093 | 1094 | FUNCTION {sortify} 1095 | { purify$ 1096 | "l" change.case$ 1097 | } 1098 | 1099 | INTEGERS { len } 1100 | 1101 | FUNCTION {chop.word} 1102 | { 's := 1103 | 'len := 1104 | s #1 len substring$ = 1105 | { s len #1 + global.max$ substring$ } 1106 | 's 1107 | if$ 1108 | } 1109 | 1110 | FUNCTION {format.lab.names} 1111 | { 's := 1112 | s #1 "{vv~}{ll}" format.name$ 1113 | s num.names$ duplicate$ 1114 | #2 > 1115 | { pop$ " et~al." * } 1116 | { #2 < 1117 | 'skip$ 1118 | { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = 1119 | { " et~al." * } 1120 | { " and " * s #2 "{vv~}{ll}" format.name$ * } 1121 | %{ " e " * s #2 "{vv~}{ll}" format.name$ * } 1122 | if$ 1123 | } 1124 | if$ 1125 | } 1126 | if$ 1127 | } 1128 | 1129 | FUNCTION {author.key.label} 1130 | { author empty$ 1131 | { key empty$ 1132 | { cite$ #1 #3 substring$ } 1133 | 'key 1134 | if$ 1135 | } 1136 | { author format.lab.names } 1137 | if$ 1138 | } 1139 | 1140 | FUNCTION {author.editor.key.label} 1141 | { author empty$ 1142 | { editor empty$ 1143 | { key empty$ 1144 | { cite$ #1 #3 substring$ } 1145 | 'key 1146 | if$ 1147 | } 1148 | { editor format.lab.names } 1149 | if$ 1150 | } 1151 | { author format.lab.names } 1152 | if$ 1153 | } 1154 | 1155 | FUNCTION {author.key.organization.label} 1156 | { author empty$ 1157 | { key empty$ 1158 | { organization empty$ 1159 | { cite$ #1 #3 substring$ } 1160 | { "The " #4 organization chop.word #3 text.prefix$ } 1161 | if$ 1162 | } 1163 | 'key 1164 | if$ 1165 | } 1166 | { author format.lab.names } 1167 | if$ 1168 | } 1169 | 1170 | FUNCTION {editor.key.organization.label} 1171 | { editor empty$ 1172 | { key empty$ 1173 | { organization empty$ 1174 | { cite$ #1 #3 substring$ } 1175 | { "The " #4 organization chop.word #3 text.prefix$ } 1176 | if$ 1177 | } 1178 | 'key 1179 | if$ 1180 | } 1181 | { editor format.lab.names } 1182 | if$ 1183 | } 1184 | 1185 | FUNCTION {calc.short.authors} 1186 | { type$ "book" = 1187 | type$ "inbook" = 1188 | or 1189 | 'author.editor.key.label 1190 | { type$ "proceedings" = 1191 | 'editor.key.organization.label 1192 | { type$ "manual" = 1193 | 'author.key.organization.label 1194 | 'author.key.label 1195 | if$ 1196 | } 1197 | if$ 1198 | } 1199 | if$ 1200 | 'short.list := 1201 | } 1202 | 1203 | FUNCTION {calc.label} 1204 | { calc.short.authors 1205 | short.list 1206 | "(" 1207 | * 1208 | year duplicate$ empty$ 1209 | short.list key field.or.null = or 1210 | { pop$ "" } 1211 | 'skip$ 1212 | if$ 1213 | * 1214 | 'label := 1215 | } 1216 | 1217 | FUNCTION {sort.format.names} 1218 | { 's := 1219 | #1 'nameptr := 1220 | "" 1221 | s num.names$ 'numnames := 1222 | numnames 'namesleft := 1223 | { namesleft #0 > } 1224 | { 1225 | s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := 1226 | nameptr #1 > 1227 | { 1228 | " " * 1229 | namesleft #1 = t "others" = and 1230 | { "zzzzz" * } 1231 | { numnames #2 > nameptr #2 = and 1232 | { "zz" * year field.or.null * " " * } 1233 | 'skip$ 1234 | if$ 1235 | t sortify * 1236 | } 1237 | if$ 1238 | } 1239 | { t sortify * } 1240 | if$ 1241 | nameptr #1 + 'nameptr := 1242 | namesleft #1 - 'namesleft := 1243 | } 1244 | while$ 1245 | } 1246 | 1247 | FUNCTION {sort.format.title} 1248 | { 't := 1249 | "A " #2 1250 | "An " #3 1251 | "The " #4 t chop.word 1252 | chop.word 1253 | chop.word 1254 | sortify 1255 | #1 global.max$ substring$ 1256 | } 1257 | 1258 | FUNCTION {author.sort} 1259 | { author empty$ 1260 | { key empty$ 1261 | { "to sort, need author or key in " cite$ * warning$ 1262 | "" 1263 | } 1264 | { key sortify } 1265 | if$ 1266 | } 1267 | { author sort.format.names } 1268 | if$ 1269 | } 1270 | 1271 | FUNCTION {author.editor.sort} 1272 | { author empty$ 1273 | { editor empty$ 1274 | { key empty$ 1275 | { "to sort, need author, editor, or key in " cite$ * warning$ 1276 | "" 1277 | } 1278 | { key sortify } 1279 | if$ 1280 | } 1281 | { editor sort.format.names } 1282 | if$ 1283 | } 1284 | { author sort.format.names } 1285 | if$ 1286 | } 1287 | 1288 | FUNCTION {author.organization.sort} 1289 | { author empty$ 1290 | { organization empty$ 1291 | { key empty$ 1292 | { "to sort, need author, organization, or key in " cite$ * warning$ 1293 | "" 1294 | } 1295 | { key sortify } 1296 | if$ 1297 | } 1298 | { "The " #4 organization chop.word sortify } 1299 | if$ 1300 | } 1301 | { author sort.format.names } 1302 | if$ 1303 | } 1304 | 1305 | FUNCTION {editor.organization.sort} 1306 | { editor empty$ 1307 | { organization empty$ 1308 | { key empty$ 1309 | { "to sort, need editor, organization, or key in " cite$ * warning$ 1310 | "" 1311 | } 1312 | { key sortify } 1313 | if$ 1314 | } 1315 | { "The " #4 organization chop.word sortify } 1316 | if$ 1317 | } 1318 | { editor sort.format.names } 1319 | if$ 1320 | } 1321 | 1322 | 1323 | FUNCTION {presort} 1324 | { calc.label 1325 | label sortify 1326 | " " 1327 | * 1328 | type$ "book" = 1329 | type$ "inbook" = 1330 | or 1331 | 'author.editor.sort 1332 | { type$ "proceedings" = 1333 | 'editor.organization.sort 1334 | { type$ "manual" = 1335 | 'author.organization.sort 1336 | 'author.sort 1337 | if$ 1338 | } 1339 | if$ 1340 | } 1341 | if$ 1342 | " " 1343 | * 1344 | year field.or.null sortify 1345 | * 1346 | " " 1347 | * 1348 | cite$ 1349 | * 1350 | #1 entry.max$ substring$ 1351 | 'sort.label := 1352 | sort.label * 1353 | #1 entry.max$ substring$ 1354 | 'sort.key$ := 1355 | } 1356 | 1357 | ITERATE {presort} 1358 | 1359 | SORT 1360 | 1361 | STRINGS { longest.label last.label next.extra } 1362 | 1363 | INTEGERS { longest.label.width last.extra.num number.label } 1364 | 1365 | FUNCTION {initialize.longest.label} 1366 | { "" 'longest.label := 1367 | #0 int.to.chr$ 'last.label := 1368 | "" 'next.extra := 1369 | #0 'longest.label.width := 1370 | #0 'last.extra.num := 1371 | #0 'number.label := 1372 | } 1373 | 1374 | FUNCTION {forward.pass} 1375 | { last.label label = 1376 | { last.extra.num #1 + 'last.extra.num := 1377 | last.extra.num int.to.chr$ 'extra.label := 1378 | } 1379 | { "a" chr.to.int$ 'last.extra.num := 1380 | "" 'extra.label := 1381 | label 'last.label := 1382 | } 1383 | if$ 1384 | number.label #1 + 'number.label := 1385 | } 1386 | 1387 | FUNCTION {reverse.pass} 1388 | { next.extra "b" = 1389 | { "a" 'extra.label := } 1390 | 'skip$ 1391 | if$ 1392 | extra.label 'next.extra := 1393 | extra.label 1394 | duplicate$ empty$ 1395 | 'skip$ 1396 | { "{\natexlab{" swap$ * "}}" * } 1397 | if$ 1398 | 'extra.label := 1399 | label extra.label * 'label := 1400 | } 1401 | 1402 | EXECUTE {initialize.longest.label} 1403 | 1404 | ITERATE {forward.pass} 1405 | 1406 | REVERSE {reverse.pass} 1407 | 1408 | FUNCTION {bib.sort.order} 1409 | { sort.label 'sort.key$ := 1410 | } 1411 | 1412 | ITERATE {bib.sort.order} 1413 | 1414 | SORT 1415 | 1416 | FUNCTION {begin.bib} 1417 | { preamble$ empty$ 1418 | 'skip$ 1419 | { preamble$ write$ newline$ } 1420 | if$ 1421 | "\begin{thebibliography}{" number.label int.to.str$ * "}" * 1422 | write$ newline$ 1423 | "\providecommand{\natexlab}[1]{#1}" 1424 | write$ newline$ 1425 | "\providecommand{\url}[1]{\texttt{#1}}" 1426 | write$ newline$ 1427 | "\expandafter\ifx\csname urlstyle\endcsname\relax" 1428 | write$ newline$ 1429 | " \providecommand{\doi}[1]{doi: #1}\else" 1430 | write$ newline$ 1431 | " \providecommand{\doi}{doi: \begingroup \urlstyle{rm}\Url}\fi" 1432 | write$ newline$ 1433 | } 1434 | 1435 | EXECUTE {begin.bib} 1436 | 1437 | EXECUTE {init.state.consts} 1438 | 1439 | ITERATE {call.type$} 1440 | 1441 | FUNCTION {end.bib} 1442 | { newline$ 1443 | "\end{thebibliography}" write$ newline$ 1444 | } 1445 | 1446 | EXECUTE {end.bib} -------------------------------------------------------------------------------- /chapters/chap_results.tex: -------------------------------------------------------------------------------- 1 | \chapter[Computational experiments]{Computational experiments} \label{chap:results} \index{Computational experiments} 2 | 3 | \newepigraph{No amount of experimentation can ever prove me right; a single experiment can prove me wrong}{Einstein} 4 | 5 | \section{Experimental design} 6 | 7 | \begin{table}[htb] 8 | \begin{tabular}{|c|c|c|c|c|} \hline 9 | \textbf{Data Set} & \textbf{Time Unit} & \textbf{Stationarity} & \textbf{Seasonality} & \textbf{Trend} \\ \hline 10 | TAIEX & Day & Yes & - & - \\ \hline 11 | NASDAQ & Day & Yes & - & Linear \\ \hline 12 | S\&P 500 & Day & Yes & - & - \\ \hline 13 | BEST & Daily & Yes & Yearly & Linear \\ \hline 14 | SONDA & Hourly & Yes & Yearly & - \\ \hline 15 | SONDA & Hourly & Yes & Yearly & - \\ \hline 16 | Gaussian Process & - & Yes & - & - \\ \hline 17 | \end{tabular} 18 | \caption{Summary of experimental data} 19 | \label{tab:datasets} 20 | \end{table} 21 | 22 | To measure the performance of the proposed models three well known financial time series data (the TAIEX, NASDAQ and SP\&P500 data sets), three environmental time series (Berkeley Earth, SONDA and ...) and a simple synthetic Gaussian process were selected. A rolling window cross validation methodology \cite{Tashman2000} was applied, using a working set of 2000 instances, 1600 for training (80\%) and 400 for test (20\%) and a sliding increment of 100 instances, totalizing 30 experiments. 23 | 24 | The Taiwan Stock Exchange Capitalization Weighted Stock Index (TAIEX)\footnote{\url{http://www.twse.com.tw/en/products/indices/Index_Series.php}. Access in 23/05/2016}, plotted on Figure \ref{fig:taiex}, is a well known economic time series data commonly used in FTS literature (see for instance \cite{yu2005weighted}, \cite{Chen2011}, \cite{Bajestani2011}, \cite{Lee2013}, \cite{Chen2015a}, \cite{JavedaniSadaei2016c}, etc). This dataset is sampled from 1995 to 2014 time window, and has the averaged daily index by business day. This is a stationary time series dataset whose Augmented Dickey-Fuller (ADF) statistic is $-2.65$ where the critical value for $\alpha = 0.05$ is $-2.86$. 25 | 26 | The National Association of Securities Dealers Automated Quotations - Composite Index (NASDAQ \^IXIC)\footnote{\url{http://www.nasdaq.com/aspx/flashquotes.aspx?symbol=IXIC\&selected=IXIC}. Access in 23/05/2016} plotted at Figure \ref{fig:nasdaq} is a economical index already used in FTS literature (see \cite{Chen2011}, \cite{Sadaei2013}, \cite{Sadaei2014a}, \cite{Talarposhti2016a}). The historical data was sampled from 2000 to 2016 time window, and has the averaged daily index by business day. This is a stationary time series dataset whose ADF statistic is $0.04$ where the critical value for $\alpha = 0.05$ is $-2.86$. 27 | 28 | The S\&P500 - Standard \& Poor's 500 \footnote{\url{https://finance.yahoo.com/quote/\%5EGSPC/history?p=\%5EGSPC}. Access in 19/03/2017}, plotted on Figure \ref{fig:sp500}, is an market index composed by 500 assets quoted on New York Stock Exchange and Nasdaq. This dataset was already used by \cite{Sadaei2014a} and \cite{Chen2015a} and contains the averaged daily index, by business day, from 1950 to 2017 with 16000 instances. This is a stationary dataset whose ADF Statistic is 0.00 where critical value for $\alpha = 0.05$ is $-2.86$. 29 | 30 | %http://berkeleyearth.lbl.gov/auto/Global/Complete_TMAX_daily.txt 31 | %http://berkeleyearth.lbl.gov/auto/Global/Complete_TAVG_daily.txt 32 | %http://berkeleyearth.lbl.gov/locations/23.31S-46.31W 33 | 34 | The BEST - Berkley Earth Surface Temperature dataset, plotted on Figure \ref{fig:best}, contains the monthly maximum surface temperature for the city of São Paulo (Brasil) \footnote{\url{http://berkeleyearth.lbl.gov/locations/23.31S-46.31W}. Access in 01/05/2017} from 1832 to 2013. This dataset measures the temperature anomaly from the long-term average Earth surface temperature using the methodology described at \cite{Rohde2013}, where a positive anomaly indicates a warmer observed temperature than the reference value and the negative anomaly indicates a cooler temperature than the reference value. The dataset has 49308 instances with the daily mean anomaly between 1880 and 2014. This is a non-stationary time series dataset whose ADF statistic is -10.65 where the critical value for $\alpha=0.05$ is -2.862. 35 | 36 | The SONDA - Sistema de Organização Nacional de Dados Ambientais (System of National Organization of Environmental Data)\footnote{\url{http://sonda.ccst.inpe.br/basedados/brasilia.html}. Access in } groups environmental data from INPE - Instituto Nacional de Pesquisas Espaciais (Brazilian Institute of Spatial Research) . This dataset is present in other studies on forecasting literature, for instance \cite{Martins2012}. The original dataset is measured by minute between 2012 and 2016 from the station located on city of Brasília, Brasil. For this research the data was aggregated by one hour average, resulting on 35136 instances. From this dataset were utilized two measures: 37 | \begin{itemize} 38 | \item \textbf{Solar Radiation}: Represents the solar mean global horizontal radiation in $Wm^{-2}$, and is plotted on Figure \ref{fig:sonda_solar}. On original dataset this measure is called \textit{glo\_avg}. The ADF Statistic is -15.326310 / -2.862 39 | \item \textbf{Wind Speed}: Represents the mean wind velocity at 10m in $ms^{-1}$, and is plotted on Figure \ref{fig:sonda_wind}. On original dataset this measure is called \textit{ws\_10m} whose ADF Statistic is -14.778924. 40 | \end{itemize} 41 | 42 | The Gaussian process is a synthetic dataset which contains 5000 realizations of a stochastic process $X \sim \mathcal{N}(\mu = 0, \sigma = 1)$, plotted at Figure \ref{fig:gauss}. This is a stationary dataset with ADF Statistic of -15.816510 where the critical value for $\alpha = 0.05$ is $-2.863$. 43 | 44 | \begin{figure} 45 | \begin{subfloat}[TAIEX]{ 46 | \includegraphics[width=2.92in,height=1.5in]{figures/taiex.png} 47 | \label{fig:taiex}} 48 | \end{subfloat} 49 | ~ 50 | \begin{subfloat}[NASDAQ]{ 51 | \includegraphics[width=2.92in,height=1.5in]{figures/nasdaq.png} 52 | \label{fig:nasdaq}} 53 | \end{subfloat} 54 | 55 | \begin{subfloat}[S\&P 500]{ 56 | \includegraphics[width=2.92in,height=1.5in]{figures/sp500.png} 57 | \label{fig:sp500}} 58 | \end{subfloat} 59 | ~ 60 | \begin{subfloat}[BEST]{ 61 | \includegraphics[width=2.92in,height=1.5in]{figures/best.png} 62 | \label{fig:best}} 63 | \end{subfloat} 64 | 65 | \begin{subfloat}[SONDA - Solar Radiance]{ 66 | \includegraphics[width=2.92in,height=1.5in]{figures/sonda_solar.png} 67 | \label{fig:sonda_solar}} 68 | \end{subfloat} 69 | ~ 70 | \begin{subfloat}[SONDA - Wind Speed]{ 71 | \includegraphics[width=2.92in,height=1.5in]{figures/sonda_wind.png} 72 | \label{fig:sonda_wind}} 73 | \end{subfloat} 74 | 75 | \begin{subfloat}[Gaussian Process]{ 76 | \includegraphics[width=2.92in,height=1.5in]{figures/gauss.png} 77 | \label{fig:gauss}} 78 | \end{subfloat} 79 | 80 | \caption{Datasets used in empirical analysis.} 81 | \end{figure} 82 | 83 | In the following sections will be presented the benchmarks for point, interval e distribution forecasts, where the evaluation metrics are discussed and the presented models are compared with other models in FTS literature. 84 | 85 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 86 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 87 | 88 | \section{Point Forecasts}\index{Point Forecasts} 89 | 90 | \index{ARIMA}\index{Na\"{i}ve method}\index{Quantile Auto Regression}\index{QAR} 91 | 92 | To evaluate the point forecast method, their results were compared with the Na\"{i}ve method (just repeat the last value), ARIMA \citep{boxjenkins1970}, Quantile Auto Regression \citep{Koenker2001}, Conventional FTS from \cite{song1993fuzzy} and \cite{chen1996forecasting}, Weighted FTS \citep{yu2005weighted}, Improved Weighted FTS \citep{ismail2011enrollment}, Trend Weighted FTS \citep{Cheng2008}, Exponentially Weighted FTS \citep{Sadaei2013}, High Order FTS of \cite{Chen2011} and \cite{hwang1998handling}. All of them trained with the same methods and data and the high-order models where tested for $n = [1,2,3]$. The parameters of ARIMA and QAR models where estimated from the ACF and PACF most significant lags of each dataset. 93 | 94 | \index{Symmetrical Mean Average Percent Error}\index{Root Mean Squared Error} 95 | 96 | The accuracy metrics used to evaluate models are the Symmetrical Mean Average Percent Error (SMAPE), described in Equation \eqref{eqn:smape}, Root Mean Squared Error (RMSE), described in Equation \eqref{eqn:rmse} and Theil's U Statistic, described in Equation \eqref{eqn:theilu}, where $Y$ means the real data and $\hat{Y}$ the forecasted values. The U Statistic measures how much the forecaster is better than the Na\"{i}ve method, being $U = 1$ meaning both methods are equal, $U > 1$ the proposed method is worst than Na\"{i}ve and $U < 1$ is better. 97 | 98 | The universe of discourse was partitioned in a grid scheme, where all partitions have the same length. Each model was trained and tested with $q \in [10,200]$ for original data and $q \in [3,20]$ for differentiated data. The models trained with differentiated data performs better than the trained with original data and only their best results were selected. 99 | \index{SMAPE}\index{RMSE}\index{Theil's U Statistic} 100 | \begin{equation} 101 | SMAPE = \frac{1}{n} \sum_{i=1}^n \frac{|Y_i - \hat{Y}_i|}{|\hat{Y}_i| + |Y_i|} 102 | \label{eqn:smape} 103 | \end{equation} 104 | 105 | \begin{equation} 106 | RMSE = \sqrt{\frac{\sum_{i=1}^n (Y_i - \hat{Y}_i)^2}{n}} 107 | \label{eqn:rmse} 108 | \end{equation} 109 | 110 | \begin{equation} 111 | U = \sqrt{\frac{\sum_{t=1}^{n-1} \left( \frac{\hat{Y}_{t+1}-Y_{t-1}}{Y_t} \right)^2}{\sum_{t=1}^{n-1} \left( \frac{Y_{t+1}-Y_{t-1}}{Y_t} \right)^2}} 112 | \label{eqn:theilu} 113 | \end{equation} 114 | 115 | The empirical results are available in Figures \ref{fig:experiments_taiex_point} (for TAIEX dataset), \ref{fig:experiments_nasdaq_point} (for NASDAQ dataset), \ref{fig:experiments_sp500_point} (for S\&P 500 dataset), \ref{fig:experiments_gauss_point} (for Gaussian Process dataset), \ref{fig:experiments_best_point} (for BEST dataset), \ref{fig:experiments_sondasun_point} (for solar radiance on SONDA dataset) and \ref{fig:experiments_sondawind_point} (for wind speed on SONDA dataset). On Table \ref{tab:point_methods} the parameters (order and number of partitions) and total number of FLRG's for the best FTS models on tests. A small sample of the model's behavior is also available at Figures \ref{fig:taiex_point_forecasts} (for TAIEX dataset), \ref{fig:nasdaq_point_forecasts} (for NASDAQ dataset), \ref{fig:sp500_point_forecasts} (for S\&P 500 dataset), \ref{fig:gauss_point_forecasts} (for Gaussian Process dataset), \ref{fig:best_point_forecasts} (for BEST dataset), \ref{fig:sondasun_point_forecasts} (for solar radiance on SONDA dataset) and \ref{fig:sondawind_point_forecasts} (for wind speed on SONDA dataset). $\mathbb{P}$WFTS models have shown competitive performance among the tested models in all measurements but it failed to beat the Na\"{i}ve model. This fact is, however, a drawback of many complex forecasting methods, already described in \cite{Makridakis2000}. The first order $\mathbb{P}$WFTS model achieves the best results among the methods and the higher orders ($n \in \{2,3\}$) achieve close results to the first order model. The residuals of the point forecast models were also evaluated. In Figure \ref{fig:residual_analysis} it is possible to check that there is no autocorrelation between lags of the residuals, and according to the Box-Ljung statistic the residuals are normally distributed. 116 | 117 | \newcommand{\AVG}{$\mu$} 118 | \newcommand{\STD}{$\sigma^2$} 119 | 120 | \begin{figure} 121 | \includegraphics[width=6in,height=4in]{figures/experiments_taiex_point.png} 122 | \caption{Point forecasts experiments for TAIEX dataset} 123 | \label{fig:experiments_taiex_point} 124 | \end{figure} 125 | 126 | \begin{figure} 127 | \includegraphics[width=6in,height=4in]{figures/experiments_nasdaq_point.png} 128 | \caption{Point forecasts experiments for NASDAQ dataset} 129 | \label{fig:experiments_nasdaq_point} 130 | \end{figure} 131 | 132 | \begin{figure} 133 | \includegraphics[width=6in,height=4in]{figures/experiments_sp500_point.png} 134 | \caption{Point forecasts experiments for S\&P 500 dataset} 135 | \label{fig:experiments_sp500_point} 136 | \end{figure} 137 | 138 | \begin{figure} 139 | \includegraphics[width=6in,height=4in]{figures/experiments_gauss_point.png} 140 | \caption{Point forecasts experiments for Gaussian dataset} 141 | \label{fig:experiments_gauss_point} 142 | \end{figure} 143 | 144 | \begin{figure} 145 | \includegraphics[width=6in,height=4in]{figures/experiments_best_point.png} 146 | \caption{Point forecasts experiments for BEST dataset} 147 | \label{fig:experiments_best_point} 148 | \end{figure} 149 | 150 | \begin{figure} 151 | \includegraphics[width=6in,height=4in]{figures/experiments_sondasun_point.png} 152 | \caption{Point forecasts experiments for solar radiance on SONDA dataset} 153 | \label{fig:experiments_sondasun_point} 154 | \end{figure} 155 | 156 | \begin{figure} 157 | \includegraphics[width=6in,height=4in]{figures/experiments_sondawind_point.png} 158 | \caption{Point forecasts experiments for wind speed on SONDA dataset} 159 | \label{fig:experiments_sondawind_point} 160 | \end{figure} 161 | 162 | \begin{figure} 163 | \includegraphics[width=6in,height=1.8in]{figures/taiex_point_forecasts.png} 164 | \caption{Point forecasting samples for TAIEX dataset} 165 | \label{fig:taiex_point_forecasts} 166 | \end{figure} 167 | 168 | \begin{figure} 169 | \includegraphics[width=6in,height=1.8in]{figures/nasdaq_point_forecasts.png} 170 | \caption{Point forecasting samples for NASDAQ dataset} 171 | \label{fig:nasdaq_point_forecasts} 172 | \end{figure} 173 | 174 | \begin{figure} 175 | \includegraphics[width=6in,height=1.8in]{figures/sp500_point_forecasts.png} 176 | \caption{Point forecasting samples for S\&P 500 dataset} 177 | \label{fig:sp500_point_forecasts} 178 | \end{figure} 179 | 180 | \begin{figure} 181 | \includegraphics[width=6in,height=1.8in]{figures/gauss_point_forecasts.png} 182 | \caption{Point forecasting samples for Gaussian Process dataset} 183 | \label{fig:gauss_point_forecasts} 184 | \end{figure} 185 | 186 | \begin{figure} 187 | \includegraphics[width=6in,height=1.8in]{figures/best_point_forecasts.png} 188 | \caption{Point forecasting samples for BEST dataset} 189 | \label{fig:best_point_forecasts} 190 | \end{figure} 191 | 192 | \begin{figure} 193 | \includegraphics[width=6in,height=1.8in]{figures/sondasun_point_forecasts.png} 194 | \caption{Point forecasting samples for Solar Radiance on SONDA dataset} 195 | \label{fig:sondasun_point_forecasts} 196 | \end{figure} 197 | 198 | \begin{figure} 199 | \includegraphics[width=6in,height=1.8in]{figures/sondawind_point_forecasts.png} 200 | \caption{Point forecasting samples for Wind Speed on SONDA dataset} 201 | \label{fig:sondawind_point_forecasts} 202 | \end{figure} 203 | 204 | \begin{table} 205 | \centering 206 | \begin{tabular}{|c|c|c|c|}\hline 207 | \textbf{Method} & \textbf{Order} & \textbf{Partitions} & \textbf{Number of rules} \\ \hline 208 | Nive & 1 & - & - \\ \hline 209 | ARIMA & (1,1,1) & - & - \\ \hline 210 | CFTS & 1 & 19 & 18 \\ \hline 211 | EWFTS & 1 & 19 & 18 \\ \hline 212 | FTS & 1 & 19 & - \\ \hline 213 | HOFTS & 2 & 15 & 62 \\ \hline 214 | HOFTS & 3 & 19 & 308 \\ \hline 215 | Hwang & 2 & 5 & 0 \\ \hline 216 | Hwang & 3 & 5 & 0 \\ \hline 217 | IWFTS & 1 & 13 & 12 \\ \hline 218 | PWFTS & 1 & 19 & 19 \\ \hline 219 | PWFTS & 2 & 17 & 99 \\ \hline 220 | PWFTS & 3 & 17 & 460 \\ \hline 221 | QAR $\tau=0.5$ & 1 & - & - \\ \hline 222 | TWFTS & 1 & 19 & 18 \\ \hline 223 | WFTS & 1 & 19 & 18 \\ \hline 224 | \end{tabular} 225 | \caption{Point forecasting methods best configurations } 226 | \label{tab:point_methods} 227 | \end{table} 228 | 229 | \begin{figure*} 230 | \begin{center} 231 | \begin{subfloat}[TAIEX]{ 232 | \includegraphics[width=2.85in,height=1.5in]{figures/taiex_residuals.png} 233 | \label{fig:taiex_residuals}} 234 | \end{subfloat} 235 | ~ 236 | \begin{subfloat}[NASDAQ]{ 237 | \includegraphics[width=2.85in,height=1.5in]{figures/nasdaq_residuals.png} 238 | \label{fig:nasdaq_residuals}} 239 | \end{subfloat} 240 | 241 | \begin{subfloat}[S\&P 500]{ 242 | \includegraphics[width=2.85in,height=1.5in]{figures/sp500_residuals.png} 243 | \label{fig:sp500_residuals}} 244 | \end{subfloat} 245 | ~ 246 | \begin{subfloat}[BEST]{ 247 | \includegraphics[width=2.85in,height=1.5in]{figures/best_residuals.png} 248 | \label{fig:best_residuals}} 249 | \end{subfloat} 250 | 251 | \begin{subfloat}[SONDA - Solar Radiance]{ 252 | \includegraphics[width=2.85in,height=1.5in]{figures/sondasun_residuals.png} 253 | \label{fig:sondasun_residuals}} 254 | \end{subfloat} 255 | ~ 256 | \begin{subfloat}[SONDA - Wind Speed]{ 257 | \includegraphics[width=2.85in,height=1.5in]{figures/sondawind_residuals.png} 258 | \label{fig:sondawind_residuals}} 259 | \end{subfloat} 260 | 261 | \begin{subfloat}[Gaussian Process]{ 262 | \includegraphics[width=2.85in,height=1.5in]{figures/gauss_residuals.png} 263 | \label{fig:gauss_residuals}} 264 | \end{subfloat} 265 | 266 | \caption{Residuals of PWFTS first order model} 267 | \label{fig:residual_analysis} 268 | \end{center} 269 | \end{figure*} 270 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 271 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 272 | 273 | \section{Interval Forecasts}\index{Interval Forecasts}\index{Interval metrics} 274 | 275 | \index{ARIMA}\index{Quantile Auto Regression}\index{QAR}\index{Mean-variance prediction intervals} 276 | 277 | To evaluate the method for one step ahead interval forecasting, $\mathbb{P}$WFTS and [$\mathbb{I}$]FTS results were compared with ARIMA combined with the mean-variance and Quantile Auto Regression. [$\mathbb{I}$]FTS and $\mathbb{P}$WFTS methods were trained with orders $n \in \{1,2,3\}$ and partitions $q \in [10,200]$ for original data and $q \in [3,35]$ for differentiated data, but only the best results for each order is presented. The parameters of ARIMA and QAR models where estimated from the ACF and PACF most significant lags of each dataset and each model was trained for $\alpha = [0.05, 0.25]$. 278 | 279 | The accuracy metrics used to evaluate the models are the \textit{coverage rate}, \textit{calibration} and \textit{sharpness}, as proposed in \cite{Gneiting2007} and \cite{Pinson2006}. The \textit{coverage} refers to the statistical consistency between the forecasts and the observations, and measures which proportion of the observations are inside the interval. This can be done by an Indicator Function, developed by \cite{Christoffersen1998}, as shown in Equation \ref{eqn:indicator}. Given a forecasting interval $\mathcal{I}=[\underline{\alpha},\overline{\beta}]$ and the real value $y$, the value of an indicator function $I$ verifies if $y$ is covered by $\mathcal{I}$ or not. 280 | 281 | \begin{equation} 282 | I(y,\mathcal{I}) = \left\{ \begin{array}{cl} 283 | 1 & \text{if }y \in \mathcal{I} \\ 284 | 0 & \text{if }y \ni \mathcal{I} 285 | \end{array} \right. 286 | \label{eqn:indicator} 287 | \end{equation} 288 | 289 | \index{Coverage Rate}\index{Interval metrics} 290 | 291 | The \textit{coverage rate} is the average value of indicator function between forecasted intervals and the real values, in which the ideal value is 1. The coverage rate is shown at Equation \eqref{eqn:coverage} where $y_i \in Y$ are the real values and $\mathcal{I}_i \in \mathcal{I}$ are the predicted intervals for these values. 292 | 293 | \begin{equation} 294 | C(Y,\mathcal{I}) = \frac{\sum_{i = 1 }^{|Y|} I(y_i,\mathcal{I}_i)}{|Y|} 295 | \label{eqn:coverage} 296 | \end{equation} 297 | 298 | \index{Sharpness}\index{Resolution}\index{Interval metrics} 299 | 300 | The property of \textit{sharpness} and \textit{resolution} refers to the concentration of the predictive distribution, or how wide and variable are the intervals and refers uniquely to the forecasts. \textit{Sharpness}, presented in Equation \eqref{eqn:sharpnes}, is the average size of the intervals and \textit{resolution}, presented in the equation \eqref{eqn:resolution}, is the variability of the intervals. 301 | 302 | \begin{equation} 303 | \bar{\delta_{\mathcal{I}}} = \frac{\sum_{i=1}^{|\mathcal{I}|} \delta_{\mathcal{I}_i}}{|\mathcal{I}|} = \frac{\sum_{i=1}^{|\mathcal{I}|} \overline{\beta_i} - \underline{\alpha_i}}{|\mathcal{I}|} 304 | \label{eqn:sharpnes} 305 | \end{equation} 306 | \begin{equation} 307 | \sigma_{\mathcal{I}} = \frac{\sum_{i=1}^{|\mathcal{I}|} | \delta_{\mathcal{I}_i} - \bar{\delta_{\mathcal{I}}}|}{|\mathcal{I}|} 308 | \label{eqn:resolution} 309 | \end{equation} 310 | 311 | While small values of $\bar{\delta_{\mathcal{I}}}$ are desirable, meaning a compact interval, wide values of $\sigma_{\mathcal{I}}$ are best, meaning the capability of the model to adapt the length of interval with the increase of uncertainty. There are no absolute reference values for sharpness and resolution, which depend on the statistical properties of the data. Empirically, when the sharpness is reduced to make the intervals thinner and more precise, the risk of reducing the coverage increase, and that's why the resolution is important. 312 | 313 | \index{Pinball Loss Function}\index{Pinball Score}\index{Interval metrics} 314 | 315 | \cite{Steinwart2011} proposed the use of Pinball Loss Function - $L_\tau(Y,\hat{Y})$, defined on equation \ref{eqn:pinball}, indicates the proximity of a forecast $\hat{Y}$ with a certain $\tau$ quantile of the true value $Y$. As a loss function, the minor value of $L$ indicates the closest forecast to quantile $\tau$. The Pinball Score $L_\tau^S$ is defined as the mean $L_\tau$ for a set true values $Y(t)$ and forecasts $\hat{Y}(t)$, listed on Equation \ref{eqn:pinball_score}. At this research were chosen the quantiles $\tau = \{0.05, 0.25, 0.75, 0.95\}$ for testing the intervals, where the lower quantiles were compared with the interval lower bound and the upper quantiles with the interval upper bounds. 316 | 317 | \begin{equation} 318 | L_\tau(Y,\hat{Y}) = \left\{ \begin{array}{cl} 319 | (1 - \tau)(\hat{Y}-Y) & \text{if } Y < \hat{Y} \\ 320 | \tau(Y-\hat{Y}) & \text{if }Y > \hat{Y} 321 | \end{array} \right. 322 | \label{eqn:pinball} 323 | \end{equation} 324 | 325 | \begin{equation} 326 | L_\tau^S(Y(t),\hat{Y}(t)) = \frac{1}{n}\sum_{i=1}^n L_\tau(Y_i,\hat{Y}_i) 327 | \label{eqn:pinball_score} 328 | \end{equation} 329 | 330 | The sharpness, resolution and coverage empirical results are shown on Figures \ref{fig:experiments_taiex_interval} (for TAIEX dataset), \ref{fig:experiments_nasdaq_interval} (for NASDAQ dataset), \ref{fig:experiments_sp500_interval} (for S\&P 500 dataset), \ref{fig:experiments_gauss_interval} (for Gaussian Process dataset), \ref{fig:experiments_best_interval} (for BEST dataset), \ref{fig:experiments_sondasun_interval} (for solar radiance on SONDA dataset) and \ref{fig:experiments_sondawind_interval} (for wind speed on SONDA dataset) . A small sample of the models behavior is also available on Figures \ref{fig:taiex_interval_forecasts} (for TAIEX dataset), \ref{fig:nasdaq_interval_forecasts} (for NASDAQ dataset), \ref{fig:sp500_interval_forecasts} (for S\&P 500 dataset), \ref{fig:gauss_interval_forecasts} (for Gaussian Process dataset), \ref{fig:best_interval_forecasts} (for BEST dataset), \ref{fig:sondasun_interval_forecasts} (for solar radiance on SONDA dataset) and \ref{fig:sondawind_interval_forecasts} (for wind speed on SONDA dataset). 331 | 332 | While [$\mathbb{I}$]FTS has higher coverage and resolution, $\mathbb{P}$WFTS has the best sharpness. Due to the probabilistic nature of the $\mathbb{P}$WFTS models, the intervals tend to follow the same stochastic trends of data, independently of the model's order. The [$\mathbb{I}$]FTS model ignores these trends and transmits to forecasts all the fuzzy uncertainty causing wide intervals. The drawback of this behavior is to turn the interval useless for the user in some scenarios - wider intervals are also most imprecise, what can be seen in Figure \ref{fig:gauss_interval_forecasts} where the intervals are much wider than all the real data. The $\mathbb{P}$WFTS intervals are thinner and fits better on time series data, but have no variability and this cause loss of coverage. 333 | 334 | The empirical pinball scores are compared on Figures \ref{fig:experiments_taiex_interval_pinball} (for TAIEX dataset), \ref{fig:experiments_nasdaq_interval_pinball} (for NASDAQ dataset), \ref{fig:experiments_sp500_interval_pinball} (for S\&P 500 dataset), \ref{fig:experiments_gauss_interval_pinball} (for Gaussian Process dataset), \ref{fig:experiments_best_interval_pinball} (for BEST dataset), \ref{fig:experiments_sondasun_interval_pinball} (for solar radiance on SONDA dataset) and \ref{fig:experiments_sondawind_interval_pinball} (for wind speed on SONDA dataset). Is possible to note that [$\mathbb{I}$]FTS intervals are wider than the $\alpha=0.05$ range when compared with the QAR quantiles and $\mathbb{P}$WFTS intervals are located between $\alpha=0.05$ and $\alpha=0.25$. 335 | 336 | \begin{figure} 337 | \includegraphics[width=6in,height=4in]{figures/experiments_taiex_interval.png} 338 | \caption{Interval forecasts experiments for TAIEX dataset} 339 | \label{fig:experiments_taiex_interval} 340 | \end{figure} 341 | 342 | \begin{figure} 343 | \includegraphics[width=6in,height=4in]{figures/experiments_nasdaq_interval.png} 344 | \caption{Interval forecasts experiments for NASDAQ dataset} 345 | \label{fig:experiments_nasdaq_interval} 346 | \end{figure} 347 | 348 | \begin{figure} 349 | \includegraphics[width=6in,height=4in]{figures/experiments_sp500_interval.png} 350 | \caption{Interval forecasts experiments for S\&P 500 dataset} 351 | \label{fig:experiments_sp500_interval} 352 | \end{figure} 353 | 354 | \begin{figure} 355 | \includegraphics[width=6in,height=4in]{figures/experiments_gauss_interval.png} 356 | \caption{Interval forecasts experiments for Gaussian dataset} 357 | \label{fig:experiments_gauss_interval} 358 | \end{figure} 359 | 360 | \begin{figure} 361 | \includegraphics[width=6in,height=4in]{figures/experiments_best_interval.png} 362 | \caption{Interval forecasts experiments for BEST dataset} 363 | \label{fig:experiments_best_interval} 364 | \end{figure} 365 | 366 | \begin{figure} 367 | \includegraphics[width=6in,height=4in]{figures/experiments_sondasun_interval.png} 368 | \caption{Interval forecasts experiments for solar radiance on SONDA dataset} 369 | \label{fig:experiments_sondasun_interval} 370 | \end{figure} 371 | 372 | \begin{figure} 373 | \includegraphics[width=6in,height=4in]{figures/experiments_sondawind_interval.png} 374 | \caption{Interval forecasts experiments for wind speed on SONDA dataset} 375 | \label{fig:experiments_sondawind_interval} 376 | \end{figure} 377 | 378 | \begin{figure} 379 | \includegraphics[width=6in,height=1.8in]{figures/taiex_interval_forecasts.png} 380 | \caption{Interval forecasting samples for TAIEX dataset} 381 | \label{fig:taiex_interval_forecasts} 382 | \end{figure} 383 | 384 | \begin{figure} 385 | \includegraphics[width=6in,height=1.8in]{figures/nasdaq_interval_forecasts.png} 386 | \caption{Interval forecasting samples for NASDAQ dataset} 387 | \label{fig:nasdaq_interval_forecasts} 388 | \end{figure} 389 | 390 | \begin{figure} 391 | \includegraphics[width=6in,height=1.8in]{figures/sp500_interval_forecasts.png} 392 | \caption{Interval forecasting samples for S\&P 500 dataset} 393 | \label{fig:sp500_interval_forecasts} 394 | \end{figure} 395 | 396 | \begin{figure} 397 | \includegraphics[width=6in,height=1.8in]{figures/gauss_interval_forecasts.png} 398 | \caption{Interval forecasting samples for Gaussian Process dataset} 399 | \label{fig:gauss_interval_forecasts} 400 | \end{figure} 401 | 402 | \begin{figure} 403 | \includegraphics[width=6in,height=1.8in]{figures/best_interval_forecasts.png} 404 | \caption{Interval forecasting samples for BEST dataset} 405 | \label{fig:best_interval_forecasts} 406 | \end{figure} 407 | 408 | %\begin{figure}\ContinuedFloat 409 | %\includegraphics[width=6in,height=1.8in]{figures/sondasun_interval_forecasts.png} 410 | %\caption{Interval forecasting samples for Solar Radiance on SONDA dataset} 411 | %\label{fig:sondasun_interval_forecasts} 412 | %\end{figure} 413 | 414 | \begin{figure} 415 | \includegraphics[width=6in,height=1.8in]{figures/sondawind_interval_forecasts.png} 416 | \caption{Interval forecasting samples for Wind Speed on SONDA dataset} 417 | \label{fig:sondawind_interval_forecasts} 418 | \end{figure} 419 | 420 | \begin{figure} 421 | \includegraphics[width=6in,height=4in]{figures/experiments_taiex_interval_pinball.png} 422 | \caption{Pinball scores for TAIEX dataset} 423 | \label{fig:experiments_taiex_interval_pinball} 424 | \end{figure} 425 | 426 | \begin{figure} 427 | \includegraphics[width=6in,height=4in]{figures/experiments_nasdaq_interval_pinball.png} 428 | \caption{Interval forecasts experiments for NASDAQ dataset} 429 | \label{fig:experiments_nasdaq_interval_pinball} 430 | \end{figure} 431 | 432 | \begin{figure} 433 | \includegraphics[width=6in,height=4in]{figures/experiments_sp500_interval_pinball.png} 434 | \caption{Pinball scores for S\&P 500 dataset} 435 | \label{fig:experiments_sp500_interval_pinball} 436 | \end{figure} 437 | 438 | \begin{figure} 439 | \includegraphics[width=6in,height=4in]{figures/experiments_gauss_interval_pinball.png} 440 | \caption{Pinball scores for Gaussian dataset} 441 | \label{fig:experiments_gauss_interval_pinball} 442 | \end{figure} 443 | 444 | \begin{figure} 445 | \includegraphics[width=6in,height=4in]{figures/experiments_best_interval_pinball.png} 446 | \caption{Pinball scores for BEST dataset} 447 | \label{fig:experiments_best_interval_pinball} 448 | \end{figure} 449 | 450 | \begin{figure} 451 | \includegraphics[width=6in,height=4in]{figures/experiments_sondasun_interval_pinball.png} 452 | \caption{Pinball scores for solar radiance on SONDA dataset} 453 | \label{fig:experiments_sondasun_interval_pinball} 454 | \end{figure} 455 | 456 | \begin{figure} 457 | \includegraphics[width=6in,height=4in]{figures/experiments_sondawind_interval_pinball.png} 458 | \caption{Pinball scores for wind speed on SONDA dataset} 459 | \label{fig:experiments_sondawind_interval_pinball} 460 | \end{figure} 461 | 462 | 463 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 464 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 465 | \section{m-Steps Ahead forecasts}\index{m-Steps Ahead Forecasts} 466 | 467 | \index{Ensemble Learning} 468 | 469 | To evaluate the $m$ steps ahead interval forecasting and probabilistic forecasting methods, $\mathbb{P}$WFTS results were compared with ARIMA with mean-variance interval ahead model and an Ensemble Learning approach based on \citep{Mohammed2016}, whose internal models are those on Table \ref{tab:point_methods}. 470 | 471 | \index{Continuous Ranked Probability Score}\index{CRPS}\index{Probabilistic forecast metrics} 472 | 473 | The metric chosen to assess the distributions is the Continuous Ranked Probability Score (CRPS). CRPS is a proper measure for probabilistic forecasts, defined by \cite{Gneiting2007b} as Equation \eqref{eqn:crps1} for one forecast and by \cite{Gneiting2007b} as Equation \eqref{eqn:crps2} for more than one forecasts. CRPS provides a direct way to benchmark probabilistic forecast since it is expressed in the same unit as the observed variable and is a generalization of the Mean Absolute Error (MAE). Therefore, the perfect score for CRPS, as in MAE, is 0. 474 | 475 | \begin{equation} 476 | CRPS(F,x) = \int_{-\infty}^{+\infty} (F(y) - \mathbf{1}\{y \geq x\})^2 dy 477 | \label{eqn:crps1} 478 | \end{equation} 479 | 480 | \begin{equation} 481 | CRPS(F) = \frac{1}{N} \sum_{1}^{N} \int_{x=-\infty}^{x=+\infty} (F(y) - \mathbf{1}\{y \geq x\})^2 dy 482 | \label{eqn:crps2} 483 | \end{equation} 484 | where $F$ is the cumulative distribution function (CDF) of the forecasted distribution, $x$ is an, $\mathbf{1}\{y \geq x\}$ is the Heavyside function representing the CDF of this punctual value. 485 | 486 | Here, the $m$-steps ahead interval forecasts are considered uniform probability distributions and are also measured by CRPS. All methods at the ensemble and also $\mathbb{P}$WFTS were trained with orders $n \in \{1,2,3\}$, partitions $q \in [3,35]$, for $m = 10$ steps ahead and the number of bins $b$ was such that the length of each bin was equivalent to 5\% of the UoD. 487 | 488 | In Figures \ref{fig:experiments_taiex_ahead} (for TAIEX dataset), \ref{fig:experiments_nasdaq_ahead} (for NASDAQ dataset), \ref{fig:experiments_sp500_ahead} (for S\&P 500 dataset), \ref{fig:experiments_gauss_ahead} (for Gaussian Process dataset), \ref{fig:experiments_best_ahead} (for BEST dataset), \ref{fig:experiments_sondasun_ahead} (for solar radiance on SONDA dataset) and \ref{fig:experiments_sondawind_ahead} (for wind speed on SONDA dataset) are presented the empirical results for the best performance models. A small sample of each model performance is shown in Figures \ref{fig:taiex_ahead_forecasts} (for TAIEX dataset), \ref{fig:nasdaq_ahead_forecasts} (for NASDAQ dataset), \ref{fig:sp500_ahead_forecasts} (for S\&P 500 dataset), \ref{fig:gauss_ahead_forecasts} (for Gaussian Process dataset), \ref{fig:best_ahead_forecasts} (for BEST dataset), \ref{fig:sondasun_ahead_forecasts} (for solar radiance on SONDA dataset) and \ref{fig:sondawind_ahead_forecasts} (for wind speed on SONDA dataset). The distribution forecasts are more precise (lowest CRPS) than the interval forecasts with uniform distribution. 489 | 490 | It is possible to verify that the probability distributions start very concentrated on first steps and, as expected, become less concentrated until stabilizing with a distribution close to the \textit{priori} probabilities, represented by $P_k$ weight in the LHS of the PFLRG's. This process represents the dilution of the certainty as time goes by from the known value to the steps ahead, i.e., the increase of the uncertainty. The number of steps needed to stabilization depends on the data set. 491 | 492 | The performance of PWFTS on intervals ahead was below the Ensemble and ARIMA models, whose intervals are more precise. PWFTS intervals are based on the bounds of the fuzzy sets and are wider than ARIMA and the Ensemble intervals, which are based on the variance of the errors. On the probabilistic distribution the performance is improved become similar to ARIMA models between $\alpha = 0.05$ and $\alpha = 0.25$. 493 | 494 | \begin{figure} 495 | \includegraphics[width=6in,height=4in]{figures/experiments_taiex_ahead.png} 496 | \caption{10-steps ahead probabilistic forecasts experiments for TAIEX dataset} 497 | \label{fig:experiments_taiex_ahead} 498 | \end{figure} 499 | 500 | \begin{figure} 501 | \includegraphics[width=6in,height=4in]{figures/experiments_nasdaq_ahead.png} 502 | \caption{10-steps ahead probabilistic forecasts experiments for NASDAQ dataset} 503 | \label{fig:experiments_nasdaq_ahead} 504 | \end{figure} 505 | 506 | \begin{figure} 507 | \includegraphics[width=6in,height=4in]{figures/experiments_sp500_ahead.png} 508 | \caption{10-steps ahead probabilistic forecasts experiments for S\&P 500 dataset} 509 | \label{fig:experiments_sp500_ahead} 510 | \end{figure} 511 | 512 | \begin{figure} 513 | \includegraphics[width=6in,height=4in]{figures/experiments_gauss_ahead.png} 514 | \caption{10-steps ahead probabilistic forecasts experiments for Gaussian dataset} 515 | \label{fig:experiments_gauss_ahead} 516 | \end{figure} 517 | 518 | \begin{figure} 519 | \includegraphics[width=6in,height=4in]{figures/experiments_best_ahead.png} 520 | \caption{10-steps ahead probabilistic forecasts experiments for BEST dataset} 521 | \label{fig:experiments_best_ahead} 522 | \end{figure} 523 | 524 | \begin{figure} 525 | \includegraphics[width=6in,height=4in]{figures/experiments_sondasun_ahead.png} 526 | \caption{10-steps ahead probabilistic forecasts experiments for solar radiance on SONDA dataset} 527 | \label{fig:experiments_sondasun_ahead} 528 | \end{figure} 529 | 530 | \begin{figure} 531 | \includegraphics[width=6in,height=4in]{figures/experiments_sondawind_ahead.png} 532 | \caption{60-steps ahead probabilistic forecasts experiments for wind speed on SONDA dataset} 533 | \label{fig:experiments_sondawind_ahead} 534 | \end{figure} 535 | 536 | \begin{figure} 537 | \includegraphics[width=6in,height=1.8in]{figures/taiex_ahead_forecasts.png} 538 | \caption{60-steps ahead probabilistic forecasting samples for TAIEX dataset} 539 | \label{fig:taiex_ahead_forecasts} 540 | \end{figure} 541 | 542 | \begin{figure}\ContinuedFloat 543 | \includegraphics[width=6in,height=1.8in]{figures/nasdaq_ahead_forecasts.png} 544 | \caption{60-steps ahead probabilistic forecasting samples for NASDAQ dataset} 545 | \label{fig:nasdaq_ahead_forecasts} 546 | \end{figure} 547 | 548 | \begin{figure}\ContinuedFloat 549 | \includegraphics[width=6in,height=1.8in]{figures/sp500_ahead_forecasts.png} 550 | \caption{60-steps ahead probabilistic forecasting samples for S\&P 500 dataset} 551 | \label{fig:sp500_ahead_forecasts} 552 | \end{figure} 553 | 554 | \begin{figure}\ContinuedFloat 555 | \includegraphics[width=6in,height=1.8in]{figures/gauss_ahead_forecasts.png} 556 | \caption{60-steps ahead probabilistic forecasting samples for Gaussian Process dataset} 557 | \label{fig:gauss_ahead_forecasts} 558 | \end{figure} 559 | 560 | \begin{figure}\ContinuedFloat 561 | \includegraphics[width=6in,height=1.8in]{figures/best_ahead_forecasts.png} 562 | \caption{60-steps ahead probabilistic forecasting samples for BEST dataset} 563 | \label{fig:best_ahead_forecasts} 564 | \end{figure} 565 | 566 | %\begin{figure}\ContinuedFloat 567 | %\includegraphics[width=6in,height=1.8in]{figures/sondasun_ahead_forecasts.png} 568 | %\caption{60-steps ahead probabilistic forecasting samples for Solar Radiance on SONDA dataset} 569 | %\label{fig:sondasun_ahead_forecasts} 570 | %\end{figure} 571 | 572 | \begin{figure}\ContinuedFloat 573 | \includegraphics[width=6in,height=1.8in]{figures/sondawind_ahead_forecasts.png} 574 | \caption{60-steps ahead probabilistic forecasting samples for Wind Speed on SONDA dataset} 575 | \label{fig:sondawind_ahead_forecasts} 576 | \end{figure} 577 | 578 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 579 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 580 | 581 | \section{Conclusion} 582 | 583 | On this chapter was conduced a set of experiments to compare the performance of [$\mathbb{I}$]WFTS and $\mathbb{P}$WFTS methods with known FTS and other statistical methods. The experiments were divided by forecasting type: point forecasts, interval and probabilistic distribution. Point were tested for one step ahead using RMSE, SMAPE and Theil's U statistics. Interval forecasts were tested for one step ahead using Sharpness, Resolution and Coverage metrics. The probabilistic forecasting, for 10-steps ahead, were tested with the Continuous Ranked Probability Score - CRPS. 584 | 585 | The results showed that [$\mathbb{I}$]FTS has high coverage, but the generated intervals are the wider between the tested interval methods. The length of the interval is variable due to model order and partitioning scheme. These results makes sense because [$\mathbb{I}$]FTS was developed to represent the total amount of fuzzy uncertainty on forecasting. When associated with other FTS point forecasting method it can be used to represent the impact of the fuzziness uncertainty. 586 | 587 | $\mathbb{P}$WFTS improved [$\mathbb{I}$]FTS by incorporating empirical probabilities on the models, allowing to forecast points, intervals and probability distributions. These results show that $\mathbb{P}$WFTS has competitive accuracy when compared with standard FTS methods with point forecasts, and outperforms some of them in some scenarios. The great advantage of $\mathbb{P}$WFTS is that it can be used with accuracy also for interval and probabilistic forecasting, where the reliability (CRPS or calibration) is adjustable according to the number of the partitions on the Universe of Discourse. $\mathbb{P}$WFTS intervals were located between the $\alpha=0.05$ and $\alpha=0.25$ intervals and the probability distributions performs close to ARIMA but better than an Ensemble with all other FTS models together. 588 | 589 | [$\mathbb{I}$]FTS and $\mathbb{P}$WFTS show that interval and probabilistic forecasting with FTS methods are feasible and also accurate, although the performance enhancements can be done to outperform QAR and ARIMA models. 590 | 591 | In next chapter is presented a review of this work, pointing out the partial contributions, the limitations of the proposed methods and future investigations. -------------------------------------------------------------------------------- /abntex2.cls: -------------------------------------------------------------------------------- 1 | %% abntex2.cls, v-1.9.6 laurocesar 2 | %% Copyright 2012-2016 by abnTeX2 group at https://www.abntex.net.br/ 3 | %% 4 | %% This work may be distributed and/or modified under the 5 | %% conditions of the LaTeX Project Public License, either version 1.3 6 | %% of this license or (at your option) any later version. 7 | %% The latest version of this license is in 8 | %% http://www.latex-project.org/lppl.txt 9 | %% and version 1.3 or later is part of all distributions of LaTeX 10 | %% version 2005/12/01 or later. 11 | %% 12 | %% This work has the LPPL maintenance status `maintained'. 13 | %% 14 | %% The Current Maintainer of this work is the abnTeX2 team, led 15 | %% by Lauro César Araujo. Further information are available on 16 | %% https://www.abntex.net.br/ 17 | %% 18 | %% This work consists of the file abntex2.cls. 19 | 20 | %----------------------------------- 21 | % Declaracao da classe abntex2 como uma extensao da classe memoir 22 | %----------------------------------- 23 | \NeedsTeXFormat{LaTeX2e} 24 | \ProvidesClass{abntex2}[2016/02/26 v-1.9.6 abnTeX2] 25 | \RequirePackage{ifthen} 26 | % 27 | % Captura as options article e twocolumn 28 | % 29 | \providecommand{\ABNTEXisarticle}{false} 30 | \DeclareOption{article}{ 31 | \renewcommand{\ABNTEXisarticle}{true} 32 | \PassOptionsToClass{article}{memoir}%} 33 | } 34 | \providecommand{\ABNTEXistwocolumn}{false} 35 | \DeclareOption{twocolumn}{ 36 | \renewcommand{\ABNTEXistwocolumn}{true} 37 | \PassOptionsToClass{twocolumn}{memoir}%} 38 | } 39 | % 40 | % Opcoes chapter=TITLE, section=TITLE, subsection=TITLE e 41 | % subsubsection=TITLE: titulos em letras maiusculas 42 | % 43 | \newboolean{ABNTEXupperchapter} %true=titles of chapter/appendix in uppercase 44 | \newboolean{ABNTEXuppersection} %true=titles of sections in uppercase 45 | \newboolean{ABNTEXuppersubsection} %true=titles of subsections in uppercase 46 | \newboolean{ABNTEXuppersubsubsection} %true=titles of subsubsections in uppercase 47 | \newboolean{ABNTEXuppersubsubsubsection} %true=titles of subsubsubsections in uppercase 48 | \setboolean{ABNTEXupperchapter}{false} 49 | \setboolean{ABNTEXuppersection}{false} 50 | \setboolean{ABNTEXuppersubsection}{false} 51 | \setboolean{ABNTEXuppersubsubsection}{false} 52 | \setboolean{ABNTEXuppersubsubsubsection}{false} 53 | \DeclareOption{chapter=TITLE}{\setboolean{ABNTEXupperchapter}{true}} 54 | \DeclareOption{section=TITLE}{\setboolean{ABNTEXuppersection}{true}} 55 | \DeclareOption{subsection=TITLE}{\setboolean{ABNTEXuppersubsection}{true}} 56 | \DeclareOption{subsubsection=TITLE}{\setboolean{ABNTEXuppersubsubsection}{true}} 57 | \DeclareOption{subsubsubsection=TITLE}{\setboolean{ABNTEXuppersubsubsubsection}{true}} 58 | % 59 | % Opções de diagramação de sumários 60 | % sumario=tradicional : Sumário tradicional do LaTeX/Memoir 61 | % sumario=abnt-6027-2012 : Sumário conforme recomendação da ABNT NBR 6027:2012 62 | \newboolean{ABNTEXsumario-tradicional} %true=titles of chapter/appendix in uppercase 63 | \newboolean{ABNTEXsumario-abnt-6027-2012} 64 | \setboolean{ABNTEXsumario-tradicional}{false} 65 | \setboolean{ABNTEXsumario-abnt-6027-2012}{false} 66 | \DeclareOption{sumario=tradicional}{% 67 | \setboolean{ABNTEXsumario-tradicional}{false}% 68 | \setboolean{ABNTEXsumario-abnt-6027-2012}{false}} 69 | \DeclareOption{sumario=abnt-6027-2012}{% 70 | \setboolean{ABNTEXsumario-abnt-6027-2012}{false} 71 | \setboolean{ABNTEXsumario-tradicional}{false}} 72 | % 73 | % Repassa demais opcoes a memoir 74 | % 75 | \DeclareOption*{% 76 | \PassOptionsToClass{\CurrentOption}{memoir}% 77 | } 78 | \ProcessOptions\relax 79 | \LoadClass{memoir} 80 | 81 | % sumario=abnt-6027-2012 : Sumário conforme recomendação da ABNT NBR 6027:2012, que 82 | % soh pode ser usado com memoir v3.6k ou superior 83 | % \settocpreprocessor \changes{v3.6k}{2012/09/18}{Added} 84 | \ifdefined\settocpreprocessor 85 | \else 86 | \setboolean{ABNTEXsumario-tradicional}{false} 87 | \setboolean{ABNTEXsumario-abnt-6027-2012}{false} 88 | \fi 89 | 90 | 91 | %----------------------------------- 92 | % Comandos para tratamento de opcoes proprias 93 | %----------------------------------- 94 | 95 | % --- 96 | % Comandos para controlar as opcoes de titulos com letras maiusculas 97 | % --- 98 | 99 | % pacote que prove \MakeTextUppercase 100 | \RequirePackage{textcase} 101 | 102 | \newcommand{\ABNTEXchapterupperifneeded}[1]{\ifthenelse{\boolean{ABNTEXupperchapter}}{\MakeTextUppercase{#1}}{#1}} 103 | \newcommand{\ABNTEXsectionupperifneeded}{\ifthenelse{\boolean{ABNTEXuppersection}}{\MakeTextUppercase}{}} 104 | \newcommand{\ABNTEXsubsectionupperifneeded}{\ifthenelse{\boolean{ABNTEXuppersubsection}}{\MakeTextUppercase}{}} 105 | \newcommand{\ABNTEXsubsubsectionupperifneeded}{\ifthenelse{\boolean{ABNTEXuppersubsubsection}}{\MakeTextUppercase}{}} 106 | \newcommand{\ABNTEXsubsubsubsectionupperifneeded}{\ifthenelse{\boolean{ABNTEXuppersubsubsubsection}}{\MakeTextUppercase}{}} 107 | % --- 108 | 109 | %----------------------------------- 110 | % Pacotes adicionais e customizacoes gerais do memoir 111 | %----------------------------------- 112 | 113 | % --- 114 | % Do pacote de if/them/else 115 | \newcommand{\abntex@ifnotempty}[2]{\ifthenelse{\not\equal{#1}{}}{#2}{}} 116 | % --- 117 | 118 | % --- 119 | % Controla as referencias internas do PDF 120 | \RequirePackage{hyperref} 121 | \pdfstringdefDisableCommands{\def\\{, }\def\and{; }} 122 | % --- 123 | 124 | % --- 125 | % Controla os bookmarks do PDF 126 | \RequirePackage{bookmark} 127 | % --- 128 | 129 | % --- 130 | % Hifenizacao e caracteres especiais portugues-brasil por padrao 131 | % --- 132 | \RequirePackage[brazil]{babel} 133 | % 134 | % Nomes constantes do abnTeX2 em portugues (definicoes padroes) 135 | \newcommand{\folhaderostoname}{Folha de rosto} 136 | \newcommand{\epigraphname}{Ep\'igrafe} 137 | \newcommand{\dedicatorianame}{Dedicat\'oria} 138 | \newcommand{\errataname}{Errata} 139 | \newcommand{\agradecimentosname}{Agradecimentos} 140 | \newcommand{\anexoname}{Anexo} 141 | \newcommand{\anexosname}{Anexos} 142 | \newcommand{\apendicename}{Ap\^endice} 143 | \newcommand{\apendicesname}{Ap\^endices} 144 | \newcommand{\orientadorname}{Orientador:} 145 | \newcommand{\coorientadorname}{Coorientador:} 146 | \newcommand{\folhadeaprovacaoname}{Folha de aprova\c{c}\~ao} 147 | \newcommand{\resumoname}{Resumo} 148 | \newcommand{\listadesiglasname}{Lista de Abreviaturas e Siglas} 149 | \newcommand{\listadesimbolosname}{Lista de S\'imbolos} 150 | \newcommand{\fontename}{Fonte} 151 | \newcommand{\notaname}{Nota} 152 | % 153 | \addto\captionsbrazil{% portugues-brasil 154 | %% ajusta nomes padroes do babel 155 | \renewcommand{\bibname}{Refer\^encias} 156 | \renewcommand{\indexname}{\'Indice} 157 | \renewcommand{\listfigurename}{Lista de Ilustra\c{c}\~{o}es} 158 | \renewcommand{\listtablename}{Lista de Tabelas} 159 | %% ajusta nomes usados com a macro \autoref 160 | \renewcommand{\pageautorefname}{p\'agina} 161 | \renewcommand{\sectionautorefname}{se{\c c}\~ao} 162 | \renewcommand{\subsectionautorefname}{subse{\c c}\~ao} 163 | \renewcommand{\subsubsectionautorefname}{subse{\c c}\~ao} 164 | \renewcommand{\paragraphautorefname}{subse{\c c}\~ao} 165 | } 166 | \addto\captionsenglish{% ingles 167 | %% adjusts names from abnTeX2 168 | \renewcommand{\folhaderostoname}{Title page} 169 | \renewcommand{\epigraphname}{Epigraph} 170 | \renewcommand{\dedicatorianame}{Dedication} 171 | \renewcommand{\errataname}{Errata sheet} 172 | \renewcommand{\agradecimentosname}{Acknowledgements} 173 | \renewcommand{\anexoname}{Annex} 174 | \renewcommand{\anexosname}{Annex} 175 | \renewcommand{\apendicename}{Appendix} 176 | \renewcommand{\apendicesname}{Appendix} 177 | \renewcommand{\orientadorname}{Supervisor:} 178 | \renewcommand{\coorientadorname}{Co-supervisor:} 179 | \renewcommand{\folhadeaprovacaoname}{Approval} 180 | \renewcommand{\resumoname}{Abstract} 181 | \renewcommand{\listadesiglasname}{List of abbreviations and acronyms} 182 | \renewcommand{\listadesimbolosname}{List of symbols} 183 | \renewcommand{\fontename}{Source} 184 | \renewcommand{\notaname}{Note} 185 | %% adjusts names used by \autoref 186 | \renewcommand{\pageautorefname}{page} 187 | \renewcommand{\sectionautorefname}{section} 188 | \renewcommand{\subsectionautorefname}{subsection} 189 | \renewcommand{\subsubsectionautorefname}{subsubsection} 190 | \renewcommand{\paragraphautorefname}{subsubsubsection} 191 | \renewcommand{\bibname}{References} 192 | } 193 | % --- 194 | 195 | % --- 196 | % Customiza listas 197 | \RequirePackage{enumitem} 198 | % --- 199 | 200 | % --- 201 | % Pacote que permite realizar operacoes matematicas no codigo TeX 202 | \RequirePackage{calc} 203 | % --- 204 | 205 | % --- 206 | % Margens - NBR 14724/2011 - 5.1 Formato 207 | % --- 208 | \setlrmarginsandblock{3cm}{2cm}{*} 209 | \setulmarginsandblock{3cm}{2cm}{*} 210 | \checkandfixthelayout 211 | % --- 212 | 213 | % --- 214 | % Espacamento entre linhas - NBR 14724/2011 - 5.2 Espacamento 215 | % --- 216 | \OnehalfSpacing 217 | % --- 218 | 219 | %----------------------------------- 220 | % Comandos publicos 221 | %----------------------------------- 222 | 223 | % --- 224 | % ``Tamanho menor e uniforme'' ditada pela NBR 14724/2011 - 5.1 225 | % --- 226 | \newcommand{\ABNTEXfontereduzida}{\footnotesize} 227 | % --- 228 | 229 | % --- 230 | % abnTeX2 name 231 | \newcommand{\abnTeX}{abn\TeX2} 232 | % --- 233 | 234 | % --- 235 | % Fontes padroes de part, chapter, section, subsection e subsubsection 236 | %\newcommand{\ABNTEXchapterfont}{\sffamily} %sans serif: Computer Modern Sans Serif 237 | %\newcommand{\ABNTEXchapterfont}{\ttfamily} %monospaced: Computer Modern Typewriter 238 | \newcommand{\ABNTEXchapterfont}{\rmfamily} %roman: Computer Modern Roman 239 | %\newcommand{\ABNTEXchapterfontsize}{\Huge} 240 | \newcommand{\ABNTEXchapterfontsize}{\LARGE} 241 | 242 | \newcommand{\ABNTEXpartfont}{\ABNTEXchapterfont} 243 | \newcommand{\ABNTEXpartfontsize}{\ABNTEXchapterfontsize} 244 | 245 | \newcommand{\ABNTEXsectionfont}{\ABNTEXchapterfont} 246 | %\newcommand{\ABNTEXsectionfontsize}{\Large} 247 | \newcommand{\ABNTEXsectionfontsize}{\Large} 248 | 249 | \newcommand{\ABNTEXsubsectionfont}{\ABNTEXsectionfont} 250 | \newcommand{\ABNTEXsubsectionfontsize}{\large} 251 | 252 | \newcommand{\ABNTEXsubsubsectionfont}{\ABNTEXsubsectionfont} 253 | \newcommand{\ABNTEXsubsubsectionfontsize}{\normalsize} 254 | 255 | \newcommand{\ABNTEXsubsubsubsectionfont}{\ABNTEXsubsectionfont} 256 | %\newcommand{\ABNTEXsubsubsubsectionfontsize}{\normalsize} 257 | \newcommand{\ABNTEXsubsubsubsectionfontsize}{\small} 258 | 259 | 260 | %----------------------------------- 261 | % Comandos e variaveis privados 262 | %----------------------------------- 263 | 264 | %----------------------------------- 265 | % Comando para registro do bookmark interno 266 | 267 | \newcounter{abntex@bookmarkcounter} 268 | \setcounter{abntex@bookmarkcounter}{0} 269 | \newcommand{\PRIVATEbookmarkthis}[1]{% 270 | \addtocounter{abntex@bookmarkcounter}{1}% 271 | \phantomsection\pdfbookmark[0]{#1}{chapterb\arabic{abntex@bookmarkcounter}} 272 | } 273 | 274 | 275 | %----------------------------------- 276 | % Comando que cria capitulos nao numerados ja com bookmark anotado 277 | 278 | \newcommand{\pretextualchapter}[1]{% 279 | \addtocounter{abntex@bookmarkcounter}{1}% 280 | \PRIVATEbookmarkthis{#1}% 281 | \chapter*[#1]{#1}% 282 | } 283 | \provideboolean{abntex@apendiceousecao} 284 | \setboolean{abntex@apendiceousecao}{false} 285 | 286 | 287 | %----------------------------------- 288 | % cleardoublepage se este documento nao for article 289 | 290 | \newcommand{\PRIVATEclearpageifneeded}{% 291 | \ifthenelse{\equal{\ABNTEXisarticle}{true}}{% 292 | % 293 | }{ % else 294 | \cleardoublepage% 295 | } 296 | } 297 | 298 | %----------------------------------- 299 | % LAYOUT SETTINGS 300 | %----------------------------------- 301 | 302 | %----------------------------------- 303 | % Footnotes - NBR 14724/2011 - 5.2.1 304 | \setlength{\footmarkwidth}{1.2em} % largura do footnotemark 305 | \setlength{\footmarksep}{0em} 306 | \footmarkstyle{\footnotesize{\textsuperscript{#1}}\hfill} 307 | 308 | % tamanho da fonte do footnote 309 | \renewcommand{\foottextfont}{\ABNTEXfontereduzida} 310 | 311 | 312 | %----------------------------------- 313 | % Continuous numeration of the figures 314 | \ifthenelse{\equal{\ABNTEXisarticle}{true}} 315 | {% 316 | \counterwithout{section}{chapter} 317 | \counterwithout{figure}{section} 318 | \counterwithout{table}{section} 319 | }{%else 320 | \counterwithout{figure}{chapter} 321 | \counterwithout{table}{chapter} 322 | } 323 | 324 | 325 | %----------------------------------- 326 | % Estilos de caption 327 | 328 | \hangcaption 329 | \newcommand{\ABNTEXcaptiondelim}{~\textendash~} 330 | \newcommand{\ABNTEXcaptionfontedelim}{:~} 331 | %\captionnamefont{\ABNTEXfontereduzida} 332 | %\captiontitlefont{\ABNTEXfontereduzida} 333 | 334 | % Para uso com pacotes subfig e caption dentro do memoir se estes forem carregados ou não. 335 | % É necessário para que os comandos \IBGEtab e \fonte funcionem 336 | % independente do carregamento de pacotes externos ao memoir que tratam captions. 337 | \newcommand{\IBGEtabfontsize}{\ABNTEXfontereduzida} 338 | \AtBeginDocument{% 339 | % comandos auxiliares para manipular os captions dentro do comando \IBGEtab. 340 | \newcommand{\configurecaptions}{\captionstyle[\raggedright]{}} 341 | \newcommand{\configureseparator}{\captiondelim{\ABNTEXcaptiondelim}} 342 | % Define o comando \IBGEtab{}{}{} com caption e legenda da largura do conteúdo tabular, tabular*, etc 343 | % Parece funcionar com qualquer pacote 344 | \newsavebox{\myptabbox} 345 | \newlength{\myptabboxwidth} 346 | \newcommand{\IBGEtab}[3]{% 347 | \savebox{\myptabbox}{{\IBGEtabfontsize #2}}% 348 | \settowidth{\myptabboxwidth}{\usebox{\myptabbox}}% 349 | \centering% 350 | \parbox{\myptabboxwidth}{% 351 | \configurecaptions 352 | #1% 353 | \par% 354 | {\IBGEtabfontsize% 355 | #2% 356 | }% 357 | \par% 358 | #3}% 359 | } 360 | \let\ibgetab\IBGEtab 361 | } 362 | 363 | % Define o comando \fonte que respeita as configurações de caption do memoir ou do caption 364 | \makeatletter 365 | \newcommand{\fonte}[2][\fontename]{% 366 | \M@gettitle{#2}% 367 | \memlegendinfo{#2}% 368 | \par 369 | \begingroup 370 | \@parboxrestore 371 | \if@minipage 372 | \@setminipage 373 | \fi 374 | \ABNTEXfontereduzida 375 | %\configureseparator 376 | \captiondelim{\ABNTEXcaptionfontedelim} 377 | \@makecaption{\ABNTEXfontereduzida #1}{\ignorespaces\ABNTEXfontereduzida #2}\par 378 | \endgroup} 379 | \makeatother 380 | 381 | % Define o comando \notas que respeita as configurações de caption do memoir ou do caption 382 | \makeatletter 383 | \newcommand{\nota}[2][\notaname]{\fonte[#1]{#2}} 384 | \makeatother 385 | 386 | 387 | % Altera os comandos \configurecaptions e \configureseparator para trabalhar com o pacote caption e amigos. 388 | \AtEndPackage{caption}{ 389 | \AtBeginDocument{% 390 | \DeclareCaptionLabelSeparator{barr}{\ABNTEXcaptiondelim} 391 | \DeclareCaptionFont{ABNTEXfontereduzida}{\ABNTEXfontereduzida} 392 | \captionsetup{format=hang, 393 | labelseparator=barr, 394 | %labelfont=ABNTEXfontereduzida, 395 | %font=ABNTEXfontereduzida 396 | } 397 | \renewcommand{\configurecaptions}{% 398 | \captionsetup{justification=justified,% 399 | singlelinecheck=false}} 400 | \renewcommand{\configureseparator}{\captionsetup{labelsep=colon}} 401 | } 402 | } 403 | 404 | \AtBeginDocument{ 405 | \captiondelim{\ABNTEXcaptiondelim} 406 | } 407 | 408 | 409 | %----------------------------------- 410 | % Configuracoes do TOC 411 | 412 | % nivel de profundidade (implementa o quinto nivel - subsubsubsection) 413 | \setsecnumdepth{paragraph} 414 | \settocdepth{paragraph} 415 | \setcounter{tocdepth}{1} 416 | \setcounter{secnumdepth}{1} 417 | \maxsecnumdepth{paragraph} 418 | 419 | % redefine os comandos *paragraph* para subsubsubsection* 420 | \newcommand{\subsubsubsection}{\paragraph} 421 | \newcommand{\cftbeforesubsubsubsectionskip}{\cftbeforeparagraphskip} 422 | \newcommand{\cftsubsubsubsectionfont}{\cftparagraphfont} 423 | \newcommand{\setsubsubsubsecheadstyle}{\setparaheadstyle} 424 | 425 | \setafterparaskip{1.0\onelineskip plus 0.5\onelineskip minus 0.2\onelineskip} 426 | \setparaheadstyle{\normalfont\sffamily\raggedright}% 427 | 428 | % lista de ilustracoes 429 | \renewcommand{\cftfigurename}{\figurename\space} 430 | \renewcommand*{\cftfigureaftersnum}{\hfill\textendash\hfill} 431 | 432 | % lista de tabelas 433 | \renewcommand{\cfttablename}{\tablename\space} 434 | \renewcommand*{\cfttableaftersnum}{\hfill\textendash\hfill} 435 | 436 | % fonte das partes e do capitulo do TOC 437 | \renewcommand{\tocheadstart}{\ABNTEXchapterfont} 438 | 439 | % leaders para os capitulos 440 | \renewcommand*{\cftchapterdotsep}{\cftdotsep} 441 | 442 | % suprime espaço entre os itens de listings de diferentes capítulos 443 | \setlength{\cftbeforechapterskip}{0pt plus 0pt} 444 | \renewcommand*{\insertchapterspace}{} 445 | 446 | % macros para configurar o Sumário conforme 6027-2012 ou tradicional cft 447 | \cftinsertcode{A}{} 448 | 449 | \newlength{\cftlastnumwidth} 450 | \setlength{\cftlastnumwidth}{\cftsubsubsectionnumwidth} 451 | \addtolength{\cftlastnumwidth}{1em} 452 | 453 | \newcommand{\tocprintchapter}{} 454 | \newcommand{\tocinnonumchapter}{} 455 | \newcommand{\tocprintchapternonum}{} 456 | \newcommand{\tocpartapendices}{} 457 | \newcommand{\tocpartanexos}{} 458 | 459 | % insere o hifen no anexo/apendice do toc 460 | \cftinsertcode{A}{\renewcommand{\cftchapteraftersnum}{\hfill\textendash\hfill}} 461 | 462 | % No caso de Sumario (TOC) tradicional 463 | \ifthenelse{\boolean{ABNTEXsumario-tradicional}}{}{} 464 | % essa linha não faz nada, mas se houver necessidade de alterar o comportamento do sumário tradicional altere aqui. 465 | 466 | % No caso de Sumario (TOC) especifico da ABNT-6027-2012 467 | 468 | \makeatletter 469 | \ifthenelse{\boolean{ABNTEXsumario-abnt-6027-2012}}{ 470 | \settocpreprocessor{chapter}{% 471 | \let\tempf@rtoc\f@rtoc% 472 | \def\f@rtoc{% 473 | \texorpdfstring{\MakeTextUppercase{\tempf@rtoc}}{\tempf@rtoc}}% 474 | } 475 | \settocpreprocessor{part}{% 476 | \let\tempf@rtoc\f@rtoc% 477 | \def\f@rtoc{% 478 | \texorpdfstring{\MakeTextUppercase{\tempf@rtoc}}{\tempf@rtoc}}% 479 | } 480 | }{} 481 | \makeatother 482 | % 483 | \ifthenelse{\boolean{ABNTEXsumario-abnt-6027-2012}}{% 484 | 485 | \cftsetindents{part}{0em}{\cftlastnumwidth} 486 | \cftsetindents{chapter}{0em}{\cftlastnumwidth} 487 | \cftsetindents{section}{0em}{\cftlastnumwidth} 488 | \cftsetindents{subsection}{0em}{\cftlastnumwidth} 489 | \cftsetindents{subsubsection}{0em}{\cftlastnumwidth} 490 | \cftsetindents{paragraph}{0em}{\cftlastnumwidth} 491 | \cftsetindents{subparagraph}{0em}{\cftlastnumwidth} 492 | % 493 | \renewcommand{\tocprintchapter}{% 494 | \addtocontents{toc}{\cftsetindents{chapter}{0em}{\cftlastnumwidth}}} 495 | % 496 | \renewcommand{\tocinnonumchapter}{% 497 | \addtocontents{toc}{\cftsetindents{chapter}{\cftlastnumwidth}{1em}}% 498 | \cftinserthook{toc}{A}} 499 | % 500 | \renewcommand{\tocprintchapternonum}{% 501 | \addtocontents{toc}{\cftsetindents{chapter}{\cftlastnumwidth}{1em}}} 502 | % 503 | \renewcommand{\tocpartapendices}{% 504 | \addtocontents{toc}{\cftsetindents{part}{\cftlastnumwidth}{2em}} 505 | \cftinserthook{toc}{A}} 506 | % 507 | \renewcommand{\tocpartanexos}{% 508 | \addtocontents{toc}{\cftsetindents{part}{\cftlastnumwidth}{2em}} 509 | \cftinserthook{toc}{A}} 510 | % 511 | \setlength{\cftbeforechapterskip}{1em} 512 | % 513 | % Fontes das entradas do sumario 514 | % 515 | \renewcommand{\cftpartfont}{\bfseries\larger} 516 | % 517 | \renewcommand{\cftchapterfont}{\bfseries} 518 | \renewcommand{\cftchapterpagefont}{\normalsize\cftchapterfont} 519 | % 520 | \renewcommand{\cftsectionfont}{\bfseries} 521 | \renewcommand{\cftsectionpagefont}{\cftsectionfont} 522 | % 523 | \renewcommand{\cftsubsectionfont}{\normalsize} 524 | \renewcommand{\cftsubsectionpagefont}{\cftsubsectionfont} 525 | % 526 | \renewcommand{\cftsubsubsectionfont}{\small} 527 | \renewcommand{\cftsubsubsectionpagefont}{\cftsubsubsectionfont} 528 | % 529 | \renewcommand{\cftparagraphfont}{\footnotesize} 530 | \renewcommand{\cftparagraphpagefont}{\cftparagraphfont} 531 | % 532 | % Ajusta entrada Referencias 533 | % 534 | \renewcommand{\bibsection}{% 535 | \chapter*{\bibname} 536 | \bibmark 537 | \ifnobibintoc\else 538 | \phantomsection 539 | \addcontentsline{toc}{chapter}{\uppercase{\bibname}} 540 | \fi 541 | \prebibhook 542 | } 543 | 544 | }{} 545 | 546 | % Comando que simula a finalizacao de uma parte no bookmark e adiciona espaço de \part no sumario 547 | \newcommand{\phantompart}{% 548 | \bookmarksetup{startatroot}% 549 | \phantomsection% 550 | \ifthenelse{\boolean{ABNTEXsumario-abnt-6027-2012}}{% 551 | \addtocontents{toc}{\vspace{\cftbeforechapterskip}}}{% 552 | \addtocontents{toc}{\vspace{\cftbeforepartskip}}}% 553 | } 554 | % ----- 555 | 556 | % --- 557 | % Configuracao dos titulos dos capitulos 558 | % Novo estido do memoir 559 | % ABNT NBR 14724-2011 - 5.2.2-5.2.4; ABNT NBR 6024-2003 - 3.1-3.8 560 | \provideboolean{abntex@innonumchapter} 561 | \setboolean{abntex@innonumchapter}{true} 562 | \makechapterstyle{abnt}{% 563 | \renewcommand{\chapterheadstart}{} 564 | 565 | \ifx \chapternamenumlength \undefined 566 | \newlength{\chapternamenumlength} 567 | \fi 568 | 569 | % tamanhos de fontes de chapter e part 570 | \ifthenelse{\equal{\ABNTEXisarticle}{true}}{% 571 | \setlength\beforechapskip{\baselineskip} 572 | \renewcommand{\chaptitlefont}{\ABNTEXsectionfont\ABNTEXsectionfontsize} 573 | }{%else 574 | \setlength{\beforechapskip}{pt} 575 | \renewcommand{\chaptitlefont}{\ABNTEXchapterfont\ABNTEXchapterfontsize} 576 | } 577 | 578 | \renewcommand{\chapnumfont}{\chaptitlefont} 579 | \renewcommand{\parttitlefont}{\ABNTEXpartfont\ABNTEXpartfontsize} 580 | \renewcommand{\partnumfont}{\ABNTEXpartfont\ABNTEXpartfontsize} 581 | \renewcommand{\partnamefont}{\ABNTEXpartfont\ABNTEXpartfontsize} 582 | 583 | % tamanhos de fontes de section, subsection, subsubsection e subsubsubsection 584 | \setsecheadstyle{\ABNTEXsectionfont\ABNTEXsectionfontsize\ABNTEXsectionupperifneeded} 585 | \setsubsecheadstyle{\ABNTEXsubsectionfont\ABNTEXsubsectionfontsize\ABNTEXsubsectionupperifneeded} 586 | \setsubsubsecheadstyle{\ABNTEXsubsubsectionfont\ABNTEXsubsubsectionfontsize\ABNTEXsubsubsectionupperifneeded} 587 | \setsubsubsubsecheadstyle{\ABNTEXsubsubsubsectionfont\ABNTEXsubsubsubsectionfontsize\ABNTEXsubsubsubsectionupperifneeded} 588 | 589 | % impressao do numero do capitulo 590 | \renewcommand{\chapternamenum}{} 591 | 592 | % impressao do nome do capitulo 593 | \renewcommand{\printchaptername}{% 594 | \chaptitlefont 595 | \ifthenelse{\boolean{abntex@apendiceousecao}}{\appendixname}{}% 596 | } 597 | 598 | % impressao do titulo do capitulo 599 | \def\printchaptertitle##1{% 600 | \chaptitlefont% 601 | \ifthenelse{\boolean{abntex@innonumchapter}}{\centering\ABNTEXchapterupperifneeded{##1}}{% 602 | \ifthenelse{\boolean{abntex@apendiceousecao}}{% 603 | \centering% 604 | \settowidth{\chapternamenumlength}{\printchaptername\printchapternum\afterchapternum}% 605 | \ABNTEXchapterupperifneeded{##1}% 606 | }{% 607 | \settowidth{\chapternamenumlength}{\printchaptername\printchapternum\afterchapternum}% 608 | \parbox[t]{\columnwidth-\chapternamenumlength}{\ABNTEXchapterupperifneeded{##1}}}% 609 | } 610 | } 611 | 612 | % impressao do numero do capitulo 613 | \renewcommand{\printchapternum}{% 614 | \tocprintchapter 615 | \setboolean{abntex@innonumchapter}{false} 616 | \chapnumfont% 617 | \space\thechapter\space% 618 | \ifthenelse{\boolean{abntex@apendiceousecao}}{% 619 | \tocinnonumchapter 620 | \ABNTEXcaptiondelim% 621 | }{} % else 622 | } 623 | \renewcommand{\afterchapternum}{} 624 | 625 | % impressao do capitulo nao numerado 626 | \renewcommand\printchapternonum{% 627 | \tocprintchapternonum 628 | \setboolean{abntex@innonumchapter}{true}% 629 | } 630 | } 631 | %\chapterstyle{abnt} 632 | % --- 633 | 634 | % ----- 635 | % Declaracoes de cabecalhos 636 | % ----- 637 | % Cabecalho padrao 638 | \makepagestyle{abntheadings} 639 | \makeevenhead{abntheadings}{\ABNTEXfontereduzida\thepage}{}{\ABNTEXfontereduzida\textit\leftmark} 640 | \makeoddhead{abntheadings}{\ABNTEXfontereduzida\textit\rightmark}{}{\ABNTEXfontereduzida\thepage} 641 | \makeheadrule{abntheadings}{\textwidth}{\normalrulethickness} 642 | 643 | % Cabecalho do inicio do capitulo 644 | \makepagestyle{abntchapfirst} 645 | \makeoddhead{abntchapfirst}{}{}{\ABNTEXfontereduzida\thepage} 646 | % --- 647 | 648 | % --- 649 | % Configura layout para elementos pre-textuais 650 | \newcommand{\pretextual}{% 651 | \aliaspagestyle{chapter}{empty}% customizing chapter pagestyle 652 | \pagestyle{empty} 653 | \aliaspagestyle{cleared}{empty} 654 | \aliaspagestyle{part}{empty} 655 | } 656 | \renewcommand{\frontmatter}{\pretextual} 657 | 658 | % por default, inicializa o documento com elementos \pretextuais 659 | \AtBeginDocument{\pretextual} 660 | % --- 661 | 662 | % --- 663 | % Configura layout para elementos textuais 664 | \newcommand{\textual}{% 665 | \ifthenelse{\equal{\ABNTEXisarticle}{true}}{% 666 | \pagestyle{plain}% 667 | }{%else 668 | \pagestyle{abntheadings}% 669 | \aliaspagestyle{chapter}{abntchapfirst}% customizing chapter pagestyle 670 | } 671 | \nouppercaseheads% 672 | \bookmarksetup{startatroot}% 673 | } 674 | \renewcommand{\mainmatter}{\textual} 675 | % --- 676 | 677 | % --- 678 | % Configura layout para elementos pos-textuais 679 | \newcommand{\postextual}{\phantompart} 680 | \renewcommand{\backmatter}{\postextual} 681 | % ----- 682 | 683 | % ------------------------------------------------------------------------ 684 | % ------------------------------------------------------------------------ 685 | % Comandos de dados para CAPA e FOLHA DE ROSTO 686 | % ------------------------------------------------------------------------ 687 | % ------------------------------------------------------------------------ 688 | 689 | % Comandos de dados - titulo do documento 690 | \newcommand{\titulo}[1]{\title{#1}} 691 | \newcommand{\imprimirtitulo}{\thetitle} 692 | 693 | % Comandos de dados - autor (use \and para multiplos autores) 694 | \newcommand{\autor}[1]{\author{#1}} 695 | \newcommand{\imprimirautor}{\theauthor} 696 | 697 | % Comandos de dados - data 698 | \let\olddate\date 699 | \renewcommand{\date}[1]{\AtBeginDocument{\olddate{#1}}} 700 | \newcommand{\data}[1]{\date{#1}} 701 | \newcommand{\imprimirdata}{\thedate} 702 | 703 | % Comandos de dados - instituicao 704 | \providecommand{\imprimirinstituicao}{} 705 | \newcommand{\instituicao}[1]{\renewcommand{\imprimirinstituicao}{#1}} 706 | 707 | % Comandos de dados - local 708 | \providecommand{\imprimirlocal}{} 709 | \newcommand{\local}[1]{\renewcommand{\imprimirlocal}{#1}} 710 | 711 | % Comandos de dados - preambulo 712 | \providecommand{\imprimirpreambulo}{} 713 | \newcommand{\preambulo}[1]{\renewcommand{\imprimirpreambulo}{#1}} 714 | 715 | % Comandos de dados - orientador 716 | \providecommand{\imprimirorientadorRotulo}{} 717 | \providecommand{\imprimirorientador}{} 718 | \newcommand{\orientador}[2][\orientadorname]% 719 | {\renewcommand{\imprimirorientadorRotulo}{#1}% 720 | \renewcommand{\imprimirorientador}{#2}} 721 | 722 | % Comandos de dados - coorientador 723 | \providecommand{\imprimircoorientadorRotulo}{} 724 | \providecommand{\imprimircoorientador}{} 725 | \newcommand{\coorientador}[2][\coorientadorname]% 726 | {\renewcommand{\imprimircoorientadorRotulo}{#1}% 727 | \renewcommand{\imprimircoorientador}{#2}} 728 | 729 | % Comandos de dados - tipo de trabalho 730 | \providecommand{\imprimirtipotrabalho}{} 731 | \newcommand{\tipotrabalho}[1]{\renewcommand{\imprimirtipotrabalho}{#1}} 732 | 733 | % ------------------------------------------------------------------------ 734 | % ------------------------------------------------------------------------ 735 | % Comandos e ambientes de editoracao PRE-TEXTUAIS 736 | % ------------------------------------------------------------------------ 737 | % ------------------------------------------------------------------------ 738 | 739 | % --- 740 | % Ambiente para definicao da Capa 741 | \newenvironment{capa}{\begin{titlingpage}}{\end{titlingpage}\cleardoublepage} 742 | % --- 743 | 744 | % --- 745 | % Ficha catalografica (Dados internacionais de 746 | % catalogação-na-publicacao) 747 | \newenvironment{fichacatalografica}{% 748 | \thispagestyle{empty} 749 | \begin{SingleSpacing} 750 | \ABNTEXfontereduzida 751 | }{% 752 | \end{SingleSpacing}% 753 | }% 754 | % --- 755 | 756 | % --- 757 | % Errata 758 | \newenvironment{errata}[1][\errataname]{% 759 | \pretextualchapter{#1} 760 | }{\PRIVATEclearpageifneeded} 761 | % --- 762 | 763 | % --- 764 | % Folha de aprovacao - NBR 14724/2011 - 4.2.1.3 765 | \newenvironment{folhadeaprovacao}[1][\folhadeaprovacaoname]{% 766 | \clearpage% 767 | \PRIVATEbookmarkthis{#1}% 768 | \begin{Spacing}{1.0} 769 | }{\end{Spacing}\PRIVATEclearpageifneeded} 770 | % --- 771 | 772 | % --- 773 | % Dedicatoria 774 | \newenvironment{dedicatoria}[1][]{% 775 | \ifthenelse{\equal{#1}{}}{% 776 | \PRIVATEbookmarkthis{\dedicatorianame} 777 | }{\pretextualchapter{#1}} 778 | }{\PRIVATEclearpageifneeded} 779 | % --- 780 | 781 | % --- 782 | % Agradecimentos 783 | \newenvironment{agradecimentos}[1][\agradecimentosname]{% 784 | \pretextualchapter{#1} 785 | }{\PRIVATEclearpageifneeded} 786 | % --- 787 | 788 | % --- 789 | % Epigrafe 790 | \newenvironment{epigrafe}[1][]{% 791 | \ifthenelse{\equal{#1}{}}{% 792 | \PRIVATEbookmarkthis{\epigraphname} 793 | }{\pretextualchapter{#1}} 794 | }{\PRIVATEclearpageifneeded} 795 | % --- 796 | 797 | % --- 798 | % Resumo e abstracts em diferentes idiomas - NBR 14724/2011 799 | 800 | % altera as margens padrões do memoir para abstract caso nao seja article 801 | \ifthenelse{\equal{\ABNTEXisarticle}{true}}{% 802 | % em artigos, margens e fontes são as mesmas de memoir 803 | }{ % else 804 | % Ajusta as margens para serem a mesma do documento 805 | \setlength\absleftindent{0cm} 806 | \setlength\absrightindent{0cm} 807 | % Garante que a fonte do texto do abstract será a mesma do documento, pois 808 | % na classe memoir está \small 809 | \renewcommand{\abstracttextfont}{\normalfont\normalsize} 810 | } 811 | 812 | % A norma não diz nada sobre identação e separação entre parágrafos no abstract, 813 | % porém o uso mostra que muitos abstracts são montados sem identação. 814 | \AtBeginDocument{% 815 | \setlength{\absparindent}{0pt} 816 | } 817 | 818 | \newenvironment{resumo}[1][\resumoname]{% 819 | \PRIVATEbookmarkthis{#1} 820 | \renewcommand{\abstractnamefont}{\chaptitlefont} 821 | \renewcommand{\abstractname}{\ABNTEXchapterupperifneeded{#1}} 822 | \begin{abstract} 823 | }{\end{abstract}\PRIVATEclearpageifneeded} 824 | 825 | \newenvironment{resumoumacoluna}[1][\resumoname]{% 826 | \PRIVATEbookmarkthis{#1} 827 | \renewcommand{\abstractnamefont}{\chaptitlefont} 828 | \renewcommand{\abstractname}{\ABNTEXchapterupperifneeded{#1}} 829 | \begin{onecolabstract} 830 | }{\end{onecolabstract}\PRIVATEclearpageifneeded} 831 | % --- 832 | 833 | % --- 834 | % Lista de abreviaturas e siglas 835 | \newenvironment{siglas}{% 836 | \pretextualchapter{\listadesiglasname} 837 | \begin{symbols} 838 | }{% 839 | \end{symbols} 840 | \cleardoublepage 841 | } 842 | % --- 843 | 844 | % --- 845 | % Lista de sembolos 846 | \newenvironment{simbolos}{% 847 | \pretextualchapter{\listadesimbolosname} 848 | \begin{symbols} 849 | }{% 850 | \end{symbols} 851 | \cleardoublepage 852 | } 853 | % --- 854 | 855 | 856 | 857 | % ------------------------------------------------------------------------ 858 | % ------------------------------------------------------------------------ 859 | % Comandos e ambientes de editoracao APENDICES e ANEXOS 860 | % ------------------------------------------------------------------------ 861 | % ------------------------------------------------------------------------ 862 | 863 | % --- 864 | % Definicoes compartilhadas entre Apendices e Anexos 865 | % --- 866 | \makeatletter 867 | \newcommand\@switch[1]{ \@writefile{toc}{\renewcommand*{\cftappendixname}{#1 \space}} } 868 | \newcommand{\switchchapname}[1]{ \protected@write \@auxout {}{\string\@switch{#1} }} 869 | \makeatother 870 | 871 | \newcommand{\PRIVATEapendiceconfig}[2]{% 872 | \setboolean{abntex@apendiceousecao}{true}% 873 | \renewcommand{\appendixname}{#1} 874 | \ifthenelse{\boolean{ABNTEXsumario-abnt-6027-2012}}{ 875 | \renewcommand{\appendixtocname}{\uppercase{#2}} 876 | }{% 877 | \renewcommand{\appendixtocname}{#2}} 878 | \renewcommand{\appendixpagename}{#2} 879 | \switchchapname{#1}% Corrected from \switchapname -> \switchchapname 880 | \renewcommand*{\cftappendixname}{#1 \space} 881 | } 882 | % --- 883 | 884 | % --- 885 | % Apendices - comando 886 | \newcommand{\apendices}{% 887 | \PRIVATEapendiceconfig{\apendicename}{\apendicesname} 888 | \appendix 889 | } 890 | % Apendices - ambiente 891 | \newenvironment{apendicesenv}{% 892 | \PRIVATEapendiceconfig{\apendicename}{\apendicesname} 893 | \begin{appendix} 894 | }{ 895 | \end{appendix} 896 | \setboolean{abntex@apendiceousecao}{false} 897 | \bookmarksetup{startatroot} 898 | } 899 | % --- 900 | 901 | % --- 902 | % Anexos - comando 903 | \newcommand{\anexos}{% 904 | \cftinserthook{toc}{AAA} 905 | 906 | \PRIVATEapendiceconfig{\anexoname}{\anexosname} 907 | \appendix 908 | %\renewcommand\theHchapter{anexochapback.\Alph{chapter}} 909 | \renewcommand\theHchapter{anexochapback.\arabic{chapter}} 910 | } 911 | % Anexos - ambiente 912 | \newenvironment{anexosenv}{% 913 | \cftinserthook{toc}{AAA} 914 | 915 | \PRIVATEapendiceconfig{\anexoname}{\anexosname} 916 | \begin{appendix} 917 | %\renewcommand\theHchapter{anexochapback.\Alph{chapter}} 918 | \renewcommand\theHchapter{anexochapback.\arabic{chapter}} 919 | }{ 920 | \end{appendix} 921 | \setboolean{abntex@apendiceousecao}{false} 922 | \bookmarksetup{startatroot} 923 | } 924 | % --- 925 | 926 | % --- 927 | % Imprime uma pagina de divisao no estilo parte 928 | \newcommand{\partpage}{% 929 | \cleardoublepage 930 | \phantomsection 931 | \addcontentsline{toc}{part}{\appendixtocname}% 932 | \appendixpage* 933 | } 934 | 935 | % atalhos para \partpage ou \appendixpage* 936 | \makeatletter 937 | \newcommand{\partapendices}{% 938 | \tocpartapendices% 939 | \@ifstar{\appendixpage*}{\partpage}} 940 | 941 | \newcommand{\partanexos}{% 942 | \tocpartanexos% 943 | \@ifstar{\appendixpage*}{\partpage}} 944 | \makeatother 945 | % --- 946 | 947 | 948 | % ------------------------------------------------------------------------ 949 | % ------------------------------------------------------------------------ 950 | % Comandos e ambientes de editoracao CITACAO, ALINEA, INCISO, ASSINATURA 951 | % ------------------------------------------------------------------------ 952 | % ------------------------------------------------------------------------ 953 | 954 | % --- 955 | % Citacao direta com mais de 3 linhas - ABNT NBR 10520/2002 - 5.3 956 | \newlength{\ABNTEXcitacaorecuo}% recuo de 4 cm da margem esquerda 957 | \ifthenelse{\equal{\ABNTEXistwocolumn}{true}}{% 958 | \setlength{\ABNTEXcitacaorecuo}{1.8cm} 959 | }{% else 960 | \setlength{\ABNTEXcitacaorecuo}{4cm} 961 | } 962 | \newenvironment*{citacao}[1][default]{% 963 | \list{}% 964 | \ABNTEXfontereduzida% 965 | \addtolength{\leftskip}{\ABNTEXcitacaorecuo}% 966 | \item[]% 967 | \begin{SingleSpace}% 968 | \ifthenelse{\not\equal{#1}{default}}{\itshape\selectlanguage{#1}}{}% 969 | }{% 970 | \end{SingleSpace}% 971 | \endlist}% 972 | % --- 973 | 974 | % --- 975 | % Ambiente para alineas e e subalineas (incisos) 976 | % ABNT NBR 6024/2012 - 4.2 e 4.3 977 | \newlist{alineas}{enumerate}{2} 978 | \setlist[alineas,1]{label={\alph*)},topsep=0pt,itemsep=0pt,leftmargin=\parindent+\labelwidth-\labelsep}% 979 | \setlist[alineas,2]{label={--},topsep=0pt,itemsep=0pt,leftmargin=*} 980 | \newlist{subalineas}{enumerate}{1} 981 | \setlist[subalineas,1]{label={--},topsep=0pt,itemsep=0pt,leftmargin=*}% 982 | \newlist{incisos}{enumerate}{1} 983 | \setlist[incisos,1]{label={--},topsep=0pt,itemsep=0pt,leftmargin=*}% 984 | % --- 985 | 986 | % --- 987 | % Comando \assinatura for signature 988 | % width of the line and text under the line 989 | \newlength{\ABNTEXsignwidth} 990 | \setlength{\ABNTEXsignwidth}{8cm} 991 | % thickness of the line 992 | \newlength{\ABNTEXsignthickness} 993 | \setlength{\ABNTEXsignthickness}{1pt} 994 | % ammount of space left between previous text and th signature line 995 | \newlength{\ABNTEXsignskip} 996 | \setlength{\ABNTEXsignskip}{0.7cm} 997 | % \assinatura{name} -> types a line with name under the line, centralized 998 | % \assinatura*{name} -> Creates the box with the line and name under 999 | % it, but the box has no position assigned. However the line and the 1000 | % name are centralized with respect to each other. 1001 | \makeatletter 1002 | \newcommand{\assinatura}{\@ifstar{\ABNTEXsign}{\ABNTEXcsign}} 1003 | \makeatother 1004 | % assinatura com estrela 1005 | \newcommand{\ABNTEXsign}[1]{% 1006 | \parbox[t]{\ABNTEXsignwidth}{\SingleSpacing\vspace*{\ABNTEXsignskip}\centering% 1007 | \rule{\ABNTEXsignwidth}{\ABNTEXsignthickness}\\% 1008 | \nopagebreak #1\par}% 1009 | } 1010 | % assinatura sem estrela 1011 | \newcommand{\ABNTEXcsign}[1]% 1012 | {\begingroup\par\centering\ABNTEXsign{#1}\par\endgroup} 1013 | % --- 1014 | 1015 | % ------------------------------------------------------------------------ 1016 | % ------------------------------------------------------------------------ 1017 | % IMPRESSOES PADROES DE CAPA E FOLHA DE ROSTO 1018 | % ------------------------------------------------------------------------ 1019 | % ------------------------------------------------------------------------ 1020 | 1021 | % --- 1022 | % Impressão da Capa 1023 | \newcommand{\imprimircapa}{% 1024 | \begin{capa}% 1025 | \center 1026 | \ABNTEXchapterfont\Large\imprimirautor 1027 | 1028 | \vfill 1029 | \begin{center} 1030 | \ABNTEXchapterfont\bfseries\Huge\imprimirtitulo 1031 | \end{center} 1032 | \vfill 1033 | 1034 | \large\imprimirlocal 1035 | 1036 | \large\imprimirdata 1037 | 1038 | \vspace*{1cm} 1039 | \end{capa} 1040 | } 1041 | % --- 1042 | 1043 | 1044 | % --- 1045 | % Folha de rosto 1046 | % usar \imprimirfolhaderosto* casodeseje imprimir algo no verso da 1047 | % página no caso de estar no modo twoside. Util para imprimir a Ficha 1048 | % Bibliografica. Porem, se estiver no modo oneside, a versao sem estrela 1049 | % é identica. 1050 | \newenvironment{folhaderosto}[1][\folhaderostoname]{\clearpage\PRIVATEbookmarkthis{#1}}{\cleardoublepage} 1051 | \newenvironment{folhaderosto*}[1][\folhaderostoname]{\clearpage\PRIVATEbookmarkthis{#1}}{\newpage}% 1052 | 1053 | % --- 1054 | % Conteudo padrao da Folha de Rosto 1055 | \makeatletter 1056 | \newcommand{\folhaderostocontent}{ 1057 | \begin{center} 1058 | 1059 | %\vspace*{1cm} 1060 | {\ABNTEXchapterfont\Large\imprimirautor} 1061 | 1062 | \vspace*{\fill}\vspace*{\fill} 1063 | \begin{center} 1064 | \ABNTEXchapterfont\bfseries\Large\imprimirtitulo 1065 | \end{center} 1066 | \vspace*{\fill} 1067 | 1068 | \abntex@ifnotempty{\imprimirpreambulo}{% 1069 | \hspace{.45\textwidth} 1070 | \begin{minipage}{.5\textwidth} 1071 | \SingleSpacing 1072 | \imprimirpreambulo 1073 | \end{minipage}% 1074 | \vspace*{\fill} 1075 | }% 1076 | 1077 | {\abntex@ifnotempty{\imprimirinstituicao}{\imprimirinstituicao\vspace*{\fill}}} 1078 | 1079 | {\large\imprimirorientadorRotulo~\imprimirorientador\par} 1080 | \abntex@ifnotempty{\imprimircoorientador}{% 1081 | {\large\imprimircoorientadorRotulo~\imprimircoorientador}% 1082 | }% 1083 | \vspace*{\fill} 1084 | 1085 | {\large\imprimirlocal} 1086 | \par 1087 | {\large\imprimirdata} 1088 | \vspace*{1cm} 1089 | 1090 | \end{center} 1091 | } 1092 | \makeatother 1093 | 1094 | \newcommand{\imprimirfolhaderostostar}[1]{% 1095 | \begin{folhaderosto*}{#1} 1096 | \folhaderostocontent 1097 | \end{folhaderosto*}} 1098 | 1099 | \newcommand{\imprimirfolhaderostonostar}[1]{% 1100 | \begin{folhaderosto}{#1} 1101 | \folhaderostocontent 1102 | \end{folhaderosto}} 1103 | 1104 | \makeatletter 1105 | \newcommand{\imprimirfolhaderosto}[1][\folhaderostoname]{% 1106 | \@ifstar 1107 | \imprimirfolhaderostostar 1108 | \imprimirfolhaderostonostar 1109 | } 1110 | \makeatother 1111 | % --- 1112 | --------------------------------------------------------------------------------