深度学习周报(5.4~5.10)

摘要

本周学习了 Wilcoxon 符号秩检验的内容,主要了解了它的作用、步骤以及跟其他检验方法的对比;其次尝试搭建了上周论文的复现环境,主要是从直接下载和从源码编译两个角度思考解决 tensorflow-quantum 库的安装问题,并从中吸取经验。

Abstract

This week, I studied the Wilcoxon signed-rank test, mainly learning its purpose, procedure, and comparison with other testing methods. Secondly, I attempted to set up the reproduction environment for last week's paper, primarily considering two approaches to solve the installation problem of the tensorflow-quantum library: direct download and compilation from source, and learned from the experience.

1 Wilcoxon 符号秩检验

1.1 概述

Wilcoxon 符号秩检验(Wilcoxon signed‑rank test)由 Frank Wilcoxon 提出,是一种非参数统计方法,主要用于两种情况。一种是配对样本,即比较同一组受试者在两种处理下(或前后测量)的结果,判断两者的分布位置是否有差异;另一种是单样本,主要是判断样本所来自的总体中位数是否等于某个指定值。它相当于参数检验中配对 t 检验或单样本 t 检验的稳健替代方案,不要求数据服从正态分布。

使用该检验时,数据应为成对差值 ,或 ,各对差值相互独立,且在理论上差值来自连续分布。除此之外,最关键的一点前提在于,差值的大致分布需关于其中位数对称,因为如果对称性不成立,检验推断的中位数可能不再等于分布的中心,结果解释需谨慎。

以配对检验为例,其假设形式为:

​:差值总体的中位数为 0(即两种处理无位置差异)

:双侧中位数≠0;单侧大于 0 或小于 0

1.2 原理与步骤

如果 成立,差值的正、负应当随机分布,且正差值与负差值的平均秩次应大致相等。

其大致步骤如下:设配对数据为 ,差值

首先,计算所有差值。若某对数据差值为 0 ,则将其剔除,样本量相应减少;

其次,对剩余差值的绝对值从小到大排序,并赋予秩次 ,若出现相同绝对值则取平均秩。

接着,根据原始差值的符号,为秩次加上正负号,得到符号秩。

然后,分别计算正符号秩之和 与负符号秩之和 ,显然二者之和为 ,丙选择检验统计量。

最后,确定 p 值。若为大样本则根据正态近似计算,若为小样本则查 Wilcoxon 符号秩检验表,给出双侧或单侧临界值。

1.3 与其他检验的对比

本部分主要将 Wilcoxon 符号秩检验与配对 t 检验、符号检验以及 Wilcoxon 秩和检验从适用场景、数据要求等方面进行比较。

对于适用场景,Wilcoxon 符号秩检验与配对 t 检验都比较适用于配对数值差异的场景,符号检验既适用于配对也适合单样本,Wilcoxon 秩和检验则只适用于独立的两样本;

对于数据要求,Wilcoxon 符号秩检验如前文所言需要其差值分布对称,配对 t 检验需要其差值服从正态分布,符号检验无分布假定,Wilcoxon 秩和检验则只需要数据分布形状相似即可;

除此之外,配对 t 检验对异常值比较敏感,Wilcoxon 符号秩检验则利用了差值的方向和大小,比单纯的符号检验功效更高。

2 关于复现

github链接(论文中也有):https://github.com/OttoMP/wind-forecasting-quantum

根据提供的 requirements 文件,创建 python3.9 的虚拟环境

并依次安装 cuda、tensorflow 以及其他依赖,在安装 tensorflow-quantum 时发现报错。

这个报错是因为 tensorflow-quantum==0.7.2 已经不在 PyPI 公开提供了,现在 PyPI 上只保留了 1.14.0 以上的版本,而这些新版本全都要求 Python ≥ 3.10,与论文为了兼容 TensorFlow 2.7 而必须用的 Python 3.9 冲突,导致 pip 找不到合适的包。

尝试解决办法:首先,打算手动从 TensorFlow Quantum 的官方 GitHub Release 页面下载对应你系统的预编译 .whl 文件,再本地安装,链接如下:

Release TensorFlow Quantum 0.7.2 · tensorflow/quantum · GitHub

但发现并无所需文件。

换种方法,在命令行中使用 curl 下载

但在环境中安装时报错 is invalid,检查 .whl 文件,发现文件大小仅几字节,显然下载未成功,重新下载则显示 connection was reset。

故选择从源码编译,需准备好 bazel 与 C++ 编译环境。前者可通过在命令行中输入 bazel version 判断是否下载成功,后者则可以在安装 VScode 时勾选组件。

然后拉取源码:

并进行编译,发现报错:

认为可能下载的 bazel.exe 文件目录不对,于是切换目录,发现仍然报错:

故拉取的源码和编译器缺一不可,于是采用绝对路径(直接到源码环境应该也可,但估计需要添加环境 path 变量):

可编译但编译不成功,估计是 bazel 版本比较新,改用 3.7.2(或其以上 4.x.x左右的版本)版本并重复上述操作。

3 总结

本周首先学习了 Wilcoxon 符号秩检验的内容,了解了它的作用和步骤,总体了解的比较浅显,感觉假设检验这个部分的知识学习不是很到位,后面考虑整体了解一下;其次尝试复现了上周的论文,卡在了环境搭建部分,主要是因为部分库的版本是之前的,现在不再提供,要下载一样的或者用其他替代都比较麻烦。

相关推荐
电科_银尘7 分钟前
【深度学习项目实战·02】Linux服务器环境搭建:从SSH登录到稳定运行项目
linux·服务器·深度学习
QY_Research_8 分钟前
全球智能交通系统物联网市场规模及CAGR14.2%深度分析
大数据·网络·人工智能·物联网·制造
Zzj_tju9 分钟前
32 分钟不是完成科研:多智能体读脑图谱,突破在哪里?
人工智能·机器学习·语言模型·自然语言处理
涛思数据(TDengine)16 分钟前
直播预告 | 知识图谱,让文档自动变成知识网络
人工智能·ai·知识图谱·时序数据库·tdengine·工业ai
优利德17 分钟前
优利德发布67GHz高性能矢量网络分析仪,为AI算力爆发助力
人工智能
软件工程师文艺17 分钟前
AI 编程新范式:Spec Kit 的规格驱动开发到底在解决什么
人工智能·驱动开发
梦帮科技19 分钟前
量子纠缠网络与量子隐形传态攻防:量子中继器信道串扰、纠缠态保真度降解与量子路由劫持
开发语言·网络·人工智能·算法·自动化·php
Z-D-K21 分钟前
AI 安全:让能力、权限与责任同步增长
人工智能·安全
海宇服务24 分钟前
零信任架构实战:基于海宇风控经营异常预警构建自动化央企物资采购供应商资信排查网关
运维·人工智能·架构·自动化
Geek-Chow24 分钟前
00 · DeepSeek V4.1 Flash 大规模推理部署实践学习指南:总览、思维导图与阅读路线(专栏目录)
人工智能·1024程序员节