マイナー・マイナー

隠れた名作の発掘が生きがい。

カーネル密度推定


スポンサードリンク

カーネル密度推定とは、統計学において確率変数の確率密度関数を推定する手法の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の値を保存
  }
}