アプリ版:「スタンプのみでお礼する」機能のリリースについて

1時間のうち120秒発生する出来事が5つあります。
①1時間のうち2つの発生が被る確率
②1時間のうち5つの発生が被る確率
③1時間のうち発生が1つも被らない確率
④1日を24時間、1月を30日としたとき1月で2つの発生が被る確率

可能であれば計算式も教えて頂きたいです。
よろしくお願いいたします。

質問者からの補足コメント

  • ご回答ありがとうございます!
    1)少しでも被れば被るとみなします。

    2)一斉ではなくこちらも先ほどと同じように少しでも被れば被るとみなします。

    3)ごめんなさい、説明不足でした。
    1時間のうち120秒のイベントが毎時間条件が変わらず30日発生し続けたらということです。なので必ず1時間に1回発生する想定でした。

    説明不足でごめんなさい、よろしくお願いします。

    No.2の回答に寄せられた補足コメントです。 補足日時:2023/09/16 09:51
  • ありがとうございます。

    説明不足で申し訳ございません。
    120秒は連続していて、5つは全て独立しているで合ってます。

    No.4の回答に寄せられた補足コメントです。 補足日時:2023/09/18 10:05

A 回答 (10件)

シミュレーション結果を連投している者です。


すみません。お詫びです。

「①1時間のうち2つの発生が被る確率」について、それが複数発生しているケースも含んで確率を求めてしまっていました。

つまり、任意の2列が被るほかに、任意の3列、任意の4列、5列全て、が被るケースを含んでいるのはもちろんのこと、

もっと重要なことは、例えば、ある時間帯でAとB、その他の時間帯でCとDが被っているケースがありますが、そのようなケースであっても単に「1時間中で被りあり」というような単なる「あり/なし」の「あり」として数え上げています。

1時間中でこういうケースがあっても、その1時間での被りは2回ではなく1回とカウントして、1時間を1万回分生成したときの被りの生起を数え上げています。

XTXの行列から場合分けが出来そうなので数え上げはできると思いますが、回答をするのは諦めます。お許し下さい。
    • good
    • 0

再訂正版での計算結果です。



> con1 / sim
[1] 0.5153
> con2 / sim
[1] 1e-04
    • good
    • 0

何度もすみません。

再度訂正しました。

# 1時間のうち120秒連続発生する事象が5つある。
# ①1時間のうち2つの発生が被る確率
# ②1時間のうち5つの発生が被る確率
# ③1時間のうち発生が1つも被らない確率

# トリガーは1秒単位と考え、3600個の0と連続120個の1を生成。

n <- 1:3599
sim <- 1000

k <- 0
con1 <- 0
con2 <- 0

while(k < sim){

xx <- NULL

for(i in 1:5){
x <- c(rep(0, sample(n, 1)), rep(1, 120))
if(length(x) > 3600) x[1:(length(x) - 3600)] <- x[3601:length(x)]
x <- c(x, rep(0, 3480))
x <- x[1:3600]
x
xx <- cbind(xx, x)
}

# 5列中の任意の2列で被っていれば1を立てる

tri <- t(as.matrix(xx)) %*% as.matrix(xx)
j1 <- ifelse(sum(tri[lower.tri(tri)]) > 0, 1, 0)
con1 <- con1 + j1

# 5列が全て被っていれば1を立てる

j2 <- ifelse(sum(apply(xx, 1, prod)) > 0, 1, 0)
con2 <- con2 + j2

k <- k + 1

}

con1 / sim
con2 / sim
    • good
    • 0

訂正版のスクリプトです。


エラーが出たので、その対応もしました。

# 1時間のうち120秒連続発生する事象が5つある。
# ①1時間のうち2つの発生が被る確率
# ②1時間のうち5つの発生が被る確率
# ③1時間のうち発生が1つも被らない確率

# トリガーは1秒単位と考え、3600個の0と連続120個の1を生成。

n <- 1:3599
sim <- 1000

k <- 0
con1 <- 0
con2 <- 0

while(k < sim){

xx <- NULL

for(i in 1:5){
x <- c(rep(0, sample(n, 1)), rep(1, 120))
x <- c(x, rep(0, 3719 - length(x)))
if(sum(x[3601:3719]) > 0) x[1:119] <- x[3601:3719]
x <- x[1:3600]
xx <- cbind(xx, x)
}

# 5列中の任意の2列で被っていれば1を立てる

tri <- t(as.matrix(xx)) %*% as.matrix(xx)
j1 <- ifelse(sum(tri[lower.tri(tri)]) > 0, 1, 0)
con1 <- con1 + j1

# 5列が全て被っていれば1を立てる

j2 <- ifelse(sum(apply(xx, 1, prod)) > 0, 1, 0)
con2 <- con2 + j2

k <- k + 1

}

con1 / sim
con2 / sim
    • good
    • 0

間違えていました。

最後の119秒ですね。
何か所か訂正しました。

シミュレーションもやり直しました。

> con1 / sim
[1] 0.5201
> con2 / sim
[1] 0
    • good
    • 0

#2です。



コンピュータ・シミュレーションをやってみました。
0,1の数列を5列、ランダムに作成しました。
そして、それらが被るかどうかを1万回試行しました。

結果は、

① 0.5166・・・1時間単位で見れば、2時間につき約1回は5ラインのうちどれかが被っていることが分かりました。
AとB、AとC・・・・DとEのどれかが被っていることになります。

私はメーカーに勤めていますが、非常に興味深い結果だと思います。
1時間に1回、2分の段取り替え作業が発生するライン5本を1人の作業者が担当する場合、かなりの確率で被るので、設備が遊ぶ時間が発生することは避けられないという状況が分かりました。

② 0・・・1万時間調べたところでは、5事象同時に生起することはありませんでした。

任意の3ラインではどうかな、と興味が湧きましたが、2列のケースのようにXTXでは計算できないので、思案中です。


ところで、設定は次のようにしました。
・イベントが立ち上がるタイミングは3600秒のうちのいずれかとする。
・最後の199秒間で立ち上がったら、3600秒を越える部分を先頭にコピー。
・その後、3600秒分をデータとする。
・5列中、全ての任意の2列のイベントの被りを調査する。
・5列同時にイベントが立っているケースを調査する。
ご質問の③は、①の排他になります。


~~Rのスクリプトは、次のとおりです~~

# 1時間のうち120秒連続発生する事象が5つある。
# ①1時間のうち2つの発生が被る確率
# ②1時間のうち5つの発生が被る確率
# ③1時間のうち発生が1つも被らない確率

# トリガーは1秒単位と考え、3600個の0と連続120個の1を生成。

n <- 1:3600
sim <- 10000

k <- 0
con1 <- 0
con2 <- 0

while(k < sim){

xx <- NULL

for(i in 1:5){
x <- c(rep(0, sample(n, 1)), rep(1, 120))
x <- c(x, rep(0, 3799 - length(x)))
if(sum(x[3601:3799]) > 0) x[1:199] <- x[3601:3799]
x <- x[1:3600]
xx <- cbind(xx, x)
}

# 5列中の任意の2列で被っていれば1を立てる

tri <- t(as.matrix(xx)) %*% as.matrix(xx)
j1 <- ifelse(sum(tri[lower.tri(tri)]) > 0, 1, 0)
con1 <- con1 + j1

# 5列が全て被っていれば1を立てる

j2 <- ifelse(sum(apply(xx, 1, prod)) > 0, 1, 0)
con2 <- con2 + j2

k <- k + 1

}

con1 / sim
con2 / sim
    • good
    • 0

とりあえず、「1時間のうち120秒発生する出来事」って条件を


少し確認する。
60分中に必ず1回、連続2分間で発生する出来事がある。
開始のタイミングは時刻0〜58分の一様分布であり、
それが5つあって相互に独立だとする。

だとすると、たとえば「出来事」が2つだった場合に
被る確率は、X〜U[0,58], Y〜U[0,58] で |X-Y|≦2 となる確率。
(X,Y) の図を書いて考えると、
確率 = { 58^2 - (56^2)/2 - (56^2)/2 }/58^2
  = 57/29^2.

設定の解釈は、これでいい?

あと、④は①の試行を60×24×30回
独立反復するって解釈でいいのかどうか。
この回答への補足あり
    • good
    • 0

「補足」まで含めて考えると



・1時間のうち120秒発生する出来事
 発生している時間の割合は
  120 [s] / 3600 [s] = 1/30
 つまり「時間経過のうち、1/30の時間は発生している」と考えられる。

・ただし、「少しでもかぶればよい」ということなら、「240秒のうちに2つ以上が起こればよい」ということになり、その確率は
 240/3600 = 1/15
になる。


>①1時間のうち2つの発生が被る確率

これは「5つのうち2つが同時に起こり、その時間は他の3つは起こらない」ということと解釈できます。
その確率は、「5つのうちから2つを選ぶ組合せ:5C2」をかけて
 P1 = 5C2 × (1/15)^2 × (14/15)^3 = 0.0361349・・・


>②1時間のうち5つの発生が被る確率

これは「5つ全部が、この240秒のうちに起こる」と解釈して
 P2 = 5C5 × (1/15)^5 = 1.3168・・・ × 10^(-6)


>③1時間のうち発生が1つも被らない確率

これは「1つだけが、この240秒のうち以外で起こる」と解釈して
 P3 = 5C1 × (1/15)^1 × (14/15)^4 = 0.262944・・・


>④1日を24時間、1月を30日としたとき1月で2つの発生が被る確率

これは、③の確率を24時間、30日連続で達成する確率を求め、それを「1から引く」という、いわゆる「余事象」の計算をすればよいと思います。

つまり
 P4' = P3^(24 × 30) ≒ 0.2629^720 ≒ 0
のなってしまって
 P4 = 1 - P4' ≒ 1
つまり「1か月間に2つの発生が重なる事態はほぼ確実に起こる」という結果になると思います。
    • good
    • 0

スミマセン。

確認です。

1)被る、とは、Aラインが120秒間ONになっているとき、例えばBラインが最後の5秒でONになって被っても、被るといいますか?120秒間全て一致する必要がありますか?

2)5つの発生とは、A~Eラインの5本の時系列で、一斉にONになることを言っていますか?

3)1か月で考えるとは、そのイベントが、最後の1日に集中することもあるということですか?言い換えれば、必ず1時間に1回生起しているのではないのですね?
この回答への補足あり
    • good
    • 1

さすがに, これだけの条件で求めろってのは無理.

    • good
    • 1

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