2019年6月15日土曜日

カーネル密度推定(KDE)数式

カーネル密度推定を試行。

手元に数式がなかったので、ひとまずネットで検索。数式は微妙に違いましたが、だいたいこんな感じ(それで良いのか?)

一次元のカーネル密度推定式
\begin{align*}\hat{f}(x) = \frac{1}{nh} \sum_{i=1}^n K\bigg(\frac{x-x_i}{h}\bigg)\end{align*}
n:データ数
h:バンド幅
x:計算位置
xi:i番目のデータ(例えばi番目の観測値)
K():カーネル関数

x位置でのK()を足してnhで割っています。

カーネル関数K()の例:正規分布(ガウス分布)の確率密度関数
\begin{align*}\ K(\nu)=\frac{1}{\sqrt{2\pi \sigma^2}}\exp{\left\{-\frac{(\nu-\mu)^2}{2\sigma^2}\right\}}
\end{align*}

EXCELだと、手間。面倒。

そもそも、EXCELでは約105万行までのデータしか扱えません。1000万データなど、開くこともできません。

Pythonだと、簡単。
sns.kdeplot(X,bw=0.05)

seabornだけでなく、他にも複数のライブラリが KDE に対応しています。
ひとまず、700万行×13列のデータは一気に処理できました。便利。



0 件のコメント:

コメントを投稿