使用协方差推断多项式频谱模型
项目描述
Specfit
推断用于拟合射电天文学校准器谱的多项式系数及其协方差结构。
- 作者: Tim Molteno. tim@elec.ac.nz
- 出版物: Molteno, Timothy CA. "Correlation structure in flux-density calibrator models." Monthly Notices of the Royal Astronomical Society 527.3 (2024): 5732-5740.
数据
该目录的机器可读数据可在数据目录中的HDF文件中找到。 calibrator_catalogue.hdf5
安装
sudo pip3 install specfit
开发
pip3 install -e .
示例
以下是一个示例。此代码位于示例目录中。
import numpy as np
import specfit as sf
import matplotlib.pyplot as plt
# Data from J.E. Reynolds for J1939-6342
original_data = np.array(
[[0.408, 6.24, 0.312 ],
[0.843, 13.65, 0.6825],
[1.38 , 14.96, 0.748 ],
[1.413, 14.87, 0.7435],
[1.612, 14.47, 0.7235],
[1.66 , 14.06, 0.703 ],
[1.665, 14.21, 0.7105],
[2.295, 11.95, 0.5975],
[2.378, 11.75, 0.5875],
[4.8 , 5.81, 0.2905],
[4.8 , 5.76, 0.288 ],
[4.835, 5.72, 0.286 ],
[4.85 , 5.74, 0.287 ],
[8.415, 2.99, 0.1495],
[8.42 , 2.97, 0.1485],
[8.64 , 2.81, 0.1405],
[8.64 , 2.81, 0.1405]])
freq_ghz, mu, sigma = original_data.T
freq = freq_ghz*1e9
names, stats, a_cov, a_corr, idata = \
sf.spectral_inference("J1939-6342",
freq=nu, mu=data, sigma=sigma, order=4, nu0=1.4e9)
现在我们可以绘制数据并显示结果。
fig, ax = sf.dataplot(plt, "J1939-6342", freq=freq, mu=data, sigma=sigma)
a = stats[0] # Means
nu = np.linspace(min_freq, max_freq, 100)
S = sf.flux(nu, a, nu0=1.4e9)
ax.plot(nu/1e9, S, label="polynomial fit")
ax.legend()
fig.tight_layout()
plt.show()
print(names, stats)
print(a_cov)
待办事项
- 将有关使用参数方差和流量不确定性的约束(而不是要求显式假设sigma)的一些想法纳入其中(在无数据推断的情况下)
- 使用平滑性作为先验(而不是模型阶数)。
变更日志
- 0.5.0b2 将构建系统移动到hatchling,并添加pyproject.toml。
- 0.5.0b1 添加样条拟合和分段线性拟合。(进行中)。添加处理边际似然度的新函数。
- 0.4.0b1 更新边际似然度方法,不再使用inferenceData对象,以避免pymc中的错误。返回相对边际似然度(而不是对数边际似然度)
- 0.3.0b3 清理以使用自然对数! (重要) 使用一致的方法从后验中获得变量名称。添加机器可读的hdf5文件输出。
- 0.3.0b2 使用pymc并升级到新版本。
- 0.2.0b4 包含一个单独的函数(marginal_likelihood),用于使用SMC估计边际似然度。将似然度更改为使用学生t分布以提高稳健性。
- 0.2.0b3 修复示例,将发布信息移至github自动化。
- 0.1.0b3 第一次功能发布。
- 0.1.0b4 [进行中] 将频率范围添加到full_column输出。返回推理数据以允许进一步处理。改进了绘图和后期处理。添加了后验PDF辅助绘图函数(较慢)。根据多项式阶数使用不同的调谐。输出到文件,包括备用名称列表
项目详情
下载文件
下载您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分发
specfit-0.5.0b2.tar.gz (175.5 kB 查看哈希值)
构建分发
specfit-0.5.0b2-py3-none-any.whl (26.4 kB 查看哈希值)
关闭
specfit-0.5.0b2.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 950ba173f40434429f5012e48a642ddd418854910507d41b023e0809c91a69e8 |
|
MD5 | 9d344bc2e993ff53e0f8de57d0b0f5fb |
|
BLAKE2b-256 | a326b9dc01e451a52ab7a040df497a22116eb242a243f07a9d7731b54d8607c0 |
关闭
specfit-0.5.0b2-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 67b5a2645c1c65cf7089bb96293e082ee055721ea898480b20f7cfa9f1f919e0 |
|
MD5 | c622c5c7bbed190870436dcb1b6d8c21 |
|
BLAKE2b-256 | d6a30ece940a4b495ac41f12ea489bc2a10b5dad18aae0a11cfdce152fb672ea |