ラベル 統計 の投稿を表示しています。 すべての投稿を表示
ラベル 統計 の投稿を表示しています。 すべての投稿を表示

3/24/2017

臨床介入試験の統計解析法について

以下の論文をPIより紹介されました。

Best (but oft forgotten) practices: testing for treatment effects in randomized trials by separate analyses of changes from baseline in each group is a misleading approach.

Am J Clin Nutr. 2015 Nov;102(5):991-4.


薬などの介入試験 (randomized, parallel-arm study) で, 効果があるのかどうか, を解析します.

介入群とコントロール群で、治療前後の数値で変化しかたをT-testをします。
介入群で治療後に変化した、コントロール群で変化しなかった。
で、薬は効いた!万歳!!

となると思っておりました。
しかーし、それではイカンのです!!
個々に検定しても、その介入で2群間に差があったか、まったく説明にならんのです。
介入群とコントロール群の変化を、キチンと検定する必要があるのです。

コレは2群間ですが、介入群が3つ以上の時はすごく重要になってきます。
キチンとone-way ANOVAで変化の差を証明する必要があるのです。
そして、更にバイアスなどがないか、交絡因子などの検討が必要になります。

ということです。

だから、牛丼たべても大丈夫、試験は何の意味もない、ちゅうことですわ。

キチンとコントロール群を設定して、さらに介入群と比較する必要があるのですね。

今後、十分注意して検定してゆきたいです。
サンフランシスコのマクドナルド



 


3/01/2017

脂肪肝(非アルコール性)と冠動脈石灰化の進行について

Non-alcoholic Fatty Liver Disease and Progression of Coronary Artery Calcium Score
Gut. 2017;66(2):323-329.

CVDや肝臓の病気のない健康な大人4731人(女性424人、すくなっ)。
脂肪肝(NAFLD;腹部エコー検査)と冠動脈石灰化スコア(CEC;冠動脈CT検査)を平均3.9年間フォローした。

CECの進行度合いを検討した結果。NAFLD有の群が、NAFLD無の群と比較してCECが有意に進行していた。

というもの。

ソウルのサムソン医療健康センターでの研究。
Gutで報告されるとは素晴らしいですね。

まあ、この研究の結果によりその機序が分かれば面白いな、と、おもたんですが…
以下の記載…

NAFLD is also associated with oxidative stress, with macrophage activation, and with endothelial dysfunction, all major mechanisms for atherosclerosis development. NAFLD may accelerate atherosclerosis through increased levels of atherogenic, triglyceride-rich, cholesterol-rich particles and small dense LDL particles.

なんじゃこの記述。そんなもん普通やんけ。
メタボな脂肪肝おっさんが、なんで冠動脈が石灰化すんねん!
3年間でマクロファージが若者の血管内皮をだめにして、石灰化させるんかい!!
中性脂肪やコレステロール豊富なリポ蛋白と、small dense LDLて、いまさらか・・・

でも、既報でCACとApoCIIIの関連も示唆されておるし、じゃあApoCIIIとレムナント、TGの関連を調べたら面白いかなぁ。
HDL機能も脂肪肝なら機能低下しとるやろうし…
そっちも調べたいなぁ。


追記
統計に関しては、
All analyses reported were corrected for IPWs. 」
とあります。
IPWsとありますが、これは比較する群においてバイアスがかかっておるので調整したってことですね。
以前からプロペンシティスコア・マッチング、などの方法がありますがそれと同じ概念です。この論文の統計解析はSTATA13を使ってます。
僕も以前にやろうと思って、IPWsを調べたことがありました。
Treatment effects
という項目で可能です。公式YouTubeで分かりやすく解説してくれております。
https://www.youtube.com/watch?v=p578jxAPJT4
ただ、我流でやるのは危険だと思います。

まほろば、サクラメントにある日本のパン屋さんです。

2/20/2017

統計ソフト SASの力を垣間見た…

大きな大学は、統計ソフトを大学自体で購入していて、スタッフや学生であれば自分のPCにダウンロード(基本無料)して使うことが出来ます。
(カリフォルニア大学系列で管理している様子です。)

統計ソフトを初めとする、僕のような研究者が頻用するソフトが完全に網羅されてます。
もちろんUCDも例外ではありません。

僕が使いたいと思う以下のようなソフトが使えます。

SAS
Stata
SPSS
Statistica
JMP
EndNote

(他にも特殊なソフト、動植物の生育?のシュミレーションソフトなどもあります。)

僕はStata一本でやっているし、UCDを離れたら使えなくなるので自前のソフト以外は使ってきませんでした。

今回僕の出したデータを解析するに当たり、PIがSASをつかって色々解析してくれたのです。

PIがコレまでも数々の論文を出版してきましたがすべてSASでの解析でした。
今回も自分でやったStataでの結果をお見せしたのですが、SASで整合性が取れるか?または新たな解析結果などがないかチェックしてもらいました。

SASは個人で管理できるものではないほど専門的で高価なものであり、その威力もStataとは桁違いだと実感しました。

やってることは同じなのですが、StataよりもP値の有効数字が1桁多いし、優位性や相互関係の比較が非常に分かりやすく出来るようです。

SAS使いこなしてみたいなぁ。

あと、JMPもほぼ自動でグラフを作ってくれるから便利だなぁ。
エクセルで線の太さとかイチイチ調整している自分がアホみたいです。

冬のヨセミテ、滝が壮大です。


結論
お金のある大学は素晴らしい。

解析ソフトを自腹で購入しないと良い論文が書けないような日本のシステムは、アホだ。

大学の授業では、関数電卓を使って色々やったなぁ。
統計の基礎知識を学ぶ授業は必須だと思うけど、関数電卓は実際は使ってないし、その知識は全くつかってないな。統計ソフトをPCで使う授業のカリキュラムにするべきだ、と思います。

1/12/2017

AUCの計算方法、STATA

AUC (Area Under the Curve: 曲線下面積)を求める方法です

まあ臨床研究で使うのが、統計モデルを作成して、ROC曲線を描いてそのAUCを使って、その統計モデルが優れているか、そうでないかなどを解析するときに使います。

しかし、今回は血中濃度の時間推移による変化を見るために使おうと思い、調べました。
まあ、薬物Aを投与して、投与時、1時間後、2時間後、3時間後、4時間後、6時間後に採血をしてそのAの血中濃度を測定します。
そして今度は、薬物Bを用いて同様に測定します。

Aは最大濃度が高かったが、短時間で血中から消失した。
Bは最大濃度は低かったが、長時間血中に存在した。
さて、AとBではどちらがおおく体内に存在したのでしょうか?という問いに答える時にAUCを使います。

さて本題です。STATAのコマンドでAUCと探してもありません。
調べたら薬物動態コマンドPharmacokineticで使うようです。
やってみます。

まず、時間、濃度、AとBのなどの分類もデータシートに入力。
そしたら始めます。

Statistics > Epidemiology and related > Other >
Pharmacokinetic measures (細かく解析したければSummarize pharmacokinetic data)

Timeに採血時の経過時間
Concentrationに測定した項目
2種類以上分類(投与薬剤など)があるならby/if/inのTabのRepeat Command by groupsにその分類を選択

まあこれでAUC自体は求められます。
ほんで個々のACUの数値を計算して用いて、いままでのようにT-testなどで有意差を出します。

ニューヨークの夜景

以下は蛇足。

薬物動態に関するコマンドは以下あります。
    The pk commands are
        pkexamine        Calculate pharmacokinetic measures
        pksumm           Summarize pharmacokinetic data
        pkshape          Reshape (pharmacokinetic) Latin-square data
        pkcross          Analyze crossover experiments
        pkequiv          Perform bioequivalence tests
        pkcollapse       Generate pharmacokinetic measurement dataset

まあ上記コマンドはわかる人だけわかるんで、放置しておいてください。

あとは、このプロットを近似する曲線モデルの計算式にして、2群間で統計学的に有意差があるかなど検定できる。

統計解析で薬物効果の有意差を見るには平均値ではなく個々のデータも含まれるデータセットから用いる必要がありますそれをGenerate pharmacokinetic measurement datasetに入力して解析を行います

データセットさえ入力すれば、全部STATAがやってくれるようです。
練習するなら
    Setup
        . webuse pkdata
    List the variables id, concA, and time, and separate by id
        . list id concA time, sepby(id)
    Produce summary statistics for pharmacokinetic measures
        . pksumm id time concA
    Generate pharmacokinetic dataset
        . pkcollapse time concA concB, id(id) keep(seq) stat(auc)
    Reshape data for use with pkcross and pkequiv
        . pkshape id seq auc*, order(ab ba)
    Perform bioequivalence tests
        . pkequiv outcome treat period seq id
    Analyze crossover experiments
        . pkcross outcome
で、できます。
これは2つの薬剤をクロスオーバーして介入したデータセット専用のようです。


そのほかに、Incremental AUC(iAUC)という概念もあるようです。
コレは、スタートした時点をY軸のゼロとして計算します。
しかし、その後に初期値より低下した場合はマイナスになります。
普通のAUCか、iAUCか、どっちが良いかは、投稿した論文の査読者の好み?になる?
マジか?

1/11/2017

Inter-Assayと Intra-Assay

複数のバイオマーカーが糖尿病のCVDイベントを予測する。
Targeted Multiple Biomarker Approach in Predicting Cardiovascular Events in Patients With Diabetes
Heart. 2016;102(24):1963-1968.

を読みました。そのバイオマーカーは
GDF-15; growth differentiation factor 15
NT-proBNP; N-terminal pro B-type natriuretic peptide
hs-TnT; high-sensitive troponin T
の3つ。

この3つのバイオマーカーを組み合わせると、糖尿病の症例のCVD発症が予測できる。
といった、まあよくありげな論文です。
GDF-15が聞き慣れませんが、「GDF-15 is a pleiotropic cytokine that is considered to be a marker of inflammation and atherosclerosis.」
ということらしいです。サイトカインの一種ですね。




ココからがポイント。
んで、測定したのがラボの機器であったり、市販のアッセイキットであったりするわけです。
「市販のキットを使って自分で計ったんや。」
だけでは、ちょいと不十分なんです。
「お前、きちんと測定したんか?だいじょうぶか?」
と誰もが突っ込みたくなります。
そこで、
「もちろん、大丈夫や、こんなデータやから信頼できるやろ?」
といったデータでInter-Assayと Intra-Assayを使うのです。
測定した、日の天気や季節、はたまた測定した人間、その人間の体調によって誤差が大きくて検査として信頼できなくては困ります。
そこでその誤差が小さいことを示すために「Inter-Assayと Intra-Assay」の出番です。

Inter-Assayとは
均一な検体を、条件を同じにして短時間で複数測定したときの、その誤差。

Intra-Assayとは
均一な検体を、日時、測定した人間、器具などの条件を一部変更して複数測定したときの、その誤差。
です。

まあ、なぜ僕がこれが大切だ!と思ったかというと、僕が市販のキットで測定した結果が微妙だったんで、ボスに
「お前、Intra-Assayを出せ。」と言われたのです。
いやー信頼されないって怖いですね。

以下、こんな風に記載します。

NT-proBNP was measured using the Cobas H232 system, with intra-essay and inter-essay coefficient of variations (CVs) of <15% at 60–1200 pg/mL and <20% at 1200–9000 pg/mL.

hs-TnT was measured with the Elecsys Assay by Roche Diagnostics (Rotkreuz, Switzerland). As described by the manufacturer in the assay kit (Roche Diagnostics), the inter-assay CV was 8% at 10 ng/L and 2.5% at 100 ng/L. The intra-assay CV was 5% at 10 ng/L and 1% at 100 ng/L.

GDF-15 was measured using a sandwich ELISA kit (Roche Diagnostics) with intra-assay and inter-assay CVs of 4.9% at 445 ng/L, 3.8% at 1664 ng/L and 3.3% at 4880 ng/L. All biomarkers were analysed in the same laboratory. GDF-15 and hs-TnT were measured collectively with the same kit, whereas NT-proBNP was measured by the POC System at index time.

この論文では、
NRInet reclassification improvementといった統計も用いており
似たような概念で、IDI(integrated discrimination improvement)も大切です。

またNRIとIDI、流行といえば一昔前ですが、押さえておくべき統計ですので機会があればまた記載します。

9/22/2016

Cubic Spline Analysis;3次スプライン解析

ある論文を読んでいて「Cubic Spline」という単語を見つけたので調べました。

統計的なモデルを見た目でわかりやすく示す曲線、のようなものです。
そしてその曲線は、非常に自然で、しなやかな形らしいです。

先日読んだ論文で、「LDL-Cを70mg/dL未満にしても、70-100mg/dLと変わりませんよ。」という内容を目で見てわかりやすく表したのが、下の図です。
Cubic Spline Curveという表示方法のようです
基準を決めて、そこから予測される危険度;HRをモデル化して、それを曲線で表したのがこれです。

これで言及できる事は「LDL-Cは120mg/dL以上は確実によくない」という事ですね。

「この論文では70mg/dL未満は意味がないよ」ということを暗に言いたいのでしょうが、曲線だけ見ると、リスクが一番低くなるのは、LDL-Cが85mg/dLあたりです。
ということで、「LDL-Cは85mg/dLを目指しましょう。120mg/dL以上はだめですよ。ちょっとぐらい低くても問題ないですよ。」という結論になると思います。

しかし、これを曲線でなく、直線モデルで表すと、確実にCTTのような、右上がりの直線モデルが出来上がると思います。

メタ解析で、いくつもの規定点からモデルを作成したらCTTの結論になったのに、この研究ではなぜこのような曲線になったのでしょうか?IMPROVE-ITとも異なります。

その答えは、

母集団が違う。140mg/dL以上の症例は除いている。
ここで考えるのが、
「じゃあ100以下の群で調べたらどうなるのか?」
「もっと細かく単純にLDL-Cの値で5分位にぐらいわけて、モデルを作成したらどうなったか?」
たぶん違う結論になるのでしょう。
また
そもそも解析のやり方が人為的。基準を中間群において3群をそれぞれ比較。つまり、モデル曲線のプロット点は3つしかない。
上の図は、プロットされる3点。その3点から導いた曲線が前述の図。
Cubic Spline Curveはすくないプロット点からそれを補う補完する解析
プロペンシティーも、母集団に偏りがあるから無理やり特殊な解析でアジャストさせた解析であって、いうなればトリッキーな解析。
と思えます。

いろんな解析をした結果、こんな結論になりましたよ。
ということです。
論文にも流行があって、母集団を4分位や5分位に分けて解析する事が、僕的に流行ったりしました。
しかし、個人的には、本当に強固なモデルであれば、どうやってもその強固性は保持されると思います。
本質を見失わないように、見た目にだまされないように、しっかりついていきたいと思います。


最後に、この曲線をSTATAで描けるか?
で、調べると一応「mkspline sutbname = oldvar, cubic」というコマンドで出来るようです。

メニューからは、
Data > Create of change data > Other variable-creation commands > Linear and cubic spline construction
から、いけるようです。 

さてさて、自分のデータで、モデルを作ってやって見ましょう。

と思いましたが、ちょっと時間がないので、暇なときにまた…

9/01/2016

Dunnett's test, STATAでやってみよう。一対比較 -Pairwise comparisons-

Dunnett's test

ダネット検定とは…

そもそも多数群で統計解析するときはt-testはしません。
多重比較検定; ANOVAで行います。ほんでANOVAで有意差があればpost-hocに検定を行います。
これが、TukeyやBonferoniやScheffeやSidakという方法であります。
例えば3群比較で、それそれどの群とどの群に差があるのかを個別に検討します。

僕は、初めて使ったのがBonferoniで、とにかくこれ一筋でやってます。(なんか有意差が出やすい気がする。)

STATAコマンドは

 oneway [response(e.g.体重)][factor(e.g.酒飲度合)], bonferroni

です。

これは、4群であれば6回検定を行うので有意差が出にくいです。

そこで、用いるのがDunnet Testです。
Dunnetは、特定の1つの群とその他の群の比較のみを行うことができます。
一対比較 -Pairwise comparisons-っていうみたい
つまり、一つ基準を設けて、それに対してその他の群と差があるかないかを検定します。
だから4群以上あったほうがよさそうですね。

pwmean [response(e.g.体重)], over( [factor(e.g.酒飲度合)], ) mcompare (dunnett) effects

ここでは飲酒度合がカテゴリ分類されていて、たとえば
1never
2:light
3:moderate
4:heavy
として、基準が1とする必要があります。あとはこの度合いもカテゴリ的に理にかなったものである必要があります。

さらにモデルをフィットさせれば、全てそれぞれを基準とした検定が一気にできます。
がめんどくさいし、分かりにくいので止めにしようか…
コマンドもうまく動かんし…
とりあえず、ライトストーンから引用したコマンドは以下です。

まず、モデルをフィットさせます。
regress [response(e.g.体重)] [factor(e.g.酒飲度合)]

んで、1対多数比較の検定に持ち込みます。
pwcompare [response(e.g.体重)], [factor(e.g.酒飲度合)]

でも、これDunnettかな?よくわからんから、これは没でお願いします。

更に後日検討した結果、
以下のコマンドでできました。モデルをフィットさせずにいきなりpwmeanです。

pwmean  [response(e.g.体重)] , over[factor(e.g.酒飲度合)] ) mcompare (dunnett) effects

STATA素晴らしい。





2/05/2016

実際の冠疾患死亡率より、リスクチャートからの推測死亡率のほうが高い

「実際の冠疾患死亡率より、リスクチャートからの推測死亡率のほうが高い」
との論文がありましたので読んでみました。
J Atheroscler Thromb. 2016 Feb 1;23(2):176-95.

結論は、「今までのリスクチャートでは過大評価になっている可能性があるので、再度リスクチャートの見直しが必要なのでは?」といった内容です(と思います)。

でも2012年の動脈硬化ガイドラインを見直す必要があるってえらいことやん。
そもそもガイドラインを作るときに用いたリスクチャートが間違っていたってこと?
それとも、日本のお医者さんが頑張りすぎて救命しすぎている、ってこと?

JASのガイドラインに疑問を投げかける論文がJASからPublishとは…

知らない統計方法:Hosmer-Lemeshow test という解析をされているようなので勉強してみました。

ホスマー・レメショウ検定( - けんてい、Hosmer-Lemeshow test)とは、ロジスティック回帰モデルへの適合度を調べる統計学的検定である。しばしばリスク予測モデルの分野、特にがん疫学の分野で使用される。ホスマー・レメショウ検定検定は、観測された事象率がモデル母集団のサブグループでの期待される事象率に適合するかどうかを評価する。ホスマー・レメショウ検定は十分位数で分割した適合リスク値をサブグループとする。サブグループでの期待された事象率と観測された事象率が類似するモデルは "well calibrated" と呼ばれる。」
(Wikiより)

らしいです。

ってことは、今使っているリスクチャートのモデル式は“not well calibrated”ってことかい。
ちなみにStataでもこの検定は可能のようです。
コマンドは「estat gof」。
今度、僕が作った、食事から推定するトランス脂肪酸予測値を使ってみようかな?
でも観測群がいないから無理だ。少人数であってもできるのかな?

(コストコでスノーシューズアタッチメント:かんじき、が売ってました。)