/** * Noncentral chi-squared CDF via the Poisson-mixture representation: * * F(x; k, λ) = Σ_{j=0}^∞ Pois(j; λ/2) · chiSquaredCDF(x, k + 2j) * * Truncated once the cumulative Poisson mass covers `1 − 1e-12` of the total * (past the Poisson mode, so truncation never fires during the rising phase). * * @example * noncentralChi2CDF(10, 3, 2); // ~0.89856 (scipy ncx2.cdf) */ export declare function noncentralChi2CDF(x: number, df: number, nc: number): number; /** * Noncentral F CDF via the Poisson-mixture representation over the numerator * degrees of freedom: * * F(x; d1, d2, λ) = Σ_{j=0}^∞ Pois(j; λ/2) · fCDF(x·d1/(d1+2j), d1+2j, d2) * * Truncated the same way as {@link noncentralChi2CDF}. * * @example * noncentralFCDF(2, 3, 10, 4); // ~0.46636 (scipy ncf.cdf) */ export declare function noncentralFCDF(x: number, dfn: number, dfd: number, nc: number): number; /** * Noncentral Student-t CDF via the mixture representation * `T = (Z + δ) / sqrt(V/ν)`, `Z ~ N(0,1)`, `V ~ χ²_ν` independent: * * F(t; ν, δ) = E_V[ Φ(t·sqrt(V/ν) − δ) ] = ∫₀^∞ Φ(t·sqrt(v/ν) − δ) · χ²_ν(v) dv * * Evaluated by composite Simpson's rule over `v` (central-χ² density; `δ` * only enters the normal-CDF term). The upper integration bound is set * generously past the χ²_ν tail so the truncation error is negligible * relative to the ~1e-4 Simpson discretization error at the panel count used. * * @example * noncentralTCDF(1.5, 10, 2); // ~0.30479 (scipy nct.cdf) */ export declare function noncentralTCDF(t: number, df: number, nc: number): number; /** Options shared by the circular-statistics functions. */ export interface CircularOptions { /** Upper bound of the angular range. Default `2π`. */ high?: number; /** Lower bound of the angular range. Default `0`. */ low?: number; } /** * Circular (angular) mean, mapped back into `[low, high)`. * * `mean = atan2(Σsinθ, Σcosθ)`, where `θ` is `angles` rescaled into * `[0, 2π)` when a non-default `[low, high)` range is given (matching * `scipy.stats.circmean`). * * @example * circmean([0.1, 0.2, 6.2]); // ~0.07236 (scipy circmean; wraps near 0) */ export declare function circmean(angles: readonly number[], opts?: CircularOptions): number; /** * Circular variance `1 − R`, where `R = |Σcosθ + iΣsinθ| / n` is the mean * resultant length. `R ∈ [0, 1]`, so `circvar ∈ [0, 1]`. */ export declare function circvar(angles: readonly number[], opts?: CircularOptions): number; /** * Circular standard deviation `sqrt(−2·ln(R))` (matches `scipy.stats.circstd` * with the default `normalize=False` low/high dispersion measure). */ export declare function circstd(angles: readonly number[], opts?: CircularOptions): number; /** * Von Mises probability density function (the circular analogue of the * normal distribution). * * f(θ; μ, κ) = exp(κ·cos(θ − μ)) / (2π·I₀(κ)) * * `I₀` is the modified Bessel function of the first kind, order 0 * (`besselIScalar` — the shared special-function scalar backing the public * `besselI`). * * @example * vonMisesPDF(0, 0, 2); // ~0.51589 (scipy vonmises.pdf(0, 2)) */ export declare function vonMisesPDF(theta: number, mu: number, kappa: number): number; /** Options for {@link mcnemar}. */ export interface McNemarOptions { /** Apply the continuity correction (`|b−c| − 1`). Default `true`. */ correction?: boolean; } /** Result of {@link mcnemar}. */ export interface McNemarResult { chi2: number; pValue: number; } /** * McNemar's test for paired nominal data on a 2x2 table * `[[a, b], [c, d]]` (only the discordant pairs `b`, `c` matter): * * chi2 = (|b − c| − correction)² / (b + c) * * with the continuity correction (`1`) applied by default, matching * `statsmodels.stats.contingency_tables.mcnemar`. `pValue = 1 − * chiSquaredCDF(chi2, 1)`. * * @example * mcnemar([[10, 5], [3, 12]], { correction: false }); // { chi2: 0.5, pValue: ... } */ export declare function mcnemar(table: readonly (readonly number[])[], opts?: McNemarOptions): McNemarResult; /** Result of {@link cochranQ}. */ export interface CochranQResult { Q: number; pValue: number; dof: number; } /** * Cochran's Q test — the extension of McNemar's test to `k > 2` matched * binary treatments. `data` has one row per subject, one column per * treatment (0/1 entries). * * Q = (k−1)·(k·ΣCⱼ² − N²) / (k·N − ΣRᵢ²) * * where `Cⱼ` are column sums, `Rᵢ` are row sums, and `N = ΣRᵢ`. `dof = k − * 1`; `pValue = 1 − chiSquaredCDF(Q, k−1)`. Matches * `statsmodels.stats.contingency_tables.cochrans_q`. * * @example * cochranQ([[1, 1, 0], [1, 0, 0], [1, 1, 1], [0, 1, 0], [1, 1, 0]]); */ export declare function cochranQ(data: readonly (readonly number[])[]): CochranQResult; //# sourceMappingURL=inference-extra2.d.ts.map