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+。
本次发行亮点#
添加了准蒙特卡洛的新子模块
scipy.stats.qmc
文档设计已更新,以使用与 NumPy 和其他生态系统库相同的 PyData-Sphinx 主题。
我们现在引入并利用 Boost C++ 库,以改进
scipy.stats
中长期存在的弱点scipy.stats
增加了六个新分布,八个新(或重构的)假设检验,一个新的自举函数,一个支持快速随机变量采样和百分位点函数评估的类,以及许多其他增强功能。由于重写为新的 C++ 后端框架,
cdist
和pdist
的距离计算对于多种度量,特别是加权情况,速度更快了。添加了一个用于径向基函数插值的新类 RBFInterpolator,以解决 Rbf 类的问题。
我们衷心感谢 Chan-Zuckerberg 倡议的科学必需开源软件项目对 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
现在可以使用 ["2-point", "3-point", "cs"]
之一通过有限差分估计 hess
。
在 scipy.optimize.shgo
中添加了 halton
作为 sampling_method
。 sobol
已修复,现在使用 scipy.stats.qmc.Sobol
。
在 scipy.optimize.differential_evolution 中添加了 halton
和 sobol
作为 init
方法。
differential_evolution
现在接受 x0
参数,用于提供最小化的初始猜测。
当 SciPy 在启用 Pythran 转译器的情况下构建时,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
度量都取得了适度的性能改进。
参数 seed
已添加到 scipy.spatial.vq.kmeans 和 scipy.spatial.vq.kmeans2。
参数 axis
和 keepdims
已添加到 scipy.spatial.distance.jensenshannon
。
rotation
方法 from_rotvec
和 as_rotvec
现在接受 degrees
参数,以指定使用度而不是弧度。
scipy.special
改进#
Wright 针对正参数的广义贝塞尔函数已添加为 scipy.special.wright_bessel
。
正态分布的对数 CDF 逆函数的实现现在可通过 scipy.special.ndtri_exp
获得。
scipy.stats
改进#
假设检验#
Mann-Whitney-Wilcoxon 检验 mannwhitneyu
已重写。它现在支持 n 维输入,在没有重复值时支持精确测试方法,并改进了文档。有关默认行为的调整,请参阅“其他更改”。
新函数 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 分别对 2x2 列联表执行 Barnard 精确检验和 Boschloo 精确检验。
新函数 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
计算列联表的几种关联度量:Pearson 列联系数、Cramer's V 和 Tschuprow's T。
参数 nan_policy
已添加到 scipy.stats.zmap
,以提供处理输入数据中 nan
出现的选项。
参数 ddof
已添加到 scipy.stats.variation
和 scipy.stats.mstats.variation
。
参数 weights
已添加到 scipy.stats.gmean
。
统计分布#
我们现在引入并利用 Boost C++ 库,以解决 stats
中先前报告的一些问题。值得注意的是,beta
、binom
、nbinom
现在都有 Boost 后端,并且利用该后端实现其他功能也很简单。
偏斜柯西概率分布已实现为 scipy.stats.skewcauchy
。
齐普夫分布已实现为 scipy.stats.zipfian
。
新分布 nchypergeom_fisher
和 nchypergeom_wallenius
分别实现了非中心超几何分布的 Fisher 和 Wallenius 版本。
广义双曲分布已在 scipy.stats.genhyperbolic
中添加。
学生化极差分布已在 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 低差异序列。已添加了一些警告以指导用户正确使用此采样器。默认情况下,序列是打乱的。scipy.stats.qmc.Halton
:Halton 低差异序列。默认情况下,序列是打乱的。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.distance
弃用#
scipy.spatial.distance
度量期望 1d 输入向量,但会对输入调用np.squeeze
以接受任何额外的长度为 1 的维度。该行为现已弃用。
向后不兼容的更改#
其他更改#
我们现在接受并利用预编译 Python 到 C++ 转译器 Pythran 的性能改进,该转译器可以可选地禁用(通过 export SCIPY_USE_PYTHRAN=0
),但默认在构建时启用。
scipy.stats.mannwhitenyu 的默认行为有两个更改
多年来,使用默认的
alternative=None
已被弃用;需要明确指定alternative
。现在允许使用alternative
的新默认值“two-sided”。以前,所有 p 值都基于渐近近似。现在,对于没有重复值的小样本,默认返回的 p 值是精确的。
已添加对 PEP 621(pyproject.toml
中的项目元数据)的支持
我们现在支持 Gitpod 环境,以降低 SciPy 开发的门槛;更多详情请参阅 quickstart-gitpod
。
1.7.0 版本已解决问题#
#636: 统计学审查: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: 当 s 相对于...非常低时,scipy.stats.rice 给出不正确的结果
#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 添加轴参数
#11474: scipy.stats.skellam.cdf(0) 在 mu1 = mu2 较大时返回 0
#11523: scipy.stats.zipf 没有实现 zipf 分布
#11848: 如何从 'linprog' optimize 中获取 Lagrange / lambda 乘数...
#11909: 允许在 boxcox 中为 lambda 设置边界
#12118: Docstring 缺少默认值
#12132: 速度慢的测试需要精简或移至 test('full')
#12230: Dendrogram: 在使用...时启用 'labels' 的叶子标记
#12282: scipy.stats.chisquare 检验不检查观测值和期望值...
#12298: BUG: fmin_powell 在 1.5.0rc 中缺少 squeeze
#12403: 为 stats.zmap 添加 nan_policy
#12518: Kolmogorov Smirnov 检验的零假设描述不正确
#12534: 功能请求:scipy.linalg.norm 处理 0 大小数组
#12622: scipy.interpolate.interpn docstring 示例
#12635: scipy.stats.beta.ppf 给出意外结果
#12669: 复杂 CSD 的中值平均
#12731: 当 nc >> x >> 1 时,stats.ncx2.cdf 失败
#12778: scipy.stats.weightedtau 文档令人困惑
#12794: [Bug] stats.beta.isf 的结果与 stats.beta.sf 不一致
#12837: stats.mannwhitneyu 可以支持数组
#12868: `interp2d` 中的向量值插值
#12922: 使用 trust-constr 方法进行最小化,如果选项...导致 TypeError
#12929: 使用星号表达式创建数据会影响理解...
#12965: scipy.interpolate.RectSphereBivariateSpline(u,...) 参数域
#13025: 广义双曲分布
#13090: signal.max_len_seq 文档中的断链
#13101: MAINT: 更新 docker 文件中的 python 版本
#13158: `signal.get_window()` 缺少 doc 链接且无法获取...
#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: 文档:在 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 方法和边界进行最小化导致“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: revised simplex 在 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 函数定义中的 1 个字母拼写错误...
#13634: mmwrite 在密集、斜对称数组上失败
#13646: Windows 10 上稀疏矩阵 argmax() 整数溢出
#13647: `scipy.stats.qmc.LatinHypercube` 无法采样单个样本...
#13651: scipy.linalg.eigvalsh 文档错误
#13664: BUG: gamma 分布的逆生存函数溢出...
#13693: BUG: sokalmichener 似乎错误地应用了权重
#13697: BUG: stats: arcsine.pdf 在...处产生虚假警告
#13704: 使得能够相对地传递一个秩截止值...
#13707: Kullback Leibler 散度广播不再有效
#13740: scipy.optimize x0 越界,而它在边界内。
#13744: scipy.interpolate.interp1d 对非唯一...表现不一致
#13754: optimize.minimize 'trust' 方法和有限差分 Hessian...
#13762: MAINT, TST: aarch64 stats 测试失败,出现在轮子中...
#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: 正态分布对数 CDF 的逆
#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 submodule 信息
#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: 1.7.0rc1 中 biasedurn 扩展的生成源已损坏
1.7.0 版本的拉取请求#
#4824: 置换 Ttest (新拉取请求)
#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: 添加怀特广义贝塞尔函数
#11352: ENH: stats: 添加交叉表函数。
#11477: FIX: cdfchn.f 中有界参数导致结果不佳
#11695: ENH: stats: 向 `rv_continuous.fit` 添加矩量法
#11911: ENH: 为 boxcox 和 boxcox_normmax 添加边界
#12438: BUG: 在椭圆滤波器设计中使用 ellipkm1 以防止数值问题…
#12531: ENH: stats: 添加 Page's 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 添加权重参数
#13084: ENH: 快速汉克尔变换
#13104: MAINT: 升级 python 版本(放弃 python 3.6)以用于 docker 开发…
#13153: ENH: 添加关联度量皮尔逊列联系数,…
#13166: ENH: stats: 为 zmap 添加 nan_policy。
#13175: MAINT: `linear_sum_assignment` 中高成本矩阵的测试
#13177: BUG: 当 ndim 为…时,在 fourier_ellipsoid 中引发 NotImplementedError
#13184: BUG: stats: 修复 mstats.describe 使用…时的最小和最大计算
#13188: DOC: stats: 使 kstest 的零假设和备择假设更…明确
#13193: MAINT: stats: chisquare 检查观测/期望频率之和
#13197: ENH/MAINT: HiGHS 上游增强和错误修复
#13198: ENH: 允许 affine_transform 从输出数组推断 output_shape
#13204: ENH: stats: 添加齐夫分布(与 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: 修复教程中反正弦函数的 MGF 和 t 分布的熵
#13236: MAINT: 重组共享线性分配测试
#13237: BENCH: 重构 stats.Distribution 以轻松添加新分布
#13238: BUG: stats: 修复 burr 和 fisk 分布错误的输出形状
#13240: MAINT: 为线性分配添加微不足道成本矩阵的测试
#13252: DOC: optimize: 添加 `optimize.linear_sum_assignment` 教程。
#13254: BUG: 修复偏度和峰度中常量输入的精度问题
#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: 修复支持方法以返回正确的边界
#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: 提升统计分布
#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: scipy.optimize._group_columns 的 Pythran 版本
#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: 修复稀疏 lsqr 中的详细程度
#13383: TST: stats: 标记多维度置换 t 检验为慢速
#13384: MAINT: 使关键词数组静态
#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: 为稀疏 BSR 构造函数添加错误处理测试
#13413: DOC: 超快速入门指南
#13418: BUG: 修复矩返回类型和形状不一致的问题
#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: 将 `barnard_exact` 检验功能添加到 scipy.stats。
#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: 将 macOS CI 任务的 numpy 版本固定为 1.19.5
#13478: DOC: 修复 Sphinx 指令缺少双冒号的拼写错误
#13481: CI: 将 Azure 上 4 个并行 Windows 构建的 numpy 版本固定为 1.19.5
#13482: CI: 在 macOS CI 中再次使用 numpy 1.20.0
#13483: DOC: 多个文档语法修复。
#13484: 将一些 Pythran 配置从 CI 移至 setup
#13487: DOC: 添加关于 scipy.stats.qmc 的教程
#13492: ENH: GH actions 不应在分支上运行
#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: 在 32 位系统上 ttest_ind_randperm_alternative2 预期失败
#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 shim
#13553: DOC: 在统计教程中使用 support 而不是 a/b
#13560: MAINT: optimize: 改进稀疏输入 linprog 的错误消息…
#13562: MAINT: optimize: 使用 np.isclose 而不是 _within_tolerance。
#13566: ENH: 加速 hdquantiles_sd()
#13569: BENCH: optimize: 仅对 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 边缘保留样本 dtype
#13595: ENH: interpolate: 添加 RBFInterpolator
#13596: DOC: 修复 new_stats_distribution.rst.inc 中的缩进
#13601: 为 get_window 函数添加 dpss
#13604: DOC: 修正双退火访问参数范围。
#13605: 在 README 中添加 Codecov 徽章
#13607: MAINT: stats: 修复 crystalball 熵
#13611: 统计包中分布的更好参数准备。
#13612: 为 Windows cmd 添加 docker 运行命令
#13613: MAINT, CI: mypy: 修复类型错误 + 将 mypy 添加到 CI
#13616: FIX: 当 mu 非常小时,invgauss.cdf 返回正确的输出
#13617: MAINT: 在 find_peaks_cwt 中接受数字和可迭代对象作为宽度
#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: 添加 `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: 提高精确置换的效率 / 修复其 bug…
#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: 新式类,移除对对象的继承
#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: 学生化极差分布
#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 添加稀疏选项。
#13774: DEP: 弃用 spatial.distance 中输入向量的挤压
#13775: 启用信任区域方法使用有限差分 Hessian…
#13777: DOC: 修复 Ubuntu/Debian 安装说明
#13778: DOC: 移除对 RandomState 的引用
#13782: MAINT: LBFGSB 在 MAXLS 上的错误消息已更改,关闭 #11718
#13785: BENCH: 为带权重的 cdist/pdist 添加基准测试
#13786: MAINT: 为 C++ 重构准备 cdist/pdist
#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: 将 ci skip 添加到 azp
#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: 移除示例中的种子
#13865: DOC: optimize: differential_evolution 的 bounds 参数是…
#13866: MAINT: special: 从 _poly_approx 中删除未使用的变量…
#13867: DOC: stats: 解释 fisher_exact 的替代方案含义。
#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: optimize: 跳过带 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 用 C++ 重写 Minkowski 度量
#13909: 恢复“Workflow : Add nightly release of NumPy in linux workflows”
#13910: DOC: 更新 Readme
#13911: MAINT: 使用内置 dict 而不是 OrderedDict
#13920: BUG: 在 init 中重新激活 conda 环境
#13925: BUG: stats: Yates 校正的幅度 <= abs(观测值-期望值)…
#13926: DOC: 修正 disjoint_set.subsets 文档字符串中的返回类型
#13927: DOC/MAINT: 为 qmc.primes_from_2_to 添加版权声明
#13928: BUG: DOC: signal: 修复 need argument config 并添加缺失文档…
#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: 将 Boschloo 精确检验添加到 stats
#13956: ENH: spatial: 添加 `axis` 和 `keepdims` 可选参数…
#13963: MAINT: stats: 修复未使用的导入和一些其他相关问题…
#13971: DOC: 将卡尔·皮尔逊的参考文献添加到卡方检验
#13972: ENH: cluster: 为 `kmeans` 添加一个可选参数 `seed`…
#13973: BLD: 修复 ndimage 中因果/反因果指针的构建警告
#13975: ENH: 将空数组范数设置为零。
#13977: MAINT: signal: 将 distutils 模板替换为 tempita
#13978: MAINT: 改进某些…的验证和仅关键字参数
#13979: ENH: 添加正态分布对数 CDF 的逆函数
#13983: 修复 `ndimage.watershed_ift` 教程的文档
#13987: DOC: 在形态学文档字符串中添加示例: white_tophat,…
#13989: DOC: interpolate: 改进 `RegularGridInterpolator` 的示例…
#13990: MAINT, DOC: optimize: 使输入验证说明清晰…
#13992: Workflow: 在 Linux 工作流中添加 NumPy 的夜间发布
#13995: 文档: 持续集成信息
#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 update
#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: test_powell 的一部分预期失败
#14029: CI: github macos 修复
#14030: MAINT: 使用 ‘yield from <expr>’ (PEP 380)
#14031: MAINT: 新式类,移除对对象的继承
#14032: MAINT: Pythran 的 CXXFLAGS
#14033: ENH: 将 sqeuclidean 和 braycurtis 移植到 _distance_pybind
#14034: MAINT: 清理 ‘next = __next__’
#14045: MAINT: bump PYVER pavement.py
#14047: DEV: 在 Gitpod Dockerfile 中初始化 boost 子模块
#14051: BLD: 如果缺少 boost 子模块内容,则提前报错
#14052: DOC: 缺少子模块初始化信息
#14057: DOC: special: 为 `psi` 文档字符串添加示例
#14058: BUG: 修复 linalg.solve 中的 dtype 错误。
#14060: 文档: 修复 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: 在基准测试 CI 运行中升级 pip
#14130: BUG: 修复 trust-constr 在 verbose 设置为 2 时报告 TypeError…
#14133: MAINT: interpolate: 抛出 NotImplementedError 而不是 ValueError
#14139: FIX/DOC: lsqr doctests 打印失败
#14145: MAINT: 1.7.x 版本固定(“回溯”)
#14146: MAINT: 如果没有标签,则提交计数
#14164: TST, BUG: 修复 rbf 矩阵值
#14166: CI, MAINT: 预发布 CI 的限制
#14171: TST: signal: 提高 Gustafsson’s 测试的容差…
#14175: TST: stats: 放宽一些 binomtest 测试的容差。
#14182: MAINT: stats: 更新 ppcc_plot 和 ppcc_max 文档字符串。
#14195: MAINT: download-wheels 缺少导入
#14230: REL: 停止在 sdist 中发布生成的 Cython 源代码