2017-12-10 15 views
0

ロジスティック回帰の出力を解釈することに問題がある初心者です。 私の応答変数には、 "multiplex"と "subterraneus"という2つの値があります。 "microtus.train"データフレームにfactor()関数を使用すると、 "mutiplex and subterraneus"という順番で取得されます。モデルを適合させて応答を予測した後、確率の平均が何であるかを理解するのが難しいです。これらの確率は、観測が「潜在的」である確率を意味するか?私が "コントラスト(microtus.train $ Group)"ステートメントを使用したとき、私は以下の表を得ました。この表に基づいてロジスティック回帰におけるダミー応答変数のコーディング方法の解釈

> contrasts(microtus.train$Group) 
      subterraneus 
multiplex    0 
subterraneus   1 

、私は、「1」は「subterraneus」のためにコード化されたダミーであるため、モデルは「subterraneus」(「多重化」のではない確率)の確率を予測しようとしていることを解釈します。私の仮定は正しいのですか?

私のコードは以下のとおりです。事前に助けていただきありがとうございます。

library(Flury) 
data(microtus, package = "Flury") 

str(microtus) 
summary(microtus) 

# Creating training & test data frames 
microtus.train <- subset(microtus, 
        microtus$Group %in% c("multiplex", "subterraneus"), 
        select = c("Group", "M1Left", "M2Left", "M3Left", 
           "Foramen", "Pbone","Length", "Height", 
           "Rostrum")) 

# Drop 3rd factor level 
microtus.train$Group = droplevels(microtus.train$Group) 
factor(microtus.train$Group) 


nullModel.GLM <- glm(Group ~ 1, data = microtus.train, 
        family = binomial()) 
fullModel.GLM <- glm(Group ~ ., data = microtus.train, 
        family = binomial()) 
summary(nullModel.GLM) 
summary(fullModel.GLM) 

stepFwd.GLM <- step(nullModel.GLM, scope = list(upper = fullModel.GLM), 
        direction = 'forward', k = 2) 
stepFwd.GLM.fitResults <- predict(stepFwd.GLM, type = 'response') 
stepFwd.GLM.fitResults 

contrasts(microtus.train$Group) 

答えて

1

それは問題ではコントラストが、因子レベルの順序(コントラストがの予測変数はダミー変数としてエンコードする方法を指定)ではありません。 ?glmから:「二項」と「疑似二項」行きたい

応答も 「は因子」として指定することができる(第一レベルは示し故障 と他のすべての成功)

以来Rは因子のレベルをデフォルトでアルファベット順に定義し、「マルチプレックス」は第1レベル(おそらく)であり、「サブテラス」は第2のレベルであるため、ロジスティック回帰は「サブテラス」の確率を予測しています。これをlevels(microtus$Group)で確認し、必要に応じてfactor()levels引数を明示的に設定して調整することができます。

+0

ありがとう、ベン・ボルカー。あなたは本当に助けてくれました! – Soly

関連する問題