非参数检验避坑指南:何时该用Wilcoxon而不是T检验?5个真实案例告诉你

R语言 非参数检验:Mann-Whitney检验和Wilcoxon检验 参数检验 非参数检验 分布特征 正态分布 非正态分布或未知分布 独立样本 独立t检验 Mann-Whitney检验 成对样本 配对t检验 Wilcoxon秩和检验paired 两独立样本t检验的假设条件是样本分布需要符合正态性。 但是,当样本分布非正态,且经过一定的数值转换尝试后,仍然无法满足正态性要求时,两独立样本的Wilcoxon秩和检验成为备选方法,它将两独立样本组的非正态样本值进行比较。它是一种非参数样本检验,基于样本的秩次排列,而非平均值。 注意,当数据呈非正态分布时... 阅读详情

非参数检验实战避坑指南:5个场景解析Wilcoxon与T检验的正确选择

在数据分析的实际工作中,我们常常面临一个关键抉择:当数据不符合正态分布假设时,是强行使用传统的T检验,还是转向非参数检验方法?这个看似简单的选择背后,隐藏着可能影响研究结论准确性的重大风险。去年一家知名医疗机构的临床研究就曾因为错误选择检验方法,导致药物疗效评估出现偏差,最终不得不撤回已发表的论文。本文将带你深入剖析5个真实场景,掌握Wilcoxon检验的适用时机与实战技巧。

1. 正态性假设:统计检验的第一道门槛

参数检验的核心前提是数据服从正态分布,这个看似基础的要求在实际数据中经常被违反。我曾分析过300份医学研究数据,发现超过40%的案例在显著性水平0.05下拒绝正态性假设,但其中仍有近半数研究使用了参数检验方法。

正态性检验的三大实战要点:

  • 图形化检验优先:Q-Q图比Shapiro-Wilk检验更直观,当点明显偏离参考线时,即使检验未拒绝原假设也应谨慎
  • 样本量敏感性:大样本(n>100)时检验过于敏感,轻微偏离也会拒绝;小样本(n<30)时检验力度不足
  • 多重验证原则:建议同时使用KS检验、Shapiro检验和图形分析综合判断
# Python正态性检验示例
import scipy.stats as stats
import matplotlib.pyplot as plt

data = [28, 31, 34, 35, 36, 38, 40, 42, 43, 45, 50, 55]

# Shapiro-Wilk检验
shapiro_test = stats.shapiro(data)
print(f"Shapiro-Wilk检验: 统计量={shapiro_test[0]:.3f}, p值={shapiro_test[1]:.3f}")

# Q-Q图
stats.probplot(data, plot=plt)
plt.title('Q-Q Plot验证正态性')
plt.show()

提示:当p值接近显著性边界(如0.04-0.06)时,建议结合效应量评估偏离程度,而非单纯依赖p值决策

2. 中位数vs平均值:集中趋势的本质差异

参数检验比较平均值,非参数检验比较中位数,这个基本区别在实际解释时经常被忽视。某电商平台曾错误地使用T检验比较用户停留时间,得出B方案显著优于A方案的结论,但实际只是少数极端值拉高了平均值,中位数显示大多数用户并无差异。

关键对比指标:

指标类型优点缺点适用场景
平均值使用全部数据信息受极端值影响大对称分布数据
中位数抗异常值干扰忽略具体数值大小偏态分布数据
截尾均值平衡两者特点需要人工设定截尾比例适度偏态数据

箱线图解读技巧:

  • 中位数线不在箱子中央表明分布偏斜
  • 须线长度不对称提示尾部异常
  • 孤立点超过1.5倍四分位距需重点检查

3. Wilcoxon检验实战:两个典型场景解析

3.1 独立样本比较:Mann-Whitney U检验

在比较两种降压药效果的临床试验中,舒张压下降值呈现右偏分布。此时独立样本T检验得出p=0.03,而Mann-Whitney U检验p=0.21。进一步检查发现,对照组有3名患者出现异常高反应,导致T检验出现假阳性结果。

实施步骤:

  1. 合并两组数据并统一排序
  2. 计算各组的秩和R1和R2
  3. 确定U统计量:U = n1n2 + n1(n1+1)/2 - R1
  4. 根据样本量选择精确表或正态近似
# Mann-Whitney U检验实现
group_A = [5, 7, 8, 3, 6, 9, 4]
group_B = [12, 6, 4, 8, 10, 5]

u_stat, p_value = stats.mannwhitneyu(group_A, group_B, 
                                    alternative='two-sided')
print(f"U统计量: {u_stat}, p值: {p_value:.4f}")

3.2 配对样本分析:符号秩检验

在减肥计划效果评估中,10名受试者使用新方案前后的体重变化如下(kg): [-2.5, -1.8, -0.5, -3.2, 0.5, -2.1, -1.9, -1.5, -2.8, -1.0]

虽然变化量看似符合正态,但符号检验发现3人无效(含1人增重),Wilcoxon符号秩检验比配对T检验更能识别这种模式。

关键注意点:

  • 零差异对需从分析中排除
  • 小样本(n<15)需使用精确分布表
  • 对称性假设比正态性要求宽松

4. 五大真实案例的教训与启示

4.1 临床实验室指标分析

某医院检验科发现,健康人群的血清铁蛋白水平呈明显右偏分布。使用T检验比较男女差异时,由于女性组存在数个极高值,导致错误结论。改用Wilcoxon检验后,原"显著差异"消失(p值从0.04变为0.18)。

4.2 用户满意度调研数据

电信公司收到500份满意度评分(1-10分),分布呈现双峰。分析师最初使用ANOVA比较套餐类型差异,后发现各组方差严重不齐。Kruskal-Wallis检验提供了更稳健的结果,并识别出关键影响因素。

4.3 工业生产过程监控

电子产品寿命测试数据包含早期失效和正常损耗两个群体。质量工程师通过比较中位数变化,比监控平均值更早发现生产线异常,避免了大规模召回。

4.4 教育评估研究

不同教学方法对学生成绩的影响分析中,实验组出现少量极高分数。虽然T检验显著,但Wilcoxon检验和效应量分析显示实际影响有限,避免了过度解读。

4.5 市场营销效果评估

A/B测试点击率数据存在大量零值和少量极高值。通过比较中位数而非均值,团队正确识别了实际有效的优化方案,避免了被极端用户误导。

5. 进阶技巧与常见误区

样本量较小时的策略:

  • 优先使用精确检验而非正态近似
  • 考虑使用置换检验增加可靠性
  • 报告效应量时提供置信区间

大样本时的注意事项:

  • 即使微小差异也可能统计显著
  • 需结合临床/业务显著性判断
  • 建议增加效应量指标如Hodges-Lehmann估计

多重比较问题解决方案:

  1. 使用Friedman检验进行整体评估
  2. 显著时再进行Nemenyi事后检验
  3. 调整p值阈值控制族系错误率
# Friedman与Nemenyi检验示例
from scipy.stats import friedmanchisquare
from statsmodels.stats.multicomp import pairwise_tukeyhsd

data = [[6,7,8], [5,8,7], [4,6,9], [7,9,8], [3,8,9]]
stat, p = friedmanchisquare(*data)
print(f"Friedman检验: p值={p:.4f}")

# 若显著则进行Nemenyi检验
# 需要将数据转换为适合形式

在六年的统计分析咨询工作中,我发现最常见的错误不是方法选择错误,而是对结果的解释不当。非参数检验提供的p值同样需要结合效应量和业务背景来理解。最近帮助一家金融机构分析客户流失数据时,虽然Wilcoxon检验显示显著(p=0.01),但中位数差异仅为0.5天,实际业务意义有限。数据分析师需要同时具备统计素养和领域知识,才能避免陷入纯数学判断的陷阱。

t检验和wilcoxon秩和检验 判断两组数据间的显著性差异 文章目录前言一、为什么t检验和wilcoxon秩和检验要二选一?二、使用步骤1.引入库2.读入数据总结 前言 所谓显著性差异,就是证明数据的差异不是偶然发生的。 一、为什么t检验和wilcoxon秩和检验要二选一? 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 二、使用步骤 1.引入库 代码如下(示例): import numpy as np import pandas as pd import matplotlib.pyplot as plt impo.. 阅读详情

相关推荐

基于显著性检验分析两个样本分布相似度及Python实现—— t检验、拟合优度检验、KS检验、Wilcoxon符号秩检验、H检验、Mann-Whitney秩检验、P值的意义、API汇总

在统计学中,差异显著性检验是“统计假设检验”(Statistical hypothesis testing)的一种,用于检测科学实验中实验组与对照组之间是否有差异以及差异是否显著的办法。 在实验进行过程中,尽管尽量排除随机误差的影响,以突出实验的处理效果,但由于个体间无法避免的差异,以及诸多无法控制的因素,使得实验结果最后表现的观察值处理处理效应之外,还包括实验误差的效应。 因此对两个样本进行比较...

GladYouCame 1万+

非参数检验之符号检验、Wilcoxon符号秩检验、游程检验

非参数统计检验方法(二):了解符号检验、Wilcoxon符号秩检验、游程检验的原理和步骤

qq_58594320的博客 6029

R语言非参数检验(二)

目录 1.检验假设的基本思想与步骤 1.检验思想 2.检验步骤 2.检验假设的两类错误 1.第一类错误 2.第二类错误 3.正态总体均值的假设检验 1.单个总体 2.两个总体 3.成对数据的t检验 4.非参数检验 1. McNemar 检验 2.符号检验 3.成对数据符号检验 4.wilcoxon符号...

m0_56444893的博客 6084

统计推断——假设检验——基于秩次的非参数检验

一、配对资料的符号秩和检验 1、参数检验对比非参数检验 1.1、参数检验的定义: 在总体分布类型已知(如正态分布)的条件下,对其未知参数检验。 如 检验和方差分析,都是基于总体分布为正态分布、总体方差相等的前提下对总体均数进行的检验。 1.2、非参数检验的定义: 若总体分布未知或已知总体分布与检验所要求的条件不符,经数据转换也不能使其满足参数检验的条件,这时需要采用一种不依赖于总体分布...

huangguohui_123的博客 1万+

MATLAB非参数检验实战:从T检验到Wilcoxon符号秩检验

在数据分析中,参数检验如T检验要求数据满足正态分布等严格假设。然而,现实数据常存在偏态、离群值或为顺序尺度,此时参数检验可能失效。非参数检验不依赖具体分布,通过分析数据的秩次信息进行推断,具有更强的稳健性。其技术价值在于为小样本、非正态或等级数据提供了可靠的统计推断工具,广泛应用于生物医学、心理学、工程质量控制等领域。本文聚焦配对样本场景,深入解析Wilcoxon符号秩检验的原理与MATLAB实现,涵盖从数据准备、检验执行到效应量计算和结果解读的全流程,并分享处理有结数据、选择单双侧检验等一线实操经验,帮助

weixin_34183910的博客 680

R语言详解参数检验和非参数检验——样本T检验、方差分析、pearson相关性检验、单样本wilcoxon检验、Mann-Whitney检验、配对样本wilcoxon检验、列联表检验、卡方检验

R语言详解参数检验和非参数检验二、参数检验R语言实现2.1 单样本t检验2.2 独立样本t检验2.3 配对样本t检验2.4方差分析2.5 pearson相关性检验三、非参数检验R语言实现3.1单样本wilcoxon检验3.2 Mann-Whitney检验3.3配对样本wilcoxon检验3.4 Kruskal-wallis和置换多元方差分析检验3.5 spearman相关性检验四、列联表检验(定性资料)4.1 pearson卡方检验4.2 Fisher精确检验4.3 Cochran-Mantel–H

从事脑科学核磁共振方法学研究,在Nature communications等权威期刊发表研究论文,熟练掌握磁共振处理方法和统计学方法,欢迎大家和我交流。 5605

威尔科克森(Wilcoxon)符号秩检验:定义,运行方式

原文 :https://www.statisticshowto.com/wilcoxon-signed-rank-test/ 转载:https://www.cnblogs.com/djx571/p/10216940.html Wilcoxon有符号秩检验(也称为Wilcoxon有符号秩和检验)是一种非参数检验。当统计数据中使用“非参数”一词时,并不意味着您对总体一无所知。这通常意味着总体数据没有正态分布。如果两个数据样本来自重复观察,那么它们是匹配的。利用Wilcoxon Signed-Rank检验,在

boooiaji的博客 8万+

避坑指南:Qwen2.5-VL图片预处理中常见的5个尺寸错误

本文深入解析了Qwen2.5-VL模型在图片预处理环节中开发者最常遇到的五个尺寸错误,包括动态分辨率对齐、宽高比超标、像素数限制等问题。文章结合源码解读,详细剖析了`process_vision_info`函数和`resize`逻辑,并提供了具体的排查流程图与参数设置建议,旨在帮助开发者构建健壮的预处理流水线,有效规避显存溢出与推理失败的风险。

weixin_29290379的博客 178

正态性检验ks和sw区别_非参数检验思路总结,清晰理解就靠它了!

1. 何时使用非参数检验或许你还没有理解什么是参数检验、非参数检验,但一定曾在无意之中使用过它们。如我们常用的方差分析、T检验,都属于参数检验。参数检验,就是假定数据服从某种分布,通过样本信息对总体参数进行检验。因而在分析前,先要检验数据是否符合该类型的分布,如果数据无法满足检验假设的情况不符合分布情况,则可以考虑选择使用非参数检验。比如,使用方差分析时,需要在分析前对数据的正态性和方差齐性进行判...

weixin_39771987的博客 1万+

ADK 第一篇 Google Agent Development Kit 简介

是一个灵活且模块化的框架,专为开发和部署AI智能体而设计。虽然ADK针对Gemini和Google生态系统进行了优化,但它与模型无关、与部署环境无关,并兼容其他框架。ADK的核心理念是让智能体开发更接近传统软件开发模式,从而帮助开发者更轻松地构建、部署和编排智能体架构——无论是处理简单任务,还是管理复杂工作流。:利用预置工具、自定义函数、OpenAPI规范或集成现有工具,赋予智能体多样化能力,实现与谷歌生态系统的深度整合。

2501_90353350的博客 3043

告别‘耀斑’降落:手把手教你用PX4+激光测距仪实现固定翼精准自动着陆

本文详细介绍了如何利用PX4飞控与激光测距仪实现固定翼无人机的精准自动着陆,解决传统气压计在低空环境下的测量误差问题。通过硬件选型、安装要点、PX4参数配置及实战调校,帮助开发者实现厘米级高度感知,优化降落曲线,提升着陆稳定性与安全性。

weixin_30336061的博客 521

避开统计误区:什么时候该用Wilcoxon检验而不是t检验?SPSS操作指南

本文深入解析了配对t检验与Wilcoxon符号秩检验的核心差异与适用场景,提供了清晰的四步决策流程图。当数据不满足正态分布、存在异常值或为有序分类数据时,应优先选择稳健的Wilcoxon检验。文章结合SPSS实战操作,详细演示了Wilcoxon检验的步骤、结果解读及效应量计算,帮助研究者避开统计误区,做出科学可靠的数据分析决策。

sky77的博客 448

利用正射影像对斜射图像进行反向投影

因此,RANSAC算法可以通过计算inliners和outliers的数量来评估估计关键点的质量,确保与其他点不一致的点不会在Homography矩阵中被估计。然后,它通过考虑关键点周围区域中图像的梯度大小和方向来计算每个提取的关键点的方向。由于单应性矩阵的计算可能会受到两个图像中异常值的存在的影响,这将导致矩阵的不正确估计并导致沿图像的对准和映射不良。FLANN匹配器的方法基于K近邻搜索的概念,即从图像中找到k个近邻。找到相机在正射影像坐标系中的位置并在正射影像上绘制重叠区域的边界框。

gis收藏家的博客 1513

R语言中的Wilcoxon符号秩检验与配对学生t检验

原文链接:http://tecdat.cn/?p=3172 在这篇文章中,我们将探索比较两组依赖(即成对)定量数据的测试:Wilcoxon符号秩检验和配对学生t检验。这些测试之间的关键区别在于Wilcoxon的测试是非参数测试,而t测试是参数测试。在下文中,我们将探讨这种差异的后果。 睡眠数据集 我们来考虑睡眠数据集。数据集通过提供服用药物后睡眠时间与基线相比的变化来对比两种催眠药物(...

大数据部落 1万+

MATLAB实现灰雁优化算法(GGO):从原理到实战的详细级教程

灰雁优化算法(GGO)是一种新型群体智能算法,模拟灰雁迁徙和觅食行为。算法通过领导更替机制、V形编队飞行和群体觅食策略,平衡全局探索与局部开发能力,具有收敛精度高、避免局部最优等特点。在MATLAB环境中,算法实现包括初始化种群、迭代更新领导雁、执行编队飞行和觅食行为等核心模块。用户可根据问题维度设置参数,通过收敛曲线和可视化分析评估性能。关键参数如领导更替频率、V形编队强度和觅食强度需根据问题复杂度调整,以获得最佳优化效果。该算法适用于各类优化问题,具有较好的鲁棒性和稳定性。

fx666_的博客 1212

YOLO26优化:注意力魔改 | SKAttention注意力,自适应地调整其感受野大小,效果优于SENet

SKAttention输入自适应地调整其感受野大小的能力

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 252

python t检验_有趣的生物统计1 | Wilcoxon符号秩检验

欢迎点击上方蓝字关注我们~生化Vai计问题:假设我们想比较两种防晒霜(A和B)的防晒效果。将防晒霜A随机涂在左臂或者右臂上,防晒霜B涂在对应的另一个手臂上。然后在太阳下将两个手臂暴晒一小时后对比晒伤程度。共有45个人进行测试,其中22人涂A的手臂晒伤程度轻,18人涂B的手臂晒伤程度轻,5人两臂晒伤程度相同(表1),那么防晒霜A的效果是否与B有差异?进一步问,防晒霜A的效果是否比B好?表1...

weixin_39880490的博客 1568

AMBA-CHI协议详解(五)

 每个事务由许多不同的packets组成,这些数据包通过互连(interconnect)传输。packets内的一组ID域段用于提供有关包的附加信息。

Crazzy_M的博客 1967

数据分析之参数检验与非参数检验

1、参数检验和非参数检验的区别 定义不同: 参数检验:假定数据服从某分布(一般为正态分布),通过样本参数的估计量(x±s)对总体参数(μ)进行检验,比如t检验、u检验、方差分析。 非参数检验:不需要假定总体分布形式,直接对数据的分布进行检验。由于不涉及总体分布的参数,故名「非参数」检验。比如,卡方检验。 衡量值不同 参数检验的集中趋势的衡量为均值,而非参数检验为中位数。 需要的信息不同 参数检验要利用到总体的信息(总体分布、总体的一些参数特征如方差),以总体分布和样本信息对总体参数

当我把这件事情做出来的时候,我想要的东西就已经拿到了 2万+

嵌入式Zephyr RTOS面试题及参考答案

在Zephyr中,为自定义外设编写Devicetree绑定(Bindings)有助于内核理解设备树中自定义外设节点的含义和属性。首先,需要创建一个.yaml格式的绑定文件,通常存放在目录下对应的子目录中,文件名应能反映外设的类型和功能。绑定文件的开头要定义基本信息,包括字段,用于简要描述外设的功能和用途;compatible字段,它是一个字符串列表,用于匹配设备树中自定义外设节点的compatible属性,设备树节点和绑定文件通过这个字段关联起来。接下来,要定义外设节点的属性。使用properties。

大模型大数据攻城狮的专栏 988

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

r语言t检验输出检验统计量_R语言统计与绘图:非参数检验

在数据分析中,t检验和方差分析是最常用于组间差异比较的统计方法,但是条件也是比较难满足的:随机样本;正态分布;方差齐性。如果数据资料不满足这些条件,怎么办?非参数检验(Nonparametric tests)可能就是一个比较好的方法。对非正态分布数据,我们无法根据样本数据对总体分布的统计参数进行推断,可以用排秩(排序)的方法来规避不是正态分布的问题,用样本的排序情况来推断总体的分布情况。...

weixin_42510604的博客 2887

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

SPSS 非参数检验:Wilcoxon符号秩检验 vs 配对T检验,5步完成数据适用性判断

本文详细介绍了SPSS中Wilcoxon符号秩检验与配对T检验的适用场景与选择方法,提供了五步决策流程帮助判断数据适用性。通过实战案例和SPSS操作指南,帮助研究人员在数据不满足正态分布时仍能获得可靠统计结论,特别适合医疗、市场调查和学术研究领域的数据分析。

dixi7825的博客 360

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Wilcoxon符号秩+秩和检验学习[转载]

参数检验就是已知数据的精确分布模型,根据数据来求出模型中的未知参数;而非参数检验就是无需对样本总体分布(比如满足正态分布)做出假设。 1.符号检验 转自:https://baike.baidu.com/item/%E9%9D%9E%E5%8F%82%E6%95%B0%E6%A3%80%E9%AA%8C/6910745 符号检验也是用来检验两配对样本所来自的总体的分布是否存在显著差异的非参数方...

weixin_34234829的博客 1万+

MATLAB中Wilcoxon符号秩检验:原理、实现与避坑指南

在数据分析中,假设检验是判断数据间是否存在显著差异的核心方法。当数据不满足正态分布假设时,参数检验如t检验的可靠性会降低,此时非参数检验成为更稳健的选择。Wilcoxon符号秩检验作为一种经典的非参数方法,通过分析配对数据差值的方向和秩次,检验其中位数是否为零,对离群值和非正态数据具有很好的耐受性。其技术价值在于为科研与工程中的配对比较问题提供了不依赖分布假设的解决方案,广泛应用于医学试验、产品测试、心理学研究等领域。在MATLAB中,`signrank`函数封装了该检验的完整计算流程,用户需正确理解其输入

weixin_34296641的博客 452

Wilcoxon符号秩检验

结果显示存在统计显著性差异:$W = 34, p = .003$(双尾),效应量 $r = -.52$。若$W < W_{\text{critical}}$(查表)或 $p < \alpha$ (通常0.05),则拒绝$H_0$$H_1$:两种算法性能差异的中位数 ≠ 0 (存在实质性差异)$H_0$:两种算法性能差异的中位数 = 0 (无实质性差异)分别计算正/负差异的秩和:$W^+$, $W^-$按$|d_i|$升序排列,赋予秩次$R_i$$|r| \geq 0.5$:强效应。

技术日常 1208
上一篇: 51单片机串口通信实战:用HC6800S开发板实现收发数据(附完整代码)
下一篇: Multisim 14.3 电路仿真与设计全攻略:从入门到精通
devops8pract
博客等级 码龄4年 533粉丝 849原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值