天体统计工具 (astropy.stats
)¶
介绍¶
这个 astropy.stats
package holds statistical functions or algorithms used in astronomy. While the scipy.stats
and statsmodels 软件包包含多种统计工具,它们是通用软件包,缺少一些对天文学特别有用或特别有用的工具。此软件包旨在提供此类功能,但是 not 替代 scipy.stats
如果它的实现满足天文学家的需要。
入门¶
stats包中包含许多不同的工具,可以通过导入它们来访问它们:
>>> from astropy import stats
下面提供了不同工具的完整列表。请参阅文档了解它们的不同用法。例如,sigma裁剪是估计图像背景的常用方法,可以使用 sigma_clip()
功能。默认情况下,函数返回一个屏蔽数组,其中异常值被屏蔽。
实例¶
要估计图像的背景:
>>> data = [1, 5, 6, 8, 100, 5, 3, 2]
>>> stats.sigma_clip(data, sigma=2, maxiters=5)
masked_array(data=[1, 5, 6, 8, --, 5, 3, 2],
mask=[False, False, False, False, True, False, False, False],
fill_value=999999)
或者, SigmaClip
类为sigma剪辑提供面向对象的接口,该接口在默认情况下还返回一个屏蔽数组:
>>> sigclip = stats.SigmaClip(sigma=2, maxiters=5)
>>> sigclip(data)
masked_array(data=[1, 5, 6, 8, --, 5, 3, 2],
mask=[False, False, False, False, True, False, False, False],
fill_value=999999)
此外,还有几个方便函数,使统计的计算更加方便。例如, sigma_clipped_stats()
将返回sigma剪裁数组的平均值、中值和标准差:
>>> stats.sigma_clipped_stats(data, sigma=2, maxiters=5)
(4.2857142857142856, 5.0, 2.2497165354319457)
也有计算工具 robust statistics ,采样数据, circular statistics ,置信限,空间统计和自适应直方图。
大多数工具都是相当自包含的,并且在其docstring中包含相关的示例。
使用 astropy.stats
¶
有关使用该软件包的更多详细信息,请参见下文。
常量¶
这个 astropy.stats
软件包定义了两个用于转换高斯-西格玛和半最大全宽(FWHM)的常数:
- gaussian_sigma_to_fwhm¶
乘以高斯1-西格玛标准差以将其转换为半最大全宽(FWHM)的系数。
>>> from astropy.stats import gaussian_sigma_to_fwhm >>> gaussian_sigma_to_fwhm 2.3548200450309493
- gaussian_fwhm_to_sigma¶
将高斯全宽乘以半最大值(FWHM)以将其转换为1西格玛标准差的系数。
>>> from astropy.stats import gaussian_fwhm_to_sigma >>> gaussian_fwhm_to_sigma 0.42466090014400953
也见¶
scipy.stats
这个SciPy包包含各种有用的统计函数和类。中的功能
astropy.stats
是为了补充这一点, not 更换它。
- statsmodels
statsmodels包提供用于估计不同统计模型、测试和数据探索的功能。
- astroML
astroML包是一个用于机器学习和数据挖掘的Python模块。这个软件包中的一些工具已经迁移到了这里,但是仍然有一些工具对天文学和统计分析有用。
astropy.visualization.hist()
这个
histogram()
在中使用此处定义的例程和相关功能astropy.visualization.hist()
功能。有关这些确定直方图分块的方法的讨论,请参见 选择直方图箱 .
性能提示¶
如果您发现sigma裁剪速度慢,而且您还没有这样做,请考虑安装 bottleneck 包,这将加速一些内部计算。另外,如果您使用的是 cenfunc
和/或 stdfunc
请确保将这些字符串指定为-NumPy,而不是使用-NumPy函数:
>>> sigma_clip(array, cenfunc='median')
而不是::
>>> sigma_clip(array, cenfunc=np.nanmedian)
使用字符串将允许sigma裁剪算法选择最快的实现来找到中值。
参考/API¶
astropy.stats 软件包¶
此子包包含Astropy提供或使用的统计工具。
而 scipy.stats
该软件包包含多种统计工具,是一个通用的软件包,缺少一些对天文学特别有用或在天文学中以非典型方式使用的工具。此软件包旨在提供此类功能,但是 not 替代 scipy.stats
如果它的实现满足天文学家的需要。
功能¶
|
二项比例置信区间给定k次成功,n次试验。 |
|
连续变量的二项比例与区间 |
|
给定观测计数的泊松参数置信区间 |
|
计算中值绝对偏差(MAD)。 |
|
|
|
计算使用CCD在光学/IR中观察到的光源的信噪比。 |
|
在numpy数组上执行引导重采样。 |
|
计算柯伊伯统计量。 |
|
比较两个样本的柯伊伯统计量。 |
计算柯伊伯统计量的假阳性概率。 |
|
|
从一对数组构造一个可调用的分段线性CDF。 |
|
计算两个间隔的重叠长度。 |
|
分段等权函数的直方图。 |
|
将加权区间折为区间(0,1)。 |
|
计算重锤位置。 |
|
计算体重秤。 |
|
计算双权中方差。 |
|
计算多变量对之间的双权中协方差。 |
|
计算两个变量之间的双权中间相关。 |
|
对提供的数据执行sigma裁剪。 |
|
根据提供的数据计算sigma裁剪统计。 |
|
对numpy数组执行jackknife重采样。 |
|
根据刀切重采样执行刀切估计。 |
|
计算循环数据数组的圆平均角。 |
|
计算循环数据数组的循环标准差。 |
|
计算循环数据数组的循环方差。 |
|
计算 |
|
计算两个圆阵数据之间的相关系数。 |
|
执行瑞利均匀性测试。 |
|
执行瑞利一致性检验,假设替代假设H1具有已知的平均角 |
|
计算von-Mises分布参数的极大似然估计(MLE)。 |
|
用Scargle贝叶斯块计算数据的最优分割 |
|
增强的直方图功能,提供自适应的二进制 |
|
使用Scott规则返回最佳直方图库宽度 |
|
使用Freedman Diaconis规则返回最佳直方图bin宽度 |
|
使用Knuth规则返回最佳直方图库宽度。 |
|
计算直方图箱边,如下所示 |
|
计算贝叶斯信息准则(BIC),给出在估计(或分析推导)参数下评估的似然函数的对数、参数的数量和样本的数量。 |
|
假设观测值来自高斯分布,计算贝叶斯信息准则(BIC)。 |
|
计算Akaike信息准则(AIC)。 |
|
假设观测值为高斯分布,计算Akaike信息准则。 |
Classes¶
|
类来执行sigma裁剪。 |
|
贝叶斯块适应度函数的基类 |
|
Bayesian阻塞了binned或unbind事件的适应度 |
|
贝叶斯阻止了对常规事件的适应性 |
|
点测度的贝叶斯块适应度 |
|
二维空间数据的Ripley K函数的估计量。 |