标签: kernel-density

如何在python中获得密度峰值

我正在制作这样的密度图如何在matplotlib中创建密度图?即时通讯将使avvlines到图上的几个点,我的问题是我需要知道最高峰的确切x值是多少。

我可以通过循环找到它:

    density = gaussian_kde(data)
    aa = 0
    bb = 0
    for i in range(max value of data):
       if density(i)[0]>aa:
            aa = density(i)[0]
            bb = i
Run Code Online (Sandbox Code Playgroud)

此bb之后的值具有峰值的x值,但执行此循环的时间太长。此刻大约需要25秒,将来数据的大小会更大

我希望这不是重复的,但至少找不到这个问题。

python scipy kernel-density

1
推荐指数
1
解决办法
3860
查看次数

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

核密度估计器用于估计特定的概率密度函数(请参阅mvstat.netsckit-learn docs以获取参考)

我的困惑是关于究竟做了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)
Run Code Online (Sandbox Code Playgroud)

statistics r kernel-density scikit-learn probability-density

1
推荐指数
1
解决办法
1171
查看次数

用于seaborn.kdeplot的Colorbar

我想用Seaborn.kdeplot创建一个Kernel-Density-Estimation,边上有一个颜色条.

import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np; np.random.seed(10)
import seaborn as sns; sns.set(color_codes=True)
mean, cov = [0, 2], [(1, .5), (.5, 1)]
x, y = np.random.multivariate_normal(mean, cov, size=50).T
sns.kdeplot(x,y,shade=True)
plt.show()
Run Code Online (Sandbox Code Playgroud)

在创建Kernel-Density-Estimation时,我不知道如何创建颜色条.我尝试使用plt.colorbar()但没有成功.

python matplotlib kernel-density colorbar seaborn

1
推荐指数
2
解决办法
2881
查看次数

从计算的多元核密度估计中采样

假设我在地图上有 X 和 Y 坐标以及“热区”的非参数分布(例如,位于 X 和 Y 坐标处的地理地图上的污染程度)。我的输入数据是热图。

我想训练一个机器学习模型来学习“热区”是什么样子,但我没有很多标记的例子。所有“热区”看起来都非常相似,但可能位于我的标准化 XY 坐标图的不同部分。

我可以计算一个多元 KDE 并相应地绘制密度图。要生成合成标记数据,我是否可以“反转”KDE 并随机生成新的图像文件,其观察值在我的 KDE 的“密集”范围内?

有没有办法在python中做到这一点?

python statistics machine-learning kernel-density

1
推荐指数
1
解决办法
1721
查看次数

错误:运算符 *:不一致的参数(op1 是 rxc,op2 是 rxc)

我已经实现了以下函数来估计矩阵的 Parzen 密度

帕尔森

function [retval] = parzen (matrix, dataPoint, variance)
    [r c] = size(matrix);
    A = ones(r, c)*dataPoint;
    sub = matrix - A;
    up = sub.^2;
    dw = 2 * variance;
    firstPart = 1/(sqrt(2*pi*variance));
    retval = firstPart * exp((-1)*(up/dw));
Run Code Online (Sandbox Code Playgroud)

错误

>> parzen(train, test, 0.25)
error: parzen: operator *: nonconformant arguments (op1 is 1824x8, op2 is 1824x8
)
error: called from
    parzen at line 3 column 4
>>
Run Code Online (Sandbox Code Playgroud)

我怎样才能摆脱这个错误?

matlab kernel-density probability-density

1
推荐指数
1
解决办法
2万
查看次数

python中的条件概率密度估计

我有一个大数据集,每行包含3个属性:A,B,C

列A:可以取值1,2和0.列B和C:可以取任何值.

我想使用直方图对P(A = 2 | B,C)进行密度估计,并使用python绘制结果.

我不需要代码来做它,我可以尝试自己想出来.我只需要知道我应该使用的程序和工具吗?

python kernel-density probability-density

0
推荐指数
1
解决办法
2399
查看次数

将 ggplot2 与 ks 包的 kde 图结合使用

我正在使用ks来计算和绘制二元核密度估计。它效果很好,但我想使用 ggplot 来绘制估计值。

我可以尝试创建一个自定义函数来为 ggplot 准备数据框和其他内容,但我感觉更有经验的 R 用户可以更轻松地做到这一点。

那么,我该怎么做呢?

以下是 ks::kde 的示例场景:

data <- cbind(rnorm(100), rnorm(100))
kd <- ks::kde(data)
plot(kd, display = "slice", col = viridis::viridis(20))
plot(kd, display = "image", col = viridis::viridis(20))
plot(kd, display = "persp", col.fun = viridis::viridis)
Run Code Online (Sandbox Code Playgroud)

上面的代码应该给你以下的图。如何使用 ggplot 来绘制这些图?

编辑:我需要使用ks按包计算的估计值。提供的本机函数ggplot2使用名为 的包MASS。所以这样不行。

切片图 图像图 透视图

r ggplot2 kernel-density

0
推荐指数
1
解决办法
827
查看次数