Javaとデータ解析:基本的な統計処理

Javaを用いてデータ解析を行うための基本的な統計処理について学びます。具体的には、平均、中央値、モード、分散、標準偏差の計算方法を学びます。

目次

  1. はじめに
  2. 平均の計算
  3. 中央値の計算
  4. モードの計算
  5. 分散と標準偏差の計算
  6. まとめ

1. はじめに

この記事ではJavaでデータ解析を行うための基本的な統計処理方法を紹介します。これらの手法はデータ分析や機械学習でよく使われるものです。

2. 平均(Mean) の計算

平均はすべての数値を合計し、その数値の数で割ったものです。

public double mean(int[] data) {
    double sum = 0;
    for (int i = 0; i < data.length; i++) {
        sum += data[i];
    }
    return sum / data.length;
}

3. 中央値(Median) の計算

中央値は数値群を小さい順に並べたときに真ん中に来る数です。数が偶数であれば真ん中二つ数字の平均が中央値です。

import java.util.Arrays;

public double median(int[] data) {
    Arrays.sort(data);
    
    if (data.length % 2 == 0) {
        return ((double)data[data.length / 2 - 1] + (double)data[data.length / 2]) / 2;
    } else {
        return (double)data[data.length / 2];
    }
}

4 . モード(Mode) の 計算

モードは一番多く出現する数字です。最も頻繁に出現する要素を見つけることが目的です。

import java.util.HashMap;
import java.util.Map.Entry;

public int mode(int[] data) {
    HashMap<Integer, Integer> freqMap = new HashMap<Integer, Integer>();
    
    for (int i : data) {
        if (freqMap.containsKey(i)) {
            freqMap.put(i, freqMap.get(i) + 1);
        } else {
            freqMap.put(i, 1);
        }
    }
    
    int mode = data[0];
    int maxCount = 0;
    
    for (Entry<Integer, Integer> entry : freqMap.entrySet()) {
        if (entry.getValue() > maxCount) {
            maxCount = entry.getValue();
            mode = entry.getKey();
        }
    }
    
    return mode;
}

5. 分散(Variance)と標準偏差(Standard Deviation)の計算

分散はデータが平均からどれだけばらついているかを示す指標で、各データの平均との差を二乗し、その平均を取ったものです。標準偏差は分散の平方根を取ったもので、元のデータと同じ単位でばらつき具合を表します。

public double variance(int[] data) {
   double mean = mean(data);
   double temp = 0;

   for(int i=0; i<data.length; i++){
      temp += Math.pow((mean - data[i]), 2);
   }

   return temp/(data.length-1);
}

public double standardDeviation(int[] data){
   return Math.sqrt(variance(data));
}

6.まとめ

この記事ではJavaによる基本的な統計処理方法について紹介しました。これらはデータ解析やAI開発における重要なスキルです。この知識が皆さんのプログラミングスキル向上に役立てれば幸いです。