時間を通じてロジスティック回帰の分類確率を更新する


19

学期の終わりに生徒が成功する確率を予測する予測モデルを構築しています。生徒が成功するか失敗するかについて、特に興味があります。成功とは、通常、コースを修了し、可能な合計ポイントのうち70%以上を獲得することと定義されます。

モデルを展開するとき、成功確率の推定値は、より多くの情報が利用可能になったときに更新する必要があります-生徒が課題を提出したり、課題を採点したときなど、何かが発生した直後が理想的です。この更新はベイジアンのように聞こえますが、教育統計のトレーニングを考えると、それは私の快適ゾーンの少し外側です。

私はこれまで、週ベースのスナップショットを含む履歴データセットでロジスティック回帰(実際にはなげなわ)を使用してきました。各学生には観測値があるため、このデータセットには相関する観測値があります。1人の生徒の観察結果は相関しています。特定の学生の毎週の観測内の相関関係を具体的にモデリングしているわけではありません。標準エラーは小さすぎるので、推論の設定でそれだけを考慮する必要があると思います。私は、これについてはわかりませんが、相関する観測から生じる唯一の問題は、データの1つのサブセットでクラスター化された観測を維持するために相互検証するときに注意する必要があることです。モデルがすでに見た人物についての予測に基づいて、人工的に低いサンプル外エラー率。TermLength/7

Rのglmnetパッケージを使用して、ロジスティックモデルで投げ縄を行い、成功/失敗の確率を生成し、特定のコースの予測変数を自動的に選択しています。私は、他のすべての予測変数と相互作用する要素として週変数を使用しています。これは一般的に、個々の週ベースのモデルを推定することとは異なるとは思わないが、異なる週のさまざまなリスク調整係数によって調整される期間全体に適用される一般的なモデルがあるかもしれないというアイデアを提供します。

私の主な質問はこれです:データセットを毎週(または他の間隔ベースの)スナップショットに分割するだけでなく、他のすべての機能と相互作用する期間因子変数を導入するのではなく、分類確率を経時的に更新するより良い方法がありますか?累積機能(累積ポイント、クラスでの累積日数など)を使用していますか?

私の2番目の質問は次のとおりです。私は、相関の観測と予測モデリングについてはこちらを重要な何かが足りないのですか?

私の3番目の質問は次のとおりです。どのように私は毎週のスナップショットをやっている与えられた、リアルタイムの更新にこれを一般化することができますか?現在の毎週の間隔で変数をプラグインすることを計画していますが、これは私にとって厄介なようです。

参考までに、私は応用教育統計の訓練を受けていますが、昔から数学統計の背景を持っています。理にかなっている場合は、より洗練された何かを行うことができますが、比較的アクセスしやすい用語で説明する必要があります。

回答:


4

ここからは行けません。別のモデルから始める必要があります。毎週のスナップショットを保持し、各学生の状態変数の遷移に関する確率モデルを構築します。10週間があり、11の「決定」ポイント、ますの状態はであり、は1または0です。 ;そして、はその時点でのスコア(これまでのテストと宿題のスコアの合計)初期値はです心配するべき2つの遷移があります:およびの分布。たt IZ IS IZ I S I1 0 PのR O B Z iは = 0 | sはI - 1S Iをt0t1tntZSZS10Probz=0|s1S

ドロップアウトの確率は固定ではありません。ペナルティーなしの最終ドロップ日の直前にドロップアウトが大量に発生するためです。しかし、過去のデータからこれらを推定できます。また、現在の(陰気な)パフォーマンスの関数としてドロップアウトする確率を推定することもできます。

スコアは二項の成果(のテストの正解数のランダムウォークしているのアイテム、と言います)。おそらく条件付きの独立性を想定することができます。各生徒の潜在的な「才能」パラメーターを想定し、その値を条件として、新しいスコアはそれぞれ現在のパフォーマンスとは無関係です。過去のデータに対してこの仮定をテストすることができます...失敗した学生は学習習慣を変えて勝ちますか?しかし、ほとんどの学生は、形に忠実に振る舞います...そのため、条件付き独立モデルは正常に機能するはずです。nSn

したがって、基本的に、スコアが0に移行した場合、またはスコアが70 \%の合格しきい値を超えなかった場合、生徒は不合格となります。SZS

プロセスをさらに詳しく見てみましょう。モデルを単純化するために、評価には毎週10個のテスト項目から取得した合計100個の可能なポイントから70個以上のポイントを取得することを想定しています。S

ベースラインでは、生徒の合格確率は前のクラスの合格率です。

時間1で、学生はポイントを獲得しました(またはドロップアウトしました)。彼は90のうち少なくともポイントを獲得できれば合格です。これは二項問題であり、学生の成功確率がわかっていれば簡単に計算できます。これは「クラス平均」ではなくなります。これまでの学生の成功を踏まえて調整する必要があります。これには過去の経験の表を使用しますが、クラス全体の成功率と生徒の個人的な成功の加重平均を行うことができます。ここでベイズの規則が役立つはずです。 70 - S 1S170S1

ボーナスとして、確率の範囲を計算できます。これは、用語が進むにつれて狭くなります。実際、有力な学生は学期が終了する前に70%を超え、その時点で確実に成功します。弱い学生の場合、失敗は終了前に確実になります。

RE:質問3.連続時間に行くべきですか?私はそうしません、なぜならそれは連続時間確率過程の領域にそれを置き、関係する数学が私の賃金等級を上回るからです。それだけでなく、あなたは実質的に異なる結果を得る可能性は低いです。

私が概説したモデルをアップグレードする最良の方法は、連続時間に行くのではなく、以前の経験に基づいて遷移確率を調整することです。おそらく、弱い学生は独立モデルが予測するよりもさらに遅れをとるでしょう。不均一性を組み込むと、離散時間から連続時間に移行するよりもモデルが改善されます。


0

同様のタイプの展開の予測モデルをトレーニングするときは、データセットに何らかのTerm_End_Dateが含まれていることを確認して、期間が終了するまでの残り時間を確認できるようにします。これはおそらく、モデルの重要な予測因子になるでしょう。

相関する観測の問題に関して、あなたが持っているデータのリポジトリの大きさが重要だと思います。可能であれば、[学期終了までの週数]に層別化された、生徒ごとにランダムに1つの観察結果を選択します。可能であれば、古い用語からも取得します。そのための十分なデータがない場合は、ブートストラップなどの再サンプリング方法を試すことができます。

データセットが小さい場合、最終モデルが安定していることを確認するための十分なデータを保持することが最も重要だと思います。

私はあなたがすべて完了し、得点式があれば、それはかなり簡単に実装できると思います。しかし、はい、スコアを計算するために必要な週ごとのx変数をプラグインする必要があります-しかし、これはデータ収集の問題のようで、モデルの実装に関するものではありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.