Research internship · CNAM
Statistical Modelling
Version 2. This is a 2026 revision of a project first written in 2023 during a research internship. The statistical content is unchanged; the interface was rebuilt, the code reorganised and translated into English, and a number of defects in the original estimators were corrected. The 2023 version is preserved in the repository history.
Ten distributions, each presented three ways: the analytical properties, a simulator that draws a sample and summarises it, and an application that estimates the parameters of a sample you supply.
The work
This project was carried out during my first-year internship at the École Nationale Supérieure d'Informatique pour l'Industrie et l'Entreprise (ENSIIE). The internship took place at the Conservatoire National des Arts et Métiers (CNAM), in the department of mathematics and statistics, under the supervision of Dariush Ghorbanzadeh. It ran for eight weeks in June and July 2023.
Its subject was the implementation of an application of the gradient descent method. Every distribution here carries two estimators of its parameters: a closed-form estimator, obtained by the method of moments or by solving the likelihood equations explicitly; and a numerical estimator, obtained by gradient ascent on the log-likelihood. Placing the two side by side is the point of the exercise — one gives the answer directly, the other finds it by iteration, and comparing them shows what the optimisation is doing.
Distributions
Each entry opens on its properties. Simulation and application are one click away from there, and from the sidebar once a distribution is selected.
Discrete
Continuous
How to read a distribution page
Properties states the law, its distribution function where one is available in closed form, and computes its expectation and variance for parameter values you choose.
Simulation draws a pseudo-random sample of the size you ask for, reports the usual descriptive statistics, plots the empirical distribution, and estimates the parameters back from the sample. Comparing the estimates with the values used to generate the sample is the quickest way to see an estimator behave.
Application does the same for a sample you supply, as a plain text file of numbers separated by line breaks, spaces, commas or semicolons.