Probability transition of the next outburst of T CrB during 2026
本実装では AAVSO (アメリカ変光星観測者協会) の長期観測アーカイブ data/aavso_1866_2026.txt を用いて再帰新星 T CrB (かんむり座 T 星) の次回新生爆発の発生確率を 2026 年内の日次分布として近似している。ここで出している値は物理シミュレーションではなく、1945-1946 年の前駆期と現代の B, V, TG, B-V 系列を比較した統計的・解析学的モデルである。
但し現行版ではこれに加えて ASAS-SN Sky Patrol の最新 light curve が取得できた場合に限り極く弱い nowcast 補正を掛ける。補正は主モデルを書き換えるものではなく、archive-only の日次確率に対して数 % 程度の bounded multiplier を掛ける補助層である。
- 確率プロット:
assets/prob_graph.png - 生成スクリプト:
scripts/plot_2026.py - 基礎解析:
src/tcrb/analysis/eruption_study.py - live 補助取得:
src/tcrb/service/monitoring.py
実行するには:
uv sync
source .venv/bin/activate
python scripts/plot_2026.py入力は AAVSO のテキストアーカイブであり、ローダーは以下を行う。
- 対象名の正規化
JD -> UTC変換Magnitudeの数値化T CrB,000-BBW-825,1555+26等のエイリアス統合
各バンド時系列は日単位 median に纏めた上で全日付格子に再標本化し、Savitzky-Golay 平滑化を施す。平滑系列を
平滑系列は各バンドごとに基準期 median を引いて、正の異常量のみを使う。
ここで 2021-01-01 から 2022-12-31 に置いている。
最終確率は、1945-1946 visual 前駆期を参照系列として、3 種類のアナログ推定を作り合成する。
現代系列の直近 180 日を正規化し、1945-1946 の参照系列の全ての 180 日窓と比較する。現代系列を
である。$\mathrm{RMSE}$ 最小の歴史窓終端を
で与える。
現代異常量の現在値とピーク値の比
を求め、1945-1946 の減衰枝で同じ振幅比に最も近い日を探す。そこから爆発日までの残り日数を現代へ写像する。
位相状態を 3 変数ベクトルで表す。
各成分は
-
$f$ : 異常量のピーク比$f = \frac{a_{\mathrm{now}}}{\max_t a_t}$ -
$g$ : 直近傾きのピーク規格化$g = \frac{\mathrm{mean},\Delta a_t}{\max_t a_t}$ -
$c$ : 累積異常量の進捗$c = \frac{\sum_{u \le t} a_u}{\max_t \sum_{u \le t} a_u}$
歴史系列の各時点にも同じベクトル
を最小化する。ここで重みは実装上
各手法は 1945-07-01 から 1946-01-15 までの rolling cutoff で自己バックテストし、各カットオフ時点から 1946-02-09 をどれだけ誤差なく予測できるかを測る。
各手法の平均絶対誤差を
で定義する。$\mathrm{phase}$ は同じ前駆系列に対する自己一致が強く、過学習しやすいので penalty を掛ける。最終重みは
で正規化する。
まず
chromatic 側の中心日を
を latent phase offset と見做す。
更に現在の
に 90 日成分も同様に混合したものを作る。これにより、色の遅れがまだ優勢か、あるいは achromatic 側が先に回復しているかを判断する。
最終モデルは単一 latent date を直接使わず、2 変数のハザードで合成する。
で表す。ここで
但し drag 自体は単一の CDF ではなく、$B-V$ 異常量の将来投影から時変に作る。現在の色異常量を
とする。drag center 後は 2 段の piecewise decay に切り替える。遅い減衰率を
である。
この projected anomaly から drag gate を
とし、更に完全にはゼロにならない floor を設けて
とする。$s_D$ は drag 強度に応じた anomaly scale、$g_0$ は drag floor である。
scripts/plot_2026.py は、src/tcrb/service/monitoring.py の build_monitoring_snapshot() を通じて ASAS-SN の最新 light curve を取得できた場合のみ、弱い live 補正を作る。現在の実装は Web UI と同じ get_lightcurve/<object_id> 経路を用いる。取得に失敗した場合は自動的に無効化され、完全に archive-only の分布へフォールバックする。
live 系列からは、最近 45 日の平均等級、そこから 180 日以上前の基準 median を引いた anomaly、同じ 45 日窓での線形傾き
で与える。従って補正倍率は常に
を満たし、主モデルを大きくは動かさない。
補正の向きは anomaly と傾きから
で定める。これを未来 45 日付近を中心にしたガウス型プロファイル
を作る。
ここで重要なのは、ASAS-SN は prior でも主成分でもなく、あくまで nowcast である点である。よって light curve が得られても、補正は最大で数 % に制限される。
シナリオ混合密度を
trigger hazard を
で与える。ASAS-SN live 補正が有効な場合は更に
を使い、無効な場合は
として 2026 年内の離散日次確率へ正規化する。
現在の assets/prob_graph.png では、破線が archive-only、実線が live-adjusted の日次確率を表す。
現時点の実装では、概ね次の構図になっている。
- achromatic trigger 中心: 2026-05-20
- chromatic drag 中心: 2026-07-07
- latent offset: 約 75 日
- 最頻域: 2026-05-17 から 2026-05-20
従って、モデル上は achromatic にはかなり成熟した前駆状態にあり、しかし
2026-03-30 時点の実行では、ASAS-SN の get_lightcurve/137439769436 から 1280 点の light curve 自体は取得できるが、系列の最新点は 2024-05-25 であり、2026 年の予測窓に対して古すぎる。そのため実装では stale な live signal と判定し、live 補正を自動で無効化する。現在の判定閾値は予測窓開始の 120 日より前であり、従ってこの場合のプロットは archive-only と live-adjusted が一致する。取得系列の利用可能フィルタは V と g である。
このリポジトリにおけるソースコードは MIT License に従います。
This project uses observational data and related services from the AAVSO International Database (AID), the AAVSO Variable Star Index (VSX), the AAVSO Variable Star Plotter (VSP), ASAS-SN public data services, and the SIMBAD database.
I gratefully acknowledge the contributions of the AAVSO observer community, whose photometric data and metadata resources were used in this project and made available through the AAVSO’s scientific archives.
This research has made use of the SIMBAD database, operated at CDS, Strasbourg, France.
This repository is an independent, non-peer-reviewed project created for personal research and software development purposes.