我有以下示例数据:
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;
我需要一些方法来比较具有不同赌注大小的玩家并规范他们的赌注。对于每个玩家的赌注,我正在考虑计算该赌注的标准偏差(如下所示)。然后我可以将这些平方和得到平方根,得到每个玩家下注的总标准差。然后我可以将玩家正在玩的每个赌注与他的总标准差进行比较。
如果这个游戏是抛硬币,获胜的概率是 0.50。这是二项式结果,因此标准差为 σ = (p(1 - p)/n)1/2。所以上面第一个赌注的标准差是 90*[0.5*0.5]^0.5 = 45。
我如何计算每个玩家赌注的标准差,就像我计算下面的累积利润值一样?我可能需要每个赌注的标准偏差(对于每个玩家),每个玩家的总标准偏差,以及“标准化赌注”,即赌注赌注除以赌注的标准偏差。然后,我可以在具有不同赌注大小的玩家之间进行一种比较。
我将不胜感激任何帮助!
谢谢。