# Distributions Предоставляет пользователю интерфейс для реализации собственных распределений, а так же классы уже реализованных в pysatl-mpest распределений. ```{image} ../_static/distributions.png :alt: Select Parameters :width: 800px :align: center ``` ## Классы ### Continuous distribution Абстрактный класс непрерывного распределения. - **Атрибуты** - ***name: str*** Имя распределения - **params: set** Имена параметров - **fixed_parameters: set** Имена зафиксированных параметров. Если попробовать изменить зафиксированный параметр то получим ошибку. - **params_to_optimize: set**: Имена незафиксированных параметров, которые доступны для изменения/оптимизации.\ - **Методы** - ***\+ ppf(P: ArrayLike): ndarray*** Квантиль-функция. Необходима для оценки параметров с помощью LQ-моментов. - ***+ pdf(X: ArrayLike): ndarray*** Функция плотности. - ***\+ lpdf(X: ArrayLike): ndarray*** Логарифм функции плотности. - ***+ log_gradients(X: ArrayLike): ndarray[ndarray]*** Логарифм градиента по всем незафиксированным параметрам. - ***+ generate(size: int): ndarray*** Сэмплирование выборки размера `size`.
- **\+ get_params_vector(param_names: Sequence[str]): ndarray** Вспомогательная функция для получения параметров распределения по имени в виде вектора. - **\+ set_params_from_vector(param_names: Sequence[str], vector: ArrayLike)** Вспомогательная функция для установки параметров распределения через вектор. Важно: порядок важен! - **\+ fix_parameter(name: str)** Функция заморозки параметров. - **\+ unfix_parameter(name: str)** Функция разморозки параметров. Доступные распределения на данный момент: 1. Двупараметрическое экспоненциальное 1. Равномерное