R 中二维核密度估计的混乱

2024-06-28

核密度估计器用于估计特定的概率密度函数(参见mvstat.net http://www.mvstat.net/tduong/research/seminars/seminar-2001-05/ and scikit-learn 文档 http://scikit-learn.org/stable/modules/density.html供参考)

我的困惑在于到底是什么kde2d()做?它是否估计两个随机变量的联合分布概率密度函数f(a,b)在下面的例子中?颜色代表什么意思?

这是我指的代码示例。

b <- log10(rgamma(1000, 6, 3))
a <- log10((rweibull(1000, 8, 2)))
density <- kde2d(a, b, n=100)

colour_flow <- colorRampPalette(c('white', 'blue', 'yellow', 'red', 'darkred'))
filled.contour(density, color.palette=colour_flow)

什么是核密度估计器?本质上,它在数据的每个点(正态密度的中心是该点)上拟合一条小正态密度曲线,然后将所有小正态密度加到核密度估计器中。

For the sake of illustration I will add an image of a 1 dimensional kernel density estimator from one of your links http://www.mvstat.net/tduong/research/seminars/seminar-2001-05/. enter image description here

二维核密度怎么样?

# library(MASS)
b <- log10(rgamma(1000, 6, 3))
a <- log10((rweibull(1000, 8, 2)))
# a and b contain 1000 values each. 

density <- kde2d(a,b,n=100) 

该函数创建一个网格min(a) to max(a)和来自min(b) to max(b)。而不是在每个值上拟合一个微小的一维正态密度a or b, kde2d现在在网格中的每个点上都拟合一个微小的二维法线密度。就像一维情况下的核密度一样,它将所有密度值相加。

颜色代表什么意思?正如 @cel 在评论中指出的:估计概率取决于两个变量,所以我们现在有三个轴(a, b and estimated probability)。可视化 3 轴的一种方法是使用等概率等值线。这听起来很奇特,但它与我们从天气预报中获知的高/低压图像基本相同。

您正在使用

filled.contour(density, 
    color.palette = colorRampPalette(c('white', 'blue', 'yellow', 'red', 'darkred')))))

So from low to high, the plot will be coloured white, blue, yellow, red and eventually darkred for the highest values of estimated probability. This results in the following plot:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R 中二维核密度估计的混乱 的相关文章

  • R 中循环函数返回什么值

    我正在阅读 R 语言手册 想知道循环函数返回什么值 手册第 3 3 2 节循环中说 三个语句 for while repeat 中的每一个都返回最后计算的语句的值 循环语句的返回值始终为 NULL 并且是不可见返回的 那么返回什么值 NUL
  • R 绘制一些 unicode 字符,但不绘制其他字符

    我们的系统管理员刚刚将我们的操作系统升级到 SLES12SP1 我重新安装了 Rv3 2 3 并尝试绘图 我用cairo pdf并尝试绘制 x 标签为的图 u0298即太阳能符号 但它不起作用 标签只是空白 例如 cairo pdf Rpl
  • 如何使用 ggplot2 在轴标签中使用上标

    如何在x轴上打印埃平方 我尝试如下 labs x x axis 2 y y axis 我们可以用bquote library ggplot2 ggplot mtcars aes hp mpg geom point labs x bquote
  • 在子目录中构建共享库

    我正在尝试构建一个使用一些 C 代码的 R 包 我有一个编译为可执行文件的 C 库 可以从命令行调用 有一个与之关联的 Makefile 我正在尝试获取信息here http cran r project org doc manuals R
  • 通过环境.yml 文件使用 conda 安装 R 包

    通常我会创建 conda 环境 例如 conda env create f environment yml conda activate env name 通常我使用 Python 工作 典型的environment yml简单的文件可能看
  • 根据值绘制具有条件颜色的折线图

    我想绘制折线图 根据值 它应该改变它的颜色 我发现的是 plot sin seq from 1 to 10 by 0 1 type p col ifelse sin seq from 1 to 10 by 0 1 gt 0 5 red ye
  • 为什么 NaN^0 == 1

    受到早期高尔夫代码的提示 为什么会 gt NaN 0 1 1 这非常有道理NA 0为 1 因为NA缺少数据 并且any数字提高到 0 将得到 1 包括 Inf and Inf 然而NaN应该代表非数字 那么为什么会这样呢 当帮助页面出现时
  • 在 R 中提取栅格的最快方法(提高我的可重现代码的时间)

    我想知道我是否已最大化提取栅格中某个点周围缓冲区域平均值的速度 本地的性能可以进一步提高吗 I use parallel mclapply已经 我知道我可以通过在集群上设置和运行它来获得进一步的收益 使用集群或获得更多的CPU不是我正在寻找
  • 在 ggplot2 中使用 FontAwesome 作为点的替代品

    这可能是一个相当基本的事情 但我似乎找不到有意义的答案 我正在尝试使用 R 中的 fontawesome 包将表情符号用作 ggplot2 图表中的点 但我很难弄清楚如何为每个变量分配不同的表情符号 这是一些示例数据 我们将数据框称为 样本
  • 在 RStudio 中自动格式化 R 代码

    RStudio 中是否有自动格式化代码的可能性 I found this https stackoverflow com questions 3017877 tool to auto format r code 但未与RStudio连接 还
  • 如何从 R 中的列表列表中提取元素?

    我有一堆列表 其中包含列表 广义线性模型输出 我想编写一个函数 该函数将从每个列表中提取多个元素 然后将结果组合到数据框中 我想提取modelset 1 likelihood modelset 1 fixef modelset 2 like
  • multidplyr :将函数分配给集群

    参见下面的工作解决方案 我想使用 multidplyr 并行化函数 calculs R f lt function x return x 1 main R library dplyr library multidplyr source ca
  • 从数据框中提取具有最高值和最低值的行

    我对 R 还很陌生 我主要用它来可视化统计数据ggplot2图书馆 现在我遇到了数据准备的问题 我需要编写一个函数 该函数将从数据框中删除指定列中具有最高和最低值的一些数字 2 5 或 10 行 并将它们放入另一个数据框中 并对两个因素的每
  • R 中的因素:不仅仅是烦恼?

    R 中的基本数据类型之一是因子 根据我的经验 因素基本上是一种痛苦 我从不使用它们 我总是转换为字符 我感觉很奇怪 好像我错过了什么 是否有一些使用因子作为分组变量的函数的重要示例 其中因子数据类型变得必要 当我should使用因素 你应该
  • 如何实例化具有已知系数的 Scikit-Learn 线性模型而不进行拟合

    背景 作为实验的一部分 我正在测试各种保存的模型 但其中一个模型来自我编写的算法 而不是来自 sklearn 模型拟合 但是 我的自定义模型仍然是线性模型 所以我想实例化一个LinearModel实例并设置coef and intercep
  • 使用自定义指标的标准差选择带插入符号的调整参数

    我将插入符号与自定义拟合指标一起使用 但我不仅需要最大化该指标 还需要最大化其置信区间的下限 所以我想最大化类似的东西mean metric k stddev metric 我知道如何手动执行此操作 但是有没有办法告诉插入符使用此函数自动选
  • R 代码编程:在堆叠排序表上先向下填充缺失列值,然后向上填充

    我有一个包含 3 列的数据框 但第三列有一些缺失值 需要用以下逻辑填充 期望的结果是第三列 部分 上没有缺失值 要填充它 我们必须找到第一个 周 其中为该特定 项目 第一列 填充了 部分 值 并且然后通过向下复制 part 来填充它 直到找
  • 在 R 中将数组转换为矩阵

    我有一个数组 其中包括名为 comp 的项目 是 否 的两个熟练度变量 theta0 theta1 这需要转换为一个矩阵 有什么方法可以转换像底部那样的矩阵吗 我的数组如下所示 gt priCPT i6 comp Yes theta1 th
  • 基于 R 中多个现有列的计算的新列

    R df orginal 中的原始数据框 AB CD EF GH A 0 12 M A 0 13 F A 0 14 F A 1 16 M A 1 17 F A 1 18 M A 1 18 M A 2 0 78 M A 2 0 12 M A
  • 如何将 unicode 符号转换为 ggplot 的因子水平?

    我想在 ggplot 图例中获取一个符号 而不在比例中指定 我要这个 df lt data frame a 1 5 b factor 1 5 labels c 1 4 u2265 5 c 10 14 ggplot df aes a c co

随机推荐