第二章:数据基础——拍卖数据来源与字段解读

做量化分析,第一步永远不是跑模型,而是搞清楚你的数据从哪来、长什么样。这个道理我在很多项目里都吃过亏——数据源头搞错了,后面再漂亮的算法都是白搭。

艺术品拍卖数据,说白了就两大巨头:苏富比和佳士得。这两家占了全球高端拍卖市场八成以上的份额。我个人习惯把它们的数据库当作「黄金标准」,因为数据质量最高、字段最完整。

2.1 数据来源:苏富比与佳士得

苏富比(Sotheby's)和佳士得(Christie's)的历史都超过250年。它们公开的拍卖结果,是我们做回归分析最可靠的数据源。

核心区别:

  • 苏富比:数据更偏向当代艺术,尤其是战后和当代板块。我做过一个统计,苏富比纽约场的数据量比伦敦场多30%左右。
  • 佳士得:古典大师和印象派的数据更全。如果你研究莫奈、梵高这类画家,佳士得的数据会更友好。

为什么会这样?其实跟两家公司的历史定位有关。苏富比在20世纪80年代率先发力当代艺术,而佳士得一直守着古典这块阵地。嗯,这里要注意:千万别混用两家的数据做同一模型,除非你做了严格的标准化处理。我曾经试过把两家数据直接合并跑回归,结果R²直接掉了0.15——因为两家的估价口径不一样。

2.2 数据获取方式

获取这些数据,通常有三种路径:

  1. 官方API:苏富比和佳士得都有公开的API接口,但限制比较多。我建议小规模实验用这个。
  2. 爬虫抓取:这是最常用的方式。我个人习惯用Python的Scrapy框架,配合Selenium处理动态加载的页面。
  3. 第三方数据商:比如Artnet、Artprice。这些平台已经帮你清洗好了数据,但价格不菲。一个完整的数据库可能要几万美金。

我的建议:刚开始做研究,先用官方API抓个几百条数据练手。等模型稳定了,再考虑买第三方数据。别一上来就砸钱,我见过太多人花了几万块买数据,结果发现字段根本用不上。

2.3 核心数据字段解读

现在我们来拆解一下,一条完整的拍卖记录到底包含什么。我把它分成五类:

字段类别 字段名称 说明 数据类型
身份标识 作者(Artist) 画家的全名,注意同名问题 字符串
时间维度 创作年代(Year) 作品完成的年份,缺失值常见 整数
物理属性 尺寸(Size) 高度×宽度,单位厘米或英寸 浮点数
材料属性 材质(Medium) 如油画、丙烯、水彩等 分类变量
价格信息 成交价(Price) 含佣金的最终价格 浮点数

这五个字段,是回归分析的基础。但实际项目中,你还会遇到更多字段,比如:

  • 估价(Estimate):拍卖行给出的预估价格区间。这个字段很有用,但要注意——估价往往偏低,这是拍卖行的营销策略。
  • 拍卖日期(Sale Date):影响价格的市场周期因素。
  • 来源(Provenance):作品的流传历史。这个字段很难量化,但影响力巨大。

避坑指南:我曾经遇到过一个案例,某位画家的数据里,尺寸字段有30%是缺失的。后来发现,这些缺失值大多来自「纸上作品」——因为纸上作品的尺寸经常不标准。如果你直接删除这些行,模型会严重偏向「布面油画」这个类别。正确的做法是用中位数填充,或者单独建一个「尺寸缺失」的哑变量。

2.4 数据清洗的常见陷阱

数据拿到手,第一件事不是分析,而是清洗。我总结三个最常见的坑:

  1. 货币单位不统一:苏富比用美元,佳士得用英镑,有些场次用欧元。我习惯把所有价格统一转换成美元,按拍卖当天的汇率计算。
  2. 尺寸单位混乱:有些记录用厘米,有些用英寸。1英寸=2.54厘米,这个转换必须做。
  3. 材质分类太细:原始数据里可能有「oil on canvas」「oil on linen」「oil on board」等几十种。我一般把它们合并成「油画」「丙烯」「水彩」「版画」「综合材料」五大类。

一个实用的代码片段:

# 尺寸标准化函数
def standardize_size(row):
    if row['size_unit'] == 'inches':
        row['height_cm'] = row['height'] * 2.54
        row['width_cm'] = row['width'] * 2.54
    else:
        row['height_cm'] = row['height']
        row['width_cm'] = row['width']
    return row

# 材质合并
medium_mapping = {
    'oil on canvas': '油画',
    'oil on linen': '油画',
    'oil on board': '油画',
    'acrylic on canvas': '丙烯',
    'watercolor': '水彩',
    'print': '版画',
    'mixed media': '综合材料'
}

2.5 知识体系结构图

下面这张图,把本章的核心逻辑串起来了。你可以把它当作数据准备的检查清单:

艺术品拍卖数据基础架构 数据来源 苏富比 佳士得 核心字段 作者 年代 尺寸 材质 成交价 数据清洗 货币统一 尺寸转换 材质合并 缺失处理 结构化数据集 → 回归分析 数据流方向:来源 → 字段提取 → 清洗 → 建模

这张图你看懂了吗?从左到右,数据从两个拍卖行流出,经过核心字段提取,再进入清洗环节,最后汇聚成结构化数据集。每一步都缺一不可。

一个小技巧:我每次拿到新数据,都会先画一张类似的流程图。不是为了好看,而是为了确认自己有没有遗漏关键步骤。数据准备阶段多花一小时,建模阶段就能省下十小时。

好了,数据基础就聊到这里。记住一句话:垃圾进,垃圾出。数据质量决定了模型的天花板。下一章我们会聊特征工程,到时候你会看到,同样的数据,不同的处理方式,结果能差出十万八千里。


公众号:蓝海数据掘金营,微信deep3321