投稿

6月, 2020の投稿を表示しています

統計クラスの作成(中央値、最頻値、四分位数)

統計クラス 統計クラスを作ってみる② 前回に引き続き、統計計算のクラスを作成していきたいと思います。 今回は、前回作成した「 昇順メソッド 」を利用し、 中央値 と 最頻値 を求めるメソッドと 四分位数 を求めるメソッドの作成を行いたいと思います。 正直どちらも本当に必要かわかりませんが、統計クラスを名乗っているので実装したいと思います。 中央値 まずは、 中央値 を求めるメソッドから実装しましょう。 中央値とは、その名の通り「中央の値」です。データを昇順に並べ替え、左と右から個数を数えていき、真ん中にある値が中央値です。 この処理では、データの数が奇数か偶数かで方法が少し異なります。 奇数の場合 奇数の場合はシンプルで、昇順に並べ替えたデータを真ん中の値は一つに定まります。 例えば、「1,2,3,4,5,6,7」のような7個のデータが存在するときは、中央値は「7」です。 偶数の場合 偶数の場合は少し計算が増えます。データを昇順に並べ替え、真ん中の値を探すとデータは1つに定まりません。 そのため、データの個数が偶数のときには、真ん中の前後にあるデータの平均をとり、その結果が中央値となります。 例えば、「1,2,3,4,5,6,7,8」のような8個のデータが存在するするときは、真ん中の前後のデータは「4」と「5」になります。よって中央値は「4.5」となります。 これをコードで書いていきます、 public static double Median( double[] x ) { int n = x.Length; x = Ascendi

統計クラスの作成(標準偏差、配列昇順)

統計クラス 統計計算クラスを作ってみる① 今回は行列計算クラスの作成に引き続き、統計計算クラスも自作してみようと思います。 最終的には、統計計算のデスクトップアプリなどを作成したいと思ってます。まだ構成などは決まっていませんが、成績処理などに使えるアプリを想定しています。 スマホアプリでもいいんですが、データの読み込みなどを考えるとPCでの操作がいいかと思います。 成績処理に必要なものといえば、「標準偏差」や「中央値」などのデータです。難しいことを考えるならば「○○分布」なども必要になると思いますが、今はまだこの辺は考慮しません。 ということで今回は、「標準偏差を求めるメソッド」と「中央値などを求めるために配列をソートするメソッド」を作成します。なお使用する言語はC#です。 標準偏差メソッドを作る まずは、テストなどの採点を行ったときに必要となる標準偏差を求めるメソッドを自作していきます。 学生時代、試験の成績表をみると得点以外に、「偏差値」なども記載されて要ると思います。学生が一番気になる部分ですね!この「偏差値」を求めるためには標準偏差が必要となります。 標準偏差を求めるためには 平均点 が必要となります。なので最初に 合計 と 平均 を求めるメソッドを作成します。 合計や平均を求めるメソッドはシンプルなのでコードを載せるだけにします。 public static double Sum( double[] x ) { double sum = 0; for(int i=0;i<x.Length;i++) { sum += x[i]; } return sum; } public static double Average( double[] x ) { return ( Sum( x ) / x.Length ); }