2

次のサンプルデータがあります。

data have;
 input username $ stake betdate : datetime.;
dateOnly = datepart(betdate) ;
format betdate DATETIME.;
format dateOnly ddmmyy8.;
datalines; 
player1 90 12NOV2008:12:04:01
player1 -100 04NOV2008:09:03:44
player2 120 07NOV2008:14:03:33
player1 -50 05NOV2008:09:00:00
player1 -30 05NOV2008:09:05:00
player1 20 05NOV2008:09:00:05
player2 10 09NOV2008:10:05:10
player2 -35 15NOV2008:15:05:33
run;
PROC PRINT; RUN;
proc sort data=have;
by username betdate;
   run;
 data want;
set have;
by username dateOnly betdate;   
retain calendarTime eventTime cumulativeDailyProfit standardDeviationStake;
if first.username then calendarTime = 0;
if first.dateOnly then calendarTime + 1;
if first.username then eventTime = 0;
if first.betdate then eventTime + 1;
if first.username then cumulativeDailyProfit = 0;
if first.dateOnly then cumulativeDailyProfit = 0;
if first.betdate then cumulativeDailyProfit + stake;
run;
PROC PRINT; RUN;

賭け金のサイズが大きく異なるプレイヤーを比較し、彼らの賭け金を正規化する何らかの方法が必要です。各プレーヤーの賭けについて、その賭けの標準偏差を計算することを考えていました (以下のように)。次に、これらの 2 乗を加算し、平方根を取得して、各プレーヤーのベットの合計標準偏差を得ることができます。次に、プレーヤーがプレイしている各ステークを、プレーヤーの合計標準偏差と比較できます。

このゲームがコイントスの場合、勝つ確率は 0.50 です。これは 2 項の結果であるため、標準偏差は σ = (p(1 − p)/n)1/2 です。したがって、上記の最初の賭けの標準偏差は 90*[0.5*0.5]^0.5 = 45 です。

以下の累積利益値を計算したように、各プレーヤーの賭け金の標準偏差を計算するにはどうすればよいですか? おそらく、各賭けの標準偏差 (各プレーヤー)、各プレーヤーの合計標準偏差、および「正規化された賭け金」、つまり賭けの賭け金を賭けの標準偏差で割った値が必要です。次に、ステークの大きさが異なるプレーヤー間で一種の比較を行うことができます。

これについて何か助けていただければ幸いです!

ありがとう。

4

1 に答える 1