wikimedia-pageview-timeseries-raw
收藏Wikimedia Pageview Time Series (Full Raw Wide Format) 数据集概述
基本描述
- 数据集名称: Wikimedia Pageview Time Series — full raw (wide format)
- 数据集全称: Wikimedia Pageview Time Series (Full Raw Wide Format)
- 许可证: CC0 1.0
- 任务类别: 时间序列预测
- 标签: 时间序列、wikimedia、pageviews、wikipedia、stl-decomposition、pretraining、raw
- 数据规模: 大于 1TB
数据内容与结构
该数据集包含维基媒体所有项目(如维基百科、维基词典、维基共享资源等)的完整、未经采样的页面浏览量时间序列原始数据,以宽格式Parquet文件存储:每行代表一篇文章,每列代表一个时间戳。
数据文件夹详情
| 文件夹 | 文件数量 | 大小 | 每文件行数 | 列数 | 描述 |
|---|---|---|---|---|---|
fixed/ |
442个.parquet文件 |
~423 GB | ~660万 | 170 | 每周Parquet文件,时间范围2016_W01至2024_W25。为流水线第二阶段输出。包含7×24=168个每小时数据列,外加index和key列。 |
1024/ |
42个.parquet文件 |
~85 GB | ~188万 | 1028 | 训练就绪的每小时数据窗口,每个窗口包含T=1025个连续小时(约42.7天)。覆盖2011-12-01至2016-10-02。 |
1024-daily/ |
1个.parquet文件 |
3.2 GB | ~199万 | 1028 | T=1025个每日数据窗口(每行约2.8年)。 |
1024-weekly/ |
1个.parquet文件 |
598 MB | ~199万 | 150 | T=148个每周数据窗口(每行约2.8年),起始于2011-12-04。 |
1024-stl/<window>/ |
24个目录 × 3 = 72个.parquet文件 |
~551 GB | ~188万 | 1025 | 前24个1024/窗口的STL分解结果。每个目录包含trend.parquet、seasonal.parquet、residual.parquet。覆盖2011-12-01至2014-08-19(最后18个窗口未分解)。 |
总计: 558个文件,约1.06 TB。
数据模式(宽格式)
fixed/*.parquet
| 列 | 类型 | 备注 |
|---|---|---|
index |
int64 | 数字文章ID(跨周稳定) |
key |
string | 处理后的文章ID:<sanitised_domain_title>_<8char_sha256> |
| 168个日期时间列 | float32 | 每小时浏览量。列名为ISO时间戳,例如2016-01-04 00:00:00。 |
1024/*.parquet 与 1024-daily/*.parquet
| 列 | 类型 | 备注 |
|---|---|---|
index |
int64 | |
key |
string | |
| 1025个日期时间列 | float32 | 每小时或每日浏览量 |
__index_level_0__ |
int64 | Pandas索引产物(可删除) |
1024-weekly/*.parquet
同上,但为148个日期时间列(每周聚合数据)而非1025个。
1024-stl/<window>/{trend,seasonal,residual}.parquet
| 列 | 类型 | 备注 |
|---|---|---|
index |
int64 | |
| 1024个日期时间列 | float32 | 每小时分解后的分量。注意:无key列,且时间戳比1024/少一个(STL会裁剪边界)。 |
数据来源与处理流程
数据通过开源项目rnd中的三阶段流水线生成:
scripts/pageview_loader.py— 从dumps.wikimedia.org/other/pageview_complete/下载每小时.bz2文件,过滤爬虫和自动化流量。scripts/pageview_processor.py— 解码维基媒体字母编码的小时格式(A–X = 0–23时,后跟浏览量),过滤每日浏览量少于10次的页面,每周生成一个Parquet文件 — 产出**fixed/**。scripts/pageview_weekly_to_fixed.py— 拼接连续的周数据,切割为固定长度窗口 — 产出**1024/**(以及通过修改T和分辨率产出的1024-daily//1024-weekly/)。
STL分解由同一仓库中scripts/stl_decomp/下的独立Rust阶段完成。
数据时间线
| 步骤 | 时间 |
|---|---|
原始.bz2转储文件下载 |
2024年(后为节省磁盘空间删除) |
每周Parquet文件(fixed/)生成 |
2024-05-20 → 2024-07-05 |
1024/、1024-daily/、1024-weekly/生成 |
2024-06 → 2024-07 |
1024-stl/分解(前24个窗口) |
2024-06 |
| 上传至本HF仓库 | 2026-04 |
已知数据缺口
- STL分解覆盖至
2014-08-19结束 — 最后18个1024/窗口(至2016-10-02)未分解。如需可运行scripts/stl_decomp/重新生成。 fixed/仅覆盖2016-W01至2024-W25。更早的周数据在流水线重新运行时被覆盖;1024/窗口中2011年至2016年的数据来自早期快照,该快照已不存在于fixed/中。要完全重新生成这些1024/窗口,需要重新下载2016年之前的转储文件。
使用说明
加载原始宽格式Parquet文件
python import pyarrow.parquet as pq import numpy as np
table = pq.read_table("1024/2011-12-01.parquet") df = table.to_pandas()
每行文章对应1025个float32值的时间窗口
values = df.iloc[:, 2:-1].values # 删除index、key、__index_level_0__
keys = df["key"].values
print(values.shape, values.dtype) # (1877644, 1025) float32
通过huggingface_hub流式下载
python from huggingface_hub import snapshot_download snapshot_download( repo_id="jeremycochoy/wikimedia-pageview-timeseries-raw", repo_type="dataset", local_dir="./wiki-raw", allow_patterns=["1024/*.parquet"], # 按需选择文件 )
转换为HF长格式
配套仓库jeremycochoy/wikimedia-pageview-timeseries以长格式存储相同数据(series: list[float32, 1025]、source_id: uint8、meta: string)。转换代码位于stage1_extract_wiki.py中的_extract_series_matrix函数。
引用
若使用此数据,请引用维基媒体:
@misc{wikimedia_pageview_complete, author = {{Wikimedia Foundation}}, title = {Pageview complete dumps}, year = {2024}, howpublished = {url{https://dumps.wikimedia.org/other/pageview_complete/}}, }
维护者: jeremy@redstone.ee
问题反馈: 可在此仓库发起讨论或在jeremycochoy/rnd提交问题。




