目标:让 8 个城市都能稳定跑通 forecast snapshot(需要 geocode+tz)与 obs intraday(需要 location_id+tz)。
缺项会导致采集/展示为 -- 或接口报 missing geocode/location。
这是“我们已采集到的数据”实时检查:obs intraday(polyfeed 定时拉取)与 forecast tmax sources(WU snapshot + Weather.com + NWS + Open‑Meteo)。
这来自 polyfeed 的定时采集(Weather.com obs/historical → 计算“今天截至当前的最高温”)。 一旦 intraday max ≥ 某个阈值,对应更低温度桶在逻辑上已不可能命中(Polymarket 上 YES 价格会贴近 0.1¢ 且通常无 bids)。
采集建议统一由 polyfeed 承担(forecast snapshots / obs intraday / quotes 等),本服务以“分析与决策判断”为主。 如果这里为空,说明 error_samples / error_stats 还没生成(可先用历史数据 bootstrap 一次,然后后续改为定时增量更新)。
展示最近 N 天的 picked_snapshot_tmax(误差样本口径:polyfeed 为每个 day 选中的代表性快照预测)、
latest_snapshot_tmax(该 day 最新一条预测快照)与 actual_tmax(实况最高温)以及误差。
说明:两列都是来自 weather_wu_forecast_snapshots 的历史快照(带 captured_at),不是“当天 24 时记录值”。误差统计/回测口径建议以 picked_snapshot_tmax 为准(避免不同 lead time 混在一起)。
这里是“预测快照明细表”。它和上面的 2 小时网格是一回事:网格用于快速观察 drift,明细用于排查某个时间点到底写入了什么。
target_day 过滤后更容易看“小时快照如何变化”。
这里展示 season=all 的“最新误差统计表”(数据来自 polyfeed 落库的 weather_wu_error_stats_sources)。
口径说明:lead_bucket 是相对目标日 站点本地 12:00 的提前量分层(0~6h、6~12h、…、48~72h;≥72h 归入 48~72h;in_day 表示已过本地 12:00)。
这个项目的价值不在“页面好看”,而在于以 Wunderground 为唯一口径:
用 WU hourly 作为预测(High xxF),用 WU daily history 作为实况(当日最高温),对齐生成可复用的 误差分布统计(q05/q25/q50/q75/q95、bias、corr),用于映射到 Polymarket 的温度档位。
说明:这里的 qXX 是误差 actual - pred 的分位数(单位 Δ°F);“盘口总览”卡片里的 pXX 是实际最高温的分位点 pXX = pred + qXX(单位跟随市场 °C/°F)。
apps/polytemp-doc/knowledge.md
状态loading…
用于快速发现 “拐点/分歧/缺数据”。数据来自 polyfeed 定时采集: obs intraday(Weather.com obs/historical)+ forecast snapshots(Weather.com hourly/15day + NWS + Open‑Meteo)。
展示每城当天 event 的盘口快照(Mongo quotes):重点字段为 NO best_ask、YES best_ask、obs_max_so_far。 如某城显示暂无 quotes,说明 polyfeed 还没写入该 event 的盘口快照(或写入了别的库)。
这是把 “polyfeed 写入的预测快照(forecast snapshot)+ 历史误差分布(error_samples)” 映射到 该 event 实际的档位(由 Polymarket market questions 定义)。