問題タブ [multinomial]
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 - Rのmultinom()で分析された正確な観測値を取得する方法、またはfitted()を作成してNAを含むデータ全体に適合させる方法
私の質問は、別の古い質問「R で関数 multinom を使用して作成されたモデルに含まれる観測数を取得する方法は?」に似ています。しかし、私が探したいのは、モデルで分析された観測の数ではなく、正確な観測です。最終的には、元のデータセットを予測 (適合) 確率の新しい列と組み合わせたいと考えています。しかし、私の問題を説明するために例を使用しましょう。
サンプルが 1000 で、一部の変数が NA 値を持ち、R に multinom() を適合させ、fitted() を使用すると、fitted() の長さがわずか 870 であることがわかります。これは、モデルが推定。現在、fitted() は 870*1 (つまり 1 列) の数値 (確率) のみを生成します。各確率数値がどの観測値に対応するかを知る方法はありません。これを解決するには、次の 2 つの方法があると思います。
- モデルを推定する前に、除外されている観測値を見つけて生データから削除します。
- 130 個の要素が NA である 1000*1 の行列を、fitted() で生成できるようにしてください。
どちらの答えもわかりません。アドバイスをいただければ幸いです。最終的な目標は、当てはめた確率を元のデータセットに (新しい列として) 追加して、推論できるようにすることです。ありがとう。
r - ラベルを使用してマルチクラス分類 AUC を計算するには?
スレッドで指摘されているように、関数 multiclass.roc で pROC (R 内) を使用しています。
ただし、データに適用すると、エラーが発生します。
予測子は数値または順序付けされている必要があります
明らかに、私のデータ ラベルは順不同です。この場合、どうすれば AUC を計算できますか?
P/S: アイデアは、マルチクラス分類器の結果として混同行列があるということです。Rでこの混同行列のAUCを計算するにはどうすればよいですか?
アップデート1:
順序のない4つのクラスA、B、C、Dがあるとしましょう(つまり、A> BまたはB> Aという意味ではありません)
正しい値:
予測値:
このデータの AUC はどのように計算すればよいですか?
更新 2
サンプル データを生成するコード:
それから私は試しました
r - 集計データから生データへの移行方法
最初に r を使用して多項分布データを生成し、次にそのデータを「生の」形式で生成したいと考えています。たとえば、次の方法でデータを生成したとします。
私は得る
次に、個々のレベルでベクトルのデータが必要なため、次のようになります
これを行う簡単な方法はありますか?私はこれが初めてで、思ったほど簡単ではありませんでした。次のような関数を作成しようとしました
これはまったく機能しませんでしたので、助けていただければ幸いです。
scala - scala での多項 LogisticRegressionWithLBFGS モデル出力の係数の解釈
多項 LogisticRegressionWithLBFGS モデルの出力の後処理を実行しようとしています。モデル マトリックスは R で作成され、モデル フィッティングのために scala spark にエクスポートされます。
ドキュメントには、「標準機能スケーリングと L2 正則化」があると記載されています。multinom()
R のパッケージの関数からの多項モデルの出力は{nnet}
、特定の結果と基本結果の間の対数オッズとして明確です。ただし、ドキュメントには、LogisticRegressionWithLBFGS の重みを変換して係数の標準セットを取得する方法に関する十分な詳細情報がありません。
「標準機能スケーリング」という用語は、人によって意味が異なります。モデル行列が (x - mean(x))/sd(x) または (x - min(x))/(max(x) - min(x)) または他の可能性のセットとしてスケーリングされることを意味する可能性があります. さらに、重みの出力は、係数行列を取得するためにさまざまな方法 (たとえば、行ごと、列ごと、またはその他の任意の方法) で折りたたむことができる特徴の倍数である数値の文字列です。
LogisticRegressionWithLBFGS().weights からの出力を処理して、元のモデル マトリックスを使用して後処理、基本的な推論、予測を行うことができる係数の標準セットを取得するにはどうすればよいですか?
python - Julia: 時系列ラグ値を使用した多項回帰
Juliaで多項回帰を行う必要があります。RI で次の結果を取得します。
ここに私のデータがあります
私の最初の試みはRegression.jlを使用することでした。このパッケージのドキュメントは非常にまばらなので、どのカテゴリがベースラインとして使用されているか、結果の出力がどのパラメーターに対応しているかなどはわかりません。
結果は
繰り返しますが、これが何に対応するのかわかりません。
次に、Python の SciKitLearn に対する Julia ラッパーを試しました。
しかし、このモデルから係数を抽出する方法がわかりません。係数を更新しました。これらも R の結果とは異なります。
Rの結果を再現しようとする助けがあれば幸いです(どのパッケージを使用しても!)
応答変数は離散化されたタイムラグ応答であることに注意してください。
行 2 では、応答 (0, 1) は前の観測が 3 だったことを意味します。同様に、(1,0) は前の観測が 2 だったことを意味し、(0,0) は前の観測が 1 だったことを意味します。
更新: Regression.jl の場合、デフォルトでは切片に適合しないようです (切片ではなく「バイアス」と呼ばれます)。この用語を追加することで、Python と非常によく似た結果が得られます (ただし、3 番目の列が何であるかはわかりません..)
更新: モデル係数は識別できないため、これらの異なる実装全体で同じであるとは思わないでください。ただし、予測される確率は同じである必要があり、実際には同じです (R、Regression.jl、または ScikitLearn を使用)。