-PR-
締切済み

乱数の検定方法

  • 暇なときにでも
  • 質問No.36609
  • 閲覧数775
  • ありがとう数9
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 100% (1/1)

ある数値群が乱数になっているか?乱数と言って良いか?を検証する方法の種類と、その求め方を教えて下さい。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全1件)

  • 回答No.1
レベル7

ベストアンサー率 11% (4/34)

乱数とは?を考えて、その逆を検証していく方法を私は行ったことがあります。
ちなみに0から9までの数の数値群を検証を例に説明します。
ある数値群を目の前にして、
等確率性を検討します。(0から9までの各数字の頻度のばらつき)
これはχ(カイ)2乗検定を行います。
次に系列相関検定を行います。これは規則性の有無を確かめるものです。
“012345678901234…”となっていた場合、
等確率性はありますが乱数とは言えませんよね
こういうのを防ぐために行います。
次に飛び幅(私はこう呼んだ)を調べます。
これは隣り合う2つの数字の距離を検証するもので、
“13579…”の場合、特徴的に2ずつ増加しています。
このように人間の見た目ですぐ判断できればよいのですが
見た目があきらかに乱数だと思っても、よくよく調べると
何らかの規則性が出てくる場合があります。
以上の3つをあげましたが
方法はまだまだ他にもあるでしょう
私はこの3つを総合的に判断して
すべてコンピュータに計算させて検証しました。
それぞれの詳しい方法はここでは説明が難しいので
割愛させて頂きます。すみません
乱数の定義というのは、そのときそのときで変わってきます。
どの程度の数値のばらつきで乱数と言って良いかは、
個人で判断するしかないと思います。
私の行った実験は、人に数値列を書いてもらう実験でしたが
同じ数字が2つ並ぶことはほとんどありませんでした。
コンピュータで乱数を作成すると、2つ並ぶことはよくあることです。
確率的にも1割の確率で発生して当然なのですが、
人間が書くと何故かほとんどないのです。面白いですよね?
どういう勉強かわかりませんが
頑張ってください。参考にして頂けたらと思います。
お礼コメント
maka

お礼率 100% (1/1)

ありがとうございます。
知り合いが、乱数発生器?なるものを、電子回路の勉強で作ったのですが、
私に、本当に乱数になっているか調べてくれと言われて、どうすれば良いのか
わからず困っていたところでした。
教えていた方法を、コンピュータに計算させるのにC言語でプログラムしようと思っていますが、系列相関検定と飛び幅検定の詳細がわからないので、出来るかどうかわかりませんが、がんばってみます。がんばってもわからず、教えを乞うかもしれませんが、そのときはまたよろしくお願いいたします。
また、他の方法をお気づきになられましたらお教えください。
ありがとうございました。
投稿日時 - 2001-02-06 16:30:21


このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


専門家があなたの悩みに回答!

-PR-

ピックアップ

-PR-
ページ先頭へ