Skip to content

统计过程 ​

计算由纯 Dart 包 statkit 完成(不依赖 Flutter)。

对照表 ​

类别入口 API
描述Descriptives.compute
频率Frequencies.compute / histogramBins
t 检验TTest.oneSample / independentSamples / paired
ANOVAOnewayAnova.compute、tukeyHsd
协方差分析ancova(Type III 平方和)
置换检验Permutation.random / Permutation.exact、twoSampleMeanDifference、pairedDifference
相关Correlation.pearson / spearman / matrix
回归Regression.simple / multiple、stepwiseRegression
逻辑回归logisticRegression / logisticRegressionFull(二元)、multinomialLogistic(多分类)
因子factorPca
卡方ChiSquareTest.goodnessOfFit / independence
非参数Nonparametric.mannWhitney / wilcoxon / kruskalWallis / jonckheereTerpstra / lillieforsP
信度Reliability.cronbachAlpha
聚类KMeans.cluster
ROCrocCurve
正态性normalityTest
均值表meansTable

statkit 0.5.0 新增的过程(Jonckheere-Terpstra 有序趋势检验、置换检验、Lilliefors 校正、多项 logistic 回归、ANCOVA)标注为 @experimental:接口可能在次版本里调整。

v1.4.0 修正与对齐的口径 ​

  • 二元 logistic 回归:IRLS 迭代此前在两点之间振荡(工作响应权重写错),截距标准误又取了标准化尺度 —— 现在系数、OR、SE、p 都来自真正的极大似然点。
  • Levene 方差齐性:改为以组均值为中心(PSPP / SPSS 的 ONEWAY、T-TEST、GLM 口径),useMean: false 仍可取 Brown-Forsythe。
  • Mann-Whitney U:渐近方差补上结校正,p 用 2·Φ(z)(PSPP 的 Asymp. Sig.(双尾));连续性校正后的 Z / p(SPSS、R 口径)另存于 extra['zContinuityCorrected'] / extra['pContinuityCorrected']。
  • KS 正态性检验:参数由样本估计时改用 Lilliefors 校正的 p(原先前一种口径几乎不会拒绝)。
  • 取数口径:用户缺失值 / 系统缺失、成对删除与整行删除的适用范围见缺失值口径。

数值实现 ​

  • 正态 CDF:Abramowitz & Stegun
  • 不完全 Gamma:级数 + Lentz 连分式
  • 不完全 Beta:连分式
  • Gamma:Lanczos
  • 回归:高斯消元 / 约当求逆

测试 ​

bash
cd packages/statkit && dart test

91 个用例覆盖描述、分布、t、ANOVA / ANCOVA、相关、回归、logistic、非参数与置换、信度、K-Means 等。与 PSPP 2.1.2 的对拍用例在应用侧 test/pspp_parity_test.dart,随 CI 一同运行。

Released under the AGPL-3.0 License.