GithubHelp home page GithubHelp logo

pcastelain / master-thesis Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 22.26 MB

A Non-stationary Dependence Model for Extreme European Windstorms

License: MIT License

R 100.00%
extreme-events extreme-value-statistics mathematics statistics

master-thesis's Introduction

A Non-stationary Dependence Model for Extreme European Windstorms

This repository contains R code used in my master thesis. This code implements non-stationary dependence in the generalized r-Pareto framework using locally anisotropic SPDEs. The optimization process uses the recent parallel implementation of Marquardt–Levenberg Algorithm in R.

[ The project is not under development anymore, please fork for functionalities improvement. If you see any bug please submit a pull/merge request.]

Documentation

To understand the approach and the implementation you can read the following documents:

Background

The code implementation is mainly based on the following articles:

  • de Fondeville, R., and Davison, A. C. (2020), “Functional Peaks-over-threshold Analysis,” arXiv:2002.02711 [stat].
  • de Fondeville, R., and Davison, A. C. (2018), “High-dimensional peaks-over-threshold inference,” Biometrika, 105, 575–592. https://doi.org/10.1093/biomet/asy026.
  • Fuglstad, G.-A., Lindgren, F., Simpson, D., and Rue, H. (2015), “Exploring a New Class of Non-stationary Spatial Gaussian Random Fields with Varying Local Anisotropy,” Statistica Sinica, 25, 115–133. https://doi.org/10.5705/ss.2013.106w.
  • Philipps, V., Hejblum, B. P., Prague, M., Commenges, D., and Proust-Lima, C. (2020), “Robust and Efficient Optimization Using a Marquardt-Levenberg Algorithm with R Package marqLevAlg,” arXiv:2009.03840 [stat].

Repository structure

The repository contains the following folders:

  • Documentation - Contains the thesis report and a presentation on the project.
  • Data - Contains windgust data from ERA-Interim model.
  • Code - Contains scripts, functions and a package to perform the inference on the data.
  • Tmp - Temporary data folder, contains intermidiate results.
  • Debug - Default debug directory.

Getting Started

Prerequisites

You will need a few libraries to run the scripts. You can install them with

install.packages(c('sp','rgdal','patchwork','parallel','ggplot2','ggmap','EnvStats','evd','Matrix','marqLevAlg','devtools','grid'))

To perform parallel optimization using the 'marqLevAlg' package we need to package some functions to send them to parallel workers. This is done with a custom package called 'nonStatInf' located in 'Code/nonStatInf' that is rebuild everytime the inference script is run using 'devtools' functionalities.

Scripts and functions

The two main scripts are located in 'Code' and will take you through the inference process.

Most of the functions used are located in 'Code/Functions' and a few of them (that need to be packaged) are located in 'Code/nonStatInf/R'

Pre-computed Results

Some temporary files are already located in the 'Tmp' directory and can be used to save-up on computationally intensive part of the scripts.

Author and acknowledgements

Paul Castelain - [email protected]

The implementation of Fuglstad et al. (2015) was kindly provided by Raphaël de Fondeville.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

master-thesis's People

Contributors

pcastelain 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.