2014年11月7日金曜日

ケースコントロール研究では条件付きロジスティックですよね?ファインマンさん。

ケースコントロール研究ではそれぞれのケースに対して1~10人位のコントロールを取ってくる。

その時それぞれのケースに対するコントロールを合わせてブロックとか表現する。

データはプールして解析するより、ブロックごとに解析してそれを統合するほうがある種の検出力が高くなることが知られている。

さらに言えば、プールして解析してしまうと、交絡の調整が不十分となってしまうことがある。

このように少しアドバンストな解析のことを条件付きロジスティックと呼ぶ。

条件付きロジスティックではタイの処理方法を指定する必要がある。

またかなり計算時間がかかるということで、いろいろな簡便な方法が提案されてきているが、最近のコンピュータではイグザクト法を用いない理由は殆ど無いだろう。

ただし臨床試験で標準的に用いられているという理由、または統計ソフトで標準的に用いられているという理由で使っている研究者も多い。

正直SASとRでの実装はわかるが、SPSSやJMPの実装はやったことない。

要望が増えれば覚える予定。




2014年11月4日火曜日

本日朝多地点モーニングカンファレンスで話させていただいた。
これはビデオ会議システムを用いて、持ち回りで参加病院から演題を出し、今検討していることや、それぞれの病院での取組みを話すという子のである。

朝の7時50分から8時半前までという、医者先生方からすると回診の時間に割り当てている診療科も多い中、興味があれば、それに参加するという形で行われ続けているようだ。

かくゆう私も、毎回は出ていないが、今自分の関わっている研究に関連ありそうなことや、ご一緒させて頂いている先生方が発表するとなったらよく見に行っていた。
そんな中で今回私は、研究をする前に必要な統計学的な考え方ということで、話させていただいた。
内容としては、ごくごくベーシックな話であり、研究を最小限の力で、最大限の効率で、更に出来る限りの精度を保てるように配慮しなければならないことを話した。
話しているときには、他の病院の先生がどんな顔をしながら聞いてくれているかがわからないし仕組みとなっているのが、怖いところだが、質問を一つしてもらえたし、むしろ想定質問内で良かったというところ。
時間が20分しかないのでかなり内容を絞っていったのだが、その割に10分少しで話し終わってしまったところは反省。
終わった後、後ろにいた人の数を見ると、超満員でありがたい限りでした。

何人かの先生には、面白い切り口の発表だったしためになったと言ってもらえたので、少し自身になったかな。

その後朝はメールの返信や、質問も2件。
FAQ的な話と、追加解析。

昼からは大きな解析をやろうとしたが、ちょくちょく声をかけられて、結局集中できなかった。明日は少し時間をとろうとおもう。


アクセプトの連絡が1件
新規の研究相談後ろ向き2件
新規の研究相談前向き2件
発表前のスライドチェック4件

なかなかハードだったけど、お疲れ様です。
また明日も頑張りましょう。

あかん文章が安定しない。書かないとダメだな。

2014年10月23日木曜日

propensity scoreはどういう時に使うのですか?

※内容に責任は持ちませんので、ご了承ください。この投稿を根拠に何かを始めるより、近くの統計家に相談することをお勧めいたします。

本日
朝 
研究のデータ再解析依頼。どう考えても最大値がおかしな値になっていると。当時のスクリプトを読み直すと確かに一文字違っていた。指摘いただいて本当によかった。一人でやっているので、何度も何度も確認はするのだが、たまにこういうミスをする。にんげんだもの。で終わればいいけど、そうも行かない。チェックリストや検索機能をもっと使って、出来るだけミス0に。いや、目標だから0にしますって言ってしまえばいいのかな。

あと11月末にやる統計とは関係ない発表の資料集め。
厚労省の通知とかその辺を読み直す。
商業誌とかその辺での最近の動向とか、学会、研究会での議論の内容をまとめた。
いや、まとまってないか。集めたところまで。


某診療科のジャーナルクラブで「データのバラつき」について話す。
多分もう何度も話しているけど、とういうことは自分もそれが重要だと思っているのだろう。
このレクチャー、毎回15分でワントピックレクチャーということで、すでに40回以上話している。
つまり、90分講義15回分はあるはずだ。
指標の話から、検定の話、論文の読み方、症例数設計の概念、あらかたの内容はしゃべっている気がする。
上手くまとめたいが今は少し時間がない。でも時間がないことを言い訳にしてもなぁ・・・。

本編ではNEJMの論文。
大変綺麗なデザインで、ポジティブでなくてもきちっと論文になっている。
ただ臨床仮説に関してはいろいろとディスカッションがあるようだった。
デザイン自体は手本に出来るでレベルなので覚えておこう。

昼からはさらに解析を一つ。まとめ方が難しいのだが、少し考える。

夕方以降
他施設ビデオカンファで勉強。
途中で相談が入ったので中抜け。
前から関わってきた研究の査読の返答に関してのこと。
なぜプロペンシティスコアを使わないのか。という質問にどう答えるか。
うーん。


Q)propensity scoreはどういう時に使うのですか?
A)一見背景が揃わないであろう群間の比較したい時です。


解説)
まずpropensity scoreが何を意味するのかを的確に捉えることが重要です。
マッチングさせるのは何なのか?

例えば、手術をするのか、ケモ(化学療法)をするのか。
治療方針が程度決まっている場合には、二群を背景に大きな偏りが生じる事があります。
例えば手術群には手術ができる元気な患者さんが多いかもしれません。
でも、手術できても患者希望でケモをやっている可能性もあります。
ケモ対象の人でも然りです。
臨床医はいろいろな情報を総合的に判断して、方針を決めます。

1)ある患者さんが来ていろいろな情報を聞き、このような患者さんであれば、ケモになるのが80%だな。実際にケモ群になった。

2)ある患者さんが来ていろいろな情報を聞き、このような患者さんであれば、ケモになるのが80%だな。あ、実際には手術群になった。


1)2)に関してはそれぞれ介入前は同じような確率でケモ群に割り当てられようとしていたわけですので、介入前の予後は同じはずです。または有害事象の発生割合は一緒のはずです。しかし、なぜか1)の人のほうが3ヶ月長く生きることになりました。または有害事象が片方では起こり、もう片方では起こりませんでした。するとどうでしょう?介入が何か影響を与えたのではないかということになりますよね。(細かいことを言えば手術群では術後合併症という有害事象が多く、ケモ群では薬剤性の有害事象が多くなるはずです)ただ、もちろん2人の比較で物事は判定できません。そのためこのような事を沢山の人数で行うのです。つまりマッチングに使用しているのが、確率なんですね。どちらの介入に割り当てられるかの確率。

どちらの介入に割り当てられるかの割合が同じになった。
つまりこれってランダム化の時も出てくる言葉です。
患者が試験の適格除外基準をクリアしそうだ。
登録後1:1に手術群、ケモ群に割り当てます。
ってのと同じ事の逆なんですね。

だからさもランダム化したかのような集団を得ることが出来るわけです。
たしかにランダム化したかのような集団ですが、ランダム化では未知の変数もランダム化出来るという点で越えられない壁が存在しています。これはまた別の話。

とういうことでpropensity scoreとはそれぞれの治療に割り当てられる確率のことであり、それを用いてマッチングを行うのが、propensity score matching。もちろんマッチングなので、ケースに対して、1:1または1:nで集めて、それぞれの治療成績などを見るという研究です。

つまり答えとしては、一見背景が揃わないであろう群間の比較に用いるというのが自分の基準です。

勿論前向きで使うと宣言しておくのが一番だと思います。

後ろ向きの場合は、まず群間の背景因子の確認を行います。
そこで有意水準「以上」のp値しか出ていなければ偏りなしと判断し、いわゆるマッチング等は使わずに単純に全例で解析を行うようにします。症例が多いほうがいいですし。
偏りが一部分にだけ出てくる場合は単純マッチングを薦めます。一部分の大きさは単純マッチング出来るかどうかです。
どうにも出来ない場合はプロペンシティスコアでマッチングします。ただしこの場合は相当症例数が削られてしまうことがありますので、注意です。

勿論こんな方法だと、色々解析やって結果が出た時点で報告してるだけじゃないかと言われる可能性があります。それは幾ら統計家にコンサルとしても拭い去ることの出来無いバイアスです。

そのため後ろ向き研究の場合も計画ありきで行うことをおすすめします。どう考えても背景がバラつきそうな場合ははじめからpropensity scoreでマッチングすると宣言しておけばそのバイアスはいくらか軽減されます。

以上、統計的に言えば、ケースコントロール研究において、スコアでマッチングを行う。スコアは介入方法を従属変数とするロジスティック回帰式を用いて作成する。キャリパーは標準偏差の10%とし、1:4でコントロールから選択する。コントロールからは、ケースに対する候補の中からランダムに抽出する。

という感じでしょうか。はい。

いやー読み返してもよくわからない。冗長。もう少し精進が必要です。
一発で頭にすーっと入ってくる文章をかけるようになりたい。

明文化できていないということは理解できていないということ。

はい。














2014年10月22日水曜日

データベースを作る前に読んで欲しいたった10の文章


  1. 取得できていないデータの解析は出来ない
    1. 無いデータは解析できない。解析したいこと、解析したい事に関連していることは少し多目に集めておくべし。1項目足りなくてももう一回全員のカルテをめくらなくてはならない。
  2. 欠損なのか、そもそもデータがないのか、未検査だったのか
    1. あるはずのデータがないのか、男性に生理だったか聞いているのか、どう考えても元気だから検査をやらなかったのか。全く意味合いが違えば、解釈も変わってくる。
  3. 変数の名前は打ち込むときに迷わない名前に
    1. 性別を0と1でかきこんでいたとき、どちらが男性か明確に分かる人はいるだろうか(一部の男女特有の疾患は別として)
  4. カテゴリカル・データは二値に出来ないかを検討しておくこと
    1. 現場では目の前の患者さんに対して、何かをやるかやらないかの二択にいつも迫られている。そんな中、検査値を見て陽性尤度がなんたらかんたらと言っている人がいるだろうか。
  5. 一つのセルに2つ以上の情報をいれない
    1. われわれは違う情報とわかるのだが、カンピューターにはわからないのである。融通きかないのである。
  6. 数字はアラビア数字を使うこと
    1. ローマ数字を数字としてカンピュータは扱ってくれるだろうか。文字として読み取っていれば、順序の情報は消え去ってしまう。
  7. 疲れた時に打ち込むと沢山ミスをする
    1. 今日も、これからビールを飲むか、データを打ち込むかの二択を沢山の臨床家が迫られている。
  8. 子供が病気の時は打ち込んでは行けない。
    1. 家庭を崩壊してまでやる意味はあるのか。子供がそんな親を見てやりたいと思うか。
  9. 間違えないという気持ちを持つことが間違っている
    1. 完璧など存在しない。
  10. 1から9を何度か読んで、下っ端にこれみよがしに伝えて欲しい。
    1. 偉そうにしゃべるためには少なくとも自分で理解していないとダメ



まあ9.10は別としてまあまあ重要なことと思っています。
この2年半で感じていること。
FileMakerを使うことより、Accessを使うことよりずっと大事。

2014年7月10日木曜日

ロジスティック回帰を行う場合outcomeで1の時1、0のとき0となる変数を入れるとオッズを算出できない。

数学的には当たり前なんだけど、盲点。

2014年6月22日日曜日

やってもやってもおわらなくてもとにかくやる。

そしたらまた新しい疑問にぶち当たるけどとにかくやる。

そうやっていく。


2014年5月20日火曜日

多変量解析の結果の符号に納得がいかないとき

多変量解析の結果はセットで考えるべきです。

特に説明変数に相関がありそうなときは必ずです。

例えば人の命の長さとその他の臨床検査値やある地点での患者さんの状況で説明でき出来ないかと考えます。


例えば腫瘍の再発したかしていないかと腫瘍があれば異常値を表す検査があったとしてその2つで説明しようとします。


結果としてのほうではなぜかハザードが再発していたほうが-25%、検査値異常の方ではなぜか50%のハザード増加だったとしましょう。

この時疑うべきはまず変数の0と1が考えているものと逆になっていないかということ

変数のラベルが自分が思っていたのと逆になっていないかということ。

この2つを疑っても問題なしであれば、結果を信じるしかありません。

ただ、別におかしなことではないのです、

多くの場合再発していないと検査値異常は出ません。

つまり再発and異常の組み合わせや再発なしand正常にかたよることは予想できるでしょう。(検査の感度特異度にもよりますが)

このような時例えば再発すると-25%異常だと+50%なので、人の命に対するハザードは実は全体としては+25%となります。

つまり変数間の相関や関連があればあるファクターが他方のファクターを調整するような形で存在している可能性もあるかもしれないということです。

多変量解析の結果は独立して選ばれるとかそういう言葉がよく使われていますが、一般の独立という意味と少し印象が違うというか、そもそも数学的な独立、つまり基底となりうるとか線形従属とかそういう話からの独立ですので、少し難しいですよね。。。

できるだけそういうこともあるということをわかりやすく書いたつもりですが、これでもよくわからない方はお近くの統計が得意な方にヘルプを求めた方が良いと思います。

修士の時の研究でいろいろ先生に教えてもらったのを思い出しながら・・・。


2014年4月28日月曜日

土日で貯まってた仕事を片付けなくてはと思いやっていたけど、なんとなく進まなくて、積み残し多。

とりあえずあやまりの連絡を入れて、少しだけ期限を延ばしてもらう。

うーん。ダメだ。

というか今考えると自分ひとりで悩んでも解決しないことで悩み過ぎだな。

いや、それはわかってたんだけど、あれだわ、期限ギリギリでこんな質問するなんてクソにも程があるだろうとかいう謎の気持ち。

いや、聞くのが速いし、前に進まないのにね。

自分の出来ないことを棚に上げて何様だよ。ってね。

うーん。アカン。あかんー。

2014年4月26日土曜日

昨日は立川で発表を見て頂いて、いろいろとコメントを頂いた。

まだまだ感受性が低いんだな。

こういう発表をするって時はこういうことに配慮しなくてはならないとか。

そういうの。

とりあえず帰宅してバタンキュー。

今日は朝6時半位に起きたんだけど、予定が急にキャンセル。

他に色々と蹴ってこの予定入れてたので超イライラですね。

まあそういうことも有るということで、寝正月ならぬ寝土曜日。

布団から出たらもう16時で・・・。

とりあえず今日はゆっくり休んだので、また明日がんばろう。

そうしよう。

2014年4月25日金曜日

朝いちばんはじめの会議の時1つ大きな仕事を頼まれる。2つ返事してしまったが、がんばろう。

朝は資料を作ってミーティング、だったけど直前でリスケをお願いされてまたこんど。

そっから昼いちの資料作り。

昼のJCはかなり持ち上がったな。たのしい。

その後相談に答えるための解析を進めていたらもう定時。

時間が足りない。

夕方からは会議が2つ。

1つは5人ほど、1つは職場全体のモノ。

そっからは明日の東京出張の準備。抜かりなく・・・。

うーん。時間が!ない!

ちょっとなんとなく調子が悪い。

返って寝て、明日も頑張ろう。華金。

2014年2月23日日曜日

研究データを集める方法を語るときに僕が語ること。

親愛なる春樹先生のような文章は書くことが出来ないが、題名をオマージュするだけなら僕にだって出来る。
オマージュした作品(これもオマージュらしいが)

内容は医学、特に臨床研究に特化している。他の人からするとナンノコッチャ3世なので、Ctrl+W推奨です。

この内容は出来るだけ研究を始める初期段階でお伝えしたい内容。QA出ないにしろFAQ出ないにしろ。出来るだけ早く。


話し方が少し読む方によっては失礼な感じになってしまっているのは、構成入れずということでお許しを・・・。


早速本題。後ろ向き研究に関して少しまとめていかなくてはならないと思い筆を取る。厳密には筆ではないが雰囲気が出るので許して欲しい。

まず仮説は出来るだけ多くの人の批判にさらされるべきである。

そうすると多くの場合、すでに解決されていて、多くの場合すでにどこかで調べられている途中である。

しかしやはり相談した人が誰も答えを持っていなかったとしよう。またはそう言われているが、ペーパーになっていなかったとしよう。その時はじめてそれは計画をしなければならないという土俵に乗る。

もちろんわかったほうがいいことだけど、データは取ることが出来ないとか、そういうこともあるだろう。

人は死後の世界のことを知ることは出来無い。何故かと言うと・・・。ということである(割愛)

それでもなお、調べたい仮説をを証明するためのデータを取得する準備が多分出来ると考えよう。そうすれば行ったほうがいいに決まっている。

ただまだ少し早い。研究が出来ると分かれば、人は付随していろんなことを調べたくなる。
ただしそれが逆に首を締めることになる可能性がある。

そのため取得する項目は本当に必要かどうかを何度も何度も話しあうべきである。

研究は出来るだけ小規模にするべきである。それは患者の倫理、後ろ向き試験だとしても、臨床研究者へのデータ収集等の介入は凄まじいものだからである。時には家族との時間を使い、時には休息の時間を使わなくてはならないのである。休みの日にもいつもおらず、自分の相手はしてくれない。そんな子供がまたパパママを見て医者や統計家になりたいと思うだろうか。いや・・・(反語)

(※ただこれを日曜に書いている私は何なのか。という問いを読者はぶつけてくるかもしれないが、私は独身である。それ以上の不必要なツッコミはできれば心の体力が持たなくなるのでやめていただきたい)

話を戻そう。本当に必要、つまり、プライマリに知りたいものに関連していないならそれはモチベーションをそぐ原因となる。それでは必ず必要な関連因子とはなんだろうか。それは例えば直感的に肺がんのなりやすさを調べようとしているのに喫煙習慣について調べないことはないだろうとかそういうような内容である。がんの治療の研究で抗癌剤の情報をとらない研究は殆ど無いし、最近は放射線の情報も取るだろう。感染症の研究でどんな抗菌剤を入れたかを調べない人はいないだろうし、その施設の菌分布を無視して研究は出来ないだろう。また全て重要な情報だとしても、1つくらいかけてもいいだろう。完璧なんかはじめから無理。95点でも素晴らしいじゃないかと考える人もいるだろう。しかし、欠損したデータは使い物にならないことも多い。(私は基本的にデータの欠損にも意味があると考える立場であり、データの補完は推奨していない。)少しだけテクニカルなことを言えば多変量解析では1つでもデータがかけていたらそのデータはなかったこととしなければならない。信頼の置ける共同研究者でさえも暇ではないし、研究グループの事務局となるあなたと同じ興味を持っていると思ったら大間違いである。なぜその変数が必要なのかをきっちりと説明しなくてはならない。

本当に取りたいと決まった変数に関しては、ほぼ同時(数秒遅れるくらいのレベルで)でどのような解析を行うかを検討しておくべきである。わからない場合は、統計家を出来るだけ近くに置き、決めてもらうべきである。データが取ってこられてから解析方法を決めていては、無数にある解析手法のうち、結果の出やすい方法で解析してしまうことができるからである。あなたが思っているほどデータ解析について好意的に見てくれる人は少ないのである。

ここまで決まっているのであれば、あと一息、その解析結果を現場で利用することも考えておくべきである。そのために、閾値を予め決めておくのがよい。多くの指標は◯◯より大きいか小さいかで話をすることが多いからである。また決めることが出来ない場合は、予め統計的に決めるということを決めておくということもバイアスの混入を防ぐために重要な行為である。


そして余裕がアレば、データを取得するワークシート(CRF等)の形にも配慮すべきである。例えば同じ日に取ることが分かっているデータの報告を宝探しをするようにいろいろな紙に転記していれば、誤転記の原因にもなるだろう。例えば、生年月日を記入する時、プルダウン式のweb入力画面において1986年を一桁づつ入力する時1,9,8,7と入力してしまうリスクと1,9,7,6と入力してしまうリスクは同じだけ存在する。そのために4桁のプルダウンとするような事を考えればそのエラーは小さくになる。時間がアレば、いくら時間をかけてもかけ過ぎだということはないのである。


上で述べたことを先に行っておくことで、データ収集後の実務者と統計家のやりとりは体感で半分以下になると考えている。わからない状況で行う議論では建設的な案が出ることが多いが、データが取得された後での議論は、どうやってかっこよく見せるかということばかりに論点が行きがちである。もちろんそうならない準備はあるが、時間等の制約により、真実に辿り着く前に我々は解析を一度止めなくてはならないことがある。

解析結果に納得が行かない臨床家は統計家にいろいろな注文をつけると良い。調整をちゃんと行っているのか、こういう論文で使われている方法ではどうなのか。すべての疑問に統計家は真摯に答えなければならず、答えることが出来なくなることがないように専門性を有しておかなくてはならない。自分が生物統計の専門家集団の一人であることを忘れてはならない。計画の時点では考えていなかった解析をやることは、許されませんというのはナンセンスである。それはただのルールであって、真実がどちらかなのかはまた別の話だからである。探索的という意味を理解しなくてはならない。

多くの統計家は上のような内容が教科書に書かれていたとしても、読み物として読み飛ばしてしまうだろう。ただし、現場に出てから読み直してみると、書いていることがよくわかる。ほんとうによく分かる。

現場には教科書に載っていることはよく起こっていて、更に、載っていることと同じくらい載っていないことが起こっている。専門家としてすぐに答えることが出来ないことがあってはならないのだが、そういう問題にぶち当たるとワクワクする。

今はそれがすごく楽しい。一度であった問題は間違えないように。初めて出会う問題は頭を出来るだけ軽くして。 どのような状況でも知識総動員は忘れずに。

もっともっといろんな仕事を受けることが出来るように頑張ろうと思う。

すごくそう思う。





以上、春樹先生に影響を受けると言いつつも最近読んでいないばかりにあまりにも題名だけになってしまった。

随所にシリアスな話の合間にコミカルなネタを入れていくのは、最近SPECを観た影響なのか、不人事のウォルタービショップの影響なのか。

とりあえずそんな感じなのですが。本年も全体の15%程が過ぎたということで少しだけ驚きの夜。

オリンピックが終わりますね。パラリン始まるまで2週間弱。ちょっと休憩かなって思ったけど、意外と野球のオープン戦も始まってるし、Jリーグも後1週間で始まるし。

楽しみですね-。

以上。

2014年1月9日木曜日

フィッシャーイグザクトメソッド

fisher exact method(fisher検定)はノンパラメトリック検定の1つであり、少数例の時でも背景因子の偏りを確かめることが出来る。

正規性を仮定できる時のみに用いることが出来る上位互換としてカイ二乗検定がある。

研究に使う場合はp値に関しては保守的に考えるべきであると考えているし、ミススペシファイしてしまうリスクを負う必要はないと思っており、正直カイ二乗検定は捨ててしまってもいいと考えている。

さて、fisher検定をRで用いるときはbaseの中にfisher.testという関数がある。

行列等を指定し、大きな行列となる時は作業につかう領域をworkspaceで指定する。

例えば

fisher.test(matrix(2:5,2,2),workspace=100000)

という具合である。多くの場合はp値が欲しいことが多いので

fisher.test(matrix(2:5,2,2),workspace=100000)$p.value

とすれば得ることが出来る。

たまにオッズが欲しくなるが、その場合は

fisher.test(matrix(2:5,2,2),workspace=100000)$estimate

オッズの信頼区間が欲しい場合は(2かける2の時)

fisher.test(matrix(2:5,2,2),workspace=100000)$conf.int


tableのそれぞれのセルの数が知りたければfisher.testをtableに変更すればよい。

もちろんfor文でも使えるので、幾つもの検定を一気に行うことも可能。

しかし、p値が小さすぎるときはデータに戻ることが大切。

そもそもマーカー陰性がいなかったり罹患した人がいなかったりするとオッズが変な値になる(計算出来ない)

計算結果はすぐに出てくるが、解釈をちゃんと行うこと。

それが一番大事。



多分いちばん多い質問。FFFFFAQに認定。