Verifiable Randomisation · IBM Quantum
臨床試験と心理実験のランダム化割り付け。 表は生成した時点で封をして、そのハッシュだけを先に公開します。 参加者ごとに1件ずつ開封し、研究終了後に全体を開示。 誰でも、事前に公開されたハッシュと突き合わせられます。無料です。
群の数と桁数を合わせます(例 2:1)
0 なら単純ランダム化。比の合計の倍数にしてください
予定より多めに用意して構いません
空欄なら層別なし。層ごとに独立した表が作られます
開いた時刻が残ります。これが後から見て意味を持ちます。 参加者の登録日時と突き合わせれば、「先に何が出るか見てから登録した」ができていないことが分かるからです。
ランダム化そのものは難しくありません。壊れるのは、たいていその次です。
次にどの群が来るか分かる状態で参加者を組み入れると、 担当者が無意識にでも患者を選べてしまいます。 「この人は重症だから、次が対照群なら見送ろう」——これが起きた瞬間、 その研究の比較可能性は失われます。選択バイアスと呼ばれるもので、 ランダム化した意味が消えます。
だから割り付けは事前に作って隠す必要がある。これが 割り付けの隠蔽(allocation concealment)です。
ただし、隠すだけでは足りません。 隠していた側が、あとから表を作り替えられるからです。 封筒法でも中央割り付けでも、「表が途中で変わっていないこと」を 外から確かめる方法がありません。信じるしかない。
②で公開してしまうので、あとから表を作り直せません。 作り直したら、④で開示した表が②のハッシュと合わなくなります。
さらに、ビットから作り直しても同じ表になることも確認しています。 つまり保存先のデータベースを直接書き換えても、そこで食い違いが出ます。
種にしているのは IBM の量子コンピュータ実機が出した256ビットです。 量子の測定結果は、測定より前のどんな変数からも決まっていません (ベルの定理。2022年ノーベル物理学賞)。 「割り付け表を作る前には、この世の誰にも分からなかった」を言えます。
正直に書きます。実機のビットは256ビットで、 そこから先の展開は SHA-256 のカウンタモード、つまり公開された決定的計算です。 量子ではありません。種が予測不能なら、そこから先が決定的でも構わないという設計です。 そしてそのおかげで、第三者が再計算して確かめられます。
実機のビットが尽きたときは暗号乱数に落ちます。 そのときは画面と証書に「暗号乱数」と出ます。黙って差し替えることはしません。
ブロックランダム化は、決めた数(ブロック)ごとに群の数が比のとおり揃うようにする方法です。 ブロック4で1:1なら、どの4件を取っても2件ずつになります。 途中で組み入れが止まっても群の大きさが偏らないので、臨床試験ではこちらが標準です。
ブロックサイズは論文に書きますが、実施者には伏せるのが原則です。 ブロックの大きさを知っていると、ブロックの終わりで次が予測できてしまいます (4件中3件が介入群なら、残りは対照群)。 可変ブロックを使うのが理想ですが、まずは実施者に伝えないことが先です。
層別は、性別や施設のように結果に影響しそうな要因ごとに、 独立した割り付け表を持つ方法です。ここでは層ごとに完全に別の表を作っています。
これは医療機器でも、認証を受けたシステムでもありません。 規制のかかる治験(GCP適用)で使う場合は、施設の要件を必ず確認してください。 探索的研究、心理実験、学生実験、予備試験を想定しています。
私(運営)はデータベースを見られる立場にいます。 だから「見なくても確かめられる」形にしてあります—— 公開済みのハッシュ、開示された表、量子ビット、再計算のコード。 私を信じる必要がないように作った、というのが唯一の答えです。
盲検化(blinding)は別の話です。 この道具は割り付けを隠しますが、介入そのものを盲検化するのは研究者の仕事です。
開示された表と、公開済みのハッシュだけで確かめられます。
検算用のコードをそのまま置いてあります。 手元で走らせて、同じ値になるか試せます。
同じ実機のビットを使っています。 量子抽選(証書つき)、 量子乱数ビーコン(毎日きまった時刻にビットを公開)、 量子ルーレット。