カーネル密度推定とは、統計学において確率変数の確率密度関数を推定する手法の1つ。別名(Parzen Window)。[Wikipediaより]
カーネル密度推定のプログラムのテンプレートをメモ程度に記述してます。記述はC言語。
プログラム
#include
#include
double kernel_function(double data, double mean, double variance);
int main(int argc, char** argv) {
int i, j;
int n;
int number_of_point;
double max;
double min;
double estimate;
double point_width;
double variance;
double* data;
//dataに一次元配列としてデータを取り込み
//dataの要素数をnに設定
//推定範囲の最小値と最大値をmaxとminに設定
//標本点数をnumber_of_pointに設定
//カーネル関数の分散をvarianceに設定
point_width = (max - min) / number_of_point;
for (i = 0; i < number_of_point; i++) {
estimate = 0;
for (j = 0; j < n; j++) {
estimate += kernel_function(data[j], min + point_width * i, variance);
}
estimate = estimate / n;
//どこかにestimateの値を保存
}
}