Giter Club home page Giter Club logo

anyfit's Introduction

anyFit

Timeseries analysis of hydro-climatic variables is crucial for the study of relevant physical processes as well as the design and forcing of a plethora of physical and statistical models. However, physical processes exhibit a wide range of distinct features that complicate their study. For example:

  • Seasonality
  • Over-annual trends - long-term persistence
  • Intermittency
  • Highly skewed distributions
  • Different forms of autocorrelation

Importantly, many of these physical characteristics act on different scales, ranging from very fine (e.g. hourly) to very large (e.g. annual or decadal). Additionally, advances in different technology sectors, with a prominent position of the remote sensing industry, have made publicly accessible, large databases of ground (e.g. NASA MODIS, KNMI) and remote observations, hindcast and reanalysis models. All of the above imply that tools developed for timeseries analysis, or more commonly known exploratory data analysis (EDA) should:

  • Be data agnostic
  • Be able to handle multiple temporal scales
  • Be easily extensible
  • Be able to handle large sets of data from multiple stations/locations efficiently
  • Be able to work with NetCDF files

AnyFit aims to address the above demands in a robust manner. It is based on the eXtensible Time Series (xts) data format, which is a powerful package that provides an extensible time series class, enabling uniform handling of many R time series classes by extending zoo. Moreover, all visualization functions are implemented in ggplot2 package. AnyFit is developed with practitioners and researchers in mind. In this manner it streamlines the EDA with the stochastic modelling of hydrocliamtic variables using the anySim package, thus setting the foundations for a timeseries analysis and modeling ecosystem. Notable examples of anyFit functionality include:

  • Read directly from delimited files to xts format
  • Identify gaps in data
  • Produce summary statistics at various temporal scales (e.g. monthly, annual) with ease
  • Perform distribution fitting at various temporal scales (e.g. monthly, annual) with ease
  • Provides support for some "exotic" distributions, such as the Dagum and BurXII
  • Extent summary statistics and distribution fitting functionality directly to spatial data and produce NetCDF files with results
  • Streamline the visualisation of spatial statistics

In detail the distributions supported by anyFit are the following:

  • Exponential
  • Rayleigh
  • Gamma
  • Normal
  • Log-Normal
  • Generalized Logistic
  • 3-parameter Weibull
  • Gumbel
  • 3-parameter Gamma (PearsonIII)
  • Generalized Extreme Value Distribution (GEV)
  • Generalized Pareto Distribution (GPD)
  • Generalized Gamma
  • Generalized Gamma with location
  • BurXII
  • Dagum
  • Exponentiated Weibull

This package is still in alpha testing. Use at your own risk.

Installation: devtools::install_github("Gapouliasis/anyFit")

Installation with vignette: devtools::install_github("Gapouliasis/anyFit", build_vignette = TRUE)

To view the vignette run browseVignettes("anyFit")

anyfit's People

Contributors

gapouliasis avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.