R 言語は逆確率重み付け後にベースライン テーブルを描画します

PS (傾向スコア) に基づく逆確率重み付け (IPTW) 法は、モデルベースの直接標準化法としてローゼンバウムによって初めて提案され、限界構造モデルに属します。簡単に言うと、多くの共変量や交絡因子を確率に詰め込んで重み付けをすることで、重みを計算するだけで済むので非常に便利です。それでは、複数の共変量の影響を傾向スコア値で表現するにはどうすればよいでしょうか? つまり、傾向スコア値を推定するにはどうすればよいでしょうか? Rosen-baum と Rubin の定義によると、傾向スコア値には共変量のセット (X が与えられます) が与えられます。 i ) 条件、研究対象者 i (i =1、2、...N) が特定の治療グループに割り当てられるか、または特定の曝露係数 (Z i =1) を受ける条件付き確率。
ここに画像の説明を挿入
ロジスティック回帰モデルを使用して傾向スコアを推定することに
は、単純なモデル、簡単な実装、傾向スコアへの直接アクセス、結果の解釈の容易さなどの明らかな利点があります。
ロジスティック回帰を例にとってみましょう:
ロジスティック回帰は、傾向スコア値を推定する最初の方法であり、その原理は人々に馴染みがあり、実装が容易であるため、
現在最も一般的に使用されている推定方法でもあります。ロジスティック回帰モデルは次のとおりです。
ここに画像の説明を挿入
バイナリ ロジスティック回帰を想定すると、右側の一連の交絡因子の方程式により、0 ~ 1 の間のターゲット イベント時間の発生確率が生成されます。確率が大きいほど、可能性が高くなります。発生するイベントの度合い。これは、複数の交絡因子を包括的なスコアにして表します。逆確率重み付け (IPTW) は、傾向スコアの逆数を使用してデータ内の交絡に対処する方法です。Robinsらによる重み付け係数(形状)の計算方法は、治療群の観測単位の重みWt=1/PS、対照群の観測単位の重みWc=1/( 1-PS)。PS は観測単位の傾向スコア値です。この方法で得られる
母集団は元の母集団とは異なることが多いため、仮想母集団の各変数の分散が変化する可能性があり、PS が低い治療グループ オブジェクトと PS が高い非治療グループ オブジェクトに大きな重みがかかります。非常に大きな重量により不安定性が生じます。Hemanらは計算方法を調整し、研究対象集団全体の治療率と非治療率を計算式に加えて、調整後の安定した重みを求めた。具体的な方法は、治療群の観察単位の重みWt=Pt/PS、対照群の観察単位の重みWc=(1-Pt)/(1-PS)である。現在、多くの記事で安定したウェイトが使用されています。
以前の記事で、R と SPSS を使用して逆確率重み付け分析を実行する方法を紹介しました。背景の一部のファンからは、次の図に示すように、重み付けされたベースライン テーブルを作成する方法について質問されました。重み付けされたベースライン データは基本的にバランスが取れています。 R を使用して
ここに画像の説明を挿入
デモを行います。加重ベースライン テーブルを描画し、早産データを引き続き使用する方法を見てみましょう (公式アカウントからの返信: 早産データ、このデータは取得できます)。最初に R パッケージとデータをインポートします。

library(tableone)
library(survey)
bc<-read.csv("E:/r/test/zaochan.csv",sep=',',header=TRUE)
bc <- na.omit(bc)

ここに画像の説明を挿入
ここに画像の説明を挿入
こちらは早産低出生体重児に関するデータ(公式アカウント返信:早産データ、このデータは取得可能です)で、2500g未満の児が低出生体重児となります。データは次のように解釈されます: low は 2500g 未満の早産低出生体重児、age は母親の年齢、lwt は最終月経体重、race は人種、smoke は妊娠中の喫煙、ptl は早産歴 (カウント) 、ht は高血圧の既往歴、ui は子宮アレルギー、ftv は妊娠初期 受診回数
bwt 新生児体重値。
まずカテゴリ変数を因子に変換します

bc <- na.omit(bc)
bc$race<-ifelse(bc$race=="black",1,ifelse(bc$race=="white",2,3))
bc$smoke<-ifelse(bc$smoke=="nonsmoker",0,1)
bc$low<-factor(bc$low)
bc$race<-factor(bc$race)
bc$ht<-factor(bc$ht)
bc$ui<-factor(bc$ui)

高血圧 (ht) が低出生体重児 (低出生体重児) の誕生に及ぼす影響を研究していると仮定して、まず加重されていない患者のベースライン表を作成します。

dput(names(bc))##输出变量名
allVars <-c("age", "lwt", "race", "smoke", "ptl", "ht", "ui", 
            "ftv", "bwt")###所有变量名
fvars<-c("race", "smoke","ht","ui")#分类变量定义为fvars
tab2 <- CreateTableOne(vars = allVars, strata = "low" , data = bc, factorVars=fvars,
                       addOverall = TRUE )###绘制基线表
print(tab2)#输出表格

ここに画像の説明を挿入
上の図には 0.05 未満の 3 つの指標 P があることに気付きました。bwt は結果指標、lwt 体重はベースライン指標です。
まず回帰式を確立して予測値を生成します

pr<- glm(ht ~age + lwt + race + smoke + ptl + ui + ftv, data=bc,
         family=binomial(link = "logit"))
pr1<-predict(pr,type = "response")
summary(bc$ht)

ここに画像の説明を挿入
上の図は高血圧の人 12 人、高血圧でない人 177 人を示しています。次に、Robins らの重み付け係数 (形状) の計算方法をそれぞれ 2 つ生成します。

w<- (bc$ht==1) * (1/pr1) + (bc$ht==0) * (1)/(1-pr1)

もう1つは、安定した体重が生成される確率(高血圧になる確率)を計算するHemanらの計算方法です。

pt<-12/(177+12)
w1 <- (bc$ht==1) * (pt/pr1) + (bc$ht==0) * (1-pt)/(1-pr1)

ここに画像の説明を挿入
重みを生成した後、重み付けされたベースライン テーブルを描画できます。ここでは、調査パッケージの svydesign 関数を使用する必要があります。これは、さまざまな重みを持つベースライン テーブルを生成できる強力な R パッケージです。

bcSvy1<- svydesign(ids = ~ id, strata = ~ low, weights = ~ w,
                   nest = TRUE, data = bc)

生成したら、TableOne パッケージを使用して重み付けされたテーブルを描画できます。

Svytab1<- svyCreateTableOne(vars = c( "age", "lwt", "race", "smoke", "ptl","ui", 
                                      "ftv", "bwt"),
                            strata = "low", data =bcSvy1 ,
                            factorVars = c("race", "smoke","ht","ui"))
Svytab1

ここに画像の説明を挿入
上の図から、重み付け後、各グループの症例数が変化し、lwt のベースライン治療のバランスが取れており、2 つの患者グループ間の比較がより比較できるようになっていることがわかります。 Heman et al. の重みを生成してベースライン テーブルを生成する

bcSvy2<- svydesign(ids = ~ id, strata = ~ low, weights = ~ w1,
                   nest = TRUE, data = bc)
Svytab2<- svyCreateTableOne(vars = c( "age", "lwt", "race", "smoke", "ptl", "ui", 
                                      "ftv", "bwt"),
                            strata = "low", data =bcSvy2 ,
                            factorVars = c("race", "smoke","ht","ui"))
Svytab2

ここに画像の説明を挿入
この記事のデータの場合、Heman 法によって生成されたベースライン テーブルは、Robins 法ほど症例数の変化が大きくありませんが、ベースラインのトリミングにおいては Robins 法ほど優れていないことがわかります。データ。ロビンズ法がヒーマン法より優れているというわけではなく、異なるデータでは 2 つの方法にそれぞれ利点があると推定されます。
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/dege857/article/details/123221854#comments_27964967