|
前言
欧洲夏休是欧洲国家在夏季特有的传统长假制度。欧洲人今年的夏休已经开始了,全欧洲开始了集体离线状态。但各个国家的夏休方式不仅相同,欧洲从哪天开始算是真正进入夏休状态呢?
R语言是欧洲人开发的用于统计分析的高级编程语言,免费且开源,在全世界普遍使用,成为了统计学研究的事实上的编程语言。因此,R语言开发核心团队于2026年获得了著名的由比利时国王颁发的"The Rousseeuw Prize in Statistics"。
copent是本人开发的R语言算法包,用于实现本人提出的Copula熵理论体系的一系列统计学方法,包括copula熵和传递熵估计、双样本检验、变点检测等。
目前,copent包已在R官方的CRAN上开源共享,并被R官方收录进CRAN Task Views的distributions主题,成为了R语言社区的核心算法包,得到了全世界的下载使用。
欧洲作为R语言的发源地,R语言的使用十分普遍。欧洲的夏休导致R语言使用的大幅减少,反映在各种R算法包的下载安装量的突然减少,包括copent包的下载安装量也明显降低。
本文利用基于copula熵的单变点检测算法对copent包的下载数据进行分析,利用下载量的变点作为欧洲人夏休开始的实际时间。
变点检测方法
变点检测算法是一类典型的时序分析方法,用于检测时序数据中的突变点,目前有大量的算法被提出。
基于copula熵的变点检测将变点检测问题转化为双样本检测问题,再利用基于copula熵的双样本检验对变点前后的分布进行比较,从而通过一系列双样本检验发现时序变点。算法基于信息论概念,因而具有变点尺度无关的特点,同时算法的超参数也具有通用性,无需调节。本检测方法是第一个基于熵和copula的变点检测,具有高度的创新性。
目前copent包0.5版本中已实现了基于copula熵的非参数单变点/多变点检测算法,相应的函数为cpd和mcpd。
R语言实验
首先,我们利用cranlogs包的cran_downloads函数得到copent包6月至7月的下载量数据:

然后,我们利用copent包中的单变点检测函数cpd来对下载量时序数据进行变点检测,并计算变点前后的平均下载量:

得到变点位置和平均下载量结果如下:

最后,我们将检测结果进行绘制:

得到的检测结果如下图所示

图1. copent包下载量数据单变点检测结果.
结论
根据copent包下载量数据变点检测实验结果,欧洲人夏休的实际开始时间在7月9日前后。
本检测实验也验证了基于copula熵的变点检测算法的有效性。
参考文献
Ma, Jian. Change Point Detection with Copula Entropy based Two-Sample Test. arXiv preprint arXiv:2403.07892, 2024.
Ma, Jian. copent: Estimating Copula Entropy and Transfer Entropy in R. arXiv preprint arXiv:2005.14025, 2020.
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2026-8-17 20:24
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社