問題タブ [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.

0 投票する
1 に答える
385 参照

r - ChoiceModelR, none=TRUE, "betadraw のエラー[良い, ] = newbeta[良い, ]"

階層型多項ロジットに ChoiceModelR を使用しています。外部財 (正規分布に従う) の効用を推定したいと考えています。外側の商品には内側の商品のような共変量はありません。たとえば、価格やブランドのダミーを持つことはできません。 ChoiceModelR) にのみ適用されますが、y (選択) データのみに適用されます。

反復は正常に開始し、ある時点で停止して次のように言います

これは、関数「choicemodelr」の行 388 で、「良い」添え字が NA であるために発生する可能性があります。

私は Choicemodelr ( thisthisthis ) と添え字の NA ( thisthis ) に関するいくつかの質問を見ましたが、私の推測では、おそらく反復のいくつかの入力がちょうど「良い」がNAになるように大きく/小さくなります。

以下は非常に簡単な例です。さまざまな属性を持つ 3 つの製品でデータを生成します。期間の半分では、製品 3 は提供されません。2000 人の消費者には、通常分布する 3 つの属性 (および外部財に対する嗜好) の好みがあります。モデルと一致するようにロジット エラーが追加されました。社外品は製品 4 として索引付けされます (選択セットに 3 つの製品と 2 つの製品があった場合の両方)。

NA エラーを回避するにはどうすればよいですか? 私は何か間違ったことをしていますか、それとも関数の一般的なバグですか?

また、オプション none=TRUE を設定してオンラインで例を検索しましたが、再現可能なものは見つかりませんでした。none=FALSE に設定した場合に真のパラメーターを回復するのに問題はなく、顧客に外部オプションを選択させないため、おそらくこのオプションは問題のあるものにすぎません。

したがって、NA バグが発生するコードは次のとおりです。