Inzynierka/Lib/site-packages/scipy/stats/_unuran/unuran_wrapper.pyi

179 lines
5.5 KiB
Python
Raw Normal View History

2023-06-02 12:51:02 +02:00
import numpy as np
from typing import (Union, Any, Tuple, List, overload, Callable, NamedTuple,
Protocol)
import numpy.typing as npt
from scipy._lib._util import SeedType
import scipy.stats as stats
ArrayLike0D = Union[bool, int, float, complex, str, bytes, np.generic]
__all__: List[str]
class UNURANError(RuntimeError):
...
class Method:
@overload
def rvs(self, size: None = ...) -> float | int: ... # type: ignore[misc]
@overload
def rvs(self, size: int | Tuple[int, ...] = ...) -> np.ndarray: ...
def set_random_state(self, random_state: SeedType) -> None: ...
class TDRDist(Protocol):
@property
def pdf(self) -> Callable[..., float]: ...
@property
def dpdf(self) -> Callable[..., float]: ...
@property
def support(self) -> Tuple[float, float]: ...
class TransformedDensityRejection(Method):
def __init__(self,
dist: TDRDist,
*,
mode: None | float = ...,
center: None | float = ...,
domain: None | Tuple[float, float] = ...,
c: float = ...,
construction_points: int | npt.ArrayLike = ...,
use_dars: bool = ...,
max_squeeze_hat_ratio: float = ...,
random_state: SeedType = ...) -> None: ...
@property
def squeeze_hat_ratio(self) -> float: ...
@property
def squeeze_area(self) -> float: ...
@overload
def ppf_hat(self, u: ArrayLike0D) -> float: ... # type: ignore[misc]
@overload
def ppf_hat(self, u: npt.ArrayLike) -> np.ndarray: ...
class SROUDist(Protocol):
@property
def pdf(self) -> Callable[..., float]: ...
@property
def support(self) -> Tuple[float, float]: ...
class SimpleRatioUniforms(Method):
def __init__(self,
dist: SROUDist,
*,
mode: None | float = ...,
pdf_area: float = ...,
domain: None | Tuple[float, float] = ...,
cdf_at_mode: float = ...,
random_state: SeedType = ...) -> None: ...
UError = NamedTuple('UError', [('max_error', float),
('mean_absolute_error', float)])
class PINVDist(Protocol):
@property
def pdf(self) -> Callable[..., float]: ...
@property
def cdf(self) -> Callable[..., float]: ...
@property
def logpdf(self) -> Callable[..., float]: ...
class NumericalInversePolynomial(Method):
def __init__(self,
dist: PINVDist,
*,
mode: None | float = ...,
center: None | float = ...,
domain: None | Tuple[float, float] = ...,
order: int = ...,
u_resolution: float = ...,
random_state: SeedType = ...) -> None: ...
@property
def intervals(self) -> int: ...
@overload
def ppf(self, u: ArrayLike0D) -> float: ... # type: ignore[misc]
@overload
def ppf(self, u: npt.ArrayLike) -> np.ndarray: ...
@overload
def cdf(self, x: ArrayLike0D) -> float: ... # type: ignore[misc]
@overload
def cdf(self, x: npt.ArrayLike) -> np.ndarray: ...
def u_error(self, sample_size: int = ...) -> UError: ...
def qrvs(self,
size: None | int | Tuple[int, ...] = ...,
d: None | int = ...,
qmc_engine: None | stats.qmc.QMCEngine = ...) -> npt.ArrayLike: ...
class HINVDist(Protocol):
@property
def pdf(self) -> Callable[..., float]: ...
@property
def cdf(self) -> Callable[..., float]: ...
@property
def support(self) -> Tuple[float, float]: ...
class NumericalInverseHermite(Method):
def __init__(self,
dist: HINVDist,
*,
domain: None | Tuple[float, float] = ...,
order: int= ...,
u_resolution: float = ...,
construction_points: None | npt.ArrayLike = ...,
max_intervals: int = ...,
random_state: SeedType = ...) -> None: ...
@property
def intervals(self) -> int: ...
@overload
def ppf(self, u: ArrayLike0D) -> float: ... # type: ignore[misc]
@overload
def ppf(self, u: npt.ArrayLike) -> np.ndarray: ...
def qrvs(self,
size: None | int | Tuple[int, ...] = ...,
d: None | int = ...,
qmc_engine: None | stats.qmc.QMCEngine = ...) -> npt.ArrayLike: ...
def u_error(self, sample_size: int = ...) -> UError: ...
class DAUDist(Protocol):
@property
def pmf(self) -> Callable[..., float]: ...
@property
def support(self) -> Tuple[float, float]: ...
class DiscreteAliasUrn(Method):
def __init__(self,
dist: npt.ArrayLike | DAUDist,
*,
domain: None | Tuple[float, float] = ...,
urn_factor: float = ...,
random_state: SeedType = ...) -> None: ...
class DGTDist(Protocol):
@property
def pmf(self) -> Callable[..., float]: ...
@property
def support(self) -> Tuple[float, float]: ...
class DiscreteGuideTable(Method):
def __init__(self,
dist: npt.ArrayLike | DGTDist,
*,
domain: None | Tuple[float, float] = ...,
guide_factor: float = ...,
random_state: SeedType = ...) -> None: ...
@overload
def ppf(self, u: ArrayLike0D) -> float: ... # type: ignore[misc]
@overload
def ppf(self, u: npt.ArrayLike) -> np.ndarray: ...