python中利用Sklearn和Scipy分别实现核密度估计

本文探讨了在Python中利用Sklearn和Scipy库进行核密度估计的方法,包括对离散型和连续型随机变量的理解。通过示例展示了如何使用Sklearn的多种核函数(如均匀、三角、伽马和高斯)进行密度估计,并特别以高斯核为例,利用Scipy绘制概率密度函数曲线。
摘要由CSDN通过智能技术生成

密度估计问题

由给定样本集合求解随机变量的分布密度函数问题是概率统计学的基本问题之一。解决这一问题的方法有参数估计和非参数估计。非参数估计包含核密度估计。

离散型随机变量

概率函数:就是用函数的形式来表达概率;
概率分布
在这里插入图片描述

概率分布函数(简称分布函数):就是概率函数取值的累加结果,所以它又叫累积概率函数、累积概率分布、累积分布函数。

连续型随机变量

概率函数又称为概率密度函数,某点的概率密度即为概率在该点的变化率;
概率密度函数是分布函数的导函数。

Sklearn实现核密度估计

Sklearn中实现核密度估计的方法:均匀核函数、三角核函数、伽马核函数、高斯核函数等。
以高斯核密度估计为例画出概率密度函数曲线(连续变量):

import numpy as np
import matplotlib.pyplot as plt
from sklearn.neighbors.kde import KernelDensity  # 导入核密度估计
X = X.reshape(-1, 1)  # 转换成2D array
X_plot = np.linspace(0, 0.1, 1000)[:, np.newaxis]  # [:,np.newaxis]  # 也能转换成2D array
kde = KernelDensity(kernel='gaussian', bandwidth=0.75).fit(X)  
  • 8
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
PCA的T2统计量是用于监控多变量过程状态变化的重要指标之一。T2统计量用来描述样本点和均值向量之间的距离,通常使用Hotelling's T-squared统计量来计算。T2统计量的控制限可以通过核密度估计来计算。 下面是一个Python示例代码,用于计算PCA的T2控制限: ```python import numpy as np from sklearn.decomposition import PCA from scipy.stats import chi2, gaussian_kde # 生成一些随机数据 data = np.random.rand(10, 5) # 计算PCA pca = PCA() pca.fit(data) # 计算每个样本点的T2统计量 t2 = np.sum((pca.transform(data) / np.sqrt(pca.explained_variance_)) ** 2, axis=1) # 使用核密度估计计算T2统计量的分布 density = gaussian_kde(t2) # 计算T2的控制限 alpha = 0.05 dof = data.shape[1] threshold = chi2.ppf(1 - alpha, df=dof) t2_limit = threshold / dof # 绘制T2的分布和控制限 import matplotlib.pyplot as plt xs = np.linspace(0, 10, 200) plt.plot(xs, density(xs)) plt.axvline(t2_limit, color='r', linestyle='--') plt.xlabel('T2 statistic') plt.ylabel('Density') plt.show() ``` 在上述代码,我们首先使用PCA来计算数据的主成分和方差。然后,我们计算每个样本点的T2统计量,并使用核密度估计来计算T2统计量的分布。最后,我们使用卡方分布来计算T2控制限,并将其绘制在T2分布图上。 注意,T2控制限的计算假定了数据是多元正态分布的。如果数据不符合这个假设,则T2控制限可能不是有效的。
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值