SciPy 1.7.0 发行说明#
SciPy 1.7.0 是 6 个月辛勤工作的结晶。它包含了许多新功能、大量的错误修复、改进的测试覆盖率和更好的文档。本次发行版中存在一些弃用和 API 更改,下面将详细说明。我们鼓励所有用户升级到此版本,因为它包含大量错误修复和优化。升级前,我们建议用户检查自己的代码是否使用了已弃用的 SciPy 功能(为此,请使用 python -Wd 运行代码并检查 DeprecationWarning)。我们的开发重点将转向 1.7.x 分支的错误修复版本,以及 master 分支的新功能添加。
此版本需要 Python 3.7+ 和 NumPy 1.16.5 或更高版本。
若要在 PyPy 上运行,需要 PyPy3 6.0+。
此版本的亮点#
添加了一个用于拟阵蒙特卡洛(Quasi-Monte Carlo)的新子模块
scipy.stats.qmc文档设计已更新,采用了与 NumPy 和其他生态系统库相同的 PyData-Sphinx 主题。
我们现在已集成并利用 Boost C++ 库,以解决
scipy.stats中长期存在的弱点,从而实现众多改进。scipy.stats包含六个新分布、八个新(或经过改造)的假设检验、一个用于引导(bootstrapping)的新函数、一个能够实现快速随机变数采样和百分位数点函数求值的类,以及许多其他增强功能。借助重写为新的 C++ 后端框架,
cdist和pdist的距离计算在多种度量(尤其是加权情况)下速度更快。添加了一个新的径向基函数插值类 RBFInterpolator,以解决 Rbf 类的问题。
我们非常感谢 Chan-Zuckerberg Initiative Essential Open Source Software for Science 项目对 scipy.stats 的许多改进提供的支持。
新功能#
scipy.cluster 改进#
在 kmeans 和 kmeans2 中添加了一个可选参数 seed,用于设置随机生成器和随机状态。
scipy.interpolate 改进#
改进了 fitpack.bispev 和 fitpack.parder 的输入验证和错误消息,解决了之前让用户感到困惑的场景。
添加了 RBFInterpolator 类以取代 Rbf 类。新类的使用方式更贴近其他插值类,纠正了导致意外平滑行为的符号错误,包含插值项中的多项式项(对于某些 RBF 选择是必需的),并支持仅使用 k-最近邻进行插值以提高内存效率。
scipy.linalg 改进#
添加了 LAPACK 包装器,用于访问 tgexc 子程序。
scipy.ndimage 改进#
现在 scipy.ndimage.affine_transform 可以从 out 数组推断 output_shape。
scipy.optimize 改进#
向 _minimize_neldermead 添加了可选参数 bounds,以支持 Nelder-Mead 求解器的边界约束。
trustregion 方法 trust-krylov、dogleg 和 trust-ncg 现在可以通过有限差分估计 hess,使用 ["2-point", "3-point", "cs"] 中的一种。
halton 被添加为 scipy.optimize.shgo 中的 sampling_method。sobol 已修复,现在使用 scipy.stats.qmc.Sobol。
halton 和 sobol 被添加为 scipy.optimize.differential_evolution. 中的 init 方法。
differential_evolution 现在接受 x0 参数,以提供最小化的初始猜测值。
当 SciPy 使用 Pythran transpiler 编译时,least_squares 具有适度的性能提升。
当 linprog 使用 method 'highs'、'highs-ipm' 或 'highs-ds' 时,结果对象现在报告与每个约束相关的边际量(也称为影子价格、对偶值)和残差。
scipy.signal 改进#
get_window 支持 general_cosine 和 general_hamming 窗口函数。
scipy.signal.medfilt2d 现在在适当的情况下会释放 GIL,以通过多线程计算实现性能提升。
scipy.sparse 改进#
添加 dia_matrix 稀疏矩阵的速度更快。
scipy.spatial 改进#
对于某些加权度量,distance.cdist 和 distance.pdist 的性能得到了极大改善。特别是:minkowski、euclidean、chebyshev、canberra 和 cityblock。
上述未加权 cdist 和 pdist 度量中的许多度量也得到了适度的性能改进。
在 scipy.spatial.vq.kmeans 和 scipy.spatial.vq.kmeans2 中添加了 seed 参数。
在 scipy.spatial.distance.jensenshannon 中添加了 axis 和 keepdims 参数。
在 rotation 方法 from_rotvec 和 as_rotvec 中添加了 degrees 参数,以指定使用度而不是弧度。
scipy.special 改进#
Wright 的广义 Bessel 函数(用于正参数)已作为 scipy.special.wright_bessel 添加。
通过 scipy.special.ndtri_exp 现已提供正态分布对数累积分布函数(Log CDF)的逆的实现。
scipy.stats 改进#
假设检验#
Mann-Whitney-Wilcoxon 检验 mannwhitneyu 已重写。它现在支持 n 维输入、在无并列(ties)情况下的精确检验方法以及改进的文档。请参阅“其他更改”了解默认行为的调整。
新函数 scipy.stats.binomtest 取代了 scipy.stats.binom_test。新函数返回一个对象,该对象计算比例参数的置信区间。此外,通过使用二分搜索,性能从 O(n) 提高到 O(log(n))。
Cramer-von Mises 检验的两个样本版本已在 scipy.stats.cramervonmises_2samp 中实现。
Alexander-Govern 检验已通过新函数 scipy.stats.alexandergovern 实现。
新函数 scipy.stats.barnard_exact 和 scipy.stats. boschloo_exact 分别执行 Barnard 的精确检验和 Boschloo 的精确检验,用于 2x2 列联表。
新函数 scipy.stats.page_trend_test 执行 Page 的有序备择检验。
新函数 scipy.stats.somersd 执行 Somers' D 检验,用于衡量两个变量之间的序数关联。
在 scipy.stats.ttest_ind 中添加了一个选项 permutations,用于执行置换 t 检验。还添加了一个 trim 选项,用于执行修剪(Yuen's)t 检验。
为 alternative 参数添加了 skewtest、kurtosistest、ranksums、mood、ansari、linregress 和 spearmanr 函数,以允许单侧假设检验。
样本统计量#
新函数 scipy.stats.differential_entropy 用于从样本估计连续分布的微分熵。
现在 boxcox 和 boxcox_normmax 允许用户控制用于最小化负对数似然函数的优化器。
新函数 scipy.stats.contingency.relative_risk 计算 2x2 列联表的相对风险或风险比。返回的对象有一个计算相对风险置信区间的方法。
通过移除重复/冗余计算,提高了 skew 和 kurtosis 函数的性能。
在 scipy.stats.mstats.hdquantiles_sd 中实现了显著的性能改进。
新函数 scipy.stats.contingency.association 计算列联表的几个关联度量:Pearsons 列联系数、Cramer's V 和 Tschuprow's T。
在 scipy.stats.zmap 中添加了 nan_policy 参数,以提供处理输入数据中 nan 出现情况的选项。
在 scipy.stats.variation 和 scipy.stats.mstats.variation 中添加了 ddof 参数。
在 scipy.stats.gmean 中添加了 weights 参数。
统计分布#
我们现在已集成并利用 Boost C++ 库来解决 stats 中之前报告的许多问题。值得注意的是,beta、binom、nbinom 现在具有 Boost 后端,并且很容易为其他函数利用该后端。
偏斜柯西(skew Cauchy)概率分布已实现为 scipy.stats.skewcauchy。
Zipfian 概率分布已实现为 scipy.stats.zipfian。
新分布 nchypergeom_fisher 和 nchypergeom_wallenius 分别实现了非中心超几何分布的 Fisher 和 Wallenius 版本。
广义双曲分布已在 scipy.stats.genhyperbolic 中添加。
学生化极差(studentized range)分布已在 scipy.stats.studentized_range 中添加。
scipy.stats.argus 现在改进了对小参数值的处理。
更好的参数处理/准备已实现了许多分布的性能改进。
余弦(cosine)分布添加了 ppf、cdf、sf 和 isf 方法的 ufuncs,包括在分布支持边缘的数值精度改进。
已向单变量连续分布的 fit 方法添加了一个选项,用于通过矩量法将分布拟合到数据。
其他#
添加了 scipy.stats.bootstrap,以允许估计统计量的置信区间和标准误差。
新函数 scipy.stats.contingency.crosstab 计算给定数据的列联表(即唯一条目的计数表)。
scipy.stats.NumericalInverseHermite 实现了任意单变量统计分布的快速随机变数采样和百分位数点函数求值。
新的 scipy.stats.qmc 模块#
此新模块提供了拟阵蒙特卡洛(QMC)生成器及相关辅助函数。
它提供了一个通用类 scipy.stats.qmc.QMCEngine,该类定义了一个 QMC 引擎/采样器。引擎是有状态的:它可以被续期、推进和重置。提供 3 个基本采样器:
scipy.stats.qmc.Sobol:著名的 Sobol 低差异序列。默认情况下,序列会被打乱(scrambled)。添加了几个警告,以指导用户正确使用此采样器。scipy.stats.qmc.Halton:Halton 低差异序列。默认情况下,序列会被打乱(scrambled)。scipy.stats.qmc.LatinHypercube:标准 LHS 设计。
另外提供 2 个特殊采样器:
scipy.stats.qmc.MultinomialQMC:使用任何基本scipy.stats.qmc.QMCEngine从多项分布中采样。scipy.stats.qmc.MultivariateNormalQMC:使用任何基本scipy.stats.qmc.QMCEngine从多元正态分布中采样。
该模块还提供了以下辅助函数:
scipy.stats.qmc.discrepancy:评估一组点在空间覆盖方面的质量。scipy.stats.qmc.update_discrepancy:可在优化循环中用于构建一组好的点。scipy.stats.qmc.scale:轻松地将一组点从单位区间缩放到给定范围,或从给定范围缩放到单位区间。
弃用的功能#
scipy.linalg 弃用项#
scipy.linalg.pinv2 已弃用,其功能完全被
scipy.linalg.pinv所取代。scipy.linalg.pinv和scipy.linalg.pinvh的rcond和cond关键字参数均不起作用,现已弃用。现在用可用的atol和rtol关键字参数取代,用法清晰。
scipy.spatial 弃用项#
scipy.spatial.distance度量期望一维输入向量,但将对输入调用np.squeeze以接受任何额外的长度为 1 的维度。这种行为现已弃用。
向后不兼容的变更#
其他更改#
我们现在接受并利用了 Pythran(一种提前的 Python 到 C++ 转译器)的性能改进,该转译器可以根据需要禁用(通过 export SCIPY_USE_PYTHRAN=0),但在构建时默认启用。
对 scipy.stats.mannwhitenyu 的默认行为有两个更改:
多年来,默认的
alternative=None已被弃用;现在需要显式指定alternative。现在允许使用新的默认值alternative,“two-sided”。以前,所有 p 值都基于渐近近似。现在,对于没有并列(ties)的小样本,默认返回的是精确 p 值。
支持 PEP 621(pyproject.toml 中的项目元数据)
我们现在支持 Gitpod 环境,以降低 SciPy 开发的入门门槛;更多详情请参阅 quickstart-gitpod。
为 1.7.0 关闭的问题#
#636: Statistics Review: mannwhitneyu (Trac #109)
#1346: signal.medfilt2d 应回退到 signal.medfilt 以处理类型…
#2118: Mann-Whitney 统计量返回错误结果 (Trac #1593)
#2158: special.chndtrix (ncx2.ppf) 返回错误结果 (Trac #1633)
#3284: build_sphinx 的怪异行为
#3352: beta 分布 sf
#4067: 带有 nan 的数组的 Mannwhitneyu 仍报告显著性
#4080: Scipy 中的熵
#4641: mstats.mannwhitneyu 和 stats.mannwhitneyu 返回的结果不一致…
#5122: scipy.stats.binom.ppf 对于 p=0 错误
#5180: Rbf 插值 - 仅使用 K 最近邻
#5258: affine_transform 在输出数组…时抱怨 output_shape
#5562: Wishart 自由度应为 $v > p-1$ 而不是 $v…
#5933: mstats_basic.py - mannwhitneyu [scipy/scipy/stats/mstats_basic.py]
#6409: _unequal_var_ttest_denom 在早期样本中导致 ZeroDivisionError
#6682: 负二项分布生存函数不精确
#6897: 空集的 scipy.stats.mannwhitneyu 返回 p=0.0 且不…
#7303: stats.describe 与 nan_policy=omit 返回矩阵范围的 minmax…
#7406: scipy.stats.binom.ppf 在 n…时,对于 q 在 0 和 1 之间返回 nan
#7437: ENH: 向 stats 添加偏斜柯西分布
#7542: DOC: stats 教程:关于arcsine 和 Student t 公式的问题
#7593: `scipy.optimize.minimize` 中 `tol` 参数的含义是…
#8565: SmoothSphereBivariateSpline() 中出现错误:“ValueError: Error code…
#8665: `scipy.ncx2.sf` 应单调递减
#8836: scipy.optimize.linprog(method=’simplex’) 需要返回对偶变量
#9184: Mann-Whitney 实现错误?
#9450: 允许为 vq.kmeans2 的 init 方法设置种子
#9704: RectSphereBivariateSpline 对负经度失败
#9836: scipy.stats.rice 在 s 与…相比非常低时给出错误结果
#9904: 请求/提案:大大改进 scipy.interpolate.Rbf
#9981: stats.kruskal:为超过 2 列的输入添加警告
#10358: DOC:需要 linprog 和 linear_sum_assignment 教程
#10908: Nakami 拟合不收敛 (scipy.stats)
#10933: 添加反比例卡方分布
#11014: Barnard 的检验用于对 2x2 列联表进行更强大的假设检验…
#11050: 功能请求:带边界的 Nelder-Mead
#11086: scipy.stats.skew 对于浮点数不工作
#11113: ttest_ind 和 mannwhitneyu 同时使用时结果不一致…
#11134: 二项分布 p=0 时的置信区间错误
#11325: 为 scipy.spatial.distance.jensenshannon 添加 axis 参数
#11474: stats.skellam.cdf(0) 在 mu1 = mu2 较大时返回 0
#11523: scipy.stats.zipf 未实现 zipf 分布
#11848: 如何从 ‘linprog’ 优化…中获取拉格朗日/lambda 乘数
#11909: 为 boxcox 启用 lambda 的边界
#12118: 文档缺少默认值
#12132: 慢测试将被修剪或移动到 test('full')
#12230: 树状图:使用 'labels' 时启用叶子标记…
#12282: scipy.stats.chisquare 检验不检查观测值和期望值…
#12298: BUG: fmin_powell 在 1.5.0rc 中缺少 squeeze
#12403: 向 stats.zmap 添加 nan_policy
#12518: 柯尔莫哥洛夫-斯米尔诺夫检验的原假设未正确描述
#12534: 功能请求:linalg.norm 处理 0 尺寸数组
#12603: DOC:interpolate.interpn() 的文档示例
#12635: scipy.stats.beta.ppf 结果意外
#12669: 复数 CSD 的中值平均
#12731: stats.ncx2.cdf 在 nc >> x >> 1 时失败
#12778: scipy.stats.weightedtau 文档令人困惑
#12794: [Bug] stats.beta.isf 的结果与 stats.beta.sf 不一致
#12837: stats.mannwhitneyu 可以支持数组
#12868: `interp2d` 中的向量值插值
#12922: 使用 trust-constr 方法的 Minimize 会因选项…导致 TypeError
#12929: 使用星号表达式创建数据会影响对…的理解
#12965: scipy.interpolate.RectSphereBivariateSpline(u,…) 参数的定义域
#13025: 广义双曲分布
#13090: signal.max_len_seq 文档链接错误
#13101: MAINT:升级 docker 文件中的 python 版本
#13158: `signal.get_window()` 缺少文档链接且无法获取…
#13173: bisplev 函数的错误消息无信息量
#13234: BUG: stats: burr.moment() 和 fisk.moment() 的形状错误,当…
#13242: kmeans 是否“丢弃”了簇?
#13243: tgsen 使用输出参数计算默认参数
#13245: 相同元素的数组的峰度返回 1
#13257: MacOS 的 GitHub Actions 测试失败
#13272: scipy.stats.yeojohnson_llf 文档错误
#13280: hypergeom cdf 结果错误
#13285: scipy.stats.t 的描述修正
#13287: 使用 mu 而不是 prob 生成二项式 CDF
#13294: BUG: stats: ‘support’ 方法返回的边界不正确,适用于分布…
#13299: scipy.spatial 的类型标注
#13300: 向 latinhypercube 的初始种群添加单个个体…
#13311: MAINT:pavement.py PYVER 已过时
#13339: 如果任何维度为零,savemat 会丢弃维度信息
#13341: 添加带 ddof 参数的 scipy.stats.variation
#13353: Documentation:scipy.stats.johnsonsu 中的参数 `a` 可以…
#13405: TST:为稀疏 BSR ctor 添加一些测试
#13410: BUG: 空数组的 skew 导致异常
#13417: 余弦分布随机数生成速度提升 10,000 倍…
#13440: python runtest.py -t path-to-test.py 失败
#13454: Scipy 的余弦距离可能大于 2
#13459: cramervonmises 文档链接错误
#13494: optimize.linprog_simplex 文档中的单字拼写错误
#13501: 使用 Powell 方法和 Bounds 进行 Minimize 会导致“TypeError:…
#13509: signal.medfilt2d 与 ndimage.median_filter
#13511: DOC:fmin_powell 的 “direc” 参数描述错误
#13526: TST:stats:test_ttest_ind_randperm_alternative2… 间歇性失败
#13536: `_within_tolerance` 似乎是 `numpy.isclose` 的不必要重复
#13540: scipy-wheels-nightly 中缺少 python 3.8 manylinux 轮子
#13559: 使用修改版单纯形法的 linprog 出现形状错误
#13587: binned_statistic 在单精度下不可靠
#13589: 改进 stats 包中分布的参数准备。
#13602: 晶体球(crystallball)分布的熵有时是负无穷
#13606: MAINT:mypy:运行 mypy + 添加 mypy…时出现一些类型错误
#13608: 为什么 stats.binned_statistic_2d 会将其 values 参数转换为…
#13609: BUG: Scipy pip install -e 获得不可用的版本规范
#13610: Highs 求解器未提供解决方案,也未报告失败
#13614: BUG: invgauss.cdf 在 `mu`…时应返回正确的值
#13628: scipy.special.spence 函数定义中一个字母的拼写错误…
#13634: mmwrite 在密集、偏斜对称数组上失败
#13646: 稀疏矩阵 argmax() 在 Windows 10 上整数溢出
#13647: `scipy.stats.qmc.LatinHypercube` 无法采样单个样本…
#13651: linalg.eigvalsh 的文档错误
#13664: BUG: gamma 分布的逆生存函数溢出…
#13693: BUG: sokalmichener 似乎错误地应用了权重
#13697: BUG: stats: arcsine.pdf 在…时生成了虚假警告
#13704: 使相对…的秩截止值可以被传递
#13707: Kullback Leibler 散度广播不再工作
#13740: 优化。linprog x0 超出边界,尽管它在边界内。
#13744: scipy.interpolate.interp1d 对于非唯一…有不一致的行为
#13754: 优化。trust 方法和有限差分 Hessian…
#13762: TST, BUG: test_rbfinterp.py – test_interpolation_misfit_1d 失败…
#13769: probplot 即使 fit=False 也会绘制拟合线
#13791: BUG: stats: wrapcauchy.cdf 未广播形状参数…
#13793: CI:CircleCI 文档构建失败
#13840: manylinux1 构建因 `special/_cosine.c` 中的 C99 使用而失败
#13850: CI:Homebrew 因 bintray 而失败
#13875: BUG: chi2_contingency 带有 Yates 校正
#13878: BUG: `signal.get_window` 参数处理问题
#13880: 删除 numpy.compat 的所有用法
#13896: Boschloo 的检验用于对 2x2 列联表进行更强大的假设检验…
#13923: 正态分布对数累积分布函数的逆
#13933: `signal.get_window` 不支持 `general_cosine` 和…
#13950: DOC: scipy.spatial.KDTree.query
#13969: N=4 不能超过 M=3
#13970: 可以引用 Pearson 关于卡方检验的原始论文。
#13984: 更快的稀疏对角矩阵加法
#13988: 使用 scipy 1.6 版本中的 scipy.io.wavfile 时出现错误…
#13997: BUG: sparse: `dia_matrix.diagonal()` 结果不正确
#14005: MAINT: optimize: `curve_fit` 输入错误消息可以改进。
#14038: MAINT:为 _sobol.pyx 添加类型注解
#14048: DOC:缺少 git 子模块信息
#14055: linalg.solve:使用 assume_a=’her’ 和 real…时出现不明确的错误
#14093: DOC:文档中默认值定义不一致…
#14158: TST, BUG: test_rbfinterp.py – test_interpolation_misfit_1d 失败…
#14170: TST: signal 子模块 test_filtfilt_gust 在 32 位 amd64 上失败…
#14194: MAINT: download-wheels.py 缺少导入
#14199: biasedurn 扩展的生成源在 1.7.0rc1 中损坏
为 1.7.0 提交的拉取请求#
#4824: 置换 Ttest (新 PR)
#4933: ENH: 更新 Mann-Whitney-Wilcoxon 检验
#7702: ENH: stats: 添加偏斜柯西分布
#8306: scipy.signal.max_len_seq_inner 的可选 Pythran 支持
#10170: MAINT: stats: 为余弦…实现 cdf 和 ppf 作为 ufuncs
#10454: ENH: 扩展 find_peaks_cwt 以接受数字和可迭代对象…
#10844: ENH: 添加 stats.qmc 模块,具有拟阵蒙特卡洛功能
#11313: ENH: 添加 Wright 的广义 Bessel 函数
#11352: ENH: stats: 添加 crosstab 函数。
#11477: FIX: cdfchn.f 中的有界参数会产生不好的结果
#11695: ENH: stats: 将矩量法添加到 `rv_continuous.fit`
#11911: ENH: 为 boxcox 和 boxcox_normmax 添加了边界
#12438: BUG: 在椭圆滤波器设计中使用 ellipkm1 以防止数值…
#12531: ENH: stats: 添加 Page 的 L 检验
#12603: ENH: stats: 添加 `binomtest` 以取代 `binom_test`。
#12653: ENH: stats: 添加 Somers' D 检验
#12676: BUG: 更新 signal.csd 中的中值平均
#12760: BUG: special: erfinv(x<<1) 精度损失
#12801: ENH: 为剩余的 spearmanr 和 linregress 添加单侧 p 值
#12873: ENH: Stats: 添加 Alexander Govern 检验
#13008: ENH: 向使用正态 CDF 计算 p 值的函数添加 'alternative'
#13040: BUG: 允许 RectSphereBivariateSpline 接受负经度
#13048: ENH: stats: 添加计算相对风险的函数。
#13067: ENH: 向 stats.gmean 添加 weights 参数
#13084: ENH: 快速 Hankel 变换
#13104: MAINT: 升级 python 版本(删除 python 3.6)用于 docker dev…
#13153: ENH: 添加了关联度量 Pearsons 列联系数、…
#13166: ENH: stats: 向 zmap 添加 nan_policy。
#13175: MAINT: `linear_sum_assignment` 中高成本矩阵的测试
#13177: BUG: 当 ndim…时,在 fourier_ellipsoid 中引发 NotImplementedError
#13184: BUG: stats: 修复 mstats.describe 在…时的 min 和 max 计算
#13188: DOC: stats: 使 kstest 的原假设和备择假设更…
#13193: MAINT: stats: chisquare 检查观测值/期望值频率的总和
#13197: ENH/MAINT: HiGHS 上游增强和错误修复
#13198: ENH: 允许从 affine_transform 中的 out 数组推断 output_shape
#13204: ENH: stats: 添加 Zipfian(与 Zipf/zeta 不同)分布
#13208: REL: 将版本设置为 1.7.0.dev0
#13216: TST: stats: 分割并标记慢速测试
#13224: 更新加权 τ 的文档
#13230: ENH: linalg: 添加 tgexc 的 LAPACK 包装器。
#13232: MAINT: stats: 当 kruskal 输入超过 1 维时引发错误
#13233: DOC: stats: 在教程中修复 arcsine 的 MGF 和 t 分布的熵
#13236: MAINT: 重组共享线性分配测试
#13237: BENCH: 重构 stats.Distribution 以轻松添加新分布
#13238: BUG: stats: 修复 burr 和 fisk 分布的错误形状输出
#13240: MAINT: 为线性求和赋值添加平凡成本矩阵的测试
#13252: DOC: optimize: 添加 `optimize.linear_sum_assignment` 教程。
#13254: BUG: 修复 skew 和 kurtosis 中常数输入的精度问题
#13262: BUG: scipy.medfilt 和 .medfilt2d 修复
#13263: ENH: 添加 Cramer-von Mises 检验(用于两个样本)
#13264: 修复 `stats.anderson` 文档中的一个细微拼写错误
#13268: ENH: stats: 为 t 分布添加 _entropy 的实现。
#13273: DOC: stats: 修复 Yeo-Johnson LL 函数文档中的拼写错误
#13275: MAINT: stats: 修正 gamma 中 _fitstart 方法的注释。
#13283: BUG: stats: 修复 rv_discrete 类的 cdf 方法
#13286: DOC: stats: 阐明 rv_continuous/discrete.stats 示例
#13288: DOC: stats: 离散分布形状参数限制
#13289: MAINT: 修复 sigtoolsmodule.c 中的构建警告
#13290: DOC: 扩展 nan_policy API 的讨论。
#13291: MAINT: signal, stats: 在适用的地方使用 keepdims。
#13292: DOC: stats: 注释 nbinom 的另一个常见参数化
#13293: DOC: 将默认值的错误链接更改为存档链接
#13295: BUG: stats: 修复 support 方法以返回正确的边界
#13296: DOC: stats: 修复 kstwo 文档字符串中的 latex 标记。
#13297: TST: 将 kde.logpdf 溢出测试标记为 xslow
#13298: 广义双曲分布
#13301: DOC: cluster: 向 cluster.vq.kmeans 的文档字符串添加簇数说明
#13302: BUG: 修复 ndimage.morphology.distance_transform_* 参数处理
#13303: CI:防止 Codecov 产生错误的 CI 失败和错误的 PR 注释
#13313: ENH: qhull 的静态类型
#13316: scipy.signal._spectral 的 Pythran 实现
#13317: DOC: 向前移植 1.6.0 发行说明
#13319: ENH: stats: 添加分布 CDF 的快速数值反演
#13320: ENH: differential_evolution 的 x0
#13324: DOC:修正 linprog highs 的 versionadded 为 1.6
#13326: MAINT: 将 numpydoc 升级到 v1.1.0
#13327: DOC: interpolate: 改进 `interpolate.interpn()` 的文档字符串示例…
#13328: ENH: Boost stats 分布
#13330: ENH: stats: 添加非中心超几何分布(Fisher’s …)
#13331: MAINT/ENH: 解决 mypy 警告/错误
#13332: DOC: interpolate: 改进了 `interpolate.interp2d` 的文档字符串…
#13333: ENH: stats: 实现了一些额外的 _sf 和 _isf。
#13334: MAINT: stats: 清理了 _continuous_distns.py 中一些失效的注释
#13336: Pythran 版本的 scipy.optimize._group_columns
#13337: DOC|ENH: 为 scipy.integrate.simpson 添加类型提示
#13346: ENH: stats: 向 `variation` 函数添加 `ddof` 参数
#13355: ENH: stats: 为 loggamma 实现 _logpdf、_sf 和 _isf。
#13360: ENH|DOC: 修复 interpolate.RectSphereBivariateSpline 中的文档字符串和输入验证
#13366: BUG: stats: 不要在 _unequal_var_ttest_denom 中引发 ZeroDivisionError
#13370: ENH: 修复 stats 中 ARGUS 分布的小参数问题
#13371: ENH: stats: 添加 `bootstrap` 用于估计置信区间…
#13373: BUG: io/matlab: 保留空 >= 2D 数组的维度
#13374: ENH: stats: 添加偏斜柯西分布
#13379: BUG: sparse: 修复 sparse lsqr 中的 verbose 设置
#13383: TST: stats: 标记许多维度置换 t 检验为慢速
#13384: MAINT: 将 keywords 数组设为静态
#13388: PERF: 避免在偏度和峰度计算中重复计算均值
#13389: DOC: 修复已弃用的指令语法
#13390: DOC: 修正参数部分下划线的行长
#13393: MAINT: stats: 允许 Wishart 分布的 `dim - 1 < df < dim`
#13395: DOC: 修复 setup.py 警告消息中的拼写错误
#13396: BUG: 修复 Nakagami `nakagami_gen.fit` 的 MLE
#13397: MAINT:linalg: 修复 tgsen 系列包装器和 ordqz
#13406: TST: 为 sparse BSR 构造函数添加错误处理测试
#13413: DOC: 超快速入门指南
#13418: BUG: 修复 moment 返回不一致的类型和形状
#13423: DOC: 更新 leaf_label_func/dendrogram 的示例
#13431: ENH: stats: 为 nhypergeom 覆盖 _rvs
#13432: 在 NDInterpolator 文档字符串中添加 N 必须 > 1 的指示
#13434: DOC: stats: 注意 scaled-inv-chi2 和 invgamma 之间的关系
#13436: ENH: interpolate: 向输入验证添加检查输入 x-y 是否…
#13441: ENH: 向 scipy.stats 添加 `barnard_exact` 测试功能。
#13443: MAINT: stats: 更新 skewcauchy
#13444: DOC: 澄清 johnsonsu/johnsonsb 的 `a` 参数范围
#13445: DOC: 修复 runtests 指导方针。
#13446: MAINT: stats: 为 wrapcauchy 添加 _fitstart 方法。
#13447: DEV: 更新开发 Docker 镜像
#13448: ENH: 为 `scipy.spatial.distance` 添加注解
#13451: DOC: 次要格式修复。
#13458: DOC: 缩进“参见”部分。
#13460: DOC: stats: 修复 Cramer-von Mises 维基百科文章的链接。
#13461: DOC: 重新组织 scipy.stats 概述文档页面
#13463: DOC: 杂项格式修复
#13466: DOC: “参见”部分拼写错误 s/SmoothUni/SmoothBi/g
#13467: DOC: optimize: 为 `minimize` 的 `tol` 参数添加描述。
#13469: MAINT: 重构优化方法以使用 scipy.stats.qmc
#13477: CI: 将 numpy 固定为 1.19.5 用于三个 macOS CI 作业
#13478: DOC: 修复 Sphinx 指令中缺失双冒号的拼写错误
#13481: CI: 将 numpy 固定为 1.19.5 用于 Azure 上的 4 个并行 Windows 构建
#13482: CI: 在 macOS CI 中再次使用 numpy 1.20.0
#13483: DOC: 多个文档语法修复。
#13484: 将一些 pythran 配置从 CI 移到 setup
#13487: DOC: 添加关于 scipy.stats.qmc 的教程
#13492: ENH: GH actions 不应该在 fork 上运行
#13493: DEV: 为 SciPy 启用 Gitpod
#13495: DOC: optimize.linprog_simplex 文档中的单字拼写错误
#13499: DOC: 描述 LSAP 实现
#13502: BUG: 使用列表创建的边界对 Powell 不起作用
#13507: MAINT, TST: stats: 集中所有…的无效参数列表
#13510: DOC: stats: 修复 ‘multivariate_hypergeom’ 中的小文档错误
#13513: DOC: 在 ltisys.py 的示例中添加了数学符号
#13514: ENH: 简化 Sobol 的 low_0_bit 函数
#13515: ENH: optimize: 为 nelder-mead 求解器添加边界约束支持
#13516: DOC: 减少 johnsonb 文档字符串中的 LaTeX 使用
#13519: BLD: 从 setup.py 中移除 build_sphinx 支持
#13527: TST: stats: xfail ttest_ind_randperm_alternative2 在 32 位上
#13530: DOC: 修正中值滤波函数之间的比较
#13532: ENH: 在 medfilt2d 中释放 GIL
#13538: DOC: optimize: 修复 ‘fmin_powell’ 中的小文档错误 (#13511)
#13546: DOC: 修复 ndimage 的“mode”选项列表
#13549: ENH: stats: 向一些正态性检验添加 ‘alternative’ 关键字。
#13551: MAINT: 将 git 添加到 docker 环境
#13552: MAINT: stats: 移除 float_power 补丁
#13553: DOC: 在 stats 教程中使用“support”而不是“a/b”
#13560: MAINT: optimize: 改进 linprog 对稀疏输入的错误消息…
#13562: MAINT: optimize: 使用 np.isclose 代替 _within_tolerance。
#13566: ENH: 加快 hdquantiles_sd()
#13569: BENCH: 仅对 HiGHS 方法进行基准测试;添加更大的 linprog…
#13574: DOC: 在 cluster.hierarchy.dendrogram ‘level’ 参数的描述中,…
#13576: ENH: 提高差异性能
#13579: TST: 将 pybind11 添加到 tox 环境中
#13583: BUG: 修复 Dockerfile 的 apt-get 安装
#13588: MAINT: 前向移植 1.6.1 发布说明。
#13593: BUG: stats: 为 bin edges 保留样本 dtype
#13595: ENH: interpolate: 添加 RBFInterpolator
#13596: DOC: 修复 new_stats_distribution.rst.inc 中的缩进
#13601: 为 get_window 函数添加 dpss
#13604: DOC: 修正 dual annealing 的 visiting 参数范围。
#13605: 向 README 添加 Codecov 徽章
#13607: MAINT: stats: 修复 crystalball 熵
#13611: 为 stats 包中的分布改进参数准备。
#13612: 添加 Windows cmd 的 docker run 命令
#13613: MAINT, CI: mypy: 修复类型错误 + 将 mypy 添加到 CI
#13616: FIX: 当 mu 非常小时,为 invgauss.cdf 返回正确的输出
#13617: MAINT: 接受 find_peaks_cwt 中 width 的数字和可迭代对象
#13620: CI: 禁用 mypy CI 作业(部分撤销 gh-13613)
#13621: DOC: signal: 为输入类型使用 array_like
#13622: MAINT: 清理一些未使用的文件,使 `mypy scipy` 通过
#13623: CI: 再次启用 Mypy CI 作业
#13624: TST: 测试 `dual_annealing` 的 `visiting_param` 输入的更多值
#13625: 文档中将 integrate.simps 重命名为 integrate.simpsons…
#13631: ENH: 添加 `scipy.stats.differential_entropy` 函数
#13633: BUG: stats.binned_statistic_2d 用户函数期望数组
#13641: ENH: 为 rotvec 添加了 degrees 参数
#13645: MAINT: mypy: 不安装 numpy-stubs
#13649: BUG: sparse: csc_matrix.argmax() 整数溢出
#13650: ENH: stats: 向 ansari 添加 ‘alternative’ 参数
#13652: DOC: 修复 eigvalsh 文档 (#13651)
#13654: BUG: 修复 LatinHypercubes
#13656: DOC: 修复 PCHIP 引用
#13657: TST: 在调试会话中移除 IPython 警告
#13658: 移除文档字符串中的多余引号
#13661: ENH: stats: 改进精确排列…的效率/修复错误
#13667: MAINT: 将最新的 Docker 镜像设为默认
#13668: MAINT: 将 .theia/ 添加到 .gitignore
#13669: BLD: 将 SCIPY_USE_PYTHRAN 的默认值更改为 `1`
#13676: ENH: 改进带阻尼的 LSQR
#13678: MAINT: 将 Pythran 生成的文件添加到 .gitignore
#13679: MAINT: 将 `conda develop .` 移至 Gitpod 配置
#13680: DOC: 添加 cKDTree 相对于 KDTree 的注意事项
#13681: DOC: Pythran、编译代码和清理的文档构建更新
#13683: BUG: mmwrite 正确序列化非对称数组
#13684: FIX: 修复 gamma.isf 方法中的数值溢出
#13685: BUG: 将余弦距离范围修复为 0-2
#13694: MAINT: 修复 NumPy 版本不正确时发出的警告
#13696: ENH: 支持 ttest_ind 中的修剪
#13698: BUG: stats: 修复由 arcsine.pdf 生成的误报警告
#13701: DEV: scipy.interpolate b 样条(周期性情况)
#13702: DEP: 清理 spatial.distance 中已过时的弃用项
#13703: MAINT: 修复静态代码分析发现的问题
#13706: ENH: stats: 为拉普拉斯分布实现 sf 和 isf。
#13711: MAINT: stats: 修复 scipy.stats.entropy 的广播
#13712: BUG: stats: 覆盖 invweibull 分布的 _fitstart。
#13713: DOC: 更新 toolchain.rst 以反映 windows 通用 C 运行时
#13714: MAINT: stats: 从 test_continuous_basic.py 中移除一个未使用的列表。
#13715: MAINT: stats: 无需抑制 frechet 弃用警告。
#13716: MAINT: 按照 PEP 3135 的描述使用 super()
#13718: MAINT: 新式类,移除对 object 的继承
#13721: MAINT: 添加 mpmath 的类型忽略 (#13721)
#13723: MAINT: mypy: 在 mypy.ini 中忽略 mpmath 导入
#13724: DOC: pydata sphinx 主题
#13725: BENCH: 为 Kendalltau 添加基准测试
#13727: CI: 简化 Azure 的 Pythran 配置设置
#13731: MAINT: stats: 一些由 flake8 驱动的清理。
#13732: ENH: stats: Studentized Range 分布
#13735: DOC: 修正 Voronoi 文档字符串
#13738: DOC: 为 wright_bessel 添加示例
#13739: ENH: stats: 为 chi 分布实现 _sf 和 _isf。
#13741: MAINT: 防止 minimize 中的 x 被覆盖
#13747: DOC: 为 interp1d 添加关于非唯一 x 值的说明
#13749: MAINT: 前向移植 1.6.2 发布说明
#13759: MAINT: simpson 小性能提升
#13765: FIX: npymath 缺失导致 npy_log1p 未知
#13768: BENCH: 添加缺失的 pythran 依赖
#13770: ENH: stats.contingency: 向 crosstab 添加 sparse 选项。
#13774: DEP: 弃用 spatial.distance 中压缩输入向量
#13775: 使信任区域方法能够使用有限差分 Hessian…
#13777: DOC: 修复 Ubuntu/Debian 安装说明
#13778: DOC: 移除对 RandomState 的引用
#13782: MAINT: LBFGSB 关于 MAXLS 的错误消息已更改,关闭 #11718
#13785: BENCH: 为 cdist/pdist 添加带权重的基准测试
#13786: MAINT: 准备 cdist/pdist 以进行 C++ 重构
#13787: MAINT: stats: 将 entropy 和 differential_entropy 函数移至…
#13790: DOC: 为 scipy 开发的 Dockerfile 文档添加一些依赖项。
#13792: BUG: stats: 修复 wrapcauchy.cdf 中的广播
#13795: MAINT: stats: 将 hypotests 添加到 init.py 中的 `__all__`,而不是 stats.py
#13797: MAINT: stats: probplot: 仅当…时才绘制最小二乘拟合线。
#13798: MAINT: 修复 `hierarchy.to_tree` 中不正确的代码注释
#13802: DEV: 添加用于使用 conda/mamba 开发的 environment.yml 文件
#13803: DOC: 修复关于 arxiv 角色已注册的文档构建警告
#13804: DOC+MAINT: optimize: Bounds 构造函数中的 lb 和 ub 是…
#13807: MAINT: 不使用并行 Sphinx
#13808: MAINT: cluster.to_tree: 更惯用地遍历矩阵的行…
#13810: MAINT: 添加 CODEOWNERS 文件
#13811: MAINT: 向 azp 添加 ci skip
#13814: ENH/DOC: pydata sphinx 主题润色
#13817: DOC: scipy/linalg/_decomp_ldl.py 中的杂项参数拼写错误和大小写
#13818: MAINT: stats: 保持 `entropy` 可从 `scipy.stats.distributions` 导入
#13820: BUG: 将 _kendall_p_exact ValueError 更新为 f-string
#13831: FIX:DEP: 允许对 pinv 和 pinvh 进行更好的容差控制,并且…
#13832: BUG: stats: 当 alpha=1 时修复 levy_stable 的 rvs
#13833: MAINT: 为 stats.qmc 添加内联类型提示
#13836: MAINT: 修复一些编译器警告。
#13838: TST: 放宽 BinomTest 的测试容差
#13841: BLD: 使用…的 scipy.special 扩展添加 `-std=c99` 标志
#13845: ENH: stats: 向 `differential_entropy`…添加 `method` 参数
#13847: TST: 在 macOS 上优化失败时跳过测试,并将一个标记为 xfail
#13848: DOC: optimize: 将 Nelder Mead 文档从无约束最小化…移至
#13849: DOC: 路线图更新
#13852: CI: 修复 GitHub 上的临时错误 brew 版本
#13854: ENH: 更新 Scipy Gitpod
#13859: TST: 修复超慢的 ttest 排列测试
#13860: MAINT: 清理 LSAP 错误检查
#13863: DOC: 示例中移除 seed
#13865: DOC: optimize: differential_evolution 的 bounds 参数是…
#13866: MAINT: special: 从 _poly_approx 中移除未使用的变量…
#13867: DOC: stats: 解释 fisher_exact 的 alternatives 的含义。
#13868: CI: 修复 linux 上失败的作业。
#13870: MAINT: 将 LSAP 矩形矩阵处理移至求解器代码
#13871: DOC: 添加 Gitpod 文档
#13876: Workflow: 在 linux 工作流中添加 NumPy 的夜间发布
#13877: DOC: 符合 numpydoc + 统一性。
#13879: BUG: signal: 修复 get_window 参数处理并添加测试。
#13881: CI: 移除 .travis.yml,从 CircleCI 中移除 codecov
#13882: BLD: 确保开发版本字符串递增
#13886: TST: 跳过带 UMFPACK 的 test_network_flow_limited_capacity…
#13888: MAINT: 修复涉及 elif 条件的问题
#13891: 将 InivariateSpline 重命名为 UnivariateSpline
#13893: ENH: linprog HiGHS 边际/敏感性分析
#13894: DOC: 在 `Return` 部分之前添加空行。
#13897: DOC: BLD: 修复文档构建版本检查,并提高构建时间
#13903: MAINT: Gitpod 修复
#13907: ENH: 使用 pybind11 将 Minkowski 度量重写为 C++
#13909: 撤销 “Workflow : 在 linux 工作流中添加 NumPy 的夜间发布”
#13910: DOC: 更新 Readme
#13911: MAINT: 使用 dict 内置而不是 OrderedDict
#13920: BUG: 在 init 中重新激活 conda 环境
#13925: BUG: stats: Yates 校正的绝对值 <= abs(observed-expected)…
#13926: DOC: 修正 disjoint_set.subsets 文档字符串中的返回类型
#13927: DOC/MAINT: 向 qmc.primes_from_2_to 添加版权声明
#13928: BUG: DOC: signal: 修复 need 参数配置并添加缺失的文档…
#13929: REL: 添加 PEP 621(pyproject.toml 中的项目元数据)支持
#13931: MAINT: special: 移除 _logit.c.src
#13934: ENH: signal: 使 `get_window` 支持 `general_cosine`…
#13940: MAINT: QMCEngine d 输入验证
#13941: MAINT: 前向移植 1.6.3 发布说明
#13944: BUG: spatial: 修复 `distance.sokalmichener` 的权重处理。
#13947: MAINT: 在 sokalmichener 中移除重复计算
#13949: DOC: minimize 和 KDTree.query 中的少量语法修正
#13951: ENH: 向 stats 添加 Boschloo 精确检验
#13956: ENH: spatial: 添加 `axis` 和 `keepdims` 可选参数…
#13963: MAINT: stats: 修复未使用的导入和一些其他相关问题…
#13971: DOC: 向卡尔·皮尔逊的卡方检验添加参考文献
#13972: ENH: cluster: 为 `kmeans`…添加可选参数 `seed`
#13973: BLD: 修复 ndimage 中因因果/反因果指针引起的构建警告
#13975: ENH: 将空数组范数设为零。
#13977: MAINT: signal: 使用 tempita 替换 distutils 模板
#13978: MAINT: 改进一些…的验证和仅关键字参数
#13979: ENH: 添加正态分布的对数 CDF 的逆
#13983: 修复 ndimage.watershed_ift 教程的文档
#13987: DOC: 在 morphology: white_tophat, …的文档字符串中添加示例
#13989: DOC: interpolate: 改进 `RegularGridInterpolator` 的示例…
#13990: MAINT, DOC: optimize: 使输入验证说明更清晰…
#13992: Workflow: 在 linux 工作流中添加 NumPy 的夜间发布
#13995: Doc: 持续集成信息
#14000: BUG: sparse: 修复 DIA.diagonal 错误并添加回归测试
#14004: ENH: 快速添加 dia 矩阵
#14006: MAINT: optimize: 添加验证以检查 func 参数数量…
#14008: BUG: 为不一致的 WAV 头引发异常
#14009: DEP: 移除 numpy.compat 的使用
#14010: MAINT: 添加对 wheel DL 代理的支持
#14012: DOC: 拓宽精确检验参考
#14015: MAINT: 移除 brew 更新
#14017: BENCH: 为稀疏算术添加更多格式
#14018: BENCH: 为 f_oneway 添加基准测试
#14020: MAINT: 修改 np.int_ 为 np.int32 以使其在 32/64…上相同
#14023: MAINT: 修复 clang 构建并移除一些 Unicode 字符
#14025: BUG: sparse: 修复 DIA.setdiag 问题
#14026: TST: optimize: xfail test_powell 的一部分
#14029: CI: github macos 修复
#14030: MAINT: 使用 `yield from
` (PEP 380) #14031: MAINT: 新式类,移除对 object 的继承
#14032: MAINT: Pythran 的 CXXFLAGS
#14033: ENH: 将 sqeuclidean 和 braycurtis 移植到 _distance_pybind
#14034: MAINT: 清理 ‘next = __next__’
#14045: MAINT: 升级 PYVER pavement.py
#14047: DEV: 在 Gitpod Dockerfile 中初始化 boost 子模块
#14051: BLD: 如果 boost 子模块内容丢失,则提前出错
#14052: DOC: 缺失的子模块 init 信息
#14057: DOC: special: 向 `psi` 文档字符串添加示例
#14058: BUG: 修复了 linalg.solve 中的 dtype bug。
#14060: Doc: 修复 spence 函数文档中的拼写错误。
#14061: MAINT:stats: 为 _sobol.pyx 添加类型注解
#14062: DOC: quickstart_gitpod.rst 中的一些小修复
#14063: DOC: signal: 向 `cont2discrete` 文档字符串添加示例
#14064: DOC: optimize: 向 fmin_bfgs 文档字符串添加示例
#14065: 在文档字符串下添加 scipy stats.trim1 的示例
#14066: DOC: 为 scipy.special.hermite 添加示例
#14067: DOC: 添加 alpha 文档字符串描述,为文档字符串添加示例
#14070: DOC: 为文档字符串添加参数、返回和示例
#14072: MAINT/TST: 修复 numpy 的夜间构建中失败的测试。
#14075: DOC: 改进 signal.hilbert 文档字符串中的代码片段。
#14076: DOC: 记录 cdist/pdist 可接受的 Jensen-Shannon 距离
#14079: BLD: 避免在 cythonize 阶段导入 scipy.stats
#14082: MAINT: 移除旧的、已注释掉的 extract_diagonal
#14083: MAINT: sparse: 移除失效的函数 extract_diagonal
#14085: ENH: 在 _distance_pybind 中实现 canberra 距离
#14086: MAINT: 更好地清理从…导入的 scipy 命名空间中的条目
#14088: 为 python 3.10 从源码安装 Pythran
#14092: BUG: 修复了 clang 的问题。
#14094: DOC: 修正类…中 Default 定义的不一致性
#14105: TST: stats: mannwhitneyu: 检查 mstats 和 stats mannwhitneyu…
#14106: DOC: stats.mstats: mannwhitneyu: 返回的统计量是…
#14107: ENH: stats: bootstrap: 添加 `vectorized` 参数;自动…
#14109: BUG: 修复 fblas 签名文件中的两个问题
#14110: DOC: mailmap 更新
#14113: ENH: stats: bootstrap: 添加 `paired` 参数
#14116: MAINT: 修复 odr 中已弃用的 Python C API 用法
#14118: DOC: 1.7.0 发布说明
#14125: DOC: 修复拼写错误
#14126: ENH: stats: bootstrap: 添加 `batch` 参数以控制批处理…
#14127: CI: 在 benchmarks CI 运行中升级 pip
#14130: BUG: 当 verbose 设置为 2 时,修复 trust-constr 报告 TypeError…
#14133: MAINT: interpolate: 引发 NotImplementedError 而不是 ValueError
#14139: FIX/DOC: lsqr doctest 打印失败
#14145: MAINT: 1.7.x 版本固定(“反向移植”)
#14146: MAINT: 没有标签时提交计数
#14164: TST, BUG: 修复 rbf 矩阵值
#14166: CI, MAINT: 预发布 CI 的限制
#14171: TST: signal: 增加 Gustafsson…测试的容差
#14175: TST: stats: 放宽一些 binomtest 测试的容差。
#14182: MAINT: stats: 更新 ppcc_plot 和 ppcc_max 文档字符串。
#14195: MAINT: download-wheels 缺失导入
#14230: REL: 停止在 sdist 中分发生成的 Cython 源文件