概率密度函式的核估計

2021-10-10 03:14:11 字數 3533 閱讀 4996

import numpy as np

import matplotlib.pyplot as plt

import seaborn as sns

sns.set()

from scipy import stats

from typing import *

核密度估計法是一種通過某個(連續的)概率分布的樣本來估計這個概率分布的密度函式的方法。

說到用樣本來估計概率密度,最基礎的就應該是「直方圖」了。我們可以把直方圖看作是乙個幾乎處處連續的函式,用這樣乙個連續的函式作為未知概率分布的近似。對樣本點,取分點,直方圖這樣乙個連續函式:

當樣本數量趨於無窮並且劃分區間長度趨於0時,是幾乎處處收斂與原概率分布的密度函式的。

以下**生成了100個標準正態分佈隨機數並畫出了它們的直方圖

核密度估計是一種比較平滑地估計未知分布概率密度的方法。

我們可以針對每乙個,用來估計(其中表示集合的元素個數)

即: 如果把上面的區間改為左開右閉區間, 就有:

,是經驗分布函式。

即是對經驗分布函式用差分近似估計導數的結果。

這種估計叫做「rosenblatt 直方圖估計」

設函式rosenblatt 直方圖估計可以寫成

這裡的叫做核函式。

def kernel_density(k, sample, h):

"""k: density function, h: bandwidth

返回樣本的核密度估計函式

注意到:

這個我們一般叫做頻寬(bandwidth),它的選取需要平衡偏差和方差。漸近地取, 核密度估計的均方誤差為。

除了rosenblatt直方圖估計,還有一些其它的核函式:

比如說高斯核函式,用它來估計就具有非常好的光滑性。sns.displot函式的kde=true就會使用高斯核密度估計來擬合樣本!

gauss 核密度估計

「以下是真實分布與核密度方法近似的比較:」

參考:韋來生.數理統計

概率密度函式估計筆記

概率密度函式估計是貝葉斯決策的基礎,有兩大類方法 引數法和非引數法。所謂的引數法是指已知引數形式,但不知道引數,我們要對引數進行估計的過程。這裡主要介紹點估計的兩種方法 一種是最大似然估計,一種是貝葉斯估計。最大似然估計 假設 我們要估計的引數 是確定但未知的 樣本之間是獨立同分布的 或者是條件獨立...

概率密度估計簡介

1 概率密度函式 在分類器設計過程中 尤其是貝葉斯分類器 需要在類的先驗概率和類條件概率密度均已知的情況下,按照一定的決策規則確定判別函式和決策面。但是,在實際應用中,類條件概率密度通常是未知的。那麼,當先驗概率和類條件概率密度都未知或者其中之一未知的情況下,該如何來進行類別判斷呢?其實,只要我們能...

Matlab 概率密度函式

以下函式均是對應分布模型的概率密度函式 函式函式功能 y binopdf x,n,p 產生引數為n,p的二項分布,x為取值點,y為對應的值 y poisspdf x,lambda 泊松分布,引數為lambda y geopdf x,p 幾何分布,引數為p y unidpdf x,m 離散型均勻分布,...