Softanza
DémarrerEnglish
Softanza
Visuel et spatial

Statistiques et visualisation

Un noyau de calcul soigneux et des graphiques testés à l'octet ; les tests non paramétriques, le rééchantillonnage et la moitié des types de graphiques sont dus.

2 Strong · 4 Solid · 3 Partial · 3 Emerging

Mesuré contre : R · scipy.stats · statsmodels · matplotlib · Dossiers : base/stats(s'ouvre dans un nouvel onglet) · Pour les programmeurs : la référence de ce domaine

un histogramme de la famille des graphiques
un histogramme de la famille des graphiques. rendu le 2026-10-01 à 04:00 par le script de rendu du site tools/areas.ring, exécuté dans la bibliothèque au commit 0e72e2e2c · la source(s'ouvre dans un nouvel onglet)

Repensé depuis les premiers principes

Ce que Softanza a gardé de ce qui marche, et ce qu'elle a repensé, tel que la bibliothèque l'a écrit dans ses documents de conception et ses narrations.

La manière SoftanzaExplorer avant de modéliser : les données sont un ajustement plus un résidu, calculés pour qu'une valeur extrême ne les fausse pas, et les données indiquent elles-mêmes leur échelle de lecture.

Gardé des meilleures pratiques

  • Par défaut, la variance divise par N−1, comme dans R et pandas. Ce choix est écrit une seule fois dans le moteur : tous les modules répondent pareil. source(s'ouvre dans un nouvel onglet)
  • Les méthodes de Tukey sont reprises telles quelles : quarts, polissage par médianes, droite résistante, lisseurs. On les vérifie contre R et des exemples publiés, jamais contre leurs propres résultats. source(s'ouvre dans un nouvel onglet)
  • Les graphiques gardent les bons usages : graduations sur des nombres ronds (1, 2, 2,5, 5 fois une puissance de dix), une légende pour plusieurs séries, des barres d'histogramme jointives. source(s'ouvre dans un nouvel onglet)

Repensé

  • L'exploration ne produit ni valeur p, ni intervalle, ni prévision. L'inférence s'appelle délibérément : un motif trouvé dans les données ne passe jamais pour une hypothèse posée d'avance. source(s'ouvre dans un nouvel onglet)
  • Une convention ambiguë est nommée, jamais choisie en silence. Quarts de Tukey et quartiles par centiles coexistent, car la mesure a montré qu'ils diffèrent ; chaque affichage indique lequel il emploie. source(s'ouvre dans un nouvel onglet)
  • Un récit sur des données ne calcule rien. Chaque nombre du texte vient de l'ajustement ou d'un constat, et une vérification refuse tout chiffre sans source. source(s'ouvre dans un nouvel onglet)
  • Un seul modèle de graphique, plusieurs rendus. Terminal, SVG et PNG partagent le sens (valeurs, libellés, options) mais pas la mise en page, car caractères et pixels diffèrent. source(s'ouvre dans un nouvel onglet)

The compute core is genuinely careful -- SIMD Neumaier summation, engine hypothesis tests that never return a bare p-value, and a chart pipeline byte-tested against captured ground truth. But this is not yet scipy.stats or R: nonparametric tests, resampling and time-series are absent, half the analyst's chart types don't render, and the exploratory (Tukey) tier is a plan with no code. A strong foundation, honestly incomplete.

Ce qu'un artisan en fait, et ce qui se distingue

  • Lane-parallel Neumaier compensated summation (measured 2.5x)
  • Hypothesis tests never return a bare p-value: effect size and a conclusion with every one
  • Chart renderers byte-tested against captured ground truth (107 parity assertions)
  • Three backends per chart: engine terminal, deviceless SVG, GPU PNG

Ce qui est dû

  • Nonparametric and normality tests (Mann-Whitney, Kruskal-Wallis, KS, Shapiro-Wilk)
  • The statistical chart family (box, violin, pie/donut, heatmap, area)
  • Bootstrap CI and permutation test over the existing sampler
  • Multiple regression, GLM and diagnostics; a real time-series lane; the unbuilt Tukey tier

La manière Softanza, exécutée

Ce que Softanza fait autrement dans ce domaine, montré par du code tiré de ses narrations et de ses gardes, et exécuté pour cette page.

Un résumé résistant dit en clair quelle convention il emploie : charnières et quartiles ne se confondent jamais.

Softanza
aV = [ 2, 4, 4, 5, 7, 9, 12, 25 ]
oS = StzTukeySummaryQ(aV)
? oS.Why()
Sortie
a Tukey summary of 8 value(s) under Tukey's fourths (hinges at depth (floor((n+1)/2)+1)/2): hinges 4 | 6 | 10.5, fourth-spread 6.5, 1 outside, 0 far out

exécuté le 2026-10-01 21:18 dans la bibliothèque au commit 0e72e2e2c ; tiré de base/education/program/courses/math/chapters/13-tukeys-first-look.en.md(s'ouvre dans un nouvel onglet)

Une table ajustée par médianes devient des verdicts exploitables par un programme : le rapport dit que la table n'est pas saine, et quel résidu la rompt.

Softanza
aDeaths = [ [ 14, 15, 14 ], [ 7, 4, 7 ], [ 8, 2, 10 ], [ 15, 9, 10 ], [ 0, 2, 0 ] ]
oF = StzTukeyFitQ(aDeaths)
oF.Polish()
oRep = StzTukeyReportQ("deaths", [ oF ])
? oRep.IsSound()
aE = oRep.Errors()
? len( aE )
? aE[1][:message]
Sortie
0
2
residual -5 lies 5 fourth-spread(s) past the hinge, beyond the far-out fence at 3

exécuté le 2026-10-01 21:18 dans la bibliothèque au commit 0e72e2e2c ; tiré de base/education/program/courses/math/chapters/13-tukeys-first-look.en.md(s'ouvre dans un nouvel onglet)

À partir de l'ajustement précédent, le récit ne calcule rien et vérifie lui-même que chaque nombre affiché vient de l'ajustement ou d'un constat.

Softanza
oSt = StzTukeyStoryQ(oF, oRep)
acP = oSt.Paragraphs()
? acP[1]
? oSt.IsHonest()
Sortie
A table of 5 rows and 3 columns was fitted by median polish, which converged in 2 sweep(s). The common value is 8 and the residuals' fourth-spread, the scale every judgement below is in, is 1.
1

exécuté le 2026-10-01 21:18 dans la bibliothèque au commit 0e72e2e2c ; tiré de base/education/program/courses/math/chapters/13-tukeys-first-look.en.md(s'ouvre dans un nouvel onglet)

Les couloirs, un par un

Les couloirs et leurs notes sont cités tels qu'ils ont été lus à la source, le Read from the source on 2026-09-16.

Descriptive statistics
Strong
Full descriptive set over lane-parallel Neumaier compensated summation (@Vector(8), measured 2.5x); at parity and numerically more careful than most.stats.zig
Chart rendering pipeline & fidelity
Strong
Three backends per chart; renderers guarded byte-identical against captured ground truth (107 parity assertions), 19 SVG/PNG checks with no GPU.plot.zig; 107 parity assertions + 19 deviceless SVG/PNG checks
Hypothesis testing
Solid
t-tests, chi-square, one-way ANOVA, Pearson test each return statistic, df, p-value, effect size and a conclusion; the nonparametric family is missing.hypothesis.zig
Multivariate & dimensionality reduction
Solid
PCA, t-SNE/UMAP, k-means, kNN, naive Bayes, ID3, logistic regression, FFT, eigen-solver over a 15 GFLOP/s matmul; shallower than scikit-learn.pca.zig, cluster.zig, fft.zig
Analytical dataset & wrangling
Solid
stzDataSet (211 methods): CIs, five-number stats, contingency, entropy, mutual information, insights/rules/plans; stzDataWrangler is pure Haro.stzDataSet, stzDataWrangler
Optimization & solvers
Solid
Real LP/MIP: Big-M tableau simplex in the engine, branch-and-bound, stochastic/robust solver, root/quadrature, LU/Gauss-Jordan.simplex.zig, optim.zig, stzLinearSolver
Distribution functions
Partial
CDF and quantile for Normal, Student-t, Chi-square, F only; no discrete distributions (binomial, Poisson), no distribution object.special.zig
Correlation & regression
Partial
Pearson/Spearman, covariance, simple linear regression engine-backed; no multiple regression, GLM, logistic-as-stats or ridge/lasso.frame.zig
Charts & data-viz catalogue
Partial
Bar, histogram, scatter, treemap render across all three backends; box, violin, pie/donut, heatmap, area, radar, contour all missing.stzPlotCanvas
Resampling & Monte-Carlo inference
Emerging
random.zig ships seeded sampling and shuffles but no bootstrap CI, permutation test or jackknife is built on it.random.zig
Time-series
Emerging
Moving average is an engine primitive, trend is Haro-side; no autocorrelation, seasonality, exponential smoothing or ARIMA.stz_stats_moving_average
Exploratory data analysis (Tukey tier)
Emerging
A detailed plan of record (TK0-TK6) with no code shipped: no eda.zig, no faces, no test/tukey/.SOFTANZA_TUKEY_PLAN.md