モンテカルロ法を使って計算を行う際に、
ある方法を用いて乱数列を発生させ、それを用いて行いました。

この乱数列は50の区分に分けた後、
カイ2乗分布による危険率1%の頻度検定
に合格したものを用いたのですが、
これではモンテカルロ法による計算を行うには
正しいとはいえないとのことでした。

これはなぜなのでしょうか。

確かに、50区分の頻度検定だけでは、
極端な話、周期50の数列がちょうど50区分に分かれて発生していて
結果として一様乱数となっているような場合も考えられます。

それでは、周期が計算に必要な乱数の数に対して十分に大きいとき、
モンテカルロ法として正しいと言えるようになるのでしょうか?

解説をよろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

最も極端な話、arguistさんの作った「(疑似)乱数列」r[n] が


1,2,3,4,.......,50, 1.5,2.5,3.5, ...., 50.5, 1.25,2.25, ....., 50.25, 1.75,2.75, ...., 50.75, 1.125, ....
だったとしましょうか。
χ二乗検定は完璧にパスしそうですね。周期はない。十分周期が長いわけです。
で、これを使って、50個の要素からなる列x[j] (j=1,2,...,50)から二つのサンプルを取り出すのに
x[r[n]の整数部分], x[r[n+1]の整数部分]
という風にやったとすると、ほとんどいつも、列xの中から隣り合う二つの要素を拾い出すことになります。
x[j]がjに多少とも依存するものであったとすれば、(たとえば、最も極端な場合 x[j] = j だったとすれば)選ばれた二つのサンプルには相関がある。
 そういうわけで、一連の部分列r[n],r[n+1],...,r[n+m-1]に相関があってはまずいわけです。m=2の場合ならX[n]=r[n], Y[n]=r[n+1] として、(X[n],Y[n])を2次元のグラフにプロットしてみれば一目瞭然でしょう。

もちろん、「乱数列」をどう使うかにも依ります。滑らかな関数f(x)の定積分をするためにこの乱数列を用いても多分問題はない。単に等間隔にサンプルを採って平均を求めるんですから、丁度50の倍数の個数のサンプルを採るか、あるいはうんと沢山のサンプルを採れば、大抵正解に近い値が得られるでしょう。
しかし、2変数関数f(x,y)の定積分をしたくてx,yを選ぶのにこの「乱数列」を使っちゃうとダメなのはもうお分かりですね。

 一般に、モンテカルロ法というのは相手にしている関数が多変数である場合、とくにその変数の数が多くて等間隔にサンプリングしてたんじゃとても計算が終わらないや、って場合にこそ有用な方法ですから、部分列r[n],r[n+1],...,r[n+m-1]の無相関性が非常に重要になります。
    • good
    • 0
この回答へのお礼

 なるほど。よくわかりました。
 例えば、1本の乱数列から交互に要素をとって(A列:2n-1番目の数、B列:2n版目の数など)計算をする場合には、A列とB列が無相関であることが重要なわけですね。
 そういえば、連の検定とか系列相関検定とかあったのを思い出しました。
 ありがとうございました。

お礼日時:2001/05/29 16:56

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qモンテカルロ法 円周率

モンテカルロ法で円周率を求めたいのですが
C++でプログラムを実行までは出来るんですけど
それをグラフにする方法が分かりません。
(扇形みたいなヤツです。点々が沢山付くヤツです。)

あと「モンテカルロ法から演習路津が求まる原理」と
「エクセルとCプログラミングで円周率を求めた時の
比較の仕方」も教えて頂きたいのです…。

沢山聞いてしまって、本当にすいません。
なにとぞ、初心者なのでよろしくお願いします。

Aベストアンサー

>モンテカルロ法から演習路津が求まる原理
ある面積のある部分に、適当に(一様になるように)何かを落としたとしたら、
その全体の面積の一部分に何かが落ちてくる確率は全体に落ちてくる確率(1)との比率になるけど、その比率は、その面積の部分の面積と全体の面積の比率になる
ということから、逆に
1/4円とそれを包む正方形の面積の比率は、そこに適当にモノを落としてその結果から比率を求めることができるということです。

Q一様乱数の期待値

一様乱数の理論上の期待値の求め方を教えて下さい。確率密度関数が一定という条件を用いるようです。

-1~1の一様乱数R(n)を発生させるプログラムを作って、その結果得られた乱数の期待値((R(n)*R(n))/Nと理論上の期待値とを比較するためです。具体的には、sin波に一様乱数を加えて、SN比を求める問題です。

よろしくお願いします。

Aベストアンサー

問題をちらっとみましたが、単にS/N比を計算すればいいだけみたいですね。

問題2に書いてあるように、

E[R(n)^2]/E[x^2(n)]
を計算すればいいわけです。

E[R(n)^n]=∫_[-1,1]x^2*1/2 dx = 1/3
#1では、何がしりたいのかよくわからなかったので、R(n)^2の確率密度も求めるやりかたでやりましたが。

Qモンテカルロ法 計算精度

モンテカルロ法で円周率をc++言語でプログラムを作成して求めたのですが、精度要因って何ですか??乱数の乱数らしさでしょうか??

Aベストアンサー

乱数のランダム性(偏りが無いこと、規則性・周期性がないこと、全ての乱数が等確率で発生すること(一様分布))、そしてランダム性が保証されている範囲では、乱数の個数が多いほど計算精度が上がる。

Q凖モンテカルロ法 or モンテカルロ + MT

3次元に広がる物理量を面積分する方法について検討中です。

凖モンテカルロという方法でLDSという数列を用いて計算をすると、積分計算の
誤差の軽減が速まるらしいということがわかりました。原理はまだ勉強中ですが、
対象の空間を区切って、それぞれの細空間に乱数のポイントを配置することが
いい方向に働くように見られます。

これに対して、通常のモンテカルロ法でメルセンヌツイスター(MT)を用いた場合との
違いがいまいちわかりません。MTで一様乱数ができるのであれば、凖モンテカルロ
のようにする必要はないのでしょうか?

Aベストアンサー

乱数を用いた計算はどちらも同じですが、乱数の収束性が違います。

たとえば、一様といったときに、200点くらいでは一様になりませんよね。ではどのくらいの点数があれば一様と見做せるのか?が準乱数とMTなどの乱数の違いです。これが誤差の軽減に効くということです。

ちなみに、準乱数は乱数と名が付いていますが擬似乱数とは似て非なるものです。超一様分布列なんて言い方をする人も居ます。

以下のサイトも参考になるかと。
http://www.math.tohoku.ac.jp/akama/2006/lds.html

参考URL:http://www.math.tohoku.ac.jp/akama/2006/lds.html

QBASICでモンテカルロ法

モンテカルロ法で円周率の推定値を計算することを最近習ったのですが、定積分でもそれが可能なのを知り、どうやってプログラムを組めばいいのか分からず、困っています。
例えば、定積分∫[0→1]x^2dx=1/3~0.333([0→1]というのは、積分範囲です。)をモンテカルロ法で計算すると、どういうプログラムを組めばいいのでしょうか?
わかる範囲で書いてみたのですが…積分の範囲をどうやってプログラミングすればいいのか、いまいち分かりませんでした。
教えていただけると、助かります。よろしくお願いします。

RANDOMIZE

INPUT n
SET WINDOW -0.1,1.1, -0.1,1.1
DRAW GRID
SET POINT STYLE 1
LET sumin=0

FOR i=0 TO n
LET x=RND
LET y=RND
SET POINT STYLE 2
IF y<x*x THEN
SET POINT COLOR 4
LET sumin=sumin+1
END IF
! PRINT USING "(%.####, %.####)": x,y
PLOT POINTS: x,y
NEXT i

PRINT 1*1*sumin/n
END

モンテカルロ法で円周率の推定値を計算することを最近習ったのですが、定積分でもそれが可能なのを知り、どうやってプログラムを組めばいいのか分からず、困っています。
例えば、定積分∫[0→1]x^2dx=1/3~0.333([0→1]というのは、積分範囲です。)をモンテカルロ法で計算すると、どういうプログラムを組めばいいのでしょうか?
わかる範囲で書いてみたのですが…積分の範囲をどうやってプログラミングすればいいのか、いまいち分かりませんでした。
教えていただけると、助かります。よろしくお願いします。

...続きを読む

Aベストアンサー

ええと、専門用語では「提案分布」と言うんですが、それが積分範囲を「近似しつつ」かつ「計算が簡単な」分布を目的の積分範囲の外側になきゃいけません。
僕はBASICは良く知らないのですが、つまり擬似コード的にはこう言う事です。

1.積分したい関数(例では0≦x≦1の範囲でのx^2)を設定する。
2.上の「被積分関数」を上手く近似しそうな適当な分布を選ぶ。

とは言っても、実際の「確率分布」ではなくって、この場合「0≦x≦1の範囲」ってのをヒントとして、0≦x≦1、0≦y≦1と言う「正方形」を考えます。これが1の「被積分関数」を上手く囲んでいる事が分かるでしょう。

3.(x, y)の乱数を生成して「提案分布」内に乱数をプロットしていく。
4.3.の乱数がy≦x^2を満たしていたら「当たり」、そうじゃなかったら「ハズれ」として、数をカウントしていく。
5.当たりの数/(当たりの数+ハズレの数)×「提案分布の面積」が目的の被積分関数の面積、になる

こう言うプログラムがオーソドックスな「モンテカルロ法での定積分」の手法となるんではないでしょうか?

ええと、専門用語では「提案分布」と言うんですが、それが積分範囲を「近似しつつ」かつ「計算が簡単な」分布を目的の積分範囲の外側になきゃいけません。
僕はBASICは良く知らないのですが、つまり擬似コード的にはこう言う事です。

1.積分したい関数(例では0≦x≦1の範囲でのx^2)を設定する。
2.上の「被積分関数」を上手く近似しそうな適当な分布を選ぶ。

とは言っても、実際の「確率分布」ではなくって、この場合「0≦x≦1の範囲」ってのをヒントとして、0≦x≦1、0≦y≦1と言う「正方形」を考えます。これが1...続きを読む

Q局所一様収束であって、一様収束でないものの例の証明手段について

D={z∈C:|z|<1}とする。
D上の関数をfn(z)=z^nとするとき
関数列{fn}が局所一様収束することを示せ。
またD上で一様収束しないことを示せ。

という問題で行き詰っています。
どのような手段で証明すればよいのでしょうか?
ご指導よろしくお願いします。

Aベストアンサー

まず、極限関数はf(z)=0
sup(z∈D)|fn(z)-f(z)|=sup(z∈D)|z^n|=sup(z∈D)|z|^n=1
なので、sup(z∈D)|fn(z)-f(z)|→0(n→∞)とはならず、Dでは一様
収束しない。
局所一様収束って、Dに含まれる任意の閉集合上で一様収束することで
したっけ?
Dに含まれる任意の閉集合Sはある閉円盤|z|≦r<1に含まれる。
よって、sup(z∈S)|fn(z)-f(z)|=sup(z∈S)|z|^n≦r^n→0(n→∞)
従って、fn(z)はSで一様収束、すなわち、Dで局所一様収束する。

Qモンテカルロ法

モンテカルロ法で円周率の推定値を計算することを最近習ったのですが、定積分でもそれが可能なのを知り、どうやってプログラムを組めばいいのか分からず、困っています。
例えば、定積分∫[0→1]x^2dx=1/3~0.333([0→1]というのは、積分範囲です。)をモンテカルロ法で計算すると、どういうプログラムを組めばいいのでしょうか?
わかる範囲で書いてみたのですが…積分の範囲をどうやってプログラミングすればいいのか、いまいち分かりませんでした。
教えていただけると、助かります。よろしくお願いします。


RANDOMIZE

INPUT n
SET WINDOW -0.1, 1.1, -0.1,1.1
DRAW grid
SET POINT STYLE 1
LET sumin=0

FOR i=0 TO n
LET x=RND
LET r=x*x
SET POINT COLOR 2

! PRINT USING "(%.####, %.####)": x,y;
PLOT POINTS: x,y;
NEXT i
PRINT sumin;n
PRINT sumin/n

END

モンテカルロ法で円周率の推定値を計算することを最近習ったのですが、定積分でもそれが可能なのを知り、どうやってプログラムを組めばいいのか分からず、困っています。
例えば、定積分∫[0→1]x^2dx=1/3~0.333([0→1]というのは、積分範囲です。)をモンテカルロ法で計算すると、どういうプログラムを組めばいいのでしょうか?
わかる範囲で書いてみたのですが…積分の範囲をどうやってプログラミングすればいいのか、いまいち分かりませんでした。
教えていただけると、助かります。よろしくお願いします。

...続きを読む

Aベストアンサー

質問のソースはカテゴリ違いですが、
アルゴリズムに関する質問だと思いますので、
言語に依存しない部分で回答します。

f(x) = x*x の関数を、0~1の区間で積分ですね。

まず、y 軸の範囲を考えます。
グラフを書けば分かりやすいと思います。

f(0) = 0 から始まり、xが増加すれば f(x) も増加。
f(1) = 1 で終わりなので、y 軸の範囲は 0~1 とします。

---------------------------------
ループ回数 n の入力

カウント sumin を初期化

ループ開始(n 回ループ)

x に 0~1の乱数を代入(積分区間)

y に 0~1の乱数を代入(上記で計算した範囲)

ポイント(x, y) が求める面に入っていればカウントする
つまり、y < x*x の場合はカウント sumin に 1 を加算

ループ終了

結果は、(乱数範囲の面積) × (カウント) ÷ (ループ回数)
つまり、 1 * 1 * sumin / n
---------------------------------

円周率の場合とほとんど変わらないと思います。

このアルゴリズムを、お使いのBASICで記述して下さい。

そのBASICでの記述方法が分からないと言うのなら、
「その他(プログラミング)」の方が良いかも。

質問のソースはカテゴリ違いですが、
アルゴリズムに関する質問だと思いますので、
言語に依存しない部分で回答します。

f(x) = x*x の関数を、0~1の区間で積分ですね。

まず、y 軸の範囲を考えます。
グラフを書けば分かりやすいと思います。

f(0) = 0 から始まり、xが増加すれば f(x) も増加。
f(1) = 1 で終わりなので、y 軸の範囲は 0~1 とします。

---------------------------------
ループ回数 n の入力

カウント sumin を初期化

ループ開始(n 回ループ)

x に 0~1の乱数を...続きを読む

Qモンテカルロとノンパラメトリック検定

こんにちは、いつもお世話になっています。
今回はモンテカルロ推定について質問させていただきたいと思います。

SPSSを使って統計処理をしています。対応のない2群の検定でノンパラ(mann-whitney / wilcoxon検定)で計算したら有意差が出ました。オプションで、モンテカルロや正確確率推定ができるのですが、これは何のためですか?いろいろ調べてみましたが、モンテカルロは乱数を発生させて母集団の数を水増し(?)する方法のように感じました。例数が足りない場合はそれでやるということなのかもしれませんが、普通にやって差が出たものに対して、さらにモンテカルロを使うのはあまり意味がないでしょうか?

あえて使いたいと思っているわけではないのですが、妥当な推定方法を使用したいと思っている者です。仔細にわたる数式には疎いですが、多少の統計の経験ありです。よろしくお願いします。

Aベストアンサー

再度登場です.私自身も手探りで「統計学の本質」を勉強している身です.お互いに頑張りましょう.

Mann-Whitney検定(以下,MW検定)というのは,ご存知の通り,ノンパメトリック検定の一種であり,いわば順序尺度版対応なしt検定と位置づけることができるでしょう.MW検定は,A変数とB変数で,A>Bとなるペア数がどのぐらい多いかを問題にするものですが……ちょっと分かりづらいですね.

 A変数 2 5 7
 B変数 1 3 4

上記のようなデータの場合で,A変数から一つの数値を,B変数から一つの数値を取り出してペアを作ったとします.総ペア数はA変数3数値×B変数3数値=9ペア,となります.
このうち,A>Bとなるペア数は,(A, B)=(2, 1)(5, 1)(7, 1)(5, 3)(7, 3)(5, 4)(7, 4),7ペアです.ちなみにB>Aとなるペア数は2ペアですね.もし,A=Bになるのであれば,A>Bペア数=B>Aペア数,すなわち「総ペア数/2」になるはずです.今回では,A>Bペアが7数になる現象が,総ペア数9/2=4.5ペア数を基準にして,どのぐらい珍しいかを確率計算するわけです.

ちなみに,このように具体的な場合分けをする方法が正確確率法となります.ただし正確確率法といっても,どのような観点からの場合分け(A>Bペアに注目する場合わけ)をするかで異なりますので,「MW検定における正確確率」となります.正確確率という検定法があるわけではありません(Fisherの直接確率法というものがありますが,教科書的には,「χ2検定における正確確率」のことを意味しています).

一方,モンテカルロ法についてです.上記のようにMW検定は,「A>Bペア数」という統計量が重要となるわけです.その他の検定においても,重要となる統計量というものがあるわけですね.モンテカルロ法は,標本データを狩りの母集団データとみなして,そこから,改めて「たくさんの」標本データを生みだします.そして生みだされた標本データから統計量を計算するわけで,当然,「たくさんの」統計量の分布ができあがります.この統計量の分布から,今回の統計量の発生現象の確率を求めるわけです.
モンテカルロ法とは,統計量の分布を作り出す手法なわけです.

> つまり、mann-whitney検定に代わってモンテカルロを使用した、というような・・・

正確確率法にしろ,モンテカルロ法にしろ,MW検定の計算原理を反映しているわけです.その際の確率計算をどのようにするかで分かれていることになります.

近似確率:データ数が多い時に近似がうまくいく
正確確率:場合わけにより正確な確率を算出
モンテカルロ法:統計量の分布を作成し,その統計量の発生確率を算出

とりとめなく書いてしまったのでわかりにくくなってしまいました.申し訳ありません.

再度登場です.私自身も手探りで「統計学の本質」を勉強している身です.お互いに頑張りましょう.

Mann-Whitney検定(以下,MW検定)というのは,ご存知の通り,ノンパメトリック検定の一種であり,いわば順序尺度版対応なしt検定と位置づけることができるでしょう.MW検定は,A変数とB変数で,A>Bとなるペア数がどのぐらい多いかを問題にするものですが……ちょっと分かりづらいですね.

 A変数 2 5 7
 B変数 1 3 4

上記のようなデータの場合で,A変数から一つの数値を,B変数から一つの数値を...続きを読む

Q円周率について

円周率について
円周率は永遠につづくといいますね
でも
直径×円周率=円周なら
円周÷直径=円周率ですよね
じゃあ直径が1ならどうするんですか?
円周÷1=も永遠につづくんですか?
1に割れない数なんてあるんですか?
教えてください。

Aベストアンサー

「永遠に続く」ねぇ。
6÷2 だって、永遠に続くんですよ。
ただし、0 が。 6÷2=3.000…

この質問で、頭を整理するために必要なのは、
「1 で割れない」の「割れる」という言葉
の意味を確認することです。

普通、「割れる」ではなく「割りきれる」
と言いますか、その意味は、
「割り算の答えが整数になる」である場合と、
「割り算の答えを何回か 10 倍すると整数になる」
である場合があります。

文脈によって違いますから、
区別して理解することが必要でしょう。

どちらの場合も、整数÷1は、必ず「割れる」
のですが、
割られる数が整数でないときは、
1で「割れる」とは限りません。
割られる数が円周率の場合も、
その例のひとつです。

Qカイ二乗検定で処理したいのですがデータのとり方がわからず困っています。

左利き手と右利き手の被験者における、左右の耳の聴力低下度を調べています。

目的は、左と右の利き手の被験者で利き手の違いに意味があるかどうかどうかを知りたいので、統計はカイ二乗検定を用いています。

聴力低下度の指標は、高音域、低音域の2項目あり、さらに左右の耳があるので、計4項目からなります。データは順位尺度です。
データ入力は、被験者が重複するいわゆる複数回答形式です。


統計処理するデータの扱い方をお教えいただけないでしょうか。
統計に用いるデータは生データを処理するのでしょうか?

順位尺度の生データ(例数)の統計結果は、
自由度   3
カイ二乗値 23.33
危険率   p=0.0001
生データのカイ二乗検定を行うと、検定は棄却され両グループ間で有意差が見られました。

表にして示す場合、生データはn(総例数)が異なるため両グループ間の比較にならないので、構成比率(例数/n*100)で示します。
構成比率のデータで検定すると
自由度   3
カイ二乗値 6.15
危険率   p=0.150
構成比率のデータを用いカイ二乗検定を行うと、検定は採択され両グループ間は差がありません。

統計処理は、生データ比較でしょうか?
それとも表にあらわすような構成比率の比較でしょうか?

どちらが適切なのでしょうか?
どうぞ、よろしくお願い申し上げます。

左利き手と右利き手の被験者における、左右の耳の聴力低下度を調べています。

目的は、左と右の利き手の被験者で利き手の違いに意味があるかどうかどうかを知りたいので、統計はカイ二乗検定を用いています。

聴力低下度の指標は、高音域、低音域の2項目あり、さらに左右の耳があるので、計4項目からなります。データは順位尺度です。
データ入力は、被験者が重複するいわゆる複数回答形式です。


統計処理するデータの扱い方をお教えいただけないでしょうか。
統計に用いるデータは生データを処理す...続きを読む

Aベストアンサー

カイ二乗検定を行うとき、サンプル数が同じということは、殆どあまりません。生データを使用するのが正しい方法です。(処理の過程で比率を検定しますが、これは表面上は出てきません。)
詳しくは、
http://www.ias.tokushima-u.ac.jp/linguistik/2005/joho/joho2005_chi.html


人気Q&Aランキング

おすすめ情報