使用scipy高斯核密度估计计算CDF逆

2023-11-21

The gaussian_kde函数于scipy.stats有一个功能evaluate可以返回输入点的 PDF 值。我正在尝试使用gaussian_kde估计逆 CDF。其动机是生成一些输入数据的蒙特卡罗实现,这些数据的统计分布是使用 KDE 进行数值估计的。有没有绑定的方法gaussian_kde可以达到这个目的吗?

下面的示例显示了这对于高斯分布的情况如何工作。首先,我展示如何进行 PDF 计算来设置我想要实现的特定 API:

import numpy as np 
from scipy.stats import norm, gaussian_kde

npts_kde = int(5e3)
n = np.random.normal(loc=0, scale=1, size=npts_kde)
kde = gaussian_kde(n)

npts_sample = int(1e3)
x = np.linspace(-3, 3, npts_sample)
kde_pdf = kde.evaluate(x)
norm_pdf = norm.pdf(x)

Demo of KDE approximation of the PDF of a normal distribution

是否有一种类似简单的方法来计算逆 CDF?这norm功能非常方便isf正是执行此操作的函数:

cdf_value = np.sort(np.random.rand(npts_sample))
cdf_inv = norm.isf(1 - cdf_value)

Demo of desired KDE approximation of the CDF of a normal distribution

是否存在这样的功能kde_gaussian?或者从已经实现的方法构造这样的函数是否简单?


方法integrate_box_1d可用于计算 CDF,但它不是矢量化的;你需要循环点。如果内存不是问题,重写它源代码(这本质上只是一个调用special.ndtr)矢量形式可能会加快速度。

from scipy.special import ndtr
stdev = np.sqrt(kde.covariance)[0, 0]
pde_cdf = ndtr(np.subtract.outer(x, n)).mean(axis=1)
plot(x, pde_cdf)

反函数的绘图将是plot(pde_cdf, x)。如果目标是计算特定点的反函数,请考虑使用插值样条的逆,对 CDF 的计算值进行插值。

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

使用scipy高斯核密度估计计算CDF逆 的相关文章

  • 使用 pythonbrew 编译 Python 3.2 和 2.7 时出现问题

    我正在尝试使用构建多个版本的 python蟒蛇酿造 http pypi python org pypi pythonbrew 0 7 3 但我遇到了一些测试失败 这是在运行的虚拟机上 Ubuntu 8 04 32 位 当我使用时会发生这种情
  • 使用 psycopg2 在 python 中执行查询时出现“编程错误:语法错误位于或附近”

    我正在运行 Python v 2 7 和 psycopg2 v 2 5 我有一个 postgresql 数据库函数 它将 SQL 查询作为文本字段返回 我使用以下代码来调用该函数并从文本字段中提取查询 cur2 execute SELECT
  • 通过 Scrapy 抓取 Google Analytics

    我一直在尝试使用 Scrapy 从 Google Analytics 获取一些数据 尽管我是一个完全的 Python 新手 但我已经取得了一些进展 我现在可以通过 Scrapy 登录 Google Analytics 但我需要发出 AJAX
  • Python 中的 Lanczos 插值与 2D 图像

    我尝试重新缩放 2D 图像 灰度 图像大小为 256x256 所需输出为 224x224 像素值范围从 0 到 1300 我尝试了两种使用 Lanczos 插值来重新调整它们的方法 首先使用PIL图像 import numpy as np
  • SQLAlchemy 通过关联对象声明式多对多自连接

    我有一个用户表和一个朋友表 它将用户映射到其他用户 因为每个用户可以有很多朋友 这个关系显然是对称的 如果用户A是用户B的朋友 那么用户B也是用户A的朋友 我只存储这个关系一次 除了两个用户 ID 之外 Friends 表还有其他字段 因此
  • 将 Matplotlib 误差线放置在不位于条形中心的位置

    我正在 Matplotlib 中生成带有错误栏的堆积条形图 不幸的是 某些层相对较小且数据多样 因此多个层的错误条可能重叠 从而使它们难以或无法读取 Example 有没有办法设置每个误差条的位置 即沿 x 轴移动它 以便重叠的线显示在彼此
  • 如何在flask中使用g.user全局

    据我了解 Flask 中的 g 变量 它应该为我提供一个全局位置来存储数据 例如登录后保存当前用户 它是否正确 我希望我的导航在登录后在整个网站上显示我的用户名 我的观点包含 from Flask import g among other
  • 使用 matplotlib 绘制时间序列数据并仅在年初显示年份

    rcParams date autoformatter month b n Y 我正在使用 matpltolib 来绘制时间序列 如果我按上述方式设置 rcParams 则生成的图会在每个刻度处标记月份名称和年份 我怎样才能将其设置为仅在每
  • PyUSB 1.0:NotImplementedError:此平台不支持或未实现操作

    我刚刚开始使用 pyusb 基本上我正在玩示例代码here https github com walac pyusb blob master docs tutorial rst 我使用的是 Windows 7 64 位 并从以下地址下载 z
  • 根据列值突出显示数据框中的行?

    假设我有这样的数据框 col1 col2 col3 col4 0 A A 1 pass 2 1 A A 2 pass 4 2 A A 1 fail 4 3 A A 1 fail 5 4 A A 1 pass 3 5 A A 2 fail 2
  • 使用 Tkinter 显示 numpy 数组中的图像

    我对 Python 缺乏经验 第一次使用 Tkinter 制作一个 UI 显示我的数字分类程序与 mnist 数据集的结果 当图像来自 numpy 数组而不是我的 PC 上的文件路径时 我有一个关于在 Tkinter 中显示图像的问题 我为
  • Python 函数可以从作用域之外赋予新属性吗?

    我不知道你可以这样做 def tom print tom s locals locals def dick z print z name z name z guest Harry print z guest z guest print di
  • 绘制方程

    我正在尝试创建一个函数 它将绘制我告诉它的任何公式 import numpy as np import matplotlib pyplot as plt def graph formula x range x np array x rang
  • Python 的“zip”内置函数的 Ruby 等价物是什么?

    Ruby 是否有与 Python 内置函数等效的东西zip功能 如果不是 做同样事情的简洁方法是什么 一些背景信息 当我试图找到一种干净的方法来进行涉及两个数组的检查时 出现了这个问题 如果我有zip 我可以写这样的东西 zip a b a
  • IO 密集型任务中的 Python 多线程

    建议仅在 IO 密集型任务中使用 Python 多线程 因为 Python 有一个全局解释器锁 GIL 只允许一个线程持有 Python 解释器的控制权 然而 多线程对于 IO 密集型操作有意义吗 https stackoverflow c
  • 使用 \r 并打印一些文本后如何清除控制台中的一行?

    对于我当前的项目 有一些代码很慢并且我无法使其更快 为了获得一些关于已完成 必须完成多少的反馈 我创建了一个进度片段 您可以在下面看到 当你看到最后一行时 sys stdout write r100 80 n I use 80覆盖最终剩余的
  • Python:如何将列表列表的元素转换为无向图?

    我有一个程序 可以检索 PubMed 出版物列表 并希望构建一个共同作者图 这意味着对于每篇文章 我想将每个作者 如果尚未存在 添加为顶点 并添加无向边 或增加每个合著者之间的权重 我设法编写了第一个程序 该程序检索每个出版物的作者列表 并
  • 如何计算 pandas 数据帧上的连续有序值

    我试图从给定的数据帧中获取连续 0 值的最大计数 其中包含来自 pandas 数据帧的 id date value 列 如下所示 id date value 354 2019 03 01 0 354 2019 03 02 0 354 201
  • Rocket UniData/UniVerse:ODBC 无法分配足够的内存

    每当我尝试使用pyodbc连接到 Rocket UniData UniVerse 数据时我不断遇到错误 pyodbc Error 00000 00000 Rocket U2 U2ODBC 0302810 Unable to allocate
  • Python Selenium:如何在文本文件中打印网站上的值?

    我正在尝试编写一个脚本 该脚本将从 tulsaspca org 网站获取以下 6 个值并将其打印在 txt 文件中 最终输出应该是 905 4896 7105 23194 1004 42000 放置的动物 的 HTML span class

随机推荐

  • 多态性和 SwiftUI

    给出以下示例 class ProfileTab Identifiable let id UUID let name String init name String self name name class ProfileQuoteTab P
  • 如何设置静态 UITableView 作为 UIView 的子视图?

    当我与一个TableViewController我可以在故事板中设置所有内容 自从我使用静态单元格代替动态属性对于我的表视图 我发现这种方法更方便且更容易实现 我连接新的 UITableView 类并简单地删除所有委托方法 工作起来就像一个
  • 将图块的 xyz 坐标转换为经度/纬度

    我想使用 openlayers 制作地图 但以独特的方式将其居中 例如 我的 z x y 坐标为 12 2045 1362 如何将其转换为经度 纬度 这与此完全相反 如何通过点击Leaflet地图获取tile的X Y Z坐标 我很难理解上述
  • 如何在 Clojure 中评估一系列不纯函数?

    如何评估 Clojure 中的 不纯 函数列表 例如 println 1 println 2 println 3 预期输出是 1 2 3 有没有一种方法可以在不使用宏的情况下实现这一目标 就像是 map evaluate fns seq m
  • JavaScript中如何检查字符串是否包含子字符串?

    这个问题的答案是社区努力 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 通常我会期望String contains 方法 但好像没有 检查此问题的合理方法是什么 推出 ECMAScript 6String prototype inc
  • PerRequestLifetimeManager 只能在 HTTP 请求的上下文中使用

    我有一个 MVC 应用程序 它使用 Unity 作为其 IoC 容器 并使用以下方式在我的应用程序中定义了多个服务 PerRequestLifetimeManager container RegisterType
  • 在 pycharm 中创建项目结构的正确方法是什么?

    我是 python 新手 不知道如何以正确的方式组织项目结构 因此所有自动导入都可以在 pycharm 中工作 这就是我目前的结构 在 PublisherSubscriberTest pycharm 生成此导入 from Rabbit Ra
  • 从库中查找 argc 和 argv

    我如何找到一个程序argc and argv来自共享对象 我正在用 C 编写一个库 将通过以下方式加载LD PRELOAD 我可以通过两种不同的方式找到堆栈 Read rsp通过内联 asm call Read proc
  • 为什么java rmi一直连接到127.0.1.1。当ip是192.168.X.X时?

    我有一个 java rmi 应用程序 我只是这样做 Client Registry registry LocateRegistry getRegistry localhost costApi CostApi registry lookup
  • 如果已安装,则无法重新运行 Java JPackage 安装程序,第二次只是退出而不发出警告

    无法重新运行JPackage安装程序如果已经安装 则第二次即可似乎退出没有警告 这在 Windows 上是正确的行为吗 你可能会问我为什么要这么做 就我而言 我正在尝试为我的 Java 应用程序构建 JPackage 安装程序 因此我正在构
  • 如何在 C# 中自动递增数字?

    我正在使用 C 2008 Windows 窗体应用程序 我的项目中有一个TextBox控制 因为我想为样本 s00 自动生成数字 接下来当我再次返回表单时 它应该像 s01 s02 s03 这样递增 请帮我 很容易 保留一个变量来保留当前数
  • ASP.NET MVC 中的脚本和 CSS 注册助手?

    我尝试使用 ASP NET MVC 一段时间 然后遇到一个问题 我不想将所有 js 和 css 包含在母版页中 但是如何从我的特定视图将其注册到母版页的头部 默认母版页模板包括用于头部的内容占位符 如果没有 您可以轻松添加一个
  • 通用方法 - 无法将类型“string”隐式转换为 T

    可能是一个简单的问题 我有一个界面 public interface ISanitizer T Sanitize
  • Jenkins - 将构建推广到不同的环境

    我希望获得一些关于通过其环境促进构建的最佳方式的指导 我们有 3 个环境 DEV STAGING PROD DEV Jenkins 构建在持续集成设置中运行 当代码签入到 subversion 时 Jenkins 将运行新的构建 清理 编译
  • 实例化一个特质意味着什么?

    我是 Scala 新手 在 O Reilly 的 Scala 编程 一书中 作者展示了一些实例化特征的代码 鉴于特征在某种程度上类似于 Java 中的接口 尽管我知道特征是作为字节代码中的类实现的 实例化特征意味着什么 以及适当的用例 设计
  • 从公钥正确创建 RSACryptoServiceProvider

    我目前正在尝试创建一个RSACryptoServiceProvider仅来自解码的 PEM 文件的对象 经过几天的搜索 我确实设法找到了一个可行的解决方案 但它还不是一个可以投入生产的解决方案 简而言之 为了创建一个RSACryptoSer
  • 从 ASP.NET MVC 中的现有数据库生成种子代码

    我想知道是否有人遇到过类似的挑战 我有一个数据库 其中包含一些从 Excel 文件进行 ETL 处理 导入和转换 的数据 在我的 ASP NET MVC Web 应用程序中 我使用 Code First 方法并在每次数据库更改时删除 创建
  • 如何使 pyplot.subplots 内的图像更大

    我需要在网格中显示20张图像 我的代码如下 def plot matric demo img nrows ncols fig ax plt subplots nrows nrows ncols ncols cur index 0 for r
  • Python 列表字典中的项目计数

    我有一个列表字典 我想为其添加一个值到特定列表 我有以下列表词典 d a 4 Adam 2 b 3 John 4 c 4 Adam 3 d 4 Bill 3 e 4 Bob f 4 Joe g 4 Bill 我想本质上计算出名字的数量并返回
  • 使用scipy高斯核密度估计计算CDF逆

    The gaussian kde函数于scipy stats有一个功能evaluate可以返回输入点的 PDF 值 我正在尝试使用gaussian kde估计逆 CDF 其动机是生成一些输入数据的蒙特卡罗实现 这些数据的统计分布是使用 KD