怎么把文件放到网站的根目录四川住房和城乡建设厅网站不能打开
- 作者: 五速梦信息网
- 时间: 2026年04月20日 06:51
当前位置: 首页 > news >正文
怎么把文件放到网站的根目录,四川住房和城乡建设厅网站不能打开,沈阳做机床的公司网站,wifi管理系统登录入口一、核密度估计 核密度估计#xff08;Kernel Density Estimation, KDE#xff09;是一种非参数统计方法#xff0c;用于估计随机变量的概率密度函数。它通过将每个数据点周围的核函数叠加#xff0c;生成平滑的密度曲线。以下是其核心要点#xff1a;
- 基本概念 非参…一、核密度估计 核密度估计Kernel Density Estimation, KDE是一种非参数统计方法用于估计随机变量的概率密度函数。它通过将每个数据点周围的核函数叠加生成平滑的密度曲线。以下是其核心要点
- 基本概念 非参数方法无需假设数据分布的具体形式。核函数常用的有高斯核、均匀核等决定每个数据点对密度估计的影响。带宽Bandwidth控制核函数的宽度影响估计的平滑度。
- 数学表达 给定样本 X 1 , X 2 , … , X n X_1, X_2, \ldots, Xn X1,X2,…,Xn核密度估计公式为 f ^ ( x ) 1 n h ∑ i 1 n K ( x − X i h ) \hat{f}(x) \frac{1}{n h} \sum{i1}^{n} K\left(\frac{x - X_i}{h}\right) f^(x)nh1i1∑nK(hx−Xi) 其中 - f ^ ( x ) \hat{f}(x) f^(x)是在点 x x x处的密度估计。 - K ( ⋅ ) K(\cdot) K(⋅)是核函数。 - h h h是带宽参数。 - n n n是样本数量。
- 核函数选择 常见的核函数包括 高斯核 K ( u ) 1 2 π e − 1 2 u 2 K(u) \frac{1}{\sqrt{2\pi}} e^{-\frac{1}{2}u^2} K(u)2π 1e−21u2均匀核 K ( u ) 1 2 I ( ∣ u ∣ ≤ 1 ) K(u) \frac{1}{2} \mathbb{I}(|u| \leq 1) K(u)21I(∣u∣≤1)Epanechnikov核 K ( u ) 3 4 ( 1 − u 2 ) I ( ∣ u ∣ ≤ 1 ) K(u) \frac{3}{4}(1 - u^2) \mathbb{I}(|u| \leq 1) K(u)43(1−u2)I(∣u∣≤1)
- 带宽选择 带宽 h h h的选择至关重要常见方法有 规则选择如Silverman规则。交叉验证通过最小化均方误差选择最优带宽。
- 应用场景 数据可视化生成平滑的密度曲线。异常检测识别低密度区域的异常点。模式识别发现数据中的多峰分布。
- 优缺点
优点 无需假设数据分布。能生成平滑的密度估计。 缺点 计算复杂度较高。带宽选择对结果影响大。
- 实现工具 Pythonscipy.stats.gaussian_kde、seaborn.kdeplotRdensity() 函数 示例代码Python import numpy as np import matplotlib.pyplot as plt from scipy.stats import gaussian_kde# 生成样本数据 data np.random.normal(0, 1, 1000)# 核密度估计 kde gaussian_kde(data) x np.linspace(-5, 5, 1000) y kde(x)# 绘制结果 plt.plot(x, y, labelKDE) plt.hist(data, bins30, densityTrue, alpha0.5, labelHistogram) plt.legend() plt.show()核密度估计是一种灵活且强大的工具适用于多种数据分析和可视化任务。合理选择核函数和带宽是获得准确估计的关键。 二、常见核函数及选择方法 选择合适的核函数是核密度估计KDE中的重要步骤虽然核函数的选择对结果的影响通常不如带宽选择显著但在某些情况下核函数的选择仍然会影响估计的平滑度和准确性。以下是选择适当核函数的一些指导原则和方法
- 常见核函数及其特性
不同的核函数具有不同的形状和特性常见核函数包括
高斯核Gaussian Kernel 公式 K ( u ) 1 2 π e − 1 2 u 2 K(u) \frac{1}{\sqrt{2\pi}} e^{-\frac{1}{2}u^2} K(u)2π 1e−21u2特点无限支撑平滑性好适用于大多数情况。 均匀核Uniform Kernel 公式 K ( u ) 1 2 I ( ∣ u ∣ ≤ 1 ) K(u) \frac{1}{2} \mathbb{I}(|u| \leq 1) K(u)21I(∣u∣≤1)特点简单但不连续适用于离散数据。 Epanechnikov核 公式 K ( u ) 3 4 ( 1 − u 2 ) I ( ∣ u ∣ ≤ 1 ) K(u) \frac{3}{4}(1 - u^2) \mathbb{I}(|u| \leq 1) K(u)43(1−u2)I(∣u∣≤1)特点有限支撑计算效率高平滑性较好。 三角核Triangular Kernel 公式 K ( u ) ( 1 − ∣ u ∣ ) I ( ∣ u ∣ ≤ 1 ) K(u) (1 - |u|) \mathbb{I}(|u| \leq 1) K(u)(1−∣u∣)I(∣u∣≤1)特点有限支撑平滑性介于均匀核和高斯核之间。
- 选择核函数的原则 平滑性需求如果需要高度平滑的密度估计高斯核是一个不错的选择。如果对平滑性要求不高可以选择Epanechnikov核或三角核。计算效率有限支撑的核函数如Epanechnikov核、均匀核在计算上通常比无限支撑的核函数如高斯核更高效。数据特性根据数据的分布特性选择核函数。例如对于具有明显边界的数据有限支撑的核函数可能更合适。
- 实际选择方法 默认选择在许多情况下高斯核是默认选择因为它具有良好的平滑性和数学性质。交叉验证可以通过交叉验证的方法来选择核函数。具体步骤如下 将数据分为训练集和验证集。对每个候选核函数使用训练集进行密度估计。在验证集上评估密度估计的准确性例如使用对数似然或均方误差。选择在验证集上表现最好的核函数。 经验法则根据经验或领域知识选择核函数。例如在金融领域高斯核常用于估计资产回报率的密度。
- 示例代码Python 以下代码展示了如何使用交叉验证选择核函数 import numpy as np from scipy.stats import gaussian_kde from sklearn.model_selection import KFold from sklearn.metrics import log_loss# 生成样本数据 data np.random.normal(0, 1, 1000)# 定义候选核函数 kernels {Gaussian: lambda x: gaussian_kde(x, bw_methodscott),Epanechnikov: lambda x: gaussian_kde(x, bw_methodscott) # 此处仅作示例实际需实现Epanechnikov核 }# 交叉验证 kf KFold(n_splits5) results {}for name, kernel in kernels.items():log_likelihoods []for train_index, test_index in kf.split(data):train_data data[train_index]test_data data[test_index]kde kernel(train_data)log_likelihoods.append(-kde.logpdf(test_data).mean())results[name] np.mean(log_likelihoods)# 选择最佳核函数 best_kernel min(results, keyresults.get) print(fBest kernel: {best_kernel} with log likelihood: {results[best_kernel]})选择适当的核函数需要综合考虑数据的特性、平滑性需求和计算效率。高斯核通常是默认选择但在特定情况下其他核函数可能更合适。通过交叉验证和经验法则可以更科学地选择核函数。 三、无限支撑与有限支撑核函数 在核密度估计KDE中“无限支撑”Infinite Support和“有限支撑”Finite Support是用来描述核函数定义域的概念。具体来说
- 无限支撑Infinite Support 定义一个核函数如果在整个实数轴即从负无穷到正无穷上都有定义且非零则称该核函数具有无限支撑。 例子高斯核Gaussian Kernel是一个典型的无限支撑核函数其公式为 K ( u ) 1 2 π e − 1 2 u 2 K(u) \frac{1}{\sqrt{2\pi}} e^{-\frac{1}{2}u^2} K(u)2π 1e−21u2 高斯核在所有实数 u u u上都有定义且非零。 特点 平滑性好无限支撑的核函数通常能生成非常平滑的密度估计。计算复杂度高由于核函数在整个实数轴上都有定义计算时需要考虑所有数据点的影响计算量较大。
- 有限支撑Finite Support 定义一个核函数如果只在有限的区间内定义且非零而在该区间外为零则称该核函数具有有限支撑。 例子Epanechnikov核和均匀核都是有限支撑核函数。Epanechnikov核的公式为 K ( u ) 3 4 ( 1 − u 2 ) I ( ∣ u ∣ ≤ 1 ) K(u) \frac{3}{4}(1 - u^2) \mathbb{I}(|u| \leq 1) K(u)43(1−u2)I(∣u∣≤1) 其中 I ( ∣ u ∣ ≤ 1 ) \mathbb{I}(|u| \leq 1) I(∣u∣≤1)是指示函数当 ∣ u ∣ ≤ 1 |u| \leq 1 ∣u∣≤1时为1否则为0。因此Epanechnikov核只在区间 [ − 1 , 1 ] [-1, 1] [−1,1]内有定义且非零。 特点 计算效率高由于核函数只在有限区间内非零计算时只需考虑该区间内的数据点计算量较小。平滑性较差有限支撑的核函数生成的密度估计可能不如无限支撑核函数平滑。
- 选择无限支撑还是有限支撑核函数 无限支撑核函数如高斯核适用于需要高度平滑密度估计的场景尤其是在数据分布较为复杂或需要精细分析时。有限支撑核函数如Epanechnikov核适用于计算资源有限或数据量较大的场景因为它们计算效率更高。
- 示例代码Python 以下代码展示了无限支撑高斯核和有限支撑Epanechnikov核的核密度估计 import numpy as np import matplotlib.pyplot as plt from scipy.stats import gaussian_kde# 生成样本数据 data np.random.normal(0, 1, 1000)# 高斯核无限支撑 kde_gaussian gaussian_kde(data) x np.linspace(-5, 5, 1000) y_gaussian kde_gaussian(x)# Epanechnikov核有限支撑此处使用自定义实现 def epanechnikov_kernel(u):return np.where(np.abs(u) 1, 0.75 * (1 - u**2), 0)def kde_epanechnikov(data, x, h):n len(data)y np.zeros_like(x)for xi in x:y epanechnikov_kernel((xi - data) / h)return y / (n * h)h 0.5 # 带宽 y_epanechnikov kde_epanechnikov(data, x, h)# 绘制结果 plt.plot(x, y_gaussian, labelGaussian KDE) plt.plot(x, y_epanechnikov, labelEpanechnikov KDE) plt.hist(data, bins30, densityTrue, alpha0.5, labelHistogram) plt.legend() plt.show()“无限支撑”和“有限支撑”描述了核函数的定义域范围。无限支撑核函数如高斯核在整个实数轴上都有定义适合需要高度平滑的密度估计有限支撑核函数如Epanechnikov核只在有限区间内定义计算效率更高。根据具体需求选择合适的核函数。
- 上一篇: 怎么把网站黑掉在线考试类网站怎么做
- 下一篇: 怎么把自己做的网站登录到网上wordpress 评论栏
相关文章
-
怎么把网站黑掉在线考试类网站怎么做
怎么把网站黑掉在线考试类网站怎么做
- 技术栈
- 2026年04月20日
-
怎么把网站的标题做的炫酷怎么做小说推广挣钱
怎么把网站的标题做的炫酷怎么做小说推广挣钱
- 技术栈
- 2026年04月20日
-
怎么把网上的视频保存到手机wordpress网站seo设置
怎么把网上的视频保存到手机wordpress网站seo设置
- 技术栈
- 2026年04月20日
-
怎么把自己做的网站登录到网上wordpress 评论栏
怎么把自己做的网站登录到网上wordpress 评论栏
- 技术栈
- 2026年04月20日
-
怎么编写一个网站手机无人区离线地图app
怎么编写一个网站手机无人区离线地图app
- 技术栈
- 2026年04月20日
-
怎么不花钱建立网站seo入门培训课程
怎么不花钱建立网站seo入门培训课程
- 技术栈
- 2026年04月20日
