エクセルの乱数を使ってテスト用のデータを作る

ソフトを作るときはテスト用のサンプルデータが必要となります。作りながら、サンプルデータを読ませてどんな感じかを確認しながら進めていくわけです。





ここでは100人の生徒さんのテスト成績のサンプルデータを作ってみる。

作るのに使うのは、エクセル。エクセルはとても簡単にサンプルデータを作れるので重宝する。

こんな感じでシートにデータを並べていく。


英語、数学、国語のテストの点数です。もちろん、1個1個手入力していたら大変なので、参照式を指定する。

エクセルには、RANDBETWEEN という関数があるので、0から100までの乱数を得られるようにセルに参照式を設定する。




エクセルメモ:ときどき参照式を設定するのに、ずっと下のセルまでドラッグドロップしている人がいるけど、エクセルには簡単に下のセルに参照式を設定できる素晴らしい技がある。上の図でいうと、C2セルの緑色の枠の右下の緑色の点をダブルクリックすると、すーと下のセルに参照式が設定されていく。とても便利。



100人分のデータができたところで、ヒストグラムを作ってみる。グラフも簡単に作れる(エクセルだし)。


乱数で作ったので、一様に分布してしまっている。もう少し正規分布っぽいものにしたいところ。

乱数の計算式を少し変えてみる。

乱数を2つ掛け算して、あとは100点になるように補正する。乱数の掛け算で-25から25までの点数が得られるので、2倍して、50を足す。すると0から100に補正できる。

=RANDBETWEEN(-5,5)*RANDBETWEEN(-5,5)*2+50

この参照式で作った点数データのヒストグラムを作ると、以下のように。

なかなか良い分布に。もう少し山が右に行ってもよさそう。これだと平均点50点のクラスになってしまう。平均点は70点くらいは欲しいもの。

参照式を少し変えてみる。乱数の掛け算でー70から30が出るように山を少しずらしてみた。

=RANDBETWEEN(-7,3)*RANDBETWEEN(0, 10)+70

このときの分布が下記の通り。


計算式を少し変えてみて、

=INT(RANDBETWEEN(-7,3)*RANDBETWEEN(-3,7)*(10/7)+70)

この分布だとこんな感じ。


乱数は面白いね。いろいろ試せて楽しい。



一言メモ:あと、サンプルデータの内容がソフトの出来を左右するところもあるので、誰かのソフトをテストするときには、作ったときに使っていたデータもいっしょにもらうと、ソフトの出来をある程度予測できたりする。

コメント

このブログの人気の投稿

varchar をデータ型 numeric に変換中に、算術オーバーフロー エラーが発生しました。