You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python包fastkde计算单变量样本指定点的密度?

单变量场景下fastkde的密度计算实现步骤

核心逻辑

fastkde的pdf函数原生支持单变量输入,执行后返回的对象包含密度估计结果与插值方法,可直接用来计算任意指定点的密度值。

具体实现步骤

  1. 执行单变量密度估计
    直接将单变量样本z传入fastkde.pdf函数,无需额外多变量参数:

    # 执行单变量密度估计
    pdf_obj = fastkde.pdf(z, var_names=['z'])
    

    返回的pdf_obj封装了密度估计的核心数据与计算方法。

  2. 提取密度插值函数
    从返回对象中获取插值函数,用于快速计算任意点的密度:

    # 获取可直接调用的密度插值函数
    density_func = pdf_obj.evaluate
    
  3. 计算指定点的密度值
    将列表w转换为numpy数组(适配函数输入要求),批量计算每个点的密度:

    # 转换为numpy数组以支持批量计算
    w_arr = np.array(w)
    # 一次性得到所有点的密度值
    densities = density_func(w_arr)
    

完整可运行代码

import numpy as np
import fastkde

N = int(1e5)
z = 50*np.random.normal(size=N) + 0.1
w = list(range(10,0,-2))

# 1. 执行单变量密度估计
pdf_obj = fastkde.pdf(z, var_names=['z'])

# 2. 获取密度插值函数
density_func = pdf_obj.evaluate

# 3. 计算w中每个点的密度
w_arr = np.array(w)
densities = density_func(w_arr)

# 打印每个点对应的密度结果
for point, density in zip(w, densities):
    print(f"点 {point} 的密度值为: {density:.6f}")

补充说明

  • 若需要可视化密度分布,直接调用pdf_obj.plot()即可生成单变量密度曲线。
  • evaluate方法支持批量输入,无需循环逐个计算,效率更高。

内容的提问来源于stack exchange,提问作者Akira

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 11:22:42