現在、Rを使用してロジスティック回帰を実行していますが、多くの有用なモデル適合統計を取得できないようです。SASに似たメトリックを探しています:
http://www.ats.ucla.edu/stat/sas/output/sas_logit_output.htm
これらの統計を抽出するためにどのように(またはどのパッケージを)使用できるか知っている人はいますか?
ありがとう
現在、Rを使用してロジスティック回帰を実行していますが、多くの有用なモデル適合統計を取得できないようです。SASに似たメトリックを探しています:
http://www.ats.ucla.edu/stat/sas/output/sas_logit_output.htm
これらの統計を抽出するためにどのように(またはどのパッケージを)使用できるか知っている人はいますか?
ありがとう
確かglm
に、family = "binomial"引数は、ロジスティック回帰に最も一般的に使用される関数です。因子のコントラストのデフォルトの処理は異なります。Rは処理コントラストを使用し、SAS(私は思う)は合計コントラストを使用します。これらの技術的な問題は、R-helpで調べることができます。それらは過去10年以上にわたって何度も何度も議論されてきました。
グレッグ・スノーlrm
が「rms」で言及されているのがわかります。これには、「rms」メソッドスイートの他のいくつかの関数によってサポートされるという利点があります。私もそれを使用しますが、rmsパッケージの学習にはさらに時間がかかる場合があります。SASのような出力を作成するオプションは見当たりませんでした。
UCLA StatComputingページに別のリソースがある同様の問題のパッケージを比較したい場合:http ://www.ats.ucla.edu/stat/r/dae/default.htm、SPSSで多数のメソッドが例示されています、SAS、StataおよびR。
ポアソン回帰の例を次に示します。
## from ?glm:
d.AD <- data.frame(counts=c(18,17,15,20,10,20,25,13,12),
outcome=gl(3,1,9),
treatment=gl(3,3))
glm.D93 <- glm(counts ~ outcome + treatment,data = d.AD, family=poisson())
次に、同じ応答、ファミリなどの切片のみのモデルに適合する関数を定義し、要約統計量を計算して、それらをテーブル(マトリックス)に結合します。次のコマンドの式.~1
は、 「同じ応答変数[チルダのLHSのドットで示される]を使用して、切片項[チルダのRHSupdate
ので示される]のみを使用してモデルを再調整することを意味します。1
glmsumfun <- function(model) {
glm0 <- update(model,.~1) ## refit with intercept only
## apply built-in logLik (log-likelihood), AIC,
## BIC (Bayesian/Schwarz Information Criterion) functions
## to models with and without intercept ('model' and 'glm0');
## combine the results in a two-column matrix with appropriate
## row and column names
matrix(c(logLik(glm.D93),BIC(glm.D93),AIC(glm.D93),
logLik(glm0),BIC(glm0),AIC(glm0)),ncol=2,
dimnames=list(c("logLik","SC","AIC"),c("full","intercept_only")))
}
次に、関数を適用します。
glmsumfun(glm.D93)
結果:
full intercept_only
logLik -23.38066 -26.10681
SC 57.74744 54.41085
AIC 56.76132 54.21362
編集:
anova(glm.D93,test="Chisq")
df、逸脱度(= -2対数尤度)、残差df、残差逸脱度、および尤度比検定(カイ2乗検定)のp値を含む逸脱度テーブルの順次分析を提供します。drop1(glm.D93)
各単一用語の削除のAIC値(df、逸脱度など)を含むテーブルを提供します。drop1(glm.D93,test="Chisq")
さらに、LRTテストのp値を示します。lrm
パッケージ内の関数を使用するrms
と、探している出力が得られる場合があります。