カテゴリー応答変数予測


8

次の種類のデータ(Rでコード化)があります。

v.a = c('cat', 'dog', 'dog', 'goat', 'cat', 'goat', 'dog', 'dog')
v.b = c(1, 2, 1, 2, 1, 2, 1, 2)
v.c = c('blue', 'red', 'blue', 'red', 'red', 'blue', 'yellow', 'yellow')
set.seed(12)
v.d = rnorm(8)
aov(v.a ~ v.b + v.c + v.d) # Error

v.bまたはの値にの値v.cを予測する能力があるかどうかを知りたいのですがv.a。私は(上記のように)分散分析を実行しますが、私の応答変数は序数ではないため(カテゴリカルであるため)、意味がありません。私は何をすべきか?


5
多項ロジットについて学びます。ケネストレインによる無料のオンラインブックが2冊あります(elsa.berkeley.edu/books/choice.htmlおよび elsa.berkeley.edu/books/choice2.html)。大学院レベルの本だと思います。または単に「多項ロジット」を探し回ってください。
ビル・

@Billこれは回答の良いスタートのようです。多項ロジットモデルとは何かについて少し拡張し、回答として投稿することを検討してください。
Glen_b-2013

回答:


8

v.av.bv.c

# packages
library(randomForest)

#variables
v.a= c('cat','dog','dog','goat','cat','goat','dog','dog')
v.b= c(1,2,1,2,1,2,1,2)
v.c= c('blue', 'red', 'blue', 'red', 'red', 'blue', 'yellow', 'yellow')

# model fit
# note that you must turn the ordinal variables into factor or R wont use
# them properly
model <- randomForest(y=as.factor(v.a),x=cbind(v.b,as.factor(v.c)),ntree=10)

#plot of model accuracy by class
plot(model)

ここに画像の説明を入力してください

# model confusion matrix
model$confusion

明らかに、これらの変数は強い関係を示していません。


@JEquihua「ツリー」とは何か、出力の意味は何ですか(混乱行列とプロット)。どうもありがとう!
Remi.b 2013年

します。私はとても忙しいので、少し時間をください。@ Remi.b
JEquihua

3

これはより部分的な実用的な答えですが、理論に深く入る前にいくつかの演習を行うのに役立ちます。

このats.ucla.eduリンクは、より実用的な方法で(Billによって指摘された)多項ロジスティック回帰について理解し始めるのに役立つ可能性があるリファレンスです。パッケージインから
機能を理解するための再現可能なコードを提示し、出力の解釈についての説明も提供します。multinomnmetR

このコードを考えてみましょう:

va = c('cat','dog','dog','goat','cat','goat','dog','dog') 
     # cat will be the outcome baseline
vb = c(1,2,1,2,1,2,1,2)
vc = c('blue','red','blue','red','red','blue','yellow','yellow') 
     # blue will be the vc predictor baseline
set.seed(12)
vd = round(rnorm(8),2)

data = data.frame(cbind(va,vb,vc,vd))

library(nnet)
fit <- multinom(va ~ as.numeric(vb) + vc + as.numeric(vd), data=data)

# weights:  18 (10 variable)
initial  value 8.788898 
iter  10 value 0.213098
iter  20 value 0.000278
final  value 0.000070 
converged

fit

Call:
multinom(formula = va ~ as.numeric(vb) + vc + as.numeric(vd), 
    data = data)

Coefficients:
     (Intercept) as.numeric(vb)     vcred  vcyellow as.numeric(vd)
dog    -1.044866       120.3495 -6.705314  77.41661      -21.97069
goat   47.493155       126.4840 49.856414 -41.46955      -47.72585

Residual Deviance: 0.0001656705 
AIC: 20.00017 

これは、対数線形近似多項ロジスティックモデルを解釈する方法です。

ln(P(va=cat)P(va=dog))=b10+b11vb+b12(vc=red)+b13(vc=yellow)+b14vd ln(P(va=cat)P(va=goat))=b20+b21vb+b22(vc=red)+b23(vc=yellow)+b24vd

以下は、モデルパラメータの解釈方法に関する抜粋です。

  • b14

b24

  • b12

.....

記事にはもっとたくさんありますが、私はこの部分がコアであると思いました。


参照:

Rデータ分析の例:多項ロジスティック回帰。UCLA:Statistical Consulting Group。http://www.ats.ucla.edu/stat/r/dae/mlogit.htm(2013年11月5日アクセス)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.