問題タブ [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.
constraints - すべての係数が等しくなるように制約する、mlogit、Stata
mlogit で推定したい多項ロジット モデルがあります。独立変数の 1 つ (残りの変数ではない) の係数を、すべての選択肢で等しくなるように制約したいと考えています。次の制約を試しましたが、常に Stata から「制約番号 # エラー r(198)) が発生しました」というエラーが表示されます。
また
全部で 6 つの選択肢があり、6 番目をベースとして使用します。どんな助けでも大歓迎です。
r - mnlogit() を使用した R の多項ロジット選択モデル
mnlogit
特定の言語とライブラリに関連しているため、StackOverflow で質問する Rのパッケージについて質問があります。サイトが最も適切でした)。
ドキュメントがあまり詳細ではないため、これがどのように機能するかを理解しようとしているだけです。このパッケージについては、混乱/矛盾するブログエントリがいくつかあります。モデル。
の使用例mnlogit
は、基本的に次のとおりです。
私が混乱しているのはmode
とalt
です。alt
従属変数は、(ビーチ、ボート、チャーター、または桟橋) のように見える多項式の選択になると思いました。
代わりに、この論理変数mode
. なにmode
?
私の理解を明確にするために、このトピックに関する R-Bloggersの記事を読みました。実際には、Fish
例を繰り返すことで事態をさらに混乱させましたが、データセットを次のように説明するプリアンブルを使用しています。
以下を含むデータフレーム:
それは言及していないmode
かのように記述します。誰かが私にこれを説明できますか?alt
alt
mode
R-Bloggers の記事で説明されているように、実際に個別の選択値を採用した場合、モデルはformula(mode ~ price | income | catch)
理にかなっていますがmode
、論理変数であるため、完全に混乱しています。
r - mlogit の重複する 'row.names' は許可されていません
mlogit
R が初めてで、関数を使用したい。
ただし、データをデータフレームに入れて実行した後
私は得る duplicate 'row.names' are not allowed
必要に応じてファイルをアップロードできます。これを機能させるために何日も費やしました。
r - mlogit: TRUE/FALSE が必要な場所に値がありません
私は離散選択実験 (DCE) からのデータを持っており、さまざまなセクターからの個人の雇用の好みを調べています。長い形式にフォーマットしたこと。mlogit を使用してモデル化したいと考えています。データをエクスポートし、asclogit コマンドを使用して Stata でモデルを正常に実行できますが、R で実行するのに問題があります。
データの最初の 25 行のスナップショットを次に示します。
userid と chid は因子変数で、残りは数値です。変数: Userid は一意の回答者 ID chid は一意の選択肢セット ID 回答者ごとの項目は選択肢セット ID (回答者間で繰り返されます) セクターは選択肢 (3 つの異なるセクター)は二項因子変数であり、実験計画に応じて選択肢間で変化する特定の選択肢です。
これが私のmlogit構文です:
これが私が得るエラーです:
欠落データがないこと、および各選択セットに選択された選択肢が 1 つだけあることを確認しました。モデルがまったく同じデータセットを使用して Stata で正常に実行されているのに、なぜこのエラーが発生するのかについてのアイデアはありますか? おそらくどこかで mlogit 構文を読み間違えたのでしょう。それが役立つ場合、私の Stata 構文は次のとおりです。
r - R nnet multiniom (多項ロジスティック回帰モデル) - 誤分類を避けるためにペナルティを割り当てる
nnet パッケージの multinom を使用して、ロジスティック回帰モデルを 3 つのクラスで構成されるデータに適合させていますが、クラスの普及率はバランスが取れていません。特定のクラスの誤分類を避けるようにモデルに指示するために、重み/ペナルティを割り当てたいと思います。ここに私のコードと私のデータのスライスがあります:
誤分類のペナルティを割り当てる方法を知っている人はいますか? 具体的には、10:5:1 (クラス 1、2、3 に対応) のペナルティ比を割り当てたいと思います。つまり、クラス 1 で正確であることを本当に望んでいます。ターゲット変数 cut.rank の分布は ~ 0.04,0.08 です。 0.88。クラス 1 は有病率が低いため、そのクラスのモデル感度は低くなります。
r - R: 誤った係数を返す mlogit
編集:別のエラーを与える方法を提供したデータフレームのサブセットなので、pastebin エントリを完全なデータ フレームに置き換えました。
これがデータ フレームの先頭で、mlogit 形式に読み込まれます。clogitdf <- mlogit.data(df1, choice= "y", shape="long", alt.var="id_var")
変数:
PriceNorm
= サイズに正規化されたブランドの価格 (例: $/oz.)
Inc
=収入
y
= (消費者の選択: Tide、Surf、または Wisk)
モデルは次のとおりです。
reg2 <- mlogit(y ~ PriceNorm | Inc, data=clogitdf, id.var="id_var", reflevel="surf")
目標は、消費者が Tide、Surf、Wisk の 3 つのブランドをどのように好むかをモデル化することです。モデルを実行すると、正の係数がオンにPriceNorm
なり、負になるはずです。何が悪いのか正確にはわかりませんが、ダミー変数を含める必要があるように感じます。ただし、そうすると、モデルが特異であるというエラーが表示されます。
誰でもこれを理解するのを助けることができますか?