元々、私はStataで非常に直感的なRのクラスター化された標準誤差を持つプロビット/ロジットモデルを実行したいと考えています。ここで私は答えを見つけたLogistic regression with robust clustered standard errors in R。 したがって、StataとRの両方の結果を堅牢な標準エラーとクラスタ化された標準エラーと比較しようとしました。しかし、私はソフトウェア全体の両方の標準エラーの出力がまったく同じではないことに気付きました。しかし、私がここに示唆した方法を使用すればhttps://diffuseprior.wordpress.com/2012/06/15/standard-robust-and-clustered-standard-errors-computed-in-r/。線形回帰のためにRとStataの両方から正確な出力を得ることができます。したがって、私はRで書いたコードが正しくないと思います。ロジットモデルの代わりにプロビットモデルを実行したい場合は、どのコマンドを使用すればよいでしょうか?これを解決するための優雅な選択肢があるかどうか?ありがとう。プロビットとロジット回帰のRの堅牢でクラスター化された標準誤差
Rコード
## 1. linear regression
library(rms)
# model<-lm(Sepal.Length~Sepal.Width+Petal.Length+Petal.Width,iris)
summary(model)
fit=ols(Sepal.Length~Sepal.Width+Petal.Length+Petal.Width, x=T, y=T, data=iris)
fit
robcov(fit) #robust standard error
robcov(fit, cluster=iris$Species) #clustered standard error
## 2. logistic regression
##demo data generation
set.seed(1234)
subj<-rep(1:20,each=4)
con1<-rep(c(1,0),40)
con2<-rep(c(1,1,0,0),20)
effect<-rbinom(80,1,0.34)
data<-data.frame(subj,con1,con2,effect)
library(foreign);write.dta(data,'demo_data.dta')
library(rms)
fit=lrm(effect ~ con1 + con2, x=T, y=T, data=data)
fit
robcov(fit) ##robust standard error
robcov(fit, cluster=data$subj) ## clustered standard error
Stataのコード
## 1. linear regression
webuse iris
reg seplen sepwid petlen petwid
reg seplen sepwid petlen petwid,r
reg seplen sepwid petlen petwid,cluster(iris)
## 2. logistic regression
use demo_data,clear
logit effect con1 con2
logit effect con1 con2,r
logit effect con1 con2,cluster(subj)
「正確に同じでない」とは何かを指定できますか?おそらく異なるデフォルトがたくさんあります。それは、デフォルトがより良い先験的な不明です。しかし、正確に同じ値を取得したい場合は、 'Stata'と' robcov'がどのデフォルトを使用しているかを把握し、それに応じて調整する必要があります。 – coffeinjunky
あなたのコメントのおかげで、私は追加情報を与えるために私の質問を編集しました – johnsonzhj
ロジスティックを最初に実行せずにロジットを使用している可能性はありますか? 「ロジスティック」は推定値をオッズ比として表示し、係数を表示するにはlogisticを実行した後logitを入力してください。 "([source](http://www.stata.com/manuals13/rlogistic.pdf#rlogistic)) – noumenal