7

長い形式の結合調査データがあります。最初の数行は次のようになります。

 ID alt choice size tar length brand flavor gender age yr_smoke num_smoke job
 1  1   1     no    1   1      1     1      1      2  35       10        20   1
 2  1   2     no    1   1      1     1      1      2  35       10        20   1
 3  1   3     no    1   1      1     1      1      2  35       10        20   1
 4  1   4     no    1   1      1     1      1      2  35       10        20   1
 5  1   5     no    1   1      1     1      1      2  35       10        20   1
 6  1   6     no    1   1      1     1      1      2  35       10        20   1

mlogit.data を次のように使用しました。

data_mlogit_ct1_test2 <- mlogit.data(data_mlogit_ct1_test1,choice="choice",
shape="long",alt.var="alt")

変換されたデータの最初の数行は次のようになります。

   ID alt choice size tar length brand flavor gender age yr_smoke num_smoke job
   1.1  1   1  FALSE    1   1      1     1      1      2  35       10        20   1
   1.2  1   2  FALSE    1   1      1     1      1      2  35       10        20   1
   1.3  1   3  FALSE    1   1      1     1      1      2  35       10        20   1
   1.4  1   4  FALSE    1   1      1     1      1      2  35       10        20   1
   1.5  1   5  FALSE    1   1      1     1      1      2  35       10        20   1
   1.6  1   6  FALSE    1   1      1     1      1      2  35       10        20   1

今、私はmlogitを次のように適合させようとしています:

 fit_mlogit_ct11 <- mlogit(choice~size+tar+length+brand+flavor, 
                           data_mlogit_ct1_test1,shape="long",chid.var="ID",
                           alt.var="alt",method="bfgs",heterosc=TRUE,tol=10)

このエラーが発生しました:

solve.default(crossprod(attr(x, "gradi")[, !fixed])) のエラー: Lapack ルーチン dgesv: システムは厳密に特異です

それから私はしました:

  fit_mlogit_ct11 <- mlogit(choice~size+tar+length+brand+flavor, data_mlogit_ct1_test2)

今私は得た:

solve.default(H, g[!fixed]) のエラー: システムは計算上特異です: 逆条件数 = 3.4767e-18

誰か助けてくれませんか?

4

1 に答える 1

11

問題は、個々の特定の変数を正しく定義しなかったためだと思います。パッケージマニュアルによると、mlogit関数を使用してモデルをビルドする場合、次を使用できます。特定の代替変数を個々の特定の変数で分離します。例えば:

fit_mlogit_ct11 <- mlogit(choice~1|size+tar+length+brand+flavor, 
                           data_mlogit_ct1_test1,shape="long",chid.var="ID",
                           alt.var="alt",method="bfgs",heterosc=TRUE,tol=10)

これは、すべての変数が個人固有であり、代替固有の切片のみを取得することを単に示しています。しかし実際、すでに上で述べたように、個々の特定の変数しかないため、データは同じように見えるため、奇妙に見えます。これは最終的に特異点につながります(変数は互いに1で相関します)。

于 2013-01-15T11:05:46.293 に答える