ここから本文です

投稿コメント一覧 (345コメント)

  • >>No. 18304

    48週での有意差ですが、「mvrnorm()」を使ったシミュレーションは意味がありませんでした。rnorm()を使えば、データがばらつくのでシミュレーションの意味はあるでしょう。

    そんなシミュレーションをしなくても、単に、500M細胞投与群の場合に有意差がありそうかどうか、ということの推測は下記のようなサイトでt検定をしてみることで十分可能です。実際の検定手法はt検定ではないのであくまでも参考ですが。

    下記のサイトで計算すると、500M細胞投与群の場合、P値は0.0386と計算されるはずです。
    500M細胞投与群の場合は、48週でも有意差がありそう、ということになります。
    https://www.graphpad.com/quickcalcs/ttest1/?format=SD
    Enter mean、SD and Nを選択して、Welchを選択して下記の数字を入力するだけです。
    ※sb623 mean=11.6、 sd=8.8、n=15
    ※control mean=3.3、 sd=11.8、n=15
    ※48週の数値(スライドから取得)
    まあ、nが15なので、500万細胞投与の効果なのか、そのグループに所属した対象者の個人差から見られた効果なのか、という問題はあると思います。

  • Q&Aで、48週データについて「当社としては非常に有益なデータであると考えています」としています。それでは、何故、2019年4月の時点で何も公表していなかったのでしょうか。当時、データはあったはずです。

  • >>No. 18311

    R言語はもともと統計学の教育用のソフトとして開発されたものですので、統計解析系は強いですね。でも、これから始める場合は、ほぼ同じことができるPythonのほうがいいかもしれません。Pythonのほうが汎用性があり、ユーザー数も多いですし。最近、Pythonにしておけばよかったと思ったりもします。まあ、Pythonを始めればいいのですけど。

  • >>No. 18301

    ※連続投稿になってしまい、申し訳ありません。
    ご指摘を受けて、シミュレーションの内容を修正してみました。
    修正点1:発生させた乱数のデータセットから下限が-10より大きいものを抽出するように修正。
    修正点2:乱数発生用にmvrnorm()というパッケージを使用するようにしました。mvrnorm()では確実に指定した平均値、標準偏差になるデータセットが生成されます。
    修正したデータでのシミュレーションでは、500万細胞投与群と対照群での「有意差あり」は10万回のデータ生成のうち、下限条件を満たす1342件のうちの1342件で「有意差あり」となりました。つまり、指定した条件のデータセットのすべてで「有意差あり」なので、500万細胞投与群ならば「有意差あり」の可能性は非常に高いと言えそうです。
    しかし、ここで、ふと気づきました。平均値、標準偏差、n数が固定されているのであれば、乱数のデータセットを調べる必要はなく、1件の平均値、標準偏差、n数の値でt検定をすればよくて、下限が-10より大きいものを抽出するというところも意味はなかったというオチです。シミュレーションとしては値がブレるrnorm()のほうがいいのかもしれません。
    ※あくまでもシミュレーションですので、実際にどうなっているのかはわかりません。
    set.seed(6)
    power <- 0
    power_10 <- 0
    for (i in 1:100000) {
    sb623 <- mvrnorm(n=15, mu=11.6, Sigma=8.8^2, empirical=T)
    control <- mvrnorm(n=15, mu=3.3, Sigma=11.8^2, empirical=T)
    if (min(sb623)>-10 & min(control)>-10)
    {
    sb623_10 <- sb623
    control_10 <- control
    power_10 <- power_10 + 1
    out <- t.test(sb623_10, control_10, var.equal=F)
    if (out$p.value < 0.05) {
    power <- power + 1
    }}}
    power
    power_10

  • >>No. 18302

    例えば、乱数で発生させているデータのヒストグラムのイメージは下図のようになります。下図は、乱数で発生させているデータの1例のイメージで、乱数のデータセットを1万通り発生させていることになります。
    data <- rnorm(15,mean=3.34, sd=11.8)
    hist(data)

  • >>No. 18301

    48週の実際のデータの分布の情報はないため、公表されているグラフから拾った標準誤差の大きさから標準偏差(SD)を計算し、グラフから拾った平均値の大きさと合わせて使用しています。
    当該の平均値と標準偏差になる正規分布データを乱数で発生させているだけなので、実際のデータの姿とは大きく異なります。実データがない状況でのシミュレーションに過ぎません。
    ご指摘のとおり、正規分布データなので-20とか、あり得ないデータも発生しています。

  • >>No. 18282

    48週での平均値の差の有意差有無について統計学的な考察をしてみました。
    2019年4月の説明会のスライドからスコアを拾っています。n数は、24週と変わらないという前提です。
    実際の検定はt検定ではありませんが、便宜上、t検定(等分散を仮定しない)を使用しています。
    ・「48週での有意差なし」は、下記の結果からもわかる通り、不自然なことではありません。
    ・500万細胞投与群と対照群での有意差の有無ですが、試行の結果はほぼ半々です。どちらに転んでもおかしくなさそうです。

    ■投与群全体と対照群:有意差ありは、1万回試行中2574回
    sb623 <- rnorm(46, mean=8.28, sd=12.5)
    control <- rnorm(15, mean=3.34, sd=11.8)

    ■5M細胞投与と対照群:有意差ありは、1万回試行中5549回
    sb623 <- rnorm(15, mean=11.62, sd=8.8)
    control <- rnorm(15, mean=3.34, sd=11.8)

  • 折線グラフのエラーバーとLS MEANの標準誤差(SE)の数値の整合性がない件ですが、慢性期1/2aの時のグラフと合わせるために普通のMEANとSEにしているという可能性もなくはないですが、表記している数値とグラフに整合性がない場合、普通は注釈を付けると思います。

    ちなみに、スライドの画像などから座標のスコアを取り出した時に使ったソフトはWebPlotDigitizer<https://automeris.io/WebPlotDigitizer/>というものです。

  • >>No. 18281

    下記は、R言語でモンテカルロシミュレーションを実施した結果です。
    仮に、下記のようなn数、改善度の平均値、改善度の標準偏差の投与群、対照群を想定します。
    別に対照群を150人にしてもいいのですが、n数を増やせばP値の有意差が出やすくなるだけなので
    あえて投与群よりも少なくしておきます。
    投与群:150人、平均値8.7、標準偏差11.6
    対照群:125人、平均値2.4、標準偏差4.7
    その上で、1万回治験をした場合、5%水準で有意なP値が得られる回数を計算しています。
    つまり、平均値と標準偏差が同じになる正規分布のデータを1万通り用意し、1万回t検定をして、
    P値が0.05より小さくなった回数をカウントしています。
    なお、回数をパーセント換算するために最後に100で割っています。
    計算結果は、100です。100で割っているので回数としては1万回です。
    つまり、外傷性2相試験で見られたクスリの効果があれば、n数を150人くらいにすると、
    ほぼ間違いなく有意差が得られることになります。
    ちなみに、投与群、対照群をそれぞれ100人にすると、結果は99.91です。
    つまり、1万回のうち9991回が有意差あり、9回が有意差なしになります。
    set.seed(6)
    power <- 0
    for (i in 1:10000) {
    sb623 <- rnorm(150, mean=8.7, sd=11.6)
    control <- rnorm(125, mean=2.4, sd=4.7)
    out <- t.test(sb623, control, var.equal=F)
    if (out$p.value < 0.05) {
    power <- power + 1
    }
    }
    power/100
    [1] 100

  • バイオテック何とかの新しいレポートが出ていますね。2019年9月に投稿した内容が関連している内容なので再投稿します。Rを使っている人はいろいろとシミュレージョンしてみてください。
    --------------
    統計的検定には、「検出力」という考え方があります。外傷性2臨床試験のような平均値、標準偏差になるような標本を正規分布の乱数で生成させた場合に、「有意差がある:p値<0.05」となる結果がどれくらいの割合で発生するのかはシミュレーションできます。
     外傷性2臨床試験の場合、普通の標準偏差が公表されていないので、散布図からの誤差ありデータの標準偏差を使用しています。
    平均値:投与群8.7、対照群2.4
    標準偏差(推計):投与群11.6、対照群4.7
    ◆(sb623:n=46、control:n=15)の場合は、83.7%が有意差ありと判定されると推定されます。実際に「有意差あり」になりました。
    ◆3相試験でn数が増えると仮定して、(sb623:n=50、control:n=25)の場合は89.7%が「有意差あり」と判定されると推定されます。n数を増やせば、同じ結果でも「有意差あり」が出やすくなります。
    ◆3相試験でn数が増え(sb623:n=50、control:n=25)、かつ投与群の平均値が11.9(5M dose)のような値を仮定すると、99.9%という数字になります。500万細胞投与の効果が本物であれば、「有意差あり」となる可能性は高いと考えられます。
    ■■■ネットで見つけた、「検出力」を推定する「r」のプログラムです■■■
    set.seed(6)
    power <- 0
    for (i in 1:1000) {
    sb623 <- rnorm(50, mean=11.9, sd=11.6)
    control <- rnorm(25, mean=2.4, sd=4.7)
    out <- t.test(sb623, control, var.equal=F)
    if (out$p.value < 0.05) {
    power <- power + 1
    }
    }
    power/10

  • >>No. 18273

    > そこから導き出される結論は?

    特に結論があるわけでもありませんが・・・。

    あえて言うと、以下のようなことでしょうか。
    ・少なくともサンバイオの管理部門の社員(公表資料作成者)は、資料の校正が適切にできていない。
    ・2019年4月の説明会時のスライドでも標準誤差の数値とグラフのエラーバーの不整合があったので、全社的に資料の校正ができていない、あるいは統計学の素養がないのかもしれない。解析は外部に丸投げなのかも。
    ・バイオテック何とかの統計学的考察者は、信頼区間の計算では、資料に記載されている標準誤差(最小二乗平均に対応する標準誤差)の数値ではなく、基本統計量としての標準誤差の値(グラフのエラーバーを測って出したであろう数値)を使って計算していると見られる。なお、最小二乗平均に対応した標準誤差の数値からは記載されている方法で信頼区間の計算はできない。しかし、文中には「最小二乗平均とその標準誤差」という記述があり、非常にわかりにくい。「信頼区間の計算に使っている標準誤差は、最小二乗平均の標準誤差ではなく、エラーバーの大きさから推定した基本統計量の標準誤差」といった注釈があったほうがよかったでしょう。

  • >>No. 18258

    表示している標準誤差の数値とグラフのエラーバーの大きさが違うことにサンバイオの中の人は誰も気づいていなかったことは確かです。バイオテック何とかの統計学的考察者も気づいていなかったようです。

  • >>No. 18258

    バイオテック何とかのレポートは、平均値が最小二乗平均であることについて講釈しながら、折れ線グラフの標準誤差が線形モデルのものであるべきことに気づいていないようです。

  • >>No. 18257

    平均値・標準誤差(SE)の数値のスライドでは、投与群のSEよりも対照群のSEが大きいですが、折れ線グラフのエラーバーを見ると、大きさは逆のように見えます。

  • 3年前に作った資料を見直していたら、折れ線グラフの標準誤差のエラーバーが怪しいことに気づきました。平均値が最小二乗平均なので、線形モデルでの標準誤差のはずですが、折れ線グラフのエラーバーと合致していないようです。折れ線グラフでのエラーバーは普通の「標準誤差」のようです。折れ線グラフのスライドの標準誤差と平均値・標準誤差の数値を表示しているスライドとの整合性がなく、いい加減な感じがします。

  • いろいろと、疑問点はあります。データ数が限られているので、「条件付き」でのデータ収集が求められるのは当然だと思います。
    ・36週、48週のn数が異なっている可能性(欠損値がある可能性)はあるのかどうか:測定に参加していない人が存在する可能性はあると思います。→今回採用されているMMRM解析は欠損値がある場合にも対応しやすい手法なので流行っているらしいです。
    ・500万細胞投与群で効果が高いのは、本当に細胞数によるものなのかどうか:500万細胞を投与された人達の中に改善しやすい人が多かった、という対象者の側のサンプリングの要因によるものだった可能性はないのかどうか。
    ・MMRM解析に、用量、受傷後経過月のほかにどのような変数が投入されているのか:性別やベースラインなど変数を増やしても、n数が少ない場合あまり意味がないようにも思えます。

  • 2019年4月に作成していたファイルで、48週までの折れ線グラフから座標値を取得したものがありました。エラーバーは標準誤差のものですが、48週ではほぼ重なる形です。当然、信頼区間はかなり重なるはずです。信頼区間が重なることが、即、有意差なしということではありませんが、大きく重なっていれば有意差はなしとみなせます。バイオ何とかレポートを見ましたが、内容としては薄いと思います。

  • >>No. 18230

    画像がノンパラメトリック検定のものではありませんでした。
    パラメトリック検定、ノンパラメトリック検定ともに、等分散を仮定しない場合で、P値が低くなっています。

  • 従来の統計学だと、Confidence interval (信頼区間)。ベイズ統計学だと信用区間です。従来の統計学は母集団平均値などの「真の値」を仮定していて、Confidence interval (信頼区間)は標本によって変動するという考えです。95%信頼区間というのは、100回データをとれば95回は平均値がその区間内にあるという「幅の取り方」になります。下記のサイトがわかりやすいと思います。
    https://bellcurve.jp/statistics/course/8891.html

  • 「有意差が~」と言う人も多いですが、そもそもn数が少ない場合P値は信用できませんし、検定の手法でもかなりP値は異なります。下図のようにノンパラメトリック検定ではかなり低いP値が得られます。
    なお、外傷性の治験の解析手法は、MMRM解析という最近流行りのものらしいですが、今回のデータにこの手法が適しているのかどうか、という問題はあると思います。詳しい方は、どう思われますでしょうか。

本文はここまでです このページの先頭へ