选择核密度估计带宽LSCV与DPI方法对比

最小二乘交叉验证(Least Squares Cross-Validation, LSCV)和直接插入法(Direct Plug-in, DPI)是两种常用于选择核密度估计带宽的方法。

原理与定义

最小二乘交叉验证(LSCV)

原理:通过交叉验证方法,计算密度估计的均方误差,选择使得均方误差最小的带宽。

公式
L S C V ( h ) = ∫ R f ^ ( x ; h ) 2 d x − 2 n ∑ i = 1 n f ^ − i ( X i ; h ) LSCV(h) = \int_{\mathbb{R}} \hat{f}(x; h)^2 dx - \frac{2}{n} \sum_{i=1}^{n} \hat{f}_{-i}(X_i; h) LSCV(h)=Rf^(x;h)2dxn2i=1nf^i(Xi;h)
其中, f ^ − i ( X i ; h ) \hat{f}_{-i}(X_i; h) f^i(Xi;h) 表示去掉第 i i i 个观测值后的核密度估计。

目标:最小化 L S C V ( h ) LSCV(h) LSCV(h) 以找到最佳带宽 h L S C V h_{LSCV} hLSCV

直接插入法(DPI)

原理:基于优化目标(如均方积分误差,AMISE),直接插入估计量来计算带宽。这个方法通过初步估计一些未知量,并将它们代入带宽选择公式中。

公式
h A M I S E = ( d ∥ K ∥ L 2 2 n μ 2 ( κ ) 2 ∥ Δ f ∥ L 2 2 ) 1 d + 4 h_{AMISE} = \left( \frac{d \|K\|_{L_2}^2}{n \mu_2(\kappa)^2 \|\Delta f\|_{L_2}^2} \right)^{\frac{1}{d+4}} hAMISE=(nμ2(κ)2∥ΔfL22dKL22)d+41
其中, ∥ Δ f ∥ L 2 2 \|\Delta f\|_{L_2}^2 ∥ΔfL22 需要通过初步估计计算得到。

目标:通过直接插入法估计所需的未知量,最终得到最佳带宽。

计算步骤

LSCV

  1. 计算核密度估计 f ^ ( x ; h ) \hat{f}(x; h) f^(x;h)
  2. 交叉验证:去掉每一个数据点,计算去掉后的核密度估计值 f ^ − i ( X i ; h ) \hat{f}_{-i}(X_i; h) f^i(Xi;h)
  3. 计算LSCV值:将这些估计值带入LSCV公式,计算出LSCV值。
  4. 优化带宽:通过数值优化,找到使得LSCV值最小的带宽 h L S C V h_{LSCV} hLSCV

DPI

  1. 初步估计:选择一个初步带宽矩阵 G \mathbf{G} G ,计算初步密度估计 f ~ ( x , G ) \tilde{f}(x, \mathbf{G}) f~(x,G)
  2. 估计拉普拉斯量:计算初步密度估计的拉普拉斯量,并求其 L 2 L_2 L2 范数的平方。
  3. 带入公式:将估计的 ∥ Δ f ∥ L 2 2 \|\Delta f\|_{L_2}^2 ∥ΔfL22 带入带宽选择公式,计算最终的带宽矩阵 h A M I S E h_{AMISE} hAMISE

优缺点

LSCV

优点

  • 理论基础扎实,是一种无偏估计方法。
  • 适用于不同类型的数据集,尤其是在不确定数据分布的情况下。

缺点

  • 计算量大,特别是在大数据集或多维数据中,计算每一个去掉点的核密度估计值非常耗时。
  • 对带宽的选择较为敏感,优化过程可能较为复杂。

DPI

优点

  • 计算过程相对简单,尤其是在初步估计步骤得到合理估计后。

  • 可以通过初步估计直接计算带宽,不需要进行复杂的交叉验证。

缺点

  • 依赖于初步估计的质量,如果初步估计不准确,最终结果也可能不准确。

  • 需要对核函数和数据分布有一定的先验知识,以便正确计算公式中的各项。

适用场景

LSCV

  • 更适合没有明确先验知识的数据集。

  • 适用于需要精确估计误差的场景。

DPI

  • 更适合有一定先验知识的数据集。

  • 在初步估计容易获得的情况下,DPI可能更高效。

总结

LSCV和DPI是两种不同的带宽选择方法,各有优缺点。LSCV通过交叉验证方法来最小化估计误差,适用于各种数据集,但计算量较大。DPI则通过直接插入估计量来计算带宽,适用于有先验知识的数据集,计算相对简单但依赖于初步估计的准确性。在实际应用中,选择合适的方法取决于具体的数据特点和计算资源。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/848631.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

二叉树的中序遍历-力扣

二叉树的中序遍历,指首先遍历左节点,然后遍历中间节点,最后遍历右节点,按照这个顺序进行递归即可。 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* …

【前端】JS示例:实现在一个数组(arrSstd)中查找基于uapid的值,并根据该值是否存在来决定是更新roleid还是添加新数据

要实现在一个数组(arrSstd)中查找基于uapid的值,并根据该值是否存在来决定是更新roleid还是添加新数据,你可以使用Array.prototype.find或Array.prototype.findIndex方法来检查是否存在具有特定uapid的对象。如果找到,…

GraphQL(5):使用Mutations修改数据

GraphQL中的使用Mutation查询,下面介绍详细操作,新建一个mutation.js文件。 1 定义schema 1.1 定义模型对象 (1)定义输入模型 input AccountInput {name: Stringage: Intsex: Stringdepartment: String} (2&#xf…

攻防世界---misc---Ditf

1、题目描述,下载附件,是一张图片 2、打开图片,发现宽高不一样,猜测可能是需要修改宽高,用winhex分析,没有发现奇怪的地方 3、用kali中的binwalk命令,分析图片,发现有个压缩包&#…

基于SpringBoot+Vue二手家电管理平台设计和实现(源码+LW+调试文档+讲解等)

💗博主介绍:✌全网粉丝1W,CSDN作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,还…

【Python基础知识】安装第三方库的两种方式——在线与离线

在线 电脑有网络的情况下,直接换镜像,然后pip install就行。 离线 我遇到了一种情况是,学校里的服务器连不上网,导致没法在线pip install,所以只能通过离线的方式下载。步骤如下: 找一台有网络的电脑&a…

va_start和va_end使用介绍

一 概述 采用C语言编程的时候,函数中形式参数的数目通常是确定的,在调用时要依次给出与形式参数对应的所有实际参数。但在某些情况下希望函数的参数个数可以根据需要确定。典型的例子有大家熟悉的函数printf()、scanf()和系统调用execl()等。那么它们是怎…

Python语言分为:深度解析Python的四大维度、五大特色、六大应用场景及七大发展趋势

Python语言分为:深度解析Python的四大维度、五大特色、六大应用场景及七大发展趋势 Python,作为当今最受欢迎的编程语言之一,其广泛的应用领域和独特的语言特性使其成为编程领域的明星。本文将从四个方面、五个方面、六个方面和七个方面&…

基于jeecgboot-vue3的Flowable流程-待办任务(一)

因为这个项目license问题无法开源,更多技术支持与服务请加入我的知识星球。 1、ToDo.data.ts的数据信息如下 import {BasicColumn} from //components/Table; import {FormSchema} from //components/Table; import { rules} from //utils/helper/validator; impor…

Hyper-V 安装 CentOS Stream 9【图文教程】

文章目录 准备工作:选择 CentOS 版本第 1 步:下载官方下载阿里云镜像下载第 2 步:创建虚拟机第 3 步:安装虚拟机修改安全配置安装虚拟机配置网路第 4 步:使用 SSH 连接查看 IP 地址使用 SSH 连接参考🚀 目标:通过 Hyper-V 在本地搭建一个 CentOS 虚拟机。 准备工作:选…

c# iText使用

引入包 用nuget安装itext和itext.bouncy-castle-adapter包: 创建pdf string path "a.pdf"; PdfWriter writer new PdfWriter(path); PdfDocument pdfDoc new PdfDocument(writer); var docnew Document(pdfDoc); Paragraph p new Paragraph(&quo…

Python03:python代码初体验2

1、变量命名规范 1)字母(Unicode字符)、数字、下划线,不能使用特殊字符,数字不能开头 2)变量名是区分大小写的(大小写敏感,x和X是两个不同的变量名) 3)不能使…

【打印功能】js简单实现表格样式的数据打印,按样式打印出来

效果图 代码部分&#xff0c;简单三步 1&#xff0c;html部分&#xff1a;写一个表格&#xff0c;然后数据填进去 <div id"printable-area" v-show"false"><div><div style"text-align: center;height: 40px;line-height: 40px;font…

语音深度鉴伪识别项目实战:基于深度学习的语音深度鉴伪识别算法模型(三)音频去噪算法大全+Python源码应用

前言 深度学习技术在当今技术市场上面尚有余力和开发空间的&#xff0c;主流落地领域主要有&#xff1a;视觉&#xff0c;听觉&#xff0c;AIGC这三大板块。 目前视觉板块的框架和主流技术在我上一篇基于Yolov7-LPRNet的动态车牌目标识别算法模型已有较为详细的解说。与AIGC相…

IDEA快捷生成左边变量,取消final关键字

一&#xff1a;问题 如图&#xff1a;每次使用CtrlALtV或.var自动生成左边变量都会有final关键字&#xff0c;然后需要删除很麻烦 二&#xff1a;解决 以下步骤设置取消生成final关键字 1.先 生成变量&#xff1a;我是使用.var自动生成左边变量 2.使用快捷键ALtshiftO或者点…

安全测试 之 安全漏洞: ClickHiJacking

1. ClickHiJacking 定义 点击劫持&#xff08;Click Jacking&#xff09;是一种视觉上的欺骗手段&#xff0c;攻击者通过使用一个透明的iframe&#xff0c;覆盖在一个网页上&#xff0c;然后诱使用户在该页面上进行操作&#xff0c;通过调整iframe页面的位置&#xff0c;可以使…

停止在你的数据库中使用UUID

在数据库中唯一标识行的最常见方法之一是使用UUID字段。然而&#xff0c;这种方法带来了需要注意的性能问题。 本文将讨论在使用UUID作为数据库表中的键时可能出现的两个性能问题。 我们直接进入正题&#xff01; 什么是UUID&#xff1f; UUID代表通用唯一标识符&#xff08;Un…

做个简单的电脑桌面窗体插件,通过.exe执行命令就可以执行

做个简单的电脑桌面窗体插件&#xff0c;通过.exe执行命令就可以执行 步骤一&#xff1a;安装所需的库步骤二&#xff1a;创建一个简单的PyQt5应用步骤三&#xff1a;保存并运行步骤四&#xff1a;打包为可执行文件总结 我们可以使用Python和PyQt5来创建一个简单的桌面窗体应用…

SwiftUI中ScrollViewReader的使用(自动滚动ScrollView)

ScrollViewReader是我最喜欢的SwiftUI新版本的新功能之一。在iOS 14发布之前&#xff0c;控制ScrollView的滚动位置并不容易。如果希望滚动视图滚动到特定位置&#xff0c;我们必须找到自己的解决方案。 使用ScrollViewReader&#xff0c;只需几行代码&#xff0c;就可以使滚动…

Linux学习—Linux环境下的网络设置

在当今的数字化时代&#xff0c;网络配置是任何系统管理员和开发者必须掌握的技能之一。Linux操作系统以其灵活性和强大的网络功能而闻名&#xff0c;本文将带你深入了解Linux环境下的网络配置&#xff0c;并通过代码示例展示如何进行基本的网络设置。 Linux网络基础 Linux网…