将 scipy.stats.gaussian_kde 与二维数据一起使用

2023-11-21

我正在尝试使用the scipy.stats.gaussian_kde class把一些离散的经纬度信息采集到的数据进行平滑处理,所以最后看起来有点像等高线图,密度高的就是峰,密度低的就是谷。

我很难将二维数据集放入gaussian_kde班级。我已经尝试弄清楚它如何处理一维数据,所以我认为二维数据应该是这样的:

from scipy import stats
from numpy import array
data = array([[1.1, 1.1],
              [1.2, 1.2],
              [1.3, 1.3]])
kde = stats.gaussian_kde(data)
kde.evaluate([1,2,3],[1,2,3])

也就是说我有 3 分[1.1, 1.1], [1.2, 1.2], [1.3, 1.3]。我想使用 1 到 3 进行核密度估计,在 x 和 y 轴上使用宽度 1。

创建 gaussian_kde 时,它​​一直给我这个错误:

raise LinAlgError("singular matrix")
numpy.linalg.linalg.LinAlgError: singular matrix

查看源代码gaussian_kde,我意识到我思考数据集含义的方式与计算维度的方式完全不同,但我找不到任何示例代码来显示多维数据如何与模块配合使用。有人可以帮我提供一些示例使用方法吗gaussian_kde多维数据?


这个例子似乎正是您正在寻找的:

import numpy as np
import scipy.stats as stats
from matplotlib.pyplot import imshow

# Create some dummy data
rvs = np.append(stats.norm.rvs(loc=2,scale=1,size=(2000,1)),
                stats.norm.rvs(loc=0,scale=3,size=(2000,1)),
                axis=1)

kde = stats.kde.gaussian_kde(rvs.T)

# Regular grid to evaluate kde upon
x_flat = np.r_[rvs[:,0].min():rvs[:,0].max():128j]
y_flat = np.r_[rvs[:,1].min():rvs[:,1].max():128j]
x,y = np.meshgrid(x_flat,y_flat)
grid_coords = np.append(x.reshape(-1,1),y.reshape(-1,1),axis=1)

z = kde(grid_coords.T)
z = z.reshape(128,128)

imshow(z,aspect=x_flat.ptp()/y_flat.ptp())

enter image description here

显然,轴需要修理。

您还可以使用以下命令绘制数据散点图

scatter(rvs[:,0],rvs[:,1])

enter image description here

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

将 scipy.stats.gaussian_kde 与二维数据一起使用 的相关文章

  • 将 1d 数组索引转换为 3d 数组索引?

    我有一个 int 我想将其转换为 3d 数组索引的 3 个 int 这是我正在处理的示例 byte array new byte XSize YSize ZSize int i 0 other code array cur other co
  • 在 numpy/scipy 中查找 matlab 函数

    是否有一个等价的函数find A gt 9 1 来自 numpy scipy 的 matlab 我知道有nonzeronumpy 中的函数 但我需要的是第一个索引 以便我可以在另一个提取的列中使用第一个索引 Ex A 1 2 3 9 6 4
  • 不屈不挠的野兽:一个二维字符数组,位于结构内部,位于非托管 dll 的内部

    我束紧腰 冒险进入了遗产之地 砍倒 召唤并集结了各种野兽 现在我站在了一个如此凶猛的生物面前 据我对我的弟兄们进行的详尽调查来看 我现在所面对的生物是如此凶猛 武器中 没有一个代码战士能够幸存 以下是详细信息 我试图将结构内部的二维字符数组
  • 使用和不使用 SciPy 计算 k 组合的数量

    我对这个函数感到困惑combSciPy 的 http docs scipy org doc scipy 0 14 0 reference generated scipy misc comb html看起来比简单的 Python 实现要慢 这
  • 使用 scipy.signal.spectrogram 在 pyqtgraph 中绘制 wavfile 的频谱

    我有一个用于音乐和语音分析的 PyQt 加 pyqtgraph 程序 我想绘制 wav 文件的频谱 使用 scipy python 包计算 我可以在 matplotlib 中完成 但由于 matplotlib 的性能 我需要切换到 pyqt
  • 对象对于所需数组来说太深 - scipy.integrate.odeint

    我昨天刚开始使用Python 使用时遇到错误scipy integrate odeint 我定义了一个函数 def SIR x t beta gamma mu M 这需要numpy array物体x t and M 标量浮动beta gam
  • PHP 使用主键和辅助键对多维数组进行排序[重复]

    这个问题在这里已经有答案了 如何按主键和辅助键对多维数组进行排序 例如 假设有以下数组 result array result 0 prio 1 result 0 date 2010 02 28 result 0 post February
  • Java 中支持多少维数组,例如 a[1][1][1][1]....[1]? [复制]

    这个问题在这里已经有答案了 Java支持多少维数组a 1 1 1 1 1 我可以为数组声明无限数量的维度吗 数组维数限制为 255 有趣的是 JLS定义的Java编程语言没有这样的限制 但是你可以在JVM规范 http docs oracl
  • 帕斯卡三角形定位

    我编写了一个打印出帕斯卡三角形的Java程序 但是我不知道如何正确定位它 方案1 public class Triangle public static void main System out println nTriangle int
  • C++ 求二维数组每一行的最大值

    我已经设法用这个找到我的二维数组的每一行的最小值 void findLowest int A Cm int n int m int min A 0 0 for int i 0 i lt n i for int j 0 j lt m j if
  • C# 3维数组

    我想将 3 维数组中的 ARRAY 存储到buildingCostIds 中 但它说我必须有第三个数字 public static int buildingCost 0 1 2 5 5 5 public static void addBui
  • Mathematica 列表轮廓图3D

    我有表格中的数据 x y z f 我在用ListContourPlot3D但我得到的只是一个空盒子 每个方向的尺寸为 1 到 1 这是我的代码 ListContourPlot3D data5 PlotRange gt All AxesLab
  • python 中使用 scipy 截断正态分布

    我正在尝试使用截断正态分布scipy在Python3 我想做一些简单的事情 绘制以 0 5 为中心 范围从 0 到 1 的截断法线的 pdf 我有以下代码行 from scipy import truncnorm import matplo
  • 如何在 NumPy 中连接两个一维数组?

    我有两个数组A a1 an and B b1 bn 我想得到新的矩阵 C 等于 a1 b1 a2 b2 an bn 我该如何使用numpy concatenate 这个怎么样 很简单但是fastest解决方案 In 73 a np arra
  • curve_fit 的限制值(scipy.optimize)

    我正在尝试使用 curve fit 使用以下函数作为输入将逻辑增长曲线拟合到我的数据 def logistic x y0 k d a b if b gt 0 and a gt 0 y k pow 1 np exp d a b x 1 b y
  • 在 CUDA 中的设备内存上分配 2D 数组

    如何在 Cuda 中的设备内存中分配和传输 往返于主机 2D 数组 我找到了解决这个问题的方法 我不必展平阵列 内置的cudaMallocPitch 函数完成了这项工作 我可以使用以下命令将阵列传输到设备或从设备传输阵列cudaMemcpy
  • 具有行业级约束的 SciPy 投资组合优化

    尝试在这里优化投资组合权重分配 通过限制风险来最大化我的回报函数 我可以毫无问题地通过简单的约束 所有权重之和等于 1 找到产生我的回报函数的优化权重 并做出另一个约束 即我的总风险低于目标风险 我的问题是 如何为每个组添加行业权重界限 我
  • 如何保存 numpy 数组图像并将它们放入单个文件夹中?

    我有一个 numpy 数组 其中包含 5000 个 28 x 28 图像 5000 28 28 我想将所有这些图像保存为 jpg 文件并将它们全部保存在一个文件夹中 实现这一目标最快 最有效的方法是什么 我尝试使用以下命令将 50 000
  • 如何将 python 点列表转换为 numpy 图像数组?

    我有一个 python 点列表 x y 坐标 200 245 344 248 125 34 它表示二维平面上的轮廓 我想使用一些 numpy scipy 算法进行平滑 插值等 它们通常需要 numpy 数组作为输入 例如scipy ndim
  • rpy2 传递 python 保留关键字参数

    我试图通过 python 使用 r 的密度函数 并且必须将 from to 参数传递给密度函数 然而 由于 from 这个词是Python中的保留关键字 我该如何实现这一点呢 谢谢 这是到目前为止的代码 r density robjects

随机推荐

  • OpenCV 中跳过帧并寻找 RTSP 流的末尾

    我在 Raspberry Pi 上的 OpenCV 3 4 2 中捕获并处理 IP 摄像头 RTSP 流 不幸的是 处理需要相当长的时间 每帧大约 0 2 秒 并且流很快就会延迟 我不介意跳过一些帧 因此我正在寻找一种方法在捕获和处理下一帧
  • 如何获得任务并行库使用的最大并行度?

    我想使用 Parallel invoke 如果我分配 20 个并行任务 则只有 8 个同时运行 我的CPU是http ark intel com products 47925报告的线程数为 8 我假设可以并行运行的任务数与 cpu 线程数有
  • 在哪里可以查找 C++ STL 中向量的 size_type 定义?

    投射我的向量的结果似乎是安全的size 函数到unsigned int 但我怎么能确定呢 我的文档不清楚如何size type被定义为 不要假设容器大小的类型 或在其中键入的任何其他内容 Today 目前最好的解决方案是使用 std vec
  • GBM多项分布,如何使用predict()得到预测类别?

    我正在使用多项式分布gbmR 中的包 当我使用predict函数 我得到一系列值 5 086328 4 738346 8 492738 5 980720 4 351102 4 738044 3 220387 4 732654 但我想得到每个
  • 使用附加字符串本地化 Info.plist 变量

    我正在尝试本地化应用程序的名称 同时仍然能够根据构建配置附加字符串 所以目前它设置为
  • Cordova iOS 插件在构建后失败,除非我先删除平台和插件 JSON

    我有一个 Cordova 3 2 0 项目 我正在使用 XCode 模拟器和通过 USB 的 iPhone 4S 进行测试 当我执行以下命令时 应用程序运行时没有错误 rm rf platforms ios rm plugins ios j
  • 调用 RFC_READ_TABLE 时出现 DATA_BUFFER_EXCEEDED 错误?

    我的 java groovy 程序从用户输入接收表名和表字段 它查询 SAP 中的表并返回其内容 用户输入可能涉及表CDPOS and CDHDR 在阅读 SAP 文档和谷歌搜索后 我发现这些是存储更改文档日志的表 但我没有找到任何可以在j
  • ui-router $stateChangeStart 上的无限循环

    加大力度angular and 用户界面路由器 如果不满足先决条件 则很难重定向到不同的状态 我尝试使用拦截器 如何在角度拦截器中执行重定向 但有人提到处理 stateChangeState 会更合适 但我仍然陷入无限循环 Check he
  • Angular - 组件不同的模板

    我有一个组件 课程 我将此组件用于列表 该列表有时是水平的 有时是垂直的 我可以在组件内部动态选择模板文件吗 Component selector course templateUrl getTemplateFile 像这样的东西将是很棒的
  • Global.asax 中的事件未触发

    在我的 ASP Net 应用程序中 我无法在我的计算机上触发 Global asax 中的事件 例如 Session Start 将不会触发 同样的 Global asax 在我办公室的其他开发机器上运行良好 我努力了 ASP Net 开发
  • 我可以对指向 void 指针的指针使用指针算术吗?

    我知道你不能对 void 指针使用指针算术 但是理论上你可以对指向 void 指针的指针进行指针算术吗 因为sizeof void 会产生一个指针在您的系统上占用多少字节的答案 不允许进行指针运算void 因为void是一个不完整的对象类型
  • 以编程方式初始化 ViewController

    我正在尝试初始化一个UIViewController在我的 Swift 应用程序中 但我面临一个问题 我找不到任何明确的答案 我想从 FlowCoordinator 调用它来初始化控制器 但由于需要 init coder NSCoder 函
  • C++ Switch 无法使用用作 case 的外部定义变量进行编译

    我正在使用 MinGW GNU 编译器编写 C 当我尝试使用外部定义的整数变量作为 switch 语句中的 case 时 就会出现问题 我收到以下编译器错误 case 标签不会减少为整数常量 因为我已将整数变量定义为 extern 我相信它
  • Bootstrap Modals 和 Youtube:自动播放并在关闭时停止

    我需要能够在 Twitter Bootstrap 模式打开时自动播放 YouTube 视频 然后在关闭时停止该视频 我知道这个问题之前已经被问过 但我能找到的答案会导致包含许多视频的页面出现大量 javascript 代码 我正在努力减少膨
  • 如何在 IVY 中没有提供的情况下复制运行时库

    我以为我不需要问这个 但我没有任何进展 这个问题的解答 ivy如何将maven范围映射到ivy配置实际上解决了问题 但在理论部分 我有这样的配置
  • 如何为类的私有和公共成员分配内存

    在类中 私有成员是与公共成员分配在单独的内存中 还是所有成员都按照其定义的顺序分配 例如 class A private int a1 int a2 3 public int z int a3 2 int a4 5 private int
  • System.UnauthorizedAccessException:对路径“...”的访问被拒绝

    我使用 net 使用单击一次安装完成了 C wpf 安装 一切正常 然后我有以下代码 它是已安装程序的一部分 String destinationPath System Windows Forms Application StartupPa
  • 检测输入类型文本的编程更改[重复]

    这个问题在这里已经有答案了 当脚本更改输入类型文本的值时 有没有办法获得通知 I have
  • R:从字符串中删除最后三个点

    我有一个文本数据文件 我可能会用它来读取readLines 每个字符串的初始部分包含很多乱码 后面是我需要的数据 乱码和数据通常由三个点分隔 我想在最后三个点之后分割字符串 或者用某种标记替换最后三个点 告诉 R 将这三个点左侧的所有内容视
  • 将 scipy.stats.gaussian_kde 与二维数据一起使用

    我正在尝试使用the scipy stats gaussian kde class把一些离散的经纬度信息采集到的数据进行平滑处理 所以最后看起来有点像等高线图 密度高的就是峰 密度低的就是谷 我很难将二维数据集放入gaussian kde班