首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >stats.gaussian_kde方法是如何计算pdf的?

stats.gaussian_kde方法是如何计算pdf的?
EN

Stack Overflow用户
提问于 2015-05-12 09:30:51
回答 1查看 1.9K关注 0票数 1

我使用来自scipy.stats.gaussian_kdescipy方法从数据中生成随机样本。

很好用!我现在发现的是,这个方法也有内置的函数来计算给定点集(我的数据)的概率密度函数。

I would like to know how it calculates the pdf provided a set of points.

下面是一个小例子:

代码语言:javascript
运行
复制
import numpy as np
import scipy.stats
from scipy import stats

def getDistribution1(data):
    kernel = stats.gaussian_kde(data,bw_method=0.06)
    class rv(stats.rv_continuous):
        def _rvs(self, *x, **y):
            return kernel.resample(int(self._size)) #random variates
        def _cdf(self, x):
            return kernel.integrate_box_1d(0,max(x)) #Integrate pdf between two bounds (-inf to x here!)
        def _pdf(self, x):
            return kernel.evaluate(x)  #Evaluate the estimated pdf on a provided set of points
    return rv(name='kdedist')

test_data = np.random.random(100) # random test data 
distribution_data = getDistribution1(test_data)
pdf_data = distribution_data.pdf(test_data) # the pdf of the data

在上面的代码中,有三种方法,

  1. 基于数据生成随机样本的rvs
  2. cdf,它是从0到最大值的pdf的积分(数据)
  3. pdf是数据的pdf。

我需要这个pdf的原因是因为现在我试图根据概率为我的数据计算权重,这样我就可以给我的每个数据点一个概率,然后我可以用它作为我的权重。

我也想知道,从这里开始,我应该如何计算我的权重?

请原谅我在交叉验证中问了同样的问题,似乎没有反应!

EN

回答 1

Stack Overflow用户

发布于 2015-05-12 09:47:41

在线文档有一个指向源代码的链接,用于gaussian_kde的源代码如下:https://github.com/scipy/scipy/blob/v0.15.1/scipy/stats/kde.py#L193

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30186868

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档