高校数学の質問スレ(医者・東大卒専用) Part438 (899レス)
高校数学の質問スレ(医者・東大卒専用) Part438 http://rio2016.5ch.net/test/read.cgi/math/1723152147/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
736: 132人目の素数さん [sage] 2025/02/22(土) 07:37:49.95 ID:C9pebjv4 (* 感度と特異度のリスト *) sen = {30, 5, 5, 97}/100; spc = {68, 95, 95, 60}/100; (* すべての組み合わせを生成 *) result = Tuples[{0, 1}, Length[sen]]; (* 事前確率 *) prior = 1/2; (* 尤度比の計算 *) LikelihoodRatioPositive[s_, sp_] := s / (1 - sp); LikelihoodRatioNegative[s_, sp_] := (1 - s) / sp; (* 事後確率を求める関数 *) fposterior[obs_, prior_, sen_, spc_] := Module[ {odds, lr}, odds = prior / (1 - prior); (* 事前オッズ *) lr = Times @@ Table[ If[obs[[i]] == 1, LikelihoodRatioPositive[sen[[i]], spc[[i]]], LikelihoodRatioNegative[sen[[i]], spc[[i]]] ], {i, Length[sen]} ]; odds = odds * lr; (* 事後オッズ *) odds / (1 + odds) (* 事後確率 *) ]; (* すべての組み合わせに対して計算 *) res = fposterior[#, prior, sen, spc] & /@ result; (* 事後確率のリストを表示 *) res (* 事後確率をソート *) sortedRes = Sort[res] (* すべて陽性のときの事後確率 *) fposterior[{1, 1, 1, 1}, prior, sen, spc] % // N (* すべて陰性のときの事後確率 *) fposterior[{0, 0, 0, 0}, prior, sen, spc] % // N (* 最大の事後確率 *) maxRes = Max[res] % // N (* 最大の事後確率を持つ組み合わせ *) Extract[result, Position[res, maxRes]] (* 最小の事後確率 *) minRes = Min[res] % // N (* 最小の事後確率を持つ組み合わせ *) Extract[result, Position[res, minRes]] http://rio2016.5ch.net/test/read.cgi/math/1723152147/736
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 163 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.011s