ギャンブルマシン検証の統計


8

問題は、政府が電子ルーレットを閉鎖することを望んでおり、ルーレットが統計的検定で失敗したと主張していることです。

私の言語では申し訳ありませんが、これはスロベニアの法律から可能な限り翻訳された公式の(法律による)要件は次のとおりです。

  • 各イベントの頻度は、予想される頻度と3シグマを超えてはなりません。
  • 正規分布のカイ二乗検定は0.025のリスクレベル内にある必要があります
  • 連続相関の検定は、3シグマ検定とカイ2乗検定に合格する必要があります。

最初の2つの要件をテストし、それらはテストに合格しましたが、3番目の要件を理解するのに問題があります。(これは翻訳されており、「連続した相関」は別のものになる可能性があることに注意してください)

3番目の要件をテストするにはどうすればよいですか?

誰かが興味を持っている場合のデータ:http :
//pastebin.com/ffbSKpr1

編集:カイ二乗は2%の確率で失敗します(アルファが0.025であるために予想されることです)、sigma3テストは5%失敗しますが、3sigmaでは9%の失敗が予想されます(それに従って周波数が分散されていないようです)乱数でも正規分布)

私はこの法則を正しく理解していないかもしれませんが、すべての自己相関ベクトルに対して3シグマテストに合格する確率はほぼ0%です。

Pythonコード:

from math import sqrt
from itertools import *
import random

#uncoment for python 2.x 
    #zip = izip 
    #range = xrange


#with open("rng.txt","r") as wr:
#   n = [int(i) for i in wr]
n = [random.randint(0,36) for i in range(44000)] 


def get_freq(n):
    r=[0 for i in range(37)]
    for i in n:
        r[i] += 1
    return r

def trisigmatest(freq):
    Ef = 1.0*sum(freq)/37
    sigma = sqrt(sum(i**2 for i in freq)/37-Ef**2)
    return all((abs(i - Ef )< sigma*3) for i in freq)


def chiquaretest(freq):
    Ef = 1.0*sum(freq)/37
    chi2 = sum((i-Ef)**2 / Ef for i in freq)
    # values are from http://itl.nist.gov/div898/handbook/eda/section3/eda3674.htm
    # (EDIT) I recaluclated these valuse from inverse cdf chi2 
    # distribution for interval (0.025/2,1-0.025/2) (alpha = 0.025)
    return 20.4441 < chi2 < 58.8954   


#whitout autocorelation  
gf = get_freq(n)
if not trisigmatest(gf):
    print("failed")
    raise
if not chiquaretest(gf):
    print("failed")
    raise


actests = 1000
trifailed = 0;
chifailed = 0;
for i in range(1,actests + 1):
    f=((b-a+37) % 37 for (a,b) in zip(n,n[i:]))
    gf = get_freq(f)
    if not trisigmatest(gf):
        trifailed += 1;
    if not chiquaretest(gf):
        chifailed += 1;
print("trisigmatest failed ", 1.0 * trifailed / actests )
print("chiquaretest failed ", 1.0 * chifailed / actests )

3
ドーベル段!公式の法律がルーレットのために設計されているのか、それとも他のギャンブル装置のために設計されているのか知っていますか?(スロットマシン、ポーカーなど)3番目の要件は、自己相関のように聞こえるか、またはWald-Wolfowitzテストなどでテストできます
shabbychef

それは一般的な賭ける装置のために設計されています。法律のリンク(スロベニア語)は、unpis.gov.si / fileadmin / unpis.gov.si / pageuploads / zakonodaja /…(パラグラフ6)にあります
ralu

私の義母はスロベニアですが、彼女はこれをうまく翻訳できなかったと思います。たとえば、彼らが言及するテストは、たとえば、常に17番をプレイするギャンブラーのリターンの自己相関でしょう。(そして、それぞれの数値について繰り返しますか?)en.wikipedia.org/wiki/Diehard_testsをざっと見回すことも有益かもしれません。
shabbychef

おそらく彼らが求めているのは、タイムラグされた回帰です。つまり、前の数値は後続の数値を予測していますか?
russellpierce

回答:


2

公正なゲームのために、連続したプレーは独立しているべきです。連続した結果が無相関であるというテストを実行するように求められているようです。これを行うには、データをペアリングして、最初の結果とします。次に、異なるペア 、ます。ピアソン相関係数がゼロとは異なることを計算します(データが連続的であるか、整数のセットでさえある場合)。データが負け/勝ちのである場合、およびのカウントを使用して取得されたテーブルで独立性をテストできます。この場合R1,R2,...,R2n2nn(R1,R2)(R3,R4),...,(R2n1,R2n)0/12×2(0,0),(0,1),(1,0)(1,1)0/1上で提案したWaldとWofowitzの実行テストも使用できます。ルールに記述されている方法では、等しい半値幅で相関の信頼区間を作成するように聞こえます。間隔にが含まれている場合は合格です。しかし、これらのテストは少し簡単に合格することができないようです。3σ0

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.