File size: 34,195 Bytes
3fea429 d196012 3fea429 d196012 56251dd d196012 3e4bd0e d196012 56251dd d196012 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 | ---
license: apache-2.0
base_model: Datadog/Toto-2.0-2.5B
pipeline_tag: time-series-forecasting
library_name: pytorch
tags:
- time-series
- time-series-forecasting
- foundation-model
- fine-tuned
- satellite
- orbit-prediction
- orbit-propagation
- orbital-mechanics
- TLE
- SGP4
- space-weather
- LEO
- aerospace
- toto
language:
- en
- ko
metrics:
- rmse
model-index:
- name: OrbitFM
results:
- task:
type: time-series-forecasting
name: Satellite orbit prediction (TLE element forecasting)
dataset:
type: tle-archive
name: Historical TLE archive (2005-2024, LEO) + CelesTrak SW-All space weather
metrics:
- type: rmse
name: Median position RMSE @ 30-day horizon (km)
value: 140.46
- type: rmse
name: Mean position RMSE @ 30-day horizon (km)
value: 798.75
---
# OrbitFM โ TLE-based Satellite Orbit Forecasting Model
# OrbitFM โ TLE ๊ธฐ๋ฐ ์์ฑ ๊ถค๋ ์์ธก ๋ชจ๋ธ
**OrbitFM** is a satellite orbit prediction model that forecasts future orbital elements โ and, through SGP4, future satellite **positions** โ directly from a satellite's historical **Two-Line Element (TLE)** time series. It is built by continued pretraining (fine-tuning) of the [Datadog/Toto-2.0-2.5B](https://huggingface.co/Datadog/Toto-2.0-2.5B) time-series foundation model on 20 years (2005โ2024) of cleaned, daily-resampled TLE records for low-Earth-orbit (LEO) objects, enriched with physics-derived features and **space-weather** (solar / geomagnetic) driver channels.
**OrbitFM**์ ์์ฑ์ ๊ณผ๊ฑฐ **TLE(Two-Line Element)** ์๊ณ์ด๋ก๋ถํฐ ๋ฏธ๋ ๊ถค๋ ์์๋ฅผ โ ๊ทธ๋ฆฌ๊ณ SGP4๋ฅผ ํตํด ๋ฏธ๋ ์์ฑ **์์น**๋ฅผ โ ์ง์ ์์ธกํ๋ ์์ฑ ๊ถค๋ ์์ธก ๋ชจ๋ธ์
๋๋ค. ์๊ณ์ด ํ์ด๋ฐ์ด์
๋ชจ๋ธ [Datadog/Toto-2.0-2.5B](https://huggingface.co/Datadog/Toto-2.0-2.5B)๋ฅผ, ์ ์ ํ ์ผ ๋จ์๋ก ์ฌํ์งํ 20๋
์น(2005โ2024) ์ ๊ถค๋(LEO) ์์ฑ TLE ๊ธฐ๋ก์ ๋ฌผ๋ฆฌ ํ์ ํผ์ฒ์ **์ฐ์ฃผ๊ธฐ์**(ํ์ยท์ง์๊ธฐ ํ๋) ์ฑ๋์ ๋ํด continued pretraining(fine-tuning)ํ์ฌ ๋ง๋ค์์ต๋๋ค.
The standard operational approach โ propagating the last observed TLE forward with SGP4 ("persistence") โ is very strong at short horizons but degrades quickly as atmospheric drag, solar activity, and secular element drift accumulate. OrbitFM learns these drift dynamics from data: at horizons of **7 days and beyond it roughly halves the mean position error** of the SGP4 persistence baseline, and at the 30-day horizon it reduces the **median** per-satellite position RMSE from โ966 km to โ140 km, beating the baseline on **81.3%** of evaluated satellites.
๊ธฐ์กด ์ด์ฉ ๋ฐฉ์ โ ๋ง์ง๋ง์ผ๋ก ๊ด์ธก๋ TLE๋ฅผ SGP4๋ก ์ ํํ๋ "persistence" ๋ฐฉ์ โ ์ ๋จ๊ธฐ ์์ธก์์๋ ๋งค์ฐ ๊ฐ๋ ฅํ์ง๋ง, ๋๊ธฐ ํญ๋ ฅยทํ์ ํ๋ยท๊ถค๋ ์์์ ์ฅ๊ธฐ drift๊ฐ ๋์ ๋ ์๋ก ์ค์ฐจ๊ฐ ๋น ๋ฅด๊ฒ ์ปค์ง๋๋ค. OrbitFM์ ์ด๋ฌํ drift ๋์ญํ์ ๋ฐ์ดํฐ์์ ํ์ตํฉ๋๋ค. **7์ผ ์ด์ horizon์์ SGP4 persistence baseline์ ํ๊ท ์์น ์ค์ฐจ๋ฅผ ์ฝ ์ ๋ฐ์ผ๋ก** ์ค์ด๋ฉฐ, 30์ผ horizon์์๋ ์์ฑ๋ณ ์์น RMSE **์ค์๊ฐ**์ ์ฝ 966 km์์ ์ฝ 140 km๋ก ๋ฎ์ถ๊ณ ํ๊ฐ ๋์ ์์ฑ์ **81.3%**์์ baseline๋ณด๋ค ์ฐ์ํ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์์ต๋๋ค.
---
## Model Details / ๋ชจ๋ธ ์์ธ
| | |
|---|---|
| **Model type** | Decoder-style multivariate time-series foundation model (Toto-2 architecture), continued-pretrained for orbital element forecasting |
| **Base model** | [Datadog/Toto-2.0-2.5B](https://huggingface.co/Datadog/Toto-2.0-2.5B) (~2.5B parameters) |
| **Task** | Multivariate time-series forecasting โ satellite orbital element / position prediction |
| **Input** | Per-satellite daily-grid multivariate series, **25 channels** (6 orbital targets + 16 physics features + 3 space-weather features), default context of 8 patches ร 32 days = **256 days** (evaluation uses 64-day contexts) |
| **Output** | Quantile forecasts (pinball/quantile head) of the 6 orbital target channels over the forecast horizon; median quantile used for point forecasts |
| **Position reconstruction** | Predicted element drifts are anchored at the last observed TLE, integrated into absolute elements, and converted to TEME position via **SGP4** |
| **Training data** | Public TLE archives, 2005โ2024, LEO objects only (median mean motion โฅ 11.25 rev/day), outlier-cleaned; space weather from [CelesTrak SW-All.csv](https://celestrak.org/SpaceData/SW-All.csv) |
| **Languages** | Not applicable (numeric time series) |
| **License** | Apache-2.0 |
| **Developed by** | ์ธ์ข
๋ํ๊ต ์ธ๊ณต์ง๋ฅ ์ฐ๊ตฌ์ค & PCN R&S ์ฐ๊ตฌ์ |
The model consumes a per-satellite daily-grid multivariate series of 25 channels and outputs quantile forecasts for the 6 orbital target channels; the median quantile is used as the point forecast, and positions are recovered by anchoring the predicted drifts at the last observed TLE and propagating with SGP4.
๋ชจ๋ธ์ ์์ฑ๋ณ 25์ฑ๋ daily-grid ๋ค๋ณ๋ ์๊ณ์ด์ ์
๋ ฅ์ผ๋ก ๋ฐ์ 6๊ฐ orbital target ์ฑ๋์ ๋ํ quantile ์์ธก์ ์ถ๋ ฅํฉ๋๋ค. point forecast๋ก๋ ์ค์๊ฐ quantile์ ์ฌ์ฉํ๋ฉฐ, ์์ธก๋ drift๋ฅผ ๋ง์ง๋ง ๊ด์ธก TLE์ anchorํ์ฌ ์ ๋ ์์๋ก ๋ณต์ํ ๋ค SGP4๋ก ์ ํํด ์์น๋ฅผ ๊ณ์ฐํฉ๋๋ค.
### Why not just SGP4? / ์ SGP4๋ง์ผ๋ก๋ ๋ถ์กฑํ๊ฐ?
Propagating the most recent TLE with SGP4 implicitly assumes the current drag state and element rates stay fixed. Over multi-day horizons, this ignores:
- **Atmospheric drag variation** driven by solar EUV flux (F10.7) and geomagnetic activity (Ap), which modulates the secular decay of mean motion โ the dominant source of along-track position error;
- **Slow drift** of BSTAR and mean motion that a single TLE snapshot cannot capture;
- **Secular rates** of RAAN and argument of perigee that evolve over time.
๊ฐ์ฅ ์ต๊ทผ TLE๋ฅผ SGP4๋ก ์ ํํ๋ ๋ฐฉ์์ ํ์ฌ์ drag ์ํ์ ์์ ๋ณํ์จ์ด ๊ทธ๋๋ก ์ ์ง๋๋ค๊ณ ์๋ฌต์ ์ผ๋ก ๊ฐ์ ํฉ๋๋ค. ๋ฉฐ์น ์ด์์ horizon์์๋ ๋ค์ ์์ธ๋ค์ด ๋ฌด์๋ฉ๋๋ค.
- ํ์ EUV ํ๋ญ์ค(F10.7)์ ์ง์๊ธฐ ํ๋(Ap)์ด ์ ๋ฐํ๋ **๋๊ธฐ ํญ๋ ฅ ๋ณํ** โ mean motion์ ์ฅ๊ธฐ ๊ฐ์ ๋ฅผ ์ข์ฐํ๋ฉฐ along-track ์์น ์ค์ฐจ์ ์ง๋ฐฐ์ ์์ธ;
- ๋จ์ผ TLE ์ค๋
์์ผ๋ก๋ ํฌ์ฐฉํ ์ ์๋ BSTAR์ mean motion์ **๋๋ฆฐ drift**;
- ์๊ฐ์ ๋ฐ๋ผ ๋ณํํ๋ RAAN๊ณผ argument of perigee์ **์ฅ๊ธฐ ๋ณํ์จ**.
OrbitFM consumes the satellite's recent element history *plus* the space-weather record, and predicts how the elements will drift โ exactly the information a single-TLE propagation lacks.
OrbitFM์ ์์ฑ์ ์ต๊ทผ ๊ถค๋ ์์ ์ด๋ ฅ์ ์ฐ์ฃผ๊ธฐ์ ๊ธฐ๋ก์ *๋ํ์ฌ* ์
๋ ฅ์ผ๋ก ์ฌ์ฉํ๊ณ , ๊ถค๋ ์์๊ฐ ์์ผ๋ก ์ด๋ป๊ฒ driftํ ์ง๋ฅผ ์์ธกํฉ๋๋ค โ ๋จ์ผ TLE ์ ํ ๋ฐฉ์์ ๊ฒฐ์ฌ๋ ๋ฐ๋ก ๊ทธ ์ ๋ณด์
๋๋ค.
---
## Channel / Feature Design / ์ฑ๋ยทํผ์ฒ ์ค๊ณ
The model input is a fixed 25-channel daily-grid series per satellite. Only the first 6 channels are prediction targets; the rest are **input-only context** (masked out of the loss).
๋ชจ๋ธ ์
๋ ฅ์ ์์ฑ๋ณ ๊ณ ์ 25์ฑ๋ daily-grid ์๊ณ์ด์
๋๋ค. ์ฒ์ 6๊ฐ ์ฑ๋๋ง ์์ธก ๋์์ด๋ฉฐ, ๋๋จธ์ง๋ loss์์ ์ ์ธ๋๋ **์
๋ ฅ ์ ์ฉ(input-only) ๋ฌธ๋งฅ ์ฑ๋**์
๋๋ค.
### Predicted orbital channels (in loss, indices 0โ5) / ์์ธก ๋์ orbital ์ฑ๋ (loss ํฌํจ, ์ธ๋ฑ์ค 0โ5)
| # | Channel | Meaning (EN) | ์๋ฏธ (KR) |
|---|---|---|---|
| 0 | `d_bstar_slog_per_day` | Daily drift of signed-log1p(BSTAR) โ drag coefficient trend | signed log BSTAR์ ์ผ๋ณ ๋ณํ๋ (drag ๊ณ์ ์ถ์ธ) |
| 1 | `d_mean_motion_per_day` | Daily drift of mean motion โ orbital decay rate | mean motion์ ์ผ๋ณ ๋ณํ๋ (๊ถค๋ ๊ฐ์ ์จ) |
| 2 | `eccentricity` | Absolute eccentricity | ์ด์ฌ๋ฅ ์ ๋๊ฐ |
| 3 | `inclination_deg` | Absolute inclination (deg) | ๊ถค๋๊ฒฝ์ฌ๊ฐ ์ ๋๊ฐ (deg) |
| 4 | `draan_deg_per_day` | RAAN secular rate (deg/day) | RAAN ์ผ๋ณ ๋ณํ์จ (deg/day) |
| 5 | `dargp_deg_per_day` | Argument-of-perigee secular rate (deg/day) | argument of perigee ์ผ๋ณ ๋ณํ์จ (deg/day) |
**Drift (residual) targets.** BSTAR and mean motion barely change in absolute terms over a forecast window, so predicting absolutes collapses to persistence. OrbitFM instead predicts their **per-day deltas** โ zero-mean, small-magnitude drift signals โ which amplifies exactly the learning signal that separates the model from persistence. Absolute anchors live in an auxiliary array and the trajectory is reconstructed as *anchor + cumulative predicted delta*.
**Drift(residual) target ์ค๊ณ.** BSTAR์ mean motion์ forecast window ์์์ ์ ๋๊ฐ์ด ๊ฑฐ์ ๋ณํ์ง ์์ผ๋ฏ๋ก, ์ ๋๊ฐ์ ์ง์ ์์ธกํ๋ฉด ๋ชจ๋ธ์ด persistence์ ๊ฐ๊น์ด ์์ธก์ผ๋ก ์๋ ดํ๊ฒ ๋ฉ๋๋ค. OrbitFM์ ๋์ ๋ ๋ณ์์ **์ผ๋ณ delta** โ ํ๊ท ์ด 0์ ๊ฐ๊น๊ณ ํฌ๊ธฐ๊ฐ ์์ drift ์ ํธ โ ๋ฅผ ์์ธกํ์ฌ, ๋ชจ๋ธ์ persistence์ ๊ตฌ๋ถ ์ง๋ ํ์ต ์ ํธ๋ฅผ ๊ทธ๋๋ก ์ฆํญํฉ๋๋ค. ์ ๋๊ฐ anchor๋ ๋ณด์กฐ(aux) ๋ฐฐ์ด์ ์ ์ฅ๋๋ฉฐ, ๊ถค์ ์ *anchor + ์์ธก delta์ ๋์ ํฉ*์ผ๋ก ๋ณต์๋ฉ๋๋ค.
**Angles are never predicted in absolute form.** Mean anomaly, RAAN, and argument of perigee are 0โ360ยฐ circular variables; predicting them directly creates 359ยฐ-vs-1ยฐ discontinuity artifacts. Mean anomaly is unwrapped into a cumulative phase using mean motion (more reliable than the TLE rev counter), and the forecast phase is re-integrated trapezoidally from the predicted mean-motion trajectory. RAAN/argp are forecast as daily rates and cumulatively summed from the anchor.
**์ ๋ ๊ฐ๋๋ ์ง์ ์์ธกํ์ง ์์ต๋๋ค.** mean anomaly, RAAN, argument of perigee๋ 0โ360ยฐ๋ฅผ ์ํํ๋ ๊ฐ๋ํ ๋ณ์์ด๋ฏ๋ก, ์ง์ ์์ธกํ๋ฉด 359ยฐ์ 1ยฐ์ฒ๋ผ ์ค์ ๋ก๋ ๊ฐ๊น์ด ๊ฐ์ด ์์น์ ์ผ๋ก ๋ฉ๊ฒ ํํ๋๋ ๋ฌธ์ ๊ฐ ์๊น๋๋ค. mean anomaly๋ mean motion์ ์ด์ฉํด ๋์ ์์์ผ๋ก unwrapํ๋ฉฐ(TLE์ rev counter ํ๋๋ณด๋ค ์ ๋ขฐ๋๊ฐ ๋์), ์์ธก ์์์ ์์ธก๋ mean motion ๊ถค์ ์ผ๋ก๋ถํฐ ์ฌ๋ค๋ฆฌ๊ผด ์ ๋ถ์ผ๋ก ๋ณต์ํฉ๋๋ค. RAAN/argp๋ ์ผ๋ณ ๋ณํ์จ๋ก ์์ธกํ ๋ค anchor์์ ๋์ ํฉ์ฐํฉ๋๋ค.
### Input-only physics features (indices 6โ21) / ์
๋ ฅ ์ ์ฉ ๋ฌผ๋ฆฌ ํ์ ํผ์ฒ (์ธ๋ฑ์ค 6โ21)
Engineered features inspired by the cm-tle-pred benchmark, computed per grid day from the elements (fully vectorized two-body Kepler solve, no per-day sgp4init):
- `sat_rx, sat_ry, sat_rz` โ ECI position (km); `sat_vx, sat_vy, sat_vz` โ ECI velocity (km/s)
- `semimajor_axis` (km), `period_min` (min/rev), `apoapsis_alt`, `periapsis_alt` (km)
- `ma_cos/ma_sin`, `raan_cos/raan_sin`, `argp_cos/argp_sin` โ cyclical encodings of the angular elements
cm-tle-pred ๋ฒค์น๋งํฌ์์ ์ฐฉ์ํ ์์ง๋์ด๋ง ํผ์ฒ๋ก, ๊ฐ grid day์ ๊ถค๋ ์์๋ก๋ถํฐ ๊ณ์ฐ๋ฉ๋๋ค(์์ ๋ฒกํฐํ๋ ์ด์ฒด Kepler ํ์ด ์ฌ์ฉ, ์ผ๋ณ sgp4init ์์).
- `sat_rx, sat_ry, sat_rz` โ ECI ์์น (km); `sat_vx, sat_vy, sat_vz` โ ECI ์๋ (km/s)
- `semimajor_axis` ์ฅ๋ฐ๊ฒฝ (km), `period_min` ๊ถค๋ ์ฃผ๊ธฐ (๋ถ/rev), `apoapsis_alt` ์์ง์ ๊ณ ๋, `periapsis_alt` ๊ทผ์ง์ ๊ณ ๋ (km)
- `ma_cos/ma_sin`, `raan_cos/raan_sin`, `argp_cos/argp_sin` โ ๊ฐ๋ํ ์์์ sin/cos ์ํ ์ธ์ฝ๋ฉ
### Input-only space-weather features (indices 22โ24) / ์
๋ ฅ ์ ์ฉ ์ฐ์ฃผ๊ธฐ์ ํผ์ฒ (์ธ๋ฑ์ค 22โ24)
- `f107` โ daily observed F10.7 cm solar radio flux (solar EUV proxy)
- `f107_81` โ 81-day centered mean of F10.7
- `ap` โ daily average Ap geomagnetic index
- `f107` โ ์ผ๋ณ ๊ด์ธก F10.7 cm ํ์ ์ ํ ํ๋ญ์ค (ํ์ EUV ๋๋ฆฌ ์งํ)
- `f107_81` โ F10.7์ 81์ผ ์ค์ฌ ์ด๋ํ๊ท
- `ap` โ ์ผํ๊ท Ap ์ง์๊ธฐ ์ง์
Source: CelesTrak `SW-All.csv` (daily since 1957; columns `F10.7_OBS`, `F10.7_OBS_CENTER81`, `AP_AVG`). These exogenous drag drivers are what allow a learned model to beat "hold the last mean motion constant" at multi-day horizons.
์ถ์ฒ: CelesTrak `SW-All.csv` (1957๋
๋ถํฐ ์ผ ๋จ์; `F10.7_OBS`, `F10.7_OBS_CENTER81`, `AP_AVG` ์ด ์ฌ์ฉ). ์ด ์ธ์์ drag ๊ตฌ๋ ๋ณ์๋ค์ด ์๊ธฐ์ ํ์ต ๊ธฐ๋ฐ ๋ชจ๋ธ์ด ๋ฉฐ์น ์ด์์ horizon์์ "๋ง์ง๋ง mean motion์ ๊ทธ๋๋ก ์ ์ง"ํ๋ ๋ฐฉ์์ ์ด๊ธธ ์ ์์ต๋๋ค.
### Auxiliary anchors (not model input/output) / ๋ณด์กฐ anchor ์ ๋ณด (๋ชจ๋ธ ์
์ถ๋ ฅ ์๋)
`[mean_anomaly, RAAN, argp, mean_motion_abs, bstar_slog_abs]` per grid day โ the absolute reference values used to anchor/reconstruct forecasts and to compute truth.
grid day๋ณ `[mean_anomaly, RAAN, argp, mean_motion_abs, bstar_slog_abs]` โ ์์ธก ๋ณต์์ anchor ๋ฐ ground truth ๊ณ์ฐ์ ์ฌ์ฉ๋๋ ์ ๋ ๊ธฐ์ค๊ฐ์
๋๋ค.
---
## Data & Preprocessing Pipeline / ๋ฐ์ดํฐยท์ ์ฒ๋ฆฌ ํ์ดํ๋ผ์ธ
Raw TLE archives are noisy; the cleaning pipeline was one of the largest accuracy levers.
์๋ณธ TLE archive์๋ ๋
ธ์ด์ฆ๊ฐ ๋ง์ผ๋ฉฐ, ์ ์ ํ์ดํ๋ผ์ธ์ ๊ฐ์ฅ ํฐ ์ ํ๋ ํฅ์ ์์ธ ์ค ํ๋์์ต๋๋ค.
1. **Group & sort** โ parse raw TLE text files, group records by NORAD ID, sort by epoch, drop duplicate/near-duplicate epochs.
2. **Physical-integrity filter** โ drop records with impossible elements: eccentricity โ [0, 1), inclination โ (0ยฐ, 180ยฐ), mean motion โ (0.1, 20) rev/day.
3. **Early-record drop** โ discard the first 5 TLEs of each object (pre-stabilization, least reliable).
4. **LEO filter** โ keep objects with median mean motion โฅ 11.25 rev/day.
5. **Robust outlier removal** โ per satellite, flag any record deviating from the time-linear interpolation of its neighbors by more than **6 MAD** robust scales, on each smoothly-evolving quantity (mean motion, inclination, eccentricity, log-BSTAR, cumulative mean-anomaly phase, unwrapped RAAN/argp); union of flags removed, up to 2 passes. This is a cheap, dependency-free equivalent of the DBSCAN-on-differences cleaning that the cm-tle-pred benchmark reports as its single biggest accuracy gain.
6. **Daily-grid resampling** โ TLE epochs are irregular, so each element series is linearly interpolated onto a 1-day grid; grid days farther than 2 days from any real TLE are masked out of loss and evaluation.
7. **Angle handling** โ mean anomaly โ cumulative phase via mean motion; RAAN/argp unwrapped; all angles additionally exposed as sin/cos input features.
8. **Feature assembly** โ 6 orbital + 16 physics + 3 solar channels + 5 auxiliary anchors, cached as a compressed `.npz` per configuration.
---
1. **์ ๋ ฌ ๋ฐ ๊ทธ๋ฃนํ** โ ์๋ณธ TLE ํ
์คํธ ํ์ผ์ ํ์ฑํด NORAD ID ๊ธฐ์ค์ผ๋ก ๊ทธ๋ฃนํํ๊ณ , epoch ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ ๋ค ๋์ผยท๊ทผ์ epoch์ ์ค๋ณต record๋ฅผ ์ ๊ฑฐํฉ๋๋ค.
2. **๋ฌผ๋ฆฌ์ ๋ฌด๊ฒฐ์ฑ ํํฐ** โ ๋ฌผ๋ฆฌ์ ์ผ๋ก ๋ถ๊ฐ๋ฅํ ์์๋ฅผ ๊ฐ์ง record ์ ๊ฑฐ: eccentricity โ [0, 1), inclination โ (0ยฐ, 180ยฐ), mean motion โ (0.1, 20) rev/day.
3. **์ด๊ธฐ record ์ ๊ฑฐ** โ ๊ฐ ๋ฌผ์ฒด์ ์ฒซ 5๊ฐ TLE ํ๊ธฐ (๊ถค๋ ์์ ํ ์ด์ ์ผ๋ก ์ ๋ขฐ๋๊ฐ ๊ฐ์ฅ ๋ฎ์).
4. **LEO ํํฐ** โ mean motion ์ค์๊ฐ โฅ 11.25 rev/day์ธ ๋ฌผ์ฒด๋ง ์ ์ง.
5. **Robust outlier ์ ๊ฑฐ** โ ์์ฑ๋ณ๋ก, ๋ถ๋๋ฝ๊ฒ ๋ณํํด์ผ ํ๋ ๊ฐ ๋ฌผ๋ฆฌ๋(mean motion, inclination, eccentricity, log-BSTAR, mean anomaly ๋์ ์์, unwrap๋ RAAN/argp)์ ๋ํด ์์ชฝ ์ด์ record์ ์๊ฐ ์ ํ ๋ณด๊ฐ๊ฐ์์ **6 MAD** robust scale ์ด์ ๋ฒ์ด๋๋ record๋ฅผ flagํ๊ณ , flag์ ํฉ์งํฉ์ ์ต๋ 2ํ ๋ฐ๋ณต ์ ๊ฑฐํฉ๋๋ค. ์ด๋ cm-tle-pred ๋ฒค์น๋งํฌ๊ฐ ๋จ์ผ ์ต๋ ์ ํ๋ ํฅ์ ์์ธ์ผ๋ก ๋ณด๊ณ ํ DBSCAN ๊ธฐ๋ฐ ์ ์ ์ ์ ๋น์ฉยท๋ฌด์์กด์ฑ ๋ฑ๊ฐ ๊ธฐ๋ฒ์
๋๋ค.
6. **Daily-grid ์ฌํ์ง** โ TLE epoch ๊ฐ๊ฒฉ์ ๋ถ๊ท์นํ๋ฏ๋ก ๊ฐ ์์ ์๊ณ์ด์ 1์ผ ๊ฐ๊ฒฉ grid๋ก ์ ํ ๋ณด๊ฐํ๊ณ , ์ค์ TLE์์ 2์ผ ์ด์ ๋จ์ด์ง grid day๋ mask ์ฒ๋ฆฌํ์ฌ loss์ ํ๊ฐ์์ ์ ์ธํฉ๋๋ค.
7. **๊ฐ๋ ์ฒ๋ฆฌ** โ mean anomaly๋ mean motion ๊ธฐ๋ฐ ๋์ ์์์ผ๋ก ๋ณํ; RAAN/argp๋ unwrap; ๋ชจ๋ ๊ฐ๋๋ ์ถ๊ฐ๋ก sin/cos ์
๋ ฅ ํผ์ฒ๋ก๋ ์ ๊ณต๋ฉ๋๋ค.
8. **ํผ์ฒ ์กฐ๋ฆฝ** โ orbital 6 + ๋ฌผ๋ฆฌ 16 + ์ฐ์ฃผ๊ธฐ์ 3 ์ฑ๋ + ๋ณด์กฐ anchor 5๊ฐ๋ฅผ ๊ตฌ์ฑ๋ณ ์์ถ `.npz` ์บ์๋ก ์ ์ฅํฉ๋๋ค.
Satellites with fewer than 64 observed grid days are excluded at cache-build time.
๊ด์ธก๋ grid day๊ฐ 64์ผ ๋ฏธ๋ง์ธ ์์ฑ์ ์บ์ ์์ฑ ๋จ๊ณ์์ ์ ์ธ๋ฉ๋๋ค.
---
## Training / ํ์ต
Fine-tuning (continued pretraining) from Toto-2.0-2.5B pretrained weights, with the next-patch **quantile (pinball) loss in Toto's asinh-scaled space** applied **only to the 6 orbital channels** โ physics and solar channels are context the model reads but is never asked to forecast.
Toto-2.0-2.5B ์ฌ์ ํ์ต ๊ฐ์ค์น๋ก๋ถํฐ fine-tuning(continued pretraining)ํ์์ผ๋ฉฐ, **Toto์ asinh ์ค์ผ์ผ ๊ณต๊ฐ์์์ next-patch quantile(pinball) loss**๋ฅผ **6๊ฐ orbital ์ฑ๋์๋ง** ์ ์ฉํ์ต๋๋ค. ๋ฌผ๋ฆฌ ํผ์ฒ์ ์ฐ์ฃผ๊ธฐ์ ์ฑ๋์ ๋ชจ๋ธ์ด ์ฝ๊ธฐ๋ง ํ๊ณ ์์ธกํ๋๋ก ์๊ตฌ๋์ง ์๋ ๋ฌธ๋งฅ ์ ๋ณด์
๋๋ค.
| Hyperparameter | Value |
|---|---|
| Base checkpoint | `Datadog/Toto-2.0-2.5B` (pretrained init) |
| Objective | Next-patch quantile pinball loss (asinh-scaled), orbital channels only |
| Drift-channel loss weight | **ร4.0** on `d_bstar_slog_per_day` and `d_mean_motion_per_day` |
| Optimizer | AdamW (ฮฒโ = 0.9, ฮฒโ = 0.95, weight decay 0) |
| Learning rate | 4e-5, linear warmup 1,000 steps, cosine decay to lr/10 |
| Max steps | 10,000 |
| Batch size | 16 |
| Context window | 8 patches ร patch_size 32 = 256 days (stride 4 patches) |
| Precision | bf16 autocast (CUDA) |
| Gradient clipping | 1.0 |
| Validation | Every 2,000 steps; best-validation and final checkpoints saved |
| Seed | 42 |
The two drift channels (`d_bstar_slog_per_day`, `d_mean_motion_per_day`) receive a ร4.0 loss weight: SGP4 along-track position error is governed by mean motion and drag, so upweighting them aligns the training objective with position accuracy.
๋ drift ์ฑ๋(`d_bstar_slog_per_day`, `d_mean_motion_per_day`)์๋ 4๋ฐฐ์ loss ๊ฐ์ค์น๋ฅผ ๋ถ์ฌํ์ต๋๋ค. SGP4์ along-track ์์น ์ค์ฐจ๋ mean motion๊ณผ drag๊ฐ ์ข์ฐํ๋ฏ๋ก, ์ด ๊ฐ์ค์น๋ ํ์ต ๋ชฉ์ ํจ์๋ฅผ ์์น ์ ํ๋์ ์ ๋ ฌ์ํต๋๋ค.
### Data split (forecast-honest time split) / ๋ฐ์ดํฐ ๋ถํ (๋ฏธ๋ ๋์ถ ์๋ ์๊ฐ ๊ธฐ์ค ๋ถํ )
The default split is **by time**, so evaluation is a true forecasting test with no future leakage:
- **Train**: windows ending before 2022-01-01
- **Validation**: windows ending in [2022-01-01, 2023-01-01)
- **Test**: windows ending on/after 2023-01-01
๊ธฐ๋ณธ ๋ถํ ์ **์๊ฐ ๊ธฐ์ค**์ด๋ฏ๋ก, ํ๊ฐ๋ ๋ฏธ๋ ์ ๋ณด ๋์ถ์ด ์๋ ์ค์ ์์ธก ์ํ์ด ๋ฉ๋๋ค.
- **Train**: 2022-01-01 ์ด์ ์ ๋๋๋ window
- **Validation**: [2022-01-01, 2023-01-01) ๊ตฌ๊ฐ์ ๋๋๋ window
- **Test**: 2023-01-01 ์ดํ์ ๋๋๋ window
A cm-tle-pred-style **satellite-level 70/15/15 split** (deterministic by NORAD-ID hash; every record of a satellite in one split) is also supported via `--split-mode satellite`.
cm-tle-pred ๋ฐฉ์์ **์์ฑ ๋จ์ 70/15/15 ๋ถํ **(NORAD ID ํด์ ๊ธฐ๋ฐ ๊ฒฐ์ ์ ๋ถํ ; ํ ์์ฑ์ ๋ชจ๋ record๊ฐ ๊ฐ์ split์ ์ํจ)๋ `--split-mode satellite` ์ต์
์ผ๋ก ์ง์๋ฉ๋๋ค.
---
## Evaluation / ํ๊ฐ
**Protocol.** Per-satellite evaluation on the **time-split test set** (windows ending 2023+): at each anchor the model receives 64 days of true context (solar channels fed as true context), then forecasts the next horizon. Up to 50 anchors per satellite, up to 1,500 satellites. For horizons โค patch size a single forward pass is used (no autoregressive feedback of predicted solar values).
**ํ๊ฐ ๋ฐฉ์.** **์๊ฐ ๊ธฐ์ค test set**(2023๋
์ดํ์ ๋๋๋ window)์ ๋ํ ์์ฑ๋ณ(per-satellite) ํ๊ฐ์
๋๋ค. ๊ฐ anchor ์์ ์์ ๋ชจ๋ธ์ 64์ผ์ ์ค์ context(solar ์ฑ๋์ ์ค์ ๊ฐ)๋ฅผ ์
๋ ฅ๋ฐ์ ์ดํ horizon์ ์์ธกํฉ๋๋ค. ์์ฑ๋น ์ต๋ 50๊ฐ anchor, ์ต๋ 1,500๊ฐ ์์ฑ์ ํ๊ฐํ์ต๋๋ค. horizon์ด patch size ์ดํ์ธ ๊ฒฝ์ฐ ๋จ์ผ forward pass๋ฅผ ์ฌ์ฉํ๋ฏ๋ก ์์ธก๋ solar ๊ฐ์ ์๊ธฐํ๊ท์ ํผ๋๋ฐฑ์ด ์์ต๋๋ค.
**Baseline.** SGP4 persistence โ propagate the last observed TLE unchanged to the target time (the standard operational method).
**Baseline.** SGP4 persistence โ ๋ง์ง๋ง ๊ด์ธก TLE๋ฅผ ๊ทธ๋๋ก ๋ชฉํ ์์ ๊น์ง ์ ํํ๋ ๋ฐฉ์(ํ์ค ์ด์ฉ ๋ฐฉ๋ฒ)์
๋๋ค.
**Metrics.**
1. **Element RMSE** โ mean motion, inclination, eccentricity as absolute error; mean anomaly / RAAN / argp as circular error.
2. **Position RMSE (km)** โ predicted elements โ SGP4 โ TEME position at tโ+ฮ, Euclidean distance to the truth-TLE-derived position. In the reported `sgp4` reconstruction mode, the model's forecast drives SGP4 through an interval-averaged predicted mean motion (BSTAR zeroed to avoid double-counting drag), so the phase stays analytic but at the model's predicted decay rate.
**ํ๊ฐ ์งํ.**
1. **๊ถค๋ ์์ RMSE** โ mean motion, inclination, eccentricity๋ ์ ๋ ์ค์ฐจ, mean anomaly / RAAN / argp๋ circular error๋ก ๊ณ์ฐํฉ๋๋ค.
2. **์์น RMSE (km)** โ ์์ธก ์์ โ SGP4 โ tโ+ฮ ์์ ์ TEME ์์น๋ฅผ ๊ณ์ฐํ๊ณ , ground truth TLE ๊ธฐ๋ฐ ์์น์์ ์ ํด๋ฆฌ๋ ๊ฑฐ๋ฆฌ๋ฅผ ์ธก์ ํฉ๋๋ค. ๋ณด๊ณ ๋ `sgp4` ๋ณต์ ๋ชจ๋์์๋ ๋ชจ๋ธ ์์ธก์ด ๊ตฌ๊ฐ ํ๊ท mean motion์ผ๋ก SGP4๋ฅผ ๊ตฌ๋ํ๋ฉฐ(drag ์ด์ค ๋ฐ์์ ๋ง๊ธฐ ์ํด BSTAR๋ 0์ผ๋ก ์ค์ ), ์์ ๊ณ์ฐ์ ํด์์ (SGP4)์ผ๋ก ์ ์งํ๋ ๋ชจ๋ธ์ด ์์ธกํ ๊ฐ์ ์จ์ ๋ฐ๋ฆ
๋๋ค.
### Position RMSE vs. SGP4 persistence baseline / ์์น RMSE โ SGP4 persistence baseline ๋๋น (test split, ์ต๋ 1,500๊ฐ ์์ฑ)
| Horizon | Model mean RMSE (km) | Baseline mean RMSE (km) | Mean improvement / ํ๊ท ๊ฐ์ ์จ | Model median RMSE (km) | Baseline median RMSE (km) | Model wins / ๋ชจ๋ธ ์ฐ์ธ ์์ฑ ๋น์จ |
|---|---|---|---|---|---|---|
| 1 d | 6.10 | 6.01 | โ1.4% | 3.76 | 2.86 | 55.6% |
| 3 d | 16.73 | 24.89 | **+32.8%** | 9.69 | 11.75 | 55.5% |
| 7 d | 56.55 | 110.50 | **+48.8%** | 22.70 | 49.05 | 74.0% |
| 14 d | 199.97 | 399.04 | **+49.9%** | 50.54 | 192.29 | 82.9% |
| 30 d | 798.75 | 1589.82 | **+49.8%** | 140.46 | 966.21 | **81.3%** |
At 1 day the persistence baseline is already near-optimal โ the last TLE is still fresh โ and the model is on par. From 3 days onward the learned drift model pulls ahead, and from 7 days onward it cuts mean position error roughly in half. The median-error gap is even larger (30 d: 140 km vs. 966 km), showing the improvement holds for the *typical* satellite rather than being driven by a few outliers.
1์ผ horizon์์๋ ๋ง์ง๋ง TLE์ ์ ๋ณด๊ฐ ์์ง ์ ํจํด persistence baseline์ด ์ด๋ฏธ ๊ฑฐ์ ์ต์ ์ด๋ฉฐ, ๋ชจ๋ธ์ ๊ทธ์ ๋๋ฑํ ์์ค์
๋๋ค. 3์ผ๋ถํฐ ํ์ต๋ drift ๋ชจ๋ธ์ด ์์๊ธฐ ์์ํ๊ณ , 7์ผ ์ด์์์๋ ํ๊ท ์์น ์ค์ฐจ๋ฅผ ์ฝ ์ ๋ฐ์ผ๋ก ์ค์
๋๋ค. ์ค์๊ฐ ๊ธฐ์ค ๊ฒฉ์ฐจ๋ ๋ ํฝ๋๋ค(30์ผ: 140 km vs 966 km). ์ด๋ ๊ฐ์ ์ด ์ผ๋ถ ํน์ด ์์ฑ์ ์ํ ๊ฒ์ด ์๋๋ผ *์ผ๋ฐ์ ์ธ* ์์ฑ ๋ค์์์ ์์ ์ ์ผ๋ก ๋ํ๋จ์ ๋ณด์ฌ์ค๋๋ค.
### Per-element median RMSE @ 30-day horizon / ๊ถค๋ ์์๋ณ 30์ผ ์ค์๊ฐ RMSE
| Element | Model | Baseline | Note (EN) | ํด์ (KR) |
|---|---|---|---|---|
| Mean motion | 0.000154 rev/day | 0.000178 rev/day | Model learns part of the decay drift | ๋ชจ๋ธ์ด mean motion drift๋ฅผ ์ผ๋ถ ํ์ต |
| Mean anomaly | 47.03ยฐ | 77.33ยฐ | Long-horizon phase advantage | ์ฅ๊ธฐ phase ์์ธก์์ ๋ชจ๋ธ ์ฐ์ธ |
| Inclination | 0.00185ยฐ | 0.00227ยฐ | Small but consistent gain | ์์ ์ฐจ์ด์ง๋ง ๋ชจ๋ธ์ด ๊ฐ์ |
| Eccentricity | 5.48e-5 | 7.84e-5 | Gain at long horizon | ์ฅ๊ธฐ horizon์์ ๋ชจ๋ธ์ด ๊ฐ์ |
| RAAN | 0.00560ยฐ | 63.11ยฐ | Rate forecasting vs. no-rate baseline โ largest gap | RAAN ๋ณํ์จ ์์ธก ํจ๊ณผ๊ฐ ๋งค์ฐ ํผ |
| Argument of perigee | 10.60ยฐ | 42.04ยฐ | Rate forecasting improves over baseline | ๊ฐ๋ ๋ณํ์จ ์์ธก์ผ๋ก baseline ๋๋น ๊ฐ์ |
The RAAN / argp gains are structural: the persistence baseline holds these angles' rates at zero, while OrbitFM forecasts the daily rates and integrates them. The mean-anomaly gain reflects the mean-motion drift being modeled โ the driver of long-horizon phase (along-track) error.
RAAN / argp์ ๊ฐ์ ์ ๊ตฌ์กฐ์ ์
๋๋ค. persistence baseline์ ์ด ๊ฐ๋๋ค์ ๋ณํ์จ์ 0์ผ๋ก ๊ณ ์ ํ๋ ๋ฐ๋ฉด, OrbitFM์ ์ผ๋ณ ๋ณํ์จ์ ์์ธกํด ์ ๋ถํ๊ธฐ ๋๋ฌธ์
๋๋ค. mean anomaly์ ๊ฐ์ ์ mean motion drift๊ฐ ๋ชจ๋ธ๋ง๋ ๊ฒฐ๊ณผ๋ก, ์ด๋ ์ฅ๊ธฐ phase(along-track) ์ค์ฐจ์ ํต์ฌ ์์ธ์
๋๋ค.
---
## How to Use / ์ฌ์ฉ ๋ฐฉ๋ฒ
The repository provides the fine-tuned checkpoint (`ckpt/toto_v2_Toto-2.0-2.5B-001.pt`, ~9.8 GB) and the training / evaluation pipeline (`train/train.py`, `eval/eval.py`, `utils/`). The model is a Toto-2 checkpoint; loading follows the Toto-2 API with the fine-tuned state dict.
์ด ์ ์ฅ์๋ fine-tuning๋ ์ฒดํฌํฌ์ธํธ(`ckpt/toto_v2_Toto-2.0-2.5B-001.pt`, ์ฝ 9.8 GB)์ ํ์ต/ํ๊ฐ ํ์ดํ๋ผ์ธ(`train/train.py`, `eval/eval.py`, `utils/`)์ ์ ๊ณตํฉ๋๋ค. ๋ชจ๋ธ์ Toto-2 ์ฒดํฌํฌ์ธํธ์ด๋ฉฐ, Toto-2 API๋ก ๋ก๋ํ ๋ค fine-tuning๋ state dict๋ฅผ ์ ์ฉํฉ๋๋ค.
```python
import torch
from toto2 import Toto2Model # Toto-2 modeling code
# 1. Load the fine-tuned checkpoint on top of the base architecture
# ๋ฒ ์ด์ค ์ํคํ
์ฒ ์์ fine-tuning๋ ์ฒดํฌํฌ์ธํธ๋ฅผ ๋ก๋
model = Toto2Model.from_pretrained("Datadog/Toto-2.0-2.5B")
ckpt = torch.load("ckpt/toto_v2_Toto-2.0-2.5B-001.pt", map_location="cuda")
model.load_state_dict(ckpt["model"])
model = model.to("cuda").eval()
# 2. Build the 25-channel daily-grid context for one satellite
# ์์ฑ 1๊ธฐ์ 25์ฑ๋ daily-grid context ๊ตฌ์ฑ
# (see utils/tle_dataset.py: build_daily_series / TLEDatasetV2)
# target: (B, 25, T) float โ 6 orbital + 16 physics + 3 solar channels
# target_mask: (B, 25, T) bool โ orbital channels use the coverage mask
batch = {
"target": context.to("cuda"),
"target_mask": mask.to("cuda"),
"series_ids": torch.zeros(context.shape[0], 25, dtype=torch.long, device="cuda"),
}
# 3. Forecast 30 days of element drift (quantile output; take the median knot)
# 30์ผ์น ์์ drift ์์ธก (quantile ์ถ๋ ฅ์์ ์ค์๊ฐ ์ฌ์ฉ)
q = model.forecast(batch, horizon=30, decode_block_size=None, has_missing_values=True)
median_idx = model.output_head.knots.index(0.5)
pred = q[median_idx].float().cpu().numpy() # (B, 25, 30) โ use channels 0..5
# 4. Reconstruct absolute elements from the last observed TLE anchor,
# then propagate to a position with SGP4 (see eval/eval.py)
# ๋ง์ง๋ง ๊ด์ธก TLE anchor์์ ์ ๋ ์์๋ฅผ ๋ณต์ํ ๋ค SGP4๋ก ์์น ์ ํ
from tle_dataset import reconstruct_track
track = reconstruct_track(anchor_aux, pred[0, :6].T) # per-day absolute elements
```
End-to-end reproduction (cache build โ train โ eval) is scripted in `main.sh`:
์ ์ฒด ์ฌํ ๊ณผ์ (์บ์ ์์ฑ โ ํ์ต โ ํ๊ฐ)์ `main.sh`์ ์คํฌ๋ฆฝํธ๋ก ์ ๋ฆฌ๋์ด ์์ต๋๋ค.
```bash
# build the 2005-2024 daily-grid cache (downloads SW-All.csv if missing)
# 2005-2024 daily-grid ์บ์ ์์ฑ (SW-All.csv๊ฐ ์์ผ๋ฉด ์๋ ๋ค์ด๋ก๋)
python utils/tle_dataset.py --start-year 2005 --end-year 2024 \
--sw-csv data/SW-All.csv --cache-dir ./cache --window-patches 3 --min-grid-points 64
# fine-tune Toto-2.0-2.5B / Toto-2.0-2.5B fine-tuning
python train/train.py --cache-file $CACHE --model Datadog/Toto-2.0-2.5B \
--window-patches 8 --batch-size 16 --lr 4e-5 --max-steps 10000 --warmup 1000 \
--drift-loss-weight 4.0 --split-mode time \
--train-until 2022-01-01 --valid-until 2023-01-01
# evaluate on the test split (SGP4 reconstruction) / test split ํ๊ฐ (SGP4 ๋ณต์)
python eval/eval.py --cache-file $CACHE --ckpt ./ckpt/toto_v2_Toto-2.0-2.5B-001.pt \
--model Datadog/Toto-2.0-2.5B --split test --split-mode time --recon sgp4 \
--context-days 64 --horizon-days 30 --horizons 1 3 7 14 30 \
--per-sat-samples 50 --max-eval-sats 1500
```
**Dependencies:** PyTorch, numpy, pandas, sgp4, huggingface_hub, tqdm, plus the Toto-2 modeling code.
**์์กด์ฑ:** PyTorch, numpy, pandas, sgp4, huggingface_hub, tqdm, ๊ทธ๋ฆฌ๊ณ Toto-2 ๋ชจ๋ธ๋ง ์ฝ๋.
---
## Intended Use / ์ฌ์ฉ ๋ชฉ์
- **Intended:** research on data-driven orbit prediction; medium-horizon (3โ30 day) LEO orbit forecasting studies; conjunction-screening research; TLE data-quality and space-weather-coupling analysis; baseline for satellite time-series foundation-model research.
- **Out of scope / not intended:** operational collision avoidance or safety-of-flight decisions without independent validation; high-precision ephemeris generation (this is a TLE/SGP4-fidelity model, not a numerical-propagation replacement); non-LEO regimes (MEO/GEO/HEO were filtered out of training); maneuvering-satellite prediction (maneuvers are not modeled).
- **๊ถ์ฅ ์ฉ๋:** ๋ฐ์ดํฐ ๊ธฐ๋ฐ ๊ถค๋ ์์ธก ์ฐ๊ตฌ; ์ค๊ธฐ(3โ30์ผ) LEO ๊ถค๋ ์์ธก ์ฐ๊ตฌ; conjunction screening ์ฐ๊ตฌ; TLE ๋ฐ์ดํฐ ํ์ง ๋ฐ ์ฐ์ฃผ๊ธฐ์ ์ฐ๋ ๋ถ์; ์์ฑ ์๊ณ์ด ํ์ด๋ฐ์ด์
๋ชจ๋ธ ์ฐ๊ตฌ์ baseline.
- **๋น๊ถ์ฅ / ๋ฒ์ ์ธ:** ๋
๋ฆฝ ๊ฒ์ฆ ์๋ ์ค์ด์ฉ ์ถฉ๋ ํํผยท๋นํ ์์ ์์ฌ๊ฒฐ์ ; ๊ณ ์ ๋ฐ ๊ถค๋๋ ฅ(ephemeris) ์์ฑ(๋ณธ ๋ชจ๋ธ์ TLE/SGP4 ์ ํ๋ ์์ค์ ๋ชจ๋ธ์ด๋ฉฐ ์์น ์ ํ์ ๋์ฒด์ฌ๊ฐ ์๋); ๋น-LEO ๊ถค๋(MEO/GEO/HEO๋ ํ์ต์์ ์ ์ธ๋จ); ๊ธฐ๋(maneuver) ์์ฑ ์์ธก(๊ธฐ๋์ ๋ชจ๋ธ๋ง๋์ง ์์).
## Limitations / ํ๊ณ
1. **Short horizons (~1 day):** the SGP4 persistence baseline is already near-optimal; the model provides no meaningful advantage there.
2. **Per-satellite variance:** on a minority of satellites the model is worse than the baseline โ difficulty varies with orbit regime, TLE quality, drag variability, and maneuver activity.
3. **No feature ablation yet:** the reported numbers are for the full model (physics + space-weather features together); the independent contribution of each feature group has not been isolated.
4. **True future space weather is unknown at inference time.** Evaluation feeds observed (true) solar context; operational use would require forecast space-weather inputs (or a variant trained without solar channels), which may reduce accuracy.
5. **Maneuvers and anomalies** are not modeled; station-keeping or deorbit burns will break the drift assumptions.
6. **Truth is TLE-derived:** both training targets and evaluation truth inherit TLE/SGP4 accuracy limits (TLEs themselves carry km-level errors).
1. **์ด๋จ๊ธฐ horizon (~1์ผ):** SGP4 persistence baseline์ด ์ด๋ฏธ ๊ฑฐ์ ์ต์ ์ด๋ฏ๋ก ๋ชจ๋ธ์ ์ด์ ์ด ์ ํ์ ์
๋๋ค.
2. **์์ฑ๋ณ ํธ์ฐจ:** ์ผ๋ถ ์์ฑ์์๋ ๋ชจ๋ธ์ด baseline๋ณด๋ค ์ฑ๋ฅ์ด ๋ฎ์ต๋๋ค โ ๊ถค๋ ํน์ฑ, TLE ํ์ง, drag ๋ณ๋์ฑ, ๊ธฐ๋ ์ฌ๋ถ์ ๋ฐ๋ผ ์์ธก ๋์ด๋๊ฐ ํฌ๊ฒ ๋ฌ๋ผ์ง๋๋ค.
3. **ํผ์ฒ ablation ๋ฏธ์ํ:** ๋ณด๊ณ ๋ ์์น๋ ๋ฌผ๋ฆฌ ํผ์ฒ์ ์ฐ์ฃผ๊ธฐ์ ํผ์ฒ๋ฅผ ๋ชจ๋ ์ฌ์ฉํ ์ต์ข
๋ชจ๋ธ ๊ธฐ์ค์ด๋ฉฐ, ๊ฐ ํผ์ฒ๊ตฐ์ ๋
๋ฆฝ์ ๊ธฐ์ฌ๋๋ ์์ง ๋ถ๋ฆฌ ๊ฒ์ฆ๋์ง ์์์ต๋๋ค.
4. **์ถ๋ก ์์ ์ ๋ฏธ๋ ์ฐ์ฃผ๊ธฐ์ ๊ฐ์ ์ ์ ์์ต๋๋ค.** ํ๊ฐ์์๋ ๊ด์ธก๋(์ค์ ) solar context๋ฅผ ์
๋ ฅํ์ผ๋, ์ค์ด์ฉ์์๋ ์ฐ์ฃผ๊ธฐ์ ์๋ณด๊ฐ(๋๋ solar ์ฑ๋ ์์ด ํ์ตํ ๋ณํ ๋ชจ๋ธ)์ด ํ์ํ๋ฉฐ ์ด ๊ฒฝ์ฐ ์ ํ๋๊ฐ ๋ฎ์์ง ์ ์์ต๋๋ค.
5. **๊ธฐ๋๊ณผ ์ด์ ์ด๋ฒคํธ**๋ ๋ชจ๋ธ๋ง๋์ง ์์ต๋๋ค. station-keeping์ด๋ deorbit burn์ drift ๊ฐ์ ์ ๊นจ๋จ๋ฆฝ๋๋ค.
6. **Ground truth๊ฐ TLE ๊ธฐ๋ฐ์
๋๋ค.** ํ์ต target๊ณผ ํ๊ฐ truth ๋ชจ๋ TLE/SGP4์ ์ ํ๋ ํ๊ณ(TLE ์์ฒด๊ฐ km ์์ค ์ค์ฐจ ๋ณด์ )๋ฅผ ๋ฌผ๋ ค๋ฐ์ต๋๋ค.
## Ethical & Safety Considerations / ์ค๋ฆฌยท์์ ๊ณ ๋ ค์ฌํญ
TLE data is publicly distributed (e.g., CelesTrak / Space-Track) and this model adds no sensing capability beyond it. Nevertheless, orbit predictions should not be used as the sole basis for conjunction-assessment or safety-critical decisions; operational users must validate against authoritative special-perturbation ephemerides.
TLE ๋ฐ์ดํฐ๋ ๊ณต๊ฐ์ ์ผ๋ก ๋ฐฐํฌ๋๋ฉฐ(CelesTrak / Space-Track ๋ฑ), ๋ณธ ๋ชจ๋ธ์ ๊ทธ ์ด์์ ๊ด์ธก ๋ฅ๋ ฅ์ ์ถ๊ฐํ์ง ์์ต๋๋ค. ๋ค๋ง ๊ถค๋ ์์ธก์ conjunction ํ๊ฐ๋ ์์ ๊ด๋ จ ์์ฌ๊ฒฐ์ ์ ๋จ๋
๊ทผ๊ฑฐ๋ก ์ฌ์ฉํด์๋ ์ ๋๋ฉฐ, ์ค์ด์ฉ ์ฌ์ฉ์๋ ๊ณต์ธ๋ special-perturbation ๊ถค๋๋ ฅ๊ณผ์ ๊ต์ฐจ ๊ฒ์ฆ์ ์ํํด์ผ ํฉ๋๋ค.
---
## Citation / ์ธ์ฉ
```bibtex
@misc{orbitfm2026,
title = {OrbitFM: TLE-based Satellite Orbit Forecasting by Continued Pretraining of a Time-Series Foundation Model},
author = {{์ธ์ข
๋ํ๊ต ์ธ๊ณต์ง๋ฅ ์ฐ๊ตฌ์ค & PCN R\&S}},
year = {2026},
note = {Fine-tuned from Datadog Toto-2.0-2.5B on 2005--2024 LEO TLE archives with space-weather channels}
}
```
**Base model:** please also cite [Datadog Toto-2](https://huggingface.co/Datadog/Toto-2.0-2.5B).
**๋ฒ ์ด์ค ๋ชจ๋ธ:** [Datadog Toto-2](https://huggingface.co/Datadog/Toto-2.0-2.5B)๋ ํจ๊ป ์ธ์ฉํด ์ฃผ์ธ์.
**Acknowledgements:** space-weather data from [CelesTrak](https://celestrak.org/SpaceData/); data-cleaning and feature-engineering design informed by the cm-tle-pred benchmark analysis; TLE parsing/propagation via the [sgp4](https://pypi.org/project/sgp4/) Python package.
**๊ฐ์ฌ์ ๊ธ:** ์ฐ์ฃผ๊ธฐ์ ๋ฐ์ดํฐ๋ [CelesTrak](https://celestrak.org/SpaceData/)์์ ์ ๊ณต๋ฐ์์ผ๋ฉฐ, ๋ฐ์ดํฐ ์ ์ ๋ฐ ํผ์ฒ ์์ง๋์ด๋ง ์ค๊ณ๋ cm-tle-pred ๋ฒค์น๋งํฌ ๋ถ์์ ์ฐธ๊ณ ํ์ต๋๋ค. TLE ํ์ฑ/์ ํ์๋ [sgp4](https://pypi.org/project/sgp4/) Python ํจํค์ง๋ฅผ ์ฌ์ฉํ์ต๋๋ค.
|