問題タブ [mlogit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 別の関数内からmlogit()を呼び出し、attachを使用する場合の変数のスコープの問題
別の関数の内部からmlogit()R関数を呼び出す必要があります。
これは、説明を目的とした関数です。
どうやら環境問題があるので、グローバルに宣言されていない変数は、引数としてmlogit()関数によって検出されません。
この例は機能しません:
変数がメイン環境で割り当てられている場合、それは機能します。
または、関数内から変数をグローバルに割り当てると機能します
変数をグローバルに割り当てることを回避する方法について何かアイデアはありますか?
r - 私のデータで R mlogit を実行すると、「システムは計算上特異ですか?」というエラーが表示されます。
誰かがエラーとは何か、どうすれば解決できるかを説明できますか?
r - mlogit によって生成された結果を縦の列に整理する
を使用して LaTeX にエクスポートするために、mlogit で取得した結果を整理しようとしていxtable
ます。しかし、学術出版物によく見られるように、隣接するコラムに結果を準備するのは難しいと感じています。
特に、方程式を隣り合わせに移動する必要がある最後のステップで問題が発生しています。
小さなデータフレームの例と、これまでにどれだけ下に到達したかを示しています。もっと簡単にできる方法があれば教えていただけると嬉しいです。
さまざまな数の方程式 (結果変数のレベル数に応じて) と各方程式のさまざまな長さ (予測子の数に応じて) に適応できるソリューションを作成するのに助けが必要です。
r - 多項混合ロジットモデル mlogit r-package
多項混合ロジットモデルの推定を求めて、多項ロジットモデルのmlogit
パッケージを発見しました。優れたビネットを読んだ後、記載されている例のいずれにも自分のデータを適用できないことがわかりました。
私は今、私の問題を解決してくれることを期待して書き、私の状況を説明するための最小限の例を作成しました.
問題は次のとおりです。子音「Q」を含む単語がどこかにあります。現在、これらの単語を聞いて、Q、U、またはその他の子音を聞いたかどうかを言うように割り当てられた人々を対象に実験が行われました。これは、音節の位置や実語/非実語などのいくつかの要因に応じてモデル化する必要があります。
最小限の例では、音節の位置で 4 人とその回答を作成しました。
私の知る限り、nnet
のmultinom
機能は混合モデルをカバーしていません。
最初に、-関数を使用しmlogit.data
てファイルを再形成しました。同僚と話し合った結果、alternative.specific.variable は存在しないという結論に達しました。
いいえ、どうすればいいのかわからないので、ここで助けを求めます。しかし、この種の問題は解決できると信じてmlogit
いますが、まだ見ていません;)
scipy - BFGS が収束しない
私が取り組んでいるモデルは、多項ロジット選択モデルです。これは非常に特殊なデータセットであるため、他の既存の MNLogit ライブラリは私のデータに適合しません。
基本的に、これは非常に複雑な関数で、11 個のパラメーターを取り、対数尤度値を返します。次に、scipy.optimize.minimize を使用して対数尤度を最小化できる最適なパラメーター値を見つける必要があります。
さまざまな方法で発生する問題は次のとおりです。
「Nelder-Mead」: うまく機能し、常に正しい答えを教えてくれます。ただし、非常に遅いです。より複雑な設定の別の関数の場合、最適なポイントに到達するまでに 15 時間かかります。同時に、同じ関数は、fminunc (デフォルトで BFGS を使用) を使用して Matlab で 1 時間しかかかりません。
'BFGS': これは、Matlab で使用される方法です。単純な関数に対してはうまく機能します。ただし、私が持っている関数では、常に収束に失敗し、「精度が失われたために必ずしも達成されたというわけではありません。」を返します。オプションをいじって多くの時間を費やしましたが、それでもうまくいきませんでした。
'Powell': すぐにうまく収束しますが、間違った答えを返します。コードは以下に表示されます (x0 が正解です。Nelder-Mead は初期値に関係なく機能します)。ここでデータを取得できます: https://www.dropbox.com/s/aap2dhor5jyxy94/data.csv
ありがとう!
更新: 2014 年 3 月 7 日 コードのより単純なバージョン Powell は非常に小さな許容誤差でうまく動作しますが、この場合、Powell の速度は Nelder-Mead よりも遅くなります。BFGS はまだ機能しません。
r - R、データセットを mlogit(/mnlogit) ロングフォーマットに変換
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
) があります。
基本的には、次の形式です。
コマンド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$) を使用します。
r - 多項ロジット モデルとネストされたロジット モデル
プログラム R で mlogit パッケージを使用しています。データを元のワイド形式からロング形式に変換しました。これは変換された data.frame のサンプルで、これを「long_perp」と呼んでいます。独立変数はすべて個人固有のものです。データセットには 4258 の一意の観測があります。
'act2' は従属変数で、船が接近したときに水に浮かぶ鳥が行うことができる選択で構成されます。飛ぶ、飛び込む、または何もしない。これらの確率が、data.frame の残りの独立変数、つまり船の進路に対する垂直距離 (pdist)、海の状態 (sea)、速度 (avgknots)、海岸までの距離 (shore) などとどのように関連しているかに興味があります。変数は、二分変数、因子変数、および連続変数で構成されます。
2 つの多項ロジット モデルを実行しました。1 つはすべての選択オプションを含み、もう 1 つはサブセットのみを含みます。次に、これらのモデルを hmftest() 関数と比較して、IIA の仮定をテストしました。結果は控えめに言っても混乱を招きました。2 つのモデルのコードとテスト出力を含めます (コードでモデルの指定を間違えた場合に備えて)。
ご覧のとおり、カイ二乗統計量は負です! 私は、1. 何か間違ったことをしている、または 2. IIA に違反していると思います。この結果は、選択サブセット (飛行、潜水) に当てはまりますが、IIA の仮定は選択サブセット (なし、潜水) で支持されますか? これは私を混乱させます。
次に、IIA の仮定を緩和する方法として、ネストされたモデルの定式化を試みました。選択肢をネスト 1 = なし、ネスト 2 = フライ、ダイブとしてネストしました。これは論理的な断絶のように思えるので、私には理にかなっています。鳥は反応するかどうかを決定し、次にどの反応を行うかを決定します。
ネストされたロジット モデルを実行する方法がわかりません (mlogit の 2 つのビネット、Croissant vignetteとTrain vignette を読んだ後でも)。
クロワッサン ビネットの例に従って分析を実行すると、次のエラーが発生します。
このエラー メッセージについて少し読みましたが、完全な分離が原因で発生する可能性があります。私はデータのいくつかの表を見てきましたが、4,000 以上の観測値と 2 つ以上の水準 (3 つある) を持つ因子変数が 1 つしかないため、これが起こっているとは思いません。
これらの特定の問題に関するヘルプは大歓迎ですが、質問に答えるために使用できる別の分析も受け付けています。私は主に、船の進路に対する垂直距離の関数としての飛行確率に関心があります。
ありがとう、ティム
r - Mlogit 多項プロビット モデル: TRUE/FALSE が必要な場所に欠損値
mlogit
パッケージを使用して多項プロビット モデルを推定しようとしていますが、次のエラーが発生します。
これらは私が使用したステートメントです
私のデータは次のようになります。
最後の 4 列は個人固有のものであり、残りは代替固有のものです。誰でも助けてもらえますか?