Prinkesh / kernel-density

Multivariate kernel density estimation [statistics]

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Kernel Density Estimation
-------------------------
(c) Tim Nugent 2014

Based on Philipp K. Janert's Perl module:
http://search.cpan.org/~janert/Statistics-KernelEstimation-0.05 

Multivariate stuff from here:
http://sfb649.wiwi.hu-berlin.de/fedc_homepage/xplore/ebooks/html/spm/spmhtmlnode18.html

Compile by running 'make'. Uses -std=c++11 - on older compilers you may need to change this to -std=c++0x in the Makefile.

Run all tests with 'make test'. This calls an R script which generates plots from various .csv file. The multivariate data in the data/ directory is the Old Faithful geyser eruption/waiting data.

Example usage:

	./kerndens data/univariate.csv > uni_pdf.csv

To plot this in R:

data <- read.table("uni_pdf.csv", header=FALSE, sep="," ,comment.char="#")
plot(data$V1,data$V2,xlab="x",ylab="density",main="Univariate PDF")

Full options:

Usage:
./kerndens [options] [csv_file]

Options:
-k <int>   Kernel type:
           1 = Gaussian (default)
           2 = Box
           3 = Epanechnikov
-b <int>   Bandwidth optimisation (Gaussian only):
           1 = Default
           2 = AMISE optimal, secant method
           3 = AMISE optimal, bisection method
-p <int>   Calculate:
           1 = PDF (default)
           2 = CDF

timnugent@gmail.com

About

Multivariate kernel density estimation [statistics]

License:GNU General Public License v3.0


Languages

Language:C++ 75.6%Language:R 21.6%Language:Makefile 2.8%