ベイズの統計学を学び始めたんだけど
■ このスレッドは過去ログ倉庫に格納されています
信用に値するのか疑問です。
人工知能とかではなく日々の動機付けに利用する予定です 問題
99人の囚人がいます。彼らの頭に1〜100までのナンバーカードが貼りつけられた帽子をランダムにかぶせます。
他人の帽子は見ることができても、自分の帽子は見ることができません。
帽子の数は全部で100なので、一つ使われずに余ります。
そのナンバーは囚人達にはわからないようにしておきます。
この状況で、囚人たちに一斉に自分のナンバーを宣言させて、全員が正解だったら釈放するという賭けをします。
囚人たちには帽子をかぶせられる前に相談タイムが設けられています。
どういう戦略を取れば、助かる確率を最も高くできるでしょうか? >>651
98人の数字に出てこなかった2つをお互いに申告したら使われてない数字が分かるから自分の数字が分かるンじゃないの? >>652
帽子を被されてからは囚人間の意思疎通はできない前提の問題。 >>650
Aを選ぶ確率がJeffery分布に従うとすると
# b=1-a
# P(r|a)=1/100
# P(r|b)=99/100
# P(a|r)=P(r|a)P(a)/[P(r|a)P(a)+P(r|b)P(b)]=0.01p/(0.01p+0.99(1-p))
library(rjags)
data=list(shape1=0.5,shape2=0.5)
modelstring='model{
par=0.01*p/(0.01*p+0.99*(1-p))
p ~ dbeta(shape1,shape2)
}めあ
'
writeLines(modelstring,'TEMPmodel.txt')
model=jags.model('TEMPmodel.txt',data=data)
update(model)
samples = coda.samples( jagsModel , variable=c("par",'p'), n.iter=100000 )
coda::HPDinterval(samples[,'par'])
hist(as.matrix(samples)[,'par'],freq=FALSE,main='',col='gray',xlab='Pr(A|red)',
breaks=50, axes=FALSE,ylab=''); axis(1)
求める確率P(箱A|赤玉)は
平均
> mean(as.matrix(samples)[,'par'])
[1] 0.03687427
信頼区間
> coda::HPDinterval(samples[,'par'])
[[1]]
lower upper
var1 0.0000001471041 0.1601718
attr(,"Probability")
[1] 0.95 # タイプミス修正
library(rjags)
data=list(shape1=0.5,shape2=0.5)
modelstring='model{
par=0.01*p/(0.01*p+0.99*(1-p))
p ~ dbeta(shape1,shape2)
}
'
writeLines(modelstring,'TEMPmodel.txt')
model=jags.model('TEMPmodel.txt',data=data)
update(model)
samples = coda.samples( jagsModel , variable=c("par",'p'), n.iter=100000 )
coda::HPDinterval(samples[,'par'])
par=as.matrix(samples)[,'par']
hist(par,freq=FALSE,main='',col='gray',xlab='Pr(A|red)',
breaks=50, axes=FALSE,ylab=''); axis(1)
BEST::plotPost(par,showMode=TRUE)
mean(par)
quantile(par,c(0.025,0.50,0.975)) 確率分布を考えないなら
赤玉でたときにAの箱であった確率は
> 0.01*0.5/(0.01*0.5+0.99*0.5)
[1] 0.01
一様分布にしたらこうなった。
> mean(par)
[1] 0.0369026
> coda::HPDinterval(samples[,'par'])
[[1]]
lower upper
var1 0.0000001761594 0.1594358
attr(,"Probability")
[1] 0.95 >>650
一様分布でのシミュレーションを100万回繰り返してみた。
pickup <- function(){ # A:Box 1, Red:Ball 1
A=c(1,rep(0,99))
B=c(0,rep(1,99))
AB=list(A,B)
Box=sample(1:2,1)
Ball=sample(AB[[Box]],1)
c(Box=Box,Ball=Ball)
}
pickup.sim <- function(k=1e3){
re=replicate(k,pickup())
PAR=sum(re['Box',]==1 & re['Ball',]==1)/sum(re['Ball',]==1)
return(PAR)
}
re=replicate(1e3,pickup.sim())
mean(re)
HDInterval::hdi(re)
median(re)
Mode(re)[1]
平均値
> mean(re)
[1] 0.01009577
95%信頼区間
> HDInterval::hdi(re)
lower upper
0.001901141 0.018329939
attr(,"credMass")
[1] 0.95
中央値
> median(re)
[1] 0.01002004
最頻値
> Mode(re)[1]
x
0.01020133 >>652
囚人がランダムに答えると、2の99乗分の1の釈放確率。
ネットで検索すると解答がみつかる。
釈放確率が1/2にできるという。
解説読んでも理解できなかったが、シミュレーションしたらその通りだった。
解答のurlと
シミュレーションのスクリプトはこれ。
http://rio2016.2ch.net/test/read.cgi/math/1501755792/443 ある大学の学生数は500以上1000人以下であることはわかっている。
無作為に2人を抽出して調べたところ
二人とも女子学生である確率は1/2であった。
この大学の学生数と女子学生数を求めよ。 問題文に問題があると思うが、意図を汲んで解くと
学生数=696
女子学生数=492 確率がちょうど1/2になる整数のペアは
女子 男子
3 1
15 6
85 35
493 204
問題文の表現に問題あるかな?
xC2 ÷ yC2=1/2の解を求める問題。 >>661
次に1/2になるのは
女子 2871 男子1189 総数4060 日本人の血液型はA,O,B,ABの比率が概略4:3:2:1であるという。
全部の血液型を集めるのは平均で何人集めればよいか?
シミュレーションで12.37、切り上げて13人になった。
解析解はよくわからん。 2x(x-1)(x-2)(x-3)=y(y-1)(y-2)(y-3)の整点は? >>666
式値=0は除くと
x=7, y=8
2*7*6*5*4=8*7*6*5 A:2x(x-1)=y(y-1)
この曲線Aは、4個の自明な整点
(x,y) ∈ {0,1}×{0,1}
を持つ
これが
無作為に2人を抽出して可能となる組み合わせ
{男男 男女 女男 女女}
に対応するという事かね?(´・ω・`) >>668
>659は
xC2 ÷ yC2=1/2
500<y<100
の自然数解を求めるだけの話。 学生数x 女子学生数y
無作為に2人を抽出して可能となる組み合わせ
{男男 男女 女男 女女}
{女女}50%…a
{男男 男女 女男}50%…b
500≦x≦1000
x=a+b
250≦a=x−b
bを分割する
{男男}…b1
{男女}…b2
{女男}…b3
事象aが観測された元でのそれぞれの確率は
P(b1|a)=P(b1) * P(a|b1)
P(b2|a)=P(b2) * P(a|b2)
P(b3|a)=P(b3) * P(a|b3)
学生数xに占める女子学生数yの割合は
y/x=7/10が尤もらしい
ゆえに、
P(b1|a)=P(b1) * P(a|b1)=3/10
P(b2|a)=P(b2) * P(a|b2)=1/10
P(b3|a)=P(b3) * P(a|b3)=1/10 あるタクシー会社のタクシーには1から通し番号がふられている。
タクシー会社の規模から保有タクシー台数は100台以下とわかっている(弱情報事前分布)。
この会社のタクシーを5台みかけた。最大の番号が60であった。
この会社の保有するタクシー台数の期待値と95%信用区間を求めよ。 Sum[n C[59,4]/C[n,5],{n,60,100}]/Sum[C[59,4]/C[n,5],{n,60,100}]
=2590100/36231≒71.4885
Sum[C[59,4]/C[n,5],{n,60,92}]/Sum[C[59,4]/C[n,5],{n,60,100}]
=0.947035
Sum[C[59,4]/C[n,5],{n,60,93}]/Sum[C[59,4]/C[n,5],{n,60,100}]
=0.95496
60〜93 Rで書くと
n=60:100
pmf=choose(60-1,5-1)/choose(n,5) #Pr(max=60|n)
pdf=pmf/sum (pmf)
sum( n*pdf) #E(n)
plot(n,cumsum(pdf))
abline(h=0.95,lty=3)
plot(n,cumsum(pdf),xlim=c(75,100),ylim=c(0.75,1),type='h')
abline(h=c(0.80,0.90,0.95),lty=3)
累積質量関数をグラフにすると
http://imagizer.imageshack.com/img924/9020/nxNiAP.jpg 時系列データでデータが下降傾向にあるってことを確認する統計手法ってあるの?
二項分布でp=1/2として検定するとか?
例えば5回連続以上で下降になれば微妙なさげでも下降傾向があると判定できる? 5回連続で下降になると(1/2)^5<5%になるからって意味。 同窓会に各人、景品を持ち込む。
全体を集めてクジで持ち帰る景品が決まる。
自分の景品を持ち帰ることになる人数の期待値はいくらか? >>680
2人なら0*1/2+2*2で期待値は1人だよ。 2人なら0*1/2+1/2*2で期待値は1人だよ。 >>678
kは0 からnまでとして
k*nCk*(1/n)^k*(1-1/n)^(n-k)
がnによらず1になることが示せれば終わり。 >>680
それは、ある一人が自分の景品を持ち帰る確率な。 そもそも一人あたり何個の景品を持って来るの?
一人一個持ってきて、分割せず一個を渡すなら、期待値は一人じゃないの? インフルエンザの迅速キットは特異度は高いが感度は検査時期によって左右される。
ある診断キットが開発されたとする。
このキットは特異度は99%と良好であったが、
感度については確かな情報がない。
事前確率分布として一様分布を仮定する。
50人をこの診断キットで診断したところ40人が陽性であった。
この診断キットの感度とその95%CI、及び母集団の有病率とその95%CIは? 1回のじゃんけんで決まる勝者の数が最大になるのは何人でじゃんけんをしたときか?
計算していたら4人になったのは意外。 >>689
あいこのときは勝者が出るまでやり直すなら
n人のジャンケンなら期待値は n/2人 >>689
2〜10人で全員で一度だけじゃんけんをしたときの勝者の数の期待値は
6 / 9
27 / 27
84 / 81
225 / 243
558 / 729
1323 / 2187
3048 / 6561
6885 / 19683
15330 / 59049
[1] 0.6666667 1.0000000 1.0370370 0.9259259 0.7654321 0.6049383 0.4645633 0.3497942
[9] 0.2596149
4人のときが84/81で最大値。 >>691
あいこはやり直しでの
ジャンケンのシミュレーション、1は3に勝ち、3は2に勝ち、2は1に勝つ
xは1,2,3 の並び
1回のジャンケンでの勝者の数を返す
Win <- function(x){# 1 beats 3, 3 beats 2, 2 beats 1
if(length(unique(x))!=2 ) return(0) # no winner
u=sort(unique(x))
if(all(u==c(1,2))) return(sum(x==2))
if(all(u==c(2,3))) return(sum(x==3))
if(all(u==c(1,3))) return(sum(x==1))
}
Jnk.sim <- function(n){
x=sample(1:3,n,replace = TRUE)
while(Win(x)==0){ # repeats when no winner
x=sample(1:3,n,replace = TRUE)
}
Win(x)
}
mean(replicate(1e3,Jnk.sim(10)))
10人でのシミュレーションで期待値は約5
> mean(replicate(1e3,Jnk.sim(10)))
[1] 4.99 ,,__,,
/ `、
/ ヽ
/ ● ● |
/l ''''' し '''''' |
/ l __. |
l /ヽ_ ` --' _ノ
\  ̄ ヽ∩
⌒l l三 |
| ヽ.__| エーザイのアルツハイマー新薬のベイジアン解析の資料読んで
俺に分かりやすく説明してください >>696
ネットワークベイジアンメタアナリシス? 高校で一般人も習う条件付き確率になぜ変な名前をつけて喜んでんの? >>698
なんでも確率変数にできるから。
p値の信頼区間(ベイズでは信用区間と呼ぶ)もだせるよ。 嘘には三つの種類がある
ただの嘘と
真っ赤な嘘と
統計だ
ってアカポス取れない数学科が統計に流れて薬学だの保険屋になって詐欺をするんだな 統計は嘘をつくための道具だよ
いかに上手く丸め込むか
尤もらしいことを言えた者が勝ち
最尤推定なんて
「もっとももっともらしい」
ってまさにそれだし >>698
MCMCと組み合わせるといい感じだから >>701
小児甲状腺がんが増えていないとかに援用されてるね。 1964年、茨城県南の国道バイパスで突如自家用車が
消失するという事件が起こった
毎日新聞でも取り上げられたこの不可解な失踪事件は
今もなお未解決である 検定はだめだめ言われるけど
なんで未だにどの教科書にも基礎事項としてでてくるんだ? >>710
メンデルの法則の実験データは法則に合致し過ぎて捏造の疑いを指摘したのがフィシャーだったかな。 統計による「検定」
サイコロを2回振ったら順に1,2であった。
その確率は(1/6)*(1/6)=1/36=0.027 < 0.05だから
このサイコロはイビツである。
100人に一人が当たるくじを1本太郎君が引いたら当たった。
この確率は0.01 < 0.05だからこのくじはイカサマである。 >>712
正にこれ
なんで5%しか起こらないことが起こったからといって
仮定を否定する根拠になるわけがない
しかも
改めた結論を元に別のことをまたまた検定してとか
検定に検定を重ねまくることが良くある
1枚でも眉唾な曇りガラスを
何枚も重ねて得られる結論って意味ないだろ >>712
まさにコレか?
検定に問題あるといえこれは検定を理解してない
ダメな統計の典型でしょコレ
検定力全く考慮してないし
というか科学を理解してないような >検定に検定を重ねまくることが良くある
これはやってる本人が問題性に気付かないでやったり悪用するなら問題だけど
問題性に気づいてて探索的にやるのは別に問題ない
検討したい仮説がみつかれば
それを確かめるための実験をくむなり新しいデータをとって追試することが大事なわけで
検定でやる必要はないけど
再現性こそ科学をささえるものなのではないかと思うけど 検定の問題ってのは結局
使う側にも結果を見る側にも誤解をあたえやすいってのが問題なのではないかと コインを5回投げたら全部、表であった。
0.5^5 < 0.03125なのでこのコインはイカサマ。
コインを5回投げたら表裏表裏表であった。
0.5^5 < 0.03125なので このコインもイカサマ。 (脱字修正)
コインを5回投げたら全部、表であった。
0.5^5 = 0.03125 < 0.05 なのでこのコインはイカサマ。
コインを5回投げたら表裏表裏表であった。
0.5^5 = 0.03125 < 0.05 なので このコインもイカサマ。 p値とは、その事象以下の確率でしか起こらない現象の確率の総和である。
↑↑
サイコロをふって1の目が10回でた。その確率は(1/6)^10
6 2 4 5 2 5 1 3 6 2 の順にでる確率も(1/6)^10である。
1 4 2 4 2 2 4 4 1 1 の順にでる確率も(1/6)^10である。
....
この順列は6^10通り存在するt。
これを全部加算すると p値は(1/6)^10 * 6^10 = 1
ゆえに、いかなるサイコロも統計的にイカサマとはいえない。 >>718
仮説が立ってない
データで検証しうる仮説は何をたてたの?
検定はまず仮説からたてないとダメ
君がやってるのは統計的仮説検定ではないよ 検定に置いて大事なのは
サンプルサイズ、検定力、有意水準、効果量
仮説もきちんと事前にたてるのプロセスとして大事
このあたりが欠けてる検定は何も意味ないよ あれ?このやりとり前にもやったような。。。
同じやつが書いてるのならループするだけだな
落ちるわ 帰無仮説は表がでる確率=1/2
サイコロの各々の目がでる確率=1/6
じゃね? そこが問題じゃない
1/6であることが起こったから
帰無仮説を棄却するというのが根拠ないってこと
それから
前に上げたこと以外に
両側検定なら対立仮説が棄却されるのに
片側検定なら採択されるとか
恣意的に両側片側を選んで上手く欺すことが可能なことも多い
だいたい
片側検定では正の範囲あるいは負の範囲だけ考えるんだから
つまりは条件付き確率を考えるようなもの
であるからして有意水準は半分にしないとおかしい
両側検定の有意水準÷2=片側検定の有意水準
であるべきなのに同じ有意水準でいいとしてるのが
この欺瞞の元凶 >>719
サイコロの各々の目がでる確率=1/6を事前分布として
サイコロをふって1の目が10回でたら、1の目のでる確率のモード値は0.7
6 2 4 5 2 5 1 3 6 2 の順にでたら、1の目のでる確率のモード値は0.07
98%CIとともに図示すると、http://i.imgur.com/CTvq0lL.jpg
p値なんぞ判断には不要。 サイコロのある目のでる確率の95%CIが0.10〜0.20に含まれたときにその目に関しては歪ではない、と定義する。
サイコロを1000回投げて1〜6の目の回数が
309 251 196 151 49 44
であったときの各々の目のでる確率分布は以下のようになる。
95%HDI と 0.10-0.20を比べて1、2、5、6は歪、3はどちらとも言えない、4は歪でないと判断できる。
https://i.imgur.com/w4YD0t9.jpg >>723
1のでる確率=1/6じゃなくて
それぞれの確率=1/6?
全部の確率について仮説たててるの?
P1=P2=P3=P4=P5=P6=1/6が仮説?
それどう考えても自由度足りないよね?
その仮説考えたら次にすべきは
どういうデータを取れば論証できるだろうかになるわけだが
2回ふってでた目をみてそれの確率求めることで一体なにが論証できると思う?
それって何が出ても1/36になるけどそれが検証可能なデータだと思う?
そこに何の意味があるの?
そもそもなぜそこで、n=2の母比率検定じゃなくて、
N=1の一回目の確率x二回目の確率という事象の確率を検討するの?
検定いぜんに実験の企画段階がめちゃくちゃ可笑しいとおもうんだけどな >>724
そうかね自分は科学的なしゅほうだとおもうけどな
科学的な手法ってのは
問をたて仮説をたて
それを検証できるデータをとり
そこから仮説がどうなのか検証し
どうやらこの仮説ははいろいろ説明できるようだぞというなら
とりあえず残しておく
いやいろいろ説明できない点があるぞというときは
とりあえず研究対象から外す
ほんでほかのやつが残った仮説にもどうやら問題あるようだ
こっちのほうがうまく説明できるようだと別の仮説を立てる
しかしかし、以前、は研究対象から外したものがいろいろ調べてみると正しいようだというデータをあつめるやつがいる
これって科学的仮説がたどっていく過程そのもの何だがな
仮説検定はその一旦を担ってるいる似すぎないだけであって
それで全てというものではない。
科学なんてあくまで仮説の積み上げで
仮説が多くの合意を得ることもあるが、その仮説が正しいとするのは結構曖昧にすぎず
不安定なものに過ぎない
根拠がないと言うが統計によってえられた結論ってそもそもどんなものも大した根拠なくて主観がどこかにはいってるよね。 片側両側については一理ないこともないとおもう
しかし、片側にするってことは片側は起きないだろうという論理的説明を一応出来る状態にあるということ
となると対立仮説も片側に発生する可能性がたかくなるわけでしょ。
だったらかりに推定する母数が平均値なら、きむ仮説でたてた平均値にちかい真の平均値も増えるだろう
だったら採択いきは狭くして棄却域増やさざるを得なくなる
という仮説
こういう宗教的論争を多数生み出すてんで結局仮説検定は問題あるんだけどね。 帰無仮説をサイコロの各々の目がでる確率=1/6とするとき
1の目が続けて何回でたら、帰無仮説を棄却する?
棄却されたときに1の目がでる確率はどれくらいのなのか?
1/6.0000001 なのか 1/2なのか? p値は何かを語るだろうか?
むしろ、1の目のでる確率の95%CIが1/12から1/3なら許容範囲、1/12以下や1/3以上なら1の目に関して歪なサイコロと判断する方が実用的だと思う。
1の目が2〜9回連続したときの1の目のでる確率をグラフにすると次のようになる。
http://i.imgur.com/nUd5UMO.jpg
ROPE:Range Of Practically Equalの略 (1/6の半分および2倍の1/12〜1/3とした)
この結果から7回以上連続すれば、歪なサイコロと呼べると思う。 >>728
ディリクレ分布でP1=P2=P3=P4=P5=P6=1/6を事前確率分布にするよ。 >>732
まじで?
よく知らんけど
そんだけのおもい仮説検証で
N=1で自由度足りるの? >>733
それでMCMCして1の目が2〜9回連続したときの1の目のでる確率をグラフが
http://i.imgur.com/nUd5UMO.jpg N=1で6個の仮説を検証できるて凄くないか?
天才っているんだなw
どう考えても無理を可能にする天才
すげぇわ 自由度どう考えても足りないんだけどどうやって補完してるの? 5回1の目が出たときの事後分布はこんな感じでディリクレ分布がMCMCされるよ。
もちろんpi.1+pi2+...+pi.6=1の縛りはある。
pi.1 pi.2 pi.3 pi.4 pi.5 pi.6
[1,] 0.3283620 0.051967675 0.03618622 0.16401712 0.367065379 0.052401570
[2,] 0.6824722 0.009042027 0.02910249 0.03210041 0.018967898 0.228314983
[3,] 0.5938329 0.015613992 0.04579314 0.22754563 0.027786023 0.089428325
[4,] 0.5801030 0.033073118 0.01888069 0.19814067 0.001983984 0.167818557
[5,] 0.5501332 0.056247586 0.04896485 0.02131748 0.090452926 0.232883935
[6,] 0.3149563 0.051999120 0.04049730 0.32030618 0.039353349 0.232887755
[7,] 0.5496275 0.154893875 0.23899680 0.02146069 0.028756420 0.006264765
.... N=1で統計的に正しいですって結果出されても説得力まったくないなぁ
統計は詐欺だと立証されてるようなもんだけどw ごめん詳しいこと知らないので分かるようにせつめして
N=1で六個の仮説についてはんだんできるってすごくね?
どういう理屈? >>735
それがベイズ統計の醍醐味でもあり、胡散臭さでもある。
こういうのね
事前分布を決めてしまえば
まだ一発も撃ったことのない0発0中のゴルゴ16の命中期待値
のような、データ数が少ないどころか0個の場合でも算出・結論できる >>740
よくわからんけどそうなると統計的仮説検定とあんまかわらんような気がするけど N=1ってさ人文科学の事例研究なんだよね
そこから一般論を導き出すようなかんじ
人文科学ってこれだからばかにされるんだけど
コレをうわまわる手法が統計にはあるのかすげぇなw サイコロの目の出る確率が目の数に比例する、
2は1の目の出る確率の2倍
3は1の目の出る確率の3倍
....
とかいう事前分布のとき
1の目が続けて5回でたときの1の目のでる確率の事後分布のグラフも書けるよ。 >>743
グラフ書けるかどうかじゃなくて
バカにも分かるように説明して下さい N=1で6個の仮説の真実説位を検証できる理屈についておしえて 何を持って歪なサイコロとするか、各々の目のでる確率の分布をどう仮定するか、というだけの話。 これを多項分布に応用しただけの話。
ゴルゴ13は100発100中
ゴルゴ14は10発10中
ゴルゴ15は1発1中
とする。
各々10000発撃ったとき各ゴルゴの命中数の期待値はいくらか? >>746
よくわからんが
有意水準の設定と変わらんね
しょうじきN=1で六個の仮説を検定できるなんて
統計的検定より胡散臭いけど結論がよく分からん >>747
それとN=1で六個の仮説を論証出来るのと同関係あるの?
N=1と多項分布がどうかんけいあるのよくわからんえけど >>747
これは命中確率の事前分布を一様分布として
ゴルゴ13は100発100中だったときに
命中確率の分布がどう変わるか、を計算することになる。
ベイズ統計って 事前と事後で 確率分布がどう変わるか(relocation of credibility)を探る手法。 ■ このスレッドは過去ログ倉庫に格納されています