R
mlogit
パッケージを使用したいと思います。ドキュメント ( http://cran.r-project.org/web/packages/mlogit/vignettes/mlogit.pdf ) はよく書かれていますが、まだ質問があります。
mode
、age
、の 3 つのカテゴリ変数で構成されるデータセットがあるとしますcost
。mode
には 3 つのレベル ( mode1
、mode2
、mode3
) があり、他の 2 つの変数には 2 つのレベル ( age1
、age2
およびcost1
、cost2
) があります。
基本的には、次の形式です。
R> head(df)
mode age cost
1 mode2 age1 cost2
2 mode1 age1 cost2
3 mode1 age2 cost1
4 mode3 age1 cost1
コマンドmlogitSample <- mlogit.data(df, choice = "mode", shape = "wide")
を使用すると、このデータセットを次の形式に「変換」できmlogit
ます。すべての行が 3 つの行 (3 つの異なる応答カテゴリに対応) に展開され、列がormode
のシーケンスに変換されます。これは使用に最適です。ただし、独立していない複数の行があることを考えると、エラーが発生する理由でもあると思います。TRUE
FALSE
mlogit
Lapack routine dgesv: system is exactly singular: U[8,8] = 0
多項ロジット法を私の場合に適用できることを知っているので、このパッケージでそれを行う方法を知りたいです。同様の目的で、multinom
パッケージの機能は正常に機能しますnnet
が、私が考えているのと同じモデルには適合しません: モデルに適合させたい $\log(\pi_j(x)) = \alpha_j + \beta\cdot x$、各モード カテゴリ $j$ ごとに変化する切片 $\alpha_j$、および定数係数のベクトル $\beta$) を使用します。