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

相关推荐
辉视广播对讲9 小时前
医院IPTV,让医疗服务更有温度
网络·人工智能
xqqxqxxq9 小时前
Java AI智能P图工具技术笔记
java·人工智能·笔记
AI袋鼠帝9 小时前
本地4B开源模型,把任何App当Skil用!告 别token焦虑,私密性强~
人工智能
ComputerInBook9 小时前
数字图像处理(4版)——第 11 章——特征提取(下)(Rafael C.Gonzalez&Richard E. Woods)
图像处理·人工智能·特征提取
在线打码10 小时前
ToutiaoAI:AI 驱动的智能新闻杂志平台
人工智能·ai·aigc·ai写作·新闻资讯
ar012310 小时前
AR电路巡检:让电力运维进入智能可视化时代
运维·人工智能·ar
低调小一10 小时前
Midscene.js 原理拆解:它不是“自然语言点按钮”,而是一套会看屏幕的 UI 自动化运行时
人工智能·rnn·架构·大模型·transformer·tdd·midscene
Slow菜鸟10 小时前
Codex CLI 教程(五)| Skills 安装指南:面向 Java 全栈工程师打造个人 ECC(V1版)
大数据·前端·人工智能
昇腾CANN10 小时前
5月11日直播丨CANN算子挑战赛(江山赛区)赛题和评分规则解读
人工智能·昇腾·cann·deepseek