議会選挙の結果を予測したい。私の出力は、各当事者が受け取る%になります。3つ以上の関係者がいるため、ロジスティック回帰は実行可能なオプションではありません。パーティごとに個別の回帰を行うこともできますが、その場合、結果は何らかの形で互いに独立しています。結果の合計が100%になるとは限りません。
どの回帰(または他の方法)を使用する必要がありますか?特定のライブラリを介してRまたはPythonでこのメソッドを使用することは可能ですか?
議会選挙の結果を予測したい。私の出力は、各当事者が受け取る%になります。3つ以上の関係者がいるため、ロジスティック回帰は実行可能なオプションではありません。パーティごとに個別の回帰を行うこともできますが、その場合、結果は何らかの形で互いに独立しています。結果の合計が100%になるとは限りません。
どの回帰(または他の方法)を使用する必要がありますか?特定のライブラリを介してRまたはPythonでこのメソッドを使用することは可能ですか?
回答:
何に基づいて予測しますか?私は、過去の年に基づいて私の論文のマルチパーティ選挙の結果を予測しようとしましたが、今年の一部の投票所の結果を使用して、他のすべての投票所の結果を予測しました。このために、私が比較した線形モデルは、各当事者が前年度の投票を逆戻りして取得する投票数を推定しました。すべての関係者の投票数の見積もりがある場合は、それからパーセンテージを計算できます。線形モデルを拡張する関連論文については、非ランダムサンプルからの予測を参照してください。
これは回帰ではなく、マルチクラス分類の問題です。通常、出力は、特定のテストインスタンス(テスト行)のすべてのクラスの確率です。したがって、あなたの場合、訓練されたモデルからの特定のテスト行の出力は次の形式になります:
prob_1, prob_2, prob_3,..., prob_k
ここで、prob_iは、応答変数にk個のクラスがあると仮定して、i番目のクラス(あなたの場合はi番目のパーティ)の確率を示します。これらのk確率の合計は1になることに注意してください。この場合のクラス予測は、最大の確率を持つクラスになります。
Rには、マルチクラス分類を行う分類器が多数あります。R のnnetパッケージとmultinom
コマンドを呼び出すことにより、マルチクラスサポートを備えたロジスティック回帰を使用できます。
別の方法として、Rでgbmパッケージを使用してgbm
コマンドを呼び出すこともできます。マルチクラス分類子を作成するには、distribution="multinomial" while using the
gbm`関数を使用します。