ou_estimate — DRIVE traffic op

• 資料種類:signal → table

• 呼叫: import fullseye as fs; fs.ledger.ou_estimate(x, dt: 'float') -> 'Dict[str, float]'(要直接呼叫實作,import drivetraffic; drivetraffic.ou_estimate(x, dt: 'float') -> 'Dict[str, float]';從台帳取用則 opsdrive.get("ou_estimate"))

用法

從等間隔 dt 的觀測序列讀出橫向擺動(平均 0 的 OU 過程 dX = −θX dt + σ dW)的參數。

精確離散化 x_{k+1} = φ x_k + ε_k(φ = e^{−θ dt},ε ~ N(0, q²),q² = σ²(1 − φ²)/(2θ))的條件最大概似:

φ̂ = Σ x_k x_{k+1} / Σ x_k², q̂² = mean((x_{k+1} − φ̂ x_k)²), θ̂ = −ln φ̂ / dt, σ̂ = q̂ sqrt(2θ̂ / (1 − φ̂²))

(因為使用 ln 而非 Euler 的 (1 − φ̂)/dt,即使 dt 粗糙也不會有偏差)。標準誤差採用漸近公式:se(φ̂) = sqrt((1 − φ²)/n), se(q̂) = q/sqrt(2n),θ̂、σ̂ 用 delta 法。sigma_increment = sqrt(mean(Δx²)/dt) 是不使用 θ 的粗略估計(E[Δx²] = σ²(1 − φ)/θ,所以 θ dt → 0 時趨於 σ。在短時間內觀察相關時間較長的序列時,它比位置的樣本 SD 更穩定地讀出 σ)。

回傳 dict:theta, sigma, sd(穩態 SD σ/√(2θ))、phi, q, n(增量個數)、se_theta, se_sigma, sigma_increment。

Raises ValueError:不是 1-D、少於 3 個點、非有限,dt ≤ 0,φ̂ ∉ (0, 1)(在此 dt 下看起來不是均值回復過程)。

參考(範例資料、文獻)

• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。

• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。

• 演算法的正典(作者、年份)與用途見上面的族使用指南。

可執行的範例(實際呼叫該運算子並已驗證的樣例)

• poc_driving_traffic — py -3.11 examples/poc_driving_traffic.py

型別可銜接的下一個運算子(可接受 table 作為輸入)

course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same

同類別(traffic)

idm_accel · idm_equilibrium_gap · idm_platoon_simulate · driver_style · lateral_wobble · social_force_step · pedestrian_crossing · occlusion_reveal_distance


*Provenance: drivetraffic.py — DRIVE 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.