1985~2024 年上市公司专利创新突破度 CD 指数计算结果(已更正)

发现上次分析的结果有些问题,计算的时候忽略了“如果某个专利 j 没有引用专利 i 但是引用了其后项引用,则 cd = 0” 的情况,导致计算结果里面 1 和 -1 出现的太多。所以赶紧更正了下,这次不仅提供了上市公司的 CD 指数,还提供了每个专利的 CD 指数计算结果。对于没有被引用的专利,CD 指数都是 0。计算课程最近也会进行更新。

今天给大家分享一份 1985~2024 年上市公司专利创新突破度 CD 指数计算结果。

《Nature》论文「Papers and patents are becoming less disruptive over time」中使用了专利创新突破度(CD 指数)来衡量专利的创新突破程度:

CD 指数通过分析专利的引用网络来衡量其创新突破性,核心思想是:如果一个专利被其他后续专利引用(前向引用),而这些后续专利并没有引用该专利的后向引用专利,则说明该专利创造了新的技术轨迹,具有较高的突破性;反之则说明该专利是在现有技术基础上的渐进式改进。

具体计算方法为:对于每个专利 i,识别其在 5 年内的所有后向引用专利 j(即专利 i 引用的专利),然后统计在专利 i 申请日期之后的专利 k 中:

  • 同时引用专利 i 但不引用专利 j 的数量(记为 +1)
  • 同时引用专利 i 和专利 j 的数量(记为 -1)
  • 只引用专利 j 但不引用专利 i 的数量(记为 0)

CD 指数即为上述三种情况的加权平均值,取值范围为 [-1, 1],值越大表示创新突破性越高,值越小(或为负)表示更多是渐进式创新。

数据概览

为了方便大家使用,我把数据汇总成了上市公司的专利 CD 指数面板数据。数据包含两个 dta 文件:

  • 1985~2024年上市公司专利创新突破度 CD 指数计算结果.dta:专利层面数据,每条记录对应一个上市公司的单个专利及其 CD 指数
  • 1985~2024年上市公司专利创新突破度 CD 指数计算结果(分上市公司年份平均).dta:企业-年份层面数据,通过平均该企业在该年度所有专利的 CD 指数得到

变量说明:

  • newipzlid:专利唯一标识编号
  • 股票代码:上市公司股票代码
  • 年份:专利申请年份
  • cd_index:专利创新突破度 CD 指数,取值范围 [-1, 1]

时间范围为 1985 年至 2024 年,数据覆盖了所有拥有有效专利引用信息的上市公司。

专利原始数据在这里:

1985~2024 年专利申请与授权数据(版本 3,含申请人所处的省市区县):https://rstata.duanshu.com/#/brief/course/2397451274c546d3a36e156ffc865988

数据预览如下:

图表展示

下图展示了 1985~2024 年上市公司平均专利创新突破度(CD 指数)的变化趋势:

下图展示了上市公司专利 CD 指数的整体分布情况:

大部分企业的 CD 指数集中在正值区间(>0),表明多数专利具有一定的突破性创新特征,但分布呈现右偏特征。

下图展示了分时段(5 年一组)的 CD 指数箱线图:

可以看出,随着时间推移,CD 指数的箱体整体下移,中位数和上四分位数均呈下降趋势,验证了创新突破性减弱的趋势。

下图展示了各年份有专利数据的上市公司数量:

上市公司专利数量快速增长,尤其是 2010 年后呈现爆发式增长。

下图展示了上市公司专利颠覆性创新(CD>0)与渐进性创新(CD<0)占比随时间的变化:

处理代码

数据处理的代码参考了 R 语言和 Stata 两种方法。附件中也提供了该数据的处理代码供参考:

关键处理步骤如下(以 R 语言为例):

# 1. 读取专利引用数据并筛选 5 年内的相互引用
read_rds("patent_citations.rds") -> patent_citations
patent_citations %>%
filter(date - date2 <= dyears(5) & date - date2 >= 0) -> patent_citations2

# 2. 识别没有后向引用的专利(CD 指数直接设为 1)
read_rds("nobackrefs.rds") -> nobackrefs
nobackrefs %>%
mutate(cd_index = 1) %>%
write_rds("nobackrefs.rds")

# 3. 对每个专利计算 CD 指数
for (x in testmat$newipzlid) {
# 准备 i 的后向引用
patent_citations2 %>%
filter(newipzlid == x) -> testpat
testpat %>%
select(newipzlid2) %>%
pull(newipzlid2) -> backrefs

# j 申请日期晚于 i
patent_citations2 %>%
filter(date >= testpat$date[1]) -> part0

# 引用 i 的
part0 %>%
filter(newipzlid2 == x) %>%
select(newipzlid) %>%
distinct(newipzlid) -> part1

# 引用 i 后向引用的
part0 %>%
filter(newipzlid2 %in% backrefs) %>%
select(newipzlid) %>%
distinct(newipzlid) -> part2

# 分出三种情况并计算均值
cd_index = mean(c(parta$cd, partb$cd, partc$cd), na.rm = T)
}

Stata 部分代码:

*- 4. 将专利层面的 CD 指数汇总到企业-年份层面
*- 使用公司-年份平均 CD 指数数据绘图
use "1985~2024年上市公司专利创新突破度 CD 指数计算结果(分上市公司年份平均).dta", clear
destring 年份 cd_index, replace
collapse (mean) cd_index, by(年份)

tw conn cd_index 年份, m(o) lp(solid) color(black) ///
xla(1985(5)2020 2024) yla(0(0.1)0.5, format(%6.2f)) ///
yti("平均 CD 指数") xti("") ti("1985~2024年上市公司平均专利创新突破度(CD指数)") ///
subti("数据计算 & 绘图:微信公众号 RStata") ///
caption("数据来源:RStata 数据中心: 1985~2024年上市公司专利创新突破度CD指数计算结果. 2026. " ///
"https://tidyfriday.cn/rsdb2/")

数据引用格式

由于该数据包含较多 RStata 处理的内容,在研究中使用该数据请使用清晰的方式注明数据来源于 RStata 或者 RStata 数据中心,并使用如下格式引用:

RStata 数据中心: 1985~2024年上市公司专利创新突破度 CD 指数计算结果. 2026. https://tidyfriday.cn/rsdb2/

英文文献可以使用下面的格式引用:

RStata Data Center: CD Index of Patent Innovation Disruption for Listed Companies, 1985–2024. 2026. https://tidyfriday.cn/rsdb2/

关联课程/数据推荐

使用 R 语言测算专利的创新突破度:CD 指数:https://rstata.duanshu.com/#/course/93aeb0630e434a1b8c2901ed88f9e963

使用 Stata 测算专利的创新突破度:CD指数:https://rstata.duanshu.com/#/course/ec0630ddd1144c299ec229677be6e01d

名师讲堂|渐进性创新与突破性创新:使用 Stata 计算上市公司跨年专利技术相似度:https://rstata.duanshu.com/#/brief/course/01387f1aabb742cca0d465e630cbcf38

名师讲堂|使用 R 语言测算上市公司专利知识宽度:专利知识宽度与专利碎片化:https://rstata.duanshu.com/#/course/b2c2710928f44ad7a7518b8a178562c0

名师讲堂|使用 Stata 编程计算工企专利知识宽度:https://rstata.duanshu.com/#/course/d2c2710928f44ad7a7518b8a178562c0

名师讲堂|使用 Stata 计算专利技术空间相似度、企业层面的知识宽度、新技术空间专利申请及 IPC 号新增数:https://rstata.duanshu.com/#/course/d2c2710928f44ad7a7518b8a178562c0

如有其他数据处理需求,也可以联系李老师付费定制。

点击这里跳转到 RStata 短书平台获取附件:1985~2024 年上市公司专利创新突破度 CD 指数计算结果(已更正)

评论